----------------------------------------------------------------------------- MANIFEST | 611 Makefile | 175 README | 2 README.MAC | 11 README.VMS | 74 README.WIN | 6 aclocal.m4 | 2661 + config.guess | 389 config.sub | 296 configure |29217 ++++++++++-------- configure.in | 179 doc/CHANGES | 519 doc/CHANGES.old | 28 doc/CREDITS | 110 doc/DEBUG_REFS | 16 doc/INSTALL | 119 doc/TODO | 567 doc/WHATSNEW | 45 doc/art_handling.txt | 2 doc/article.txt | 2 doc/auth.txt | 25 doc/config-anomalies | 89 doc/filtering | 15 doc/good-netkeeping-seal | 2 doc/keymap.sample | 38 doc/l10n/de.add | 5 doc/l10n/de.po |12430 +++++++ doc/l10n/de/tin.1 | 3418 ++ doc/l10n/de/tin.5 | 2407 + doc/l10n/en_GB.po |14266 ++++++++ doc/l10n/en_GB/tin.1 | 3406 ++ doc/l10n/en_GB/tin.5 | 2406 + doc/l10n/po4a.conf | 17 doc/l10n/tin-man.pot |12042 +++++++ doc/mailcap.sample | 8 doc/pgp.txt | 2 doc/plp_snprintf.3 | 2 doc/rcvars.txt | 12 doc/tin.1 | 856 doc/tin.5 | 756 doc/tin.defaults | 12 doc/tinews.1 | 59 doc/tools.txt | 11 doc/url_handler.1 | 205 include/autoconf.hin | 56 include/bool.h | 9 include/bugrep.h | 8 include/debug.h | 59 include/extern.h | 353 include/keymap.h | 40 include/newsrc.h | 22 include/nntplib.h | 173 include/oldconfig.h | 422 include/plp_snprintf.h | 2 include/policy.h | 116 include/proto.h | 156 include/rfc2046.h | 49 include/stpwatch.h | 8 include/tcurses.h | 14 include/tin.h | 635 include/tinrc.h | 98 include/tnntp.h | 119 include/trace.h | 2 include/version.h | 25 install-sh | 294 install.sh | 294 intl/Makefile.in | 9 intl/plural.y | 2 libcanlock/Build | 43 libcanlock/CHANGES | 59 libcanlock/HOWTO | 63 libcanlock/MANIFEST | 25 libcanlock/Makefile.in | 50 libcanlock/README | 65 libcanlock/base64.c | 324 libcanlock/base64.h | 2 libcanlock/canlock.h | 10 libcanlock/canlock_md5.c | 81 libcanlock/canlock_misc.c | 55 libcanlock/canlock_sha1.c | 81 libcanlock/canlocktest.c | 106 libcanlock/doc/HOWTO | 65 libcanlock/doc/draft-ietf-usefor-cancel-lock-01.txt | 240 libcanlock/doc/rfc2104.txt | 619 libcanlock/doc/rfc2202.txt | 508 libcanlock/doc/rfc2286.txt | 396 libcanlock/endian.c | 115 libcanlock/hmac_md5.c | 75 libcanlock/hmac_md5.h | 1 libcanlock/hmac_sha1.c | 74 libcanlock/hmac_sha1.h | 1 libcanlock/hmactest.c | 154 libcanlock/include/base64.h | 42 libcanlock/include/canlock.h | 8 libcanlock/include/hmac_sha1.h | 2 libcanlock/include/sha1.h | 60 libcanlock/main.c | 424 libcanlock/md5.c | 253 libcanlock/md5.h | 30 libcanlock/sha1.c | 265 libcanlock/sha1.h | 29 libcanlock/src/base64.c | 136 libcanlock/src/canlock.c | 193 libcanlock/src/hmac_sha1.c | 130 libcanlock/src/sha1.c | 353 libcanlock/t/canlocktest.c | 110 libcanlock/t/canlocktest.shouldbe | 15 libcanlock/t/hmactest.c | 115 libcanlock/t/hmactest.shouldbe | 24 mkdirs.sh | 38 pcre/AUTHORS | 4 pcre/COPYING | 6 pcre/ChangeLog | 671 pcre/LICENCE | 6 pcre/Makefile.in | 26 pcre/Makefile.in-old | 172 pcre/NEWS | 63 pcre/NON-UNIX-USE | 58 pcre/README | 89 pcre/RunTest.in | 21 pcre/config.h | 3 pcre/dftables.c | 13 pcre/doc/pcre.3 | 1917 + pcre/pcre.h | 294 pcre/pcre.h.in | 258 pcre/pcre.mms | 196 pcre/pcre_compile.c | 3819 +- pcre/pcre_config.c | 8 pcre/pcre_dfa_exec.c | 829 pcre/pcre_exec.c | 1665 - pcre/pcre_fullinfo.c | 4 pcre/pcre_get.c | 123 pcre/pcre_globals.c | 17 pcre/pcre_info.c | 4 pcre/pcre_internal.h | 473 pcre/pcre_maketables.c | 37 pcre/pcre_newline.c | 135 pcre/pcre_ord2utf8.c | 4 pcre/pcre_printint.src | 144 pcre/pcre_refcount.c | 4 pcre/pcre_study.c | 176 pcre/pcre_tables.c | 155 pcre/pcre_try_flipped.c | 8 pcre/pcre_ucp_findchar.c | 161 pcre/pcre_ucp_searchfuncs.c | 175 pcre/pcre_valid_utf8.c | 6 pcre/pcre_version.c | 31 pcre/pcre_xclass.c | 45 pcre/pcredemo.c | 10 pcre/pcregrep.c | 1301 pcre/pcreposix.c | 65 pcre/pcreposix.h | 58 pcre/pcretest.c | 727 pcre/perltest | 38 pcre/testdata/testinput1 | 192 pcre/testdata/testinput2 | 1334 pcre/testdata/testinput3 | 26 pcre/testdata/testinput4 | 13 pcre/testdata/testinput5 | 95 pcre/testdata/testinput6 | 248 pcre/testdata/testinput7 | 235 pcre/testdata/testinput8 | 53 pcre/testdata/testinput9 | 217 pcre/testdata/testoutput1 | 320 pcre/testdata/testoutput2 | 3817 +- pcre/testdata/testoutput3 | 56 pcre/testdata/testoutput4 | 22 pcre/testdata/testoutput5 | 604 pcre/testdata/testoutput6 | 472 pcre/testdata/testoutput7 | 463 pcre/testdata/testoutput8 | 112 pcre/testdata/testoutput9 | 397 pcre/ucp.h | 83 pcre/ucpinternal.h | 139 pcre/ucptable.c |18165 +---------- pcre/version.sh | 6 po/Makefile.inn | 84 po/da.gmo |binary po/da.po | 7167 ++++ po/de.gmo |binary po/de.po |10840 +++--- po/en_GB.gmo |binary po/en_GB.po | 9710 +++-- po/et.gmo |binary po/et.po |10765 +++--- po/fr.gmo |binary po/fr.po |10849 +++--- po/ru.gmo |binary po/ru.po |10560 +++--- po/rw.gmo |binary po/rw.po | 6964 ---- po/sv.gmo |binary po/sv.po | 9715 +++-- po/tin.pot | 4008 +- po/tr.gmo |binary po/tr.po |10997 +++--- src/Makefile.in | 80 src/active.c | 501 src/art.c | 840 src/attrib.c | 1876 - src/auth.c | 389 src/charset.c | 74 src/color.c | 104 src/config.c | 733 src/cook.c | 530 src/curses.c | 270 src/debug.c | 216 src/descrip.mms | 318 src/envarg.c | 2 src/feed.c | 263 src/filter.c | 270 src/getline.c | 16 src/global.c | 2 src/group.c | 402 src/hashstr.c | 2 src/header.c | 61 src/help.c | 379 src/inews.c | 85 src/init.c | 319 src/joinpath.c | 21 src/keymap.c | 423 src/lang.c | 608 src/list.c | 46 src/lock.c | 22 src/mail.c | 220 src/main.c | 366 src/makecfg.c | 8 src/memory.c | 221 src/mimetypes.c | 52 src/misc.c | 343 src/my_tmpfile.c | 45 src/newsrc.c | 643 src/nntplib.c | 989 src/nrctbl.c | 36 src/options_menu.c | 2714 + src/page.c | 763 src/pgp.c | 50 src/plp_snprintf.c | 10 src/post.c | 1422 src/prompt.c | 176 src/read.c | 63 src/refs.c | 410 src/regex.c | 21 src/rfc1524.c | 14 src/rfc2045.c | 24 src/rfc2046.c | 178 src/rfc2047.c | 270 src/save.c | 1135 src/screen.c | 44 src/search.c | 90 src/select.c | 207 src/sigfile.c | 87 src/signal.c | 128 src/strftime.c | 2 src/string.c | 270 src/tags.c | 84 src/tcurses.c | 140 src/thread.c | 285 src/tincfg.tbl | 106 src/tmpfile.c | 2 src/trace.c | 2 src/version.c | 19 src/xface.c | 56 src/xref.c | 328 tin.spec | 9 tools/metamutt | 2 tools/opt-case.pl | 2 tools/tinews.pl | 418 tools/url_handler.pl | 134 tools/url_handler.sh | 6 vms/dir.h | 109 vms/filetypes.h | 13 vms/getopt.c | 755 vms/getopt.h | 131 vms/getopt1.c | 180 vms/getpass.c | 99 vms/isxterm.c | 29 vms/libvms.mms | 171 vms/ndir.h | 51 vms/parsdate.c | 1327 vms/parse.c | 91 vms/parse.h | 10 vms/pwd.h | 34 vms/qsort.c | 202 vms/select.h | 30 vms/strings.h | 32 vms/uaf.h | 295 vms/vms.c | 297 vms/vmsdir.c | 185 vms/vmsfile.c | 85 vms/vmspwd.c | 248 vms/vmstimval.h | 20 292 files changed, 161089 insertions(+), 93420 deletions(-) ----------------------------------------------------------------------------- diff -Nurp --exclude='.bzr*' tin-1.8.3/MANIFEST tin-2.0.0/MANIFEST --- tin-1.8.3/MANIFEST 2007-02-01 14:11:15.000000000 +0100 +++ tin-2.0.0/MANIFEST 2011-08-23 00:03:57.317656484 +0200 @@ -1,319 +1,294 @@ -MANIFEST for tin-1.8.3 (Thu Feb 1 14:11:14 CET 2007) +MANIFEST for tin-2.0.0 (Tue Aug 23 00:03:55 CEST 2011) ---------------------------------------------------- - 13806 ./Makefile - 8336 ./MANIFEST - 1440 ./README - 564 ./README.MAC - 2209 ./README.VMS - 1006 ./README.WIN - 150771 ./aclocal.m4 - 882 ./conf-tin - 44002 ./config.guess - 32372 ./config.sub - 491258 ./configure - 31035 ./configure.in - 7123 ./install.sh - 838 ./mkdirs.sh - 1505 ./tin.spec - 18847 ./doc/ABOUT-NLS - 2578 ./doc/CHANGES - 252172 ./doc/CHANGES.old - 4942 ./doc/CREDITS - 1469 ./doc/DEBUG_REFS - 30017 ./doc/INSTALL - 34428 ./doc/TODO - 150 ./doc/WHATSNEW - 2618 ./doc/art_handling.txt - 1700 ./doc/article.txt - 3862 ./doc/auth.txt - 5377 ./doc/config-anomalies - 11237 ./doc/filtering - 35304 ./doc/good-netkeeping-seal - 3803 ./doc/internals.txt - 23621 ./doc/iso2asc.txt - 3488 ./doc/keymap.sample - 660 ./doc/mailcap.sample - 3365 ./doc/mime.types - 1541 ./doc/nov_tests - 5155 ./doc/opt-case.1 - 3984 ./doc/pgp.txt - 2726 ./doc/rcvars.txt - 1525 ./doc/reading-mail.txt - 4947 ./doc/umlaute.txt - 4246 ./doc/umlauts.txt - 4675 ./doc/tin.defaults - 11541 ./doc/tinews.1 - 2237 ./doc/tools.txt - 5870 ./doc/mbox.5 - 4168 ./doc/mmdf.5 - 2128 ./doc/newsoverview.5 - 6963 ./doc/plp_snprintf.3 - 118490 ./doc/tin.1 - 72803 ./doc/tin.5 - 4733 ./doc/w2r.1 - 2196 ./doc/wildmat.3 - 344 ./tools/expiretover - 3815 ./tools/metamutt - 2787 ./tools/opt-case.pl - 1410 ./tools/tinlock - 25305 ./tools/tinews.pl - 1654 ./tools/url_handler.sh - 3347 ./tools/w2r.pl - 1661 ./tools/expand_aliases.tgz - 2778 ./include/bool.h - 2039 ./include/bugrep.h - 9502 ./include/oldconfig.h - 58747 ./include/extern.h - 13625 ./include/keymap.h - 6340 ./include/newsrc.h - 8397 ./include/nntplib.h - 665 ./include/plp_snprintf.h - 12504 ./include/policy.h - 31008 ./include/proto.h - 5047 ./include/rfc2046.h - 3373 ./include/stpwatch.h - 5756 ./include/tcurses.h - 63148 ./include/tin.h - 13398 ./include/tinrc.h - 5670 ./include/tnntp.h - 2264 ./include/trace.h - 2562 ./include/version.h - 25899 ./src/active.c - 58441 ./src/art.c - 32282 ./src/attrib.c - 12947 ./src/auth.c - 13728 ./src/charset.c - 8220 ./src/color.c - 58140 ./src/config.c - 20158 ./src/cook.c - 30433 ./src/curses.c - 10378 ./src/debug.c - 3408 ./src/envarg.c - 26308 ./src/feed.c - 56694 ./src/filter.c - 18114 ./src/getline.c - 9070 ./src/global.c - 47307 ./src/group.c - 3900 ./src/hashstr.c - 8788 ./src/header.c - 28753 ./src/help.c - 13890 ./src/inews.c - 33763 ./src/init.c - 2216 ./src/joinpath.c - 90146 ./src/keymap.c - 117545 ./src/lang.c - 4486 ./src/langinfo.c - 7102 ./src/list.c - 6667 ./src/lock.c - 13500 ./src/mail.c - 21303 ./src/main.c - 10814 ./src/makecfg.c - 12256 ./src/memory.c - 5257 ./src/mimetypes.c - 90398 ./src/misc.c - 40030 ./src/newsrc.c - 45416 ./src/nntplib.c - 7192 ./src/nrctbl.c - 41832 ./src/options_menu.c - 58527 ./src/page.c - 24138 ./src/parsdate.y - 16966 ./src/plp_snprintf.c - 12713 ./src/pgp.c - 134164 ./src/post.c - 18446 ./src/prompt.c - 10566 ./src/read.c - 25559 ./src/refs.c - 5276 ./src/regex.c - 14475 ./src/rfc1524.c - 15046 ./src/rfc2045.c - 29853 ./src/rfc2046.c - 32609 ./src/rfc2047.c - 37303 ./src/save.c - 11358 ./src/screen.c - 16533 ./src/search.c - 30811 ./src/select.c - 7590 ./src/sigfile.c - 12667 ./src/signal.c - 7215 ./src/strftime.c - 23476 ./src/string.c - 13852 ./src/tags.c - 16965 ./src/tcurses.c - 3071 ./src/tmpfile.c - 3364 ./src/my_tmpfile.c - 40413 ./src/thread.c - 2472 ./src/trace.c - 4347 ./src/version.c - 5453 ./src/wildmat.c - 7153 ./src/xface.c - 7784 ./src/xref.c - 3013 ./vms/dir.h - 424 ./vms/filetypes.h - 21451 ./vms/getopt.c - 4489 ./vms/getopt.h - 4252 ./vms/getopt1.c - 2374 ./vms/getpass.c - 521 ./vms/isxterm.c - 4553 ./vms/libvms.mms - 1262 ./vms/ndir.h - 38384 ./vms/parsdate.c - 2716 ./vms/parse.c - 165 ./vms/parse.h - 1138 ./vms/pwd.h - 5596 ./vms/qsort.c - 1064 ./vms/select.h - 1172 ./vms/strings.h - 9012 ./vms/uaf.h - 6106 ./vms/vms.c - 3971 ./vms/vmsdir.c - 1772 ./vms/vmsfile.c - 5652 ./vms/vmspwd.c - 389 ./vms/vmstimval.h - 422 ./pcre/AUTHORS - 2515 ./pcre/COPYING - 84049 ./pcre/ChangeLog - 8049 ./pcre/INSTALL - 2515 ./pcre/LICENCE - 2924 ./pcre/Makefile.in - 24763 ./pcre/Makefile.in-old - 9915 ./pcre/NEWS - 10772 ./pcre/NON-UNIX-USE - 22383 ./pcre/README - 5996 ./pcre/RunTest.in - 143 ./pcre/config.h - 8703 ./pcre/configure.in - 5876 ./pcre/dftables.c - 1171 ./pcre/pcre-config.in - 10608 ./pcre/pcre.h.in - 160094 ./pcre/pcre_compile.c - 3396 ./pcre/pcre_config.c - 66595 ./pcre/pcre_dfa_exec.c - 110857 ./pcre/pcre_exec.c - 4929 ./pcre/pcre_fullinfo.c - 11915 ./pcre/pcre_get.c - 3159 ./pcre/pcre_globals.c - 3841 ./pcre/pcre_info.c - 36724 ./pcre/pcre_internal.h - 5310 ./pcre/pcre_maketables.c - 2985 ./pcre/pcre_ord2utf8.c - 12388 ./pcre/pcre_printint.src - 3311 ./pcre/pcre_refcount.c - 14376 ./pcre/pcre_study.c - 4610 ./pcre/pcre_tables.c - 5348 ./pcre/pcre_try_flipped.c - 4598 ./pcre/pcre_ucp_findchar.c - 4482 ./pcre/pcre_valid_utf8.c - 2573 ./pcre/pcre_version.c - 4150 ./pcre/pcre_xclass.c - 11707 ./pcre/pcredemo.c - 33516 ./pcre/pcregrep.c - 10376 ./pcre/pcreposix.c - 4086 ./pcre/pcreposix.h - 54545 ./pcre/pcretest.c - 5234 ./pcre/perltest - 1612 ./pcre/ucp.h - 3547 ./pcre/ucpinternal.h - 453166 ./pcre/ucptable.c - 395 ./pcre/version.sh - 9685 ./pcre/doc/pcre.3 - 63013 ./pcre/doc/pcrepattern.3 - 74037 ./pcre/testdata/testinput1 - 26948 ./pcre/testdata/testinput2 - 596 ./pcre/testdata/testinput3 - 8401 ./pcre/testdata/testinput4 - 3516 ./pcre/testdata/testinput5 - 7432 ./pcre/testdata/testinput6 - 74550 ./pcre/testdata/testinput7 - 8795 ./pcre/testdata/testinput8 - 8762 ./pcre/testdata/testinput9 - 98443 ./pcre/testdata/testoutput1 - 122705 ./pcre/testdata/testoutput2 - 1513 ./pcre/testdata/testoutput3 - 14738 ./pcre/testdata/testoutput4 - 22902 ./pcre/testdata/testoutput5 - 16226 ./pcre/testdata/testoutput6 - 103487 ./pcre/testdata/testoutput7 - 51419 ./pcre/testdata/testoutput8 - 24236 ./pcre/testdata/testoutput9 - 19937 ./include/autoconf.hin - 5800 ./pcre/pcre.mms - 21104 ./src/Makefile.in - 7657 ./src/tincfg.tbl - 8747 ./src/descrip.mms - 946 ./libcanlock/Build - 882 ./libcanlock/CHANGES - 789 ./libcanlock/MANIFEST - 1351 ./libcanlock/README - 10829 ./libcanlock/base64.c - 160 ./libcanlock/base64.h - 550 ./libcanlock/canlock.h - 1990 ./libcanlock/canlock_md5.c - 1158 ./libcanlock/canlock_misc.c - 2015 ./libcanlock/canlock_sha1.c - 3095 ./libcanlock/canlocktest.c - 3254 ./libcanlock/endian.c - 1598 ./libcanlock/hmac_md5.c - 81 ./libcanlock/hmac_md5.h - 1645 ./libcanlock/hmac_sha1.c - 82 ./libcanlock/hmac_sha1.h - 4345 ./libcanlock/hmactest.c - 8348 ./libcanlock/main.c - 8087 ./libcanlock/md5.c - 640 ./libcanlock/md5.h - 7324 ./libcanlock/sha1.c - 677 ./libcanlock/sha1.h - 2357 ./libcanlock/doc/HOWTO - 8554 ./libcanlock/doc/draft-ietf-usefor-cancel-lock-01.txt - 22297 ./libcanlock/doc/rfc2104.txt - 11942 ./libcanlock/doc/rfc2202.txt - 11843 ./libcanlock/doc/rfc2286.txt - 9850 ./intl/bindtextdom.c - 72 ./intl/ChangeLog - 13325 ./intl/config.charset - 1820 ./intl/dcgettext.c - 34160 ./intl/dcigettext.c - 1895 ./intl/dcngettext.c - 1792 ./intl/dgettext.c - 1927 ./intl/dngettext.c - 4650 ./intl/explodename.c - 5736 ./intl/finddomain.c - 1891 ./intl/gettext.c - 3104 ./intl/gettext.h - 7686 ./intl/gettextP.h - 1835 ./intl/hash-string.h - 4763 ./intl/intl-compat.c - 10480 ./intl/l10nflist.c - 1932 ./intl/libgettext.h - 4397 ./intl/libgnuintl.h - 3380 ./intl/loadinfo.h - 14972 ./intl/loadmsgcat.c - 6905 ./intl/localcharset.c - 2657 ./intl/locale.alias - 9432 ./intl/localealias.c - 10014 ./intl/Makefile.in - 2001 ./intl/ngettext.c - 38981 ./intl/plural.c - 8376 ./intl/plural.y - 1089 ./intl/ref-add.sin - 1044 ./intl/ref-del.sin - 4481 ./intl/textdomain.c - 41 ./intl/VERSION - 4962 ./po/Makefile.inn - 847 ./po/POTFILES.in - 123243 ./po/tin.pot - 166688 ./po/de.gmo - 199621 ./po/de.po - 7359 ./po/en_GB.gmo - 125827 ./po/en_GB.po - 159169 ./po/et.gmo - 190821 ./po/et.po - 162233 ./po/fr.gmo - 196320 ./po/fr.po - 129821 ./po/ru.gmo - 178409 ./po/ru.po - 2081 ./po/rw.gmo - 169443 ./po/rw.po - 23145 ./po/sv.gmo - 130548 ./po/sv.po - 5889 ./po/tr.gmo - 190218 ./po/tr.po -8127730 total + 14066 ./Makefile + 8060 ./MANIFEST + 1441 ./README + 745 ./README.MAC + 976 ./README.WIN + 178280 ./aclocal.m4 + 882 ./conf-tin + 45029 ./config.guess + 35291 ./config.sub + 636696 ./configure + 31970 ./configure.in + 7123 ./install-sh + 1488 ./tin.spec + 18847 ./doc/ABOUT-NLS + 25927 ./doc/CHANGES + 252176 ./doc/CHANGES.old + 5041 ./doc/CREDITS + 1305 ./doc/DEBUG_REFS + 30405 ./doc/INSTALL + 40816 ./doc/TODO + 1915 ./doc/WHATSNEW + 2618 ./doc/art_handling.txt + 1701 ./doc/article.txt + 4373 ./doc/auth.txt + 3859 ./doc/config-anomalies + 11269 ./doc/filtering + 35305 ./doc/good-netkeeping-seal + 3803 ./doc/internals.txt + 23621 ./doc/iso2asc.txt + 3904 ./doc/keymap.sample + 633 ./doc/mailcap.sample + 5870 ./doc/mbox.5 + 3365 ./doc/mime.types + 4168 ./doc/mmdf.5 + 2128 ./doc/newsoverview.5 + 1541 ./doc/nov_tests + 5155 ./doc/opt-case.1 + 6964 ./doc/plp_snprintf.3 + 3964 ./doc/pgp.txt + 2817 ./doc/rcvars.txt + 1525 ./doc/reading-mail.txt + 4947 ./doc/umlaute.txt + 4246 ./doc/umlauts.txt + 6723 ./doc/url_handler.1 + 128360 ./doc/tin.1 + 78323 ./doc/tin.5 + 4952 ./doc/tin.defaults + 13099 ./doc/tinews.1 + 2418 ./doc/tools.txt + 4733 ./doc/w2r.1 + 2196 ./doc/wildmat.3 + 344 ./tools/expiretover + 3815 ./tools/metamutt + 2788 ./tools/opt-case.pl + 1410 ./tools/tinlock + 32677 ./tools/tinews.pl + 3643 ./tools/url_handler.pl + 1657 ./tools/url_handler.sh + 3347 ./tools/w2r.pl + 1661 ./tools/expand_aliases.tgz + 2586 ./include/bool.h + 1947 ./include/bugrep.h + 2210 ./include/debug.h + 66553 ./include/extern.h + 14068 ./include/keymap.h + 6333 ./include/newsrc.h + 8685 ./include/nntplib.h + 664 ./include/plp_snprintf.h + 14528 ./include/policy.h + 32325 ./include/proto.h + 5374 ./include/rfc2046.h + 3377 ./include/stpwatch.h + 5898 ./include/tcurses.h + 68484 ./include/tin.h + 16390 ./include/tinrc.h + 4346 ./include/tnntp.h + 2264 ./include/trace.h + 2354 ./include/version.h + 34225 ./src/active.c + 71178 ./src/art.c + 74865 ./src/attrib.c + 14980 ./src/auth.c + 12555 ./src/charset.c + 8551 ./src/color.c + 62398 ./src/config.c + 27541 ./src/cook.c + 27152 ./src/curses.c + 9917 ./src/debug.c + 3408 ./src/envarg.c + 30327 ./src/feed.c + 56135 ./src/filter.c + 18126 ./src/getline.c + 9070 ./src/global.c + 47049 ./src/group.c + 3900 ./src/hashstr.c + 8215 ./src/header.c + 43731 ./src/help.c + 14005 ./src/inews.c + 37255 ./src/init.c + 2435 ./src/joinpath.c + 101520 ./src/keymap.c + 133613 ./src/lang.c + 4486 ./src/langinfo.c + 7728 ./src/list.c + 6673 ./src/lock.c + 16611 ./src/mail.c + 25458 ./src/main.c + 10879 ./src/makecfg.c + 13232 ./src/memory.c + 5283 ./src/mimetypes.c + 91686 ./src/misc.c + 38541 ./src/newsrc.c + 53404 ./src/nntplib.c + 7502 ./src/nrctbl.c + 99090 ./src/options_menu.c + 65812 ./src/page.c + 24138 ./src/parsdate.y + 17057 ./src/plp_snprintf.c + 13003 ./src/pgp.c + 150469 ./src/post.c + 18837 ./src/prompt.c + 10384 ./src/read.c + 27319 ./src/refs.c + 5481 ./src/regex.c + 14483 ./src/rfc1524.c + 15069 ./src/rfc2045.c + 32047 ./src/rfc2046.c + 36199 ./src/rfc2047.c + 57186 ./src/save.c + 11233 ./src/screen.c + 18173 ./src/search.c + 33022 ./src/select.c + 7805 ./src/sigfile.c + 14154 ./src/signal.c + 7215 ./src/strftime.c + 27454 ./src/string.c + 13345 ./src/tags.c + 17371 ./src/tcurses.c + 3070 ./src/tmpfile.c + 3706 ./src/my_tmpfile.c + 41352 ./src/thread.c + 2472 ./src/trace.c + 4315 ./src/version.c + 5453 ./src/wildmat.c + 7335 ./src/xface.c + 12499 ./src/xref.c + 422 ./pcre/AUTHORS + 2515 ./pcre/COPYING + 118928 ./pcre/ChangeLog + 8049 ./pcre/INSTALL + 2515 ./pcre/LICENCE + 3118 ./pcre/Makefile.in + 26802 ./pcre/Makefile.in-old + 12409 ./pcre/NEWS + 11121 ./pcre/NON-UNIX-USE + 24136 ./pcre/README + 6161 ./pcre/RunTest.in + 225 ./pcre/config.h + 8703 ./pcre/configure.in + 395 ./pcre/version.sh + 6369 ./pcre/dftables.c + 1171 ./pcre/pcre-config.in + 12396 ./pcre/pcre.h + 172486 ./pcre/pcre_compile.c + 3504 ./pcre/pcre_config.c + 80853 ./pcre/pcre_dfa_exec.c + 126511 ./pcre/pcre_exec.c + 4933 ./pcre/pcre_fullinfo.c + 15178 ./pcre/pcre_get.c + 3745 ./pcre/pcre_globals.c + 3845 ./pcre/pcre_info.c + 42748 ./pcre/pcre_internal.h + 5462 ./pcre/pcre_maketables.c + 5075 ./pcre/pcre_newline.c + 2973 ./pcre/pcre_ord2utf8.c + 13710 ./pcre/pcre_printint.src + 3315 ./pcre/pcre_refcount.c + 17616 ./pcre/pcre_study.c + 9041 ./pcre/pcre_tables.c + 5354 ./pcre/pcre_try_flipped.c + 6054 ./pcre/pcre_ucp_searchfuncs.c + 4460 ./pcre/pcre_valid_utf8.c + 3905 ./pcre/pcre_version.c + 4607 ./pcre/pcre_xclass.c + 11732 ./pcre/pcredemo.c + 57059 ./pcre/pcregrep.c + 11801 ./pcre/pcreposix.c + 4775 ./pcre/pcreposix.h + 66834 ./pcre/pcretest.c + 4812 ./pcre/perltest + 3027 ./pcre/ucp.h + 3452 ./pcre/ucpinternal.h + 92082 ./pcre/ucptable.c + 74510 ./pcre/doc/pcre.3 + 63013 ./pcre/doc/pcrepattern.3 + 75951 ./pcre/testdata/testinput1 + 36304 ./pcre/testdata/testinput2 + 932 ./pcre/testdata/testinput3 + 8498 ./pcre/testdata/testinput4 + 4766 ./pcre/testdata/testinput5 + 10717 ./pcre/testdata/testinput6 + 77627 ./pcre/testdata/testinput7 + 9623 ./pcre/testdata/testinput8 + 11437 ./pcre/testdata/testinput9 + 101396 ./pcre/testdata/testoutput1 + 161801 ./pcre/testdata/testoutput2 + 2272 ./pcre/testdata/testoutput3 + 14871 ./pcre/testdata/testoutput4 + 29008 ./pcre/testdata/testoutput5 + 21297 ./pcre/testdata/testoutput6 + 108966 ./pcre/testdata/testoutput7 + 53056 ./pcre/testdata/testoutput8 + 28769 ./pcre/testdata/testoutput9 + 20380 ./include/autoconf.hin + 21511 ./src/Makefile.in + 10961 ./src/tincfg.tbl + 1929 ./libcanlock/CHANGES + 2464 ./libcanlock/HOWTO + 1259 ./libcanlock/README + 1331 ./libcanlock/Makefile.in + 3712 ./libcanlock/src/base64.c + 5271 ./libcanlock/src/canlock.c + 3794 ./libcanlock/src/hmac_sha1.c + 12514 ./libcanlock/src/sha1.c + 1873 ./libcanlock/include/base64.h + 378 ./libcanlock/include/canlock.h + 119 ./libcanlock/include/hmac_sha1.h + 1413 ./libcanlock/include/sha1.h + 2889 ./libcanlock/t/canlocktest.c + 3135 ./libcanlock/t/hmactest.c + 766 ./libcanlock/t/canlocktest.shouldbe + 1021 ./libcanlock/t/hmactest.shouldbe + 9850 ./intl/bindtextdom.c + 72 ./intl/ChangeLog + 13325 ./intl/config.charset + 1820 ./intl/dcgettext.c + 34160 ./intl/dcigettext.c + 1895 ./intl/dcngettext.c + 1792 ./intl/dgettext.c + 1927 ./intl/dngettext.c + 4650 ./intl/explodename.c + 5736 ./intl/finddomain.c + 1891 ./intl/gettext.c + 3104 ./intl/gettext.h + 7686 ./intl/gettextP.h + 1835 ./intl/hash-string.h + 4763 ./intl/intl-compat.c + 10480 ./intl/l10nflist.c + 1932 ./intl/libgettext.h + 4397 ./intl/libgnuintl.h + 3380 ./intl/loadinfo.h + 14972 ./intl/loadmsgcat.c + 6905 ./intl/localcharset.c + 2657 ./intl/locale.alias + 9432 ./intl/localealias.c + 9854 ./intl/Makefile.in + 2001 ./intl/ngettext.c + 38981 ./intl/plural.c + 8375 ./intl/plural.y + 1089 ./intl/ref-add.sin + 1044 ./intl/ref-del.sin + 4481 ./intl/textdomain.c + 41 ./intl/VERSION + 5068 ./po/Makefile.inn + 847 ./po/POTFILES.in + 140976 ./po/tin.pot + 60091 ./po/da.gmo + 176284 ./po/da.po + 177001 ./po/de.gmo + 234517 ./po/de.po + 8420 ./po/en_GB.gmo + 152907 ./po/en_GB.po + 169563 ./po/et.gmo + 228845 ./po/et.po + 185808 ./po/fr.gmo + 237856 ./po/fr.po + 124584 ./po/ru.gmo + 213441 ./po/ru.po + 22907 ./po/sv.gmo + 159495 ./po/sv.po + 4671 ./po/tr.gmo + 225583 ./po/tr.po + 133459 ./doc/l10n/de/tin.1 + 81220 ./doc/l10n/de/tin.5 + 129 ./doc/l10n/de.add + 324372 ./doc/l10n/de.po + 132014 ./doc/l10n/en_GB/tin.1 + 80828 ./doc/l10n/en_GB/tin.5 + 451247 ./doc/l10n/en_GB.po + 346 ./doc/l10n/po4a.conf + 282544 ./doc/l10n/tin-man.pot +10234437 total diff -Nurp --exclude='.bzr*' tin-1.8.3/Makefile tin-2.0.0/Makefile --- tin-1.8.3/Makefile 2007-02-01 14:11:14.000000000 +0100 +++ tin-2.0.0/Makefile 2011-08-23 00:03:55.061306179 +0200 @@ -1,15 +1,15 @@ # Top level Makefile for tin # - for configuration options read the doc/INSTALL file. # -# Updated: 2006-01-12 +# Updated: 2011-04-17 # PROJECT = tin -LVER = 1 -PVER = 8 -SVER = 3 +LVER = 2 +PVER = 0 +SVER = 0 VER = $(LVER).$(PVER).$(SVER) -DVER = 20070201 +DVER = 20110823 EXE = tin # directory structure @@ -18,17 +18,17 @@ DOCDIR = ./doc INCDIR = ./include OBJDIR = ./src SRCDIR = ./src -VMSDIR = ./vms PCREDIR = ./pcre CANDIR = ./libcanlock TOLDIR = ./tools PODIR = ./po INTLDIR = ./intl +L10NDIR = ./doc/l10n HFILES = \ $(INCDIR)/bool.h \ $(INCDIR)/bugrep.h \ - $(INCDIR)/oldconfig.h \ + $(INCDIR)/debug.h \ $(INCDIR)/extern.h \ $(INCDIR)/keymap.h \ $(INCDIR)/newsrc.h \ @@ -115,30 +115,6 @@ CFILES = \ $(SRCDIR)/xface.c \ $(SRCDIR)/xref.c -VMS = \ - $(VMSDIR)/dir.h \ - $(VMSDIR)/filetypes.h \ - $(VMSDIR)/getopt.c \ - $(VMSDIR)/getopt.h \ - $(VMSDIR)/getopt1.c \ - $(VMSDIR)/getpass.c \ - $(VMSDIR)/isxterm.c \ - $(VMSDIR)/libvms.mms \ - $(VMSDIR)/ndir.h \ - $(VMSDIR)/parsdate.c \ - $(VMSDIR)/parse.c \ - $(VMSDIR)/parse.h \ - $(VMSDIR)/pwd.h \ - $(VMSDIR)/qsort.c \ - $(VMSDIR)/select.h \ - $(VMSDIR)/strings.h \ - $(VMSDIR)/uaf.h \ - $(VMSDIR)/vms.c \ - $(VMSDIR)/vmsdir.c \ - $(VMSDIR)/vmsfile.c \ - $(VMSDIR)/vmspwd.c \ - $(VMSDIR)/vmstimval.h - DOC = \ $(DOCDIR)/ABOUT-NLS \ $(DOCDIR)/CHANGES \ @@ -158,23 +134,24 @@ DOC = \ $(DOCDIR)/iso2asc.txt \ $(DOCDIR)/keymap.sample \ $(DOCDIR)/mailcap.sample \ + $(DOCDIR)/mbox.5 \ $(DOCDIR)/mime.types \ + $(DOCDIR)/mmdf.5 \ + $(DOCDIR)/newsoverview.5 \ $(DOCDIR)/nov_tests \ $(DOCDIR)/opt-case.1 \ + $(DOCDIR)/plp_snprintf.3 \ $(DOCDIR)/pgp.txt \ $(DOCDIR)/rcvars.txt \ $(DOCDIR)/reading-mail.txt \ $(DOCDIR)/umlaute.txt \ $(DOCDIR)/umlauts.txt \ + $(DOCDIR)/url_handler.1 \ + $(DOCDIR)/tin.1 \ + $(DOCDIR)/tin.5 \ $(DOCDIR)/tin.defaults \ $(DOCDIR)/tinews.1 \ $(DOCDIR)/tools.txt \ - $(DOCDIR)/mbox.5 \ - $(DOCDIR)/mmdf.5 \ - $(DOCDIR)/newsoverview.5 \ - $(DOCDIR)/plp_snprintf.3 \ - $(DOCDIR)/tin.1 \ - $(DOCDIR)/tin.5 \ $(DOCDIR)/w2r.1 \ $(DOCDIR)/wildmat.3 @@ -184,6 +161,7 @@ TOL = \ $(TOLDIR)/opt-case.pl \ $(TOLDIR)/tinlock \ $(TOLDIR)/tinews.pl \ + $(TOLDIR)/url_handler.pl \ $(TOLDIR)/url_handler.sh \ $(TOLDIR)/w2r.pl \ $(TOLDIR)/expand_aliases.tgz @@ -193,7 +171,6 @@ TOP = \ $(TOPDIR)/MANIFEST \ $(TOPDIR)/README \ $(TOPDIR)/README.MAC \ - $(TOPDIR)/README.VMS \ $(TOPDIR)/README.WIN \ $(TOPDIR)/aclocal.m4 \ $(TOPDIR)/conf-tin \ @@ -201,8 +178,7 @@ TOP = \ $(TOPDIR)/config.sub \ $(TOPDIR)/configure \ $(TOPDIR)/configure.in \ - $(TOPDIR)/install.sh \ - $(TOPDIR)/mkdirs.sh \ + $(TOPDIR)/install-sh \ $(TOPDIR)/tin.spec PCRE = \ @@ -219,9 +195,10 @@ PCRE = \ $(PCREDIR)/RunTest.in \ $(PCREDIR)/config.h \ $(PCREDIR)/configure.in \ + $(PCREDIR)/version.sh \ $(PCREDIR)/dftables.c \ $(PCREDIR)/pcre-config.in \ - $(PCREDIR)/pcre.h.in \ + $(PCREDIR)/pcre.h \ $(PCREDIR)/pcre_compile.c \ $(PCREDIR)/pcre_config.c \ $(PCREDIR)/pcre_dfa_exec.c \ @@ -232,13 +209,14 @@ PCRE = \ $(PCREDIR)/pcre_info.c \ $(PCREDIR)/pcre_internal.h \ $(PCREDIR)/pcre_maketables.c \ + $(PCREDIR)/pcre_newline.c \ $(PCREDIR)/pcre_ord2utf8.c \ $(PCREDIR)/pcre_printint.src \ $(PCREDIR)/pcre_refcount.c \ $(PCREDIR)/pcre_study.c \ $(PCREDIR)/pcre_tables.c \ $(PCREDIR)/pcre_try_flipped.c \ - $(PCREDIR)/pcre_ucp_findchar.c \ + $(PCREDIR)/pcre_ucp_searchfuncs.c \ $(PCREDIR)/pcre_valid_utf8.c \ $(PCREDIR)/pcre_version.c \ $(PCREDIR)/pcre_xclass.c \ @@ -251,7 +229,6 @@ PCRE = \ $(PCREDIR)/ucp.h \ $(PCREDIR)/ucpinternal.h \ $(PCREDIR)/ucptable.c \ - $(PCREDIR)/version.sh \ $(PCREDIR)/doc/pcre.3 \ $(PCREDIR)/doc/pcrepattern.3 \ $(PCREDIR)/testdata/testinput1 \ @@ -274,40 +251,27 @@ PCRE = \ $(PCREDIR)/testdata/testoutput9 CAN = \ - $(CANDIR)/Build \ $(CANDIR)/CHANGES \ - $(CANDIR)/MANIFEST \ + $(CANDIR)/HOWTO \ $(CANDIR)/README \ - $(CANDIR)/base64.c \ - $(CANDIR)/base64.h \ - $(CANDIR)/canlock.h \ - $(CANDIR)/canlock_md5.c \ - $(CANDIR)/canlock_misc.c \ - $(CANDIR)/canlock_sha1.c \ - $(CANDIR)/canlocktest.c \ - $(CANDIR)/endian.c \ - $(CANDIR)/hmac_md5.c \ - $(CANDIR)/hmac_md5.h \ - $(CANDIR)/hmac_sha1.c \ - $(CANDIR)/hmac_sha1.h \ - $(CANDIR)/hmactest.c \ - $(CANDIR)/main.c \ - $(CANDIR)/md5.c \ - $(CANDIR)/md5.h \ - $(CANDIR)/sha1.c \ - $(CANDIR)/sha1.h \ - $(CANDIR)/doc/HOWTO \ - $(CANDIR)/doc/draft-ietf-usefor-cancel-lock-01.txt \ - $(CANDIR)/doc/rfc2104.txt \ - $(CANDIR)/doc/rfc2202.txt \ - $(CANDIR)/doc/rfc2286.txt + $(CANDIR)/Makefile.in \ + $(CANDIR)/src/base64.c \ + $(CANDIR)/src/canlock.c \ + $(CANDIR)/src/hmac_sha1.c \ + $(CANDIR)/src/sha1.c \ + $(CANDIR)/include/base64.h \ + $(CANDIR)/include/canlock.h \ + $(CANDIR)/include/hmac_sha1.h \ + $(CANDIR)/include/sha1.h \ + $(CANDIR)/t/canlocktest.c \ + $(CANDIR)/t/hmactest.c \ + $(CANDIR)/t/canlocktest.shouldbe \ + $(CANDIR)/t/hmactest.shouldbe MISC = \ $(INCDIR)/autoconf.hin \ - $(PCREDIR)/pcre.mms \ $(SRCDIR)/Makefile.in \ - $(SRCDIR)/tincfg.tbl \ - $(SRCDIR)/descrip.mms + $(SRCDIR)/tincfg.tbl INTLFILES = \ $(INTLDIR)/bindtextdom.c \ @@ -346,6 +310,8 @@ POFILES = \ $(PODIR)/Makefile.inn \ $(PODIR)/POTFILES.in \ $(PODIR)/$(PROJECT).pot \ + $(PODIR)/da.gmo \ + $(PODIR)/da.po \ $(PODIR)/de.gmo \ $(PODIR)/de.po \ $(PODIR)/en_GB.gmo \ @@ -356,17 +322,25 @@ POFILES = \ $(PODIR)/fr.po \ $(PODIR)/ru.gmo \ $(PODIR)/ru.po \ - $(PODIR)/rw.gmo \ - $(PODIR)/rw.po \ $(PODIR)/sv.gmo \ $(PODIR)/sv.po \ $(PODIR)/tr.gmo \ $(PODIR)/tr.po +L10NFILES = \ + $(L10NDIR)/de/tin.1 \ + $(L10NDIR)/de/tin.5 \ + $(L10NDIR)/de.add \ + $(L10NDIR)/de.po \ + $(L10NDIR)/en_GB/tin.1 \ + $(L10NDIR)/en_GB/tin.5 \ + $(L10NDIR)/en_GB.po \ + $(L10NDIR)/po4a.conf \ + $(L10NDIR)/tin-man.pot -ALL_FILES = $(TOP) $(DOC) $(TOL) $(HFILES) $(CFILES) $(VMS) $(PCRE) $(MISC) $(CAN) $(INTLFILES) $(POFILES) +ALL_FILES = $(TOP) $(DOC) $(TOL) $(HFILES) $(CFILES) $(PCRE) $(MISC) $(CAN) $(INTLFILES) $(POFILES) $(L10NFILES) -ALL_DIRS = $(TOPDIR) $(DOCDIR) $(SRCDIR) $(INCDIR) $(VMSDIR) $(PCREDIR) $(PCREDIR)/doc $(PCREDIR)/testdata $(CANDIR) $(CANDIR)/doc $(INTLDIR) $(PODIR) +ALL_DIRS = $(TOPDIR) $(DOCDIR) $(SRCDIR) $(INCDIR) $(PCREDIR) $(PCREDIR)/doc $(PCREDIR)/testdata $(CANDIR) $(INTLDIR) $(PODIR) $(L10NDIR) $(L10NDIR)/de # standard commands CD = cd @@ -382,6 +356,7 @@ SHELL = /bin/sh TAR = tar GZIP = gzip BZIP2 = bzip2 +LZMA = lzma WC = wc SED = sed TR = tr @@ -426,7 +401,7 @@ clean: @-if $(TEST) -r $(INTLDIR)/Makefile ; then $(CD) $(INTLDIR) && $(MAKE) clean ; fi @-if $(TEST) -r $(PODIR)/Makefile ; then $(CD) $(PODIR) && $(MAKE) clean ; fi @-if $(TEST) -r $(SRCDIR)/Makefile ; then $(CD) $(SRCDIR) && $(MAKE) clean ; fi - @-if $(TEST) -r $(CANDIR)/hmactest ; then $(CD) $(CANDIR) && ./Build clean ; fi + @-if $(TEST) -r $(CANDIR)/Makefile ; then $(CD) $(CANDIR) && $(MAKE) clean ; fi man: @$(MAKE) manpage @@ -452,22 +427,21 @@ chmod: @$(CHMOD) 644 $(ALL_FILES) @$(CHMOD) 755 \ $(ALL_DIRS) \ - ./conf-tin \ - ./config.guess \ - ./config.sub \ - ./configure \ - ./install.sh \ - ./mkdirs.sh \ + $(TOPDIR)/conf-tin \ + $(TOPDIR)/config.guess \ + $(TOPDIR)/config.sub \ + $(TOPDIR)/configure \ + $(TOPDIR)/install-sh \ $(TOLDIR)/expiretover \ $(TOLDIR)/metamutt \ $(TOLDIR)/opt-case.pl \ $(TOLDIR)/tinlock \ $(TOLDIR)/tinews.pl \ + $(TOLDIR)/url_handler.pl \ $(TOLDIR)/url_handler.sh \ $(TOLDIR)/w2r.pl \ $(PCREDIR)/perltest \ - $(PCREDIR)/version.sh \ - $(CANDIR)/Build + $(PCREDIR)/version.sh tar: @$(ECHO) "Generating gzipped tar file..." @@ -493,6 +467,18 @@ bzip2: @$(CHMOD) 644 $(PROJECT)-$(VER).tar.bz2 @$(LS) -l $(PROJECT)-$(VER).tar.bz2 +lzma: + @$(ECHO) "Generating lzma compressd tar file..." + @-$(RM) -f $(PROJECT)-$(VER).tar.lzma + @$(TAR) cvf $(PROJECT)-$(VER).tar -C ../ \ + `$(ECHO) $(ALL_FILES) \ + | $(TR) -s '[[:space:]]' "[\012*]" \ + | $(SED) 's,^\./,$(PROJECT)-$(VER)/,' \ + | $(TR) "[\012]" " "` + @$(LZMA) -9 $(PROJECT)-$(VER).tar + @$(CHMOD) 644 $(PROJECT)-$(VER).tar.lzma + @$(LS) -l $(PROJECT)-$(VER).tar.lzma + # # I know it's ugly, but it works # @@ -518,6 +504,7 @@ dist: @$(MAKE) chmod @$(MAKE) tar @$(MAKE) bzip2 + @$(MAKE) lzma version: @$(ECHO) "$(PROJECT)-$(VER)" @@ -527,18 +514,26 @@ distclean: @-if $(TEST) -r $(PODIR)/Makefile ; then $(CD) $(PODIR) && $(MAKE) distclean ; fi @-if $(TEST) -r $(INTLDIR)/Makefile ; then $(CD) $(INTLDIR) && $(MAKE) distclean ; fi @-if $(TEST) -r $(PCREDIR)/Makefile ; then $(CD) $(PCREDIR) && $(MAKE) distclean ; fi + @-if $(TEST) -r $(CANDIR)/Makefile ; then $(CD) $(CANDIR) && $(MAKE) distclean ; fi @-$(RM) -f \ - config.cache \ - config.log \ - config.status \ - td-conf.out \ + $(TOPDIR)/config.cache \ + $(TOPDIR)/config.log \ + $(TOPDIR)/config.status \ + $(TOPDIR)/td-conf.out \ $(INCDIR)/autoconf.h \ $(SRCDIR)/Makefile \ $(PCREDIR)/Makefile \ - $(INTLDIR)/po2tbl.sed + $(CANDIR)/Makefile \ + $(INTLDIR)/po2tbl.sed \ + $(PROJECT)-$(VER).tar.gz \ + $(PROJECT)-$(VER).tar.bz2 \ + $(PROJECT)-$(VER).tar.lzma configure: configure.in aclocal.m4 autoconf config.status: configure - ./config.status --recheck + $(TOPDIR)/config.status --recheck + +po4a: + @$(CD) $(L10NDIR) && po4a --no-backups --rm-backups po4a.conf diff -Nurp --exclude='.bzr*' tin-1.8.3/README tin-2.0.0/README --- tin-1.8.3/README 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/README 2011-04-17 16:04:25.558328227 +0200 @@ -25,7 +25,7 @@ messages and won't be able to post using Before mailing a bug-report to tin-bugs@tin.org please check if you are using the latest (stable) release, and if not, please upgrade first! Have a -look a the doc/TODO file for known bugs. If you still think you've found a +look at the doc/TODO file for known bugs. If you still think you've found a bug, please use the mail_bugreport function (shift-R) and write in English. Please do NOT enclose a core-file in your bugreport until we request it. diff -Nurp --exclude='.bzr*' tin-1.8.3/README.MAC tin-2.0.0/README.MAC --- tin-1.8.3/README.MAC 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/README.MAC 2011-04-17 16:04:25.586332490 +0200 @@ -1,18 +1,21 @@ -Compiling tin for MacOS X: +Compiling tin for Mac OS X / Darwin: First, you either need: - the DevTools if you are running Mac OS X 10.2 (Darwin 6.x) or below or -- the Xcode Tools if you are running Mac OS X 10.3 (Darwin 7.x.x) +- the Xcode Tools if you are running Mac OS X 10.3 (Darwin 7.x.x) or higher configure needs at least the argument: --with-domain-name= Compile tin, install it and run in a ISO-8859-1(5) terminal. +Note for Mac OS X 10.6 / Darwin 10.0.0 users: you may also set a FQDN with +`/usr/sbin/scutil --set HostName` if you set the "disable_sender" option to +ON on /etc/tin/tin.defaults Here are two other ways to build and install tin: -- DarwinPorts -- Fink +- MacPorts +- Fink Instead of using the shell-script url_handler.sh you might want to use open(1) as URL-handler. diff -Nurp --exclude='.bzr*' tin-1.8.3/README.VMS tin-2.0.0/README.VMS --- tin-1.8.3/README.VMS 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/README.VMS 1970-01-01 01:00:00.000000000 +0100 @@ -1,74 +0,0 @@ -WARNING, this is still a BETA release! -It is still a work in progress and might not compile on all machines - -It has been installed on the following OpenVMS platforms: - -1) OpenVMS/Alpha 6.2, DEC C V5.0-003, SOCKETSHR_TCP -2) OpenVMS/Vax 5.3, GCC 2.7.2 (Pat Ranking edition), SOCKETSHR_TCP - -Pre-Requisites: - - This Tin version builds currently only against the SOCKETSHR shareable image. - - SOCKETSHR provides a complete BSD compatible socket library. - It requires the NETLIB software to interface with the underlying TCP/IP - transport. NETLIB provides an interface to all available TCP/IP - transports for OpenVMS. - - For building the image either MMS or MMK is required. - - SOCKETSHR is freeware and available from: - - http://alder.cc.kcl.ac.uk/fileserv/zip/socketshr_src_09d-5.zip - http://www.ifn.ing.tu-bs.de/ifn/sonst/socketshr.html - ftp://ftp2.kcl.ac.uk/zip/socketshr_src_09D-5.zip - - NETLIB is freeware and available from: - - http://alder.cc.kcl.ac.uk/fileserv/zip/netlib022.zip - http://www.madgoat.com/netlib.html - ftp://ftp2.kcl.ac.uk/zip/netlib022.zip - - MMK is freeware and available from: - - http://www.madgoat.com/mmk.html - -Quick Install: - - $set def [.src] - - On ALPHA: - - $mms /macro=(alpha=1) - - or on a VAX - - $mms /macro=(vax=1) - - or on a VAX with GCC - - $mms /macro=(vax=1,gnuc=1) - -install with: - - Define tin as a foreign command: - - $tin :== $device:[dir.sub]tin.exe - - -Install at your own risk. - -Please do NOT mail any bug-reports concerning THIS version to Iain Lea but -to tin-bugs@tin.org. Before mailing a bug-report please check if you are -using the latest release, and if not, please upgrade first! Have a look at -the TODO file for known bugs. If you still think you found a bug, please use -tins mail_bugreport function (shift-R) and write in english. - -The latest release is available at: - -or it's mirrors. - -If you have additional questions or like to be informed about the -latest new features/version you may subscribe to the (developers) -tin mailing lists; to subscribe write to majordomo@tin.org, asking -in the body to: subscribe and/or read news.software.readers. diff -Nurp --exclude='.bzr*' tin-1.8.3/README.WIN tin-2.0.0/README.WIN --- tin-1.8.3/README.WIN 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/README.WIN 2011-04-17 16:04:25.622337969 +0200 @@ -7,7 +7,7 @@ Compile Tin For Windows - system - Windows NT - - Cygwin (http://sources.redhat.com/cygwin/) + - Cygwin - Cygwin >= 1.1.x - ncurses @@ -18,7 +18,7 @@ Compile Tin For Windows - configure - export CC=gcc - - ./configure --enable-nntp-only --disable-locale + - ./configure --enable-nntp-only - make - cd src @@ -37,4 +37,4 @@ Compile Tin For Windows set HOME=c:\home set USER=username - tested with - 1.5.8 release 20010221 "Blue Water" + 1.9.5 release 20091224 "Lochruan" diff -Nurp --exclude='.bzr*' tin-1.8.3/aclocal.m4 tin-2.0.0/aclocal.m4 --- tin-1.8.3/aclocal.m4 2006-03-02 12:14:08.000000000 +0100 +++ tin-2.0.0/aclocal.m4 2011-06-08 13:12:02.259683352 +0200 @@ -2,10 +2,10 @@ dnl Project : tin - a Usenet reader dnl Module : aclocal.m4 dnl Author : Thomas E. Dickey dnl Created : 1995-08-24 -dnl Updated : 2006-03-02 +dnl Updated : 2011-06-08 dnl Notes : dnl -dnl Copyright (c) 1995-2006 Thomas E. Dickey +dnl Copyright (c) 1995-2011 Thomas E. Dickey dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -61,7 +61,7 @@ AC_DEFUN([AC_ISC_POSIX], ] ) dnl --------------------------------------------------------------------------- -dnl AM_GNU_GETTEXT version: 11 updated: 2004/01/26 20:58:40 +dnl AM_GNU_GETTEXT version: 12 updated: 2010/06/19 07:02:11 dnl -------------- dnl Usage: Just like AM_WITH_NLS, which see. AC_DEFUN([AM_GNU_GETTEXT], @@ -122,31 +122,12 @@ strdup strtoul tsearch __argz_count __ar fi fi - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but ($top_srcdir). - dnl Try to locate it. - dnl changed mkinstalldirs to mkdirs.sh for Lynx /je spath 1998-Aug-21 - dnl added check for separate locations of scripts -mirabile 2004-Jan-18 - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkdirs.sh" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkdirs.sh" - fi - if test -n "$GNUSYSTEM_AUX_DIR" ; then - if test -e "${GNUSYSTEM_AUX_DIR}/mkinstalldirs"; then - MKINSTALLDIRS="${GNUSYSTEM_AUX_DIR}/mkinstalldirs" - fi - fi - AC_SUBST(MKINSTALLDIRS) - dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], []) AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ])dnl dnl --------------------------------------------------------------------------- -dnl AM_ICONV version: 4 updated: 2005/06/20 05:31:53 +dnl AM_ICONV version: 12 updated: 2007/07/30 19:12:03 dnl -------- dnl Inserted as requested by gettext 0.10.40 dnl File from /usr/share/aclocal @@ -155,6 +136,11 @@ dnl ==================== dnl serial AM2 dnl dnl From Bruno Haible. +dnl +dnl ==================== +dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the +dnl range of locations searched. Retain the same cache-variable naming to +dnl allow reuse with the other gettext macros -Thomas E Dickey AC_DEFUN([AM_ICONV], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and @@ -163,41 +149,22 @@ AC_DEFUN([AM_ICONV], AC_ARG_WITH([libiconv-prefix], [ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ - for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi - if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi - done + CF_ADD_OPTIONAL_PATH($withval, libiconv) ]) AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_func_iconv=yes) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS -liconv" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) - LIBS="$am_save_LIBS" - fi - ]) + CF_FIND_LINKAGE(CF__ICONV_HEAD, + CF__ICONV_BODY, + iconv, + am_cv_func_iconv=yes, + am_cv_func_iconv=["no, consider installing GNU libiconv"])]) + if test "$am_cv_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(am_cv_proto_iconv, [ - AC_TRY_COMPILE([ -#include -#include + + AC_CACHE_CHECK([if the declaration of iconv() needs const.], + am_cv_proto_iconv_const,[ + AC_TRY_COMPILE(CF__ICONV_HEAD [ extern #ifdef __cplusplus "C" @@ -207,18 +174,28 @@ size_t iconv (iconv_t cd, char * *inbuf, #else size_t iconv(); #endif -], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([$]{ac_t:- - }[$]am_cv_proto_iconv) +],[], am_cv_proto_iconv_const=no, + am_cv_proto_iconv_const=yes)]) + + if test "$am_cv_proto_iconv_const" = yes ; then + am_cv_proto_iconv_arg1="const" + else + am_cv_proto_iconv_arg1="" + fi + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi + LIBICONV= - if test "$am_cv_lib_iconv" = yes; then - LIBICONV="-liconv" + if test "$cf_cv_find_linkage_iconv" = yes; then + CF_ADD_INCDIR($cf_cv_header_path_iconv) + if test -n "$cf_cv_library_file_iconv" ; then + LIBICONV="-liconv" + CF_ADD_LIBDIR($cf_cv_library_path_iconv) + fi fi + AC_SUBST(LIBICONV) ])dnl dnl --------------------------------------------------------------------------- @@ -276,7 +253,7 @@ AC_DEFUN([AM_LC_MESSAGES], fi fi])dnl dnl --------------------------------------------------------------------------- -dnl AM_MULTIBYTE_ABLE version: 6 updated: 2004/01/19 12:11:07 +dnl AM_MULTIBYTE_ABLE version: 8 updated: 2009/12/24 04:20:51 dnl ----------------- dnl dnl check for required multibyte/widechar functions @@ -296,7 +273,7 @@ AC_DEFUN([AM_MULTIBYTE_ABLE], # include #endif /* HAVE_WCTYPE_H */ ], - [char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; + [const char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; char ocb[5]; wchar_t wcb[5]; wchar_t wcb2[5]; @@ -307,12 +284,30 @@ AC_DEFUN([AM_MULTIBYTE_ABLE], fwide(0, 0); mbtowc(wcb, icb, MB_CUR_MAX); mbstowcs(wcb, icb, 5); - iswprint((wint_t) wcb[0]); - wcslen(wcb); - /* wcsnlen(wcb, 4); */ + (void) iswalnum((wint_t) wcb[0]); + (void) iswcntrl((wint_t) wcb[0]); + (void) iswdigit((wint_t) wcb[0]); + (void) iswgraph((wint_t) wcb[0]); + (void) iswprint((wint_t) wcb[0]); + (void) iswspace((wint_t) wcb[0]); + (void) towupper((wint_t) wcb[0]); + /* (void) iswupper((wint_t) wcb[0]); */ + /* (void) towlower((wint_t) wcb[0]); */ + /* (void) iswlower((wint_t) wcb[0]); */ + /* (void) iswalpha((wint_t) wcb[0]); */ + /* (void) iswblank((wint_t) wcb[0]); */ + /* (void) iswpunct((wint_t) wcb[0]); */ + /* (void) iswxdigit((wint_t) wcb[0]); */ + /* (void) iswctype((wint_t) wcb[0], wctype("print")); */ + /* (void) towctranse((wint_t) wcb[0], wctrans("toupper")); */ + (void) wcslen(wcb); + /* (void) wcsnlen(wcb, 4); */ wcwidth((wint_t) wcb[0]); wcswidth(wcb, 5); wcstombs(ocb, wcb, 5); + wctomb(ocb, wcb[0]); + wcscat(wcb2, wcb); + wcscpy(wcb2, wcb); mbstowcs(format, "%s", 2); swprintf(wcb, 5, format, "test"); wcsncat(wcb2, wcb, 5);], @@ -320,7 +315,7 @@ AC_DEFUN([AM_MULTIBYTE_ABLE], [cf_save_LIBS="$LIBS" LIBS="-lutf8 $LIBS" AC_TRY_LINK([#include ], - [char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; + [const char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; char ocb[5]; wchar_t wcb[5]; wchar_t wcb2[5]; @@ -331,12 +326,30 @@ AC_DEFUN([AM_MULTIBYTE_ABLE], fwide(0, 0); mbtowc(wcb, icb, MB_CUR_MAX); mbstowcs(wcb, icb, 5); - iswprint((wint_t) wcb[0]); - wcslen(wcb); - /* wcsnlen(wcb, 4); */ + (void) iswalnum((wint_t) wcb[0]); + (void) iswcntrl((wint_t) wcb[0]); + (void) iswdigit((wint_t) wcb[0]); + (void) iswgraph((wint_t) wcb[0]); + (void) iswprint((wint_t) wcb[0]); + (void) iswspace((wint_t) wcb[0]); + (void) towupper((wint_t) wcb[0]); + /* (void) iswupper((wint_t) wcb[0]); */ + /* (void) towlower((wint_t) wcb[0]); */ + /* (void) iswlower((wint_t) wcb[0]); */ + /* (void) iswalpha((wint_t) wcb[0]); */ + /* (void) iswblank((wint_t) wcb[0]); */ + /* (void) iswpunct((wint_t) wcb[0]); */ + /* (void) iswxdigit((wint_t) wcb[0]); */ + /* (void) iswctype((wint_t) wcb[0], wctype("print")); */ + /* (void) towctranse((wint_t) wcb[0], wctrans("toupper")); */ + (void) wcslen(wcb); + /* (void) wcsnlen(wcb, 4); */ wcwidth((wint_t) wcb[0]); wcswidth(wcb, 5); wcstombs(ocb, wcb, 5); + wctomb(ocb, wcb[0]); + wcscat(wcb2, wcb); + wcscpy(wcb2, wcb); mbstowcs(format, "%s", 2); swprintf(wcb, 5, format, "test"); wcsncat(wcb2, wcb, 5);], @@ -355,7 +368,7 @@ AC_DEFUN([AM_MULTIBYTE_ABLE], fi ]) dnl --------------------------------------------------------------------------- -dnl AM_PATH_PROG_WITH_TEST version: 5 updated: 2002/10/27 23:21:42 +dnl AM_PATH_PROG_WITH_TEST version: 8 updated: 2009/01/11 20:31:12 dnl ---------------------- dnl Inserted as requested by gettext 0.10.40 dnl File from /usr/share/aclocal @@ -384,16 +397,16 @@ set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in - /*) + [[\\/]*|?:[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then + if test -f $ac_dir/$ac_word$ac_exeext; then if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" + ac_cv_path_$1="$ac_dir/$ac_word$ac_exeext" break fi fi @@ -414,7 +427,7 @@ fi AC_SUBST($1)dnl ])dnl dnl --------------------------------------------------------------------------- -dnl AM_WITH_NLS version: 17 updated: 2004/01/23 19:52:21 +dnl AM_WITH_NLS version: 24 updated: 2010/06/20 09:24:28 dnl ----------- dnl Inserted as requested by gettext 0.10.40 dnl File from /usr/share/aclocal @@ -422,6 +435,11 @@ dnl gettext.m4 dnl ==================== dnl Macro to add for using GNU gettext. dnl Ulrich Drepper , 1995. +dnl ==================== +dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the +dnl range of locations searched. Retain the same cache-variable naming to +dnl allow reuse with the other gettext macros -Thomas E Dickey +dnl ==================== dnl dnl This file can be copied and used freely without restrictions. It can dnl be used in projects which are not available under the GNU General Public @@ -465,211 +483,202 @@ dnl but we keep it in order not to force dnl maintainers. dnl AC_DEFUN([AM_WITH_NLS], - [AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - ifelse([$4],,[ - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes)],[ - AC_ARG_ENABLE(nls, - [ --enable-nls use Native Language Support], - USE_NLS=$enableval, USE_NLS=no)]) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) - - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - INTLLIBS= - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - AC_DEFINE(ENABLE_NLS, 1, - [Define to 1 if translation of program messages to the user's native language - is requested.]) - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we have - dnl to fall back to GNU NLS library. - CATOBJEXT=NONE - - dnl Add a version number to the cache macros. - define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc]) - define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl]) - - AC_CHECK_HEADER(libintl.h, - [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, - [AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr;], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr], - gt_cv_func_gnugettext_libc=yes, - gt_cv_func_gnugettext_libc=no)]) - - if test "$gt_cv_func_gnugettext_libc" != "yes"; then - AC_CACHE_CHECK([for GNU gettext in libintl], - gt_cv_func_gnugettext_libintl, - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -lintl $LIBICONV" - AC_TRY_LINK([#include -extern int _nl_msg_cat_cntr;], - [bindtextdomain ("", ""); -return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr], - gt_cv_func_gnugettext_libintl=yes, - gt_cv_func_gnugettext_libintl=no) - LIBS="$gt_save_LIBS"]) - fi - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if test "$gt_cv_func_gnugettext_libc" = "yes" \ - || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ - && test "$PACKAGE" != gettext; }; then - AC_DEFINE(HAVE_GETTEXT, 1, - [Define if the GNU gettext() function is already present or preinstalled.]) - - if test "$gt_cv_func_gnugettext_libintl" = "yes"; then - dnl If iconv() is in a separate libiconv library, then anyone - dnl linking with libintl{.a,.so} also needs to link with - dnl libiconv. - INTLLIBS="-lintl $LIBICONV" - fi - - gt_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - AC_CHECK_FUNCS(dcgettext) - LIBS="$gt_save_LIBS" - - dnl Search for GNU msgfmt in the PATH. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - - dnl Search for GNU xgettext in the PATH. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) +[AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + ifelse([$4],,[ + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes)],[ + AC_ARG_ENABLE(nls, + [ --enable-nls use Native Language Support], + USE_NLS=$enableval, USE_NLS=no)]) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) + + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + INTLLIBS= + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + CATOBJEXT=NONE + + cf_save_LIBS_1="$LIBS" + CF_ADD_LIBS($LIBICONV) + AC_CACHE_CHECK([for libintl.h and gettext()], cf_cv_func_gettext,[ + CF_FIND_LINKAGE(CF__INTL_HEAD, + CF__INTL_BODY, + intl, + cf_cv_func_gettext=yes, + cf_cv_func_gettext=no) + ]) + LIBS="$cf_save_LIBS_1" + + if test "$cf_cv_func_gettext" = yes ; then + AC_DEFINE(HAVE_LIBINTL_H) + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if test "$PACKAGE" != gettext; then + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + + CF_ADD_INCDIR($cf_cv_header_path_intl) + + if test -n "$cf_cv_library_file_intl" ; then + dnl If iconv() is in a separate libiconv library, then anyone + dnl linking with libintl{.a,.so} also needs to link with + dnl libiconv. + INTLLIBS="$cf_cv_library_file_intl $LIBICONV" + CF_ADD_LIBDIR($cf_cv_library_path_intl,INTLLIBS) + fi - CATOBJEXT=.gmo - fi - ]) + gt_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + AC_CHECK_FUNCS(dcgettext) + LIBS="$gt_save_LIBS" + + dnl Search for GNU msgfmt in the PATH. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Search for GNU xgettext in the PATH. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) - if test "$CATOBJEXT" = "NONE"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on GNU gettext library. - nls_cv_use_gnu_gettext=yes + CATOBJEXT=.gmo fi fi - if test "$nls_cv_use_gnu_gettext" = "yes"; then - if test ! -d $srcdir/intl ; then - AC_MSG_ERROR(no NLS library is packaged with this application) - fi - dnl Mark actions used to generate GNU NLS library. - INTLOBJS="\$(GETTOBJS)" - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) - AC_SUBST(MSGFMT) - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + if test "$CATOBJEXT" = "NONE"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on GNU gettext library. + nls_cv_use_gnu_gettext=yes fi + fi - dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. - dnl Test whether we really found GNU msgfmt. - if test "$GMSGFMT" != ":"; then - dnl If it is no GNU msgfmt we define it as : so that the - dnl Makefiles still can work. - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then - : ; - else - AC_MSG_RESULT( - [found msgfmt program is not GNU msgfmt; ignore it]) - GMSGFMT=":" - fi + if test "$nls_cv_use_gnu_gettext" = "yes"; then + if test ! -d $srcdir/intl ; then + AC_MSG_ERROR(no NLS library is packaged with this application) fi + dnl Mark actions used to generate GNU NLS library. + INTLOBJS="\$(GETTOBJS)" + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) + AC_SUBST(MSGFMT) + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + CATOBJEXT=.gmo + INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi - dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is no GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then - : ; - else - AC_MSG_RESULT( - [found xgettext program is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then + : ; + else + AC_MSG_RESULT( + [found msgfmt program is not GNU msgfmt; ignore it]) + GMSGFMT=":" fi + fi - dnl We need to process the po/ directory. - POSUB=po + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi fi - AC_OUTPUT_COMMANDS( - [for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.inn. - case "$ac_file" in */[Mm]akefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - ac_base=`basename $ac_file .in` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base" - sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base" - fi - ;; + dnl We need to process the po/ directory. + POSUB=po + fi + + AC_OUTPUT_COMMANDS( + [for ac_file in $CONFIG_FILES; do + + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + + # PO directories have a Makefile.in generated from Makefile.inn. + case "$ac_file" in */[Mm]akefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + ac_base=`basename $ac_file .in` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac - done]) + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base" + sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base" + fi + ;; + esac + done]) - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext; then - BUILD_INCLUDED_LIBINTL=yes - fi + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext; then + BUILD_INCLUDED_LIBINTL=yes + fi - dnl intl/plural.c is generated from intl/plural.y. It requires bison, - dnl because plural.y uses bison specific features. It requires at least - dnl bison-1.26 because earlier versions generate a plural.c that doesn't - dnl compile. - dnl bison is only needed for the maintainer (who touches plural.y). But in - dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put - dnl the rule in general Makefile. Now, some people carelessly touch the - dnl files or have a broken "make" program, hence the plural.c rule will - dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not - dnl present or too old. - if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + if test "$nls_cv_use_gnu_gettext" = "yes"; then AC_CHECK_PROGS([INTLBISON], [bison]) if test -z "$INTLBISON"; then ac_verc_fail=yes @@ -685,50 +694,50 @@ changequote([,])dnl ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac - AC_MSG_RESULT([$ac_prog_version]) + AC_MSG_RESULT([$ac_prog_version]) fi if test $ac_verc_fail = yes; then INTLBISON=: fi - fi + fi - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.in. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done - dnl Make all variables we use known to autoconf. - AC_SUBST(BUILD_INCLUDED_LIBINTL) - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATALOGS) - AC_SUBST(CATOBJEXT) - AC_SUBST(GMOFILES) - AC_SUBST(INTLLIBS) - AC_SUBST(INTLOBJS) - AC_SUBST(POFILES) - AC_SUBST(POSUB) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST(DATADIRNAME) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST(INSTOBJEXT) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST(GENCAT) - ])dnl + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(GMOFILES) + AC_SUBST(INTLLIBS) + AC_SUBST(INTLOBJS) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) +])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_CFLAGS version: 7 updated: 2004/04/25 17:48:30 +dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42 dnl ------------- dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS dnl The second parameter if given makes this macro verbose. @@ -754,8 +763,8 @@ no) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes if test $cf_fix_cppflags = yes ; then cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" @@ -770,6 +779,12 @@ no) *$cf_add_cflags) #(vi ;; *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags) + ;; + esac cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" ;; esac @@ -785,24 +800,24 @@ yes) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no ;; esac done if test -n "$cf_new_cflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)]) + ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)]) CFLAGS="$CFLAGS $cf_new_cflags" fi if test -n "$cf_new_cppflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" + ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi if test -n "$cf_new_extra_cppflags" ; then - ifelse($2,,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)]) + ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)]) EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi @@ -810,51 +825,206 @@ AC_SUBST(EXTRA_CPPFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52 +dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57 dnl ------------- dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's dnl redundant. We don't normally need to add -I/usr/local/include for gcc, dnl but old versions (and some misinstalled ones) need that. To make things -dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to +dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to dnl the include-path). AC_DEFUN([CF_ADD_INCDIR], [ -for cf_add_incdir in $1 -do - while true +if test -n "$1" ; then + for cf_add_incdir in $1 + do + while test $cf_add_incdir != /usr/include do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then if test "$GCC" = yes then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - AC_TRY_COMPILE([#include ], - [printf("Hello")], - [], - [CPPFLAGS="$cf_save_CPPFLAGS"]) + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + AC_TRY_COMPILE([#include ], + [printf("Hello")], + [], + [cf_have_incdir=yes]) + CPPFLAGS=$cf_save_CPPFLAGS fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" + fi + fi + + if test "$cf_have_incdir" = no ; then + CF_VERBOSE(adding $cf_add_incdir to include-path) + ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi done + done +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05 +dnl ---------- +dnl Add a library, used to enforce consistency. +dnl +dnl $1 = library to add, without the "-l" +dnl $2 = variable to update (default $LIBS) +AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57 +dnl ------------- +dnl Adds to the library-path +dnl +dnl Some machines have trouble with multiple -L options. +dnl +dnl $1 is the (list of) directory(s) to add +dnl $2 is the optional name of the variable to update (default LDFLAGS) +dnl +AC_DEFUN([CF_ADD_LIBDIR], +[ +if test -n "$1" ; then + for cf_add_libdir in $1 + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + CF_VERBOSE(adding $cf_add_libdir to library-path) + ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])" + fi + fi + done +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ADD_LIBS version: 1 updated: 2010/06/02 05:03:05 +dnl ----------- +dnl Add one or more libraries, used to enforce consistency. +dnl +dnl $1 = libraries to add, with the "-l", etc. +dnl $2 = variable to update (default $LIBS) +AC_DEFUN([CF_ADD_LIBS],[ifelse($2,,LIBS,[$2])="$1 [$]ifelse($2,,LIBS,[$2])"])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ADD_LIB_AFTER version: 2 updated: 2010/11/08 20:33:46 +dnl ---------------- +dnl Add a given library after another, e.g., following the one it satisfies a +dnl dependency for. +dnl +dnl $1 = the first library +dnl $2 = its dependency +AC_DEFUN([CF_ADD_LIB_AFTER],[ +CF_VERBOSE(...before $LIBS) +LIBS=`echo "$LIBS" | sed -e "s/[[ ]][[ ]]*/ /g" -e "s,$1 ,$1 $2 ," -e 's/ / /g'` +CF_VERBOSE(...after $LIBS) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ADD_OPTIONAL_PATH version: 1 updated: 2007/07/29 12:33:33 +dnl -------------------- +dnl Add an optional search-path to the compile/link variables. +dnl See CF_WITH_PATH +dnl +dnl $1 = shell variable containing the result of --with-XXX=[DIR] +dnl $2 = module to look for. +AC_DEFUN([CF_ADD_OPTIONAL_PATH],[ + case "$1" in #(vi + no) #(vi + ;; + yes) #(vi + ;; + *) + CF_ADD_SEARCHPATH([$1], [AC_MSG_ERROR(cannot find $2 under $1)]) + ;; + esac +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ADD_SEARCHPATH version: 5 updated: 2009/01/11 20:40:21 +dnl ----------------- +dnl Set $CPPFLAGS and $LDFLAGS with the directories given via the parameter. +dnl They can be either the common root of include- and lib-directories, or the +dnl lib-directory (to allow for things like lib64 directories). +dnl See also CF_FIND_LINKAGE. +dnl +dnl $1 is the list of colon-separated directory names to search. +dnl $2 is the action to take if a parameter does not yield a directory. +AC_DEFUN([CF_ADD_SEARCHPATH], +[ +AC_REQUIRE([CF_PATHSEP]) +for cf_searchpath in `echo "$1" | tr $PATH_SEPARATOR ' '`; do + if test -d $cf_searchpath/include; then + CF_ADD_INCDIR($cf_searchpath/include) + elif test -d $cf_searchpath/../include ; then + CF_ADD_INCDIR($cf_searchpath/../include) + ifelse([$2],,,[else +$2]) + fi + if test -d $cf_searchpath/lib; then + CF_ADD_LIBDIR($cf_searchpath/lib) + elif test -d $cf_searchpath ; then + CF_ADD_LIBDIR($cf_searchpath) + ifelse([$2],,,[else +$2]) + fi done +]) +dnl --------------------------------------------------------------------------- +dnl CF_ADD_SUBDIR_PATH version: 3 updated: 2010/07/03 20:58:12 +dnl ------------------ +dnl Append to a search-list for a nonstandard header/lib-file +dnl $1 = the variable to return as result +dnl $2 = the package name +dnl $3 = the subdirectory, e.g., bin, include or lib +dnl $4 = the directory under which we will test for subdirectories +dnl $5 = a directory that we do not want $4 to match +AC_DEFUN([CF_ADD_SUBDIR_PATH], +[ +test "$4" != "$5" && \ +test -d "$4" && \ +ifelse([$5],NONE,,[(test $5 = NONE || test "$4" != "$5") &&]) { + test -n "$verbose" && echo " ... testing for $3-directories under $4" + test -d $4/$3 && $1="[$]$1 $4/$3" + test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2" + test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3" + test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3" + test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2" +} ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34 +dnl CF_ANSI_CC_CHECK version: 10 updated: 2010/10/23 15:52:32 dnl ---------------- dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES' dnl in the sharutils 4.2 distribution. AC_DEFUN([CF_ANSI_CC_CHECK], [ -AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[ +AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[ cf_cv_ansi_cc=no cf_save_CFLAGS="$CFLAGS" cf_save_CPPFLAGS="$CPPFLAGS" @@ -900,7 +1070,7 @@ fi fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44 +dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54 dnl --------------- dnl For programs that must use an ANSI compiler, obtain compiler options that dnl will make it recognize prototypes. We'll do preprocessor checks in other @@ -909,7 +1079,7 @@ dnl the preprocessor. AC_DEFUN([CF_ANSI_CC_REQD], [AC_REQUIRE([CF_ANSI_CC_CHECK]) if test "$cf_cv_ansi_cc" = "no"; then - AC_ERROR( + AC_MSG_ERROR( [Your compiler does not appear to recognize prototypes. You have the following choices: a. adjust your compiler options @@ -930,7 +1100,7 @@ dnl Allow user to enable a normally-off AC_DEFUN([CF_ARG_ENABLE], [CF_ARG_OPTION($1,[$2],[$3],[$4],no)])dnl dnl --------------------------------------------------------------------------- -dnl CF_ARG_OPTION version: 3 updated: 1997/10/18 14:42:41 +dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42 dnl ------------- dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus dnl values. @@ -942,18 +1112,18 @@ dnl $3 = action to perform if option is dnl $4 = action if perform if option is default dnl $5 = default option value (either 'yes' or 'no') AC_DEFUN([CF_ARG_OPTION], -[AC_ARG_ENABLE($1,[$2],[test "$enableval" != ifelse($5,no,yes,no) && enableval=ifelse($5,no,no,yes) +[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes) if test "$enableval" != "$5" ; then -ifelse($3,,[ :]dnl -,[ $3]) ifelse($4,,,[ +ifelse([$3],,[ :]dnl +,[ $3]) ifelse([$4],,,[ else $4]) - fi],[enableval=$5 ifelse($4,,,[ + fi],[enableval=$5 ifelse([$4],,,[ $4 ])dnl ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_ARG_WITH version: 3 updated: 2000/07/20 00:41:18 +dnl CF_ARG_WITH version: 4 updated: 2008/03/23 14:48:54 dnl ----------- dnl Restricted form of AC_ARG_WITH that requires user to specify a value dnl $1 = option name @@ -969,7 +1139,7 @@ ifelse($4,,[test -n "$withval" && \ ])dnl case "$withval" in #(vi yes) - AC_ERROR(expected a value for --with-$1) + AC_MSG_ERROR(expected a value for --with-$1) ;; #(vi no) withval="" ;; @@ -977,7 +1147,60 @@ esac $3="$withval" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_BUILD_CC version: 5 updated: 2005/09/24 17:55:52 +dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29 +dnl ----------- +dnl Check for suitable "ar" (archiver) options for updating an archive. +AC_DEFUN([CF_AR_FLAGS],[ +AC_REQUIRE([CF_PROG_AR]) + +AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[ + cf_cv_ar_flags=unknown + for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv + do + + # check if $ARFLAGS already contains this choice + if test "x$ARFLAGS" != "x" ; then + cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"` + if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then + cf_cv_ar_flags= + break + fi + fi + + rm -f conftest.$ac_cv_objext + rm -f conftest.a + + cat >conftest.$ac_ext <&AC_FD_CC + $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null + if test -f conftest.a ; then + cf_cv_ar_flags=$cf_ar_flags + break + fi + else + CF_VERBOSE(cannot compile test-program) + break + fi + done + rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext +]) + +if test -n "$ARFLAGS" ; then + if test -n "$cf_cv_ar_flags" ; then + ARFLAGS="$ARFLAGS $cf_cv_ar_flags" + fi +else + ARFLAGS=$cf_cv_ar_flags +fi + +AC_SUBST(ARFLAGS) +]) +dnl --------------------------------------------------------------------------- +dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15 dnl ----------- dnl If we're cross-compiling, allow the user to override the tools and their dnl options. The configure script is oriented toward identifying the host @@ -1009,7 +1232,7 @@ if test "$cross_compiling" = yes ; then AC_ARG_WITH(build-cpp, [ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)], [BUILD_CPP="$withval"], - [BUILD_CPP='$(BUILD_CC) -E']) + [BUILD_CPP='${BUILD_CC} -E']) AC_MSG_RESULT($BUILD_CPP) AC_MSG_CHECKING(for native build C flags) @@ -1032,7 +1255,7 @@ if test "$cross_compiling" = yes ; then AC_MSG_CHECKING(for native build linker-libraries) AC_ARG_WITH(build-libs, - [ --with-build-libs=XXX the build libraries ($(BUILD_LIBS)], + [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})], [BUILD_LIBS="$withval"]) AC_MSG_RESULT($BUILD_LIBS) @@ -1040,20 +1263,20 @@ if test "$cross_compiling" = yes ; then BUILD_EXEEXT= BUILD_OBJEXT=o - : ${BUILD_CC:='$(CC)'} + : ${BUILD_CC:='${CC}'} - if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '$(CC)' ) ; then + if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then AC_MSG_ERROR([Cross-build requires two compilers. Use --with-build-cc to specify the native compiler.]) fi else - : ${BUILD_CC:='$(CC)'} - : ${BUILD_CPP:='$(CPP)'} - : ${BUILD_CFLAGS:='$(CFLAGS)'} - : ${BUILD_CPPFLAGS:='$(CPPFLAGS)'} - : ${BUILD_LDFLAGS:='$(LDFLAGS)'} - : ${BUILD_LIBS:='$(LIBS)'} + : ${BUILD_CC:='${CC}'} + : ${BUILD_CPP:='${CPP}'} + : ${BUILD_CFLAGS:='${CFLAGS}'} + : ${BUILD_CPPFLAGS:='${CPPFLAGS}'} + : ${BUILD_LDFLAGS:='${LDFLAGS}'} + : ${BUILD_LIBS:='${LIBS}'} : ${BUILD_EXEEXT:='$x'} : ${BUILD_OBJEXT:='o'} fi @@ -1068,7 +1291,7 @@ AC_SUBST(BUILD_EXEEXT) AC_SUBST(BUILD_OBJEXT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_BUNDLED_INTL version: 12 updated: 2005/06/21 18:24:28 +dnl CF_BUNDLED_INTL version: 16 updated: 2010/10/23 15:55:05 dnl --------------- dnl Top-level macro for configuring an application with a bundled copy of dnl the intl and po directories for gettext. @@ -1077,15 +1300,20 @@ dnl $1 specifies either Makefile or make dnl $2 if nonempty sets the option to --enable-nls rather than to --disable-nls dnl dnl Sets variables which can be used to substitute in makefiles: +dnl GT_YES - "#" comment unless building intl library, otherwise empty +dnl GT_NO - "#" comment if building intl library, otherwise empty dnl INTLDIR_MAKE - to make ./intl directory dnl MSG_DIR_MAKE - to make ./po directory dnl SUB_MAKEFILE - list of makefiles in ./intl, ./po directories -dnl Defines +dnl +dnl Defines: dnl HAVE_LIBGETTEXT_H if we're using ./intl +dnl NLS_TEXTDOMAIN dnl dnl Environment: dnl ALL_LINGUAS if set, lists the root names of the ".po" files. dnl CONFIG_H assumed to be "config.h" +dnl PACKAGE must be set, used as default for textdomain dnl VERSION may be set, otherwise extract from "VERSION" file. dnl AC_DEFUN([CF_BUNDLED_INTL],[ @@ -1097,9 +1325,13 @@ dnl rather than $LC_ALL test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'` # Allow override of "config.h" definition: -: ${CONFIG_H=config.h} +: ${CONFIG_H:=config.h} AC_SUBST(CONFIG_H) +if test -z "$PACKAGE" ; then + AC_MSG_ERROR([[CF_BUNDLED_INTL] used without setting [PACKAGE] variable]) +fi + if test -z "$VERSION" ; then if test -f $srcdir/VERSION ; then VERSION=`sed -e '2,$d' $srcdir/VERSION|cut -f1` @@ -1111,6 +1343,15 @@ AC_SUBST(VERSION) AM_GNU_GETTEXT(,,,[$2]) +if test "$USE_NLS" = yes ; then + AC_ARG_WITH(textdomain, + [ --with-textdomain=PKG NLS text-domain (default is package name)], + [NLS_TEXTDOMAIN=$withval], + [NLS_TEXTDOMAIN=$PACKAGE]) + AC_DEFINE_UNQUOTED(NLS_TEXTDOMAIN,"$NLS_TEXTDOMAIN") + AC_SUBST(NLS_TEXTDOMAIN) +fi + INTLDIR_MAKE= MSG_DIR_MAKE= SUB_MAKEFILE= @@ -1146,7 +1387,7 @@ else fi if test -z "$INTLDIR_MAKE" ; then - CPPFLAGS="-I../intl $CPPFLAGS" + CPPFLAGS="$CPPFLAGS -I../intl" fi dnl FIXME: we use this in lynx (the alternative is a spurious dependency upon @@ -1180,7 +1421,7 @@ if test "$USE_INCLUDED_LIBINTL" = yes ; fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_BUNDLED_PCRE version: 3 updated: 2002/04/17 21:09:56 +dnl CF_BUNDLED_PCRE version: 4 updated: 2009/12/24 04:20:51 dnl --------------- dnl Top-level macro for configuring an application with a bundled copy of dnl the pcre library. @@ -1195,7 +1436,7 @@ PCREDIR_CPPFLAGS= case .$cf_pcre_home in #(vi .no) #(vi # setup to compile the bundled PCRE: - . $srcdir/pcre/version.sh +# . $srcdir/pcre/version.sh AC_SUBST(PCRE_MAJOR) AC_SUBST(PCRE_MINOR) AC_SUBST(PCRE_DATE) @@ -1259,7 +1500,7 @@ AC_MSG_RESULT($cf_result) test $cf_result = yes && AC_DEFINE_UNQUOTED(DECL_$2) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CACHE version: 10 updated: 2004/05/23 13:03:31 +dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59 dnl -------------- dnl Check if we're accidentally using a cache from a different machine. dnl Derive the system name, as a check for reusing the autoconf cache. @@ -1290,7 +1531,7 @@ test -n "$cf_cv_system_name" && AC_MSG_R if test ".$system_name" != ".$cf_cv_system_name" ; then AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)) - AC_ERROR("Please remove config.cache and try again.") + AC_MSG_ERROR("Please remove config.cache and try again.") fi ])dnl dnl --------------------------------------------------------------------------- @@ -1326,13 +1567,14 @@ CF_CHECK_1_DECL(${ac_func}, ${ac_tr_func done ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23 +dnl CF_CHECK_ERRNO version: 11 updated: 2010/05/26 05:38:42 dnl -------------- dnl Check for data that is usually declared in or , e.g., dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it dnl ourselves. dnl dnl $1 = the name to check +dnl $2 = the assumed type AC_DEFUN([CF_CHECK_ERRNO], [ AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[ @@ -1343,7 +1585,7 @@ AC_CACHE_CHECK(if external $1 is declare #include #include #include ], - [long x = (long) $1], + ifelse([$2],,int,[$2]) x = (ifelse([$2],,int,[$2])) $1, [cf_cv_dcl_$1=yes], [cf_cv_dcl_$1=no]) ]) @@ -1354,7 +1596,7 @@ if test "$cf_cv_dcl_$1" = no ; then fi # It's possible (for near-UNIX clones) that the data doesn't exist -CF_CHECK_EXTERN_DATA($1,int) +CF_CHECK_EXTERN_DATA($1,ifelse([$2],,int,[$2])) ])dnl dnl --------------------------------------------------------------------------- dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23 @@ -1445,7 +1687,7 @@ AC_MSG_RESULT($cf_cv_nested_params) test $cf_cv_nested_params = yes && AC_DEFINE(HAVE_NESTED_PARAMS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_COLOR_CURSES version: 6 updated: 2002/10/27 18:21:42 +dnl CF_COLOR_CURSES version: 7 updated: 2010/10/23 15:54:49 dnl --------------- dnl Check if curses supports color. (Note that while SVr3 curses supports dnl color, it does this differently from SVr4 curses; more work would be needed @@ -1456,7 +1698,7 @@ AC_DEFUN([CF_COLOR_CURSES], AC_MSG_CHECKING(if curses supports color attributes) AC_CACHE_VAL(cf_cv_color_curses,[ AC_TRY_LINK([ -#include <${cf_cv_ncurses_header-curses.h}> +#include <${cf_cv_ncurses_header:-curses.h}> ], [chtype x = COLOR_BLUE; has_colors(); @@ -1501,7 +1743,7 @@ else fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_COREFILE version: 2 updated: 1997/08/28 23:57:55 +dnl CF_COREFILE version: 4 updated: 2010/10/23 15:52:32 dnl ----------- dnl Check if the application can dump core (for debugging). AC_DEFUN([CF_COREFILE], @@ -1526,13 +1768,13 @@ int main() /* Nicholas d'Alterio (nagd@ic.ac.uk) reports that the check for ability to * core dump causes the machine to crash - reason unknown (gcc 2.7.2) */ - exit(1); + ${cf_cv_main_return:-return}(1); #else int pid, status; if (found()) unlink("core"); if (found()) - exit(1); + ${cf_cv_main_return:-return}(1); if ((pid = fork()) != 0) { while (wait(&status) <= 0) ; @@ -1541,9 +1783,9 @@ int main() } if (found()) { unlink("core"); - exit(0); + ${cf_cv_main_return:-return}(0); } - exit(1); + ${cf_cv_main_return:-return}(1); #endif }], [cf_cv_corefile=yes], @@ -1587,7 +1829,19 @@ AC_MSG_RESULT($cf_cv_cpp_expands) test $cf_cv_cpp_expands = yes && AC_DEFINE(CPP_DOES_EXPAND) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CPPFLAGS version: 7 updated: 2003/06/06 00:48:41 +dnl CF_CURSES_CONFIG version: 2 updated: 2006/10/29 11:06:27 +dnl ---------------- +dnl Tie together the configure-script macros for curses. It may be ncurses, +dnl but unless asked, we do not make a special search for ncurses. However, +dnl still check for the ncurses version number, for use in other macros. +AC_DEFUN([CF_CURSES_CONFIG], +[ +CF_CURSES_CPPFLAGS +CF_NCURSES_VERSION +CF_CURSES_LIBS +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CURSES_CPPFLAGS version: 11 updated: 2011/04/09 14:51:08 dnl ------------------ dnl Look for the curses headers. AC_DEFUN([CF_CURSES_CPPFLAGS],[ @@ -1595,26 +1849,43 @@ AC_DEFUN([CF_CURSES_CPPFLAGS],[ AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[ cf_cv_curses_incdir=no case $host_os in #(vi -hpux10.*|hpux11.*) #(vi - test -d /usr/include/curses_colr && \ - cf_cv_curses_incdir="-I/usr/include/curses_colr" +hpux10.*) #(vi + if test "x$cf_cv_screen" = "xcurses_colr" + then + test -d /usr/include/curses_colr && \ + cf_cv_curses_incdir="-I/usr/include/curses_colr" + fi ;; sunos3*|sunos4*) - test -d /usr/5lib && \ - test -d /usr/5include && \ - cf_cv_curses_incdir="-I/usr/5include" + if test "x$cf_cv_screen" = "xcurses_5lib" + then + test -d /usr/5lib && \ + test -d /usr/5include && \ + cf_cv_curses_incdir="-I/usr/5include" + fi ;; esac ]) -test "$cf_cv_curses_incdir" != no && CPPFLAGS="$cf_cv_curses_incdir $CPPFLAGS" +test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir" +CF_CURSES_HEADER +CF_TERM_HEADER +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16 +dnl ---------------- +dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common +dnl variations of ncurses' installs. +dnl +dnl $1 = ncurses when looking for ncurses, or is empty +AC_DEFUN([CF_CURSES_HEADER],[ AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ cf_cv_ncurses_header=none -for cf_header in \ - curses.h \ +for cf_header in ifelse($1,,,[ \ + $1/ncurses.h \ + $1/curses.h]) \ ncurses.h \ - ncurses/curses.h \ - ncurses/ncurses.h + curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h]) do AC_TRY_COMPILE([#include <${cf_header}>], [initscr(); tgoto("?", 0,0)], @@ -1628,10 +1899,9 @@ fi # cheat, to get the right #define's for HAVE_NCURSES_H, etc. AC_CHECK_HEADERS($cf_cv_ncurses_header) - ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 23 updated: 2003/11/06 19:59:57 +dnl CF_CURSES_LIBS version: 34 updated: 2011/04/09 14:51:08 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -1639,93 +1909,117 @@ AC_DEFUN([CF_CURSES_LIBS],[ AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl AC_MSG_CHECKING(if we have identified curses libraries) -AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr(); tgoto("?", 0,0)], - cf_result=yes, - cf_result=no) +AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], + [initscr(); tgoto("?", 0,0)], + cf_result=yes, + cf_result=no) AC_MSG_RESULT($cf_result) if test "$cf_result" = no ; then case $host_os in #(vi freebsd*) #(vi - AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"]) - ;; -hpux10.*|hpux11.*) #(vi - AC_CHECK_LIB(cur_colr,initscr,[ - LIBS="-lcur_colr $LIBS" - ac_cv_func_initscr=yes - ],[ - AC_CHECK_LIB(Hcurses,initscr,[ - # HP's header uses __HP_CURSES, but user claims _HP_CURSES. - LIBS="-lHcurses $LIBS" - CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS" - ac_cv_func_initscr=yes - ])]) - ;; -linux*) # Suse Linux does not follow /usr/lib convention - LIBS="$LIBS -L/lib" - ;; + AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)]) + ;; +hpux10.*) #(vi + # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr + # next (1998), and xcurses "newer" (2000). There is no header file for + # Hcurses; the subdirectory curses_colr has the headers (curses.h and + # term.h) for cur_colr + if test "x$cf_cv_screen" = "xcurses_colr" + then + AC_CHECK_LIB(cur_colr,initscr,[ + CF_ADD_LIBS(-lcur_colr) + ac_cv_func_initscr=yes + ],[ + AC_CHECK_LIB(Hcurses,initscr,[ + # HP's header uses __HP_CURSES, but user claims _HP_CURSES. + CF_ADD_LIBS(-lHcurses) + CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES" + ac_cv_func_initscr=yes + ])]) + fi + ;; +linux*) + case `arch 2>/dev/null` in + x86_64) + if test -d /lib64 + then + CF_ADD_LIBDIR(/lib64) + else + CF_ADD_LIBDIR(/lib) + fi + ;; + *) + CF_ADD_LIBDIR(/lib) + ;; + esac + ;; sunos3*|sunos4*) - test -d /usr/5lib && \ - LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap" - ac_cv_func_initscr=yes - ;; + if test "x$cf_cv_screen" = "xcurses_5lib" + then + if test -d /usr/5lib ; then + CF_ADD_LIBDIR(/usr/5lib) + CF_ADD_LIBS(-lcurses -ltermcap) + fi + fi + ac_cv_func_initscr=yes + ;; esac if test ".$ac_cv_func_initscr" != .yes ; then - cf_save_LIBS="$LIBS" - cf_term_lib="" - cf_curs_lib="" - - if test ".${cf_cv_ncurses_version-no}" != .no - then - cf_check_list="ncurses curses cursesX" - else - cf_check_list="cursesX curses ncurses" - fi + cf_save_LIBS="$LIBS" + cf_term_lib="" + cf_curs_lib="" + + if test ".${cf_cv_ncurses_version:-no}" != .no + then + cf_check_list="ncurses curses cursesX" + else + cf_check_list="cursesX curses ncurses" + fi - # Check for library containing tgoto. Do this before curses library - # because it may be needed to link the test-case for initscr. - AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ - for cf_term_lib in $cf_check_list termcap termlib unknown - do - AC_CHECK_LIB($cf_term_lib,tgoto,[break]) - done - ]) + # Check for library containing tgoto. Do this before curses library + # because it may be needed to link the test-case for initscr. + AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ + for cf_term_lib in $cf_check_list termcap termlib unknown + do + AC_CHECK_LIB($cf_term_lib,tgoto,[break]) + done + ]) - # Check for library containing initscr - test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" - for cf_curs_lib in $cf_check_list xcurses jcurses unknown - do - AC_CHECK_LIB($cf_curs_lib,initscr,[break]) - done - test $cf_curs_lib = unknown && AC_ERROR(no curses library found) + # Check for library containing initscr + test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" + for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown + do + AC_CHECK_LIB($cf_curs_lib,initscr,[break]) + done + test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found) - LIBS="-l$cf_curs_lib $cf_save_LIBS" - if test "$cf_term_lib" = unknown ; then - AC_MSG_CHECKING(if we can link with $cf_curs_lib library) - AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr()], - [cf_result=yes], - [cf_result=no]) - AC_MSG_RESULT($cf_result) - test $cf_result = no && AC_ERROR(Cannot link curses library) - elif test "$cf_curs_lib" = "$cf_term_lib" ; then - : - elif test "$cf_term_lib" != predefined ; then - AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries) - AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr(); tgoto((char *)0, 0, 0);], - [cf_result=no], - [ - LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" - AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], - [initscr()], - [cf_result=yes], - [cf_result=error]) - ]) - AC_MSG_RESULT($cf_result) - fi + LIBS="-l$cf_curs_lib $cf_save_LIBS" + if test "$cf_term_lib" = unknown ; then + AC_MSG_CHECKING(if we can link with $cf_curs_lib library) + AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], + [initscr()], + [cf_result=yes], + [cf_result=no]) + AC_MSG_RESULT($cf_result) + test $cf_result = no && AC_MSG_ERROR(Cannot link curses library) + elif test "$cf_curs_lib" = "$cf_term_lib" ; then + : + elif test "$cf_term_lib" != predefined ; then + AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries) + AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], + [initscr(); tgoto((char *)0, 0, 0);], + [cf_result=no], + [ + LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" + AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], + [initscr()], + [cf_result=yes], + [cf_result=error]) + ]) + AC_MSG_RESULT($cf_result) + fi fi fi @@ -1815,7 +2109,7 @@ esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_TERM_H version: 6 updated: 2003/11/06 19:59:57 +dnl CF_CURSES_TERM_H version: 9 updated: 2011/04/09 18:19:55 dnl ---------------- dnl SVr4 curses should have term.h as well (where it puts the definitions of dnl the low-level interface). This may not be true in old/broken implementations, @@ -1823,30 +2117,60 @@ dnl as well as in misconfigured systems dnl running with Solaris 2.5.1). AC_DEFUN([CF_CURSES_TERM_H], [ +AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl + AC_CACHE_CHECK(for term.h, cf_cv_term_header,[ -AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl # If we found , look for , but always look # for if we do not find the variant. -for cf_header in \ - `echo ${cf_cv_ncurses_header-curses.h} | sed -e 's%/.*%/%'`term.h \ - term.h + +cf_header_list="term.h ncurses/term.h ncursesw/term.h" + +case ${cf_cv_ncurses_header:-curses.h} in #(vi +*/*) + cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h + cf_header_list="$cf_header_item $cf_header_list" + ;; +esac + +for cf_header in $cf_header_list do AC_TRY_COMPILE([ -#include <${cf_cv_ncurses_header-curses.h}> +#include <${cf_cv_ncurses_header:-curses.h}> #include <${cf_header}>], [WINDOW *x], [cf_cv_term_header=$cf_header break], [cf_cv_term_header=no]) done + +case $cf_cv_term_header in #(vi +no) + # If curses is ncurses, some packagers still mess it up by trying to make + # us use GNU termcap. This handles the most common case. + for cf_header in ncurses/term.h ncursesw/term.h + do + AC_TRY_COMPILE([ +#include <${cf_cv_ncurses_header:-curses.h}> +#ifdef NCURSES_VERSION +#include <${cf_header}> +#else +make an error +#endif], + [WINDOW *x], + [cf_cv_term_header=$cf_header + break], + [cf_cv_term_header=no]) + done + ;; +esac ]) case $cf_cv_term_header in #(vi term.h) #(vi AC_DEFINE(HAVE_TERM_H) ;; -ncurses/term.h) +ncurses/term.h) #(vi AC_DEFINE(HAVE_NCURSES_TERM_H) ;; ncursesw/term.h) @@ -1955,7 +2279,7 @@ dnl ---------- dnl "dirname" is not portable, so we fake it with a shell script. AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_ECHO version: 10 updated: 2003/04/17 22:27:11 +dnl CF_DISABLE_ECHO version: 11 updated: 2009/12/13 13:16:57 dnl --------------- dnl You can always use "make -n" to see the actual options, but it's hard to dnl pick out/analyze warning messages when the compile-line is long. @@ -1974,14 +2298,14 @@ CF_ARG_DISABLE(echo, [ ECHO_LT='--silent' ECHO_LD='@echo linking [$]@;' - RULE_CC=' @echo compiling [$]<' - SHOW_CC=' @echo compiling [$]@' + RULE_CC='@echo compiling [$]<' + SHOW_CC='@echo compiling [$]@' ECHO_CC='@' ],[ ECHO_LT='' ECHO_LD='' - RULE_CC='# compiling' - SHOW_CC='# compiling' + RULE_CC='' + SHOW_CC='' ECHO_CC='' ]) AC_MSG_RESULT($enableval) @@ -2000,7 +2324,39 @@ AC_DEFUN([CF_ERRNO], CF_CHECK_ERRNO(errno) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FIND_IPV6_LIBS version: 6 updated: 2002/11/09 09:05:18 +dnl CF_FIND_HEADER version: 2 updated: 2007/07/29 11:32:00 +dnl -------------- +dnl Find a header file, searching for it if it is not already in the include +dnl path. +dnl +dnl $1 = the header filename +dnl $2 = the package name +dnl $3 = action to perform if successful +dnl $4 = action to perform if not successful +AC_DEFUN([CF_FIND_HEADER],[ +AC_CHECK_HEADER([$1], + cf_find_header=yes,[ + cf_find_header=no +CF_HEADER_PATH(cf_search,$2) +for cf_incdir in $cf_search +do + if test -f $cf_incdir/$1 ; then + CF_ADD_INCDIR($cf_incdir) + CF_VERBOSE(... found in $cf_incdir) + cf_find_header=yes + break + fi + CF_VERBOSE(... tested $cf_incdir) +done +]) +if test "$cf_find_header" = yes ; then +ifelse([$3],,:,[$3]) +ifelse([$4],,,[else +$4]) +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_FIND_IPV6_LIBS version: 7 updated: 2007/07/29 13:35:20 dnl ----------------- dnl Based on the IPV6 stack type, look for the corresponding library. AC_DEFUN([CF_FIND_IPV6_LIBS],[ @@ -2056,7 +2412,7 @@ if test "$cf_ipv6lib" != "none"; then cf_header=$cf_incdir/netinet/ip6.h if test -f $cf_header then - CPPFLAGS="$CPPFLAGS -I$cf_incdir" + CF_ADD_INCDIR($cf_incdir) test -n "$verbose" && echo " ... found $cf_header" 1>&AC_FD_MSG break fi @@ -2161,7 +2517,7 @@ done ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FIND_LIBRARY version: 8 updated: 2004/11/23 20:14:58 +dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54 dnl --------------- dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We dnl prefer a standard location, and use -L options only if we do not find the @@ -2206,30 +2562,160 @@ AC_DEFUN([CF_FIND_LIBRARY], eval 'cf_found_library=[$]cf_cv_have_lib_'$1 ifelse($6,,[ if test $cf_found_library = no ; then - AC_ERROR(Cannot link $1 library) + AC_MSG_ERROR(Cannot link $1 library) fi ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FIX_SLASHES version: 2 updated: 2001/05/27 21:36:02 -dnl -------------- -dnl OS/2 and Cygwin ports may pick up backslashes in pathnames, which are not -dnl usable in quoted strings. Fix them. -dnl $1=fixed($2) -AC_DEFUN([CF_FIX_SLASHES], -[ -case $cf_cv_system_name in #(vi -os2*|cygwin*) - $1=`echo "[$]$1" | sed -e 's%\\\\%/%g'` - ;; -esac -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_FUNC_ALLOCA version: 1 updated: 2005/06/29 04:28:43 -dnl -------------- -dnl workaround for bison 1.875c (compound breakage in Linux stdlib.h and -dnl bison's output make bison try to use alloca()). -AC_DEFUN([CF_FUNC_ALLOCA], +dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02 +dnl --------------- +dnl Find a library (specifically the linkage used in the code fragment), +dnl searching for it if it is not already in the library path. +dnl See also CF_ADD_SEARCHPATH. +dnl +dnl Parameters (4-on are optional): +dnl $1 = headers for library entrypoint +dnl $2 = code fragment for library entrypoint +dnl $3 = the library name without the "-l" option or ".so" suffix. +dnl $4 = action to perform if successful (default: update CPPFLAGS, etc) +dnl $5 = action to perform if not successful +dnl $6 = module name, if not the same as the library name +dnl $7 = extra libraries +dnl +dnl Sets these variables: +dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found +dnl $cf_cv_header_path_$3 - include-directory if needed +dnl $cf_cv_library_path_$3 - library-directory if needed +dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3 +AC_DEFUN([CF_FIND_LINKAGE],[ + +# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these +# will be set on completion of the AC_TRY_LINK below. +cf_cv_header_path_$3= +cf_cv_library_path_$3= + +CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)]) + +cf_save_LIBS="$LIBS" + +AC_TRY_LINK([$1],[$2],[ + cf_cv_find_linkage_$3=yes + cf_cv_header_path_$3=/usr/include + cf_cv_library_path_$3=/usr/lib +],[ + +LIBS="-l$3 $7 $cf_save_LIBS" + +AC_TRY_LINK([$1],[$2],[ + cf_cv_find_linkage_$3=yes + cf_cv_header_path_$3=/usr/include + cf_cv_library_path_$3=/usr/lib + cf_cv_library_file_$3="-l$3" +],[ + cf_cv_find_linkage_$3=no + LIBS="$cf_save_LIBS" + + CF_VERBOSE(find linkage for $3 library) + CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)]) + + cf_save_CPPFLAGS="$CPPFLAGS" + cf_test_CPPFLAGS="$CPPFLAGS" + + CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6])) + for cf_cv_header_path_$3 in $cf_search + do + if test -d $cf_cv_header_path_$3 ; then + CF_VERBOSE(... testing $cf_cv_header_path_$3) + CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3" + AC_TRY_COMPILE([$1],[$2],[ + CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3) + cf_cv_find_linkage_$3=maybe + cf_test_CPPFLAGS="$CPPFLAGS" + break],[ + CPPFLAGS="$cf_save_CPPFLAGS" + ]) + fi + done + + if test "$cf_cv_find_linkage_$3" = maybe ; then + + CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)]) + + cf_save_LIBS="$LIBS" + cf_save_LDFLAGS="$LDFLAGS" + + ifelse([$6],,,[ + CPPFLAGS="$cf_test_CPPFLAGS" + LIBS="-l$3 $7 $cf_save_LIBS" + AC_TRY_LINK([$1],[$2],[ + CF_VERBOSE(... found $3 library in system) + cf_cv_find_linkage_$3=yes]) + CPPFLAGS="$cf_save_CPPFLAGS" + LIBS="$cf_save_LIBS" + ]) + + if test "$cf_cv_find_linkage_$3" != yes ; then + CF_LIBRARY_PATH(cf_search,$3) + for cf_cv_library_path_$3 in $cf_search + do + if test -d $cf_cv_library_path_$3 ; then + CF_VERBOSE(... testing $cf_cv_library_path_$3) + CPPFLAGS="$cf_test_CPPFLAGS" + LIBS="-l$3 $7 $cf_save_LIBS" + LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3" + AC_TRY_LINK([$1],[$2],[ + CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3) + cf_cv_find_linkage_$3=yes + cf_cv_library_file_$3="-l$3" + break],[ + CPPFLAGS="$cf_save_CPPFLAGS" + LIBS="$cf_save_LIBS" + LDFLAGS="$cf_save_LDFLAGS" + ]) + fi + done + CPPFLAGS="$cf_save_CPPFLAGS" + LDFLAGS="$cf_save_LDFLAGS" + fi + + else + cf_cv_find_linkage_$3=no + fi + ],$7) +]) + +LIBS="$cf_save_LIBS" + +if test "$cf_cv_find_linkage_$3" = yes ; then +ifelse([$4],,[ + CF_ADD_INCDIR($cf_cv_header_path_$3) + CF_ADD_LIBDIR($cf_cv_library_path_$3) + CF_ADD_LIB($3) +],[$4]) +else +ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5]) +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_FIX_SLASHES version: 2 updated: 2001/05/27 21:36:02 +dnl -------------- +dnl OS/2 and Cygwin ports may pick up backslashes in pathnames, which are not +dnl usable in quoted strings. Fix them. +dnl $1=fixed($2) +AC_DEFUN([CF_FIX_SLASHES], +[ +case $cf_cv_system_name in #(vi +os2*|cygwin*) + $1=`echo "[$]$1" | sed -e 's%\\\\%/%g'` + ;; +esac +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_FUNC_ALLOCA version: 2 updated: 2009/01/06 19:35:17 +dnl -------------- +dnl workaround for bison 1.875c (compound breakage in Linux stdlib.h and +dnl bison's output make bison try to use alloca()). +AC_DEFUN([CF_FUNC_ALLOCA], [ AC_FUNC_ALLOCA @@ -2238,17 +2724,17 @@ linux*|gnu*) # workaround for bison 1.875c (compound breakage in Linux stdlib.h # and bison's output make bison try to use alloca()). if test -z "$GCC" ; then - CPPFLAGS="-DYYSTACK_USE_ALLOCA=0 $CPPFLAGS" + CPPFLAGS="$CPPFLAGS -DYYSTACK_USE_ALLOCA=0" ALLOCA="" elif test "$INTEL_COMPILER" = yes ; then - CPPFLAGS="-DYYSTACK_USE_ALLOCA=0 $CPPFLAGS" + CPPFLAGS="$CPPFLAGS -DYYSTACK_USE_ALLOCA=0" ALLOCA="" fi ;; esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_FORK version: 2 updated: 1997/08/28 23:57:55 +dnl CF_FUNC_FORK version: 4 updated: 2010/10/23 15:52:32 dnl ------------ dnl Check if 'fork()' is available, and working. Amiga (and possibly other dnl machines) have a non-working 'fork()' entrypoint. @@ -2259,8 +2745,8 @@ AC_TRY_RUN([ int main() { if (fork() < 0) - exit(1); - exit(0); + ${cf_cv_main_return:-return}(1); + ${cf_cv_main_return:-return}(0); }], [cf_cv_func_fork=yes], [cf_cv_func_fork=no], [cf_cv_func_fork=unknown]) @@ -2269,7 +2755,7 @@ AC_MSG_RESULT($cf_cv_func_fork) test $cf_cv_func_fork = yes && AC_DEFINE(HAVE_FORK) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_GETADDRINFO version: 5 updated: 2000/09/28 06:18:08 +dnl CF_FUNC_GETADDRINFO version: 7 updated: 2010/10/23 15:52:32 dnl ------------------- dnl Look for a working version of getaddrinfo(), for IPV6 support. AC_DEFUN([CF_FUNC_GETADDRINFO],[ @@ -2342,12 +2828,12 @@ int main() if (aitop) freeaddrinfo(aitop); - exit(0); + ${cf_cv_main_return:-return}(0); bad: if (aitop) freeaddrinfo(aitop); - exit(1); + ${cf_cv_main_return:-return}(1); } ], [cf_cv_getaddrinfo=yes], @@ -2360,7 +2846,7 @@ if test "$cf_cv_getaddrinfo" = yes ; the fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52 +dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30 dnl --------------- dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither dnl is found, add our own version of memmove to the list of objects. @@ -2376,7 +2862,7 @@ int main() { bcopy(data, temp, sizeof(data)); bcopy(temp+10, temp, 15); bcopy(temp+5, temp+15, 10); - exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz")); + ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz")); } ], [cf_cv_good_bcopy=yes], @@ -2391,7 +2877,7 @@ int main() { fi ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_SYSTEM version: 3 updated: 1997/10/22 22:02:10 +dnl CF_FUNC_SYSTEM version: 5 updated: 2010/10/23 15:52:32 dnl -------------- dnl Check if the 'system()' function returns a usable status, or if not, try dnl to use the status returned by a SIGCHLD. @@ -2417,7 +2903,7 @@ RETSIGTYPE signal_handler (int sig) int system_status; wait (&wait_status); system_status = WEXITSTATUS(wait_status); /* should be nonzero */ - exit(system_status != 23); + ${cf_cv_main_return:-return}(system_status != 23); } int main() @@ -2427,12 +2913,12 @@ int main() */ signal (SIGCHLD, signal_handler); system("exit 23"); - exit(1); + ${cf_cv_main_return:-return}(1); } ], [cf_cv_system_status=no], [AC_TRY_RUN( - [int main() { exit(system("exit 23") != (23 << 8)); }], + [int main() { ${cf_cv_main_return:-return}(system("exit 23") != (23 << 8)); }], [cf_cv_system_status=yes], [cf_cv_system_status=unknown], [cf_cv_system_status=unknown])], @@ -2442,7 +2928,7 @@ AC_MSG_RESULT($cf_cv_system_status) test $cf_cv_system_status = no && AC_DEFINE(USE_SYSTEM_STATUS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_VERSION version: 4 updated: 2005/08/27 09:53:42 +dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31 dnl -------------- dnl Find version of gcc AC_DEFUN([CF_GCC_VERSION],[ @@ -2450,13 +2936,13 @@ AC_REQUIRE([AC_PROG_CC]) GCC_VERSION=none if test "$GCC" = yes ; then AC_MSG_CHECKING(version of $CC) - GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" + GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" test -z "$GCC_VERSION" && GCC_VERSION=unknown AC_MSG_RESULT($GCC_VERSION) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_WARNINGS version: 20 updated: 2005/08/06 18:37:29 +dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32 dnl --------------- dnl Check if the compiler supports useful warning options. There's a few that dnl we don't use, simply because they're too noisy: @@ -2481,7 +2967,7 @@ AC_REQUIRE([CF_GCC_VERSION]) CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS) cat > conftest.$ac_ext <cf_makeflags.tmp </dev/null` + cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'` case "$cf_result" in .*k) - cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` + cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` case "$cf_result" in .*CC=*) cf_cv_makeflags= ;; @@ -2790,7 +3324,8 @@ CF_EOF esac break ;; - *) echo no match "$cf_result" + .-) ;; + *) echo "given option \"$cf_option\", no match \"$cf_result\"" ;; esac done @@ -2800,15 +3335,15 @@ CF_EOF AC_SUBST(cf_cv_makeflags) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52 +dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32 dnl ---------- dnl Write a debug message to config.log, along with the line number in the dnl configure script. AC_DEFUN([CF_MSG_LOG],[ -echo "(line __oline__) testing $* ..." 1>&AC_FD_CC +echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_BROKEN version: 6 updated: 1998/04/27 20:32:34 +dnl CF_NCURSES_BROKEN version: 7 updated: 2010/10/23 15:54:49 dnl ----------------- dnl Check for pre-1.9.9g ncurses (among other problems, the most obvious is dnl that color combinations don't work). @@ -2819,7 +3354,7 @@ if test "$cf_cv_ncurses_version" != no ; AC_MSG_CHECKING(for obsolete/broken version of ncurses) AC_CACHE_VAL(cf_cv_ncurses_broken,[ AC_TRY_COMPILE([ -#include <${cf_cv_ncurses_header-curses.h}>],[ +#include <${cf_cv_ncurses_header:-curses.h}>],[ #if defined(NCURSES_VERSION) && defined(wgetbkgd) make an error #else @@ -2837,7 +3372,7 @@ fi fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CC_CHECK version: 3 updated: 2003/01/12 18:59:28 +dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05 dnl ------------------- dnl Check if we can compile with ncurses' header file dnl $1 is the cache variable to set @@ -2866,11 +3401,51 @@ printf("old\n"); #endif #endif ] - ,[$1=$cf_header] + ,[$1=$2] ,[$1=no]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CPPFLAGS version: 17 updated: 2003/11/06 19:59:57 +dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30 +dnl ----------------- +dnl Tie together the configure-script macros for ncurses. +dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis. +dnl Allow that to be overridden using the $NCURSES_CONFIG environment variable. +dnl +dnl $1 is the root library name (default: "ncurses") +AC_DEFUN([CF_NCURSES_CONFIG], +[ +cf_ncuconfig_root=ifelse($1,,ncurses,$1) + +echo "Looking for ${cf_ncuconfig_root}-config" +AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none) + +if test "$NCURSES_CONFIG" != none ; then + +CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`" +CF_ADD_LIBS(`$NCURSES_CONFIG --libs`) + +# even with config script, some packages use no-override for curses.h +CF_CURSES_HEADER(ifelse($1,,ncurses,$1)) + +dnl like CF_NCURSES_CPPFLAGS +AC_DEFINE(NCURSES) + +dnl like CF_NCURSES_LIBS +CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root) +AC_DEFINE_UNQUOTED($cf_nculib_ROOT) + +dnl like CF_NCURSES_VERSION +cf_cv_ncurses_version=`$NCURSES_CONFIG --version` + +else + +CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1)) +CF_NCURSES_LIBS(ifelse($1,,ncurses,$1)) + +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38 dnl ------------------- dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting dnl the CPPFLAGS variable so we can include its header. @@ -2898,8 +3473,9 @@ AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl cf_ncuhdr_root=ifelse($1,,ncurses,$1) test -n "$cf_cv_curses_dir" && \ -test "$cf_cv_curses_dir" != "no" && \ -CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS" +test "$cf_cv_curses_dir" != "no" && { \ + CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root) +} AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" @@ -2911,9 +3487,27 @@ AC_CACHE_CHECK(for $cf_ncuhdr_root heade done ]) +CF_NCURSES_HEADER +CF_TERM_HEADER + +# some applications need this, but should check for NCURSES_VERSION +AC_DEFINE(NCURSES) + +CF_NCURSES_VERSION +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54 +dnl ----------------- +dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common +dnl variations of ncurses' installs. +dnl +dnl See also CF_CURSES_HEADER, which sets the same cache variable. +AC_DEFUN([CF_NCURSES_HEADER],[ + if test "$cf_cv_ncurses_h" != no ; then cf_cv_ncurses_header=$cf_cv_ncurses_h else + AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[ test -n "$verbose" && echo CF_HEADER_PATH(cf_search,$cf_ncuhdr_root) @@ -2937,7 +3531,7 @@ AC_CACHE_CHECK(for $cf_ncuhdr_root inclu CPPFLAGS="$cf_save2_CPPFLAGS" test "$cf_cv_ncurses_h2" != no && break done - test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found) + test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found) ]) CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2) @@ -2949,7 +3543,7 @@ AC_CACHE_CHECK(for $cf_ncuhdr_root inclu fi -AC_DEFINE(NCURSES) +# Set definitions to allow ifdef'ing for ncurses.h case $cf_cv_ncurses_header in # (vi *ncurses.h) @@ -2966,10 +3560,9 @@ ncursesw/curses.h|ncursesw/ncurses.h) ;; esac -CF_NCURSES_VERSION ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_LIBS version: 12 updated: 2004/04/27 16:26:05 +dnl CF_NCURSES_LIBS version: 16 updated: 2010/11/20 17:02:38 dnl --------------- dnl Look for the ncurses library. This is a little complicated on Linux, dnl because it may be linked with the gpm (general purpose mouse) library. @@ -3005,14 +3598,14 @@ freebsd*) ;; esac -LIBS="$cf_ncurses_LIBS $LIBS" +CF_ADD_LIBS($cf_ncurses_LIBS) if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) then - LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS" + CF_ADD_LIBS(-l$cf_nculib_root) else CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root, - [#include <${cf_cv_ncurses_header-curses.h}>], + [#include <${cf_cv_ncurses_header:-curses.h}>], [initscr()], initscr) fi @@ -3026,7 +3619,7 @@ if test -n "$cf_ncurses_LIBS" ; then LIBS="$q" fi done - AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], + AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) @@ -3037,7 +3630,7 @@ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncul AC_DEFINE_UNQUOTED($cf_nculib_ROOT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_VERSION version: 11 updated: 2003/11/06 19:59:57 +dnl CF_NCURSES_VERSION version: 13 updated: 2010/10/23 15:54:49 dnl ------------------ dnl Check for the version of ncurses, to aid in reporting bugs, etc. dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use @@ -3050,7 +3643,7 @@ AC_CACHE_CHECK(for ncurses version, cf_c cf_tempfile=out$$ rm -f $cf_tempfile AC_TRY_RUN([ -#include <${cf_cv_ncurses_header-curses.h}> +#include <${cf_cv_ncurses_header:-curses.h}> #include int main() { @@ -3068,14 +3661,14 @@ int main() make an error # endif #endif - exit(0); + ${cf_cv_main_return:-return}(0); }],[ cf_cv_ncurses_version=`cat $cf_tempfile`],,[ # This will not work if the preprocessor splits the line after the # Autoconf token. The 'unproto' program does that. cat > conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> #undef Autoconf #ifdef NCURSES_VERSION Autoconf NCURSES_VERSION @@ -3099,7 +3692,7 @@ EOF test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NETLIBS version: 4 updated: 1999/12/23 15:20:39 +dnl CF_NETLIBS version: 7 updated: 2010/06/20 09:24:28 dnl ---------- dnl After checking for functions in the default $LIBS, make a further check dnl for the functions that are netlib-related (these aren't always in the @@ -3110,38 +3703,116 @@ dnl -lresolv -lsocket -lnsl dnl -lnsl -lsocket dnl -lsocket dnl -lbsd +dnl -lnetwork AC_DEFUN([CF_NETLIBS],[ cf_test_netlibs=no + AC_MSG_CHECKING(for network libraries) + AC_CACHE_VAL(cf_cv_netlibs,[ AC_MSG_RESULT(working...) + cf_cv_netlibs="" cf_test_netlibs=yes -AC_CHECK_FUNCS(gethostname,,[ - CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[ - CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])]) -# -# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but -# I don't know the entrypoints - 97/7/22 TD -# AC_HAVE_LIBRARY(inet,cf_cv_netlibs="-linet $cf_cv_netlibs") -AC_CHECK_LIB(inet, main, cf_cv_netlibs="-linet $cf_cv_netlibs") -# -if test "$ac_cv_func_lsocket" != no ; then -AC_CHECK_FUNCS(socket,,[ - CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[ - CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])]) -fi -# -AC_CHECK_FUNCS(gethostbyname,,[ - CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)]) -# -AC_CHECK_FUNCS(strcasecmp,,[ - CF_RECHECK_FUNC(strcasecmp,resolv,cf_cv_netlibs)]) + +case $host_os in #(vi +mingw32) # (vi + AC_CHECK_HEADERS( windows.h winsock.h winsock2.h ) + + if test "$ac_cv_header_winsock2_h" = "yes" ; then + cf_winsock_lib="-lws2_32" + elif test "$ac_cv_header_winsock_h" = "yes" ; then + cf_winsock_lib="-lwsock32" + fi + + cf_save_LIBS="$LIBS" + CF_ADD_LIBS($cf_winsock_lib) + + AC_TRY_LINK([ +#ifdef HAVE_WINDOWS_H +#undef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#include +#ifdef HAVE_WINSOCK2_H +#include +#else +#ifdef HAVE_WINSOCK_H +#include +#endif +#endif +#endif +],[ + char buffer[1024]; + gethostname(buffer, sizeof(buffer));], + [cf_cv_netlibs="$cf_winsock_lib $cf_cv_netlibs"], + [AC_MSG_ERROR(Cannot link against winsock library)]) + + LIBS="$cf_save_LIBS" + ;; +*) + AC_CHECK_FUNCS(gethostname,,[ + CF_RECHECK_FUNC(gethostname,nsl,cf_cv_netlibs,[ + CF_RECHECK_FUNC(gethostname,socket,cf_cv_netlibs)])]) + + AC_CHECK_LIB(inet, main, cf_cv_netlibs="-linet $cf_cv_netlibs") + + if test "$ac_cv_func_lsocket" != no ; then + AC_CHECK_FUNCS(socket,,[ + CF_RECHECK_FUNC(socket,socket,cf_cv_netlibs,[ + CF_RECHECK_FUNC(socket,bsd,cf_cv_netlibs)])]) + fi + + AC_CHECK_FUNCS(gethostbyname,,[ + CF_RECHECK_FUNC(gethostbyname,nsl,cf_cv_netlibs)]) + + AC_CHECK_FUNCS(gethostbyname,,[ + CF_RECHECK_FUNC(gethostbyname,network,cf_cv_netlibs)]) + + AC_CHECK_FUNCS(strcasecmp,,[ + CF_RECHECK_FUNC(strcasecmp,resolv,cf_cv_netlibs)]) + ;; +esac ]) -LIBS="$LIBS $cf_cv_netlibs" + +case $cf_cv_netlibs in #(vi +*ws2_32*) + AC_DEFINE(USE_WINSOCK2_H) + ;; +esac + +CF_ADD_LIBS($cf_cv_netlibs) test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&AC_FD_MSG ])dnl dnl --------------------------------------------------------------------------- +dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05 +dnl ------------------ +dnl see CF_WITH_NO_LEAKS +AC_DEFUN([CF_NO_LEAKS_OPTION],[ +AC_MSG_CHECKING(if you want to use $1 for testing) +AC_ARG_WITH($1, + [$2], + [AC_DEFINE($3)ifelse([$4],,[ + $4 +]) + : ${with_cflags:=-g} + : ${with_no_leaks:=yes} + with_$1=yes], + [with_$1=]) +AC_MSG_RESULT(${with_$1:-no}) + +case .$with_cflags in #(vi +.*-g*) + case .$CFLAGS in #(vi + .*-g*) #(vi + ;; + *) + CF_ADD_CFLAGS([-g]) + ;; + esac + ;; +esac +])dnl +dnl --------------------------------------------------------------------------- dnl CF_OUR_MESSAGES version: 7 updated: 2004/09/12 19:45:55 dnl --------------- dnl Check if we use the messages included with this program @@ -3179,17 +3850,17 @@ AC_SUBST(MSG_DIR_MAKE) AC_SUBST(SUB_MAKEFILE) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53 +dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42 dnl ---------- dnl Provide a value for the $PATH and similar separator AC_DEFUN([CF_PATHSEP], [ case $cf_cv_system_name in - os2*) PATHSEP=';' ;; - *) PATHSEP=':' ;; + os2*) PATH_SEPARATOR=';' ;; + *) PATH_SEPARATOR=':' ;; esac -ifelse($1,,,[$1=$PATHSEP]) - AC_SUBST(PATHSEP) +ifelse([$1],,,[$1=$PATH_SEPARATOR]) + AC_SUBST(PATH_SEPARATOR) ])dnl dnl --------------------------------------------------------------------------- dnl CF_PATH_EDITOR version: 5 updated: 2000/07/20 00:41:18 @@ -3272,13 +3943,19 @@ fi AC_MSG_RESULT($DEFAULT_MAILER) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38 +dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42 dnl -------------- dnl Check the argument to see that it looks like a pathname. Rewrite it if it dnl begins with one of the prefix/exec_prefix variables, and then again if the dnl result begins with 'NONE'. This is necessary to work around autoconf's dnl delayed evaluation of those symbols. AC_DEFUN([CF_PATH_SYNTAX],[ +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" +fi + case ".[$]$1" in #(vi .\[$]\(*\)*|.\'*\'*) #(vi ;; @@ -3290,31 +3967,43 @@ case ".[$]$1" in #(vi eval $1="[$]$1" case ".[$]$1" in #(vi .NONE/*) - $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%` + $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%` ;; esac ;; #(vi -.NONE/*) - $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%` +.no|.NONE/*) + $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%` ;; *) - ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2) + ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2) ;; esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PDCURSES_X11 version: 6 updated: 2002/10/27 18:21:42 +dnl CF_PDCURSES_X11 version: 11 updated: 2011/01/15 18:45:38 dnl --------------- dnl Configure for PDCurses' X11 library AC_DEFUN([CF_PDCURSES_X11],[ AC_REQUIRE([CF_X_ATHENA]) + +AC_PATH_PROGS(XCURSES_CONFIG,xcurses-config,none) + +if test "$XCURSES_CONFIG" != none ; then + +CPPFLAGS="$CPPFLAGS `$XCURSES_CONFIG --cflags`" +CF_ADD_LIBS(`$XCURSES_CONFIG --libs`) + +cf_cv_lib_XCurses=yes + +else + LDFLAGS="$LDFLAGS $X_LIBS" CF_CHECK_CFLAGS($X_CFLAGS) AC_CHECK_LIB(X11,XOpenDisplay, - [LIBS="-lX11 $LIBS"],, + [CF_ADD_LIBS(-lX11)],, [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS]) AC_CACHE_CHECK(for XCurses library,cf_cv_lib_XCurses,[ -LIBS="-lXCurses $LIBS" +CF_ADD_LIBS(-lXCurses) AC_TRY_LINK([ #include char *XCursesProgramName = "test"; @@ -3322,16 +4011,51 @@ char *XCursesProgramName = "test"; [cf_cv_lib_XCurses=yes], [cf_cv_lib_XCurses=no]) ]) + +fi + if test $cf_cv_lib_XCurses = yes ; then AC_DEFINE(UNIX) AC_DEFINE(XCURSES) - AC_DEFINE(HAVE_XCURSES) + AC_CHECK_HEADER(xcurses.h, AC_DEFINE(HAVE_XCURSES)) else - AC_ERROR(Cannot link with XCurses) + AC_MSG_ERROR(Cannot link with XCurses) +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_PKG_CONFIG version: 6 updated: 2011/04/17 06:36:21 +dnl ------------- +dnl Check for the package-config program, unless disabled by command-line. +AC_DEFUN([CF_PKG_CONFIG], +[ +AC_MSG_CHECKING(if you want to use pkg-config) +AC_ARG_WITH(pkg-config, + [ --with-pkg-config{=path} enable/disable use of pkg-config], + [cf_pkg_config=$withval], + [cf_pkg_config=yes]) +AC_MSG_RESULT($cf_pkg_config) + +case $cf_pkg_config in #(vi +no) #(vi + PKG_CONFIG=none + ;; +yes) #(vi + AC_PATH_PROG(PKG_CONFIG, pkg-config, none) + ;; +*) + PKG_CONFIG=$withval + ;; +esac + +test -z "$PKG_CONFIG" && PKG_CONFIG=none +if test "$PKG_CONFIG" != none ; then + CF_PATH_SYNTAX(PKG_CONFIG) fi + +AC_SUBST(PKG_CONFIG) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_POSIX_C_SOURCE version: 6 updated: 2005/07/14 20:25:10 +dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42 dnl ----------------- dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed. dnl @@ -3347,7 +4071,7 @@ dnl Parameters: dnl $1 is the nominal value for _POSIX_C_SOURCE AC_DEFUN([CF_POSIX_C_SOURCE], [ -cf_POSIX_C_SOURCE=ifelse($1,,199506L,$1) +cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1]) cf_save_CFLAGS="$CFLAGS" cf_save_CPPFLAGS="$CPPFLAGS" @@ -3399,12 +4123,7 @@ make an error if test "$cf_cv_posix_c_source" != no ; then CFLAGS="$cf_trim_CFLAGS" CPPFLAGS="$cf_trim_CPPFLAGS" - if test "$cf_cv_cc_u_d_options" = yes ; then - cf_temp_posix_c_source=`echo "$cf_cv_posix_c_source" | \ - sed -e 's/-D/-U/g' -e 's/=[[^ ]]*//g'` - CPPFLAGS="$CPPFLAGS $cf_temp_posix_c_source" - fi - CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" + CF_ADD_CFLAGS($cf_cv_posix_c_source) fi ])dnl @@ -3450,6 +4169,13 @@ test "$cf_cv_sigaction_funcs" = yes && A fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22 +dnl ---------- +dnl Check for archiver "ar". +AC_DEFUN([CF_PROG_AR],[ +AC_CHECK_TOOL(AR, ar, ar) +]) +dnl --------------------------------------------------------------------------- dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30 dnl -------------- dnl Check if C (preprocessor) -U and -D options are processed in the order @@ -3622,7 +4348,7 @@ AC_CHECK_LIB($2,$1,[ [[$]$3]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_REMOVE_DEFINE version: 2 updated: 2005/07/09 16:12:18 +dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50 dnl ---------------- dnl Remove all -U and -D options that refer to the given symbol from a list dnl of C compiler options. This works around the problem that not all @@ -3634,10 +4360,9 @@ dnl $2 = source (including '$') dnl $3 = symbol to remove define([CF_REMOVE_DEFINE], [ -# remove $3 symbol from $2 $1=`echo "$2" | \ - sed -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[[ ]]/ /g' \ - -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[$]//g'` + sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \ + -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'` ])dnl dnl --------------------------------------------------------------------------- dnl CF_SET_GID_UID version: 2 updated: 1997/08/28 23:57:55 @@ -3658,6 +4383,65 @@ AC_MSG_RESULT($cf_cv_setuid_funcs) test $cf_cv_setuid_funcs = yes && AC_DEFINE(HAVE_SET_GID_UID) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09 +dnl ----------- +dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all +dnl programs need this test). +dnl +dnl This is really a MacOS X 10.4.3 workaround. Defining _POSIX_C_SOURCE +dnl forces SIGWINCH to be undefined (breaks xterm, ncurses). Oddly, the struct +dnl winsize declaration is left alone - we may revisit this if Apple choose to +dnl break that part of the interface as well. +AC_DEFUN([CF_SIGWINCH], +[ +AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[ + AC_TRY_COMPILE([ +#include +#include +],[int x = SIGWINCH], + [cf_cv_define_sigwinch=yes], + [AC_TRY_COMPILE([ +#undef _XOPEN_SOURCE +#undef _POSIX_SOURCE +#undef _POSIX_C_SOURCE +#include +#include +],[int x = SIGWINCH], + [cf_cv_define_sigwinch=maybe], + [cf_cv_define_sigwinch=no]) +]) +]) + +if test "$cf_cv_define_sigwinch" = maybe ; then +AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[ +cf_cv_fixup_sigwinch=unknown +cf_sigwinch=32 +while test $cf_sigwinch != 1 +do + AC_TRY_COMPILE([ +#undef _XOPEN_SOURCE +#undef _POSIX_SOURCE +#undef _POSIX_C_SOURCE +#include +#include +],[ +#if SIGWINCH != $cf_sigwinch +make an error +#endif +int x = SIGWINCH], + [cf_cv_fixup_sigwinch=$cf_sigwinch + break]) + +cf_sigwinch=`expr $cf_sigwinch - 1` +done +]) + + if test "$cf_cv_fixup_sigwinch" != unknown ; then + CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch" + fi +fi +])dnl +dnl --------------------------------------------------------------------------- dnl CF_SIG_ARGS version: 2 updated: 1997/08/28 23:57:55 dnl ----------- dnl Check for systems that have signal-handlers prototyped with one argument @@ -3680,7 +4464,7 @@ AC_MSG_RESULT($cf_cv_sig_args) AC_DEFINE_UNQUOTED(SIG_ARGS,$cf_cv_sig_args) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SIG_CONST version: 2 updated: 1997/08/28 23:57:55 +dnl CF_SIG_CONST version: 4 updated: 2010/10/23 15:52:32 dnl ------------ dnl Check for systems where the special signal constants aren't prototyped dnl (there's a lot of them, and the compiler can generate a lot of warning @@ -3713,9 +4497,9 @@ int main() #define SIG_IGN NEW_IGN #define SIG_ERR NEW_ERR || NEW_DFL != SIG_DFL) - exit(1); + ${cf_cv_main_return:-return}(1); signal(SIGINT, SIG_DFL); - exit(0); + ${cf_cv_main_return:-return}(0); }], [cf_cv_sig_const=yes], [cf_cv_sig_const=no], @@ -3796,69 +4580,47 @@ if test "$cf_cv_sizechange" != no ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SOCKS version: 3 updated: 2001/01/01 09:54:40 +dnl CF_SOCKS version: 8 updated: 2010/05/05 20:27:55 dnl -------- dnl Check for socks library dnl $1 = the [optional] directory in which the library may be found AC_DEFUN([CF_SOCKS],[ -case "$1" in #(vi -no|yes) #(vi - ;; -*) - if test -d $1 ; then - if test -d $1/include ; then - CPPFLAGS="$CPPFLAGS -I$1/include" - LIBS="$LIBS -L$1/lib" - else - LIBS="$LIBS -L$1" - test -d $1/../include && CPPFLAGS="$CPPFLAGS -I$1/../include" - fi + CF_ADD_OPTIONAL_PATH($1, [socks library]) + CF_FIND_LINKAGE([ +#include +],[ + Raccept((char *)0) +], + socks) + + if test "x$cf_cv_find_linkage_socks" = "xyes" ; then + AC_DEFINE(SOCKS) + + AC_DEFINE(accept,Raccept) + AC_DEFINE(bind,Rbind) + AC_DEFINE(connect,Rconnect) + AC_DEFINE(getpeername,Rgetpeername) + AC_DEFINE(getsockname,Rgetsockname) + AC_DEFINE(listen,Rlisten) + AC_DEFINE(recvfrom,Rrecvfrom) + AC_DEFINE(select,Rselect) else - AC_MSG_WARN(expected a directory: $1) + AC_MSG_ERROR(cannot link with socks library) fi - ;; -esac -LIBS="$LIBS -lsocks" -AC_DEFINE(SOCKS) -AC_DEFINE(accept,Raccept) -AC_DEFINE(bind,Rbind) -AC_DEFINE(connect,Rconnect) -AC_DEFINE(getpeername,Rgetpeername) -AC_DEFINE(getsockname,Rgetsockname) -AC_DEFINE(listen,Rlisten) -AC_DEFINE(recvfrom,Rrecvfrom) -AC_DEFINE(select,Rselect) -AC_TRY_LINK([ -#include ],[ - accept((char *)0)],, - [AC_ERROR(Cannot link with socks library)]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SOCKS5 version: 7 updated: 2001/01/01 09:54:40 +dnl CF_SOCKS5 version: 11 updated: 2010/06/20 09:24:28 dnl --------- dnl Check for socks5 configuration dnl $1 = the [optional] directory in which the library may be found AC_DEFUN([CF_SOCKS5],[ -case "$1" in #(vi -no|yes) #(vi - ;; -*) - if test -d $1 ; then - if test -d $1/include ; then - CPPFLAGS="$CPPFLAGS -I$1/include" - LIBS="$LIBS -L$1/lib" - else - LIBS="$LIBS -L$1" - test -d $1/../include && CPPFLAGS="$CPPFLAGS -I$1/../include" - fi - else - AC_MSG_WARN(expected a directory: $1) - fi - ;; -esac -LIBS="$LIBS -lsocks5" + CF_ADD_OPTIONAL_PATH($1, [socks5 library]) + +CF_ADD_LIBS(-lsocks5) + AC_DEFINE(USE_SOCKS5) AC_DEFINE(SOCKS) + AC_MSG_CHECKING(if the socks library uses socks4 prefix) cf_use_socks4=error AC_TRY_LINK([ @@ -3869,8 +4631,9 @@ AC_TRY_LINK([ [AC_TRY_LINK([#include ], [SOCKSinit((char *)0)], [cf_use_socks4=no], - [AC_ERROR(Cannot link with socks5 library)])]) + [AC_MSG_ERROR(Cannot link with socks5 library)])]) AC_MSG_RESULT($cf_use_socks4) + if test "$cf_use_socks4" = "yes" ; then AC_DEFINE(accept,Raccept) AC_DEFINE(bind,Rbind) @@ -3886,6 +4649,7 @@ else AC_DEFINE(getsockname,SOCKSgetsockname) AC_DEFINE(recvfrom,SOCKSrecvfrom) fi + AC_MSG_CHECKING(if socks5p.h is available) AC_TRY_COMPILE([ #define INCLUDE_PROTOTYPES @@ -3894,6 +4658,7 @@ AC_TRY_COMPILE([ [cf_use_socks5p_h=yes], [cf_use_socks5p_h=no]) AC_MSG_RESULT($cf_use_socks5p_h) + test "$cf_use_socks5p_h" = yes && AC_DEFINE(INCLUDE_PROTOTYPES) ])dnl dnl --------------------------------------------------------------------------- @@ -3905,16 +4670,18 @@ AC_DEFUN([CF_STRERROR],[ AC_CHECK_FUNCS(strerror, AC_DEFINE(HAVE_STRERROR),[CF_SYS_ERRLIST]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46 +dnl CF_STRUCT_TERMIOS version: 6 updated: 2011/04/16 11:52:53 dnl ----------------- dnl Some machines require _POSIX_SOURCE to completely define struct termios. -dnl If so, define SVR4_TERMIO AC_DEFUN([CF_STRUCT_TERMIOS],[ +AC_REQUIRE([CF_XOPEN_SOURCE]) + AC_CHECK_HEADERS( \ termio.h \ termios.h \ unistd.h \ ) + if test "$ISC" = yes ; then AC_CHECK_HEADERS( sys/termio.h ) fi @@ -3934,78 +4701,31 @@ if test "$ac_cv_header_termios_h" = yes #include ], [struct termios foo; int x = foo.c_iflag], termios_bad=unknown, - termios_bad=yes AC_DEFINE(SVR4_TERMIO)) + termios_bad=yes AC_DEFINE(_POSIX_SOURCE)) ]) AC_MSG_RESULT($termios_bad) fi fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SUBDIR_PATH version: 3 updated: 2002/12/29 18:30:46 +dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50 dnl -------------- dnl Construct a search-list for a nonstandard header/lib-file dnl $1 = the variable to return as result dnl $2 = the package name dnl $3 = the subdirectory, e.g., bin, include or lib AC_DEFUN([CF_SUBDIR_PATH], -[$1="" - -test -d [$]HOME && { - test -n "$verbose" && echo " ... testing $3-directories under [$]HOME" - test -d [$]HOME/$3 && $1="[$]$1 [$]HOME/$3" - test -d [$]HOME/$3/$2 && $1="[$]$1 [$]HOME/$3/$2" - test -d [$]HOME/$3/$2/$3 && $1="[$]$1 [$]HOME/$3/$2/$3" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$2 to the actual package location: -test -d [$]HOME/$2 && { - test -n "$verbose" && echo " ... testing $3-directories under [$]HOME/$2" - test -d [$]HOME/$2/$3 && $1="[$]$1 [$]HOME/$2/$3" - test -d [$]HOME/$2/$3/$2 && $1="[$]$1 [$]HOME/$2/$3/$2" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing $3-directories under /usr/local" - test -d /usr/local/$3 && $1="[$]$1 /usr/local/$3" - test -d /usr/local/$3/$2 && $1="[$]$1 /usr/local/$3/$2" - test -d /usr/local/$3/$2/$3 && $1="[$]$1 /usr/local/$3/$2/$3" - test -d /usr/local/$2/$3 && $1="[$]$1 /usr/local/$2/$3" - test -d /usr/local/$2/$3/$2 && $1="[$]$1 /usr/local/$2/$3/$2" -} - -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing $3-directories under $prefix" - test -d $prefix/$3 && $1="[$]$1 $prefix/$3" - test -d $prefix/$3/$2 && $1="[$]$1 $prefix/$3/$2" - test -d $prefix/$3/$2/$3 && $1="[$]$1 $prefix/$3/$2/$3" - test -d $prefix/$2/$3 && $1="[$]$1 $prefix/$2/$3" - test -d $prefix/$2/$3/$2 && $1="[$]$1 $prefix/$2/$3/$2" -} - -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing $3-directories under /opt" - test -d /opt/$3 && $1="[$]$1 /opt/$3" - test -d /opt/$3/$2 && $1="[$]$1 /opt/$3/$2" - test -d /opt/$3/$2/$3 && $1="[$]$1 /opt/$3/$2/$3" - test -d /opt/$2/$3 && $1="[$]$1 /opt/$2/$3" - test -d /opt/$2/$3/$2 && $1="[$]$1 /opt/$2/$3/$2" -} +[ +$1= -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing $3-directories under /usr" - test -d /usr/$3 && $1="[$]$1 /usr/$3" - test -d /usr/$3/$2 && $1="[$]$1 /usr/$3/$2" - test -d /usr/$3/$2/$3 && $1="[$]$1 /usr/$3/$2/$3" - test -d /usr/$2/$3 && $1="[$]$1 /usr/$2/$3" -} +CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix) +CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE) +CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix) +CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix) +CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28 +dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03 dnl -------- dnl Shorthand macro for substituting things that the user may override dnl with an environment variable. @@ -4016,11 +4736,29 @@ dnl $3 = default value AC_DEFUN([CF_SUBST], [AC_CACHE_VAL(cf_cv_subst_$2,[ AC_MSG_CHECKING(for $1 (symbol $2)) -test -z "[$]$2" && $2=$3 +CF_SUBST_IF([-z "[$]$2"], [$2], [$3]) +cf_cv_subst_$2=[$]$2 AC_MSG_RESULT([$]$2) +]) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03 +dnl ----------- +dnl Shorthand macro for substituting things that the user may override +dnl with an environment variable. +dnl +dnl $1 = condition to pass to "test" +dnl $2 = environment variable +dnl $3 = value if the test succeeds +dnl $4 = value if the test fails +AC_DEFUN([CF_SUBST_IF], +[ +if test $1 ; then + $2=$3 +ifelse($4,,,[else + $2=$4]) +fi AC_SUBST($2) -cf_cv_subst_$2=[$]$2]) -$2=${cf_cv_subst_$2} ])dnl dnl --------------------------------------------------------------------------- dnl CF_SYS_ERRLIST version: 6 updated: 2001/12/30 13:03:23 @@ -4075,9 +4813,11 @@ AC_MSG_RESULT($cf_cv_sys_select_timeval) test $cf_cv_sys_select_timeval = yes && AC_DEFINE(NEED_TIMEVAL_FIX) ]) dnl --------------------------------------------------------------------------- -dnl CF_TERMCAP_LIBS version: 10 updated: 2001/10/18 20:42:39 +dnl CF_TERMCAP_LIBS version: 12 updated: 2010/06/20 09:24:28 dnl --------------- dnl Look for termcap libraries, or the equivalent in terminfo. +dnl +dnl The optional parameter may be "ncurses", "ncursesw". AC_DEFUN([CF_TERMCAP_LIBS], [ AC_CACHE_VAL(cf_cv_termlib,[ @@ -4091,8 +4831,7 @@ AC_TRY_LINK([],[char *x=(char*)tgoto("", ifelse([$1],,,[ case "$1" in # (vi ncurses*) - CF_NCURSES_CPPFLAGS($1) - CF_NCURSES_LIBS($1) + CF_NCURSES_CONFIG($1) cf_cv_termlib=terminfo ;; esac @@ -4124,8 +4863,8 @@ if test "$cf_cv_termlib" = none; then fi if test "$cf_cv_termlib" = none; then # allow curses library for broken AIX system. - AC_CHECK_LIB(curses, initscr, [LIBS="$LIBS -lcurses" cf_cv_termlib=termcap]) - AC_CHECK_LIB(termcap, tgoto, [LIBS="$LIBS -ltermcap" cf_cv_termlib=termcap]) + AC_CHECK_LIB(curses, initscr, [CF_ADD_LIBS(-lcurses)]) + AC_CHECK_LIB(termcap, tgoto, [CF_ADD_LIBS(-ltermcap) cf_cv_termlib=termcap]) fi ]) if test "$cf_cv_termlib" = none; then @@ -4167,7 +4906,54 @@ if test $cf_cv_use_termios_h = yes; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TIOCGWINSZ version: 3 updated: 1997/11/29 01:04:53 +dnl CF_TERM_HEADER version: 2 updated: 2010/10/23 15:54:49 +dnl -------------- +dnl Look for term.h, which is part of X/Open curses. It defines the interface +dnl to terminfo database. Usually it is in the same include-path as curses.h, +dnl but some packagers change this, breaking various applications. +AC_DEFUN([CF_TERM_HEADER],[ +AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[ +case ${cf_cv_ncurses_header} in #(vi +*/ncurses.h|*/ncursesw.h) #(vi + cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'` + ;; +*) + cf_term_header=term.h + ;; +esac + +for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" +do +AC_TRY_COMPILE([#include +#include <${cf_cv_ncurses_header:-curses.h}> +#include <$cf_test> +],[int x = auto_left_margin],[ + cf_cv_term_header="$cf_test"],[ + cf_cv_term_header=unknown + ]) + test "$cf_cv_term_header" != unknown && break +done +]) + +# Set definitions to allow ifdef'ing to accommodate subdirectories + +case $cf_cv_term_header in # (vi +*term.h) + AC_DEFINE(HAVE_TERM_H) + ;; +esac + +case $cf_cv_term_header in # (vi +ncurses/term.h) #(vi + AC_DEFINE(HAVE_NCURSES_TERM_H) + ;; +ncursesw/term.h) + AC_DEFINE(HAVE_NCURSESW_TERM_H) + ;; +esac +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_TIOCGWINSZ version: 5 updated: 2010/10/23 15:52:32 dnl ------------- dnl On some systems ioctl(fd, TIOCGWINSZ, &size) will always return {0,0} until dnl ioctl(fd, TIOCSWINSZ, &size) is called to explicitly set the size of the @@ -4195,16 +4981,16 @@ int main() if (ioctl (0, TIOCGSIZE, &size) == 0 && size.ts_lines > 0 && size.ts_cols > 0) - exit(0); + ${cf_cv_main_return:-return}(0); #else struct winsize size; if (ioctl(0, TIOCGWINSZ, &size) == 0 && size.ws_row > 0 && size.ws_col > 0) - exit(0); + ${cf_cv_main_return:-return}(0); #endif } - exit(0); /* we cannot guarantee this is run interactively */ + ${cf_cv_main_return:-return}(0); /* we cannot guarantee this is run interactively */ }], [cf_cv_use_tiocgwinsz=yes], [cf_cv_use_tiocgwinsz=no], @@ -4243,6 +5029,31 @@ AC_MSG_RESULT($cf_cv_tm_gmtoff) test $cf_cv_tm_gmtoff = no && AC_DEFINE(DONT_HAVE_TM_GMTOFF) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_TRY_PKG_CONFIG version: 4 updated: 2010/06/14 17:42:30 +dnl ----------------- +dnl This is a simple wrapper to use for pkg-config, for libraries which may be +dnl available in that form. +dnl +dnl $1 = package name +dnl $2 = extra logic to use, if any, after updating CFLAGS and LIBS +dnl $3 = logic to use if pkg-config does not have the package +AC_DEFUN([CF_TRY_PKG_CONFIG],[ +AC_REQUIRE([CF_PKG_CONFIG]) + +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $1; then + CF_VERBOSE(found package $1) + cf_pkgconfig_incs="`$PKG_CONFIG --cflags $1 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs $1 2>/dev/null`" + CF_VERBOSE(package $1 CFLAGS: $cf_pkgconfig_incs) + CF_VERBOSE(package $1 LIBS: $cf_pkgconfig_libs) + CF_ADD_CFLAGS($cf_pkgconfig_incs) + CF_ADD_LIBS($cf_pkgconfig_libs) + ifelse([$2],,:,[$2]) +else + ifelse([$3],,:,[$3]) +fi +]) +dnl --------------------------------------------------------------------------- dnl CF_TYPE_OUTCHAR version: 13 updated: 2002/10/09 20:00:37 dnl --------------- dnl Check for return and param type of 3rd -- OutChar() -- param of tputs(). @@ -4391,11 +5202,12 @@ AC_DEFUN([CF_UPPER], $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14 +dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12 dnl ---------- dnl Use AC_VERBOSE w/o the warnings AC_DEFUN([CF_VERBOSE], [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG +CF_MSG_LOG([$1]) ])dnl dnl --------------------------------------------------------------------------- dnl CF_WAIT_HEADERS version: 2 updated: 1997/10/21 19:45:33 @@ -4429,36 +5241,46 @@ fi fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59 +dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38 dnl ------------------ dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses dnl libraries. AC_DEFUN([CF_WITH_CURSES_DIR],[ + +AC_MSG_CHECKING(for specific curses-directory) AC_ARG_WITH(curses-dir, [ --with-curses-dir=DIR directory in which (n)curses is installed], - [CF_PATH_SYNTAX(withval) - cf_cv_curses_dir=$withval], + [cf_cv_curses_dir=$withval], [cf_cv_curses_dir=no]) +AC_MSG_RESULT($cf_cv_curses_dir) + +if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) +then + CF_PATH_SYNTAX(withval) + if test -d "$cf_cv_curses_dir" + then + CF_ADD_INCDIR($cf_cv_curses_dir/include) + CF_ADD_LIBDIR($cf_cv_curses_dir/lib) + fi +fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_DBMALLOC version: 4 updated: 2004/02/28 05:49:27 +dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47 dnl ---------------- dnl Configure-option for dbmalloc. The optional parameter is used to override dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. AC_DEFUN([CF_WITH_DBMALLOC],[ -AC_MSG_CHECKING(if you want to link with dbmalloc for testing) -AC_ARG_WITH(dbmalloc, - [ --with-dbmalloc use Conor Cahill's dbmalloc library], - [with_dbmalloc=$withval], - [with_dbmalloc=no]) -AC_MSG_RESULT($with_dbmalloc) +CF_NO_LEAKS_OPTION(dbmalloc, + [ --with-dbmalloc test: use Conor Cahill's dbmalloc library], + [USE_DBMALLOC]) + if test "$with_dbmalloc" = yes ; then AC_CHECK_HEADER(dbmalloc.h, - [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse($1,,[],[,$1]))]) + [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_DFTENV version: 3 updated: 1998/04/01 11:39:13 +dnl CF_WITH_DFTENV version: 4 updated: 2008/03/23 14:48:54 dnl -------------- dnl Wrapper for AC_ARG_WITH to inherit/override an environment variable's dnl "#define" in the compile. @@ -4471,31 +5293,29 @@ AC_DEFUN([CF_WITH_DFTENV], ifelse($4,,[withval="${$3}"],[withval="${$3-$4}"]))dnl case "$withval" in #(vi yes|no) - AC_ERROR(expected a value for --with-$1) + AC_MSG_ERROR(expected a value for --with-$1) ;; esac $3="$withval" AC_DEFINE_UNQUOTED($3,"[$]$3")dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_DMALLOC version: 4 updated: 2004/02/28 05:49:27 +dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47 dnl --------------- dnl Configure-option for dmalloc. The optional parameter is used to override dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. AC_DEFUN([CF_WITH_DMALLOC],[ -AC_MSG_CHECKING(if you want to link with dmalloc for testing) -AC_ARG_WITH(dmalloc, - [ --with-dmalloc use Gray Watson's dmalloc library], - [with_dmalloc=$withval], - [with_dmalloc=no]) -AC_MSG_RESULT($with_dmalloc) +CF_NO_LEAKS_OPTION(dmalloc, + [ --with-dmalloc test: use Gray Watson's dmalloc library], + [USE_DMALLOC]) + if test "$with_dmalloc" = yes ; then AC_CHECK_HEADER(dmalloc.h, - [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse($1,,[],[,$1]))]) + [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17 +dnl CF_WITH_PATH version: 10 updated: 2010/10/23 15:44:18 dnl ------------ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just dnl defaulting to yes/no. @@ -4507,14 +5327,16 @@ dnl $4 = default value, shown in the hel dnl $5 = default value, if it's an expression & cannot be in the help-message dnl AC_DEFUN([CF_WITH_PATH], -[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),, -ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl +[AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),, +ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl +if ifelse([$5],,true,[test -n "$5"]) ; then CF_PATH_SYNTAX(withval) -eval $3="$withval" +fi +$3="$withval" AC_SUBST($3)dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PROGRAM version: 5 updated: 2001/07/22 23:07:22 +dnl CF_WITH_PROGRAM version: 6 updated: 2008/03/23 14:48:54 dnl --------------- dnl Wrapper for AC_PATH_PROG, with command-line option. dnl Params: @@ -4529,7 +5351,7 @@ define([cf_have_name], HAVE_[]translit($ AC_ARG_WITH($1,[$2],ifelse($3,, [case "$withval" in #(vi yes[)] - AC_ERROR(expected a value for --with-$1) + AC_MSG_ERROR(expected a value for --with-$1) ;; #(vi no[)] ;; #(vi @@ -4565,7 +5387,7 @@ AC_DEFUN([CF_WITH_VALUE], AC_DEFINE_UNQUOTED($3,"$withval")dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_CURSES version: 8 updated: 2003/11/07 19:47:46 +dnl CF_XOPEN_CURSES version: 11 updated: 2011/01/18 18:15:30 dnl --------------- dnl Test if we should define X/Open source for curses, needed on Digital Unix dnl 4.x, to see the extended functions, but breaks on IRIX 6.x. @@ -4578,7 +5400,12 @@ AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl AC_CACHE_CHECK(if we must define _XOPEN_SOURCE_EXTENDED,cf_cv_need_xopen_extension,[ AC_TRY_LINK([ #include -#include <${cf_cv_ncurses_header-curses.h}>],[ +#include <${cf_cv_ncurses_header:-curses.h}>],[ +#if defined(NCURSES_VERSION_PATCH) +#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403) + make an error +#endif +#endif long x = winnstr(stdscr, "", 0); int x1, y1; getbegyx(stdscr, y1, x1)], @@ -4586,7 +5413,11 @@ AC_TRY_LINK([ [AC_TRY_LINK([ #define _XOPEN_SOURCE_EXTENDED #include -#include <${cf_cv_ncurses_header-curses.h}>],[ +#include <${cf_cv_ncurses_header:-curses.h}>],[ +#ifdef NCURSES_VERSION + cchar_t check; + int check2 = curs_set((int)sizeof(check)); +#endif long x = winnstr(stdscr, "", 0); int x1, y1; getbegyx(stdscr, y1, x1)], @@ -4595,40 +5426,52 @@ AC_TRY_LINK([ test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 23 updated: 2005/10/15 16:39:05 +dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, -dnl or adapt to the vendor's definitions to get equivalent functionality. +dnl or adapt to the vendor's definitions to get equivalent functionality, +dnl without losing the common non-POSIX features. dnl dnl Parameters: dnl $1 is the nominal value for _XOPEN_SOURCE dnl $2 is the nominal value for _POSIX_C_SOURCE AC_DEFUN([CF_XOPEN_SOURCE],[ -AC_REQUIRE([CF_PROG_CC_U_D]) - -cf_XOPEN_SOURCE=ifelse($1,,500,$1) -cf_POSIX_C_SOURCE=ifelse($2,,199506L,$2) +cf_XOPEN_SOURCE=ifelse([$1],,500,[$1]) +cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2]) +cf_xopen_source= case $host_os in #(vi -aix[[45]]*) #(vi - CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE" +aix[[456]]*) #(vi + cf_xopen_source="-D_ALL_SOURCE" ;; -freebsd*) #(vi +cygwin) #(vi + cf_XOPEN_SOURCE=600 + ;; +darwin[[0-8]].*) #(vi + cf_xopen_source="-D_APPLE_C_SOURCE" + ;; +darwin*) #(vi + cf_xopen_source="-D_DARWIN_C_SOURCE" + ;; +freebsd*|dragonfly*) #(vi # 5.x headers associate # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L cf_POSIX_C_SOURCE=200112L cf_XOPEN_SOURCE=600 - CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; +hpux11*) #(vi + cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500" ;; hpux*) #(vi - CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE" + cf_xopen_source="-D_HPUX_SOURCE" ;; irix[[56]].*) #(vi - CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" + cf_xopen_source="-D_SGI_SOURCE" ;; -linux*|gnu*) #(vi +linux*|gnu*|mint*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; mirbsd*) #(vi @@ -4641,16 +5484,19 @@ openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw ;; osf[[45]]*) #(vi - CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE" + cf_xopen_source="-D_OSF_SOURCE" ;; nto-qnx*) #(vi - CPPFLAGS="$CPPFLAGS -D_QNX_SOURCE" + cf_xopen_source="-D_QNX_SOURCE" ;; sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris*) #(vi - CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" +solaris2.1[[0-9]]) #(vi + cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; +solaris2.[[1-9]]) #(vi + cf_xopen_source="-D__EXTENSIONS__" ;; *) AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ @@ -4673,23 +5519,26 @@ make an error if test "$cf_cv_xopen_source" != no ; then CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - test "$cf_cv_cc_u_d_options" = yes && \ - CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_cv_xopen_source" + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + CF_ADD_CFLAGS($cf_temp_xopen_source) fi CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) ;; esac + +if test -n "$cf_xopen_source" ; then + CF_ADD_CFLAGS($cf_xopen_source) +fi ]) dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA version: 12 updated: 2004/06/15 21:14:41 +dnl CF_X_ATHENA version: 20 updated: 2010/11/09 05:18:02 dnl ----------- dnl Check for Xaw (Athena) libraries dnl dnl Sets $cf_x_athena according to the flavor of Xaw which is used. AC_DEFUN([CF_X_ATHENA], -[AC_REQUIRE([CF_X_TOOLKIT]) -cf_x_athena=${cf_x_athena-Xaw} +[ +cf_x_athena=${cf_x_athena:-Xaw} AC_MSG_CHECKING(if you want to link with Xaw 3d library) withval= @@ -4724,23 +5573,63 @@ else AC_MSG_RESULT(no) fi -AC_CHECK_LIB(Xext,XextCreateExtension, - [LIBS="-lXext $LIBS"]) - cf_x_athena_lib="" -CF_X_ATHENA_CPPFLAGS($cf_x_athena) -CF_X_ATHENA_LIBS($cf_x_athena) +if test "$PKG_CONFIG" != none ; then + cf_athena_list= + test "$cf_x_athena" = Xaw && cf_athena_list="xaw8 xaw7 xaw6" + for cf_athena_pkg in \ + $cf_athena_list \ + ${cf_x_athena} \ + ${cf_x_athena}-devel \ + lib${cf_x_athena} \ + lib${cf_x_athena}-devel + do + CF_TRY_PKG_CONFIG($cf_athena_pkg,[ + cf_x_athena_lib="$cf_pkgconfig_libs" + CF_UPPER(cf_x_athena_LIBS,HAVE_LIB_$cf_x_athena) + AC_DEFINE_UNQUOTED($cf_x_athena_LIBS) + +AC_CACHE_CHECK(for usable $cf_x_athena/Xmu package,cf_cv_xaw_compat,[ +AC_TRY_LINK([ +#include +],[ +int check = XmuCompareISOLatin1("big", "small") +],[cf_cv_xaw_compat=yes],[cf_cv_xaw_compat=no])]) + + if test "$cf_cv_xaw_compat" = no + then + # workaround for broken ".pc" files... + case "$cf_x_athena_lib" in #(vi + *-lXmu*) #(vi + ;; + *) + CF_VERBOSE(work around broken package) + CF_TRY_PKG_CONFIG(xmu,,[CF_ADD_LIB_AFTER(-lXt,-lXmu)]) + ;; + esac + fi + + break]) + done +fi + +if test -z "$cf_x_athena_lib" ; then + CF_X_EXT + CF_X_TOOLKIT + CF_X_ATHENA_CPPFLAGS($cf_x_athena) + CF_X_ATHENA_LIBS($cf_x_athena) +fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA_CPPFLAGS version: 2 updated: 2002/10/09 20:00:37 +dnl CF_X_ATHENA_CPPFLAGS version: 5 updated: 2010/05/26 17:35:30 dnl -------------------- dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw. AC_DEFUN([CF_X_ATHENA_CPPFLAGS], [ -cf_x_athena_root=ifelse($1,,Xaw,$1) -cf_x_athena_include="" +cf_x_athena_root=ifelse([$1],,Xaw,[$1]) +cf_x_athena_inc="" for cf_path in default \ /usr/contrib/X11R6 \ @@ -4748,11 +5637,11 @@ for cf_path in default \ /usr/lib/X11R5 \ /usr/local do - if test -z "$cf_x_athena_include" ; then + if test -z "$cf_x_athena_inc" ; then cf_save="$CPPFLAGS" cf_test=X11/$cf_x_athena_root/SimpleMenu.h if test $cf_path != default ; then - CPPFLAGS="-I$cf_path/include $cf_save" + CPPFLAGS="$cf_save -I$cf_path/include" AC_MSG_CHECKING(for $cf_test in $cf_path) else AC_MSG_CHECKING(for $cf_test) @@ -4764,7 +5653,7 @@ do [cf_result=no]) AC_MSG_RESULT($cf_result) if test "$cf_result" = yes ; then - cf_x_athena_include=$cf_path + cf_x_athena_inc=$cf_path break else CPPFLAGS="$cf_save" @@ -4772,21 +5661,21 @@ do fi done -if test -z "$cf_x_athena_include" ; then +if test -z "$cf_x_athena_inc" ; then AC_MSG_WARN( [Unable to successfully find Athena header files with test program]) -elif test "$cf_x_athena_include" != default ; then - CPPFLAGS="$CPPFLAGS -I$cf_x_athena_include" +elif test "$cf_x_athena_inc" != default ; then + CPPFLAGS="$CPPFLAGS -I$cf_x_athena_inc" fi ]) dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA_LIBS version: 3 updated: 2003/02/16 15:24:54 +dnl CF_X_ATHENA_LIBS version: 10 updated: 2011/02/13 13:31:33 dnl ---------------- dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw. AC_DEFUN([CF_X_ATHENA_LIBS], [AC_REQUIRE([CF_X_TOOLKIT]) -cf_x_athena_root=ifelse($1,,Xaw,$1) +cf_x_athena_root=ifelse([$1],,Xaw,[$1]) cf_x_athena_lib="" for cf_path in default \ @@ -4804,31 +5693,31 @@ do cf_save="$LIBS" cf_test=XawSimpleMenuAddGlobalActions if test $cf_path != default ; then - LIBS="-L$cf_path/lib $cf_lib $LIBS" + CF_ADD_LIBS(-L$cf_path/lib $cf_lib) AC_MSG_CHECKING(for $cf_lib in $cf_path) else - LIBS="$cf_lib $LIBS" + CF_ADD_LIBS($cf_lib) AC_MSG_CHECKING(for $cf_test in $cf_lib) fi - cf_SAVE="$LIBS" - LIBS="$X_PRE_LIBS $LIBS $X_EXTRA_LIBS" - AC_TRY_LINK([],[$cf_test()], + AC_TRY_LINK([ +#include +#include +],[ +$cf_test((XtAppContext) 0)], [cf_result=yes], [cf_result=no]) AC_MSG_RESULT($cf_result) if test "$cf_result" = yes ; then cf_x_athena_lib="$cf_lib" - LIBS="$cf_SAVE" break - else - LIBS="$cf_save" fi + LIBS="$cf_save" fi done done if test -z "$cf_x_athena_lib" ; then - AC_ERROR( + AC_MSG_ERROR( [Unable to successfully link Athena library (-l$cf_x_athena_root) with test program]) fi @@ -4836,7 +5725,15 @@ CF_UPPER(cf_x_athena_LIBS,HAVE_LIB_$cf_x AC_DEFINE_UNQUOTED($cf_x_athena_LIBS) ]) dnl --------------------------------------------------------------------------- -dnl CF_X_TOOLKIT version: 10 updated: 2004/04/25 15:37:17 +dnl CF_X_EXT version: 3 updated: 2010/06/02 05:03:05 +dnl -------- +AC_DEFUN([CF_X_EXT],[ +CF_TRY_PKG_CONFIG(Xext,,[ + AC_CHECK_LIB(Xext,XextCreateExtension, + [CF_ADD_LIB(Xext)])]) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_X_TOOLKIT version: 20 updated: 2010/11/19 05:43:04 dnl ------------ dnl Check for X Toolkit libraries dnl @@ -4845,33 +5742,121 @@ AC_DEFUN([CF_X_TOOLKIT], AC_REQUIRE([AC_PATH_XTRA]) AC_REQUIRE([CF_CHECK_CACHE]) -# SYSTEM_NAME=`echo "$cf_cv_system_name"|tr ' ' -` - cf_have_X_LIBS=no -LDFLAGS="$X_LIBS $LDFLAGS" -CF_CHECK_CFLAGS($X_CFLAGS) +CF_TRY_PKG_CONFIG(xt,[ -AC_CHECK_FUNC(XOpenDisplay,,[ -AC_CHECK_LIB(X11,XOpenDisplay, - [LIBS="-lX11 $LIBS"],, - [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])]) + case "x$LIBS" in #(vi + *-lX11*) #(vi + ;; + *) +# we have an "xt" package, but it may omit Xt's dependency on X11 +AC_CACHE_CHECK(for usable X dependency,cf_cv_xt_x11_compat,[ +AC_TRY_LINK([ +#include +],[ + int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0); + int rc2 = XClearWindow((Display*) 0, (Window) 0); + int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0); + int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0); +],[cf_cv_xt_x11_compat=yes],[cf_cv_xt_x11_compat=no])]) + if test "$cf_cv_xt_x11_compat" = no + then + CF_VERBOSE(work around broken X11 dependency) + # 2010/11/19 - good enough until a working Xt on Xcb is delivered. + CF_TRY_PKG_CONFIG(x11,,[CF_ADD_LIB_AFTER(-lXt,-lX11)]) + fi + ;; + esac + +AC_CACHE_CHECK(for usable X Toolkit package,cf_cv_xt_ice_compat,[ +AC_TRY_LINK([ +#include +],[int num = IceConnectionNumber(0) +],[cf_cv_xt_ice_compat=yes],[cf_cv_xt_ice_compat=no])]) + + if test "$cf_cv_xt_ice_compat" = no + then + # workaround for broken ".pc" files used for X Toolkit. + case "x$X_PRE_LIBS" in #(vi + *-lICE*) + case "x$LIBS" in #(vi + *-lICE*) #(vi + ;; + *) + CF_VERBOSE(work around broken ICE dependency) + CF_TRY_PKG_CONFIG(ice, + [CF_TRY_PKG_CONFIG(sm)], + [CF_ADD_LIB_AFTER(-lXt,$X_PRE_LIBS)]) + ;; + esac + ;; + esac + fi + + cf_have_X_LIBS=yes +],[ -AC_CHECK_FUNC(XtAppInitialize,,[ -AC_CHECK_LIB(Xt, XtAppInitialize, - [AC_DEFINE(HAVE_LIBXT) - cf_have_X_LIBS=Xt - LIBS="-lXt $X_PRE_LIBS $LIBS"],, - [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])]) + LDFLAGS="$X_LIBS $LDFLAGS" + CF_CHECK_CFLAGS($X_CFLAGS) + + AC_CHECK_FUNC(XOpenDisplay,,[ + AC_CHECK_LIB(X11,XOpenDisplay, + [CF_ADD_LIB(X11)],, + [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])]) + + AC_CHECK_FUNC(XtAppInitialize,,[ + AC_CHECK_LIB(Xt, XtAppInitialize, + [AC_DEFINE(HAVE_LIBXT) + cf_have_X_LIBS=Xt + LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"],, + [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])]) +]) if test $cf_have_X_LIBS = no ; then - AC_WARN( + AC_MSG_WARN( [Unable to successfully link X Toolkit library (-lXt) with test program. You will have to check and add the proper libraries by hand to makefile.]) fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF__ICONV_BODY version: 2 updated: 2007/07/26 17:35:47 +dnl -------------- +dnl Test-code needed for iconv compile-checks +define([CF__ICONV_BODY],[ + iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);] +)dnl +dnl --------------------------------------------------------------------------- +dnl CF__ICONV_HEAD version: 1 updated: 2007/07/26 15:57:03 +dnl -------------- +dnl Header-files needed for iconv compile-checks +define([CF__ICONV_HEAD],[ +#include +#include ] +)dnl +dnl --------------------------------------------------------------------------- +dnl CF__INTL_BODY version: 1 updated: 2007/07/26 17:35:47 +dnl ------------- +dnl Test-code needed for libintl compile-checks +dnl $1 = parameter 2 from AM_WITH_NLS +define([CF__INTL_BODY],[ + bindtextdomain ("", ""); + return (int) gettext ("") + ifelse([$1], need-ngettext, [ + (int) ngettext ("", "", 0)], []) + [ + _nl_msg_cat_cntr] +]) +dnl --------------------------------------------------------------------------- +dnl CF__INTL_HEAD version: 1 updated: 2007/07/26 17:35:47 +dnl ------------- +dnl Header-files needed for libintl compile-checks +define([CF__INTL_HEAD],[ +#include +extern int _nl_msg_cat_cntr; +])dnl +dnl --------------------------------------------------------------------------- dnl jm_GLIBC21 version: 3 updated: 2002/10/27 23:21:42 dnl ---------- dnl Inserted as requested by gettext 0.10.40 diff -Nurp --exclude='.bzr*' tin-1.8.3/config.guess tin-2.0.0/config.guess --- tin-1.8.3/config.guess 2006-02-27 04:25:53.000000000 +0100 +++ tin-2.0.0/config.guess 2011-08-21 18:20:45.560262776 +0200 @@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2911 Free Software Foundation, Inc. -timestamp='2006-02-27' +timestamp='2011-08-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -26,16 +27,16 @@ timestamp='2006-02-27' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -55,7 +56,8 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -160,6 +162,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched @@ -168,7 +171,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -178,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ fi ;; *) - os=netbsd + os=netbsd ;; esac # The OS release @@ -210,7 +213,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} @@ -267,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead @@ -322,14 +328,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -373,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} + echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; @@ -459,8 +484,8 @@ EOF echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ @@ -473,7 +498,7 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; @@ -530,7 +555,7 @@ EOF echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[45]) + *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -573,8 +598,8 @@ EOF 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 @@ -638,7 +663,7 @@ EOF # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -709,22 +734,22 @@ EOF exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; @@ -751,7 +776,7 @@ EOF FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` @@ -767,20 +792,18 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:MSYS_NT-*:*:*) + *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) @@ -790,15 +813,24 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - x86:Interix*:[345]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[345]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -828,7 +860,37 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null | \ + grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + fi + fi + exit ;; + avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) @@ -840,6 +902,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -849,74 +922,33 @@ EOF m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips64 - #undef mips64el + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 + CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo or32-unknown-linux-gnu exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + padre:Linux:*:*) + echo sparc-unknown-linux-gnu exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level @@ -926,8 +958,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -941,75 +976,18 @@ EOF sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__sun) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1017,11 +995,11 @@ EOF echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. + # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) @@ -1038,7 +1016,7 @@ EOF i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1081,10 +1059,13 @@ EOF exit ;; pc:*:*:*) # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; @@ -1119,8 +1100,18 @@ EOF /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; @@ -1133,7 +1124,7 @@ EOF rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1154,9 +1145,9 @@ EOF fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; + # says + echo i586-unisys-sysv4 + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm @@ -1186,7 +1177,7 @@ EOF else echo mips-unknown-sysv${UNAME_RELEASE} fi - exit ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; @@ -1196,6 +1187,9 @@ EOF BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1205,6 +1199,15 @@ EOF SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; @@ -1214,6 +1217,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} @@ -1229,6 +1242,9 @@ EOF *:QNX:*:4*) echo i386-pc-qnx exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; @@ -1295,6 +1311,9 @@ EOF i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1455,9 +1474,9 @@ This script, last modified $timestamp, h the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be diff -Nurp --exclude='.bzr*' tin-1.8.3/config.sub tin-2.0.0/config.sub --- tin-1.8.3/config.sub 2006-03-08 12:42:53.000000000 +0100 +++ tin-2.0.0/config.sub 2011-08-17 00:06:14.281816503 +0200 @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +# 2011 Free Software Foundation, Inc. -timestamp='2006-03-07' +timestamp='2011-08-15' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -31,13 +32,16 @@ timestamp='2006-03-07' # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -71,7 +75,8 @@ Report bugs and patches to &6 -echo "configure:632: checking for X" >&5 - - -# Check whether --with-x or --without-x was given. -if test "${with_x+set}" = set; then - withval="$with_x" - : -fi - -# $have_x is `yes', `no', `disabled', or empty when we do not yet know. -if test "x$with_x" = xno; then - # The user explicitly disabled X. - have_x=disabled -else - if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then - # Both variables are already set. - have_x=yes - else -if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # One or both of the vars are not set, and there is no cached value. -ac_x_includes=NO ac_x_libraries=NO -rm -fr conftestdir -if mkdir conftestdir; then - cd conftestdir - # Make sure to not put "make" in the Imakefile rules, since we grep it out. - cat > Imakefile <<'EOF' -acfindx: - @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -EOF - if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` - # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl; do - if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && - test -f $ac_im_libdir/libX11.$ac_extension; then - ac_im_usrlibdir=$ac_im_libdir; break - fi - done - # Screen out bogus values from the imake configuration. They are - # bogus both because they are the default anyway, and because - # using them would break gcc on systems where it needs fixed includes. - case "$ac_im_incroot" in - /usr/include) ;; - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;; - esac - case "$ac_im_usrlibdir" in - /usr/lib | /lib) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;; - esac - fi - cd .. - rm -fr conftestdir -fi - -if test "$ac_x_includes" = NO; then - # Guess where to find include files, by looking for this one X11 .h file. - test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h - - # First, try using that file with no special directory specified. -cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:700: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - # We can compile using X headers with no special include directory. -ac_x_includes= -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - # Look for the header file in a standard set of common directories. -# Check X11 before X11Rn because it is often a symlink to the current release. - for ac_dir in \ - /usr/X11/include \ - /usr/X11R6/include \ - /usr/X11R5/include \ - /usr/X11R4/include \ - \ - /usr/include/X11 \ - /usr/include/X11R6 \ - /usr/include/X11R5 \ - /usr/include/X11R4 \ - \ - /usr/local/X11/include \ - /usr/local/X11R6/include \ - /usr/local/X11R5/include \ - /usr/local/X11R4/include \ - \ - /usr/local/include/X11 \ - /usr/local/include/X11R6 \ - /usr/local/include/X11R5 \ - /usr/local/include/X11R4 \ - \ - /usr/X386/include \ - /usr/x386/include \ - /usr/XFree86/include/X11 \ - \ - /usr/include \ - /usr/local/include \ - /usr/unsupported/include \ - /usr/athena/include \ - /usr/local/x11r5/include \ - /usr/lpp/Xamples/include \ - \ - /usr/openwin/include \ - /usr/openwin/share/include \ - ; \ - do - if test -r "$ac_dir/$x_direct_test_include"; then - ac_x_includes=$ac_dir - break - fi - done -fi -rm -f conftest* -fi # $ac_x_includes = NO - -if test "$ac_x_libraries" = NO; then - # Check for the libraries. - - test -z "$x_direct_test_library" && x_direct_test_library=Xt - test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc - - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS="$LIBS" - LIBS="-l$x_direct_test_library $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - LIBS="$ac_save_LIBS" -# We can link X programs with no special library path. -ac_x_libraries= -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - LIBS="$ac_save_LIBS" -# First see if replacing the include by lib works. -# Check X11 before X11Rn because it is often a symlink to the current release. -for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ - /usr/X11/lib \ - /usr/X11R6/lib \ - /usr/X11R5/lib \ - /usr/X11R4/lib \ - \ - /usr/lib/X11 \ - /usr/lib/X11R6 \ - /usr/lib/X11R5 \ - /usr/lib/X11R4 \ - \ - /usr/local/X11/lib \ - /usr/local/X11R6/lib \ - /usr/local/X11R5/lib \ - /usr/local/X11R4/lib \ - \ - /usr/local/lib/X11 \ - /usr/local/lib/X11R6 \ - /usr/local/lib/X11R5 \ - /usr/local/lib/X11R4 \ - \ - /usr/X386/lib \ - /usr/x386/lib \ - /usr/XFree86/lib/X11 \ - \ - /usr/lib \ - /usr/local/lib \ - /usr/unsupported/lib \ - /usr/athena/lib \ - /usr/local/x11r5/lib \ - /usr/lpp/Xamples/lib \ - /lib/usr/lib/X11 \ - \ - /usr/openwin/lib \ - /usr/openwin/share/lib \ - ; \ -do - for ac_extension in a so sl; do - if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done -fi -rm -f conftest* -fi # $ac_x_libraries = NO - -if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then - # Didn't find X anywhere. Cache the known absence of X. - ac_cv_have_x="have_x=no" -else - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" -fi -fi - fi - eval "$ac_cv_have_x" -fi # $with_x != no - -if test "$have_x" != yes; then - echo "$ac_t""$have_x" 1>&6 - no_x=yes -else - # If each of the values was on the command line, it overrides each guess. - test "x$x_includes" = xNONE && x_includes=$ac_x_includes - test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries - # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6 -fi - PACKAGE=tin -VERSION=1.8.3 +VERSION=2.0.0 cat >> confdefs.h <&6 -echo "configure:907: checking host system type" >&5 +echo "configure:676: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -951,12 +720,27 @@ fi + case $cf_cv_system_name in + os2*) PATH_SEPARATOR=';' ;; + *) PATH_SEPARATOR=':' ;; + esac + + + + # Check whether --with-install-prefix or --without-install-prefix was given. if test "${with_install_prefix+set}" = set; then withval="$with_install_prefix" : else - withval="${DESTDIR-/}" + withval="${DESTDIR:-/}" +fi +if true ; then + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" fi case ".$withval" in #(vi @@ -970,19 +754,20 @@ case ".$withval" in #(vi eval withval="$withval" case ".$withval" in #(vi .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` ;; esac ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` +.no|.NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` ;; *) { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } ;; esac -eval DESTDIR="$withval" +fi +DESTDIR="$withval" case ".$DESTDIR" in # (vi ./) DESTDIR= @@ -992,14 +777,34 @@ case ".$DESTDIR" in # (vi ;; esac -### Compiler/options that autoconf doesn't get right +if test "$program_transform_name" = s,x,x,; then + program_transform_name= +else + # Double any \ or $. echo might interpret backslashes. + cat <<\EOF_SED > conftestsed +s,\\,\\\\,g; s,\$,$$,g +EOF_SED + program_transform_name="`echo $program_transform_name|sed -f conftestsed`" + rm -f conftestsed +fi +test "$program_prefix" != NONE && + program_transform_name="s,^,${program_prefix},; $program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" + +# sed with no file args requires a program. +test "$program_transform_name" = "" && program_transform_name="s,x,x," + + +### Compiler/options that autoconf doesn't get right case "$host_os" in aix*) #(vi if test "$CC" = ""; then # Extract the first word of "xlc", so it can be a program name with args. set dummy xlc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1003: checking for $ac_word" >&5 +echo "configure:808: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XLC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1042,14 +847,14 @@ fi esac ### Native Language Support -ALL_LINGUAS="de en_GB et fr ru rw sv tr" +ALL_LINGUAS="da de en_GB et fr ru sv tr" ### Checks for programs save_CFLAGS="$CFLAGS" # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1053: checking for $ac_word" >&5 +echo "configure:858: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1079,7 +884,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1083: checking for $ac_word" >&5 +echo "configure:888: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1130,7 +935,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1134: checking for $ac_word" >&5 +echo "configure:939: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1162,7 +967,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1166: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:971: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1173,12 +978,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1177 "configure" +#line 982 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1204,12 +1009,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1208: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1013: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1213: checking whether we are using GNU C" >&5 +echo "configure:1018: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1218,7 +1023,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1222: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1027: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1237,7 +1042,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1241: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1046: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1269,7 +1074,7 @@ else fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1273: checking how to run the C preprocessor" >&5 +echo "configure:1078: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1284,13 +1089,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1099: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1301,13 +1106,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1311: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1318,13 +1123,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1328: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1133: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1350,13 +1155,13 @@ echo "$ac_t""$CPP" 1>&6 if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 -echo "configure:1354: checking whether ${CC-cc} needs -traditional" >&5 +echo "configure:1159: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP @@ -1374,7 +1179,7 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA @@ -1396,7 +1201,7 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1400: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1205: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1434,7 +1239,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1438: checking for a BSD compatible install" >&5 +echo "configure:1243: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1511,14 +1316,14 @@ EOF do rm -f y.tab.ch echo $ac_n "checking for $cf_prog""... $ac_c" 1>&6 -echo "configure:1515: checking for $cf_prog" >&5 +echo "configure:1320: checking for $cf_prog" >&5 cf_command="$cf_prog conftest.y" cf_result=no - if { (eval echo configure:1518: \"$cf_command\") 1>&5; (eval $cf_command) 2>&5; } && test -s y.tab.c ; then + if { (eval echo configure:1323: \"$cf_command\") 1>&5; (eval $cf_command) 2>&5; } && test -s y.tab.c ; then mv y.tab.c conftest.c rm -f y.tab.h if test "$cf_prog" = 'bison -y' ; then - if { (eval echo configure:1522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest ; then + if { (eval echo configure:1327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest ; then cf_result=yes fi else @@ -1542,7 +1347,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1546: checking for $ac_word" >&5 +echo "configure:1351: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LINT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1573,9 +1378,9 @@ done test -n "$LINT" || LINT=":" echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:1577: checking for AIX" >&5 +echo "configure:1382: checking for AIX" >&5 cat > conftest.$ac_ext <&6 -echo "configure:1602: checking if $CC -U and -D options work together" >&5 -if eval "test \"`echo '$''{'cf_cv_cc_u_d_options'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS" - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - - cf_cv_cc_u_d_options=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - - cf_cv_cc_u_d_options=no -fi -rm -f conftest* - CPPFLAGS="$cf_save_CPPFLAGS" - -fi - -echo "$ac_t""$cf_cv_cc_u_d_options" 1>&6 - - - - cf_XOPEN_SOURCE=500 cf_POSIX_C_SOURCE=199506L +cf_xopen_source= case $host_os in #(vi -aix[45]*) #(vi - CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE" +aix[456]*) #(vi + cf_xopen_source="-D_ALL_SOURCE" ;; -freebsd*) #(vi +cygwin) #(vi + cf_XOPEN_SOURCE=600 + ;; +darwin[0-8].*) #(vi + cf_xopen_source="-D_APPLE_C_SOURCE" + ;; +darwin*) #(vi + cf_xopen_source="-D_DARWIN_C_SOURCE" + ;; +freebsd*|dragonfly*) #(vi # 5.x headers associate # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L cf_POSIX_C_SOURCE=200112L cf_XOPEN_SOURCE=600 - CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; +hpux11*) #(vi + cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500" ;; hpux*) #(vi - CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE" + cf_xopen_source="-D_HPUX_SOURCE" ;; irix[56].*) #(vi - CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" + cf_xopen_source="-D_SGI_SOURCE" ;; -linux*|gnu*) #(vi +linux*|gnu*|mint*|k*bsd*-gnu) #(vi echo $ac_n "checking if we must define _GNU_SOURCE""... $ac_c" 1>&6 -echo "configure:1670: checking if we must define _GNU_SOURCE" >&5 +echo "configure:1444: checking if we must define _GNU_SOURCE" >&5 if eval "test \"`echo '$''{'cf_cv_gnu_source'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { @@ -1682,7 +1456,7 @@ make an error #endif ; return 0; } EOF -if { (eval echo configure:1686: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1460: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_gnu_source=no else @@ -1692,7 +1466,7 @@ else cf_save="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" cat > conftest.$ac_ext < int main() { @@ -1702,7 +1476,7 @@ make an error #endif ; return 0; } EOF -if { (eval echo configure:1706: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1480: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_gnu_source=no else @@ -1733,26 +1507,29 @@ openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw ;; osf[45]*) #(vi - CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE" + cf_xopen_source="-D_OSF_SOURCE" ;; nto-qnx*) #(vi - CPPFLAGS="$CPPFLAGS -D_QNX_SOURCE" + cf_xopen_source="-D_QNX_SOURCE" ;; sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris*) #(vi - CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" +solaris2.1[0-9]) #(vi + cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + ;; +solaris2.[1-9]) #(vi + cf_xopen_source="-D__EXTENSIONS__" ;; *) echo $ac_n "checking if we should define _XOPEN_SOURCE""... $ac_c" 1>&6 -echo "configure:1750: checking if we should define _XOPEN_SOURCE" >&5 +echo "configure:1527: checking if we should define _XOPEN_SOURCE" >&5 if eval "test \"`echo '$''{'cf_cv_xopen_source'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { @@ -1762,7 +1539,7 @@ make an error #endif ; return 0; } EOF -if { (eval echo configure:1766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1543: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_xopen_source=no else @@ -1772,7 +1549,7 @@ else cf_save="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" cat > conftest.$ac_ext < int main() { @@ -1782,7 +1559,7 @@ make an error #endif ; return 0; } EOF -if { (eval echo configure:1786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_xopen_source=no else @@ -1802,20 +1579,98 @@ fi echo "$ac_t""$cf_cv_xopen_source" 1>&6 if test "$cf_cv_xopen_source" != no ; then -# remove _XOPEN_SOURCE symbol from $CFLAGS CFLAGS=`echo "$CFLAGS" | \ - sed -e 's/-[UD]_XOPEN_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]_XOPEN_SOURCE\(=[^ ]*\)\?$//g'` + sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` + + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" -# remove _XOPEN_SOURCE symbol from $CPPFLAGS +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in $cf_temp_xopen_source +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]_XOPEN_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]_XOPEN_SOURCE\(=[^ ]*\)\?$//g'` + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi + +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi + +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +fi + + + - test "$cf_cv_cc_u_d_options" = yes && \ - CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_cv_xopen_source" fi cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE @@ -1824,29 +1679,27 @@ cf_save_CFLAGS="$CFLAGS" cf_save_CPPFLAGS="$CPPFLAGS" -# remove _POSIX_C_SOURCE symbol from $cf_save_CFLAGS cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \ - sed -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?$//g'` + sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` -# remove _POSIX_C_SOURCE symbol from $cf_save_CPPFLAGS cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \ - sed -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?$//g'` + sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` echo $ac_n "checking if we should define _POSIX_C_SOURCE""... $ac_c" 1>&6 -echo "configure:1841: checking if we should define _POSIX_C_SOURCE" >&5 +echo "configure:1694: checking if we should define _POSIX_C_SOURCE" >&5 if eval "test \"`echo '$''{'cf_cv_posix_c_source'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else -echo "(line 1847) testing if the symbol is already defined go no further ..." 1>&5 +echo "${as_me:-configure}:1700: testing if the symbol is already defined go no further ..." 1>&5 cat > conftest.$ac_ext < int main() { @@ -1856,7 +1709,7 @@ make an error #endif ; return 0; } EOF -if { (eval echo configure:1860: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1713: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_posix_c_source=no else @@ -1878,7 +1731,7 @@ else esac if test "$cf_want_posix_source" = yes ; then cat > conftest.$ac_ext < int main() { @@ -1888,7 +1741,7 @@ make an error #endif ; return 0; } EOF -if { (eval echo configure:1892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -1899,15 +1752,15 @@ fi rm -f conftest* fi -echo "(line 1903) testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 +echo "${as_me:-configure}:1756: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 CFLAGS="$cf_trim_CFLAGS" CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source" -echo "(line 1908) testing if the second compile does not leave our definition intact error ..." 1>&5 +echo "${as_me:-configure}:1761: testing if the second compile does not leave our definition intact error ..." 1>&5 cat > conftest.$ac_ext < int main() { @@ -1917,7 +1770,7 @@ make an error #endif ; return 0; } EOF -if { (eval echo configure:1921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 @@ -1939,93 +1792,13 @@ echo "$ac_t""$cf_cv_posix_c_source" 1>&6 if test "$cf_cv_posix_c_source" != no ; then CFLAGS="$cf_trim_CFLAGS" CPPFLAGS="$cf_trim_CPPFLAGS" - if test "$cf_cv_cc_u_d_options" = yes ; then - cf_temp_posix_c_source=`echo "$cf_cv_posix_c_source" | \ - sed -e 's/-D/-U/g' -e 's/=[^ ]*//g'` - CPPFLAGS="$CPPFLAGS $cf_temp_posix_c_source" - fi - CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" -fi - - - ;; -esac - - - echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 -echo "configure:1957: checking for strerror in -lcposix" >&5 -ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lcposix $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -lcposix" -else - echo "$ac_t""no" 1>&6 -fi - - - - -echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 -echo "configure:2000: checking for ${CC-cc} option to accept ANSI C" >&5 -if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cf_cv_ansi_cc=no -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX -Aa -D_HPUX_SOURCE -# SVR4 -Xc -# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) -for cf_arg in "-DCC_HAS_PROTOS" \ - "" \ - -qlanglvl=ansi \ - -std1 \ - -Ae \ - "-Aa -D_HPUX_SOURCE" \ - -Xc -do cf_fix_cppflags=no cf_new_cflags= cf_new_cppflags= cf_new_extra_cppflags= -for cf_add_cflags in $cf_arg +for cf_add_cflags in $cf_cv_posix_c_source do case $cf_fix_cppflags in no) @@ -2036,8 +1809,8 @@ no) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes if test $cf_fix_cppflags = yes ; then cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" @@ -2052,6 +1825,16 @@ no) *$cf_add_cflags) #(vi ;; *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" ;; esac @@ -2067,8 +1850,8 @@ yes) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no ;; esac done @@ -2080,7 +1863,7 @@ fi if test -n "$cf_new_cppflags" ; then - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi if test -n "$cf_new_extra_cppflags" ; then @@ -2091,48 +1874,20 @@ fi - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ansi_cc="$cf_arg"; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 fi -rm -f conftest* -done -CFLAGS="$cf_save_CFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS" -fi -echo "$ac_t""$cf_cv_ansi_cc" 1>&6 + ;; +esac -if test "$cf_cv_ansi_cc" != "no"; then -if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then +if test -n "$cf_xopen_source" ; then cf_fix_cppflags=no cf_new_cflags= cf_new_cppflags= cf_new_extra_cppflags= -for cf_add_cflags in $cf_cv_ansi_cc +for cf_add_cflags in $cf_xopen_source do case $cf_fix_cppflags in no) @@ -2143,8 +1898,8 @@ no) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes if test $cf_fix_cppflags = yes ; then cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" @@ -2159,6 +1914,16 @@ no) *$cf_add_cflags) #(vi ;; *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" ;; esac @@ -2174,8 +1939,8 @@ yes) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no ;; esac done @@ -2187,7 +1952,7 @@ fi if test -n "$cf_new_cppflags" ; then - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi if test -n "$cf_new_extra_cppflags" ; then @@ -2198,955 +1963,1077 @@ fi -else - cat >> confdefs.h <<\EOF -#define CC_HAS_PROTOS 1 -EOF - -fi fi -if test "$cf_cv_ansi_cc" = "no"; then - { echo "configure: error: Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto" 1>&2; exit 1; } -fi - -echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:2220: checking for Cygwin environment" >&5 -if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then +echo $ac_n "checking if SIGWINCH is defined""... $ac_c" 1>&6 +echo "configure:1971: checking if SIGWINCH is defined" >&5 +if eval "test \"`echo '$''{'cf_cv_define_sigwinch'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < +#include -#ifndef __CYGWIN__ -#define __CYGWIN__ __CYGWIN32__ -#endif -return __CYGWIN__; +int main() { +int x = SIGWINCH ; return 0; } EOF -if { (eval echo configure:2236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1987: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - ac_cv_cygwin=yes + cf_cv_define_sigwinch=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_cygwin=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_cygwin" 1>&6 -CYGWIN= -test "$ac_cv_cygwin" = yes && CYGWIN=yes -echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:2253: checking for mingw32 environment" >&5 -if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else cat > conftest.$ac_ext < +#include + int main() { -return __MINGW32__; +int x = SIGWINCH ; return 0; } EOF -if { (eval echo configure:2265: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2008: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - ac_cv_mingw32=yes + cf_cv_define_sigwinch=maybe else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_mingw32=no + cf_cv_define_sigwinch=no fi rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_mingw32" 1>&6 -MINGW32= -test "$ac_cv_mingw32" = yes && MINGW32=yes - - -case $cf_cv_system_name in -os2*) - CFLAGS="$CFLAGS -Zmt" - CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__" - CXXFLAGS="$CXXFLAGS -Zmt" - # autoconf's macro sets -Zexe and suffix both, which conflict:w - LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" - ac_cv_exeext=.exe - ;; -esac - - -echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:2297: checking for executable suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$CYGWIN" = yes || test "$MINGW32" = yes; then - ac_cv_exeext=.exe -else - rm -f conftest* - echo 'int main () { return 0; }' > conftest.$ac_ext - ac_cv_exeext= - if { (eval echo configure:2307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then - for file in conftest.*; do - case $file in - *.c | *.o | *.obj) ;; - *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - else - { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } - fi - rm -f conftest* - test x"${ac_cv_exeext}" = x && ac_cv_exeext=no fi +rm -f conftest* + fi -EXEEXT="" -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} -echo "$ac_t""${ac_cv_exeext}" 1>&6 -ac_exeext=$EXEEXT +echo "$ac_t""$cf_cv_define_sigwinch" 1>&6 -echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:2328: checking for object suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then +if test "$cf_cv_define_sigwinch" = maybe ; then +echo $ac_n "checking for actual SIGWINCH definition""... $ac_c" 1>&6 +echo "configure:2028: checking for actual SIGWINCH definition" >&5 +if eval "test \"`echo '$''{'cf_cv_fixup_sigwinch'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - rm -f conftest* -echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:2334: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - for ac_file in conftest.*; do - case $ac_file in - *.c) ;; - *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;; - esac - done -else - { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; } -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_objext" 1>&6 -OBJEXT=$ac_cv_objext -ac_objext=$ac_cv_objext + +cf_cv_fixup_sigwinch=unknown +cf_sigwinch=32 +while test $cf_sigwinch != 1 +do + cat > conftest.$ac_ext < +#include -PROG_EXT="$EXEEXT" +int main() { -test -n "$PROG_EXT" && cat >> confdefs.h <&6 -echo "configure:2369: checking whether ln -s works" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - rm -f conftestdata -if ln -s X conftestdata 2>/dev/null -then - rm -f conftestdata - ac_cv_prog_LN_S="ln -s" -else - ac_cv_prog_LN_S=ln -fi -fi -LN_S="$ac_cv_prog_LN_S" -if test "$ac_cv_prog_LN_S" = "ln -s"; then - echo "$ac_t""yes" 1>&6 +if { (eval echo configure:2055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_cv_fixup_sigwinch=$cf_sigwinch + break else - echo "$ac_t""no" 1>&6 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi +rm -f conftest* +cf_sigwinch=`expr $cf_sigwinch - 1` +done +fi +echo "$ac_t""$cf_cv_fixup_sigwinch" 1>&6 -if test "$cross_compiling" = yes ; then + if test "$cf_cv_fixup_sigwinch" != unknown ; then + CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch" + fi +fi - # defaults that we might want to override - : ${BUILD_CFLAGS:=''} - : ${BUILD_CPPFLAGS:='-I$(INCDIR)'} - : ${BUILD_LDFLAGS:=''} - : ${BUILD_LIBS:=''} - : ${BUILD_EXEEXT:='$x'} - : ${BUILD_OBJEXT:='o'} - -# Check whether --with-build-cc or --without-build-cc was given. -if test "${with_build_cc+set}" = set; then - withval="$with_build_cc" - BUILD_CC="$withval" -else - for ac_prog in gcc cc cl -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2413: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then + echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 +echo "configure:2079: checking for strerror in -lcposix" >&5 +ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$BUILD_CC"; then - ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test. + ac_save_LIBS="$LIBS" +LIBS="-lcposix $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_BUILD_CC="$ac_prog" - break - fi - done - IFS="$ac_save_ifs" + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + fi -BUILD_CC="$ac_cv_prog_BUILD_CC" -if test -n "$BUILD_CC"; then - echo "$ac_t""$BUILD_CC" 1>&6 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + LIBS="$LIBS -lcposix" else echo "$ac_t""no" 1>&6 fi -test -n "$BUILD_CC" && break -done - -fi + - echo $ac_n "checking for native build C compiler""... $ac_c" 1>&6 -echo "configure:2445: checking for native build C compiler" >&5 - echo "$ac_t""$BUILD_CC" 1>&6 - echo $ac_n "checking for native build C preprocessor""... $ac_c" 1>&6 -echo "configure:2449: checking for native build C preprocessor" >&5 - -# Check whether --with-build-cpp or --without-build-cpp was given. -if test "${with_build_cpp+set}" = set; then - withval="$with_build_cpp" - BUILD_CPP="$withval" +echo $ac_n "checking for ${CC:-cc} option to accept ANSI C""... $ac_c" 1>&6 +echo "configure:2122: checking for ${CC:-cc} option to accept ANSI C" >&5 +if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - BUILD_CPP='$(BUILD_CC) -E' -fi - - echo "$ac_t""$BUILD_CPP" 1>&6 - - echo $ac_n "checking for native build C flags""... $ac_c" 1>&6 -echo "configure:2462: checking for native build C flags" >&5 + +cf_cv_ansi_cc=no +cf_save_CFLAGS="$CFLAGS" +cf_save_CPPFLAGS="$CPPFLAGS" +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX -Aa -D_HPUX_SOURCE +# SVR4 -Xc +# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) +for cf_arg in "-DCC_HAS_PROTOS" \ + "" \ + -qlanglvl=ansi \ + -std1 \ + -Ae \ + "-Aa -D_HPUX_SOURCE" \ + -Xc +do -# Check whether --with-build-cflags or --without-build-cflags was given. -if test "${with_build_cflags+set}" = set; then - withval="$with_build_cflags" - BUILD_CFLAGS="$withval" -fi +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= - echo "$ac_t""$BUILD_CFLAGS" 1>&6 +for cf_add_cflags in $cf_arg +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - echo $ac_n "checking for native build C preprocessor-flags""... $ac_c" 1>&6 -echo "configure:2473: checking for native build C preprocessor-flags" >&5 - -# Check whether --with-build-cppflags or --without-build-cppflags was given. -if test "${with_build_cppflags+set}" = set; then - withval="$with_build_cppflags" - BUILD_CPPFLAGS="$withval" -fi + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes - echo "$ac_t""$BUILD_CPPFLAGS" 1>&6 + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - echo $ac_n "checking for native build linker-flags""... $ac_c" 1>&6 -echo "configure:2484: checking for native build linker-flags" >&5 + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then -# Check whether --with-build-ldflags or --without-build-ldflags was given. -if test "${with_build_ldflags+set}" = set; then - withval="$with_build_ldflags" - BUILD_LDFLAGS="$withval" + CFLAGS="$CFLAGS $cf_new_cflags" fi - echo "$ac_t""$BUILD_LDFLAGS" 1>&6 +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi - echo $ac_n "checking for native build linker-libraries""... $ac_c" 1>&6 -echo "configure:2495: checking for native build linker-libraries" >&5 +if test -n "$cf_new_extra_cppflags" ; then -# Check whether --with-build-libs or --without-build-libs was given. -if test "${with_build_libs+set}" = set; then - withval="$with_build_libs" - BUILD_LIBS="$withval" + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi - echo "$ac_t""$BUILD_LIBS" 1>&6 - # this assumes we're on Unix. - BUILD_EXEEXT= - BUILD_OBJEXT=o - : ${BUILD_CC:='$(CC)'} - if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '$(CC)' ) ; then - { echo "configure: error: Cross-build requires two compilers. -Use --with-build-cc to specify the native compiler." 1>&2; exit 1; } - fi + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_cv_ansi_cc="$cf_arg"; break else - : ${BUILD_CC:='$(CC)'} - : ${BUILD_CPP:='$(CPP)'} - : ${BUILD_CFLAGS:='$(CFLAGS)'} - : ${BUILD_CPPFLAGS:='$(CPPFLAGS)'} - : ${BUILD_LDFLAGS:='$(LDFLAGS)'} - : ${BUILD_LIBS:='$(LIBS)'} - : ${BUILD_EXEEXT:='$x'} - : ${BUILD_OBJEXT:='o'} + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* +done +CFLAGS="$cf_save_CFLAGS" +CPPFLAGS="$cf_save_CPPFLAGS" + fi +echo "$ac_t""$cf_cv_ansi_cc" 1>&6 + +if test "$cf_cv_ansi_cc" != "no"; then +if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= +for cf_add_cflags in $cf_cv_ansi_cc +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +fi -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:2538: checking build system type" >&5 -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 -if test $host != $build; then - ac_tool_prefix=${host_alias}- else - ac_tool_prefix= -fi + cat >> confdefs.h <<\EOF +#define CC_HAS_PROTOS 1 +EOF -# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2564: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - break - fi - done - IFS="$ac_save_ifs" -fi fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 -else - echo "$ac_t""no" 1>&6 fi -if test -z "$ac_cv_prog_RANLIB"; then -if test -n "$ac_tool_prefix"; then - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2596: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB="':'" -fi +if test "$cf_cv_ansi_cc" = "no"; then + { echo "configure: error: Your compiler does not appear to recognize prototypes. +You have the following choices: + a. adjust your compiler options + b. get an up-to-date compiler + c. use a wrapper such as unproto" 1>&2; exit 1; } fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 + +echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 +echo "configure:2362: checking for Cygwin environment" >&5 +if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - echo "$ac_t""no" 1>&6 -fi + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_cygwin=yes else - RANLIB="':'" + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_cygwin=no fi +rm -f conftest* +rm -f conftest* fi -# Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args. -set dummy ${ac_tool_prefix}ld; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2631: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then +echo "$ac_t""$ac_cv_cygwin" 1>&6 +CYGWIN= +test "$ac_cv_cygwin" = yes && CYGWIN=yes +echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 +echo "configure:2395: checking for mingw32 environment" >&5 +if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$LD"; then - ac_cv_prog_LD="$LD" # Let the user override the test. + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_mingw32=yes else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_LD="${ac_tool_prefix}ld" - break - fi - done - IFS="$ac_save_ifs" -fi + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_mingw32=no fi -LD="$ac_cv_prog_LD" -if test -n "$LD"; then - echo "$ac_t""$LD" 1>&6 -else - echo "$ac_t""no" 1>&6 +rm -f conftest* +rm -f conftest* fi +echo "$ac_t""$ac_cv_mingw32" 1>&6 +MINGW32= +test "$ac_cv_mingw32" = yes && MINGW32=yes -if test -z "$ac_cv_prog_LD"; then -if test -n "$ac_tool_prefix"; then - # Extract the first word of "ld", so it can be a program name with args. -set dummy ld; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2663: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then + +case $cf_cv_system_name in +os2*) + CFLAGS="$CFLAGS -Zmt" + CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__" + CXXFLAGS="$CXXFLAGS -Zmt" + # autoconf's macro sets -Zexe and suffix both, which conflict:w + LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" + ac_cv_exeext=.exe + ;; +esac + + + +echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 +echo "configure:2439: checking for executable suffix" >&5 +if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$LD"; then - ac_cv_prog_LD="$LD" # Let the user override the test. + if test "$CYGWIN" = yes || test "$MINGW32" = yes; then + ac_cv_exeext=.exe else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_LD="ld" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_LD" && ac_cv_prog_LD="ld" -fi + rm -f conftest* + echo 'int main () { return 0; }' > conftest.$ac_ext + ac_cv_exeext= + if { (eval echo configure:2449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + for file in conftest.*; do + case $file in + *.c | *.o | *.obj) ;; + *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; + esac + done + else + { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } + fi + rm -f conftest* + test x"${ac_cv_exeext}" = x && ac_cv_exeext=no fi -LD="$ac_cv_prog_LD" -if test -n "$LD"; then - echo "$ac_t""$LD" 1>&6 -else - echo "$ac_t""no" 1>&6 fi +EXEEXT="" +test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} +echo "$ac_t""${ac_cv_exeext}" 1>&6 +ac_exeext=$EXEEXT + +echo $ac_n "checking for object suffix""... $ac_c" 1>&6 +echo "configure:2470: checking for object suffix" >&5 +if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - LD="ld" + rm -f conftest* +echo 'int i = 1;' > conftest.$ac_ext +if { (eval echo configure:2476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + for ac_file in conftest.*; do + case $ac_file in + *.c) ;; + *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;; + esac + done +else + { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; } fi +rm -f conftest* fi -# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. -set dummy ${ac_tool_prefix}ar; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2698: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then +echo "$ac_t""$ac_cv_objext" 1>&6 +OBJEXT=$ac_cv_objext +ac_objext=$ac_cv_objext + + +PROG_EXT="$EXEEXT" + +test -n "$PROG_EXT" && cat >> confdefs.h <&6 +echo "configure:2513: checking whether ln -s works" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. + rm -f conftestdata +if ln -s X conftestdata 2>/dev/null +then + rm -f conftestdata + ac_cv_prog_LN_S="ln -s" else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_AR="${ac_tool_prefix}ar" - break - fi - done - IFS="$ac_save_ifs" + ac_cv_prog_LN_S=ln fi fi -AR="$ac_cv_prog_AR" -if test -n "$AR"; then - echo "$ac_t""$AR" 1>&6 +LN_S="$ac_cv_prog_LN_S" +if test "$ac_cv_prog_LN_S" = "ln -s"; then + echo "$ac_t""yes" 1>&6 else echo "$ac_t""no" 1>&6 fi -if test -z "$ac_cv_prog_AR"; then -if test -n "$ac_tool_prefix"; then - # Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 + + +if test "$cross_compiling" = yes ; then + + # defaults that we might want to override + : ${BUILD_CFLAGS:=''} + : ${BUILD_CPPFLAGS:='-I$(INCDIR)'} + : ${BUILD_LDFLAGS:=''} + : ${BUILD_LIBS:=''} + : ${BUILD_EXEEXT:='$x'} + : ${BUILD_OBJEXT:='o'} + + +# Check whether --with-build-cc or --without-build-cc was given. +if test "${with_build_cc+set}" = set; then + withval="$with_build_cc" + BUILD_CC="$withval" +else + for ac_prog in gcc cc cl +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2730: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then +echo "configure:2557: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. + if test -n "$BUILD_CC"; then + ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_prog_AR="ar" + ac_cv_prog_BUILD_CC="$ac_prog" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar" fi fi -AR="$ac_cv_prog_AR" -if test -n "$AR"; then - echo "$ac_t""$AR" 1>&6 +BUILD_CC="$ac_cv_prog_BUILD_CC" +if test -n "$BUILD_CC"; then + echo "$ac_t""$BUILD_CC" 1>&6 else echo "$ac_t""no" 1>&6 fi +test -n "$BUILD_CC" && break +done + +fi + + echo $ac_n "checking for native build C compiler""... $ac_c" 1>&6 +echo "configure:2589: checking for native build C compiler" >&5 + echo "$ac_t""$BUILD_CC" 1>&6 + + echo $ac_n "checking for native build C preprocessor""... $ac_c" 1>&6 +echo "configure:2593: checking for native build C preprocessor" >&5 + +# Check whether --with-build-cpp or --without-build-cpp was given. +if test "${with_build_cpp+set}" = set; then + withval="$with_build_cpp" + BUILD_CPP="$withval" else - AR="ar" + BUILD_CPP='${BUILD_CC} -E' fi + + echo "$ac_t""$BUILD_CPP" 1>&6 + + echo $ac_n "checking for native build C flags""... $ac_c" 1>&6 +echo "configure:2606: checking for native build C flags" >&5 + +# Check whether --with-build-cflags or --without-build-cflags was given. +if test "${with_build_cflags+set}" = set; then + withval="$with_build_cflags" + BUILD_CFLAGS="$withval" fi -if eval "test \"`echo '$''{'cf_cv_subst_AR_OPTS'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -echo $ac_n "checking for archiver options (symbol AR_OPTS)""... $ac_c" 1>&6 -echo "configure:2767: checking for archiver options (symbol AR_OPTS)" >&5 -test -z "$AR_OPTS" && AR_OPTS=rv -echo "$ac_t""$AR_OPTS" 1>&6 + echo "$ac_t""$BUILD_CFLAGS" 1>&6 -cf_cv_subst_AR_OPTS=$AR_OPTS + echo $ac_n "checking for native build C preprocessor-flags""... $ac_c" 1>&6 +echo "configure:2617: checking for native build C preprocessor-flags" >&5 + +# Check whether --with-build-cppflags or --without-build-cppflags was given. +if test "${with_build_cppflags+set}" = set; then + withval="$with_build_cppflags" + BUILD_CPPFLAGS="$withval" fi -AR_OPTS=${cf_cv_subst_AR_OPTS} + echo "$ac_t""$BUILD_CPPFLAGS" 1>&6 + echo $ac_n "checking for native build linker-flags""... $ac_c" 1>&6 +echo "configure:2628: checking for native build linker-flags" >&5 + +# Check whether --with-build-ldflags or --without-build-ldflags was given. +if test "${with_build_ldflags+set}" = set; then + withval="$with_build_ldflags" + BUILD_LDFLAGS="$withval" +fi -case "$host_cpu:$host_vendor:$host_os" in - # check for MacOS X, exclude Darwin on ix86 - powerpc:apple:darwin*) # - cat >> confdefs.h <<\EOF -#define MAC_OS_X 1 -EOF + echo "$ac_t""$BUILD_LDFLAGS" 1>&6 - ;; - # check for cygwin enviroment - # -DSTATIC is needed for pcre - *:*:*cygwin*) #(vi - PCRE_DEFINES="$PCRE_DEFINES -DSTATIC" - ;; - # SEIUX doesn't have any usefull preprocessor symbol - mips:sei:seiux*) - cat >> confdefs.h <<\EOF -#define SEIUX 1 -EOF + echo $ac_n "checking for native build linker-libraries""... $ac_c" 1>&6 +echo "configure:2639: checking for native build linker-libraries" >&5 + +# Check whether --with-build-libs or --without-build-libs was given. +if test "${with_build_libs+set}" = set; then + withval="$with_build_libs" + BUILD_LIBS="$withval" +fi - ;; -esac + echo "$ac_t""$BUILD_LIBS" 1>&6 + # this assumes we're on Unix. + BUILD_EXEEXT= + BUILD_OBJEXT=o + : ${BUILD_CC:='${CC}'} + + if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then + { echo "configure: error: Cross-build requires two compilers. +Use --with-build-cc to specify the native compiler." 1>&2; exit 1; } + fi -# Check whether --with-ispell or --without-ispell was given. -if test "${with_ispell+set}" = set; then - withval="$with_ispell" - case "$withval" in #(vi - yes) - { echo "configure: error: expected a value for --with-ispell" 1>&2; exit 1; } - ;; #(vi - no) - ;; #(vi - *) - # user supplied option-value for "--with-ispell=path" - echo $ac_n "checking for ispell""... $ac_c" 1>&6 -echo "configure:2813: checking for ispell" >&5 - ac_cv_path_PATH_ISPELL="$withval" - cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_ISPELL 1 -EOF - echo "$ac_t""$withval" 1>&6 - ;; - esac else - - # user did not specify "--with-ispell"; do automatic check - # Extract the first word of "ispell", so it can be a program name with args. -set dummy ispell; ac_word=$2 + : ${BUILD_CC:='${CC}'} + : ${BUILD_CPP:='${CPP}'} + : ${BUILD_CFLAGS:='${CFLAGS}'} + : ${BUILD_CPPFLAGS:='${CPPFLAGS}'} + : ${BUILD_LDFLAGS:='${LDFLAGS}'} + : ${BUILD_LIBS:='${LIBS}'} + : ${BUILD_EXEEXT:='$x'} + : ${BUILD_OBJEXT:='o'} +fi + + + + + + + + + + + +echo $ac_n "checking build system type""... $ac_c" 1>&6 +echo "configure:2682: checking build system type" >&5 + +build_alias=$build +case "$build_alias" in +NONE) + case $nonopt in + NONE) build_alias=$host_alias ;; + *) build_alias=$nonopt ;; + esac ;; +esac + +build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` +build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$build" 1>&6 + +if test $host != $build; then + ac_tool_prefix=${host_alias}- +else + ac_tool_prefix= +fi + +# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2830: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_PATH_ISPELL'+set}'`\" = set"; then +echo "configure:2708: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$PATH_ISPELL" in - /*) - ac_cv_path_PATH_ISPELL="$PATH_ISPELL" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_PATH_ISPELL="$PATH_ISPELL" # Let the user override the test with a dos path. - ;; - *) + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" - for ac_dir in $ac_dummy; do + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_PATH_ISPELL="$ac_dir/$ac_word" + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" break fi done IFS="$ac_save_ifs" - ;; -esac fi -PATH_ISPELL="$ac_cv_path_PATH_ISPELL" -if test -n "$PATH_ISPELL"; then - echo "$ac_t""$PATH_ISPELL" 1>&6 +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&6 else echo "$ac_t""no" 1>&6 fi - if test -n "$PATH_ISPELL"; then - cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_ISPELL 1 -EOF - fi - -fi - - -# Check whether --with-metamail or --without-metamail was given. -if test "${with_metamail+set}" = set; then - withval="$with_metamail" - case "$withval" in #(vi - yes) - { echo "configure: error: expected a value for --with-metamail" 1>&2; exit 1; } - ;; #(vi - no) - ;; #(vi - *) - # user supplied option-value for "--with-metamail=path" - echo $ac_n "checking for metamail""... $ac_c" 1>&6 -echo "configure:2887: checking for metamail" >&5 - ac_cv_path_PATH_METAMAIL="$withval" - cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_METAMAIL 1 -EOF - echo "$ac_t""$withval" 1>&6 - ;; - esac -else - - # user did not specify "--with-metamail"; do automatic check - # Extract the first word of "metamail", so it can be a program name with args. -set dummy metamail; ac_word=$2 +if test -z "$ac_cv_prog_RANLIB"; then +if test -n "$ac_tool_prefix"; then + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2904: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_PATH_METAMAIL'+set}'`\" = set"; then +echo "configure:2740: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$PATH_METAMAIL" in - /*) - ac_cv_path_PATH_METAMAIL="$PATH_METAMAIL" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_PATH_METAMAIL="$PATH_METAMAIL" # Let the user override the test with a dos path. - ;; - *) + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" - for ac_dir in $ac_dummy; do + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_PATH_METAMAIL="$ac_dir/$ac_word" + ac_cv_prog_RANLIB="ranlib" break fi done IFS="$ac_save_ifs" - ;; -esac + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB="':'" fi -PATH_METAMAIL="$ac_cv_path_PATH_METAMAIL" -if test -n "$PATH_METAMAIL"; then - echo "$ac_t""$PATH_METAMAIL" 1>&6 +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&6 else echo "$ac_t""no" 1>&6 fi - if test -n "$PATH_METAMAIL"; then - cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_METAMAIL 1 -EOF - fi - +else + RANLIB="':'" +fi fi - - -# Check whether --with-sum or --without-sum was given. -if test "${with_sum+set}" = set; then - withval="$with_sum" - case "$withval" in #(vi - yes) - { echo "configure: error: expected a value for --with-sum" 1>&2; exit 1; } - ;; #(vi - no) - ;; #(vi - *) - # user supplied option-value for "--with-sum=path" - echo $ac_n "checking for sum""... $ac_c" 1>&6 -echo "configure:2961: checking for sum" >&5 - ac_cv_path_PATH_SUM="$withval" - cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_SUM 1 -EOF - echo "$ac_t""$withval" 1>&6 - ;; - esac -else - - # user did not specify "--with-sum"; do automatic check - # Extract the first word of "sum", so it can be a program name with args. -set dummy sum; ac_word=$2 +# Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args. +set dummy ${ac_tool_prefix}ld; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2978: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_PATH_SUM'+set}'`\" = set"; then +echo "configure:2775: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$PATH_SUM" in - /*) - ac_cv_path_PATH_SUM="$PATH_SUM" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_PATH_SUM="$PATH_SUM" # Let the user override the test with a dos path. - ;; - *) + if test -n "$LD"; then + ac_cv_prog_LD="$LD" # Let the user override the test. +else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" - for ac_dir in $ac_dummy; do + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_PATH_SUM="$ac_dir/$ac_word" + ac_cv_prog_LD="${ac_tool_prefix}ld" break fi done IFS="$ac_save_ifs" - ;; -esac fi -PATH_SUM="$ac_cv_path_PATH_SUM" -if test -n "$PATH_SUM"; then - echo "$ac_t""$PATH_SUM" 1>&6 +fi +LD="$ac_cv_prog_LD" +if test -n "$LD"; then + echo "$ac_t""$LD" 1>&6 else echo "$ac_t""no" 1>&6 fi - if test -n "$PATH_SUM"; then - cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_SUM 1 -EOF - fi - -fi - -if test $ac_cv_path_PATH_SUM -then -echo $ac_n "checking if $ac_cv_path_PATH_SUM takes -r""... $ac_c" 1>&6 -echo "configure:3025: checking if $ac_cv_path_PATH_SUM takes -r" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_sum_r'+set}'`\" = set"; then +if test -z "$ac_cv_prog_LD"; then +if test -n "$ac_tool_prefix"; then + # Extract the first word of "ld", so it can be a program name with args. +set dummy ld; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2807: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - -if { ac_try='$ac_cv_path_PATH_SUM -r config.log 1>&5'; { (eval echo configure:3030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } -then - ac_cv_prog_sum_r=yes + if test -n "$LD"; then + ac_cv_prog_LD="$LD" # Let the user override the test. else - ac_cv_prog_sum_r=no + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_LD="ld" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_LD" && ac_cv_prog_LD="ld" fi - fi - -if test $ac_cv_prog_sum_r = yes; then - cat >> confdefs.h <<\EOF -#define SUM_TAKES_DASH_R 1 -EOF - - cat >> confdefs.h <&6 else - cat >> confdefs.h <&6 +fi +else + LD="ld" fi -echo "$ac_t""$ac_cv_prog_sum_r" 1>&6 fi - -echo $ac_n "checking for default editor""... $ac_c" 1>&6 -echo "configure:3060: checking for default editor" >&5 - -# Check whether --with-editor or --without-editor was given. -if test "${with_editor+set}" = set; then - withval="$with_editor" - : +# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:2843: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - withval="${DEFAULT_EDITOR}" + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +AR="$ac_cv_prog_AR" +if test -n "$AR"; then + echo "$ac_t""$AR" 1>&6 +else + echo "$ac_t""no" 1>&6 fi -test -n "$withval" && \ -case "$withval" in #(vi -yes) - { echo "configure: error: expected a value for --with-editor" 1>&2; exit 1; } - ;; #(vi -no) withval="" - ;; -esac -DEFAULT_EDITOR="$withval" -if test -z "$DEFAULT_EDITOR" ; then - if test -n "$EDITOR" ; then - DEFAULT_EDITOR="$EDITOR" - elif test -n "$VISUAL" ; then - DEFAULT_EDITOR="$VISUAL" - else - # Extract the first word of "vi", so it can be a program name with args. -set dummy vi; ac_word=$2 + +if test -z "$ac_cv_prog_AR"; then +if test -n "$ac_tool_prefix"; then + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3088: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_EDITOR'+set}'`\" = set"; then +echo "configure:2875: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$DEFAULT_EDITOR" in - /*) - ac_cv_path_DEFAULT_EDITOR="$DEFAULT_EDITOR" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_DEFAULT_EDITOR="$DEFAULT_EDITOR" # Let the user override the test with a dos path. - ;; - *) + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH:/usr/bin:/usr/ucb" - for ac_dir in $ac_dummy; do + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_DEFAULT_EDITOR="$ac_dir/$ac_word" + ac_cv_prog_AR="ar" break fi done IFS="$ac_save_ifs" - test -z "$ac_cv_path_DEFAULT_EDITOR" && ac_cv_path_DEFAULT_EDITOR="vi" - ;; -esac + test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar" fi -DEFAULT_EDITOR="$ac_cv_path_DEFAULT_EDITOR" -if test -n "$DEFAULT_EDITOR"; then - echo "$ac_t""$DEFAULT_EDITOR" 1>&6 +fi +AR="$ac_cv_prog_AR" +if test -n "$AR"; then + echo "$ac_t""$AR" 1>&6 else echo "$ac_t""no" 1>&6 fi - fi +else + AR="ar" fi -echo "$ac_t""$DEFAULT_EDITOR" 1>&6 -cat >> confdefs.h <&6 +echo "configure:2912: checking for options to update archives" >&5 +if eval "test \"`echo '$''{'cf_cv_ar_flags'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cf_cv_ar_flags=unknown + for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv + do + + # check if $ARFLAGS already contains this choice + if test "x$ARFLAGS" != "x" ; then + cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"` + if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then + cf_cv_ar_flags= + break + fi + fi + + rm -f conftest.$ac_cv_objext + rm -f conftest.a + + cat >conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; } ; then + echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&5 + $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&5 1>/dev/null + if test -f conftest.a ; then + cf_cv_ar_flags=$cf_ar_flags + break + fi + else + test -n "$verbose" && echo " cannot compile test-program" 1>&6 + +echo "${as_me:-configure}:2947: testing cannot compile test-program ..." 1>&5 + + + break + fi + done + rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext + +fi + +echo "$ac_t""$cf_cv_ar_flags" 1>&6 + +if test -n "$ARFLAGS" ; then + if test -n "$cf_cv_ar_flags" ; then + ARFLAGS="$ARFLAGS $cf_cv_ar_flags" + fi +else + ARFLAGS=$cf_cv_ar_flags +fi + + + + +case "$host_cpu:$host_vendor:$host_os" in + # check for MacOS X, exclude Darwin on ix86 +# powerpc:apple:darwin*) #(vi +# AC_DEFINE(MAC_OS_X) +# ;; + # check for cygwin environment + # -DSTATIC is needed for pcre + *:*:*cygwin*) #(vi + PCRE_DEFINES="$PCRE_DEFINES -DSTATIC" + ;; + # SEIUX doesn't have any useful preprocessor symbol + mips:sei:seiux*) #(vi + cat >> confdefs.h <<\EOF +#define SEIUX 1 EOF + ;; +esac -# Extract the first word of "sendmail", so it can be a program name with args. -set dummy sendmail; ac_word=$2 + +# Check whether --with-ispell or --without-ispell was given. +if test "${with_ispell+set}" = set; then + withval="$with_ispell" + case "$withval" in #(vi + yes) + { echo "configure: error: expected a value for --with-ispell" 1>&2; exit 1; } + ;; #(vi + no) + ;; #(vi + *) + # user supplied option-value for "--with-ispell=path" + echo $ac_n "checking for ispell""... $ac_c" 1>&6 +echo "configure:3003: checking for ispell" >&5 + ac_cv_path_PATH_ISPELL="$withval" + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_ISPELL 1 +EOF + echo "$ac_t""$withval" 1>&6 + ;; + esac +else + + # user did not specify "--with-ispell"; do automatic check + # Extract the first word of "ispell", so it can be a program name with args. +set dummy ispell; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3133: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then +echo "configure:3020: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PATH_ISPELL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$DEFAULT_MAILER" in + case "$PATH_ISPELL" in /*) - ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a path. + ac_cv_path_PATH_ISPELL="$PATH_ISPELL" # Let the user override the test with a path. ;; ?:/*) - ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a dos path. + ac_cv_path_PATH_ISPELL="$PATH_ISPELL" # Let the user override the test with a dos path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH:/usr/sbin:/usr/lib" + ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word" + ac_cv_path_PATH_ISPELL="$ac_dir/$ac_word" break fi done @@ -3154,238 +3041,65 @@ else ;; esac fi -DEFAULT_MAILER="$ac_cv_path_DEFAULT_MAILER" -if test -n "$DEFAULT_MAILER"; then - echo "$ac_t""$DEFAULT_MAILER" 1>&6 +PATH_ISPELL="$ac_cv_path_PATH_ISPELL" +if test -n "$PATH_ISPELL"; then + echo "$ac_t""$PATH_ISPELL" 1>&6 else echo "$ac_t""no" 1>&6 fi + if test -n "$PATH_ISPELL"; then + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_ISPELL 1 +EOF + fi -# Check whether --with-mailer or --without-mailer was given. -if test "${with_mailer+set}" = set; then - withval="$with_mailer" - : -else - withval="${DEFAULT_MAILER}" -fi -test -n "$withval" && \ -case "$withval" in #(vi -yes) - { echo "configure: error: expected a value for --with-mailer" 1>&2; exit 1; } - ;; #(vi -no) withval="" - ;; -esac -DEFAULT_MAILER="$withval" - -if test -z "$DEFAULT_MAILER" ; then -# Extract the first word of "mailx", so it can be a program name with args. -set dummy mailx; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3187: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$DEFAULT_MAILER" in - /*) - ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH:/usr/bin" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - ;; -esac -fi -DEFAULT_MAILER="$ac_cv_path_DEFAULT_MAILER" -if test -n "$DEFAULT_MAILER"; then - echo "$ac_t""$DEFAULT_MAILER" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -fi -if test -z "$DEFAULT_MAILER" ; then -# Extract the first word of "mail", so it can be a program name with args. -set dummy mail; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3224: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$DEFAULT_MAILER" in - /*) - ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH:/usr/bin" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - ;; -esac -fi -DEFAULT_MAILER="$ac_cv_path_DEFAULT_MAILER" -if test -n "$DEFAULT_MAILER"; then - echo "$ac_t""$DEFAULT_MAILER" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -fi -echo $ac_n "checking for default mailer""... $ac_c" 1>&6 -echo "configure:3258: checking for default mailer" >&5 -if test -n "$DEFAULT_MAILER" ; then - -case $cf_cv_system_name in #(vi -os2*|cygwin*) - ac_cv_path_DEFAULT_MAILER=`echo "$ac_cv_path_DEFAULT_MAILER" | sed -e 's%\\\\%/%g'` - ;; -esac - - -case $cf_cv_system_name in #(vi -os2*|cygwin*) - DEFAULT_MAILER=`echo "$DEFAULT_MAILER" | sed -e 's%\\\\%/%g'` - ;; -esac - - cat >> confdefs.h <&6 - - -echo $ac_n "checking for incoming-mail directory""... $ac_c" 1>&6 -echo "configure:3285: checking for incoming-mail directory" >&5 - -# Check whether --with-mailbox or --without-mailbox was given. -if test "${with_mailbox+set}" = set; then - withval="$with_mailbox" - : -else - withval="${DEFAULT_MAILBOX}" -fi -test -n "$withval" && \ -case "$withval" in #(vi -yes) - { echo "configure: error: expected a value for --with-mailbox" 1>&2; exit 1; } - ;; #(vi -no) withval="" - ;; -esac -DEFAULT_MAILBOX="$withval" - -if test -z "$DEFAULT_MAILBOX" ; then -for cf_dir in \ - /var/spool/mail \ - /usr/spool/mail \ - /var/mail \ - /usr/mail \ - /mail - do - if test -d $cf_dir ; then - DEFAULT_MAILBOX=$cf_dir - break - fi - done -fi -if test -n "$DEFAULT_MAILBOX" ; then - cat >> confdefs.h <&6 - -## PGP Support -echo $ac_n "checking if you want PGP/GPG-Support""... $ac_c" 1>&6 -echo "configure:3331: checking if you want PGP/GPG-Support" >&5 -# Check whether --enable-pgp-gpg or --disable-pgp-gpg was given. -if test "${enable_pgp_gpg+set}" = set; then - enableval="$enable_pgp_gpg" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - USE_PGP_GPG=no - else - USE_PGP_GPG=yes - fi -else - enableval=yes - USE_PGP_GPG=yes - -fi -echo "$ac_t""$enableval" 1>&6 -if test "$USE_PGP_GPG" = "yes" ; then - -# Check whether --with-pgp or --without-pgp was given. -if test "${with_pgp+set}" = set; then - withval="$with_pgp" +# Check whether --with-metamail or --without-metamail was given. +if test "${with_metamail+set}" = set; then + withval="$with_metamail" case "$withval" in #(vi yes) - { echo "configure: error: expected a value for --with-pgp" 1>&2; exit 1; } + { echo "configure: error: expected a value for --with-metamail" 1>&2; exit 1; } ;; #(vi no) ;; #(vi *) - # user supplied option-value for "--with-pgp=path" - echo $ac_n "checking for pgp""... $ac_c" 1>&6 -echo "configure:3363: checking for pgp" >&5 - ac_cv_path_PATH_PGP="$withval" + # user supplied option-value for "--with-metamail=path" + echo $ac_n "checking for metamail""... $ac_c" 1>&6 +echo "configure:3077: checking for metamail" >&5 + ac_cv_path_PATH_METAMAIL="$withval" cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_PGP 1 +#define HAVE_METAMAIL 1 EOF echo "$ac_t""$withval" 1>&6 ;; esac else - # user did not specify "--with-pgp"; do automatic check - # Extract the first word of "pgp", so it can be a program name with args. -set dummy pgp; ac_word=$2 + # user did not specify "--with-metamail"; do automatic check + # Extract the first word of "metamail", so it can be a program name with args. +set dummy metamail; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3380: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_PATH_PGP'+set}'`\" = set"; then +echo "configure:3094: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PATH_METAMAIL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$PATH_PGP" in + case "$PATH_METAMAIL" in /*) - ac_cv_path_PATH_PGP="$PATH_PGP" # Let the user override the test with a path. + ac_cv_path_PATH_METAMAIL="$PATH_METAMAIL" # Let the user override the test with a path. ;; ?:/*) - ac_cv_path_PATH_PGP="$PATH_PGP" # Let the user override the test with a dos path. + ac_cv_path_PATH_METAMAIL="$PATH_METAMAIL" # Let the user override the test with a dos path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" @@ -3393,7 +3107,7 @@ else for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_PATH_PGP="$ac_dir/$ac_word" + ac_cv_path_PATH_METAMAIL="$ac_dir/$ac_word" break fi done @@ -3401,66 +3115,65 @@ else ;; esac fi -PATH_PGP="$ac_cv_path_PATH_PGP" -if test -n "$PATH_PGP"; then - echo "$ac_t""$PATH_PGP" 1>&6 +PATH_METAMAIL="$ac_cv_path_PATH_METAMAIL" +if test -n "$PATH_METAMAIL"; then + echo "$ac_t""$PATH_METAMAIL" 1>&6 else echo "$ac_t""no" 1>&6 fi - if test -n "$PATH_PGP"; then + if test -n "$PATH_METAMAIL"; then cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_PGP 1 +#define HAVE_METAMAIL 1 EOF fi fi - # FIXME: check if pgp is pgp2 or pgp6 - -# Check whether --with-pgpk or --without-pgpk was given. -if test "${with_pgpk+set}" = set; then - withval="$with_pgpk" + +# Check whether --with-sum or --without-sum was given. +if test "${with_sum+set}" = set; then + withval="$with_sum" case "$withval" in #(vi yes) - { echo "configure: error: expected a value for --with-pgpk" 1>&2; exit 1; } + { echo "configure: error: expected a value for --with-sum" 1>&2; exit 1; } ;; #(vi no) ;; #(vi *) - # user supplied option-value for "--with-pgpk=path" - echo $ac_n "checking for pgpk""... $ac_c" 1>&6 -echo "configure:3438: checking for pgpk" >&5 - ac_cv_path_PATH_PGPK="$withval" + # user supplied option-value for "--with-sum=path" + echo $ac_n "checking for sum""... $ac_c" 1>&6 +echo "configure:3151: checking for sum" >&5 + ac_cv_path_PATH_SUM="$withval" cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_PGPK 1 +#define HAVE_SUM 1 EOF echo "$ac_t""$withval" 1>&6 ;; esac else - # user did not specify "--with-pgpk"; do automatic check - # Extract the first word of "pgpk", so it can be a program name with args. -set dummy pgpk; ac_word=$2 + # user did not specify "--with-sum"; do automatic check + # Extract the first word of "sum", so it can be a program name with args. +set dummy sum; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3455: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_PATH_PGPK'+set}'`\" = set"; then +echo "configure:3168: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PATH_SUM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$PATH_PGPK" in + case "$PATH_SUM" in /*) - ac_cv_path_PATH_PGPK="$PATH_PGPK" # Let the user override the test with a path. + ac_cv_path_PATH_SUM="$PATH_SUM" # Let the user override the test with a path. ;; ?:/*) - ac_cv_path_PATH_PGPK="$PATH_PGPK" # Let the user override the test with a dos path. + ac_cv_path_PATH_SUM="$PATH_SUM" # Let the user override the test with a dos path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" @@ -3468,7 +3181,7 @@ else for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_PATH_PGPK="$ac_dir/$ac_word" + ac_cv_path_PATH_SUM="$ac_dir/$ac_word" break fi done @@ -3476,206 +3189,154 @@ else ;; esac fi -PATH_PGPK="$ac_cv_path_PATH_PGPK" -if test -n "$PATH_PGPK"; then - echo "$ac_t""$PATH_PGPK" 1>&6 +PATH_SUM="$ac_cv_path_PATH_SUM" +if test -n "$PATH_SUM"; then + echo "$ac_t""$PATH_SUM" 1>&6 else echo "$ac_t""no" 1>&6 fi - if test -n "$PATH_PGPK"; then + if test -n "$PATH_SUM"; then cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_PGPK 1 +#define HAVE_SUM 1 EOF fi fi - # FIXME: remove tailing k - -# Check whether --with-gpg or --without-gpg was given. -if test "${with_gpg+set}" = set; then - withval="$with_gpg" - case "$withval" in #(vi - yes) - { echo "configure: error: expected a value for --with-gpg" 1>&2; exit 1; } - ;; #(vi - no) - ;; #(vi - *) - # user supplied option-value for "--with-gpg=path" - echo $ac_n "checking for gpg""... $ac_c" 1>&6 -echo "configure:3513: checking for gpg" >&5 - ac_cv_path_PATH_GPG="$withval" - cat >> confdefs.h <&6 +echo "configure:3215: checking if $ac_cv_path_PATH_SUM takes -r" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_sum_r'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if { ac_try='$ac_cv_path_PATH_SUM -r config.log 1>&5'; { (eval echo configure:3220: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } +then + ac_cv_prog_sum_r=yes +else + ac_cv_prog_sum_r=no +fi + +fi + +if test $ac_cv_prog_sum_r = yes; then + cat >> confdefs.h <<\EOF +#define SUM_TAKES_DASH_R 1 EOF - cat >> confdefs.h <<\EOF -#define HAVE_GPG 1 + + cat >> confdefs.h <&6 - ;; - esac + else - - # user did not specify "--with-gpg"; do automatic check - # Extract the first word of "gpg", so it can be a program name with args. -set dummy gpg; ac_word=$2 + cat >> confdefs.h <&6 +fi + + + +echo $ac_n "checking for default editor""... $ac_c" 1>&6 +echo "configure:3250: checking for default editor" >&5 + +# Check whether --with-editor or --without-editor was given. +if test "${with_editor+set}" = set; then + withval="$with_editor" + : +else + withval="${DEFAULT_EDITOR}" +fi +test -n "$withval" && \ +case "$withval" in #(vi +yes) + { echo "configure: error: expected a value for --with-editor" 1>&2; exit 1; } + ;; #(vi +no) withval="" + ;; +esac +DEFAULT_EDITOR="$withval" + +if test -z "$DEFAULT_EDITOR" ; then + if test -n "$EDITOR" ; then + DEFAULT_EDITOR="$EDITOR" + elif test -n "$VISUAL" ; then + DEFAULT_EDITOR="$VISUAL" + else + # Extract the first word of "vi", so it can be a program name with args. +set dummy vi; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3530: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_PATH_GPG'+set}'`\" = set"; then +echo "configure:3278: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_EDITOR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$PATH_GPG" in + case "$DEFAULT_EDITOR" in /*) - ac_cv_path_PATH_GPG="$PATH_GPG" # Let the user override the test with a path. + ac_cv_path_DEFAULT_EDITOR="$DEFAULT_EDITOR" # Let the user override the test with a path. ;; ?:/*) - ac_cv_path_PATH_GPG="$PATH_GPG" # Let the user override the test with a dos path. + ac_cv_path_DEFAULT_EDITOR="$DEFAULT_EDITOR" # Let the user override the test with a dos path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" + ac_dummy="$PATH:/usr/bin:/usr/ucb" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_PATH_GPG="$ac_dir/$ac_word" + ac_cv_path_DEFAULT_EDITOR="$ac_dir/$ac_word" break fi done IFS="$ac_save_ifs" + test -z "$ac_cv_path_DEFAULT_EDITOR" && ac_cv_path_DEFAULT_EDITOR="vi" ;; esac fi -PATH_GPG="$ac_cv_path_PATH_GPG" -if test -n "$PATH_GPG"; then - echo "$ac_t""$PATH_GPG" 1>&6 +DEFAULT_EDITOR="$ac_cv_path_DEFAULT_EDITOR" +if test -n "$DEFAULT_EDITOR"; then + echo "$ac_t""$DEFAULT_EDITOR" 1>&6 else echo "$ac_t""no" 1>&6 fi - if test -n "$PATH_GPG"; then - cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_GPG 1 -EOF - fi - -fi - -fi - -## Default shell - -# Check whether --with-shell or --without-shell was given. -if test "${with_shell+set}" = set; then - withval="$with_shell" - cf_cv_default_shell=$withval -else - cf_cv_default_shell= + fi fi - - -echo $ac_n "checking for the default shell program""... $ac_c" 1>&6 -echo "configure:3587: checking for the default shell program" >&5 -cf_shell_progs="$cf_cv_default_shell" -if test -z "$cf_shell_progs" ; then - cf_shell_progs="sh ksh bash zsh pdksh mksh jsh keysh ash dash" - # TIN preferred default shell for BSD systems is csh. Others are sh. - cat > conftest.$ac_ext < -int main() { - -#if (defined(BSD) && (BSD >= 199103)) -#else -make an error -#endif - -; return 0; } +echo "$ac_t""$DEFAULT_EDITOR" 1>&6 +cat >> confdefs.h <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - $cf_shell_progs="csh tcsh $cf_shell_progs" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -fi -echo "(line 3616) testing paths of shell programs: $cf_shell_progs ..." 1>&5 - -if test -s /etc/shells && test `egrep -c -v '^(#| | |$)' /etc/shells` -gt 0; then - -echo "(line 3620) testing /etc/shells ..." 1>&5 - for cf_prog in $cf_shell_progs - do - case $cf_prog in - /*) - cf_pattern="^"$cf_prog"$" - ;; - */*) - { echo "configure: error: Program name must be absolute or filename: $cf_prog" 1>&2; exit 1; } - ;; - *) - cf_pattern="/"$cf_prog"$" - ;; - esac - cf_path=`egrep $cf_pattern /etc/shells 2>/dev/null` - if test -n "$cf_path" - then - for cf_shell in $cf_path - do - if test -f "$cf_shell" - then - DEFAULT_SHELL="$cf_shell" - break - fi - done - fi - if test -n "$DEFAULT_SHELL" - then - break - fi - done - echo "$ac_t""$DEFAULT_SHELL" 1>&6 -else - -echo "(line 3655) testing $PATH ..." 1>&5 -for ac_prog in $cf_shell_progs -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 +# Extract the first word of "sendmail", so it can be a program name with args. +set dummy sendmail; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3662: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_SHELL'+set}'`\" = set"; then +echo "configure:3323: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$DEFAULT_SHELL" in + case "$DEFAULT_MAILER" in /*) - ac_cv_path_DEFAULT_SHELL="$DEFAULT_SHELL" # Let the user override the test with a path. + ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a path. ;; ?:/*) - ac_cv_path_DEFAULT_SHELL="$DEFAULT_SHELL" # Let the user override the test with a dos path. + ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a dos path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH:/bin:/usr/bin:/usr/xpg4/bin:/bin/posix:/usr/bin/posix:/usr/old/bin:/usr/local/bin" + ac_dummy="$PATH:/usr/sbin:/usr/lib" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then - ac_cv_path_DEFAULT_SHELL="$ac_dir/$ac_word" + ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word" break fi done @@ -3683,2342 +3344,6660 @@ else ;; esac fi -DEFAULT_SHELL="$ac_cv_path_DEFAULT_SHELL" -if test -n "$DEFAULT_SHELL"; then - echo "$ac_t""$DEFAULT_SHELL" 1>&6 +DEFAULT_MAILER="$ac_cv_path_DEFAULT_MAILER" +if test -n "$DEFAULT_MAILER"; then + echo "$ac_t""$DEFAULT_MAILER" 1>&6 else echo "$ac_t""no" 1>&6 fi -test -n "$DEFAULT_SHELL" && break -done +# Check whether --with-mailer or --without-mailer was given. +if test "${with_mailer+set}" = set; then + withval="$with_mailer" + : +else + withval="${DEFAULT_MAILER}" fi -if test -z "$DEFAULT_SHELL" ; then - echo "configure: warning: Cannot find the default shell you specified: $cf_shell_progs" 1>&2 - if test -f /bin/false ; then - echo "configure: warning: Using /bin/false instead" 1>&2 - DEFAULT_SHELL=/bin/false - else - { echo "configure: error: Cannot use /bin/false because it does not exist" 1>&2; exit 1; } - fi -fi -cat >> confdefs.h <&2; exit 1; } + ;; #(vi +no) withval="" + ;; +esac +DEFAULT_MAILER="$withval" - -### check for this early, since it'll override several options -echo $ac_n "checking if NNTP-support will be used""... $ac_c" 1>&6 -echo "configure:3715: checking if NNTP-support will be used" >&5 - -# Check whether --enable-nntp or --disable-nntp was given. -if test "${enable_nntp+set}" = set; then - enableval="$enable_nntp" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - USE_NNTP=no - else - USE_NNTP=yes - fi +if test -z "$DEFAULT_MAILER" ; then +# Extract the first word of "mailx", so it can be a program name with args. +set dummy mailx; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:3377: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - enableval=yes - USE_NNTP=yes - + case "$DEFAULT_MAILER" in + /*) + ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH:/usr/bin" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +DEFAULT_MAILER="$ac_cv_path_DEFAULT_MAILER" +if test -n "$DEFAULT_MAILER"; then + echo "$ac_t""$DEFAULT_MAILER" 1>&6 +else + echo "$ac_t""no" 1>&6 fi -echo "$ac_t""$enableval" 1>&6 +fi +if test -z "$DEFAULT_MAILER" ; then +# Extract the first word of "mail", so it can be a program name with args. +set dummy mail; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:3414: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_MAILER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$DEFAULT_MAILER" in + /*) + ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_DEFAULT_MAILER="$DEFAULT_MAILER" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH:/usr/bin" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_DEFAULT_MAILER="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +DEFAULT_MAILER="$ac_cv_path_DEFAULT_MAILER" +if test -n "$DEFAULT_MAILER"; then + echo "$ac_t""$DEFAULT_MAILER" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi -USE_SPOOLDIR=yes -if test "$USE_NNTP" = "yes" ; then -echo $ac_n "checking whether to be NNTP_ONLY""... $ac_c" 1>&6 -echo "configure:3737: checking whether to be NNTP_ONLY" >&5 +fi +echo $ac_n "checking for default mailer""... $ac_c" 1>&6 +echo "configure:3448: checking for default mailer" >&5 +if test -n "$DEFAULT_MAILER" ; then + +case $cf_cv_system_name in #(vi +os2*|cygwin*) + ac_cv_path_DEFAULT_MAILER=`echo "$ac_cv_path_DEFAULT_MAILER" | sed -e 's%\\\\%/%g'` + ;; +esac -# Check whether --enable-nntp-only or --disable-nntp-only was given. -if test "${enable_nntp_only+set}" = set; then - enableval="$enable_nntp_only" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - cat >> confdefs.h <<\EOF -#define NNTP_ONLY 1 -EOF + +case $cf_cv_system_name in #(vi +os2*|cygwin*) + DEFAULT_MAILER=`echo "$DEFAULT_MAILER" | sed -e 's%\\\\%/%g'` + ;; +esac - USE_SPOOLDIR=no - else - cat >> confdefs.h <<\EOF -#define NNTP_ABLE 1 + cat >> confdefs.h <> confdefs.h <<\EOF -#define NNTP_ABLE 1 -EOF - - + DEFAULT_MAILER=none fi +echo "$ac_t""$DEFAULT_MAILER" 1>&6 -echo "$ac_t""$enableval" 1>&6 -fi -### use option --enable-debug to compile-in test/development code -echo $ac_n "checking if you want to compile-in debug support""... $ac_c" 1>&6 -echo "configure:3769: checking if you want to compile-in debug support" >&5 +echo $ac_n "checking for incoming-mail directory""... $ac_c" 1>&6 +echo "configure:3475: checking for incoming-mail directory" >&5 -# Check whether --enable-debug or --disable-debug was given. -if test "${enable_debug+set}" = set; then - enableval="$enable_debug" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - ENABLE_DEBUG='' - CFLAGS="-g $CFLAGS" - LDFLAGS="-g $LDFLAGS" - else - ENABLE_DEBUG='#' - test -z "$save_CFLAGS" && CFLAGS=`echo $CFLAGS|sed -e 's/-g //' -e 's/-g$//'` - fi +# Check whether --with-mailbox or --without-mailbox was given. +if test "${with_mailbox+set}" = set; then + withval="$with_mailbox" + : else - enableval=no - ENABLE_DEBUG='#' - test -z "$save_CFLAGS" && CFLAGS=`echo $CFLAGS|sed -e 's/-g //' -e 's/-g$//'` - + withval="${DEFAULT_MAILBOX}" fi +test -n "$withval" && \ +case "$withval" in #(vi +yes) + { echo "configure: error: expected a value for --with-mailbox" 1>&2; exit 1; } + ;; #(vi +no) withval="" + ;; +esac +DEFAULT_MAILBOX="$withval" -echo "$ac_t""$enableval" 1>&6 +if test -z "$DEFAULT_MAILBOX" ; then +for cf_dir in \ + /var/spool/mail \ + /usr/spool/mail \ + /var/mail \ + /usr/mail \ + /mail + do + if test -d $cf_dir ; then + DEFAULT_MAILBOX=$cf_dir + break + fi + done +fi +if test -n "$DEFAULT_MAILBOX" ; then + cat >> confdefs.h <&6 -### use option --disable-echo to suppress full display compiling commands -echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6 -echo "configure:3796: checking if you want to see long compiling messages" >&5 +## PGP Support +echo $ac_n "checking if you want PGP/GPG-Support""... $ac_c" 1>&6 +echo "configure:3521: checking if you want PGP/GPG-Support" >&5 -# Check whether --enable-echo or --disable-echo was given. -if test "${enable_echo+set}" = set; then - enableval="$enable_echo" +# Check whether --enable-pgp-gpg or --disable-pgp-gpg was given. +if test "${enable_pgp_gpg+set}" = set; then + enableval="$enable_pgp_gpg" test "$enableval" != no && enableval=yes if test "$enableval" != "yes" ; then - - ECHO_LT='--silent' - ECHO_LD='@echo linking $@;' - RULE_CC=' @echo compiling $<' - SHOW_CC=' @echo compiling $@' - ECHO_CC='@' - + USE_PGP_GPG=no else - - ECHO_LT='' - ECHO_LD='' - RULE_CC='# compiling' - SHOW_CC='# compiling' - ECHO_CC='' - + USE_PGP_GPG=yes fi else enableval=yes - - ECHO_LT='' - ECHO_LD='' - RULE_CC='# compiling' - SHOW_CC='# compiling' - ECHO_CC='' - + USE_PGP_GPG=yes fi echo "$ac_t""$enableval" 1>&6 - - - - - - - -### use option --enable-prototypes to turn on optional prototypes -echo $ac_n "checking if you want to compile with fallback prototypes""... $ac_c" 1>&6 -echo "configure:3841: checking if you want to compile with fallback prototypes" >&5 - -# Check whether --enable-prototypes or --disable-prototypes was given. -if test "${enable_prototypes+set}" = set; then - enableval="$enable_prototypes" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - with_decl_check=yes - else - with_decl_check=no - fi +if test "$USE_PGP_GPG" = "yes" ; then + +# Check whether --with-pgp or --without-pgp was given. +if test "${with_pgp+set}" = set; then + withval="$with_pgp" + case "$withval" in #(vi + yes) + { echo "configure: error: expected a value for --with-pgp" 1>&2; exit 1; } + ;; #(vi + no) + ;; #(vi + *) + # user supplied option-value for "--with-pgp=path" + echo $ac_n "checking for pgp""... $ac_c" 1>&6 +echo "configure:3553: checking for pgp" >&5 + ac_cv_path_PATH_PGP="$withval" + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_PGP 1 +EOF + echo "$ac_t""$withval" 1>&6 + ;; + esac else - enableval=no - with_decl_check=no + # user did not specify "--with-pgp"; do automatic check + # Extract the first word of "pgp", so it can be a program name with args. +set dummy pgp; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:3570: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PATH_PGP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$PATH_PGP" in + /*) + ac_cv_path_PATH_PGP="$PATH_PGP" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_PATH_PGP="$PATH_PGP" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_PATH_PGP="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +PATH_PGP="$ac_cv_path_PATH_PGP" +if test -n "$PATH_PGP"; then + echo "$ac_t""$PATH_PGP" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -n "$PATH_PGP"; then + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_PGP 1 +EOF + fi + +fi + + # FIXME: check if pgp is pgp2 or pgp6 + + +# Check whether --with-pgpk or --without-pgpk was given. +if test "${with_pgpk+set}" = set; then + withval="$with_pgpk" + case "$withval" in #(vi + yes) + { echo "configure: error: expected a value for --with-pgpk" 1>&2; exit 1; } + ;; #(vi + no) + ;; #(vi + *) + # user supplied option-value for "--with-pgpk=path" + echo $ac_n "checking for pgpk""... $ac_c" 1>&6 +echo "configure:3628: checking for pgpk" >&5 + ac_cv_path_PATH_PGPK="$withval" + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_PGPK 1 +EOF + echo "$ac_t""$withval" 1>&6 + ;; + esac +else + + # user did not specify "--with-pgpk"; do automatic check + # Extract the first word of "pgpk", so it can be a program name with args. +set dummy pgpk; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:3645: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PATH_PGPK'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$PATH_PGPK" in + /*) + ac_cv_path_PATH_PGPK="$PATH_PGPK" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_PATH_PGPK="$PATH_PGPK" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_PATH_PGPK="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +PATH_PGPK="$ac_cv_path_PATH_PGPK" +if test -n "$PATH_PGPK"; then + echo "$ac_t""$PATH_PGPK" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -n "$PATH_PGPK"; then + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_PGPK 1 +EOF + fi + +fi + + # FIXME: remove tailing k + + +# Check whether --with-gpg or --without-gpg was given. +if test "${with_gpg+set}" = set; then + withval="$with_gpg" + case "$withval" in #(vi + yes) + { echo "configure: error: expected a value for --with-gpg" 1>&2; exit 1; } + ;; #(vi + no) + ;; #(vi + *) + # user supplied option-value for "--with-gpg=path" + echo $ac_n "checking for gpg""... $ac_c" 1>&6 +echo "configure:3703: checking for gpg" >&5 + ac_cv_path_PATH_GPG="$withval" + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_GPG 1 +EOF + echo "$ac_t""$withval" 1>&6 + ;; + esac +else + + # user did not specify "--with-gpg"; do automatic check + # Extract the first word of "gpg", so it can be a program name with args. +set dummy gpg; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:3720: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PATH_GPG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$PATH_GPG" in + /*) + ac_cv_path_PATH_GPG="$PATH_GPG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_PATH_GPG="$PATH_GPG" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_PATH_GPG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +PATH_GPG="$ac_cv_path_PATH_GPG" +if test -n "$PATH_GPG"; then + echo "$ac_t""$PATH_GPG" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -n "$PATH_GPG"; then + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_GPG 1 +EOF + fi + +fi + +fi + +## slrnface + +# Check whether --with-slrnface or --without-slrnface was given. +if test "${with_slrnface+set}" = set; then + withval="$with_slrnface" + case "$withval" in #(vi + yes) + { echo "configure: error: expected a value for --with-slrnface" 1>&2; exit 1; } + ;; #(vi + no) + ;; #(vi + *) + # user supplied option-value for "--with-slrnface=path" + echo $ac_n "checking for slrnface""... $ac_c" 1>&6 +echo "configure:3779: checking for slrnface" >&5 + ac_cv_path_PATH_SLRNFACE="$withval" + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_SLRNFACE 1 +EOF + echo "$ac_t""$withval" 1>&6 + ;; + esac +else + + # user did not specify "--with-slrnface"; do automatic check + # Extract the first word of "slrnface", so it can be a program name with args. +set dummy slrnface; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:3796: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PATH_SLRNFACE'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$PATH_SLRNFACE" in + /*) + ac_cv_path_PATH_SLRNFACE="$PATH_SLRNFACE" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_PATH_SLRNFACE="$PATH_SLRNFACE" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_PATH_SLRNFACE="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +PATH_SLRNFACE="$ac_cv_path_PATH_SLRNFACE" +if test -n "$PATH_SLRNFACE"; then + echo "$ac_t""$PATH_SLRNFACE" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + if test -n "$PATH_SLRNFACE"; then + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_SLRNFACE 1 +EOF + fi + +fi + + +## Default shell + +# Check whether --with-shell or --without-shell was given. +if test "${with_shell+set}" = set; then + withval="$with_shell" + cf_cv_default_shell=$withval +else + cf_cv_default_shell= +fi + + +echo $ac_n "checking for the default shell program""... $ac_c" 1>&6 +echo "configure:3852: checking for the default shell program" >&5 +cf_shell_progs="$cf_cv_default_shell" +if test -z "$cf_shell_progs" ; then + cf_shell_progs="sh ksh bash zsh pdksh mksh jsh keysh ash dash" + # TIN preferred default shell for BSD systems is csh. Others are sh. + cat > conftest.$ac_ext < +int main() { + +#if (defined(BSD) && (BSD >= 199103)) +#else +make an error +#endif + +; return 0; } +EOF +if { (eval echo configure:3871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + $cf_shell_progs="csh tcsh $cf_shell_progs" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* +fi + +echo "${as_me:-configure}:3881: testing paths of shell programs: $cf_shell_progs ..." 1>&5 + +if test -s /etc/shells && test `egrep -c -v '^(#| | |$)' /etc/shells` -gt 0; then + +echo "${as_me:-configure}:3885: testing /etc/shells ..." 1>&5 + + for cf_prog in $cf_shell_progs + do + case $cf_prog in + /*) + cf_pattern="^"$cf_prog"$" + ;; + */*) + { echo "configure: error: Program name must be absolute or filename: $cf_prog" 1>&2; exit 1; } + ;; + *) + cf_pattern="/"$cf_prog"$" + ;; + esac + cf_path=`egrep $cf_pattern /etc/shells 2>/dev/null` + if test -n "$cf_path" + then + for cf_shell in $cf_path + do + if test -f "$cf_shell" + then + DEFAULT_SHELL="$cf_shell" + break + fi + done + fi + if test -n "$DEFAULT_SHELL" + then + break + fi + done + echo "$ac_t""$DEFAULT_SHELL" 1>&6 +else + +echo "${as_me:-configure}:3920: testing $PATH ..." 1>&5 + +for ac_prog in $cf_shell_progs +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:3927: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_DEFAULT_SHELL'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$DEFAULT_SHELL" in + /*) + ac_cv_path_DEFAULT_SHELL="$DEFAULT_SHELL" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_DEFAULT_SHELL="$DEFAULT_SHELL" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH:/bin:/usr/bin:/usr/xpg4/bin:/bin/posix:/usr/bin/posix:/usr/old/bin:/usr/local/bin" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_DEFAULT_SHELL="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +DEFAULT_SHELL="$ac_cv_path_DEFAULT_SHELL" +if test -n "$DEFAULT_SHELL"; then + echo "$ac_t""$DEFAULT_SHELL" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$DEFAULT_SHELL" && break +done + +fi +if test -z "$DEFAULT_SHELL" ; then + echo "configure: warning: Cannot find the default shell you specified: $cf_shell_progs" 1>&2 + if test -f /bin/false ; then + echo "configure: warning: Using /bin/false instead" 1>&2 + DEFAULT_SHELL=/bin/false + else + { echo "configure: error: Cannot use /bin/false because it does not exist" 1>&2; exit 1; } + fi +fi +cat >> confdefs.h <&6 +echo "configure:3980: checking if NNTP-support will be used" >&5 + +# Check whether --enable-nntp or --disable-nntp was given. +if test "${enable_nntp+set}" = set; then + enableval="$enable_nntp" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + USE_NNTP=no + else + USE_NNTP=yes + fi +else + enableval=yes + USE_NNTP=yes + +fi + +echo "$ac_t""$enableval" 1>&6 + +USE_SPOOLDIR=yes +if test "$USE_NNTP" = "yes" ; then +echo $ac_n "checking whether to be NNTP_ONLY""... $ac_c" 1>&6 +echo "configure:4002: checking whether to be NNTP_ONLY" >&5 + +# Check whether --enable-nntp-only or --disable-nntp-only was given. +if test "${enable_nntp_only+set}" = set; then + enableval="$enable_nntp_only" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + cat >> confdefs.h <<\EOF +#define NNTP_ONLY 1 +EOF + + USE_SPOOLDIR=no + else + cat >> confdefs.h <<\EOF +#define NNTP_ABLE 1 +EOF + + fi +else + enableval=no + cat >> confdefs.h <<\EOF +#define NNTP_ABLE 1 +EOF + + +fi + +echo "$ac_t""$enableval" 1>&6 +fi + +### use option --enable-debug to compile-in test/development code +echo $ac_n "checking if you want to compile-in debug support""... $ac_c" 1>&6 +echo "configure:4034: checking if you want to compile-in debug support" >&5 + +# Check whether --enable-debug or --disable-debug was given. +if test "${enable_debug+set}" = set; then + enableval="$enable_debug" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + ENABLE_DEBUG='' + CFLAGS="-g $CFLAGS" + LDFLAGS="-g $LDFLAGS" + else + ENABLE_DEBUG='#' + test -z "$save_CFLAGS" && CFLAGS=`echo $CFLAGS|sed -e 's/-g //' -e 's/-g$//'` + fi +else + enableval=no + ENABLE_DEBUG='#' + test -z "$save_CFLAGS" && CFLAGS=`echo $CFLAGS|sed -e 's/-g //' -e 's/-g$//'` + +fi + +echo "$ac_t""$enableval" 1>&6 + + +### use option --disable-echo to suppress full display compiling commands + +echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6 +echo "configure:4061: checking if you want to see long compiling messages" >&5 + +# Check whether --enable-echo or --disable-echo was given. +if test "${enable_echo+set}" = set; then + enableval="$enable_echo" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + + ECHO_LT='--silent' + ECHO_LD='@echo linking $@;' + RULE_CC='@echo compiling $<' + SHOW_CC='@echo compiling $@' + ECHO_CC='@' + + else + + ECHO_LT='' + ECHO_LD='' + RULE_CC='' + SHOW_CC='' + ECHO_CC='' + + fi +else + enableval=yes + + ECHO_LT='' + ECHO_LD='' + RULE_CC='' + SHOW_CC='' + ECHO_CC='' + + +fi + +echo "$ac_t""$enableval" 1>&6 + + + + + + + +### use option --enable-prototypes to turn on optional prototypes +echo $ac_n "checking if you want to compile with fallback prototypes""... $ac_c" 1>&6 +echo "configure:4106: checking if you want to compile with fallback prototypes" >&5 + +# Check whether --enable-prototypes or --disable-prototypes was given. +if test "${enable_prototypes+set}" = set; then + enableval="$enable_prototypes" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + with_decl_check=yes + else + with_decl_check=no + fi +else + enableval=no + with_decl_check=no + +fi + +echo "$ac_t""$enableval" 1>&6 + +### use option --enable-warnings to turn on all gcc warnings +EXTRA_CFLAGS="" +if test -n "$GCC" +then +echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6 +echo "configure:4130: checking if you want to turn on gcc warnings" >&5 + +# Check whether --enable-warnings or --disable-warnings was given. +if test "${enable_warnings+set}" = set; then + enableval="$enable_warnings" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + with_warnings=yes + else + with_warnings=no + fi +else + enableval=no + with_warnings=no + +fi + +echo "$ac_t""$with_warnings" 1>&6 +if test "$with_warnings" = "yes" +then + with_ext_const=yes + + +GCC_VERSION=none +if test "$GCC" = yes ; then + echo $ac_n "checking version of $CC""... $ac_c" 1>&6 +echo "configure:4156: checking version of $CC" >&5 + GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" + test -z "$GCC_VERSION" && GCC_VERSION=unknown + echo "$ac_t""$GCC_VERSION" 1>&6 +fi + + + + +INTEL_COMPILER=no + +if test "$GCC" = yes ; then + case $host_os in + linux*|gnu*) + echo $ac_n "checking if this is really Intel C compiler""... $ac_c" 1>&6 +echo "configure:4171: checking if this is really Intel C compiler" >&5 + cf_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -no-gcc" + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + INTEL_COMPILER=yes +cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* + CFLAGS="$cf_save_CFLAGS" + echo "$ac_t""$INTEL_COMPILER" 1>&6 + ;; + esac +fi + + +cat > conftest.$ac_ext <&6 +echo "configure:4223: checking for $CC warning options" >&5 + cf_save_CFLAGS="$CFLAGS" + EXTRA_CFLAGS="-Wall" + for cf_opt in \ + wd1419 \ + wd1683 \ + wd1684 \ + wd193 \ + wd593 \ + wd279 \ + wd810 \ + wd869 \ + wd981 + do + CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" + if { (eval echo configure:4238: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6 + EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" + fi + done + CFLAGS="$cf_save_CFLAGS" + +elif test "$GCC" = yes +then + echo "checking for $CC warning options" 1>&6 +echo "configure:4248: checking for $CC warning options" >&5 + cf_save_CFLAGS="$CFLAGS" + EXTRA_CFLAGS= + cf_warn_CONST="" + test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings" + for cf_opt in W Wall \ + Wbad-function-cast \ + Wcast-align \ + Wcast-qual \ + Winline \ + Wmissing-declarations \ + Wmissing-prototypes \ + Wnested-externs \ + Wpointer-arith \ + Wshadow \ + Wstrict-prototypes \ + Wundef $cf_warn_CONST + do + CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" + if { (eval echo configure:4267: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6 + case $cf_opt in #(vi + Wcast-qual) #(vi + CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES" + ;; + Winline) #(vi + case $GCC_VERSION in + [34].*) + test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6 + +echo "${as_me:-configure}:4278: testing feature is broken in gcc $GCC_VERSION ..." 1>&5 + + + continue;; + esac + ;; + esac + EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" + fi + done + CFLAGS="$cf_save_CFLAGS" +fi +rm -rf conftest* + + + +fi +fi + +## !NNTP_ONLY +if test "$USE_SPOOLDIR" = "yes"; then + ## options for directories + echo $ac_n "checking for news-library path""... $ac_c" 1>&6 +echo "configure:4301: checking for news-library path" >&5 + +# Check whether --with-libdir or --without-libdir was given. +if test "${with_libdir+set}" = set; then + withval="$with_libdir" + : +else + withval="${NEWSLIBDIR:-/usr/lib/news}" +fi +if true ; then + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" +fi + +case ".$withval" in #(vi +.\$\(*\)*|.\'*\'*) #(vi + ;; +..|./*|.\\*) #(vi + ;; +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX + ;; +.\${*prefix}*) #(vi + eval withval="$withval" + case ".$withval" in #(vi + .NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; + esac + ;; #(vi +.no|.NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; +*) + { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } + ;; +esac + +fi +NEWSLIBDIR="$withval" + + echo "$ac_t""$NEWSLIBDIR" 1>&6 + + echo $ac_n "checking for news spool-directory path""... $ac_c" 1>&6 +echo "configure:4347: checking for news spool-directory path" >&5 + +# Check whether --with-spooldir or --without-spooldir was given. +if test "${with_spooldir+set}" = set; then + withval="$with_spooldir" + : +else + withval="${SPOOLDIR:-/var/spool/news}" +fi +if true ; then + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" +fi + +case ".$withval" in #(vi +.\$\(*\)*|.\'*\'*) #(vi + ;; +..|./*|.\\*) #(vi + ;; +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX + ;; +.\${*prefix}*) #(vi + eval withval="$withval" + case ".$withval" in #(vi + .NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; + esac + ;; #(vi +.no|.NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; +*) + { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } + ;; +esac + +fi +SPOOLDIR="$withval" + + echo "$ac_t""$SPOOLDIR" 1>&6 + + echo $ac_n "checking for news overview-directory path""... $ac_c" 1>&6 +echo "configure:4393: checking for news overview-directory path" >&5 + +# Check whether --with-nov-dir or --without-nov-dir was given. +if test "${with_nov_dir+set}" = set; then + withval="$with_nov_dir" + : +else + withval="${NOVROOTDIR:-$SPOOLDIR}" +fi +if true ; then + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" +fi + +case ".$withval" in #(vi +.\$\(*\)*|.\'*\'*) #(vi + ;; +..|./*|.\\*) #(vi + ;; +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX + ;; +.\${*prefix}*) #(vi + eval withval="$withval" + case ".$withval" in #(vi + .NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; + esac + ;; #(vi +.no|.NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; +*) + { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } + ;; +esac + +fi +NOVROOTDIR="$withval" + + echo "$ac_t""$NOVROOTDIR" 1>&6 + + echo $ac_n "checking for overview filename""... $ac_c" 1>&6 +echo "configure:4439: checking for overview filename" >&5 + +# Check whether --with-nov-fname or --without-nov-fname was given. +if test "${with_nov_fname+set}" = set; then + withval="$with_nov_fname" + : +else + withval="${OVERVIEW_FILE-.overview}" +fi +test -z "$withval" && withval=no +case "$withval" in #(vi +yes) + { echo "configure: error: expected a value for --with-nov-fname" 1>&2; exit 1; } + ;; #(vi +no) withval="" + ;; +esac +OVERVIEW_FILE="$withval" + + cat >> confdefs.h <&6 + + INEWSPATH="$NEWSLIBDIR" +else + NEWSLIBDIR="" + SPOOLDIR="" + NOVROOTDIR="" + INEWSPATH="/usr/lib/news" +fi + +## TODO: kick the --with-inews-dir= stuff, the check below should be enough +## (requires some code rework in tin) +echo $ac_n "checking for directory containing \"inews\"""... $ac_c" 1>&6 +echo "configure:4475: checking for directory containing \"inews\"" >&5 + +# Check whether --with-inews-dir or --without-inews-dir was given. +if test "${with_inews_dir+set}" = set; then + withval="$with_inews_dir" + : +else + withval="${INEWSDIR:-$INEWSPATH}" +fi +if true ; then + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" +fi + +case ".$withval" in #(vi +.\$\(*\)*|.\'*\'*) #(vi + ;; +..|./*|.\\*) #(vi + ;; +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX + ;; +.\${*prefix}*) #(vi + eval withval="$withval" + case ".$withval" in #(vi + .NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; + esac + ;; #(vi +.no|.NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; +*) + { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } + ;; +esac + +fi +INEWSDIR="$withval" + +INEWSDIR=`echo $INEWSDIR |sed -e 's,/$,,'` +echo "$ac_t""$INEWSDIR" 1>&6 + +# Extract the first word of "inews", so it can be a program name with args. +set dummy inews; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:4524: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_INEWS'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$INEWS" in + /*) + ac_cv_path_INEWS="$INEWS" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_INEWS="$INEWS" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$INEWSDIR:/news/bin:/usr/lib/news/bin:$INEWSPATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_INEWS="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_INEWS" && ac_cv_path_INEWS="--internal" + ;; +esac +fi +INEWS="$ac_cv_path_INEWS" +if test -n "$INEWS"; then + echo "$ac_t""$INEWS" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +if test "$ac_cv_path_INEWS" != ""; then + if test "$ac_cv_path_INEWS" = "--internal"; then + +cf_define=`echo "$INEWS"|sed -e 's/\\\\/\\\\134/g' -e 's/^[ ]\\+//' -e 's/[ ]\\+$//' -e 's/"/\\\\042/g'` +cat >> confdefs.h <> confdefs.h <&6 +echo "configure:4580: checking if you want socks library" >&5 +if eval "test \"`echo '$''{'cf_cv_use_libsocks'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + +# Check whether --with-socks or --without-socks was given. +if test "${with_socks+set}" = set; then + withval="$with_socks" + cf_cv_use_libsocks=$withval +else + cf_cv_use_libsocks=no +fi + + +fi + +echo "$ac_t""$cf_cv_use_libsocks" 1>&6 + +echo $ac_n "checking if you want socks5 library""... $ac_c" 1>&6 +echo "configure:4600: checking if you want socks5 library" >&5 +if eval "test \"`echo '$''{'cf_cv_use_libsocks5'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + +# Check whether --with-socks5 or --without-socks5 was given. +if test "${with_socks5+set}" = set; then + withval="$with_socks5" + cf_cv_use_libsocks5=$withval +else + cf_cv_use_libsocks5=no +fi + + +fi + +echo "$ac_t""$cf_cv_use_libsocks5" 1>&6 + +if test "x$cf_cv_use_libsocks" != xno ; then + + + case "$cf_cv_use_libsocks" in #(vi + no) #(vi + ;; + yes) #(vi + ;; + *) + + +for cf_searchpath in `echo "$cf_cv_use_libsocks" | tr $PATH_SEPARATOR ' '`; do + if test -d $cf_searchpath/include; then + +if test -n "$cf_searchpath/include" ; then + for cf_add_incdir in $cf_searchpath/include + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:4664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes +fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:4681: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + + elif test -d $cf_searchpath/../include ; then + +if test -n "$cf_searchpath/../include" ; then + for cf_add_incdir in $cf_searchpath/../include + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:4730: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes +fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:4747: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + + else +{ echo "configure: error: cannot find socks library under $cf_cv_use_libsocks" 1>&2; exit 1; } + fi + if test -d $cf_searchpath/lib; then + +if test -n "$cf_searchpath/lib" ; then + for cf_add_libdir in $cf_searchpath/lib + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:4787: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + elif test -d $cf_searchpath ; then + +if test -n "$cf_searchpath" ; then + for cf_add_libdir in $cf_searchpath + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:4817: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + else +{ echo "configure: error: cannot find socks library under $cf_cv_use_libsocks" 1>&2; exit 1; } + fi +done + + ;; + esac + + + +# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these +# will be set on completion of the AC_TRY_LINK below. +cf_cv_header_path_socks= +cf_cv_library_path_socks= + + +echo "${as_me:-configure}:4842: testing Starting FIND_LINKAGE(socks,) ..." 1>&5 + + +cf_save_LIBS="$LIBS" + +cat > conftest.$ac_ext < + +int main() { + + Raccept((char *)0) + +; return 0; } +EOF +if { (eval echo configure:4859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + cf_cv_find_linkage_socks=yes + cf_cv_header_path_socks=/usr/include + cf_cv_library_path_socks=/usr/lib + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + + +LIBS="-lsocks $cf_save_LIBS" + +cat > conftest.$ac_ext < + +int main() { + + Raccept((char *)0) + +; return 0; } +EOF +if { (eval echo configure:4886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + cf_cv_find_linkage_socks=yes + cf_cv_header_path_socks=/usr/include + cf_cv_library_path_socks=/usr/lib + cf_cv_library_file_socks="-lsocks" + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + + cf_cv_find_linkage_socks=no + LIBS="$cf_save_LIBS" + + test -n "$verbose" && echo " find linkage for socks library" 1>&6 + +echo "${as_me:-configure}:4904: testing find linkage for socks library ..." 1>&5 + + + +echo "${as_me:-configure}:4908: testing Searching for headers in FIND_LINKAGE(socks,) ..." 1>&5 + + + cf_save_CPPFLAGS="$CPPFLAGS" + cf_test_CPPFLAGS="$CPPFLAGS" + + +cf_search= + +# collect the current set of include-directories from compiler flags +cf_header_path_list="" +if test -n "${CFLAGS}${CPPFLAGS}" ; then + for cf_header_path in $CPPFLAGS $CFLAGS + do + case $cf_header_path in #(vi + -I*) + cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` + +test "$cf_header_path" != "NONE" && \ +test -d "$cf_header_path" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" + test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include" + test -d $cf_header_path/include/socks && cf_search="$cf_search $cf_header_path/include/socks" + test -d $cf_header_path/include/socks/include && cf_search="$cf_search $cf_header_path/include/socks/include" + test -d $cf_header_path/socks/include && cf_search="$cf_search $cf_header_path/socks/include" + test -d $cf_header_path/socks/include/socks && cf_search="$cf_search $cf_header_path/socks/include/socks" +} + + cf_header_path_list="$cf_header_path_list $cf_search" + ;; + esac + done +fi + +# add the variations for the package we are looking for + +cf_search= + + +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr" + test -d /usr/include && cf_search="$cf_search /usr/include" + test -d /usr/include/socks && cf_search="$cf_search /usr/include/socks" + test -d /usr/include/socks/include && cf_search="$cf_search /usr/include/socks/include" + test -d /usr/socks/include && cf_search="$cf_search /usr/socks/include" + test -d /usr/socks/include/socks && cf_search="$cf_search /usr/socks/include/socks" +} + + +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $prefix" + test -d $prefix/include && cf_search="$cf_search $prefix/include" + test -d $prefix/include/socks && cf_search="$cf_search $prefix/include/socks" + test -d $prefix/include/socks/include && cf_search="$cf_search $prefix/include/socks/include" + test -d $prefix/socks/include && cf_search="$cf_search $prefix/socks/include" + test -d $prefix/socks/include/socks && cf_search="$cf_search $prefix/socks/include/socks" +} + + +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr/local" + test -d /usr/local/include && cf_search="$cf_search /usr/local/include" + test -d /usr/local/include/socks && cf_search="$cf_search /usr/local/include/socks" + test -d /usr/local/include/socks/include && cf_search="$cf_search /usr/local/include/socks/include" + test -d /usr/local/socks/include && cf_search="$cf_search /usr/local/socks/include" + test -d /usr/local/socks/include/socks && cf_search="$cf_search /usr/local/socks/include/socks" +} + + +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /opt" + test -d /opt/include && cf_search="$cf_search /opt/include" + test -d /opt/include/socks && cf_search="$cf_search /opt/include/socks" + test -d /opt/include/socks/include && cf_search="$cf_search /opt/include/socks/include" + test -d /opt/socks/include && cf_search="$cf_search /opt/socks/include" + test -d /opt/socks/include/socks && cf_search="$cf_search /opt/socks/include/socks" +} + + +test "$HOME" != "$prefix" && \ +test -d "$HOME" && \ +(test $prefix = NONE || test "$HOME" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under $HOME" + test -d $HOME/include && cf_search="$cf_search $HOME/include" + test -d $HOME/include/socks && cf_search="$cf_search $HOME/include/socks" + test -d $HOME/include/socks/include && cf_search="$cf_search $HOME/include/socks/include" + test -d $HOME/socks/include && cf_search="$cf_search $HOME/socks/include" + test -d $HOME/socks/include/socks && cf_search="$cf_search $HOME/socks/include/socks" +} + + + +test "$includedir" != NONE && \ +test "$includedir" != "/usr/include" && \ +test -d "$includedir" && { + test -d $includedir && cf_search="$cf_search $includedir" + test -d $includedir/socks && cf_search="$cf_search $includedir/socks" +} + +test "$oldincludedir" != NONE && \ +test "$oldincludedir" != "/usr/include" && \ +test -d "$oldincludedir" && { + test -d $oldincludedir && cf_search="$cf_search $oldincludedir" + test -d $oldincludedir/socks && cf_search="$cf_search $oldincludedir/socks" +} + +cf_search="$cf_search $cf_header_path_list" + + for cf_cv_header_path_socks in $cf_search + do + if test -d $cf_cv_header_path_socks ; then + test -n "$verbose" && echo " ... testing $cf_cv_header_path_socks" 1>&6 + +echo "${as_me:-configure}:5030: testing ... testing $cf_cv_header_path_socks ..." 1>&5 + + + CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_socks" + cat > conftest.$ac_ext < + +int main() { + + Raccept((char *)0) + +; return 0; } +EOF +if { (eval echo configure:5046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + test -n "$verbose" && echo " ... found socks headers in $cf_cv_header_path_socks" 1>&6 + +echo "${as_me:-configure}:5051: testing ... found socks headers in $cf_cv_header_path_socks ..." 1>&5 + + + cf_cv_find_linkage_socks=maybe + cf_test_CPPFLAGS="$CPPFLAGS" + break +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + CPPFLAGS="$cf_save_CPPFLAGS" + +fi +rm -f conftest* + fi + done + + if test "$cf_cv_find_linkage_socks" = maybe ; then + + +echo "${as_me:-configure}:5072: testing Searching for socks library in FIND_LINKAGE(socks,) ..." 1>&5 + + + cf_save_LIBS="$LIBS" + cf_save_LDFLAGS="$LDFLAGS" + + + + if test "$cf_cv_find_linkage_socks" != yes ; then + +cf_search= +cf_library_path_list="" +if test -n "${LDFLAGS}${LIBS}" ; then + for cf_library_path in $LDFLAGS $LIBS + do + case $cf_library_path in #(vi + -L*) + cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` + +test "$cf_library_path" != "NONE" && \ +test -d "$cf_library_path" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" + test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib" + test -d $cf_library_path/lib/socks && cf_search="$cf_search $cf_library_path/lib/socks" + test -d $cf_library_path/lib/socks/lib && cf_search="$cf_search $cf_library_path/lib/socks/lib" + test -d $cf_library_path/socks/lib && cf_search="$cf_search $cf_library_path/socks/lib" + test -d $cf_library_path/socks/lib/socks && cf_search="$cf_search $cf_library_path/socks/lib/socks" +} + + cf_library_path_list="$cf_library_path_list $cf_search" + ;; + esac + done +fi + + +cf_search= + + +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr" + test -d /usr/lib && cf_search="$cf_search /usr/lib" + test -d /usr/lib/socks && cf_search="$cf_search /usr/lib/socks" + test -d /usr/lib/socks/lib && cf_search="$cf_search /usr/lib/socks/lib" + test -d /usr/socks/lib && cf_search="$cf_search /usr/socks/lib" + test -d /usr/socks/lib/socks && cf_search="$cf_search /usr/socks/lib/socks" +} + + +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $prefix" + test -d $prefix/lib && cf_search="$cf_search $prefix/lib" + test -d $prefix/lib/socks && cf_search="$cf_search $prefix/lib/socks" + test -d $prefix/lib/socks/lib && cf_search="$cf_search $prefix/lib/socks/lib" + test -d $prefix/socks/lib && cf_search="$cf_search $prefix/socks/lib" + test -d $prefix/socks/lib/socks && cf_search="$cf_search $prefix/socks/lib/socks" +} + + +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr/local" + test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" + test -d /usr/local/lib/socks && cf_search="$cf_search /usr/local/lib/socks" + test -d /usr/local/lib/socks/lib && cf_search="$cf_search /usr/local/lib/socks/lib" + test -d /usr/local/socks/lib && cf_search="$cf_search /usr/local/socks/lib" + test -d /usr/local/socks/lib/socks && cf_search="$cf_search /usr/local/socks/lib/socks" +} + + +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /opt" + test -d /opt/lib && cf_search="$cf_search /opt/lib" + test -d /opt/lib/socks && cf_search="$cf_search /opt/lib/socks" + test -d /opt/lib/socks/lib && cf_search="$cf_search /opt/lib/socks/lib" + test -d /opt/socks/lib && cf_search="$cf_search /opt/socks/lib" + test -d /opt/socks/lib/socks && cf_search="$cf_search /opt/socks/lib/socks" +} + + +test "$HOME" != "$prefix" && \ +test -d "$HOME" && \ +(test $prefix = NONE || test "$HOME" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under $HOME" + test -d $HOME/lib && cf_search="$cf_search $HOME/lib" + test -d $HOME/lib/socks && cf_search="$cf_search $HOME/lib/socks" + test -d $HOME/lib/socks/lib && cf_search="$cf_search $HOME/lib/socks/lib" + test -d $HOME/socks/lib && cf_search="$cf_search $HOME/socks/lib" + test -d $HOME/socks/lib/socks && cf_search="$cf_search $HOME/socks/lib/socks" +} + + + +cf_search="$cf_library_path_list $cf_search" + + for cf_cv_library_path_socks in $cf_search + do + if test -d $cf_cv_library_path_socks ; then + test -n "$verbose" && echo " ... testing $cf_cv_library_path_socks" 1>&6 + +echo "${as_me:-configure}:5180: testing ... testing $cf_cv_library_path_socks ..." 1>&5 + + + CPPFLAGS="$cf_test_CPPFLAGS" + LIBS="-lsocks $cf_save_LIBS" + LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_socks" + cat > conftest.$ac_ext < + +int main() { + + Raccept((char *)0) + +; return 0; } +EOF +if { (eval echo configure:5198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + test -n "$verbose" && echo " ... found socks library in $cf_cv_library_path_socks" 1>&6 + +echo "${as_me:-configure}:5203: testing ... found socks library in $cf_cv_library_path_socks ..." 1>&5 + + + cf_cv_find_linkage_socks=yes + cf_cv_library_file_socks="-lsocks" + break +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + + CPPFLAGS="$cf_save_CPPFLAGS" + LIBS="$cf_save_LIBS" + LDFLAGS="$cf_save_LDFLAGS" + +fi +rm -rf conftest* + fi + done + CPPFLAGS="$cf_save_CPPFLAGS" + LDFLAGS="$cf_save_LDFLAGS" + fi + + else + cf_cv_find_linkage_socks=no + fi + +fi +rm -rf conftest* + +fi +rm -rf conftest* + +LIBS="$cf_save_LIBS" + +if test "$cf_cv_find_linkage_socks" = yes ; then + + +if test -n "$cf_cv_header_path_socks" ; then + for cf_add_incdir in $cf_cv_header_path_socks + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:5272: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes +fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:5289: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + + +if test -n "$cf_cv_library_path_socks" ; then + for cf_add_libdir in $cf_cv_library_path_socks + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:5325: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + LIBS="-lsocks $LIBS" + +else +echo "configure: warning: Cannot find socks library" 1>&2 +fi + + + if test "x$cf_cv_find_linkage_socks" = "xyes" ; then + cat >> confdefs.h <<\EOF +#define SOCKS 1 +EOF + + + cat >> confdefs.h <<\EOF +#define accept Raccept +EOF + + cat >> confdefs.h <<\EOF +#define bind Rbind +EOF + + cat >> confdefs.h <<\EOF +#define connect Rconnect +EOF + + cat >> confdefs.h <<\EOF +#define getpeername Rgetpeername +EOF + + cat >> confdefs.h <<\EOF +#define getsockname Rgetsockname +EOF + + cat >> confdefs.h <<\EOF +#define listen Rlisten +EOF + + cat >> confdefs.h <<\EOF +#define recvfrom Rrecvfrom +EOF + + cat >> confdefs.h <<\EOF +#define select Rselect +EOF + + else + { echo "configure: error: cannot link with socks library" 1>&2; exit 1; } + fi + +else + +cf_test_netlibs=no + +echo $ac_n "checking for network libraries""... $ac_c" 1>&6 +echo "configure:5388: checking for network libraries" >&5 + +if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +echo "$ac_t""working..." 1>&6 + +cf_cv_netlibs="" +cf_test_netlibs=yes + +case $host_os in #(vi +mingw32) # (vi + for ac_hdr in windows.h winsock.h winsock2.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5405: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5415: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done + + + if test "$ac_cv_header_winsock2_h" = "yes" ; then + cf_winsock_lib="-lws2_32" + elif test "$ac_cv_header_winsock_h" = "yes" ; then + cf_winsock_lib="-lwsock32" + fi + + cf_save_LIBS="$LIBS" + LIBS="$cf_winsock_lib $LIBS" + + cat > conftest.$ac_ext < +#ifdef HAVE_WINSOCK2_H +#include +#else +#ifdef HAVE_WINSOCK_H +#include +#endif +#endif +#endif + +int main() { + + char buffer[1024]; + gethostname(buffer, sizeof(buffer)); +; return 0; } +EOF +if { (eval echo configure:5474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_netlibs="$cf_winsock_lib $cf_cv_netlibs" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + { echo "configure: error: Cannot link against winsock library" 1>&2; exit 1; } +fi +rm -rf conftest* + + LIBS="$cf_save_LIBS" + ;; +*) + for ac_func in gethostname +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5491: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:5519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_$ac_func=no" +fi +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 + +echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6 +echo "configure:5542: checking for gethostname in -lnsl" >&5 +ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lnsl $cf_cv_netlibs $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + +cf_tr_func=`echo "gethostname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 + + ac_cv_func_gethostname=unknown + unset ac_cv_func_gethostname 2>/dev/null + + +echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6 +echo "configure:5594: checking for gethostname in -lsocket" >&5 +ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lsocket $cf_cv_netlibs $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + +cf_tr_func=`echo "gethostname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 + + ac_cv_func_gethostname=unknown + unset ac_cv_func_gethostname 2>/dev/null + +fi + + +fi + + +fi +done + + + echo $ac_n "checking for main in -linet""... $ac_c" 1>&6 +echo "configure:5655: checking for main in -linet" >&5 +ac_lib_var=`echo inet'_'main | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-linet $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cf_cv_netlibs="-linet $cf_cv_netlibs" +else + echo "$ac_t""no" 1>&6 +fi + + + if test "$ac_cv_func_lsocket" != no ; then + for ac_func in socket +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5695: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:5723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_$ac_func=no" +fi +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 + +echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 +echo "configure:5746: checking for socket in -lsocket" >&5 +ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lsocket $cf_cv_netlibs $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + +cf_tr_func=`echo "socket" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 + + ac_cv_func_socket=unknown + unset ac_cv_func_socket 2>/dev/null + + +echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6 +echo "configure:5798: checking for socket in -lbsd" >&5 +ac_lib_var=`echo bsd'_'socket | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lbsd $cf_cv_netlibs $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + +cf_tr_func=`echo "socket" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 + + ac_cv_func_socket=unknown + unset ac_cv_func_socket 2>/dev/null + +fi + + +fi + + +fi +done + + fi + + for ac_func in gethostbyname +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5862: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:5890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_$ac_func=no" +fi +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 + +echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 +echo "configure:5913: checking for gethostbyname in -lnsl" >&5 +ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lnsl $cf_cv_netlibs $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + +cf_tr_func=`echo "gethostbyname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 + + ac_cv_func_gethostbyname=unknown + unset ac_cv_func_gethostbyname 2>/dev/null + +fi + + +fi +done + + + for ac_func in gethostbyname +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5973: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_$ac_func=no" +fi +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 + +echo $ac_n "checking for gethostbyname in -lnetwork""... $ac_c" 1>&6 +echo "configure:6024: checking for gethostbyname in -lnetwork" >&5 +ac_lib_var=`echo network'_'gethostbyname | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lnetwork $cf_cv_netlibs $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + +cf_tr_func=`echo "gethostbyname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 + + ac_cv_func_gethostbyname=unknown + unset ac_cv_func_gethostbyname 2>/dev/null + +fi + + +fi +done + + + for ac_func in strcasecmp +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6084: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_$ac_func=no" +fi +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 + +echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6 +echo "configure:6135: checking for strcasecmp in -lresolv" >&5 +ac_lib_var=`echo resolv'_'strcasecmp | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lresolv $cf_cv_netlibs $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + +cf_tr_func=`echo "strcasecmp" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 + + ac_cv_func_strcasecmp=unknown + unset ac_cv_func_strcasecmp 2>/dev/null + +fi + + +fi +done + + ;; +esac + +fi + + +case $cf_cv_netlibs in #(vi +*ws2_32*) + cat >> confdefs.h <<\EOF +#define USE_WINSOCK2_H 1 +EOF + + ;; +esac + +LIBS="$cf_cv_netlibs $LIBS" +test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6 + + if test "x$cf_cv_use_libsocks5" != xno ; then + + + case "$cf_cv_use_libsocks5" in #(vi + no) #(vi + ;; + yes) #(vi + ;; + *) + + +for cf_searchpath in `echo "$cf_cv_use_libsocks5" | tr $PATH_SEPARATOR ' '`; do + if test -d $cf_searchpath/include; then + +if test -n "$cf_searchpath/include" ; then + for cf_add_incdir in $cf_searchpath/include + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:6254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes +fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:6271: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + + elif test -d $cf_searchpath/../include ; then + +if test -n "$cf_searchpath/../include" ; then + for cf_add_incdir in $cf_searchpath/../include + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:6320: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes +fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:6337: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + + else +{ echo "configure: error: cannot find socks5 library under $cf_cv_use_libsocks5" 1>&2; exit 1; } + fi + if test -d $cf_searchpath/lib; then + +if test -n "$cf_searchpath/lib" ; then + for cf_add_libdir in $cf_searchpath/lib + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:6377: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + elif test -d $cf_searchpath ; then + +if test -n "$cf_searchpath" ; then + for cf_add_libdir in $cf_searchpath + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:6407: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + else +{ echo "configure: error: cannot find socks5 library under $cf_cv_use_libsocks5" 1>&2; exit 1; } + fi +done + + ;; + esac + + +LIBS="-lsocks5 $LIBS" + +cat >> confdefs.h <<\EOF +#define USE_SOCKS5 1 +EOF + +cat >> confdefs.h <<\EOF +#define SOCKS 1 +EOF + + +echo $ac_n "checking if the socks library uses socks4 prefix""... $ac_c" 1>&6 +echo "configure:6437: checking if the socks library uses socks4 prefix" >&5 +cf_use_socks4=error +cat > conftest.$ac_ext < +int main() { + + Rinit((char *)0) +; return 0; } +EOF +if { (eval echo configure:6449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cat >> confdefs.h <<\EOF +#define USE_SOCKS4_PREFIX 1 +EOF + + cf_use_socks4=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + cat > conftest.$ac_ext < +int main() { +SOCKSinit((char *)0) +; return 0; } +EOF +if { (eval echo configure:6468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_use_socks4=no +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + { echo "configure: error: Cannot link with socks5 library" 1>&2; exit 1; } +fi +rm -rf conftest* +fi +rm -rf conftest* +echo "$ac_t""$cf_use_socks4" 1>&6 + +if test "$cf_use_socks4" = "yes" ; then + cat >> confdefs.h <<\EOF +#define accept Raccept +EOF + + cat >> confdefs.h <<\EOF +#define bind Rbind +EOF + + cat >> confdefs.h <<\EOF +#define connect Rconnect +EOF + + cat >> confdefs.h <<\EOF +#define getpeername Rgetpeername +EOF + + cat >> confdefs.h <<\EOF +#define getsockname Rgetsockname +EOF + + cat >> confdefs.h <<\EOF +#define listen Rlisten +EOF + + cat >> confdefs.h <<\EOF +#define recvfrom Rrecvfrom +EOF + + cat >> confdefs.h <<\EOF +#define select Rselect +EOF + +else + cat >> confdefs.h <<\EOF +#define accept SOCKSaccept +EOF + + cat >> confdefs.h <<\EOF +#define getpeername SOCKSgetpeername +EOF + + cat >> confdefs.h <<\EOF +#define getsockname SOCKSgetsockname +EOF + + cat >> confdefs.h <<\EOF +#define recvfrom SOCKSrecvfrom +EOF + +fi + +echo $ac_n "checking if socks5p.h is available""... $ac_c" 1>&6 +echo "configure:6535: checking if socks5p.h is available" >&5 +cat > conftest.$ac_ext < +int main() { + + init((char *)0) +; return 0; } +EOF +if { (eval echo configure:6547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_use_socks5p_h=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_use_socks5p_h=no +fi +rm -f conftest* +echo "$ac_t""$cf_use_socks5p_h" 1>&6 + +test "$cf_use_socks5p_h" = yes && cat >> confdefs.h <<\EOF +#define INCLUDE_PROTOTYPES 1 +EOF + + + fi +fi + +### which locking method should be used for mailbox locking +### first look for all available locking methods + +for ac_hdr in unistd.h fcntl.h sys/file.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:6574: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:6584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done + +echo $ac_n "checking for fcntl""... $ac_c" 1>&6 +echo "configure:6611: checking for fcntl" >&5 +if eval "test \"`echo '$''{'ac_cv_func_fcntl'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char fcntl(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_fcntl) || defined (__stub___fcntl) +choke me +#else +fcntl(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_fcntl=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_fcntl=no" +fi +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'fcntl`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking for lockf""... $ac_c" 1>&6 +echo "configure:6659: checking for lockf" >&5 +if eval "test \"`echo '$''{'ac_cv_func_lockf'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char lockf(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_lockf) || defined (__stub___lockf) +choke me +#else +lockf(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_lockf=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_lockf=no" +fi +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'lockf`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking for flock""... $ac_c" 1>&6 +echo "configure:6707: checking for flock" >&5 +if eval "test \"`echo '$''{'ac_cv_func_flock'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char flock(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_flock) || defined (__stub___flock) +choke me +#else +flock(); +#endif + +; return 0; } +EOF +if { (eval echo configure:6735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_flock=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_flock=no" +fi +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'flock`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 +fi + + +echo $ac_n "checking for file-locking functions""... $ac_c" 1>&6 +echo "configure:6756: checking for file-locking functions" >&5 +if eval "test \"`echo '$''{'cf_cv_lockfile'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cf_cv_lockfile= +for cf_lock in fcntl lockf flock +do +if eval 'test ${ac_cv_func_'$cf_lock'+set} = set'; then + case $cf_lock in #(vi + fcntl) #(vi + cat > conftest.$ac_ext < +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif + +int main() { + + struct flock flk; + int block = 1; + int fd = 0; + int rc; + + flk.l_type = F_WRLCK; + flk.l_whence = SEEK_SET; + flk.l_start = 0; + flk.l_len = 0; + rc = fcntl(fd, block ? F_SETLKW : F_SETLK, &flk) + && fcntl(fd, F_GETLK, &flk) + && fcntl(fd, F_SETLK, &flk); + +; return 0; } +EOF +if { (eval echo configure:6796: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + continue +fi +rm -f conftest* + ;; + lockf) #(vi + cat > conftest.$ac_ext < +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif + +int main() { + + int block = 1, fd = 0; + int ret = lockf(fd, block ? F_LOCK : F_TLOCK, 0L) + && lockf(fd, F_TEST, 0L) + && lockf(fd, F_ULOCK, 0L); + +; return 0; } +EOF +if { (eval echo configure:6828: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + continue +fi +rm -f conftest* + ;; + flock) + cat > conftest.$ac_ext < +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_FCNTL_H +#include +#endif +#ifdef HAVE_SYS_FILE_H +#include +#endif + +int main() { + + int block = 1, fd = 0; + int ret = flock(fd, (LOCK_EX|LOCK_NB)) + && flock(fd, LOCK_UN) + && flock(fd, block ? LOCK_EX : (LOCK_EX | LOCK_NB)); + +; return 0; } +EOF +if { (eval echo configure:6863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + continue +fi +rm -f conftest* + ;; + esac + cf_cv_lockfile="$cf_cv_lockfile $cf_lock" +fi +done + +fi + +echo "$ac_t""$cf_cv_lockfile" 1>&6 + + +echo $ac_n "checking which locking method will be used""... $ac_c" 1>&6 +echo "configure:6884: checking which locking method will be used" >&5 +### fcntl() is preferred, if the user just disables fcntl() +### without specifying an alternative lockf() is preferred + +# Check whether --enable-fcntl or --disable-fcntl was given. +if test "${enable_fcntl+set}" = set; then + enableval="$enable_fcntl" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + requested_lock="lockf" + else + requested_lock="fcntl" + fi +else + enableval=yes + requested_lock="fcntl" + +fi + + +# Check whether --enable-lockf or --disable-lockf was given. +if test "${enable_lockf+set}" = set; then + enableval="$enable_lockf" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + requested_lock="lockf" + fi +else + enableval=no +fi + + +# Check whether --enable-flock or --disable-flock was given. +if test "${enable_flock+set}" = set; then + enableval="$enable_flock" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + requested_lock="flock" + fi +else + enableval=no +fi + +### now check the users wishes against available locking methods +if test -n "$cf_cv_lockfile"; then + for lock in $cf_cv_lockfile; do + if test "$lock" = "$requested_lock"; then + used_locking=$lock + break + fi + done +### if none of them matched use the one with the highest priority + if test "x$used_locking" = "x"; then + used_locking=`echo $cf_cv_lockfile|sed -e 's/^\([^ ]\+\).*/\1/g'` + fi + echo "$ac_t""$used_locking" 1>&6 + +used_locking=`echo "$used_locking" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6; + echo "configure: warning: None of fcntl(), lockf(), flock() available" 1>&2 +fi + + +echo $ac_n "checking for screen type""... $ac_c" 1>&6 +echo "configure:6954: checking for screen type" >&5 + +# Check whether --with-screen or --without-screen was given. +if test "${with_screen+set}" = set; then + withval="$with_screen" + cf_with_screen=$withval +else + cf_with_screen=none +fi + +echo "$ac_t""$cf_with_screen" 1>&6 + +use_curses=no +use_ncurses=no + + + +echo $ac_n "checking for specific curses-directory""... $ac_c" 1>&6 +echo "configure:6972: checking for specific curses-directory" >&5 + +# Check whether --with-curses-dir or --without-curses-dir was given. +if test "${with_curses_dir+set}" = set; then + withval="$with_curses_dir" + cf_cv_curses_dir=$withval +else + cf_cv_curses_dir=no +fi + +echo "$ac_t""$cf_cv_curses_dir" 1>&6 + +if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) +then + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" +fi + +case ".$withval" in #(vi +.\$\(*\)*|.\'*\'*) #(vi + ;; +..|./*|.\\*) #(vi + ;; +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX + ;; +.\${*prefix}*) #(vi + eval withval="$withval" + case ".$withval" in #(vi + .NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; + esac + ;; #(vi +.no|.NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; +*) + { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } + ;; +esac + + if test -d "$cf_cv_curses_dir" + then + +if test -n "$cf_cv_curses_dir/include" ; then + for cf_add_incdir in $cf_cv_curses_dir/include + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:7050: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes +fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:7067: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + + +if test -n "$cf_cv_curses_dir/lib" ; then + for cf_add_libdir in $cf_cv_curses_dir/lib + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:7103: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + fi +fi + + +case $cf_with_screen in #(vi +termcap|terminfo) #(we will determine which it really is + ;; +curses) #(vi + use_curses=yes + ;; +ncurses) #(vi + use_curses=yes + use_ncurses=yes + ;; +ncursesw) #(vi + use_curses=yes + use_ncurses=yes + ;; +pdcurses) #(vi + use_curses=yes + ;; +none) + echo $ac_n "checking if you want to use ncurses library""... $ac_c" 1>&6 +echo "configure:7135: checking if you want to use ncurses library" >&5 + +# Check whether --with-ncurses or --without-ncurses was given. +if test "${with_ncurses+set}" = set; then + withval="$with_ncurses" + use_ncurses=$withval +else + use_ncurses=no +fi + + echo "$ac_t""$use_ncurses" 1>&6 + + echo $ac_n "checking if you want curses rather than termcap interface""... $ac_c" 1>&6 +echo "configure:7148: checking if you want curses rather than termcap interface" >&5 + +# Check whether --enable-curses or --disable-curses was given. +if test "${enable_curses+set}" = set; then + enableval="$enable_curses" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + cf_with_screen=curses; use_curses=$withval + else + cf_with_screen=termcap; use_curses=no + fi +else + enableval=no + cf_with_screen=termcap; use_curses=no + +fi + + echo "$ac_t""$enableval" 1>&6 + ;; +esac + +if test $use_curses != no ; then + cat >> confdefs.h <<\EOF +#define USE_CURSES 1 +EOF + + case $cf_with_screen in #(vi + ncurses) #(vi + +cf_ncuconfig_root=ncurses + +echo "Looking for ${cf_ncuconfig_root}-config" +for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:7185: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_NCURSES_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$NCURSES_CONFIG" in + /*) + ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +NCURSES_CONFIG="$ac_cv_path_NCURSES_CONFIG" +if test -n "$NCURSES_CONFIG"; then + echo "$ac_t""$NCURSES_CONFIG" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$NCURSES_CONFIG" && break +done +test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none" + + +if test "$NCURSES_CONFIG" != none ; then + +CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`" +LIBS="`$NCURSES_CONFIG --libs` $LIBS" + +# even with config script, some packages use no-override for curses.h + +echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6 +echo "configure:7230: checking if we have identified curses headers" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cf_cv_ncurses_header=none +for cf_header in \ + ncurses/ncurses.h \ + ncurses/curses.h \ + ncurses.h \ + curses.h +do +cat > conftest.$ac_ext < +int main() { +initscr(); tgoto("?", 0,0) +; return 0; } +EOF +if { (eval echo configure:7250: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_cv_ncurses_header=$cf_header; break +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -f conftest* +done + +fi + +echo "$ac_t""$cf_cv_ncurses_header" 1>&6 + +if test "$cf_cv_ncurses_header" = none ; then + { echo "configure: error: No curses header-files found" 1>&2; exit 1; } +fi + +# cheat, to get the right #define's for HAVE_NCURSES_H, etc. +for ac_hdr in $cf_cv_ncurses_header +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:7273: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:7283: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done + + + +cat >> confdefs.h <<\EOF +#define NCURSES 1 +EOF + + + +cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + +cat >> confdefs.h < conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:7366: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes +fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:7383: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + +} + +echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6 +echo "configure:7402: checking for $cf_ncuhdr_root header in include-path" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" + ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" + for cf_header in $cf_header_list + do + + cat > conftest.$ac_ext < +int main() { + +#ifdef NCURSES_VERSION + +printf("%s\n", NCURSES_VERSION); +#else +#ifdef __NCURSES_H +printf("old\n"); +#else + make an error +#endif +#endif + + +; return 0; } +EOF +if { (eval echo configure:7434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_cv_ncurses_h=$cf_header + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_cv_ncurses_h=no +fi +rm -f conftest* + + test "$cf_cv_ncurses_h" != no && break + done + +fi + +echo "$ac_t""$cf_cv_ncurses_h" 1>&6 + + + +if test "$cf_cv_ncurses_h" != no ; then + cf_cv_ncurses_header=$cf_cv_ncurses_h +else + +echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6 +echo "configure:7460: checking for $cf_ncuhdr_root include-path" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + test -n "$verbose" && echo + +cf_search= + +# collect the current set of include-directories from compiler flags +cf_header_path_list="" +if test -n "${CFLAGS}${CPPFLAGS}" ; then + for cf_header_path in $CPPFLAGS $CFLAGS + do + case $cf_header_path in #(vi + -I*) + cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` + +test "$cf_header_path" != "NONE" && \ +test -d "$cf_header_path" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" + test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include" + test -d $cf_header_path/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root" + test -d $cf_header_path/include/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root/include" + test -d $cf_header_path/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include" + test -d $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + + cf_header_path_list="$cf_header_path_list $cf_search" + ;; + esac + done +fi + +# add the variations for the package we are looking for + +cf_search= + + +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr" + test -d /usr/include && cf_search="$cf_search /usr/include" + test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root" + test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include" + test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include" + test -d /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + + +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $prefix" + test -d $prefix/include && cf_search="$cf_search $prefix/include" + test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root" + test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include" + test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include" + test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + + +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr/local" + test -d /usr/local/include && cf_search="$cf_search /usr/local/include" + test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root" + test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include" + test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include" + test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + + +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /opt" + test -d /opt/include && cf_search="$cf_search /opt/include" + test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root" + test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include" + test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include" + test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + + +test "$HOME" != "$prefix" && \ +test -d "$HOME" && \ +(test $prefix = NONE || test "$HOME" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under $HOME" + test -d $HOME/include && cf_search="$cf_search $HOME/include" + test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root" + test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include" + test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include" + test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + + + +test "$includedir" != NONE && \ +test "$includedir" != "/usr/include" && \ +test -d "$includedir" && { + test -d $includedir && cf_search="$cf_search $includedir" + test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root" +} + +test "$oldincludedir" != NONE && \ +test "$oldincludedir" != "/usr/include" && \ +test -d "$oldincludedir" && { + test -d $oldincludedir && cf_search="$cf_search $oldincludedir" + test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root" +} + +cf_search="$cf_search $cf_header_path_list" + + test -n "$verbose" && echo search path $cf_search + cf_save2_CPPFLAGS="$CPPFLAGS" + for cf_incdir in $cf_search + do + +if test -n "$cf_incdir" ; then + for cf_add_incdir in $cf_incdir + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:7613: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes +fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:7630: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + + for cf_header in \ + ncurses.h \ + curses.h + do + + cat > conftest.$ac_ext < +int main() { + +#ifdef NCURSES_VERSION + +printf("%s\n", NCURSES_VERSION); +#else +#ifdef __NCURSES_H +printf("old\n"); +#else + make an error +#endif +#endif + + +; return 0; } +EOF +if { (eval echo configure:7673: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_cv_ncurses_h2=$cf_header + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_cv_ncurses_h2=no +fi +rm -f conftest* + + if test "$cf_cv_ncurses_h2" != no ; then + cf_cv_ncurses_h2=$cf_incdir/$cf_header + test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6 + break + fi + test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6 + done + CPPFLAGS="$cf_save2_CPPFLAGS" + test "$cf_cv_ncurses_h2" != no && break + done + test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; } + +fi + +echo "$ac_t""$cf_cv_ncurses_h2" 1>&6 + + cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'` + cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` + if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then + cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header + fi + +if test -n "$cf_1st_incdir" ; then + for cf_add_incdir in $cf_1st_incdir + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } +EOF +if { (eval echo configure:7738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes fi +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi -echo "$ac_t""$enableval" 1>&6 + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 -### use option --enable-warnings to turn on all gcc warnings -EXTRA_CFLAGS="" -if test -n "$GCC" -then -echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6 -echo "configure:3865: checking if you want to turn on gcc warnings" >&5 +echo "${as_me:-configure}:7755: testing adding $cf_add_incdir to include-path ..." 1>&5 -# Check whether --enable-warnings or --disable-warnings was given. -if test "${enable_warnings+set}" = set; then - enableval="$enable_warnings" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - with_warnings=yes - else - with_warnings=no - fi -else - enableval=no - with_warnings=no - + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done fi -echo "$ac_t""$with_warnings" 1>&6 -if test "$with_warnings" = "yes" -then - with_ext_const=yes - -GCC_VERSION=none -if test "$GCC" = yes ; then - echo $ac_n "checking version of $CC""... $ac_c" 1>&6 -echo "configure:3891: checking version of $CC" >&5 - GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" - test -z "$GCC_VERSION" && GCC_VERSION=unknown - echo "$ac_t""$GCC_VERSION" 1>&6 fi +# Set definitions to allow ifdef'ing for ncurses.h +case $cf_cv_ncurses_header in # (vi +*ncurses.h) + cat >> confdefs.h <<\EOF +#define HAVE_NCURSES_H 1 +EOF + ;; +esac -INTEL_COMPILER=no +case $cf_cv_ncurses_header in # (vi +ncurses/curses.h|ncurses/ncurses.h) + cat >> confdefs.h <<\EOF +#define HAVE_NCURSES_NCURSES_H 1 +EOF -if test "$GCC" = yes ; then - case $host_os in - linux*|gnu*) - echo $ac_n "checking if this is really Intel C compiler""... $ac_c" 1>&6 -echo "configure:3906: checking if this is really Intel C compiler" >&5 - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -no-gcc" - cat > conftest.$ac_ext <> confdefs.h <<\EOF +#define HAVE_NCURSESW_NCURSES_H 1 +EOF + + ;; +esac -int main() { -#ifdef __INTEL_COMPILER -#else -make an error -#endif +echo $ac_n "checking for terminfo header""... $ac_c" 1>&6 +echo "configure:7803: checking for terminfo header" >&5 +if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +case ${cf_cv_ncurses_header} in #(vi +*/ncurses.h|*/ncursesw.h) #(vi + cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'` + ;; +*) + cf_term_header=term.h + ;; +esac + +for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" +do +cat > conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> +#include <$cf_test> + +int main() { +int x = auto_left_margin ; return 0; } EOF -if { (eval echo configure:3922: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - INTEL_COMPILER=yes -cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" - + + cf_cv_term_header="$cf_test" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + rm -rf conftest* + + cf_cv_term_header=unknown + fi rm -f conftest* - CFLAGS="$cf_save_CFLAGS" - echo "$ac_t""$INTEL_COMPILER" 1>&6 - ;; - esac + test "$cf_cv_term_header" != unknown && break +done + fi +echo "$ac_t""$cf_cv_term_header" 1>&6 -cat > conftest.$ac_ext <> confdefs.h <<\EOF +#define HAVE_TERM_H 1 EOF -if test "$INTEL_COMPILER" = yes -then -# The "-wdXXX" options suppress warnings: -# remark #1419: external declaration in primary source file -# remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem) -# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem) -# remark #1684: conversion from pointer to same-sized integral type (potential portability problem) -# remark #193: zero used for undefined preprocessing identifier -# remark #593: variable "curs_sb_left_arrow" was set but never used -# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits -# remark #869: parameter "tw" was never referenced -# remark #981: operands are evaluated in unspecified order -# warning #269: invalid format string conversion + ;; +esac - echo "checking for $CC warning options" 1>&6 -echo "configure:3959: checking for $CC warning options" >&5 - cf_save_CFLAGS="$CFLAGS" - EXTRA_CFLAGS="-Wall" - for cf_opt in \ - wd1419 \ - wd1682 \ - wd1683 \ - wd1684 \ - wd193 \ - wd279 \ - wd593 \ - wd810 \ - wd869 \ - wd981 - do - CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo configure:3975: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6 - EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" - fi - done - CFLAGS="$cf_save_CFLAGS" +case $cf_cv_term_header in # (vi +ncurses/term.h) #(vi + cat >> confdefs.h <<\EOF +#define HAVE_NCURSES_TERM_H 1 +EOF -elif test "$GCC" = yes -then - echo "checking for $CC warning options" 1>&6 -echo "configure:3985: checking for $CC warning options" >&5 - cf_save_CFLAGS="$CFLAGS" - EXTRA_CFLAGS="-W -Wall" - cf_warn_CONST="" - test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings" - for cf_opt in \ - Wbad-function-cast \ - Wcast-align \ - Wcast-qual \ - Winline \ - Wmissing-declarations \ - Wmissing-prototypes \ - Wnested-externs \ - Wpointer-arith \ - Wshadow \ - Wstrict-prototypes \ - Wundef $cf_warn_CONST - do - CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo configure:4004: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6 - case $cf_opt in #(vi - Wcast-qual) #(vi - CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES" - ;; - Winline) #(vi - case $GCC_VERSION in - 3.3*) - test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6 + ;; +ncursesw/term.h) + cat >> confdefs.h <<\EOF +#define HAVE_NCURSESW_TERM_H 1 +EOF - continue;; - esac - ;; - esac - EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" - fi - done - CFLAGS="$cf_save_CFLAGS" -fi -rm -f conftest* + ;; +esac +# some applications need this, but should check for NCURSES_VERSION +cat >> confdefs.h <<\EOF +#define NCURSES 1 +EOF -fi -fi -## !NNTP_ONLY -if test "$USE_SPOOLDIR" = "yes"; then - ## options for directories - echo $ac_n "checking for news-library path""... $ac_c" 1>&6 -echo "configure:4035: checking for news-library path" >&5 - -# Check whether --with-libdir or --without-libdir was given. -if test "${with_libdir+set}" = set; then - withval="$with_libdir" - : + +echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 +echo "configure:7885: checking for ncurses version" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cf_cv_ncurses_version=no + cf_tempfile=out$$ + rm -f $cf_tempfile + if test "$cross_compiling" = yes; then + + + # This will not work if the preprocessor splits the line after the + # Autoconf token. The 'unproto' program does that. + cat > conftest.$ac_ext < +#undef Autoconf +#ifdef NCURSES_VERSION +Autoconf NCURSES_VERSION +#else +#ifdef __NCURSES_H +Autoconf "old" +#endif +; +#endif +EOF + cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" + { (eval echo configure:7911: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } + if test -f conftest.out ; then + cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` + test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" + rm -f conftest.out + fi + +else + cat > conftest.$ac_ext < +#include +int main() +{ + FILE *fp = fopen("$cf_tempfile", "w"); +#ifdef NCURSES_VERSION +# ifdef NCURSES_VERSION_PATCH + fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); +# else + fprintf(fp, "%s\n", NCURSES_VERSION); +# endif +#else +# ifdef __NCURSES_H + fprintf(fp, "old\n"); +# else + make an error +# endif +#endif + ${cf_cv_main_return:-return}(0); +} +EOF +if { (eval echo configure:7944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + + cf_cv_ncurses_version=`cat $cf_tempfile` else - withval="${NEWSLIBDIR-/usr/lib/news}" + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 +fi +rm -fr conftest* fi -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } - ;; -esac + rm -f $cf_tempfile -eval NEWSLIBDIR="$withval" +fi - echo "$ac_t""$NEWSLIBDIR" 1>&6 +echo "$ac_t""$cf_cv_ncurses_version" 1>&6 +test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF +#define NCURSES 1 +EOF - echo $ac_n "checking for news spool-directory path""... $ac_c" 1>&6 -echo "configure:4073: checking for news spool-directory path" >&5 - -# Check whether --with-spooldir or --without-spooldir was given. -if test "${with_spooldir+set}" = set; then - withval="$with_spooldir" - : -else - withval="${SPOOLDIR-/var/spool/news}" -fi -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } - ;; -esac -eval SPOOLDIR="$withval" - echo "$ac_t""$SPOOLDIR" 1>&6 - echo $ac_n "checking for news overview-directory path""... $ac_c" 1>&6 -echo "configure:4111: checking for news overview-directory path" >&5 - -# Check whether --with-nov-dir or --without-nov-dir was given. -if test "${with_nov_dir+set}" = set; then - withval="$with_nov_dir" - : +cf_nculib_root=ncurses + # This works, except for the special case where we find gpm, but + # ncurses is in a nonstandard location via $LIBS, and we really want + # to link gpm. +cf_ncurses_LIBS="" +cf_ncurses_SAVE="$LIBS" +echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 +echo "configure:7975: checking for Gpm_Open in -lgpm" >&5 +ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - withval="${NOVROOTDIR-$SPOOLDIR}" -fi - -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } - ;; -esac + ac_save_LIBS="$LIBS" +LIBS="-lgpm $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 - echo "$ac_t""$NOVROOTDIR" 1>&6 + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" - echo $ac_n "checking for overview filename""... $ac_c" 1>&6 -echo "configure:4149: checking for overview filename" >&5 - -# Check whether --with-nov-fname or --without-nov-fname was given. -if test "${with_nov_fname+set}" = set; then - withval="$with_nov_fname" - : -else - withval="${OVERVIEW_FILE-.overview}" fi -test -z "$withval" && withval=no -case "$withval" in #(vi -yes) - { echo "configure: error: expected a value for --with-nov-fname" 1>&2; exit 1; } - ;; #(vi -no) withval="" - ;; -esac -OVERVIEW_FILE="$withval" +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6 +echo "configure:8010: checking for initscr in -lgpm" >&5 +ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lgpm $LIBS" +cat > conftest.$ac_ext <> confdefs.h <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 - echo "$ac_t""$OVERVIEW_FILE" 1>&6 + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" - INEWSPATH="$NEWSLIBDIR" +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + LIBS="$cf_ncurses_SAVE" else - NEWSLIBDIR="" - SPOOLDIR="" - NOVROOTDIR="" - INEWSPATH="/usr/lib/news" + echo "$ac_t""no" 1>&6 +cf_ncurses_LIBS="-lgpm" fi -## TODO: kick the --with-inews-dir= stuff, the check below should be enough -## (requires some code rework in tin) -echo $ac_n "checking for directory containing \"inews\"""... $ac_c" 1>&6 -echo "configure:4185: checking for directory containing \"inews\"" >&5 - -# Check whether --with-inews-dir or --without-inews-dir was given. -if test "${with_inews_dir+set}" = set; then - withval="$with_inews_dir" - : else - withval="${INEWSDIR-$INEWSPATH}" + echo "$ac_t""no" 1>&6 fi -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } - ;; -esac - -eval INEWSDIR="$withval" - -INEWSDIR=`echo $INEWSDIR |sed -e 's,/$,,'` -echo "$ac_t""$INEWSDIR" 1>&6 -# Extract the first word of "inews", so it can be a program name with args. -set dummy inews; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4226: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_INEWS'+set}'`\" = set"; then +case $host_os in #(vi +freebsd*) + # This is only necessary if you are linking against an obsolete + # version of ncurses (but it should do no harm, since it's static). + if test "$cf_nculib_root" = ncurses ; then + echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 +echo "configure:8061: checking for tgoto in -lmytinfo" >&5 +ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$INEWS" in - /*) - ac_cv_path_INEWS="$INEWS" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_INEWS="$INEWS" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$INEWSDIR:/news/bin:/usr/lib/news/bin:$INEWSPATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_INEWS="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_INEWS" && ac_cv_path_INEWS="--internal" - ;; -esac + ac_save_LIBS="$LIBS" +LIBS="-lmytinfo $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" fi -INEWS="$ac_cv_path_INEWS" -if test -n "$INEWS"; then - echo "$ac_t""$INEWS" 1>&6 +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS" else echo "$ac_t""no" 1>&6 fi -if test "$ac_cv_path_INEWS" != ""; then - if test "$ac_cv_path_INEWS" = "--internal"; then - -cf_define=`echo "$INEWS"|sed -e 's/\\\\/\\\\134/g' -e 's/^[ ]\\+//' -e 's/[ ]\\+$//' -e 's/"/\\\\042/g'` -cat >> confdefs.h <> confdefs.h <&6 +echo "configure:8114: checking for initscr" >&5 +if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char initscr(); - fi -fi +int main() { -## !NNTP_ONLY -if test "$USE_SPOOLDIR" = "yes"; then - ## options for libraries - echo $ac_n "checking for optional INN-NNTP library""... $ac_c" 1>&6 -echo "configure:4283: checking for optional INN-NNTP library" >&5 - -# Check whether --with-inn-nntplib or --without-inn-nntplib was given. -if test "${with_inn_nntplib+set}" = set; then - withval="$with_inn_nntplib" - : -else - withval="${INN_NNTPLIB}" -fi -test -n "$withval" && \ -case "$withval" in #(vi -yes) - { echo "configure: error: expected a value for --with-inn-nntplib" 1>&2; exit 1; } - ;; #(vi -no) withval="" - ;; -esac -INN_NNTPLIB="$withval" +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_initscr) || defined (__stub___initscr) +choke me +#else +initscr(); +#endif - cat >> confdefs.h <&6 +if { (eval echo configure:8142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_initscr=yes" else - INN_NNTPLIB="" -fi + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "ac_cv_func_initscr=no" +fi +rm -rf conftest* +fi -### Look for network libraries first, since some functions (such as gethostname) -### are used in a lot of places. -echo $ac_n "checking if you want socks library""... $ac_c" 1>&6 -echo "configure:4315: checking if you want socks library" >&5 -if eval "test \"`echo '$''{'cf_cv_use_libsocks'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then + echo "$ac_t""yes" 1>&6 + eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' else - + echo "$ac_t""no" 1>&6 -# Check whether --with-socks or --without-socks was given. -if test "${with_socks+set}" = set; then - withval="$with_socks" - cf_cv_use_libsocks=$withval + cf_save_LIBS="$LIBS" + echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6 +echo "configure:8162: checking for initscr in -l$cf_nculib_root" >&5 + LIBS="-l$cf_nculib_root $LIBS" + cat > conftest.$ac_ext < +int main() { +initscr() +; return 0; } +EOF +if { (eval echo configure:8172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + echo "$ac_t""yes" 1>&6 + eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' + else - cf_cv_use_libsocks=no -fi + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + echo "$ac_t""no" 1>&6 + +cf_search= +cf_library_path_list="" +if test -n "${LDFLAGS}${LIBS}" ; then + for cf_library_path in $LDFLAGS $LIBS + do + case $cf_library_path in #(vi + -L*) + cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` + +test "$cf_library_path" != "NONE" && \ +test -d "$cf_library_path" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" + test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib" + test -d $cf_library_path/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root" + test -d $cf_library_path/lib/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root/lib" + test -d $cf_library_path/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib" + test -d $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root" +} + cf_library_path_list="$cf_library_path_list $cf_search" + ;; + esac + done fi -echo "$ac_t""$cf_cv_use_libsocks" 1>&6 -echo $ac_n "checking if you want socks5 library""... $ac_c" 1>&6 -echo "configure:4335: checking if you want socks5 library" >&5 -if eval "test \"`echo '$''{'cf_cv_use_libsocks5'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - +cf_search= -# Check whether --with-socks5 or --without-socks5 was given. -if test "${with_socks5+set}" = set; then - withval="$with_socks5" - cf_cv_use_libsocks5=$withval -else - cf_cv_use_libsocks5=no -fi +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr" + test -d /usr/lib && cf_search="$cf_search /usr/lib" + test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root" + test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib" + test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib" + test -d /usr/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/$cf_nculib_root/lib/$cf_nculib_root" +} -fi -echo "$ac_t""$cf_cv_use_libsocks5" 1>&6 +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $prefix" + test -d $prefix/lib && cf_search="$cf_search $prefix/lib" + test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root" + test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib" + test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib" + test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root" +} -if test "x$cf_cv_use_libsocks" != xno ; then - -case "$cf_cv_use_libsocks" in #(vi -no|yes) #(vi - ;; -*) - if test -d $cf_cv_use_libsocks ; then - if test -d $cf_cv_use_libsocks/include ; then - CPPFLAGS="$CPPFLAGS -I$cf_cv_use_libsocks/include" - LIBS="$LIBS -L$cf_cv_use_libsocks/lib" - else - LIBS="$LIBS -L$cf_cv_use_libsocks" - test -d $cf_cv_use_libsocks/../include && CPPFLAGS="$CPPFLAGS -I$cf_cv_use_libsocks/../include" - fi - else - echo "configure: warning: expected a directory: $cf_cv_use_libsocks" 1>&2 - fi - ;; -esac -LIBS="$LIBS -lsocks" -cat >> confdefs.h <<\EOF -#define SOCKS 1 -EOF -cat >> confdefs.h <<\EOF -#define accept Raccept -EOF +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr/local" + test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" + test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root" + test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib" + test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib" + test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root" +} -cat >> confdefs.h <<\EOF -#define bind Rbind -EOF -cat >> confdefs.h <<\EOF -#define connect Rconnect -EOF +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /opt" + test -d /opt/lib && cf_search="$cf_search /opt/lib" + test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root" + test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib" + test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib" + test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root" +} -cat >> confdefs.h <<\EOF -#define getpeername Rgetpeername -EOF -cat >> confdefs.h <<\EOF -#define getsockname Rgetsockname -EOF +test "$HOME" != "$prefix" && \ +test -d "$HOME" && \ +(test $prefix = NONE || test "$HOME" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under $HOME" + test -d $HOME/lib && cf_search="$cf_search $HOME/lib" + test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root" + test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib" + test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib" + test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root" +} -cat >> confdefs.h <<\EOF -#define listen Rlisten -EOF -cat >> confdefs.h <<\EOF -#define recvfrom Rrecvfrom -EOF -cat >> confdefs.h <<\EOF -#define select Rselect -EOF +cf_search="$cf_library_path_list $cf_search" -cat > conftest.$ac_ext <&6 +echo "configure:8279: checking for -l$cf_nculib_root in $cf_libdir" >&5 + LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS" + cat > conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> int main() { - - accept((char *)0) +initscr() ; return 0; } EOF -if { (eval echo configure:4420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - : +if { (eval echo configure:8289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + echo "$ac_t""yes" 1>&6 + eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' + break else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - { echo "configure: error: Cannot link with socks library" 1>&2; exit 1; } + + echo "$ac_t""no" 1>&6 + LIBS="$cf_save_LIBS" +fi +rm -rf conftest* + done + +fi +rm -rf conftest* + fi -rm -f conftest* -else - -cf_test_netlibs=no -echo $ac_n "checking for network libraries""... $ac_c" 1>&6 -echo "configure:4434: checking for network libraries" >&5 -if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -echo "$ac_t""working..." 1>&6 -cf_cv_netlibs="" -cf_test_netlibs=yes -for ac_func in gethostname -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4445: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); +eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root + +if test $cf_found_library = no ; then + { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; } +fi -int main() { -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif +fi +if test -n "$cf_ncurses_LIBS" ; then + echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6 +echo "configure:8320: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5 + cf_ncurses_SAVE="$LIBS" + for p in $cf_ncurses_LIBS ; do + q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` + if test "$q" != "$LIBS" ; then + LIBS="$q" + fi + done + cat > conftest.$ac_ext < +int main() { +initscr(); mousemask(0,0); tgoto((char *)0, 0, 0); ; return 0; } EOF -if { (eval echo configure:4473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +if { (eval echo configure:8336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + echo "$ac_t""yes" 1>&6 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + + echo "$ac_t""no" 1>&6 + LIBS="$cf_ncurses_SAVE" fi -rm -f conftest* +rm -rf conftest* fi -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <> confdefs.h <&6 -echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6 -echo "configure:4496: checking for gethostname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lnsl $cf_cv_netlibs $LIBS" -cat > conftest.$ac_ext <&6 +echo "configure:8366: checking for $cf_hdr" >&5 + cat > conftest.$ac_ext < +#include <$cf_hdr> + EOF -if { (eval echo configure:4515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:8376: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + cf_found=yes else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_found=no fi rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - +echo "$ac_t""$cf_found" 1>&6 +if test $cf_found = yes ; then -cf_tr_func=`echo "gethostname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +cf_tr_hdr=`echo "$cf_hdr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` cat >> confdefs.h <&6 +fi +done - ac_cv_func_gethostname=unknown - unset ac_cv_func_gethostname 2>/dev/null - -echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6 -echo "configure:4548: checking for gethostname in -lsocket" >&5 -ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "checking for wide char and multibyte support""... $ac_c" 1>&6 +echo "configure:8403: checking for wide char and multibyte support" >&5 +if eval "test \"`echo '$''{'am_cv_multibyte_able'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $cf_cv_netlibs $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < +#ifdef HAVE_STDLIB_H +# include +#endif /* HAVE_STDLIB_H */ +#ifdef HAVE_WCHAR_H +# include +#endif /* HAVE_WCHAR_H */ +#ifdef HAVE_WCTYPE_H +# include +#endif /* HAVE_WCTYPE_H */ int main() { -gethostname() +const char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; + char ocb[5]; + wchar_t wcb[5]; + wchar_t wcb2[5]; + wchar_t format[3]; + + putwc(0, 0); + fputwc(0, 0); + fwide(0, 0); + mbtowc(wcb, icb, MB_CUR_MAX); + mbstowcs(wcb, icb, 5); + (void) iswalnum((wint_t) wcb[0]); + (void) iswcntrl((wint_t) wcb[0]); + (void) iswdigit((wint_t) wcb[0]); + (void) iswgraph((wint_t) wcb[0]); + (void) iswprint((wint_t) wcb[0]); + (void) iswspace((wint_t) wcb[0]); + (void) towupper((wint_t) wcb[0]); + /* (void) iswupper((wint_t) wcb[0]); */ + /* (void) towlower((wint_t) wcb[0]); */ + /* (void) iswlower((wint_t) wcb[0]); */ + /* (void) iswalpha((wint_t) wcb[0]); */ + /* (void) iswblank((wint_t) wcb[0]); */ + /* (void) iswpunct((wint_t) wcb[0]); */ + /* (void) iswxdigit((wint_t) wcb[0]); */ + /* (void) iswctype((wint_t) wcb[0], wctype("print")); */ + /* (void) towctranse((wint_t) wcb[0], wctrans("toupper")); */ + (void) wcslen(wcb); + /* (void) wcsnlen(wcb, 4); */ + wcwidth((wint_t) wcb[0]); + wcswidth(wcb, 5); + wcstombs(ocb, wcb, 5); + wctomb(ocb, wcb[0]); + wcscat(wcb2, wcb); + wcscpy(wcb2, wcb); + mbstowcs(format, "%s", 2); + swprintf(wcb, 5, format, "test"); + wcsncat(wcb2, wcb, 5); ; return 0; } EOF -if { (eval echo configure:4567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:8462: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + am_cv_multibyte_able=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + cf_save_LIBS="$LIBS" + LIBS="-lutf8 $LIBS" + cat > conftest.$ac_ext < +int main() { +const char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; + char ocb[5]; + wchar_t wcb[5]; + wchar_t wcb2[5]; + wchar_t format[3]; + + putwc(0, 0); + fputwc(0, 0); + fwide(0, 0); + mbtowc(wcb, icb, MB_CUR_MAX); + mbstowcs(wcb, icb, 5); + (void) iswalnum((wint_t) wcb[0]); + (void) iswcntrl((wint_t) wcb[0]); + (void) iswdigit((wint_t) wcb[0]); + (void) iswgraph((wint_t) wcb[0]); + (void) iswprint((wint_t) wcb[0]); + (void) iswspace((wint_t) wcb[0]); + (void) towupper((wint_t) wcb[0]); + /* (void) iswupper((wint_t) wcb[0]); */ + /* (void) towlower((wint_t) wcb[0]); */ + /* (void) iswlower((wint_t) wcb[0]); */ + /* (void) iswalpha((wint_t) wcb[0]); */ + /* (void) iswblank((wint_t) wcb[0]); */ + /* (void) iswpunct((wint_t) wcb[0]); */ + /* (void) iswxdigit((wint_t) wcb[0]); */ + /* (void) iswctype((wint_t) wcb[0], wctype("print")); */ + /* (void) towctranse((wint_t) wcb[0], wctrans("toupper")); */ + (void) wcslen(wcb); + /* (void) wcsnlen(wcb, 4); */ + wcwidth((wint_t) wcb[0]); + wcswidth(wcb, 5); + wcstombs(ocb, wcb, 5); + wctomb(ocb, wcb[0]); + wcscat(wcb2, wcb); + wcscpy(wcb2, wcb); + mbstowcs(format, "%s", 2); + swprintf(wcb, 5, format, "test"); + wcsncat(wcb2, wcb, 5); +; return 0; } +EOF +if { (eval echo configure:8516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + am_cv_multibyte_able=libutf8 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + am_cv_multibyte_able=no fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +rm -rf conftest* + LIBS="$cf_save_LIBS" + +fi +rm -rf conftest* - -cf_tr_func=`echo "gethostname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +fi - cat >> confdefs.h <&6 + if test "$am_cv_multibyte_able" != no; then + if test "$am_cv_multibyte_able" = libutf8; then + cat >> confdefs.h <<\EOF +#define HAVE_LIBUTF8_H 1 EOF - ac_cv_func_gethostname=yes - if test "$cf_used_lib_socket" != yes ; then cf_used_lib_socket=yes; cf_cv_netlibs="-lsocket $cf_cv_netlibs"; fi + LIBS="-lutf8 $LIBS" + fi + cat >> confdefs.h <<\EOF +#define MULTIBYTE_ABLE 1 +EOF + + fi + + +cf_ncuconfig_root=ncursesw + +echo "Looking for ${cf_ncuconfig_root}-config" +for ac_prog in ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:8557: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_NCURSES_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$NCURSES_CONFIG" in + /*) + ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_NCURSES_CONFIG="$NCURSES_CONFIG" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_NCURSES_CONFIG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +NCURSES_CONFIG="$ac_cv_path_NCURSES_CONFIG" +if test -n "$NCURSES_CONFIG"; then + echo "$ac_t""$NCURSES_CONFIG" 1>&6 else echo "$ac_t""no" 1>&6 - - ac_cv_func_gethostname=unknown - unset ac_cv_func_gethostname 2>/dev/null - fi +test -n "$NCURSES_CONFIG" && break +done +test -n "$NCURSES_CONFIG" || NCURSES_CONFIG="none" -fi +if test "$NCURSES_CONFIG" != none ; then -fi -done +CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`" +LIBS="`$NCURSES_CONFIG --libs` $LIBS" -# -# FIXME: sequent needs this library (i.e., -lsocket -linet -lnsl), but -# I don't know the entrypoints - 97/7/22 TD -# AC_HAVE_LIBRARY(inet,cf_cv_netlibs="-linet $cf_cv_netlibs") -echo $ac_n "checking for main in -linet""... $ac_c" 1>&6 -echo "configure:4612: checking for main in -linet" >&5 -ac_lib_var=`echo inet'_'main | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +# even with config script, some packages use no-override for curses.h + +echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6 +echo "configure:8602: checking if we have identified curses headers" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-linet $LIBS" + +cf_cv_ncurses_header=none +for cf_header in \ + ncursesw/ncurses.h \ + ncursesw/curses.h \ + ncurses.h \ + curses.h +do cat > conftest.$ac_ext < int main() { -main() +initscr(); tgoto("?", 0,0) ; return 0; } EOF -if { (eval echo configure:4627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8622: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + cf_cv_ncurses_header=$cf_header; break else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* -LIBS="$ac_save_LIBS" +done fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cf_cv_netlibs="-linet $cf_cv_netlibs" -else - echo "$ac_t""no" 1>&6 + +echo "$ac_t""$cf_cv_ncurses_header" 1>&6 + +if test "$cf_cv_ncurses_header" = none ; then + { echo "configure: error: No curses header-files found" 1>&2; exit 1; } fi -# -if test "$ac_cv_func_lsocket" != no ; then -for ac_func in socket +# cheat, to get the right #define's for HAVE_NCURSES_H, etc. +for ac_hdr in $cf_cv_ncurses_header do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4652: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:8645: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } +#include <$ac_hdr> EOF -if { (eval echo configure:4680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:8655: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` cat >> confdefs.h <&6 +fi +done + + + +cat >> confdefs.h <<\EOF +#define NCURSES 1 +EOF + + + +cf_nculib_ROOT=`echo "HAVE_LIB$cf_ncuconfig_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + +cat >> confdefs.h <&6 -echo "configure:4703: checking for socket in -lsocket" >&5 -ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $cf_cv_netlibs $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < int main() { -socket() +printf("Hello") ; return 0; } EOF -if { (eval echo configure:4722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:8738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_have_incdir=yes fi rm -f conftest* -LIBS="$ac_save_LIBS" + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - -cf_tr_func=`echo "socket" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - cat >> confdefs.h <&5 - ac_cv_func_socket=yes - if test "$cf_used_lib_socket" != yes ; then cf_used_lib_socket=yes; cf_cv_netlibs="-lsocket $cf_cv_netlibs"; fi -else - echo "$ac_t""no" 1>&6 - ac_cv_func_socket=unknown - unset ac_cv_func_socket 2>/dev/null - - -echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6 -echo "configure:4755: checking for socket in -lbsd" >&5 -ac_lib_var=`echo bsd'_'socket | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + +} + +echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6 +echo "configure:8774: checking for $cf_ncuhdr_root header in include-path" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lbsd $cf_cv_netlibs $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < int main() { -socket() + +#ifdef NCURSES_VERSION + +#ifndef WACS_BSSB + make an error +#endif + +printf("%s\n", NCURSES_VERSION); +#else +#ifdef __NCURSES_H +printf("old\n"); +#else + make an error +#endif +#endif + + ; return 0; } EOF -if { (eval echo configure:4774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8814: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + cf_cv_ncurses_h=$cf_header + else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_cv_ncurses_h=no fi rm -f conftest* -LIBS="$ac_save_LIBS" + + test "$cf_cv_ncurses_h" != no && break + done fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - -cf_tr_func=`echo "socket" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - cat >> confdefs.h <&6 - ac_cv_func_socket=yes - if test "$cf_used_lib_bsd" != yes ; then cf_used_lib_bsd=yes; cf_cv_netlibs="-lbsd $cf_cv_netlibs"; fi + + +if test "$cf_cv_ncurses_h" != no ; then + cf_cv_ncurses_header=$cf_cv_ncurses_h else - echo "$ac_t""no" 1>&6 - ac_cv_func_socket=unknown - unset ac_cv_func_socket 2>/dev/null +echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6 +echo "configure:8840: checking for $cf_ncuhdr_root include-path" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + test -n "$verbose" && echo -fi +cf_search= +# collect the current set of include-directories from compiler flags +cf_header_path_list="" +if test -n "${CFLAGS}${CPPFLAGS}" ; then + for cf_header_path in $CPPFLAGS $CFLAGS + do + case $cf_header_path in #(vi + -I*) + cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` + +test "$cf_header_path" != "NONE" && \ +test -d "$cf_header_path" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" + test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include" + test -d $cf_header_path/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root" + test -d $cf_header_path/include/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/include/$cf_ncuhdr_root/include" + test -d $cf_header_path/$cf_ncuhdr_root/include && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include" + test -d $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $cf_header_path/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + cf_header_path_list="$cf_header_path_list $cf_search" + ;; + esac + done fi +# add the variations for the package we are looking for -fi -done +cf_search= -fi -# -for ac_func in gethostbyname -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4819: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); -int main() { +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr" + test -d /usr/include && cf_search="$cf_search /usr/include" + test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root" + test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include" + test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include" + test -d /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + + +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $prefix" + test -d $prefix/include && cf_search="$cf_search $prefix/include" + test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root" + test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include" + test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include" + test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + + +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr/local" + test -d /usr/local/include && cf_search="$cf_search /usr/local/include" + test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root" + test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include" + test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include" + test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} + -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /opt" + test -d /opt/include && cf_search="$cf_search /opt/include" + test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root" + test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include" + test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include" + test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} -; return 0; } -EOF -if { (eval echo configure:4847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 +test "$HOME" != "$prefix" && \ +test -d "$HOME" && \ +(test $prefix = NONE || test "$HOME" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under $HOME" + test -d $HOME/include && cf_search="$cf_search $HOME/include" + test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root" + test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include" + test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include" + test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root" +} -echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4870: checking for gethostbyname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lnsl $cf_cv_netlibs $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < int main() { -gethostbyname() +printf("Hello") ; return 0; } EOF -if { (eval echo configure:4889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:8993: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_have_incdir=yes fi rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - -cf_tr_func=`echo "gethostbyname" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi - cat >> confdefs.h <&6 - ac_cv_func_gethostbyname=yes - if test "$cf_used_lib_nsl" != yes ; then cf_used_lib_nsl=yes; cf_cv_netlibs="-lnsl $cf_cv_netlibs"; fi -else - echo "$ac_t""no" 1>&6 +echo "${as_me:-configure}:9010: testing adding $cf_add_incdir to include-path ..." 1>&5 - ac_cv_func_gethostbyname=unknown - unset ac_cv_func_gethostbyname 2>/dev/null - -fi + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done fi -done -# -for ac_func in strcasecmp -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4930: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + +#include <$cf_header> int main() { -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me +#ifdef NCURSES_VERSION + +printf("%s\n", NCURSES_VERSION); #else -$ac_func(); +#ifdef __NCURSES_H +printf("old\n"); +#else + make an error #endif - +#endif + + ; return 0; } EOF -if { (eval echo configure:4958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" + cf_cv_ncurses_h2=$cf_header + else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + cf_cv_ncurses_h2=no fi rm -f conftest* + + if test "$cf_cv_ncurses_h2" != no ; then + cf_cv_ncurses_h2=$cf_incdir/$cf_header + test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6 + break + fi + test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6 + done + CPPFLAGS="$cf_save2_CPPFLAGS" + test "$cf_cv_ncurses_h2" != no && break + done + test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; } + fi -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 +echo "$ac_t""$cf_cv_ncurses_h2" 1>&6 -echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6 -echo "configure:4981: checking for strcasecmp in -lresolv" >&5 -ac_lib_var=`echo resolv'_'strcasecmp | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lresolv $cf_cv_netlibs $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < int main() { -strcasecmp() +printf("Hello") ; return 0; } EOF -if { (eval echo configure:5000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:9118: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_have_incdir=yes fi rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - -cf_tr_func=`echo "strcasecmp" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi - cat >> confdefs.h <&6 - ac_cv_func_strcasecmp=yes - if test "$cf_used_lib_resolv" != yes ; then cf_used_lib_resolv=yes; cf_cv_netlibs="-lresolv $cf_cv_netlibs"; fi -else - echo "$ac_t""no" 1>&6 +echo "${as_me:-configure}:9135: testing adding $cf_add_incdir to include-path ..." 1>&5 - ac_cv_func_strcasecmp=unknown - unset ac_cv_func_strcasecmp 2>/dev/null - -fi + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done fi -done fi -LIBS="$LIBS $cf_cv_netlibs" -test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6 +# Set definitions to allow ifdef'ing for ncurses.h - if test "x$cf_cv_use_libsocks5" != xno ; then - -case "$cf_cv_use_libsocks5" in #(vi -no|yes) #(vi - ;; -*) - if test -d $cf_cv_use_libsocks5 ; then - if test -d $cf_cv_use_libsocks5/include ; then - CPPFLAGS="$CPPFLAGS -I$cf_cv_use_libsocks5/include" - LIBS="$LIBS -L$cf_cv_use_libsocks5/lib" - else - LIBS="$LIBS -L$cf_cv_use_libsocks5" - test -d $cf_cv_use_libsocks5/../include && CPPFLAGS="$CPPFLAGS -I$cf_cv_use_libsocks5/../include" - fi - else - echo "configure: warning: expected a directory: $cf_cv_use_libsocks5" 1>&2 - fi - ;; +case $cf_cv_ncurses_header in # (vi +*ncurses.h) + cat >> confdefs.h <<\EOF +#define HAVE_NCURSES_H 1 +EOF + + ;; esac -LIBS="$LIBS -lsocks5" -cat >> confdefs.h <<\EOF -#define USE_SOCKS5 1 + +case $cf_cv_ncurses_header in # (vi +ncurses/curses.h|ncurses/ncurses.h) + cat >> confdefs.h <<\EOF +#define HAVE_NCURSES_NCURSES_H 1 EOF -cat >> confdefs.h <<\EOF -#define SOCKS 1 + ;; +ncursesw/curses.h|ncursesw/ncurses.h) + cat >> confdefs.h <<\EOF +#define HAVE_NCURSESW_NCURSES_H 1 EOF -echo $ac_n "checking if the socks library uses socks4 prefix""... $ac_c" 1>&6 -echo "configure:5072: checking if the socks library uses socks4 prefix" >&5 -cf_use_socks4=error -cat > conftest.$ac_ext < -int main() { - Rinit((char *)0) -; return 0; } -EOF -if { (eval echo configure:5084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cat >> confdefs.h <<\EOF -#define USE_SOCKS4_PREFIX 1 -EOF - cf_use_socks4=yes +echo $ac_n "checking for terminfo header""... $ac_c" 1>&6 +echo "configure:9183: checking for terminfo header" >&5 +if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat > conftest.$ac_ext < conftest.$ac_ext < +#include +#include <${cf_cv_ncurses_header:-curses.h}> +#include <$cf_test> + int main() { -SOCKSinit((char *)0) +int x = auto_left_margin ; return 0; } EOF -if { (eval echo configure:5103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9210: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_use_socks4=no + + cf_cv_term_header="$cf_test" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - { echo "configure: error: Cannot link with socks5 library" 1>&2; exit 1; } + + cf_cv_term_header=unknown + fi rm -f conftest* + test "$cf_cv_term_header" != unknown && break +done + fi -rm -f conftest* -echo "$ac_t""$cf_use_socks4" 1>&6 -if test "$cf_use_socks4" = "yes" ; then - cat >> confdefs.h <<\EOF -#define accept Raccept -EOF - cat >> confdefs.h <<\EOF -#define bind Rbind -EOF +echo "$ac_t""$cf_cv_term_header" 1>&6 - cat >> confdefs.h <<\EOF -#define connect Rconnect -EOF +# Set definitions to allow ifdef'ing to accommodate subdirectories +case $cf_cv_term_header in # (vi +*term.h) cat >> confdefs.h <<\EOF -#define getpeername Rgetpeername +#define HAVE_TERM_H 1 EOF - cat >> confdefs.h <<\EOF -#define getsockname Rgetsockname -EOF + ;; +esac +case $cf_cv_term_header in # (vi +ncurses/term.h) #(vi cat >> confdefs.h <<\EOF -#define listen Rlisten +#define HAVE_NCURSES_TERM_H 1 EOF + ;; +ncursesw/term.h) cat >> confdefs.h <<\EOF -#define recvfrom Rrecvfrom +#define HAVE_NCURSESW_TERM_H 1 EOF - cat >> confdefs.h <<\EOF -#define select Rselect -EOF + ;; +esac -else - cat >> confdefs.h <<\EOF -#define accept SOCKSaccept -EOF - cat >> confdefs.h <<\EOF -#define getpeername SOCKSgetpeername +# some applications need this, but should check for NCURSES_VERSION +cat >> confdefs.h <<\EOF +#define NCURSES 1 EOF - cat >> confdefs.h <<\EOF -#define getsockname SOCKSgetsockname -EOF - cat >> confdefs.h <<\EOF -#define recvfrom SOCKSrecvfrom + +echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 +echo "configure:9265: checking for ncurses version" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cf_cv_ncurses_version=no + cf_tempfile=out$$ + rm -f $cf_tempfile + if test "$cross_compiling" = yes; then + + + # This will not work if the preprocessor splits the line after the + # Autoconf token. The 'unproto' program does that. + cat > conftest.$ac_ext < +#undef Autoconf +#ifdef NCURSES_VERSION +Autoconf NCURSES_VERSION +#else +#ifdef __NCURSES_H +Autoconf "old" +#endif +; +#endif EOF + cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" + { (eval echo configure:9291: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } + if test -f conftest.out ; then + cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` + test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" + rm -f conftest.out + fi -fi -echo $ac_n "checking if socks5p.h is available""... $ac_c" 1>&6 -echo "configure:5168: checking if socks5p.h is available" >&5 -cat > conftest.$ac_ext < conftest.$ac_ext < -int main() { - - init((char *)0) -; return 0; } +#include <${cf_cv_ncurses_header:-curses.h}> +#include +int main() +{ + FILE *fp = fopen("$cf_tempfile", "w"); +#ifdef NCURSES_VERSION +# ifdef NCURSES_VERSION_PATCH + fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); +# else + fprintf(fp, "%s\n", NCURSES_VERSION); +# endif +#else +# ifdef __NCURSES_H + fprintf(fp, "old\n"); +# else + make an error +# endif +#endif + ${cf_cv_main_return:-return}(0); +} EOF -if { (eval echo configure:5180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_use_socks5p_h=yes +if { (eval echo configure:9324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + + cf_cv_ncurses_version=`cat $cf_tempfile` else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_use_socks5p_h=no fi -rm -f conftest* -echo "$ac_t""$cf_use_socks5p_h" 1>&6 -test "$cf_use_socks5p_h" = yes && cat >> confdefs.h <<\EOF -#define INCLUDE_PROTOTYPES 1 -EOF +rm -fr conftest* +fi + rm -f $cf_tempfile - fi fi -### which locking method should be used for mailbox locking -### first look for all available locking methods +echo "$ac_t""$cf_cv_ncurses_version" 1>&6 +test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF +#define NCURSES 1 +EOF -for ac_hdr in unistd.h fcntl.h sys/file.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5206: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + + + + +cf_nculib_root=ncursesw + # This works, except for the special case where we find gpm, but + # ncurses is in a nonstandard location via $LIBS, and we really want + # to link gpm. +cf_ncurses_LIBS="" +cf_ncurses_SAVE="$LIBS" +echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 +echo "configure:9355: checking for Gpm_Open in -lgpm" >&5 +ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char Gpm_Open(); + +int main() { +Gpm_Open() +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5216: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +if { (eval echo configure:9374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* +LIBS="$ac_save_LIBS" + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -echo $ac_n "checking for fcntl""... $ac_c" 1>&6 -echo "configure:5243: checking for fcntl" >&5 -if eval "test \"`echo '$''{'ac_cv_func_fcntl'+set}'`\" = set"; then + echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6 +echo "configure:9390: checking for initscr in -lgpm" >&5 +ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char fcntl(); +char initscr(); int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_fcntl) || defined (__stub___fcntl) -choke me -#else -fcntl(); -#endif - +initscr() ; return 0; } EOF -if { (eval echo configure:5271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_fcntl=yes" +if { (eval echo configure:9409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_fcntl=no" -fi -rm -f conftest* + + eval "ac_cv_lib_$ac_lib_var=no" fi +rm -rf conftest* +LIBS="$ac_save_LIBS" -if eval "test \"`echo '$ac_cv_func_'fcntl`\" = yes"; then +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - : + LIBS="$cf_ncurses_SAVE" else echo "$ac_t""no" 1>&6 +cf_ncurses_LIBS="-lgpm" fi -echo $ac_n "checking for lockf""... $ac_c" 1>&6 -echo "configure:5291: checking for lockf" >&5 -if eval "test \"`echo '$''{'ac_cv_func_lockf'+set}'`\" = set"; then +else + echo "$ac_t""no" 1>&6 +fi + + +case $host_os in #(vi +freebsd*) + # This is only necessary if you are linking against an obsolete + # version of ncurses (but it should do no harm, since it's static). + if test "$cf_nculib_root" = ncurses ; then + echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 +echo "configure:9441: checking for tgoto in -lmytinfo" >&5 +ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char lockf(); +char tgoto(); int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_lockf) || defined (__stub___lockf) -choke me -#else -lockf(); -#endif - +tgoto() ; return 0; } EOF -if { (eval echo configure:5319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_lockf=yes" +if { (eval echo configure:9460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_lockf=no" -fi -rm -f conftest* + + eval "ac_cv_lib_$ac_lib_var=no" fi +rm -rf conftest* +LIBS="$ac_save_LIBS" -if eval "test \"`echo '$ac_cv_func_'lockf`\" = yes"; then +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - : + cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS" else echo "$ac_t""no" 1>&6 fi -echo $ac_n "checking for flock""... $ac_c" 1>&6 -echo "configure:5339: checking for flock" >&5 -if eval "test \"`echo '$''{'ac_cv_func_flock'+set}'`\" = set"; then + fi + ;; +esac + +LIBS="$cf_ncurses_LIBS $LIBS" + +if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) +then + LIBS="-l$cf_nculib_root $LIBS" +else + + eval 'cf_cv_have_lib_'$cf_nculib_root'=no' + cf_libdir="" + echo $ac_n "checking for initscr""... $ac_c" 1>&6 +echo "configure:9494: checking for initscr" >&5 +if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char flock(); +char initscr(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_flock) || defined (__stub___flock) +#if defined (__stub_initscr) || defined (__stub___initscr) choke me #else -flock(); +initscr(); #endif ; return 0; } EOF -if { (eval echo configure:5367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_flock=yes" +if { (eval echo configure:9522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_initscr=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_flock=no" + + eval "ac_cv_func_initscr=no" fi -rm -f conftest* +rm -rf conftest* fi -if eval "test \"`echo '$ac_cv_func_'flock`\" = yes"; then +if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then echo "$ac_t""yes" 1>&6 - : + eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' else echo "$ac_t""no" 1>&6 -fi - - -echo $ac_n "checking for file-locking functions""... $ac_c" 1>&6 -echo "configure:5388: checking for file-locking functions" >&5 -if eval "test \"`echo '$''{'cf_cv_lockfile'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cf_cv_lockfile= -for cf_lock in fcntl lockf flock -do -if eval 'test ${ac_cv_func_'$cf_lock'+set} = set'; then - case $cf_lock in #(vi - fcntl) #(vi - cat > conftest.$ac_ext < -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_FCNTL_H -#include -#endif - -int main() { - - struct flock flk; - int block = 1; - int fd = 0; - int rc; - - flk.l_type = F_WRLCK; - flk.l_whence = SEEK_SET; - flk.l_start = 0; - flk.l_len = 0; - rc = fcntl(fd, block ? F_SETLKW : F_SETLK, &flk) - && fcntl(fd, F_GETLK, &flk) - && fcntl(fd, F_SETLK, &flk); - -; return 0; } -EOF -if { (eval echo configure:5428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - continue -fi -rm -f conftest* - ;; - lockf) #(vi - cat > conftest.$ac_ext < -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_FCNTL_H -#include -#endif - -int main() { - int block = 1, fd = 0; - int ret = lockf(fd, block ? F_LOCK : F_TLOCK, 0L) - && lockf(fd, F_TEST, 0L) - && lockf(fd, F_ULOCK, 0L); - -; return 0; } -EOF -if { (eval echo configure:5460: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - continue -fi -rm -f conftest* - ;; - flock) + cf_save_LIBS="$LIBS" + echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6 +echo "configure:9542: checking for initscr in -l$cf_nculib_root" >&5 + LIBS="-l$cf_nculib_root $LIBS" cat > conftest.$ac_ext < -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_FCNTL_H -#include -#endif -#ifdef HAVE_SYS_FILE_H -#include -#endif - +#include <${cf_cv_ncurses_header:-curses.h}> int main() { - - int block = 1, fd = 0; - int ret = flock(fd, (LOCK_EX|LOCK_NB)) - && flock(fd, LOCK_UN) - && flock(fd, block ? LOCK_EX : (LOCK_EX | LOCK_NB)); - +initscr() ; return 0; } EOF -if { (eval echo configure:5495: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - continue -fi -rm -f conftest* - ;; - esac - cf_cv_lockfile="$cf_cv_lockfile $cf_lock" -fi -done - -fi - -echo "$ac_t""$cf_cv_lockfile" 1>&6 - - -echo $ac_n "checking which locking method should be used""... $ac_c" 1>&6 -echo "configure:5516: checking which locking method should be used" >&5 -### fcntl() is preferred, if the user just disables fcntl() -### without specifying an alternative lockf() is preferred - -# Check whether --enable-fcntl or --disable-fcntl was given. -if test "${enable_fcntl+set}" = set; then - enableval="$enable_fcntl" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - requested_lock="lockf" - else - requested_lock="fcntl" - fi -else - enableval=yes - requested_lock="fcntl" +if { (eval echo configure:9552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -fi + echo "$ac_t""yes" 1>&6 + eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + echo "$ac_t""no" 1>&6 + +cf_search= +cf_library_path_list="" +if test -n "${LDFLAGS}${LIBS}" ; then + for cf_library_path in $LDFLAGS $LIBS + do + case $cf_library_path in #(vi + -L*) + cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` + +test "$cf_library_path" != "NONE" && \ +test -d "$cf_library_path" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" + test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib" + test -d $cf_library_path/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root" + test -d $cf_library_path/lib/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/lib/$cf_nculib_root/lib" + test -d $cf_library_path/$cf_nculib_root/lib && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib" + test -d $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $cf_library_path/$cf_nculib_root/lib/$cf_nculib_root" +} -# Check whether --enable-lockf or --disable-lockf was given. -if test "${enable_lockf+set}" = set; then - enableval="$enable_lockf" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - requested_lock="lockf" - fi -else - enableval=no + cf_library_path_list="$cf_library_path_list $cf_search" + ;; + esac + done fi -# Check whether --enable-flock or --disable-flock was given. -if test "${enable_flock+set}" = set; then - enableval="$enable_flock" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - requested_lock="flock" - fi -else - enableval=no -fi +cf_search= -### now check the users wishes against available locking methods -if test -n "$cf_cv_lockfile"; then - for lock in $cf_cv_lockfile; do - if test "$lock" = "$requested_lock"; then - used_locking=$lock - break - fi - done -### if none of them matched use the one with the higest priority - if test "x$used_locking" = "x"; then - used_locking=`echo $cf_cv_lockfile|sed -e 's/^\([^ ]\+\).*/\1/g'` - fi - echo "$ac_t""$used_locking" 1>&6 - -used_locking=`echo "$used_locking" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - cat >> confdefs.h <&2 -fi +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $prefix" + test -d $prefix/lib && cf_search="$cf_search $prefix/lib" + test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root" + test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib" + test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib" + test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root" +} -echo $ac_n "checking for screen type""... $ac_c" 1>&6 -echo "configure:5585: checking for screen type" >&5 -# Check whether --with-screen or --without-screen was given. -if test "${with_screen+set}" = set; then - withval="$with_screen" - cf_with_screen=$withval -else - cf_with_screen=none -fi +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr/local" + test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" + test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root" + test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib" + test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib" + test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root" +} -echo "$ac_t""$cf_with_screen" 1>&6 -use_curses=no -use_ncurses=no +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /opt" + test -d /opt/lib && cf_search="$cf_search /opt/lib" + test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root" + test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib" + test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib" + test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root" +} -echo $ac_n "checking if you specified curses install-directory""... $ac_c" 1>&6 -echo "configure:5601: checking if you specified curses install-directory" >&5 + +test "$HOME" != "$prefix" && \ +test -d "$HOME" && \ +(test $prefix = NONE || test "$HOME" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under $HOME" + test -d $HOME/lib && cf_search="$cf_search $HOME/lib" + test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root" + test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib" + test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib" + test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root" +} -# Check whether --with-curses-dir or --without-curses-dir was given. -if test "${with_curses_dir+set}" = set; then - withval="$with_curses_dir" - -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } - ;; -esac - cf_cv_curses_dir=$withval +cf_search="$cf_library_path_list $cf_search" + + for cf_libdir in $cf_search + do + echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6 +echo "configure:9659: checking for -l$cf_nculib_root in $cf_libdir" >&5 + LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS" + cat > conftest.$ac_ext < +int main() { +initscr() +; return 0; } +EOF +if { (eval echo configure:9669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + echo "$ac_t""yes" 1>&6 + eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' + break else - cf_cv_curses_dir=no -fi + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + echo "$ac_t""no" 1>&6 + LIBS="$cf_save_LIBS" +fi +rm -rf conftest* + done + +fi +rm -rf conftest* + +fi -echo "$ac_t""$cf_cv_curses_dir" 1>&6 +eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root -case $cf_with_screen in #(vi -termcap|terminfo) #(we will determine which it really is - ;; -curses) #(vi - use_curses=yes - ;; -ncurses) #(vi - use_curses=yes - use_ncurses=yes - ;; -ncursesw) #(vi - use_curses=yes - use_ncurses=yes - ;; -pdcurses) #(vi - use_curses=yes - ;; -none) - echo $ac_n "checking if you want to use ncurses library""... $ac_c" 1>&6 -echo "configure:5658: checking if you want to use ncurses library" >&5 - -# Check whether --with-ncurses or --without-ncurses was given. -if test "${with_ncurses+set}" = set; then - withval="$with_ncurses" - use_ncurses=$withval -else - use_ncurses=no +if test $cf_found_library = no ; then + { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; } fi - echo "$ac_t""$use_ncurses" 1>&6 - echo $ac_n "checking if you want curses rather than termcap interface""... $ac_c" 1>&6 -echo "configure:5671: checking if you want curses rather than termcap interface" >&5 - -# Check whether --enable-curses or --disable-curses was given. -if test "${enable_curses+set}" = set; then - enableval="$enable_curses" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - cf_with_screen=curses; use_curses=$withval - else - cf_with_screen=termcap; use_curses=no - fi -else - enableval=no - cf_with_screen=termcap; use_curses=no +fi + +if test -n "$cf_ncurses_LIBS" ; then + echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6 +echo "configure:9700: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5 + cf_ncurses_SAVE="$LIBS" + for p in $cf_ncurses_LIBS ; do + q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` + if test "$q" != "$LIBS" ; then + LIBS="$q" + fi + done + cat > conftest.$ac_ext < +int main() { +initscr(); mousemask(0,0); tgoto((char *)0, 0, 0); +; return 0; } +EOF +if { (eval echo configure:9716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + echo "$ac_t""no" 1>&6 + LIBS="$cf_ncurses_SAVE" +fi +rm -rf conftest* fi - echo "$ac_t""$enableval" 1>&6 - ;; -esac -if test $use_curses != no ; then - cat >> confdefs.h <<\EOF -#define USE_CURSES 1 +cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + +cat >> confdefs.h <&6 -echo "configure:5708: checking for $cf_ncuhdr_root header in include-path" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then + +echo $ac_n "checking if we must define _XOPEN_SOURCE_EXTENDED""... $ac_c" 1>&6 +echo "configure:9742: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5 +if eval "test \"`echo '$''{'cf_cv_need_xopen_extension'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" - for cf_header in $cf_header_list - do - - cat > conftest.$ac_ext < conftest.$ac_ext < +#include +#include <${cf_cv_ncurses_header:-curses.h}> int main() { -#ifdef NCURSES_VERSION - -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else +#if defined(NCURSES_VERSION_PATCH) +#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403) make an error #endif #endif - - + long x = winnstr(stdscr, "", 0); + int x1, y1; + getbegyx(stdscr, y1, x1) +; return 0; } +EOF +if { (eval echo configure:9765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_need_xopen_extension=no +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + cat > conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> +int main() { + +#ifdef NCURSES_VERSION + cchar_t check; + int check2 = curs_set((int)sizeof(check)); +#endif + long x = winnstr(stdscr, "", 0); + int x1, y1; + getbegyx(stdscr, y1, x1) ; return 0; } EOF -if { (eval echo configure:5740: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ncurses_h=$cf_header - +if { (eval echo configure:9790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_need_xopen_extension=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_ncurses_h=no + + cf_cv_need_xopen_extension=unknown +fi +rm -rf conftest* +fi +rm -rf conftest* fi -rm -f conftest* - test "$cf_cv_ncurses_h" != no && break - done +echo "$ac_t""$cf_cv_need_xopen_extension" 1>&6 +test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" -fi + test "$cf_cv_need_xopen_extension" = unknown && { echo "configure: error: X/Open curses not found" 1>&2; exit 1; } + ;; + curses) #(vi + -echo "$ac_t""$cf_cv_ncurses_h" 1>&6 -if test "$cf_cv_ncurses_h" != no ; then - cf_cv_ncurses_header=$cf_cv_ncurses_h -else -echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6 -echo "configure:5763: checking for $cf_ncuhdr_root include-path" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then +echo $ac_n "checking for extra include directories""... $ac_c" 1>&6 +echo "configure:9814: checking for extra include directories" >&5 +if eval "test \"`echo '$''{'cf_cv_curses_incdir'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - test -n "$verbose" && echo - cf_search="" - -test -d $HOME && { - test -n "$verbose" && echo " ... testing include-directories under $HOME" - test -d $HOME/include && cf_search="$cf_search $HOME/include" - test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root" - test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location: -test -d $HOME/$cf_ncuhdr_root && { - test -n "$verbose" && echo " ... testing include-directories under $HOME/$cf_ncuhdr_root" - test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include" - test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing include-directories under /usr/local" - test -d /usr/local/include && cf_search="$cf_search /usr/local/include" - test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root" - test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include" - test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include" - test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing include-directories under $prefix" - test -d $prefix/include && cf_search="$cf_search $prefix/include" - test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root" - test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include" - test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include" - test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing include-directories under /opt" - test -d /opt/include && cf_search="$cf_search /opt/include" - test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root" - test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include" - test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include" - test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing include-directories under /usr" - test -d /usr/include && cf_search="$cf_search /usr/include" - test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root" - test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include" - test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include" -} +cf_cv_curses_incdir=no +case $host_os in #(vi +hpux10.*) #(vi + if test "x$cf_cv_screen" = "xcurses_colr" + then + test -d /usr/include/curses_colr && \ + cf_cv_curses_incdir="-I/usr/include/curses_colr" + fi + ;; +sunos3*|sunos4*) + if test "x$cf_cv_screen" = "xcurses_5lib" + then + test -d /usr/5lib && \ + test -d /usr/5include && \ + cf_cv_curses_incdir="-I/usr/5include" + fi + ;; +esac -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d $includedir && cf_search="$cf_search $includedir" - test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root" -} +fi -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d $oldincludedir && cf_search="$cf_search $oldincludedir" - test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root" -} +echo "$ac_t""$cf_cv_curses_incdir" 1>&6 +test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir" - test -n "$verbose" && echo search path $cf_search - cf_save2_CPPFLAGS="$CPPFLAGS" - for cf_incdir in $cf_search - do - -for cf_add_incdir in $cf_incdir +echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6 +echo "configure:9845: checking if we have identified curses headers" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cf_cv_ncurses_header=none +for cf_header in \ + ncurses.h \ + curses.h ncurses/ncurses.h ncurses/curses.h do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - cat > conftest.$ac_ext < conftest.$ac_ext < +#include <${cf_header}> int main() { -printf("Hello") +initscr(); tgoto("?", 0,0) ; return 0; } EOF -if { (eval echo configure:5865: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : +if { (eval echo configure:9863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_cv_ncurses_header=$cf_header; break else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - CPPFLAGS="$cf_save_CPPFLAGS" fi rm -f conftest* - fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done done - for cf_header in \ - ncurses.h \ - curses.h - do - - cat > conftest.$ac_ext < -int main() { +echo "$ac_t""$cf_cv_ncurses_header" 1>&6 -#ifdef NCURSES_VERSION +if test "$cf_cv_ncurses_header" = none ; then + { echo "configure: error: No curses header-files found" 1>&2; exit 1; } +fi -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else - make an error -#endif -#endif - - -; return 0; } +# cheat, to get the right #define's for HAVE_NCURSES_H, etc. +for ac_hdr in $cf_cv_ncurses_header +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:9886: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < EOF -if { (eval echo configure:5913: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:9896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - cf_cv_ncurses_h2=$cf_header - + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_ncurses_h2=no + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* - - if test "$cf_cv_ncurses_h2" != no ; then - cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6 - break - fi - test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6 - done - CPPFLAGS="$cf_save2_CPPFLAGS" - test "$cf_cv_ncurses_h2" != no && break - done - test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; } - fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done -echo "$ac_t""$cf_cv_ncurses_h2" 1>&6 - cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'` - cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` - if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then - cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header - fi - -for cf_add_incdir in $cf_1st_incdir + +echo $ac_n "checking for terminfo header""... $ac_c" 1>&6 +echo "configure:9925: checking for terminfo header" >&5 +if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +case ${cf_cv_ncurses_header} in #(vi +*/ncurses.h|*/ncursesw.h) #(vi + cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[^.]*\.h$%term.h%'` + ;; +*) + cf_term_header=term.h + ;; +esac + +for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - cat > conftest.$ac_ext < conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> +#include <$cf_test> + int main() { -printf("Hello") +int x = auto_left_margin ; return 0; } EOF -if { (eval echo configure:5967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : +if { (eval echo configure:9952: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + + cf_cv_term_header="$cf_test" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - CPPFLAGS="$cf_save_CPPFLAGS" + + cf_cv_term_header=unknown + fi rm -f conftest* - fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done + test "$cf_cv_term_header" != unknown && break done - fi -cat >> confdefs.h <<\EOF -#define NCURSES 1 -EOF +echo "$ac_t""$cf_cv_term_header" 1>&6 +# Set definitions to allow ifdef'ing to accommodate subdirectories -case $cf_cv_ncurses_header in # (vi -*ncurses.h) +case $cf_cv_term_header in # (vi +*term.h) cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_H 1 +#define HAVE_TERM_H 1 EOF ;; esac -case $cf_cv_ncurses_header in # (vi -ncurses/curses.h|ncurses/ncurses.h) +case $cf_cv_term_header in # (vi +ncurses/term.h) #(vi cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_NCURSES_H 1 +#define HAVE_NCURSES_TERM_H 1 EOF ;; -ncursesw/curses.h|ncursesw/ncurses.h) +ncursesw/term.h) cat >> confdefs.h <<\EOF -#define HAVE_NCURSESW_NCURSES_H 1 +#define HAVE_NCURSESW_TERM_H 1 EOF ;; esac + echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:6022: checking for ncurses version" >&5 +echo "configure:10001: checking for ncurses version" >&5 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6032,7 +10011,7 @@ else # This will not work if the preprocessor splits the line after the # Autoconf token. The 'unproto' program does that. cat > conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> #undef Autoconf #ifdef NCURSES_VERSION Autoconf NCURSES_VERSION @@ -6044,7 +10023,7 @@ Autoconf "old" #endif EOF cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:6048: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } + { (eval echo configure:10027: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } if test -f conftest.out ; then cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" @@ -6053,10 +10032,10 @@ EOF else cat > conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> #include int main() { @@ -6074,10 +10053,10 @@ int main() make an error # endif #endif - exit(0); + ${cf_cv_main_return:-return}(0); } EOF -if { (eval echo configure:6081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:10060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then cf_cv_ncurses_version=`cat $cf_tempfile` @@ -6099,59 +10078,90 @@ EOF - -cf_nculib_root=ncurses - # This works, except for the special case where we find gpm, but - # ncurses is in a nonstandard location via $LIBS, and we really want - # to link gpm. -cf_ncurses_LIBS="" -cf_ncurses_SAVE="$LIBS" -echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:6112: checking for Gpm_Open in -lgpm" >&5 -ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` +echo $ac_n "checking if we have identified curses libraries""... $ac_c" 1>&6 +echo "configure:10084: checking if we have identified curses libraries" >&5 +cat > conftest.$ac_ext < +int main() { +initscr(); tgoto("?", 0,0) +; return 0; } +EOF +if { (eval echo configure:10093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_result=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + cf_result=no +fi +rm -rf conftest* +echo "$ac_t""$cf_result" 1>&6 + +if test "$cf_result" = no ; then +case $host_os in #(vi +freebsd*) #(vi + echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 +echo "configure:10109: checking for tgoto in -lmytinfo" >&5 +ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lgpm $LIBS" +LIBS="-lmytinfo $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:10128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6 -echo "configure:6147: checking for initscr in -lgpm" >&5 -ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'` + LIBS="-lmytinfo $LIBS" +else + echo "$ac_t""no" 1>&6 +fi + + ;; +hpux10.*) #(vi + # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr + # next (1998), and xcurses "newer" (2000). There is no header file for + # Hcurses; the subdirectory curses_colr has the headers (curses.h and + # term.h) for cur_colr + if test "x$cf_cv_screen" = "xcurses_colr" + then + echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6 +echo "configure:10157: checking for initscr in -lcur_colr" >&5 +ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lgpm $LIBS" +LIBS="-lcur_colr $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:10176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - LIBS="$cf_ncurses_SAVE" -else - echo "$ac_t""no" 1>&6 -cf_ncurses_LIBS="-lgpm" -fi - + + LIBS="-lcur_colr $LIBS" + ac_cv_func_initscr=yes + else echo "$ac_t""no" 1>&6 -fi - -case $host_os in #(vi -freebsd*) - # This is only necessary if you are linking against an obsolete - # version of ncurses (but it should do no harm, since it's static). - if test "$cf_nculib_root" = ncurses ; then - echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 -echo "configure:6198: checking for tgoto in -lmytinfo" >&5 -ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` + echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6 +echo "configure:10199: checking for initscr in -lHcurses" >&5 +ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lmytinfo $LIBS" +LIBS="-lHcurses $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:10218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS" + + # HP's header uses __HP_CURSES, but user claims _HP_CURSES. + LIBS="-lHcurses $LIBS" + CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES" + ac_cv_func_initscr=yes + else echo "$ac_t""no" 1>&6 fi +fi + fi - ;; + ;; +linux*) + case `arch 2>/dev/null` in + x86_64) + if test -d /lib64 + then + +if test -n "/lib64" ; then + for cf_add_libdir in /lib64 + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:10272: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + else + +if test -n "/lib" ; then + for cf_add_libdir in /lib + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:10302: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + fi + ;; + *) + +if test -n "/lib" ; then + for cf_add_libdir in /lib + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:10334: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + ;; + esac + ;; +sunos3*|sunos4*) + if test "x$cf_cv_screen" = "xcurses_5lib" + then + if test -d /usr/5lib ; then + +if test -n "/usr/5lib" ; then + for cf_add_libdir in /usr/5lib + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:10370: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + LIBS="-lcurses -ltermcap $LIBS" + fi + fi + ac_cv_func_initscr=yes + ;; esac -LIBS="$cf_ncurses_LIBS $LIBS" +if test ".$ac_cv_func_initscr" != .yes ; then + cf_save_LIBS="$LIBS" + cf_term_lib="" + cf_curs_lib="" + + if test ".${cf_cv_ncurses_version:-no}" != .no + then + cf_check_list="ncurses curses cursesX" + else + cf_check_list="cursesX curses ncurses" + fi -if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) -then - LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS" -else - - eval 'cf_cv_have_lib_'$cf_nculib_root'=no' - cf_libdir="" - echo $ac_n "checking for initscr""... $ac_c" 1>&6 -echo "configure:6251: checking for initscr" >&5 -if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then + # Check for library containing tgoto. Do this before curses library + # because it may be needed to link the test-case for initscr. + echo $ac_n "checking for tgoto""... $ac_c" 1>&6 +echo "configure:10401: checking for tgoto" >&5 +if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char initscr(); +char tgoto(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_initscr) || defined (__stub___initscr) +#if defined (__stub_tgoto) || defined (__stub___tgoto) choke me #else -initscr(); +tgoto(); #endif ; return 0; } EOF -if { (eval echo configure:6279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_initscr=yes" +if { (eval echo configure:10429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_tgoto=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_initscr=no" + + eval "ac_cv_func_tgoto=no" fi -rm -f conftest* +rm -rf conftest* fi -if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then +if eval "test \"`echo '$ac_cv_func_'tgoto`\" = yes"; then echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' + cf_term_lib=predefined else echo "$ac_t""no" 1>&6 - cf_save_LIBS="$LIBS" - echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6 -echo "configure:6299: checking for initscr in -l$cf_nculib_root" >&5 - LIBS="-l$cf_nculib_root $LIBS" - cat > conftest.$ac_ext <&6 +echo "configure:10450: checking for tgoto in -l$cf_term_lib" >&5 +ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-l$cf_term_lib $LIBS" +cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char tgoto(); + int main() { -initscr() +tgoto() ; return 0; } EOF -if { (eval echo configure:6309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' - +if { (eval echo configure:10469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + break +else echo "$ac_t""no" 1>&6 - cf_search="" +fi -test -d $HOME && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME" - test -d $HOME/lib && cf_search="$cf_search $HOME/lib" - test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root" - test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib" -} + done + +fi -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_nculib_root to the actual package location: -test -d $HOME/$cf_nculib_root && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME/$cf_nculib_root" - test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib" - test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root" -} -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing lib-directories under /usr/local" - test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" - test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root" - test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib" - test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib" - test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root" -} + # Check for library containing initscr + test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" + for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown + do + echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6 +echo "configure:10499: checking for initscr in -l$cf_curs_lib" >&5 +ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-l$cf_curs_lib $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing lib-directories under /opt" - test -d /opt/lib && cf_search="$cf_search /opt/lib" - test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root" - test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib" - test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib" - test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing lib-directories under /usr" - test -d /usr/lib && cf_search="$cf_search /usr/lib" - test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root" - test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib" - test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib" -} + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + break +else + echo "$ac_t""no" 1>&6 +fi + + done + test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; } - for cf_libdir in $cf_search - do - echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6 -echo "configure:6378: checking for -l$cf_nculib_root in $cf_libdir" >&5 - LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS" - cat > conftest.$ac_ext <&6 +echo "configure:10544: checking if we can link with $cf_curs_lib library" >&5 + cat > conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> int main() { initscr() ; return 0; } EOF -if { (eval echo configure:6388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' - break +if { (eval echo configure:10553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_result=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_save_LIBS" -fi -rm -f conftest* - done - -fi -rm -f conftest* - -fi - -eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root - -if test $cf_found_library = no ; then - { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; } -fi - + cf_result=no fi - -if test -n "$cf_ncurses_LIBS" ; then - echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6 -echo "configure:6419: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5 - cf_ncurses_SAVE="$LIBS" - for p in $cf_ncurses_LIBS ; do - q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` - if test "$q" != "$LIBS" ; then - LIBS="$q" - fi - done - cat > conftest.$ac_ext <&6 + test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; } + elif test "$cf_curs_lib" = "$cf_term_lib" ; then + : + elif test "$cf_term_lib" != predefined ; then + echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6 +echo "configure:10569: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5 + cat > conftest.$ac_ext < +#include <${cf_cv_ncurses_header:-curses.h}> int main() { -initscr(); mousemask(0,0); tgoto((char *)0, 0, 0); +initscr(); tgoto((char *)0, 0, 0); ; return 0; } EOF -if { (eval echo configure:6435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 +if { (eval echo configure:10578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_result=no else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_ncurses_SAVE" -fi -rm -f conftest* -fi - - -cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - -cat >> confdefs.h <&6 -echo "configure:6462: checking for $cf_hdr" >&5 - cat > conftest.$ac_ext < conftest.$ac_ext < -#include <$cf_hdr> - +#include <${cf_cv_ncurses_header:-curses.h}> +int main() { +initscr() +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - cf_found=yes +if { (eval echo configure:10595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_result=yes else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_found=no + + cf_result=error +fi +rm -rf conftest* + +fi +rm -rf conftest* + echo "$ac_t""$cf_result" 1>&6 + fi +fi fi -rm -f conftest* -echo "$ac_t""$cf_found" 1>&6 -if test $cf_found = yes ; then - -cf_tr_hdr=`echo "$cf_hdr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - cat >> confdefs.h <&6 -echo "configure:6499: checking for wide char and multibyte support" >&5 -if eval "test \"`echo '$''{'am_cv_multibyte_able'+set}'`\" = set"; then +echo $ac_n "checking if we must define _XOPEN_SOURCE_EXTENDED""... $ac_c" 1>&6 +echo "configure:10617: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5 +if eval "test \"`echo '$''{'cf_cv_need_xopen_extension'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -#ifdef HAVE_STDLIB_H -# include -#endif /* HAVE_STDLIB_H */ -#ifdef HAVE_WCHAR_H -# include -#endif /* HAVE_WCHAR_H */ -#ifdef HAVE_WCTYPE_H -# include -#endif /* HAVE_WCTYPE_H */ +#include +#include <${cf_cv_ncurses_header:-curses.h}> int main() { -char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; - char ocb[5]; - wchar_t wcb[5]; - wchar_t wcb2[5]; - wchar_t format[3]; - putwc(0, 0); - fputwc(0, 0); - fwide(0, 0); - mbtowc(wcb, icb, MB_CUR_MAX); - mbstowcs(wcb, icb, 5); - iswprint((wint_t) wcb[0]); - wcslen(wcb); - /* wcsnlen(wcb, 4); */ - wcwidth((wint_t) wcb[0]); - wcswidth(wcb, 5); - wcstombs(ocb, wcb, 5); - mbstowcs(format, "%s", 2); - swprintf(wcb, 5, format, "test"); - wcsncat(wcb2, wcb, 5); +#if defined(NCURSES_VERSION_PATCH) +#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403) + make an error +#endif +#endif + long x = winnstr(stdscr, "", 0); + int x1, y1; + getbegyx(stdscr, y1, x1) ; return 0; } EOF -if { (eval echo configure:6540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_multibyte_able=yes +if { (eval echo configure:10640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_need_xopen_extension=no else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_save_LIBS="$LIBS" - LIBS="-lutf8 $LIBS" - cat > conftest.$ac_ext < conftest.$ac_ext < + +#define _XOPEN_SOURCE_EXTENDED +#include +#include <${cf_cv_ncurses_header:-curses.h}> int main() { -char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; - char ocb[5]; - wchar_t wcb[5]; - wchar_t wcb2[5]; - wchar_t format[3]; - putwc(0, 0); - fputwc(0, 0); - fwide(0, 0); - mbtowc(wcb, icb, MB_CUR_MAX); - mbstowcs(wcb, icb, 5); - iswprint((wint_t) wcb[0]); - wcslen(wcb); - /* wcsnlen(wcb, 4); */ - wcwidth((wint_t) wcb[0]); - wcswidth(wcb, 5); - wcstombs(ocb, wcb, 5); - mbstowcs(format, "%s", 2); - swprintf(wcb, 5, format, "test"); - wcsncat(wcb2, wcb, 5); +#ifdef NCURSES_VERSION + cchar_t check; + int check2 = curs_set((int)sizeof(check)); +#endif + long x = winnstr(stdscr, "", 0); + int x1, y1; + getbegyx(stdscr, y1, x1) ; return 0; } EOF -if { (eval echo configure:6576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_multibyte_able=libutf8 +if { (eval echo configure:10665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_need_xopen_extension=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_multibyte_able=no + + cf_cv_need_xopen_extension=unknown fi -rm -f conftest* - LIBS="$cf_save_LIBS" - +rm -rf conftest* fi -rm -f conftest* - +rm -rf conftest* fi -echo "$ac_t""$am_cv_multibyte_able" 1>&6 - if test "$am_cv_multibyte_able" != no; then - if test "$am_cv_multibyte_able" = libutf8; then - cat >> confdefs.h <<\EOF -#define HAVE_LIBUTF8_H 1 -EOF +echo "$ac_t""$cf_cv_need_xopen_extension" 1>&6 +test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" - LIBS="-lutf8 $LIBS" - fi - cat >> confdefs.h <<\EOF -#define MULTIBYTE_ABLE 1 -EOF + ;; + esac +fi - fi +## substitute externally-installed PCRE library for our bundled version +echo $ac_n "checking if you want to use installed version of pcre""... $ac_c" 1>&6 +echo "configure:10688: checking if you want to use installed version of pcre" >&5 + +# Check whether --with-pcre or --without-pcre was given. +if test "${with_pcre+set}" = set; then + withval="$with_pcre" + PCRE_HOME=$withval +else + PCRE_HOME=no +fi + +echo "$ac_t""$PCRE_HOME" 1>&6 + +cf_pcre_home=$PCRE_HOME +PCREDIR_MAKE= +PCREDIR_LIBS= +PCREDIR_CPPFLAGS= +case .$cf_pcre_home in #(vi +.no) #(vi + # setup to compile the bundled PCRE: +# . $srcdir/pcre/version.sh + + + + + ;; +.yes) #(vi + PCREDIR_MAKE='#' + PCREDIR_LIBS="-lpcre" + ;; +.*) + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" +fi + +case ".$cf_pcre_home" in #(vi +.\$\(*\)*|.\'*\'*) #(vi + ;; +..|./*|.\\*) #(vi + ;; +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX + ;; +.\${*prefix}*) #(vi + eval cf_pcre_home="$cf_pcre_home" + case ".$cf_pcre_home" in #(vi + .NONE/*) + cf_pcre_home=`echo $cf_pcre_home | sed -e s%NONE%$cf_path_syntax%` + ;; + esac + ;; #(vi +.no|.NONE/*) + cf_pcre_home=`echo $cf_pcre_home | sed -e s%NONE%$cf_path_syntax%` + ;; +*) + { echo "configure: error: expected a pathname, not \"$cf_pcre_home\"" 1>&2; exit 1; } + ;; +esac - + PCREDIR_MAKE='#' + PCREDIR_LIBS="-L${cf_pcre_home}/lib -lpcre" + PCREDIR_CPPFLAGS="-I${cf_pcre_home}/include" + ;; +esac -cf_ncuhdr_root=ncursesw -test -n "$cf_cv_curses_dir" && \ -test "$cf_cv_curses_dir" != "no" && \ -CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS" -echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6 -echo "configure:6617: checking for $cf_ncuhdr_root header in include-path" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" - for cf_header in $cf_header_list - do - - cat > conftest.$ac_ext < -int main() { +## debugging libraries (do this after other libraries) +debug_malloc=none -#ifdef NCURSES_VERSION -#ifndef WACS_BSSB - make an error -#endif +echo $ac_n "checking if you want to use dbmalloc for testing""... $ac_c" 1>&6 +echo "configure:10770: checking if you want to use dbmalloc for testing" >&5 -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else - make an error -#endif -#endif - - -; return 0; } +# Check whether --with-dbmalloc or --without-dbmalloc was given. +if test "${with_dbmalloc+set}" = set; then + withval="$with_dbmalloc" + cat >> confdefs.h <<\EOF +#define USE_DBMALLOC 1 EOF -if { (eval echo configure:6657: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ncurses_h=$cf_header - + + + + : ${with_cflags:=-g} + : ${with_no_leaks:=yes} + with_dbmalloc=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_ncurses_h=no + with_dbmalloc= fi -rm -f conftest* - test "$cf_cv_ncurses_h" != no && break - done +echo "$ac_t""${with_dbmalloc:-no}" 1>&6 -fi +case .$with_cflags in #(vi +.*-g*) + case .$CFLAGS in #(vi + .*-g*) #(vi + ;; + *) + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= -echo "$ac_t""$cf_cv_ncurses_h" 1>&6 +for cf_add_cflags in -g +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` -if test "$cf_cv_ncurses_h" != no ; then - cf_cv_ncurses_header=$cf_cv_ncurses_h -else -echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6 -echo "configure:6680: checking for $cf_ncuhdr_root include-path" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - test -n "$verbose" && echo - cf_search="" + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes -test -d $HOME && { - test -n "$verbose" && echo " ... testing include-directories under $HOME" - test -d $HOME/include && cf_search="$cf_search $HOME/include" - test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root" - test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include" -} + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location: -test -d $HOME/$cf_ncuhdr_root && { - test -n "$verbose" && echo " ... testing include-directories under $HOME/$cf_ncuhdr_root" - test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include" - test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing include-directories under /usr/local" - test -d /usr/local/include && cf_search="$cf_search /usr/local/include" - test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root" - test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include" - test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include" - test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing include-directories under $prefix" - test -d $prefix/include && cf_search="$cf_search $prefix/include" - test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root" - test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include" - test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include" - test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing include-directories under /opt" - test -d /opt/include && cf_search="$cf_search /opt/include" - test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root" - test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include" - test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include" - test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing include-directories under /usr" - test -d /usr/include && cf_search="$cf_search /usr/include" - test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root" - test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include" - test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include" -} +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d $includedir && cf_search="$cf_search $includedir" - test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root" -} +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d $oldincludedir && cf_search="$cf_search $oldincludedir" - test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root" -} +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +fi - test -n "$verbose" && echo search path $cf_search - cf_save2_CPPFLAGS="$CPPFLAGS" - for cf_incdir in $cf_search - do - -for cf_add_incdir in $cf_incdir -do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - cat > conftest.$ac_ext <&6 +echo "configure:10887: checking for dbmalloc.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < -int main() { -printf("Hello") -; return 0; } +#include EOF -if { (eval echo configure:6782: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:10897: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - CPPFLAGS="$cf_save_CPPFLAGS" + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* - fi - ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - ;; - esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done -done - - for cf_header in \ - ncurses.h \ - curses.h - do - - cat > conftest.$ac_ext <&6 + echo $ac_n "checking for debug_malloc in -ldbmalloc""... $ac_c" 1>&6 +echo "configure:10914: checking for debug_malloc in -ldbmalloc" >&5 +ac_lib_var=`echo dbmalloc'_'debug_malloc | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldbmalloc $LIBS" +cat > conftest.$ac_ext < -int main() { - -#ifdef NCURSES_VERSION - -#ifndef WACS_BSSB - make an error -#endif - -printf("%s\n", NCURSES_VERSION); -#else -#ifdef __NCURSES_H -printf("old\n"); -#else - make an error -#endif -#endif - - +int main() { +debug_malloc() ; return 0; } EOF -if { (eval echo configure:6838: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_ncurses_h2=$cf_header - +if { (eval echo configure:10933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_ncurses_h2=no + + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* +LIBS="$ac_save_LIBS" - if test "$cf_cv_ncurses_h2" != no ; then - cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6 - break - fi - test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6 - done - CPPFLAGS="$cf_save2_CPPFLAGS" - test "$cf_cv_ncurses_h2" != no && break - done - test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; } - +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + debug_malloc=DBMALLOC +else + echo "$ac_t""no" 1>&6 fi -echo "$ac_t""$cf_cv_ncurses_h2" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi - cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'` - cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` - if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then - cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header - fi - -for cf_add_incdir in $cf_1st_incdir -do - while true - do - case $cf_add_incdir in - /usr/include) # (vi - ;; - /usr/local/include) # (vi - if test "$GCC" = yes - then - cf_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - cat > conftest.$ac_ext < -int main() { -printf("Hello") -; return 0; } +fi + + + +echo $ac_n "checking if you want to use dmalloc for testing""... $ac_c" 1>&6 +echo "configure:10962: checking if you want to use dmalloc for testing" >&5 + +# Check whether --with-dmalloc or --without-dmalloc was given. +if test "${with_dmalloc+set}" = set; then + withval="$with_dmalloc" + cat >> confdefs.h <<\EOF +#define USE_DMALLOC 1 EOF -if { (eval echo configure:6892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - : + + + + : ${with_cflags:=-g} + : ${with_no_leaks:=yes} + with_dmalloc=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPPFLAGS="$cf_save_CPPFLAGS" + with_dmalloc= fi -rm -f conftest* + +echo "$ac_t""${with_dmalloc:-no}" 1>&6 + +case .$with_cflags in #(vi +.*-g*) + case .$CFLAGS in #(vi + .*-g*) #(vi + ;; + *) + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in -g +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue fi ;; - *) # (vi - CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" ;; esac - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` - test "$cf_top_incdir" = "$cf_add_incdir" && break - cf_add_incdir="$cf_top_incdir" - done -done + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` -fi + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done -cat >> confdefs.h <<\EOF -#define NCURSES 1 -EOF +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi -case $cf_cv_ncurses_header in # (vi -*ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_H 1 -EOF +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +fi - ;; -esac -case $cf_cv_ncurses_header in # (vi -ncurses/curses.h|ncurses/ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_NCURSES_H 1 -EOF - ;; -ncursesw/curses.h|ncursesw/ncurses.h) - cat >> confdefs.h <<\EOF -#define HAVE_NCURSESW_NCURSES_H 1 -EOF + ;; + esac ;; esac -echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:6947: checking for ncurses version" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then +if test "$with_dmalloc" = yes ; then + ac_safe=`echo "dmalloc.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for dmalloc.h""... $ac_c" 1>&6 +echo "configure:11079: checking for dmalloc.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f $cf_tempfile - if test "$cross_compiling" = yes; then - - - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > conftest.$ac_ext < -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif + cat > conftest.$ac_ext < EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:6973: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } - if test -f conftest.out ; then - cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi - +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:11089: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - cat > conftest.$ac_ext <&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + echo $ac_n "checking for dmalloc_debug in -ldmalloc""... $ac_c" 1>&6 +echo "configure:11106: checking for dmalloc_debug in -ldmalloc" >&5 +ac_lib_var=`echo dmalloc'_'dmalloc_debug | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldmalloc $LIBS" +cat > conftest.$ac_ext < -#include -int main() -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\n"); -# else - make an error -# endif -#endif - exit(0); -} +int main() { +dmalloc_debug() +; return 0; } EOF -if { (eval echo configure:7006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then +if { (eval echo configure:11125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - cf_cv_ncurses_version=`cat $cf_tempfile` + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -fr conftest* +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + debug_malloc=DMALLOC +else + echo "$ac_t""no" 1>&6 fi - rm -f $cf_tempfile - +else + echo "$ac_t""no" 1>&6 fi -echo "$ac_t""$cf_cv_ncurses_version" 1>&6 -test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF -#define NCURSES 1 -EOF - +fi - +EXTRAO_DEP='#' -cf_nculib_root=ncursesw - # This works, except for the special case where we find gpm, but - # ncurses is in a nonstandard location via $LIBS, and we really want - # to link gpm. -cf_ncurses_LIBS="" -cf_ncurses_SAVE="$LIBS" -echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:7037: checking for Gpm_Open in -lgpm" >&5 -ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +# Check whether --with-trace or --without-trace was given. +if test "${with_trace+set}" = set; then + withval="$with_trace" + + echo $ac_n "checking for _tracef""... $ac_c" 1>&6 +echo "configure:11159: checking for _tracef" >&5 +if eval "test \"`echo '$''{'ac_cv_func__tracef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lgpm $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char Gpm_Open(); +char _tracef(); int main() { -Gpm_Open() + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub__tracef) || defined (__stub____tracef) +choke me +#else +_tracef(); +#endif + ; return 0; } EOF -if { (eval echo configure:7056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:11187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func__tracef=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + eval "ac_cv_func__tracef=no" fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'_tracef`\" = yes"; then echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6 -echo "configure:7072: checking for initscr in -lgpm" >&5 -ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'` + cat >> confdefs.h <<\EOF +#define HAVE__TRACEF 1 +EOF + +else + echo "$ac_t""no" 1>&6 + + echo $ac_n "checking for _tracef in -l${cf_with_screen}_g""... $ac_c" 1>&6 +echo "configure:11209: checking for _tracef in -l${cf_with_screen}_g" >&5 +ac_lib_var=`echo ${cf_with_screen}_g'_'_tracef | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lgpm $LIBS" +LIBS="-l${cf_with_screen}_g $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:11228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - LIBS="$cf_ncurses_SAVE" + cat >> confdefs.h <<\EOF +#define HAVE__TRACEF 1 +EOF + + LIBS=`echo "$LIBS" | sed -e s/-l${cf_with_screen}// -e s/-lcurses//` + LIBS="-l${cf_with_screen}_g $LIBS" + use_trace=yes + cat >> confdefs.h <<\EOF +#define USE_TRACE 1 +EOF + + EXTRAO_DEP='' + EXTRAOBJS="$EXTRAOBJS trace.o" else echo "$ac_t""no" 1>&6 -cf_ncurses_LIBS="-lgpm" +use_trace=no +fi + fi else - echo "$ac_t""no" 1>&6 + use_trace=no fi +#AC_MSG_CHECKING(if you want debugging-trace) +#AC_MSG_RESULT($use_trace) -case $host_os in #(vi -freebsd*) - # This is only necessary if you are linking against an obsolete - # version of ncurses (but it should do no harm, since it's static). - if test "$cf_nculib_root" = ncurses ; then - echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 -echo "configure:7123: checking for tgoto in -lmytinfo" >&5 -ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` + + +## options for miscellaneous definitions +echo $ac_n "checking for domain-name""... $ac_c" 1>&6 +echo "configure:11274: checking for domain-name" >&5 + +# Check whether --with-domain-name or --without-domain-name was given. +if test "${with_domain_name+set}" = set; then + withval="$with_domain_name" + : +else + withval="${DOMAIN_NAME}" +fi +test -n "$withval" && \ +case "$withval" in #(vi +yes) + { echo "configure: error: expected a value for --with-domain-name" 1>&2; exit 1; } + ;; #(vi +no) withval="" + ;; +esac +DOMAIN_NAME="$withval" + +if test "$DOMAIN_NAME" != ""; then + cat >> confdefs.h <&6 + +if test "$USE_NNTP" = "yes" ; then +echo $ac_n "checking for NNTP default-server""... $ac_c" 1>&6 +echo "configure:11303: checking for NNTP default-server" >&5 + +# Check whether --with-nntp-default-server or --without-nntp-default-server was given. +if test "${with_nntp_default_server+set}" = set; then + withval="$with_nntp_default_server" + : +else + withval="${NNTP_DEFAULT_SERVER-news.$DOMAIN_NAME}" +fi +test -z "$withval" && withval=no +case "$withval" in #(vi +yes) + { echo "configure: error: expected a value for --with-nntp-default-server" 1>&2; exit 1; } + ;; #(vi +no) withval="" + ;; +esac +NNTP_DEFAULT_SERVER="$withval" + + + if test "$NNTP_DEFAULT_SERVER" = "" ; then + if test "$DOMAIN_NAME" != "" ; then + test -z "$NNTP_DEFAULT_SERVER" && case "$DOMAIN_NAME" in #((( + /*) + if test -r "$DOMAIN_NAME" ; then + NNTP_DEFAULT_SERVER="news.`cat $DOMAIN_NAME`" + else + NNTP_DEFAULT_SERVER="news" + fi + ;; + *) + NNTP_DEFAULT_SERVER="news.$DOMAIN_NAME" + ;; + esac + else + NNTP_DEFAULT_SERVER="news" + fi + fi +echo "$ac_t""$NNTP_DEFAULT_SERVER" 1>&6 +fi + +## These options are interdependent, so we delay defining them til now: +test -n "$NNTP_DEFAULT_SERVER" \ + && cat >> confdefs.h <> confdefs.h <> confdefs.h <> confdefs.h <> confdefs.h <&6 +echo "configure:11369: checking whether to use MH style mail handling for mailgroups" >&5 + +# Check whether --enable-mh-mail-handling or --disable-mh-mail-handling was given. +if test "${enable_mh_mail_handling+set}" = set; then + enableval="$enable_mh_mail_handling" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + cat >> confdefs.h <<\EOF +#define HAVE_MH_MAIL_HANDLING 1 +EOF + + fi +else + enableval=no +fi + +echo "$ac_t""$enableval" 1>&6 + +CAN_MAKEFILE= +CANDIR_MAKE= +echo $ac_n "checking whether to use Cancel-Locks""... $ac_c" 1>&6 +echo "configure:11390: checking whether to use Cancel-Locks" >&5 + +# Check whether --enable-cancel-locks or --disable-cancel-locks was given. +if test "${enable_cancel_locks+set}" = set; then + enableval="$enable_cancel_locks" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + CANLIBS='-L../libcanlock -lcanlock' + CAN_MAKEFILE="libcanlock/Makefile" + cat >> confdefs.h <<\EOF +#define USE_CANLOCK 1 +EOF + + else + CANDIR_MAKE='#' + CANLIBS='' + fi +else + enableval=no + CANDIR_MAKE='#' + CANLIBS='' + +fi + +echo "$ac_t""$enableval" 1>&6 + + + +## gsasl - used for AUTH SASL PLAIN +ac_safe=`echo "gsasl.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for gsasl.h""... $ac_c" 1>&6 +echo "configure:11421: checking for gsasl.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:11431: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + echo $ac_n "checking for gsasl_check_version in -lgsasl""... $ac_c" 1>&6 +echo "configure:11448: checking for gsasl_check_version in -lgsasl" >&5 +ac_lib_var=`echo gsasl'_'gsasl_check_version | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lmytinfo $LIBS" +LIBS="-lgsasl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:11467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS" + gsasl=yes else echo "$ac_t""no" 1>&6 +gsasl=no fi - fi - ;; -esac +else + echo "$ac_t""no" 1>&6 +gsasl=no +fi -LIBS="$cf_ncurses_LIBS $LIBS" +if test "$gsasl" = "yes"; then + +# Check whether --enable-gsasl or --disable-gsasl was given. +if test "${enable_gsasl+set}" = set; then + enableval="$enable_gsasl" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + USE_SASL=no + else + USE_SASL=yes + cat >> confdefs.h <<\EOF +#define USE_SASL 1 +EOF -if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) -then - LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS" + LIBS="$LIBS -lgsasl" + fi else - - eval 'cf_cv_have_lib_'$cf_nculib_root'=no' - cf_libdir="" - echo $ac_n "checking for initscr""... $ac_c" 1>&6 -echo "configure:7176: checking for initscr" >&5 -if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + enableval=yes + USE_SASL=yes + cat >> confdefs.h <<\EOF +#define USE_SASL 1 +EOF + + LIBS="$LIBS -lgsasl" + +fi + +fi + +echo $ac_n "checking whether to enable 8-bit keycodes""... $ac_c" 1>&6 +echo "configure:11523: checking whether to enable 8-bit keycodes" >&5 + +# Check whether --enable-8bit-keys or --disable-8bit-keys was given. +if test "${enable_8bit_keys+set}" = set; then + enableval="$enable_8bit_keys" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + : + else + cat >> confdefs.h <<\EOF +#define HAVE_KEY_PREFIX 1 +EOF + + fi else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char initscr(); + enableval=yes + cat >> confdefs.h <<\EOF +#define HAVE_KEY_PREFIX 1 +EOF -int main() { + +fi -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_initscr) || defined (__stub___initscr) -choke me -#else -initscr(); -#endif +echo "$ac_t""$enableval" 1>&6 -; return 0; } +echo $ac_n "checking whether to enable ANSI-color""... $ac_c" 1>&6 +echo "configure:11549: checking whether to enable ANSI-color" >&5 + +# Check whether --enable-color or --disable-color was given. +if test "${enable_color+set}" = set; then + enableval="$enable_color" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + : + fi +else + enableval=yes +fi + +use_color=$enableval +echo "$ac_t""$use_color" 1>&6 + +echo $ac_n "checking whether to enable posting-etiquette""... $ac_c" 1>&6 +echo "configure:11566: checking whether to enable posting-etiquette" >&5 + +# Check whether --enable-etiquette or --disable-etiquette was given. +if test "${enable_etiquette+set}" = set; then + enableval="$enable_etiquette" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + cat >> confdefs.h <<\EOF +#define NO_ETIQUETTE 1 EOF -if { (eval echo configure:7204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_initscr=yes" + + fi else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_initscr=no" + enableval=yes fi -rm -f conftest* + +echo "$ac_t""$enableval" 1>&6 + +echo $ac_n "checking whether to strictly observe RFC2047 and break long lines""... $ac_c" 1>&6 +echo "configure:11585: checking whether to strictly observe RFC2047 and break long lines" >&5 + +# Check whether --enable-break-long-lines or --disable-break-long-lines was given. +if test "${enable_break_long_lines+set}" = set; then + enableval="$enable_break_long_lines" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + cat >> confdefs.h <<\EOF +#define MIME_BREAK_LONG_LINES 1 +EOF + + fi +else + enableval=no fi -if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' +echo "$ac_t""$enableval" 1>&6 + +echo $ac_n "checking whether to force MM_CHARSET obeyance when decoding mime""... $ac_c" 1>&6 +echo "configure:11604: checking whether to force MM_CHARSET obeyance when decoding mime" >&5 + +# Check whether --enable-mime-strict-charset or --disable-mime-strict-charset was given. +if test "${enable_mime_strict_charset+set}" = set; then + enableval="$enable_mime_strict_charset" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + : + else + cat >> confdefs.h <<\EOF +#define MIME_STRICT_CHARSET 1 +EOF + + fi else - echo "$ac_t""no" 1>&6 + enableval=yes + cat >> confdefs.h <<\EOF +#define MIME_STRICT_CHARSET 1 +EOF - cf_save_LIBS="$LIBS" - echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6 -echo "configure:7224: checking for initscr in -l$cf_nculib_root" >&5 - LIBS="-l$cf_nculib_root $LIBS" - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } + +fi + +echo "$ac_t""$enableval" 1>&6 + +echo $ac_n "checking for MIME character-set""... $ac_c" 1>&6 +echo "configure:11630: checking for MIME character-set" >&5 + +# Check whether --with-mime-default-charset or --without-mime-default-charset was given. +if test "${with_mime_default_charset+set}" = set; then + withval="$with_mime_default_charset" + : +else + withval="${MM_CHARSET-US-ASCII}" +fi +case "$withval" in #(vi +yes|no) + { echo "configure: error: expected a value for --with-mime-default-charset" 1>&2; exit 1; } + ;; +esac +MM_CHARSET="$withval" +cat >> confdefs.h <&6 + +echo $ac_n "checking for default ISO/ASCII table""... $ac_c" 1>&6 +echo "configure:11652: checking for default ISO/ASCII table" >&5 + +# Check whether --with-iso-to-ascii or --without-iso-to-ascii was given. +if test "${with_iso_to_ascii+set}" = set; then + withval="$with_iso_to_ascii" + : +else + withval="${DEFAULT_ISO2ASC--1}" +fi +case "$withval" in #(vi +yes|no) + { echo "configure: error: expected a value for --with-iso-to-ascii" 1>&2; exit 1; } + ;; +esac +DEFAULT_ISO2ASC="$withval" +cat >> confdefs.h <&6 + +echo $ac_n "checking whether to enable locale support""... $ac_c" 1>&6 +echo "configure:11674: checking whether to enable locale support" >&5 + +# Check whether --enable-locale or --disable-locale was given. +if test "${enable_locale+set}" = set; then + enableval="$enable_locale" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + cat >> confdefs.h <<\EOF +#define NO_LOCALE 1 +EOF + + fi +else + enableval=yes +fi + +echo "$ac_t""$enableval" 1>&6 + +echo $ac_n "checking whether to enable posting""... $ac_c" 1>&6 +echo "configure:11693: checking whether to enable posting" >&5 + +# Check whether --enable-posting or --disable-posting was given. +if test "${enable_posting+set}" = set; then + enableval="$enable_posting" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + cat >> confdefs.h <<\EOF +#define NO_POSTING 1 +EOF + + fi +else + enableval=yes +fi + +echo "$ac_t""$enableval" 1>&6 + +echo $ac_n "checking whether to enable shell escape""... $ac_c" 1>&6 +echo "configure:11712: checking whether to enable shell escape" >&5 + +# Check whether --enable-shell-escape or --disable-shell-escape was given. +if test "${enable_shell_escape+set}" = set; then + enableval="$enable_shell_escape" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + cat >> confdefs.h <<\EOF +#define NO_SHELL_ESCAPE 1 EOF -if { (eval echo configure:7234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' - + + fi else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - cf_search="" + enableval=yes +fi -test -d $HOME && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME" - test -d $HOME/lib && cf_search="$cf_search $HOME/lib" - test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root" - test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib" -} +echo "$ac_t""$enableval" 1>&6 -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_nculib_root to the actual package location: -test -d $HOME/$cf_nculib_root && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME/$cf_nculib_root" - test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib" - test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root" -} +echo $ac_n "checking whether to have fascist newsadmin""... $ac_c" 1>&6 +echo "configure:11731: checking whether to have fascist newsadmin" >&5 -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing lib-directories under /usr/local" - test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" - test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root" - test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib" - test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib" - test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root" -} +# Check whether --enable-fascist-newsadmin or --disable-fascist-newsadmin was given. +if test "${enable_fascist_newsadmin+set}" = set; then + enableval="$enable_fascist_newsadmin" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + cat >> confdefs.h <<\EOF +#define HAVE_FASCIST_NEWSADMIN 1 +EOF + + fi +else + enableval=no +fi -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing lib-directories under $prefix" - test -d $prefix/lib && cf_search="$cf_search $prefix/lib" - test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root" - test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib" - test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib" - test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root" -} +echo "$ac_t""$enableval" 1>&6 -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing lib-directories under /opt" - test -d /opt/lib && cf_search="$cf_search /opt/lib" - test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root" - test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib" - test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib" - test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing lib-directories under /usr" - test -d /usr/lib && cf_search="$cf_search /usr/lib" - test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root" - test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib" - test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib" -} +echo $ac_n "checking whether to enable inverse video and highlighting""... $ac_c" 1>&6 +echo "configure:11750: checking whether to enable inverse video and highlighting" >&5 - for cf_libdir in $cf_search - do - echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6 -echo "configure:7303: checking for -l$cf_nculib_root in $cf_libdir" >&5 - LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS" - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } +# Check whether --enable-inverse-video or --disable-inverse-video was given. +if test "${enable_inverse_video+set}" = set; then + enableval="$enable_inverse_video" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + cat >> confdefs.h <<\EOF +#define USE_INVERSE_HACK 1 EOF -if { (eval echo configure:7313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_nculib_root'=yes' - break + + fi else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_save_LIBS" -fi -rm -f conftest* - done - -fi -rm -f conftest* - + enableval=yes fi -eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root +echo "$ac_t""$enableval" 1>&6 -if test $cf_found_library = no ; then - { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; } +echo $ac_n "checking whether to enable piping support""... $ac_c" 1>&6 +echo "configure:11769: checking whether to enable piping support" >&5 + +# Check whether --enable-piping or --disable-piping was given. +if test "${enable_piping+set}" = set; then + enableval="$enable_piping" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + cat >> confdefs.h <<\EOF +#define DONT_HAVE_PIPING 1 +EOF + + fi +else + enableval=yes fi +echo "$ac_t""$enableval" 1>&6 -fi +echo $ac_n "checking whether to enable printer support""... $ac_c" 1>&6 +echo "configure:11788: checking whether to enable printer support" >&5 -if test -n "$cf_ncurses_LIBS" ; then - echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6 -echo "configure:7344: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5 - cf_ncurses_SAVE="$LIBS" - for p in $cf_ncurses_LIBS ; do - q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` - if test "$q" != "$LIBS" ; then - LIBS="$q" - fi - done - cat > conftest.$ac_ext < -int main() { -initscr(); mousemask(0,0); tgoto((char *)0, 0, 0); -; return 0; } +# Check whether --enable-printing or --disable-printing was given. +if test "${enable_printing+set}" = set; then + enableval="$enable_printing" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + cat >> confdefs.h <<\EOF +#define DISABLE_PRINTING 1 EOF -if { (eval echo configure:7360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 + + fi else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_ncurses_SAVE" -fi -rm -f conftest* + enableval=yes fi +echo "$ac_t""$enableval" 1>&6 -cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +echo $ac_n "checking whether to unique tmp-files by appending .pid""... $ac_c" 1>&6 +echo "configure:11807: checking whether to unique tmp-files by appending .pid" >&5 -cat >> confdefs.h <> confdefs.h <<\EOF +#define APPEND_PID 1 EOF - - -echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:7383: checking for ncurses version" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + fi else + enableval=yes + cat >> confdefs.h <<\EOF +#define APPEND_PID 1 +EOF + - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f $cf_tempfile - if test "$cross_compiling" = yes; then - +fi - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > conftest.$ac_ext < -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif +echo "$ac_t""$enableval" 1>&6 + +echo $ac_n "checking whether to fallback to XHDR XREF if XOVER isn't supported""... $ac_c" 1>&6 +echo "configure:11833: checking whether to fallback to XHDR XREF if XOVER isn't supported" >&5 + +# Check whether --enable-xhdr-xref or --disable-xhdr-xref was given. +if test "${enable_xhdr_xref+set}" = set; then + enableval="$enable_xhdr_xref" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + : + else + cat >> confdefs.h <<\EOF +#define XHDR_XREF 1 EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:7409: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } - if test -f conftest.out ; then - cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi + fi else - cat > conftest.$ac_ext < -#include -int main() -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\n"); -# else - make an error -# endif -#endif - exit(0); -} + enableval=yes + cat >> confdefs.h <<\EOF +#define XHDR_XREF 1 EOF -if { (eval echo configure:7442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then + - cf_cv_ncurses_version=`cat $cf_tempfile` -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -fr conftest* fi - rm -f $cf_tempfile +echo "$ac_t""$enableval" 1>&6 -fi +### bypass a bug in old versions of leafnode & NNTPcache +echo $ac_n "checking whether to send a GROUP command before a LISTGROUP""... $ac_c" 1>&6 +echo "configure:11860: checking whether to send a GROUP command before a LISTGROUP" >&5 -echo "$ac_t""$cf_cv_ncurses_version" 1>&6 -test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF -#define NCURSES 1 +# Check whether --enable-broken-listgroup-fix or --disable-broken-listgroup-fix was given. +if test "${enable_broken_listgroup_fix+set}" = set; then + enableval="$enable_broken_listgroup_fix" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + cat >> confdefs.h <<\EOF +#define BROKEN_LISTGROUP 1 EOF - - - -echo $ac_n "checking if we must define _XOPEN_SOURCE_EXTENDED""... $ac_c" 1>&6 -echo "configure:7465: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5 -if eval "test \"`echo '$''{'cf_cv_need_xopen_extension'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + + fi else - -cat > conftest.$ac_ext < -#include <${cf_cv_ncurses_header-curses.h}> -int main() { +echo "$ac_t""$enableval" 1>&6 - long x = winnstr(stdscr, "", 0); - int x1, y1; - getbegyx(stdscr, y1, x1) -; return 0; } +### on some old systems the WIFEXITED()/WEXITSTATUS() macros do not work +echo $ac_n "checking whether to ignore system()s return value""... $ac_c" 1>&6 +echo "configure:11880: checking whether to ignore system()s return value" >&5 + +# Check whether --enable-broken-system-fix or --disable-broken-system-fix was given. +if test "${enable_broken_system_fix+set}" = set; then + enableval="$enable_broken_system_fix" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + cat >> confdefs.h <<\EOF +#define IGNORE_SYSTEM_STATUS 1 EOF -if { (eval echo configure:7483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_need_xopen_extension=no + + fi else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cat > conftest.$ac_ext < -#include <${cf_cv_ncurses_header-curses.h}> -int main() { +echo "$ac_t""$enableval" 1>&6 - long x = winnstr(stdscr, "", 0); - int x1, y1; - getbegyx(stdscr, y1, x1) -; return 0; } -EOF -if { (eval echo configure:7504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_need_xopen_extension=yes +### checks for the location of the system-wide default setting file +echo $ac_n "checking for directory containing tin.defaults file""... $ac_c" 1>&6 +echo "configure:11900: checking for directory containing tin.defaults file" >&5 + +# Check whether --with-defaults-dir or --without-defaults-dir was given. +if test "${with_defaults_dir+set}" = set; then + withval="$with_defaults_dir" + : else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_need_xopen_extension=unknown + withval="${TIN_DEFAULTS_DIR:-/etc/tin}" fi -rm -f conftest* +if true ; then + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" fi -rm -f conftest* + +case ".$withval" in #(vi +.\$\(*\)*|.\'*\'*) #(vi + ;; +..|./*|.\\*) #(vi + ;; +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX + ;; +.\${*prefix}*) #(vi + eval withval="$withval" + case ".$withval" in #(vi + .NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; + esac + ;; #(vi +.no|.NONE/*) + withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` + ;; +*) + { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } + ;; +esac + fi +TIN_DEFAULTS_DIR="$withval" -echo "$ac_t""$cf_cv_need_xopen_extension" 1>&6 -test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" +echo "$ac_t""$TIN_DEFAULTS_DIR" 1>&6 +cat >> confdefs.h <&2; exit 1; } - ;; - curses) #(vi - -echo $ac_n "checking for extra include directories""... $ac_c" 1>&6 -echo "configure:7527: checking for extra include directories" >&5 -if eval "test \"`echo '$''{'cf_cv_curses_incdir'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cf_cv_curses_incdir=no -case $host_os in #(vi -hpux10.*|hpux11.*) #(vi - test -d /usr/include/curses_colr && \ - cf_cv_curses_incdir="-I/usr/include/curses_colr" - ;; -sunos3*|sunos4*) - test -d /usr/5lib && \ - test -d /usr/5include && \ - cf_cv_curses_incdir="-I/usr/5include" - ;; -esac +### check for ipv6 support +echo $ac_n "checking whether to enable IPv6""... $ac_c" 1>&6 +echo "configure:11951: checking whether to enable IPv6" >&5 +# Check whether --enable-ipv6 or --disable-ipv6 was given. +if test "${enable_ipv6+set}" = set; then + enableval="$enable_ipv6" + test "$enableval" != yes && enableval=no + if test "$enableval" != "no" ; then + cat >> confdefs.h <<\EOF +#define ENABLE_IPV6 1 +EOF + + fi +else + enableval=no fi -echo "$ac_t""$cf_cv_curses_incdir" 1>&6 -test "$cf_cv_curses_incdir" != no && CPPFLAGS="$cf_cv_curses_incdir $CPPFLAGS" +echo "$ac_t""$enableval" 1>&6 +if test "$enableval" = "yes"; then + -echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6 -echo "configure:7551: checking if we have identified curses headers" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then +echo $ac_n "checking ipv6 stack type""... $ac_c" 1>&6 +echo "configure:11972: checking ipv6 stack type" >&5 +if eval "test \"`echo '$''{'cf_cv_ipv6type'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else -cf_cv_ncurses_header=none -for cf_header in \ - curses.h \ - ncurses.h \ - ncurses/curses.h \ - ncurses/ncurses.h +cf_cv_ipv6type=unknown +for i in solaris inria kame linux-glibc linux-libinet6 toshiba v6d zeta do -cat > conftest.$ac_ext < conftest.$ac_ext < -int main() { -initscr(); tgoto("?", 0,0) -; return 0; } + +#include +#ifdef IPV6_INRIA_VERSION +yes +#endif EOF -if { (eval echo configure:7571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "yes" >/dev/null 2>&1; then rm -rf conftest* - cf_cv_ncurses_header=$cf_header; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + cf_cv_ipv6type=$i fi rm -f conftest* -done -fi - -echo "$ac_t""$cf_cv_ncurses_header" 1>&6 + ;; + kame) #(vi + cat > conftest.$ac_ext <&2; exit 1; } +#include +#ifdef __KAME__ +yes +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + cf_cv_ipv6type=$i fi +rm -f conftest* -# cheat, to get the right #define's for HAVE_NCURSES_H, etc. -for ac_hdr in $cf_cv_ncurses_header -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7594: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < conftest.$ac_ext < + +#include +#if defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1 +yes +#endif EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "yes" >/dev/null 2>&1; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + cf_cv_ipv6type=$i fi rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - + ;; + linux-libinet6) #(vi + if test -d /usr/inet6 + then + cf_cv_ipv6type=$i + elif test -f /usr/include/netinet/ip6.h + then + cf_cv_ipv6type=$i + fi + ;; + toshiba) #(vi + cat > conftest.$ac_ext < +#ifdef _TOSHIBA_INET6 +yes +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + cf_cv_ipv6type=$i +fi +rm -f conftest* -echo $ac_n "checking if we have identified curses libraries""... $ac_c" 1>&6 -echo "configure:7635: checking if we have identified curses libraries" >&5 -cat > conftest.$ac_ext < conftest.$ac_ext < -int main() { -initscr(); tgoto("?", 0,0) -; return 0; } + +#include +#ifdef __V6D__ +yes +#endif EOF -if { (eval echo configure:7644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "yes" >/dev/null 2>&1; then rm -rf conftest* - cf_result=no + cf_cv_ipv6type=$i fi rm -f conftest* -echo "$ac_t""$cf_result" 1>&6 -if test "$cf_result" = no ; then -case $host_os in #(vi -freebsd*) #(vi - echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 -echo "configure:7660: checking for tgoto in -lmytinfo" >&5 -ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lmytinfo $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < +#ifdef _ZETA_MINAMI_INET6 +yes +#endif EOF -if { (eval echo configure:7679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "yes" >/dev/null 2>&1; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_cv_ipv6type=$i fi rm -f conftest* -LIBS="$ac_save_LIBS" + + ;; + esac + if test "$cf_cv_ipv6type" != "unknown"; then + break + fi +done fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="-lmytinfo $LIBS" -else - echo "$ac_t""no" 1>&6 -fi +echo "$ac_t""$cf_cv_ipv6type" 1>&6 + + + + +cf_ipv6lib=none +cf_ipv6dir=none + +echo $ac_n "checking for IPv6 library if required""... $ac_c" 1>&6 +echo "configure:12124: checking for IPv6 library if required" >&5 +case $cf_cv_ipv6type in #(vi +solaris) #(vi ;; -hpux10.*|hpux11.*) #(vi - echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6 -echo "configure:7702: checking for initscr in -lcur_colr" >&5 -ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lcur_colr $LIBS" -cat > conftest.$ac_ext <&6 + +if test "$cf_ipv6lib" != "none"; then + + cat > conftest.$ac_ext < +#include +#include +#include int main() { -initscr() +getaddrinfo(0, 0, 0, 0) ; return 0; } EOF -if { (eval echo configure:7721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:12169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="-lcur_colr $LIBS" - ac_cv_func_initscr=yes - -else - echo "$ac_t""no" 1>&6 + +cf_search= - echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6 -echo "configure:7744: checking for initscr in -lHcurses" >&5 -ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lHcurses $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < int main() { -initscr() +printf("Hello") ; return 0; } EOF -if { (eval echo configure:7763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:12324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_have_incdir=yes fi rm -f conftest* -LIBS="$ac_save_LIBS" + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - # HP's header uses __HP_CURSES, but user claims _HP_CURSES. - LIBS="-lHcurses $LIBS" - CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS" - ac_cv_func_initscr=yes - -else - echo "$ac_t""no" 1>&6 -fi + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 -fi +echo "${as_me:-configure}:12341: testing adding $cf_add_incdir to include-path ..." 1>&5 - ;; -linux*) # Suse Linux does not follow /usr/lib convention - LIBS="$LIBS -L/lib" - ;; -sunos3*|sunos4*) - test -d /usr/5lib && \ - LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap" - ac_cv_func_initscr=yes - ;; -esac -if test ".$ac_cv_func_initscr" != .yes ; then - cf_save_LIBS="$LIBS" - cf_term_lib="" - cf_curs_lib="" + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" - if test ".${cf_cv_ncurses_version-no}" != .no - then - cf_check_list="ncurses curses cursesX" - else - cf_check_list="cursesX curses ncurses" - fi + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi - # Check for library containing tgoto. Do this before curses library - # because it may be needed to link the test-case for initscr. - echo $ac_n "checking for tgoto""... $ac_c" 1>&6 -echo "configure:7816: checking for tgoto" >&5 -if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then + test -n "$verbose" && echo " ... found $cf_header" 1>&6 + break + fi + test -n "$verbose" && echo " ... tested $cf_header" 1>&6 + done + +fi +rm -rf conftest* + + + eval 'cf_cv_have_lib_'$cf_ipv6lib'=no' + cf_libdir="" + echo $ac_n "checking for getaddrinfo""... $ac_c" 1>&6 +echo "configure:12370: checking for getaddrinfo" >&5 +if eval "test \"`echo '$''{'ac_cv_func_getaddrinfo'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char tgoto(); +char getaddrinfo(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_tgoto) || defined (__stub___tgoto) +#if defined (__stub_getaddrinfo) || defined (__stub___getaddrinfo) choke me #else -tgoto(); +getaddrinfo(); #endif ; return 0; } EOF -if { (eval echo configure:7844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_tgoto=yes" +if { (eval echo configure:12398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_getaddrinfo=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_tgoto=no" + + eval "ac_cv_func_getaddrinfo=no" fi -rm -f conftest* +rm -rf conftest* fi -if eval "test \"`echo '$ac_cv_func_'tgoto`\" = yes"; then +if eval "test \"`echo '$ac_cv_func_'getaddrinfo`\" = yes"; then echo "$ac_t""yes" 1>&6 - cf_term_lib=predefined + eval 'cf_cv_have_lib_'$cf_ipv6lib'=yes' else echo "$ac_t""no" 1>&6 - for cf_term_lib in $cf_check_list termcap termlib unknown - do - echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6 -echo "configure:7865: checking for tgoto in -l$cf_term_lib" >&5 -ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-l$cf_term_lib $LIBS" -cat > conftest.$ac_ext <&6 +echo "configure:12418: checking for getaddrinfo in -l$cf_ipv6lib" >&5 + LIBS="-l$cf_ipv6lib $LIBS" + cat > conftest.$ac_ext < +#include +#include +#include int main() { -tgoto() +getaddrinfo(0, 0, 0, 0) ; return 0; } EOF -if { (eval echo configure:7884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:12432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + echo "$ac_t""yes" 1>&6 + eval 'cf_cv_have_lib_'$cf_ipv6lib'=yes' + else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - break -else echo "$ac_t""no" 1>&6 -fi + +cf_search= +cf_library_path_list="" +if test -n "${LDFLAGS}${LIBS}" ; then + for cf_library_path in $LDFLAGS $LIBS + do + case $cf_library_path in #(vi + -L*) + cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` + +test "$cf_library_path" != "NONE" && \ +test -d "$cf_library_path" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" + test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib" + test -d $cf_library_path/lib/$cf_ipv6dir && cf_search="$cf_search $cf_library_path/lib/$cf_ipv6dir" + test -d $cf_library_path/lib/$cf_ipv6dir/lib && cf_search="$cf_search $cf_library_path/lib/$cf_ipv6dir/lib" + test -d $cf_library_path/$cf_ipv6dir/lib && cf_search="$cf_search $cf_library_path/$cf_ipv6dir/lib" + test -d $cf_library_path/$cf_ipv6dir/lib/$cf_ipv6dir && cf_search="$cf_search $cf_library_path/$cf_ipv6dir/lib/$cf_ipv6dir" +} - done - + cf_library_path_list="$cf_library_path_list $cf_search" + ;; + esac + done fi - # Check for library containing initscr - test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" - for cf_curs_lib in $cf_check_list xcurses jcurses unknown - do - echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6 -echo "configure:7914: checking for initscr in -l$cf_curs_lib" >&5 -ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-l$cf_curs_lib $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - break -else - echo "$ac_t""no" 1>&6 -fi +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr" + test -d /usr/lib && cf_search="$cf_search /usr/lib" + test -d /usr/lib/$cf_ipv6dir && cf_search="$cf_search /usr/lib/$cf_ipv6dir" + test -d /usr/lib/$cf_ipv6dir/lib && cf_search="$cf_search /usr/lib/$cf_ipv6dir/lib" + test -d /usr/$cf_ipv6dir/lib && cf_search="$cf_search /usr/$cf_ipv6dir/lib" + test -d /usr/$cf_ipv6dir/lib/$cf_ipv6dir && cf_search="$cf_search /usr/$cf_ipv6dir/lib/$cf_ipv6dir" +} - done - test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; } - LIBS="-l$cf_curs_lib $cf_save_LIBS" - if test "$cf_term_lib" = unknown ; then - echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6 -echo "configure:7959: checking if we can link with $cf_curs_lib library" >&5 - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } -EOF -if { (eval echo configure:7968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_result=no -fi -rm -f conftest* - echo "$ac_t""$cf_result" 1>&6 - test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; } - elif test "$cf_curs_lib" = "$cf_term_lib" ; then - : - elif test "$cf_term_lib" != predefined ; then - echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6 -echo "configure:7984: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5 - cat > conftest.$ac_ext <&6 +echo "configure:12539: checking for -l$cf_ipv6lib in $cf_libdir" >&5 + LIBS="-L$cf_libdir -l$cf_ipv6lib $cf_save_LIBS" + cat > conftest.$ac_ext < + +#include +#include +#include +#include int main() { -initscr(); tgoto((char *)0, 0, 0); +getaddrinfo(0, 0, 0, 0) ; return 0; } EOF -if { (eval echo configure:7993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* +if { (eval echo configure:12553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" - cat > conftest.$ac_ext < -int main() { -initscr() -; return 0; } -EOF -if { (eval echo configure:8010: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=yes + echo "$ac_t""yes" 1>&6 + eval 'cf_cv_have_lib_'$cf_ipv6lib'=yes' + break else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_result=error + + echo "$ac_t""no" 1>&6 + LIBS="$cf_save_LIBS" fi -rm -f conftest* +rm -rf conftest* + done fi -rm -f conftest* - echo "$ac_t""$cf_result" 1>&6 - fi +rm -rf conftest* + fi + +eval 'cf_found_library=$cf_cv_have_lib_'$cf_ipv6lib + + + if test $cf_found_library = no ; then + { echo "configure: error: No $cf_ipv6lib library found, cannot continue. You must fetch lib$cf_ipv6lib.a +from an appropriate IPv6 kit and compile beforehand." 1>&2; exit 1; } + fi fi - -echo $ac_n "checking for ncurses version""... $ac_c" 1>&6 -echo "configure:8031: checking for ncurses version" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then + + +echo $ac_n "checking working getaddrinfo""... $ac_c" 1>&6 +echo "configure:12586: checking working getaddrinfo" >&5 +if eval "test \"`echo '$''{'cf_cv_getaddrinfo'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cf_cv_ncurses_version=no - cf_tempfile=out$$ - rm -f $cf_tempfile - if test "$cross_compiling" = yes; then - +if test "$cross_compiling" = yes; then + cf_cv_getaddrinfo=unknown +else + cat > conftest.$ac_ext < +#include +#include +#include +#include + +#define expect(a,b) if (strcmp(a,b) != 0) goto bad + +int main() +{ + int passive, gaierr, inet4 = 0, inet6 = 0; + struct addrinfo hints, *ai, *aitop; + char straddr[INET6_ADDRSTRLEN], strport[16]; + + for (passive = 0; passive <= 1; passive++) { + memset(&hints, 0, sizeof(hints)); + hints.ai_family = AF_UNSPEC; + hints.ai_flags = passive ? AI_PASSIVE : 0; + hints.ai_socktype = SOCK_STREAM; + if ((gaierr = getaddrinfo(NULL, "54321", &hints, &aitop)) != 0) { + (void)gai_strerror(gaierr); + goto bad; + } + for (ai = aitop; ai; ai = ai->ai_next) { + if (ai->ai_addr == NULL || + ai->ai_addrlen == 0 || + getnameinfo(ai->ai_addr, ai->ai_addrlen, + straddr, sizeof(straddr), strport, sizeof(strport), + NI_NUMERICHOST|NI_NUMERICSERV) != 0) { + goto bad; + } + switch (ai->ai_family) { + case AF_INET: + expect(strport, "54321"); + if (passive) { + expect(straddr, "0.0.0.0"); + } else { + expect(straddr, "127.0.0.1"); + } + inet4++; + break; + case AF_INET6: + expect(strport, "54321"); + if (passive) { + expect(straddr, "::"); + } else { + expect(straddr, "::1"); + } + inet6++; + break; + case AF_UNSPEC: + goto bad; + break; + default: + /* another family support? */ + break; + } + } + } - # This will not work if the preprocessor splits the line after the - # Autoconf token. The 'unproto' program does that. - cat > conftest.$ac_ext < -#undef Autoconf -#ifdef NCURSES_VERSION -Autoconf NCURSES_VERSION -#else -#ifdef __NCURSES_H -Autoconf "old" -#endif -; -#endif -EOF - cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out" - { (eval echo configure:8057: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; } - if test -f conftest.out ; then - cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'` - test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" - rm -f conftest.out - fi + if (!(inet4 == 0 || inet4 == 2)) + goto bad; + if (!(inet6 == 0 || inet6 == 2)) + goto bad; -else - cat > conftest.$ac_ext < -#include -int main() -{ - FILE *fp = fopen("$cf_tempfile", "w"); -#ifdef NCURSES_VERSION -# ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); -# else - fprintf(fp, "%s\n", NCURSES_VERSION); -# endif -#else -# ifdef __NCURSES_H - fprintf(fp, "old\n"); -# else - make an error -# endif -#endif - exit(0); + bad: + if (aitop) + freeaddrinfo(aitop); + ${cf_cv_main_return:-return}(1); } + EOF -if { (eval echo configure:8090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:12674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then - - cf_cv_ncurses_version=`cat $cf_tempfile` + cf_cv_getaddrinfo=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + rm -fr conftest* + cf_cv_getaddrinfo=no fi rm -fr conftest* fi - rm -f $cf_tempfile fi -echo "$ac_t""$cf_cv_ncurses_version" 1>&6 -test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF -#define NCURSES 1 +echo "$ac_t""$cf_cv_getaddrinfo" 1>&6 +if test "$cf_cv_getaddrinfo" = yes ; then + cat >> confdefs.h <<\EOF +#define HAVE_GAI_STRERROR 1 EOF + cat >> confdefs.h <<\EOF +#define HAVE_GETADDRINFO 1 +EOF - -echo $ac_n "checking if we must define _XOPEN_SOURCE_EXTENDED""... $ac_c" 1>&6 -echo "configure:8113: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5 -if eval "test \"`echo '$''{'cf_cv_need_xopen_extension'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cat > conftest.$ac_ext < -#include <${cf_cv_ncurses_header-curses.h}> -int main() { - long x = winnstr(stdscr, "", 0); - int x1, y1; - getbegyx(stdscr, y1, x1) -; return 0; } -EOF -if { (eval echo configure:8131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_need_xopen_extension=no +if test "$cf_cv_getaddrinfo" != "yes"; then + if test "$cf_cv_ipv6type" != "linux"; then + echo "configure: warning: You must get working getaddrinfo() function, +or you can specify "--disable-ipv6"" 1>&2 + else + echo "configure: warning: The getaddrinfo() implementation on your system seems be buggy. +You should upgrade your system library to the newest version +of GNU C library (aka glibc)." 1>&2 + fi +fi + + +fi +for ac_func in getaddrinfo getnameinfo +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:12718: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); -#define _XOPEN_SOURCE_EXTENDED -#include -#include <${cf_cv_ncurses_header-curses.h}> int main() { - long x = winnstr(stdscr, "", 0); - int x1, y1; - getbegyx(stdscr, y1, x1) +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + ; return 0; } EOF -if { (eval echo configure:8152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_need_xopen_extension=yes +if { (eval echo configure:12746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_need_xopen_extension=unknown -fi -rm -f conftest* + + eval "ac_cv_func_$ac_func=no" fi -rm -f conftest* +rm -rf conftest* fi -echo "$ac_t""$cf_cv_need_xopen_extension" 1>&6 -test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" - - ;; - esac +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 +LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi +done -## substitute externally-installed PCRE library for our bundled version -echo $ac_n "checking if you want to use installed version of pcre""... $ac_c" 1>&6 -echo "configure:8175: checking if you want to use installed version of pcre" >&5 -# Check whether --with-pcre or --without-pcre was given. -if test "${with_pcre+set}" = set; then - withval="$with_pcre" - PCRE_HOME=$withval -else - PCRE_HOME=no -fi -echo "$ac_t""$PCRE_HOME" 1>&6 +### checks for operator characteristics (should be the last option) +echo $ac_n "checking whether to make a coffee while compiling""... $ac_c" 1>&6 +echo "configure:12775: checking whether to make a coffee while compiling" >&5 -cf_pcre_home=$PCRE_HOME -PCREDIR_MAKE= -PCREDIR_LIBS= -PCREDIR_CPPFLAGS= -case .$cf_pcre_home in #(vi -.no) #(vi - # setup to compile the bundled PCRE: - . $srcdir/pcre/version.sh - - - - - ;; -.yes) #(vi - PCREDIR_MAKE='#' - PCREDIR_LIBS="-lpcre" - ;; -.*) - -case ".$cf_pcre_home" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval cf_pcre_home="$cf_pcre_home" - case ".$cf_pcre_home" in #(vi - .NONE/*) - cf_pcre_home=`echo $cf_pcre_home | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - cf_pcre_home=`echo $cf_pcre_home | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { echo "configure: error: expected a pathname, not \"$cf_pcre_home\"" 1>&2; exit 1; } - ;; -esac +# Check whether --with-coffee or --without-coffee was given. +if test "${with_coffee+set}" = set; then + withval="$with_coffee" + case "$withval" in + yes) + echo "$ac_t""yes - with milk - please!" 1>&6 + cat >> confdefs.h <<\EOF +#define HAVE_COFFEE 1 +EOF - PCREDIR_MAKE='#' - PCREDIR_LIBS="-L${cf_pcre_home}/lib -lpcre" - PCREDIR_CPPFLAGS="-I${cf_pcre_home}/include" ;; -esac - + *) + echo "$ac_t""no" 1>&6 + ;; + esac +else + echo "$ac_t""no" 1>&6 +fi +### checks for compiler characteristics +echo $ac_n "checking for makeflags variable""... $ac_c" 1>&6 +echo "configure:12800: checking for makeflags variable" >&5 +if eval "test \"`echo '$''{'cf_cv_makeflags'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cf_cv_makeflags='' + for cf_option in '-${MAKEFLAGS}' '${MFLAGS}' + do + cat >cf_makeflags.tmp </dev/null | fgrep -v "ing directory" | sed -e 's,[ ]*$,,'` + case "$cf_result" in + .*k) + cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` + case "$cf_result" in + .*CC=*) cf_cv_makeflags= + ;; + *) cf_cv_makeflags=$cf_option + ;; + esac + break + ;; + .-) ;; + *) echo "given option \"$cf_option\", no match \"$cf_result\"" + ;; + esac + done + rm -f cf_makeflags.tmp -PCRE_MAKEFILE= -if test "$PCRE_HOME" = "no" ; then - PCRE_MAKEFILE="$PCRE_MAKEFILE pcre/Makefile pcre/RunTest pcre/pcre.h" fi -## debugging libraries (do this after other libraries) -debug_malloc=none +echo "$ac_t""$cf_cv_makeflags" 1>&6 -echo $ac_n "checking if you want to link with dbmalloc for testing""... $ac_c" 1>&6 -echo "configure:8248: checking if you want to link with dbmalloc for testing" >&5 -# Check whether --with-dbmalloc or --without-dbmalloc was given. -if test "${with_dbmalloc+set}" = set; then - withval="$with_dbmalloc" - with_dbmalloc=$withval -else - with_dbmalloc=no -fi -echo "$ac_t""$with_dbmalloc" 1>&6 -if test "$with_dbmalloc" = yes ; then - ac_safe=`echo "dbmalloc.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for dbmalloc.h""... $ac_c" 1>&6 -echo "configure:8262: checking for dbmalloc.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +echo $ac_n "checking for working const""... $ac_c" 1>&6 +echo "configure:12846: checking for working const" >&5 +if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8272: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for debug_malloc in -ldbmalloc""... $ac_c" 1>&6 -echo "configure:8289: checking for debug_malloc in -ldbmalloc" >&5 -ac_lib_var=`echo dbmalloc'_'debug_malloc | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-ldbmalloc $LIBS" -cat > conftest.$ac_ext <j = 5; +} +{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; +} + ; return 0; } EOF -if { (eval echo configure:8308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + ac_cv_c_const=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + ac_cv_c_const=no fi rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - debug_malloc=DBMALLOC -else - echo "$ac_t""no" 1>&6 -fi - -else - echo "$ac_t""no" 1>&6 -fi - fi +echo "$ac_t""$ac_cv_c_const" 1>&6 +if test $ac_cv_c_const = no; then + cat >> confdefs.h <<\EOF +#define const +EOF -echo $ac_n "checking if you want to link with dmalloc for testing""... $ac_c" 1>&6 -echo "configure:8336: checking if you want to link with dmalloc for testing" >&5 - -# Check whether --with-dmalloc or --without-dmalloc was given. -if test "${with_dmalloc+set}" = set; then - withval="$with_dmalloc" - with_dmalloc=$withval -else - with_dmalloc=no fi -echo "$ac_t""$with_dmalloc" 1>&6 -if test "$with_dmalloc" = yes ; then - ac_safe=`echo "dmalloc.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for dmalloc.h""... $ac_c" 1>&6 -echo "configure:8350: checking for dmalloc.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then +echo $ac_n "checking for inline""... $ac_c" 1>&6 +echo "configure:12921: checking for inline" >&5 +if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext < + +int main() { +} $ac_kw foo() { +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8360: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:12935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cv_c_inline=$ac_kw; break else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* +done + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for dmalloc_debug in -ldmalloc""... $ac_c" 1>&6 -echo "configure:8377: checking for dmalloc_debug in -ldmalloc" >&5 -ac_lib_var=`echo dmalloc'_'dmalloc_debug | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + +echo "$ac_t""$ac_cv_c_inline" 1>&6 +case "$ac_cv_c_inline" in + inline | yes) ;; + no) cat >> confdefs.h <<\EOF +#define inline +EOF + ;; + *) cat >> confdefs.h <&6 +echo "configure:12962: checking for ansi token expansion/substitution" >&5 +if eval "test \"`echo '$''{'cf_cv_cpp_expands'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-ldmalloc $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12976: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + cf_cv_cpp_expands=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_cv_cpp_expands=no fi rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - debug_malloc=DMALLOC -else - echo "$ac_t""no" 1>&6 -fi - -else - echo "$ac_t""no" 1>&6 -fi fi +echo "$ac_t""$cf_cv_cpp_expands" 1>&6 +test $cf_cv_cpp_expands = yes && cat >> confdefs.h <<\EOF +#define CPP_DOES_EXPAND 1 +EOF -echo $ac_n "checking if you want debugging-trace""... $ac_c" 1>&6 -echo "configure:8424: checking if you want debugging-trace" >&5 - -# Check whether --with-trace or --without-trace was given. -if test "${with_trace+set}" = set; then - withval="$with_trace" - use_trace=yes -else - use_trace=no -fi -echo "$ac_t""$use_trace" 1>&6 -if test "$use_trace" = yes ; then - cat >> confdefs.h <<\EOF -#define USE_TRACE 1 -EOF - EXTRAOBJS="$EXTRAOBJS trace.o" - echo $ac_n "checking for _tracef""... $ac_c" 1>&6 -echo "configure:8442: checking for _tracef" >&5 -if eval "test \"`echo '$''{'ac_cv_func__tracef'+set}'`\" = set"; then +echo $ac_n "checking for ansi token concatenation""... $ac_c" 1>&6 +echo "configure:12997: checking for ansi token concatenation" >&5 +if eval "test \"`echo '$''{'cf_cv_cpp_concats'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char _tracef(); +#define concat(a,b) a ## b int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub__tracef) || defined (__stub____tracef) -choke me -#else -_tracef(); -#endif - +char *firstlast = "y", *s = concat(first,last) ; return 0; } EOF -if { (eval echo configure:8470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_func__tracef=yes" + cf_cv_cpp_concats=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func__tracef=no" + cf_cv_cpp_concats=no fi rm -f conftest* + fi -if eval "test \"`echo '$ac_cv_func_'_tracef`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define HAVE__TRACEF 1 +echo "$ac_t""$cf_cv_cpp_concats" 1>&6 +test $cf_cv_cpp_concats = yes && cat >> confdefs.h <<\EOF +#define CPP_DOES_CONCAT 1 EOF -else - echo "$ac_t""no" 1>&6 - echo $ac_n "checking for _tracef in -l${cf_with_screen}_g""... $ac_c" 1>&6 -echo "configure:8492: checking for _tracef in -l${cf_with_screen}_g" >&5 -ac_lib_var=`echo ${cf_with_screen}_g'_'_tracef | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + +echo $ac_n "checking if nested parameters work""... $ac_c" 1>&6 +echo "configure:13032: checking if nested parameters work" >&5 +if eval "test \"`echo '$''{'cf_cv_nested_params'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-l${cf_with_screen}_g $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13045: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + cf_cv_nested_params=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_cv_nested_params=no fi rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define HAVE__TRACEF 1 -EOF - LIBS=`echo "$LIBS" | sed -e s/-l${cf_with_screen}// -e s/-lcurses//` - LIBS="-l${cf_with_screen}_g $LIBS" -else - echo "$ac_t""no" 1>&6 fi -fi +echo "$ac_t""$cf_cv_nested_params" 1>&6 +test $cf_cv_nested_params = yes && cat >> confdefs.h <<\EOF +#define HAVE_NESTED_PARAMS 1 +EOF -fi -## options for miscellaneous definitions -echo $ac_n "checking for domain-name""... $ac_c" 1>&6 -echo "configure:8543: checking for domain-name" >&5 -# Check whether --with-domain-name or --without-domain-name was given. -if test "${with_domain_name+set}" = set; then - withval="$with_domain_name" - : +### Checks for header files. +echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +echo "configure:13068: checking for ANSI C header files" >&5 +if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - withval="${DOMAIN_NAME}" + cat > conftest.$ac_ext < +#include +#include +#include +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:13081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + ac_cv_header_stdc=yes +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_stdc=no fi -test -n "$withval" && \ -case "$withval" in #(vi -yes) - { echo "configure: error: expected a value for --with-domain-name" 1>&2; exit 1; } - ;; #(vi -no) withval="" - ;; -esac -DOMAIN_NAME="$withval" +rm -f conftest* -if test "$DOMAIN_NAME" != ""; then - cat >> confdefs.h < conftest.$ac_ext < EOF - +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "memchr" >/dev/null 2>&1; then + : +else + rm -rf conftest* + ac_cv_header_stdc=no fi -echo "$ac_t""$DOMAIN_NAME" 1>&6 +rm -f conftest* -if test "$USE_NNTP" = "yes" ; then -echo $ac_n "checking for NNTP default-server""... $ac_c" 1>&6 -echo "configure:8572: checking for NNTP default-server" >&5 +fi -# Check whether --with-nntp-default-server or --without-nntp-default-server was given. -if test "${with_nntp_default_server+set}" = set; then - withval="$with_nntp_default_server" +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. +cat > conftest.$ac_ext < +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "free" >/dev/null 2>&1; then : else - withval="${NNTP_DEFAULT_SERVER-news.$DOMAIN_NAME}" + rm -rf conftest* + ac_cv_header_stdc=no fi -test -z "$withval" && withval=no -case "$withval" in #(vi -yes) - { echo "configure: error: expected a value for --with-nntp-default-server" 1>&2; exit 1; } - ;; #(vi -no) withval="" - ;; -esac -NNTP_DEFAULT_SERVER="$withval" - +rm -f conftest* - if test "$NNTP_DEFAULT_SERVER" = "" ; then - if test "$DOMAIN_NAME" != "" ; then - test -z "$NNTP_DEFAULT_SERVER" && case "$DOMAIN_NAME" in #((( - /*) - if test -r "$DOMAIN_NAME" ; then - NNTP_DEFAULT_SERVER="news.`cat $DOMAIN_NAME`" - else - NNTP_DEFAULT_SERVER="news" - fi - ;; - *) - NNTP_DEFAULT_SERVER="news.$DOMAIN_NAME" - ;; - esac - else - NNTP_DEFAULT_SERVER="news" - fi - fi -echo "$ac_t""$NNTP_DEFAULT_SERVER" 1>&6 fi -## These options are interdependent, so we delay defining them til now: -test -n "$NNTP_DEFAULT_SERVER" \ - && cat >> confdefs.h <> confdefs.h < conftest.$ac_ext < +#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int main () { int i; for (i = 0; i < 256; i++) +if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); +exit (0); } -cat >> confdefs.h <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + : +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_header_stdc=no +fi +rm -fr conftest* +fi -cat >> confdefs.h <> confdefs.h <&6 +if test $ac_cv_header_stdc = yes; then + cat >> confdefs.h <<\EOF +#define STDC_HEADERS 1 EOF +fi -## optional features -echo $ac_n "checking whether to use MH style mail handling for mailgroups""... $ac_c" 1>&6 -echo "configure:8638: checking whether to use MH style mail handling for mailgroups" >&5 - -# Check whether --enable-mh-mail-handling or --disable-mh-mail-handling was given. -if test "${enable_mh_mail_handling+set}" = set; then - enableval="$enable_mh_mail_handling" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - cat >> confdefs.h <<\EOF -#define HAVE_MH_MAIL_HANDLING 1 +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 +echo "configure:13176: checking for $ac_hdr that defines DIR" >&5 +if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#include <$ac_hdr> +int main() { +DIR *dirp = 0; +; return 0; } EOF - - fi +if { (eval echo configure:13189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=yes" else - enableval=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=no" fi - -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking whether to enable 8-bit keycodes""... $ac_c" 1>&6 -echo "configure:8657: checking whether to enable 8-bit keycodes" >&5 - -# Check whether --enable-8bit-keys or --disable-8bit-keys was given. -if test "${enable_8bit_keys+set}" = set; then - enableval="$enable_8bit_keys" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - : - else - cat >> confdefs.h <<\EOF -#define HAVE_KEY_PREFIX 1 +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_KEY_PREFIX 1 -EOF - - + echo "$ac_t""no" 1>&6 fi +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then +echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 +echo "configure:13214: checking for opendir in -ldir" >&5 +ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldir $LIBS" +cat > conftest.$ac_ext <&6 +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:13233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -echo $ac_n "checking whether to enable ANSI-color""... $ac_c" 1>&6 -echo "configure:8683: checking whether to enable ANSI-color" >&5 + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" -# Check whether --enable-color or --disable-color was given. -if test "${enable_color+set}" = set; then - enableval="$enable_color" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - : - fi +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + LIBS="$LIBS -ldir" else - enableval=yes + echo "$ac_t""no" 1>&6 fi -use_color=$enableval -echo "$ac_t""$use_color" 1>&6 - -echo $ac_n "checking whether to enable posting-etiquette""... $ac_c" 1>&6 -echo "configure:8700: checking whether to enable posting-etiquette" >&5 +else +echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 +echo "configure:13255: checking for opendir in -lx" >&5 +ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lx $LIBS" +cat > conftest.$ac_ext <> confdefs.h <<\EOF -#define NO_ETIQUETTE 1 +int main() { +opendir() +; return 0; } EOF - - fi +if { (eval echo configure:13274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else - enableval=yes -fi - -echo "$ac_t""$enableval" 1>&6 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -echo $ac_n "checking whether to strictly observe RFC2047 and break long lines""... $ac_c" 1>&6 -echo "configure:8719: checking whether to strictly observe RFC2047 and break long lines" >&5 + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" -# Check whether --enable-break-long-lines or --disable-break-long-lines was given. -if test "${enable_break_long_lines+set}" = set; then - enableval="$enable_break_long_lines" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - cat >> confdefs.h <<\EOF -#define MIME_BREAK_LONG_LINES 1 -EOF - - fi +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + LIBS="$LIBS -lx" else - enableval=no + echo "$ac_t""no" 1>&6 fi -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking whether to force MM_CHARSET obeyance when decoding mime""... $ac_c" 1>&6 -echo "configure:8738: checking whether to force MM_CHARSET obeyance when decoding mime" >&5 +fi -# Check whether --enable-mime-strict-charset or --disable-mime-strict-charset was given. -if test "${enable_mime_strict_charset+set}" = set; then - enableval="$enable_mime_strict_charset" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - : - else - cat >> confdefs.h <<\EOF -#define MIME_STRICT_CHARSET 1 +echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 +echo "configure:13297: checking whether time.h and sys/time.h may both be included" >&5 +if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#include +#include +int main() { +struct tm *tp; +; return 0; } EOF - - fi +if { (eval echo configure:13311: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_header_time=yes else - enableval=yes + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_time=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_header_time" 1>&6 +if test $ac_cv_header_time = yes; then cat >> confdefs.h <<\EOF -#define MIME_STRICT_CHARSET 1 +#define TIME_WITH_SYS_TIME 1 EOF - fi -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking for MIME character-set""... $ac_c" 1>&6 -echo "configure:8764: checking for MIME character-set" >&5 - -# Check whether --with-mime-default-charset or --without-mime-default-charset was given. -if test "${with_mime_default_charset+set}" = set; then - withval="$with_mime_default_charset" - : +echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 +echo "configure:13332: checking for sys/wait.h that is POSIX.1 compatible" >&5 +if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - withval="${MM_CHARSET-US-ASCII}" + cat > conftest.$ac_ext < +#include +#ifndef WEXITSTATUS +#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) +#endif +#ifndef WIFEXITED +#define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +#endif +int main() { +int s; +wait (&s); +s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; +; return 0; } +EOF +if { (eval echo configure:13353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_header_sys_wait_h=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_sys_wait_h=no fi -case "$withval" in #(vi -yes|no) - { echo "configure: error: expected a value for --with-mime-default-charset" 1>&2; exit 1; } - ;; -esac -MM_CHARSET="$withval" -cat >> confdefs.h <&6 +if test $ac_cv_header_sys_wait_h = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_SYS_WAIT_H 1 EOF -echo "$ac_t""$MM_CHARSET" 1>&6 +fi -echo $ac_n "checking for default ISO/ASCII table""... $ac_c" 1>&6 -echo "configure:8786: checking for default ISO/ASCII table" >&5 -# Check whether --with-iso-to-ascii or --without-iso-to-ascii was given. -if test "${with_iso_to_ascii+set}" = set; then - withval="$with_iso_to_ascii" - : -else - withval="${DEFAULT_ISO2ASC--1}" -fi -case "$withval" in #(vi -yes|no) - { echo "configure: error: expected a value for --with-iso-to-ascii" 1>&2; exit 1; } - ;; -esac -DEFAULT_ISO2ASC="$withval" -cat >> confdefs.h <&6 +do + echo $ac_n "checking for $cf_hdr""... $ac_c" 1>&6 +echo "configure:13434: checking for $cf_hdr" >&5 + cat > conftest.$ac_ext <&6 -echo "configure:8808: checking whether to enable locale support" >&5 +#include +#include <$cf_hdr> -# Check whether --enable-locale or --disable-locale was given. -if test "${enable_locale+set}" = set; then - enableval="$enable_locale" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - cat >> confdefs.h <<\EOF -#define NO_LOCALE 1 EOF - - fi +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:13444: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + cf_found=yes else - enableval=yes + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_found=no fi +rm -f conftest* +echo "$ac_t""$cf_found" 1>&6 +if test $cf_found = yes ; then + +cf_tr_hdr=`echo "$cf_hdr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking whether to enable posting""... $ac_c" 1>&6 -echo "configure:8827: checking whether to enable posting" >&5 - -# Check whether --enable-posting or --disable-posting was given. -if test "${enable_posting+set}" = set; then - enableval="$enable_posting" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - cat >> confdefs.h <<\EOF -#define NO_POSTING 1 + cat >> confdefs.h <&6 -echo $ac_n "checking whether to enable shell escape""... $ac_c" 1>&6 -echo "configure:8846: checking whether to enable shell escape" >&5 +### Checks that depend on existence-checks for headers -# Check whether --enable-shell-escape or --disable-shell-escape was given. -if test "${enable_shell_escape+set}" = set; then - enableval="$enable_shell_escape" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - cat >> confdefs.h <<\EOF -#define NO_SHELL_ESCAPE 1 -EOF - - fi -else - enableval=yes -fi -echo "$ac_t""$enableval" 1>&6 -echo $ac_n "checking whether to have fascist newsadmin""... $ac_c" 1>&6 -echo "configure:8865: checking whether to have fascist newsadmin" >&5 +for ac_hdr in \ +termio.h \ +termios.h \ +unistd.h \ -# Check whether --enable-fascist-newsadmin or --disable-fascist-newsadmin was given. -if test "${enable_fascist_newsadmin+set}" = set; then - enableval="$enable_fascist_newsadmin" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - cat >> confdefs.h <<\EOF -#define HAVE_FASCIST_NEWSADMIN 1 +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:13482: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < EOF - - fi +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:13492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - enableval=no + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi - -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking whether to enable inverse video and highlighting""... $ac_c" 1>&6 -echo "configure:8884: checking whether to enable inverse video and highlighting" >&5 - -# Check whether --enable-inverse-video or --disable-inverse-video was given. -if test "${enable_inverse_video+set}" = set; then - enableval="$enable_inverse_video" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - cat >> confdefs.h <<\EOF -#define USE_INVERSE_HACK 1 +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 fi +done -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking whether to enable piping support""... $ac_c" 1>&6 -echo "configure:8903: checking whether to enable piping support" >&5 -# Check whether --enable-piping or --disable-piping was given. -if test "${enable_piping+set}" = set; then - enableval="$enable_piping" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - cat >> confdefs.h <<\EOF -#define DONT_HAVE_PIPING 1 +if test "$ISC" = yes ; then + for ac_hdr in sys/termio.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:13524: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < EOF - - fi +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:13534: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - enableval=yes + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi - -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking whether to enable printer support""... $ac_c" 1>&6 -echo "configure:8922: checking whether to enable printer support" >&5 - -# Check whether --enable-printing or --disable-printing was given. -if test "${enable_printing+set}" = set; then - enableval="$enable_printing" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - cat >> confdefs.h <<\EOF -#define DISABLE_PRINTING 1 +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 fi +done -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking whether to unique tmp-files by appending .pid""... $ac_c" 1>&6 -echo "configure:8941: checking whether to unique tmp-files by appending .pid" >&5 - -# Check whether --enable-append-pid or --disable-append-pid was given. -if test "${enable_append_pid+set}" = set; then - enableval="$enable_append_pid" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - : - else - cat >> confdefs.h <<\EOF -#define APPEND_PID 1 -EOF - - fi -else - enableval=yes - cat >> confdefs.h <<\EOF -#define APPEND_PID 1 -EOF - - fi - -echo "$ac_t""$enableval" 1>&6 - -echo $ac_n "checking whether to fallback to XHDR XREF if XOVER isn't supported""... $ac_c" 1>&6 -echo "configure:8967: checking whether to fallback to XHDR XREF if XOVER isn't supported" >&5 - -# Check whether --enable-xhdr-xref or --disable-xhdr-xref was given. -if test "${enable_xhdr_xref+set}" = set; then - enableval="$enable_xhdr_xref" - test "$enableval" != no && enableval=yes - if test "$enableval" != "yes" ; then - : - else - cat >> confdefs.h <<\EOF -#define XHDR_XREF 1 +if test "$ac_cv_header_termios_h" = yes ; then + case "$CFLAGS $CPPFLAGS" in + *-D_POSIX_SOURCE*) + termios_bad=dunno ;; + *) termios_bad=maybe ;; + esac + if test "$termios_bad" = maybe ; then + echo $ac_n "checking whether termios.h needs _POSIX_SOURCE""... $ac_c" 1>&6 +echo "configure:13569: checking whether termios.h needs _POSIX_SOURCE" >&5 + cat > conftest.$ac_ext < +int main() { +struct termios foo; int x = foo.c_iflag +; return 0; } EOF +if { (eval echo configure:13578: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + termios_bad=no +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + + cat > conftest.$ac_ext < +int main() { +struct termios foo; int x = foo.c_iflag +; return 0; } +EOF +if { (eval echo configure:13596: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + termios_bad=unknown else - enableval=yes - cat >> confdefs.h <<\EOF -#define XHDR_XREF 1 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + termios_bad=yes cat >> confdefs.h <<\EOF +#define _POSIX_SOURCE 1 EOF - +fi +rm -f conftest* + +fi +rm -f conftest* + echo "$ac_t""$termios_bad" 1>&6 + fi fi -echo "$ac_t""$enableval" 1>&6 -### bypass a bug in old versions of leafnode & NNTPcache -echo $ac_n "checking whether to send a GROUP command before a LISTGROUP""... $ac_c" 1>&6 -echo "configure:8994: checking whether to send a GROUP command before a LISTGROUP" >&5 -# Check whether --enable-broken-listgroup-fix or --disable-broken-listgroup-fix was given. -if test "${enable_broken_listgroup_fix+set}" = set; then - enableval="$enable_broken_listgroup_fix" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - cat >> confdefs.h <<\EOF -#define BROKEN_LISTGROUP 1 -EOF - - fi +echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6 +echo "configure:13619: checking declaration of size-change" >&5 +if eval "test \"`echo '$''{'cf_cv_sizechange'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - enableval=no -fi + + cf_cv_sizechange=unknown + cf_save_CPPFLAGS="$CPPFLAGS" -echo "$ac_t""$enableval" 1>&6 +for cf_opts in "" "NEED_PTEM_H" +do -### on some old systems the WIFEXITED()/WEXITSTATUS() macros do not work -echo $ac_n "checking whether to ignore system()s return value""... $ac_c" 1>&6 -echo "configure:9014: checking whether to ignore system()s return value" >&5 + CPPFLAGS="$cf_save_CPPFLAGS" + test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts" + cat > conftest.$ac_ext < +#ifdef HAVE_TERMIOS_H +#include +#else +#ifdef HAVE_TERMIO_H +#include +#endif +#endif +#ifdef NEED_PTEM_H +/* This is a workaround for SCO: they neglected to define struct winsize in + * termios.h -- it's only in termio.h and ptem.h + */ +#include +#include +#endif +#if !defined(sun) || !defined(HAVE_TERMIOS_H) +#include +#endif -# Check whether --enable-broken-system-fix or --disable-broken-system-fix was given. -if test "${enable_broken_system_fix+set}" = set; then - enableval="$enable_broken_system_fix" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - cat >> confdefs.h <<\EOF -#define IGNORE_SYSTEM_STATUS 1 +int main() { + +#ifdef TIOCGSIZE + struct ttysize win; /* FIXME: what system is this? */ + int y = win.ts_lines; + int x = win.ts_cols; +#else +#ifdef TIOCGWINSZ + struct winsize win; + int y = win.ws_row; + int x = win.ws_col; +#else + no TIOCGSIZE or TIOCGWINSZ +#endif /* TIOCGWINSZ */ +#endif /* TIOCGSIZE */ + +; return 0; } EOF - - fi +if { (eval echo configure:13672: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + cf_cv_sizechange=yes else - enableval=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_cv_sizechange=no fi +rm -f conftest* -echo "$ac_t""$enableval" 1>&6 - -### checks for the location of the system-wide default setting file -echo $ac_n "checking for directory containing tin.defaults file""... $ac_c" 1>&6 -echo "configure:9034: checking for directory containing tin.defaults file" >&5 + CPPFLAGS="$cf_save_CPPFLAGS" + if test "$cf_cv_sizechange" = yes ; then + echo "size-change succeeded ($cf_opts)" >&5 + test -n "$cf_opts" && cf_cv_sizechange="$cf_opts" + break + fi +done -# Check whether --with-defaults-dir or --without-defaults-dir was given. -if test "${with_defaults_dir+set}" = set; then - withval="$with_defaults_dir" - : -else - withval="${TIN_DEFAULTS_DIR-/etc/tin}" fi -case ".$withval" in #(vi -.\$\(*\)*|.\'*\'*) #(vi - ;; -..|./*|.\\*) #(vi - ;; -.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX - ;; -.\${*prefix}*) #(vi - eval withval="$withval" - case ".$withval" in #(vi - .NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; - esac - ;; #(vi -.NONE/*) - withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%` - ;; -*) - { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; } - ;; -esac - -eval TIN_DEFAULTS_DIR="$withval" - -echo "$ac_t""$TIN_DEFAULTS_DIR" 1>&6 -cat >> confdefs.h <&6 +if test "$cf_cv_sizechange" != no ; then + cat >> confdefs.h <<\EOF +#define HAVE_SIZECHANGE 1 EOF - -### check for ipv6 support -echo $ac_n "checking whether to enable IPv6""... $ac_c" 1>&6 -echo "configure:9077: checking whether to enable IPv6" >&5 - -# Check whether --enable-ipv6 or --disable-ipv6 was given. -if test "${enable_ipv6+set}" = set; then - enableval="$enable_ipv6" - test "$enableval" != yes && enableval=no - if test "$enableval" != "no" ; then - cat >> confdefs.h <<\EOF -#define ENABLE_IPV6 1 + case $cf_cv_sizechange in #(vi + NEED*) + cat >> confdefs.h <&6 -if test "$enableval" = "yes"; then - -echo $ac_n "checking ipv6 stack type""... $ac_c" 1>&6 -echo "configure:9098: checking ipv6 stack type" >&5 -if eval "test \"`echo '$''{'cf_cv_ipv6type'+set}'`\" = set"; then +echo $ac_n "checking if sys/time.h conflicts with sys/select.h""... $ac_c" 1>&6 +echo "configure:13711: checking if sys/time.h conflicts with sys/select.h" >&5 +if eval "test \"`echo '$''{'cf_cv_sys_select_timeval'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else -cf_cv_ipv6type=unknown -for i in solaris inria kame linux-glibc linux-libinet6 toshiba v6d zeta +for cf_opts in no yes do - case $i in #(vi - solaris) #(vi - if test "SunOS" = "`uname -s`" - then - if test -f /usr/include/netinet/ip6.h - then - cf_cv_ipv6type=$i - fi - fi - ;; - inria) #(vi - cat > conftest.$ac_ext < conftest.$ac_ext < -#ifdef IPV6_INRIA_VERSION -yes +#define yes 1 +#define no 0 +#if $cf_opts +#define timeval fake_timeval #endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then - rm -rf conftest* - cf_cv_ipv6type=$i -fi -rm -f conftest* - - ;; - kame) #(vi - cat > conftest.$ac_ext < -#ifdef __KAME__ -yes +#include +#ifdef TIME_WITH_SYS_TIME +# include +# include +#else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif +#undef timeval +#ifdef HAVE_SYS_SELECT_H +# include #endif + +int main() { +struct timeval foo +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then +if { (eval echo configure:13747: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_ipv6type=$i + cf_cv_sys_select_timeval=$cf_opts + break +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_cv_sys_select_timeval=no fi rm -f conftest* +done - ;; - linux-glibc) #(vi - cat > conftest.$ac_ext < -#if defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1 -yes -#endif +echo "$ac_t""$cf_cv_sys_select_timeval" 1>&6 +test $cf_cv_sys_select_timeval = yes && cat >> confdefs.h <<\EOF +#define NEED_TIMEVAL_FIX 1 EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then - rm -rf conftest* - cf_cv_ipv6type=$i -fi -rm -f conftest* - ;; - linux-libinet6) #(vi - if test -d /usr/inet6 - then - cf_cv_ipv6type=$i - elif test -f /usr/include/netinet/ip6.h - then - cf_cv_ipv6type=$i - fi - ;; - toshiba) #(vi - cat > conftest.$ac_ext < -#ifdef _TOSHIBA_INET6 -yes + +### Checks for Datatypes. +echo $ac_n "checking for gid_t""... $ac_c" 1>&6 +echo "configure:13771: checking for gid_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_gid_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#if STDC_HEADERS +#include +#include #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])gid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* - cf_cv_ipv6type=$i + ac_cv_type_gid_t=yes +else + rm -rf conftest* + ac_cv_type_gid_t=no fi rm -f conftest* - ;; - v6d) #(vi - cat > conftest.$ac_ext <&6 +if test $ac_cv_type_gid_t = no; then + cat >> confdefs.h <<\EOF +#define gid_t int +EOF -#include -#ifdef __V6D__ -yes +fi + +echo $ac_n "checking for mode_t""... $ac_c" 1>&6 +echo "configure:13804: checking for mode_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#if STDC_HEADERS +#include +#include #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* - cf_cv_ipv6type=$i + ac_cv_type_mode_t=yes +else + rm -rf conftest* + ac_cv_type_mode_t=no fi rm -f conftest* - ;; - zeta) - cat > conftest.$ac_ext <&6 +if test $ac_cv_type_mode_t = no; then + cat >> confdefs.h <<\EOF +#define mode_t int +EOF -#include -#ifdef _ZETA_MINAMI_INET6 -yes +fi + +echo $ac_n "checking for off_t""... $ac_c" 1>&6 +echo "configure:13837: checking for off_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#if STDC_HEADERS +#include +#include #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "yes" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* - cf_cv_ipv6type=$i + ac_cv_type_off_t=yes +else + rm -rf conftest* + ac_cv_type_off_t=no fi rm -f conftest* - ;; - esac - if test "$cf_cv_ipv6type" != "unknown"; then - break - fi -done - fi +echo "$ac_t""$ac_cv_type_off_t" 1>&6 +if test $ac_cv_type_off_t = no; then + cat >> confdefs.h <<\EOF +#define off_t long +EOF -echo "$ac_t""$cf_cv_ipv6type" 1>&6 - - - - -cf_ipv6lib=none -cf_ipv6dir=none - -echo $ac_n "checking for IPv6 library if required""... $ac_c" 1>&6 -echo "configure:9250: checking for IPv6 library if required" >&5 -case $cf_cv_ipv6type in #(vi -solaris) #(vi - ;; -inria) #(vi - ;; -kame) #(vi - cf_ipv6lib=inet6 - cf_ipv6dir=v6 - ;; -linux-glibc) #(vi - ;; -linux-libinet6) #(vi - cf_ipv6lib=inet6 - cf_ipv6dir=inet6 - ;; -toshiba) #(vi - cf_ipv6lib=inet6 - cf_ipv6dir=v6 - ;; -v6d) #(vi - cf_ipv6lib=v6 - cf_ipv6dir=v6 - ;; -zeta) - cf_ipv6lib=inet6 - cf_ipv6dir=v6 - ;; -esac -echo "$ac_t""$cf_ipv6lib" 1>&6 - -if test "$cf_ipv6lib" != "none"; then +fi - cat > conftest.$ac_ext <&6 +echo "configure:13870: checking for pid_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < -#include -#include -#include -int main() { -getaddrinfo(0, 0, 0, 0) -; return 0; } +#if STDC_HEADERS +#include +#include +#endif EOF -if { (eval echo configure:9295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - : +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_pid_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 rm -rf conftest* - - cf_search="" - -test -d $HOME && { - test -n "$verbose" && echo " ... testing include-directories under $HOME" - test -d $HOME/include && cf_search="$cf_search $HOME/include" - test -d $HOME/include/$cf_ipv6dir && cf_search="$cf_search $HOME/include/$cf_ipv6dir" - test -d $HOME/include/$cf_ipv6dir/include && cf_search="$cf_search $HOME/include/$cf_ipv6dir/include" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_ipv6dir to the actual package location: -test -d $HOME/$cf_ipv6dir && { - test -n "$verbose" && echo " ... testing include-directories under $HOME/$cf_ipv6dir" - test -d $HOME/$cf_ipv6dir/include && cf_search="$cf_search $HOME/$cf_ipv6dir/include" - test -d $HOME/$cf_ipv6dir/include/$cf_ipv6dir && cf_search="$cf_search $HOME/$cf_ipv6dir/include/$cf_ipv6dir" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing include-directories under /usr/local" - test -d /usr/local/include && cf_search="$cf_search /usr/local/include" - test -d /usr/local/include/$cf_ipv6dir && cf_search="$cf_search /usr/local/include/$cf_ipv6dir" - test -d /usr/local/include/$cf_ipv6dir/include && cf_search="$cf_search /usr/local/include/$cf_ipv6dir/include" - test -d /usr/local/$cf_ipv6dir/include && cf_search="$cf_search /usr/local/$cf_ipv6dir/include" - test -d /usr/local/$cf_ipv6dir/include/$cf_ipv6dir && cf_search="$cf_search /usr/local/$cf_ipv6dir/include/$cf_ipv6dir" -} - -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing include-directories under $prefix" - test -d $prefix/include && cf_search="$cf_search $prefix/include" - test -d $prefix/include/$cf_ipv6dir && cf_search="$cf_search $prefix/include/$cf_ipv6dir" - test -d $prefix/include/$cf_ipv6dir/include && cf_search="$cf_search $prefix/include/$cf_ipv6dir/include" - test -d $prefix/$cf_ipv6dir/include && cf_search="$cf_search $prefix/$cf_ipv6dir/include" - test -d $prefix/$cf_ipv6dir/include/$cf_ipv6dir && cf_search="$cf_search $prefix/$cf_ipv6dir/include/$cf_ipv6dir" -} - -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing include-directories under /opt" - test -d /opt/include && cf_search="$cf_search /opt/include" - test -d /opt/include/$cf_ipv6dir && cf_search="$cf_search /opt/include/$cf_ipv6dir" - test -d /opt/include/$cf_ipv6dir/include && cf_search="$cf_search /opt/include/$cf_ipv6dir/include" - test -d /opt/$cf_ipv6dir/include && cf_search="$cf_search /opt/$cf_ipv6dir/include" - test -d /opt/$cf_ipv6dir/include/$cf_ipv6dir && cf_search="$cf_search /opt/$cf_ipv6dir/include/$cf_ipv6dir" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing include-directories under /usr" - test -d /usr/include && cf_search="$cf_search /usr/include" - test -d /usr/include/$cf_ipv6dir && cf_search="$cf_search /usr/include/$cf_ipv6dir" - test -d /usr/include/$cf_ipv6dir/include && cf_search="$cf_search /usr/include/$cf_ipv6dir/include" - test -d /usr/$cf_ipv6dir/include && cf_search="$cf_search /usr/$cf_ipv6dir/include" -} - -test "$includedir" != NONE && \ -test "$includedir" != "/usr/include" && \ -test -d "$includedir" && { - test -d $includedir && cf_search="$cf_search $includedir" - test -d $includedir/$cf_ipv6dir && cf_search="$cf_search $includedir/$cf_ipv6dir" -} - -test "$oldincludedir" != NONE && \ -test "$oldincludedir" != "/usr/include" && \ -test -d "$oldincludedir" && { - test -d $oldincludedir && cf_search="$cf_search $oldincludedir" - test -d $oldincludedir/$cf_ipv6dir && cf_search="$cf_search $oldincludedir/$cf_ipv6dir" -} - - - for cf_incdir in $cf_search - do - cf_header=$cf_incdir/netinet/ip6.h - if test -f $cf_header - then - CPPFLAGS="$CPPFLAGS -I$cf_incdir" - test -n "$verbose" && echo " ... found $cf_header" 1>&6 - break - fi - test -n "$verbose" && echo " ... tested $cf_header" 1>&6 - done - + ac_cv_type_pid_t=no fi rm -f conftest* - - eval 'cf_cv_have_lib_'$cf_ipv6lib'=no' - cf_libdir="" - echo $ac_n "checking for getaddrinfo""... $ac_c" 1>&6 -echo "configure:9392: checking for getaddrinfo" >&5 -if eval "test \"`echo '$''{'ac_cv_func_getaddrinfo'+set}'`\" = set"; then +fi +echo "$ac_t""$ac_cv_type_pid_t" 1>&6 +if test $ac_cv_type_pid_t = no; then + cat >> confdefs.h <<\EOF +#define pid_t int +EOF + +fi + +echo $ac_n "checking for size_t""... $ac_c" 1>&6 +echo "configure:13903: checking for size_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char getaddrinfo(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_getaddrinfo) || defined (__stub___getaddrinfo) -choke me -#else -getaddrinfo(); +#include +#if STDC_HEADERS +#include +#include #endif - -; return 0; } EOF -if { (eval echo configure:9420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* - eval "ac_cv_func_getaddrinfo=yes" + ac_cv_type_size_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_getaddrinfo=no" + ac_cv_type_size_t=no fi rm -f conftest* + fi +echo "$ac_t""$ac_cv_type_size_t" 1>&6 +if test $ac_cv_type_size_t = no; then + cat >> confdefs.h <<\EOF +#define size_t unsigned +EOF -if eval "test \"`echo '$ac_cv_func_'getaddrinfo`\" = yes"; then - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_ipv6lib'=yes' -else - echo "$ac_t""no" 1>&6 +fi - cf_save_LIBS="$LIBS" - echo $ac_n "checking for getaddrinfo in -l$cf_ipv6lib""... $ac_c" 1>&6 -echo "configure:9440: checking for getaddrinfo in -l$cf_ipv6lib" >&5 - LIBS="-l$cf_ipv6lib $LIBS" - cat > conftest.$ac_ext <&6 +echo "configure:13936: checking for ssize_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < -#include -#include -#include -int main() { -getaddrinfo(0, 0, 0, 0) -; return 0; } +#if STDC_HEADERS +#include +#include +#endif EOF -if { (eval echo configure:9454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])ssize_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_ipv6lib'=yes' - + ac_cv_type_ssize_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 rm -rf conftest* - echo "$ac_t""no" 1>&6 - cf_search="" - -test -d $HOME && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME" - test -d $HOME/lib && cf_search="$cf_search $HOME/lib" - test -d $HOME/lib/$cf_ipv6dir && cf_search="$cf_search $HOME/lib/$cf_ipv6dir" - test -d $HOME/lib/$cf_ipv6dir/lib && cf_search="$cf_search $HOME/lib/$cf_ipv6dir/lib" -} - -# For other stuff under the home directory, it should be sufficient to put -# a symbolic link for $HOME/$cf_ipv6dir to the actual package location: -test -d $HOME/$cf_ipv6dir && { - test -n "$verbose" && echo " ... testing lib-directories under $HOME/$cf_ipv6dir" - test -d $HOME/$cf_ipv6dir/lib && cf_search="$cf_search $HOME/$cf_ipv6dir/lib" - test -d $HOME/$cf_ipv6dir/lib/$cf_ipv6dir && cf_search="$cf_search $HOME/$cf_ipv6dir/lib/$cf_ipv6dir" -} - -test "$prefix" != /usr/local && \ -test -d /usr/local && { - test -n "$verbose" && echo " ... testing lib-directories under /usr/local" - test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" - test -d /usr/local/lib/$cf_ipv6dir && cf_search="$cf_search /usr/local/lib/$cf_ipv6dir" - test -d /usr/local/lib/$cf_ipv6dir/lib && cf_search="$cf_search /usr/local/lib/$cf_ipv6dir/lib" - test -d /usr/local/$cf_ipv6dir/lib && cf_search="$cf_search /usr/local/$cf_ipv6dir/lib" - test -d /usr/local/$cf_ipv6dir/lib/$cf_ipv6dir && cf_search="$cf_search /usr/local/$cf_ipv6dir/lib/$cf_ipv6dir" -} + ac_cv_type_ssize_t=no +fi +rm -f conftest* -test "$prefix" != NONE && \ -test -d $prefix && { - test -n "$verbose" && echo " ... testing lib-directories under $prefix" - test -d $prefix/lib && cf_search="$cf_search $prefix/lib" - test -d $prefix/lib/$cf_ipv6dir && cf_search="$cf_search $prefix/lib/$cf_ipv6dir" - test -d $prefix/lib/$cf_ipv6dir/lib && cf_search="$cf_search $prefix/lib/$cf_ipv6dir/lib" - test -d $prefix/$cf_ipv6dir/lib && cf_search="$cf_search $prefix/$cf_ipv6dir/lib" - test -d $prefix/$cf_ipv6dir/lib/$cf_ipv6dir && cf_search="$cf_search $prefix/$cf_ipv6dir/lib/$cf_ipv6dir" -} +fi +echo "$ac_t""$ac_cv_type_ssize_t" 1>&6 +if test $ac_cv_type_ssize_t = no; then + cat >> confdefs.h <<\EOF +#define ssize_t int +EOF -test "$prefix" != /opt && \ -test -d /opt && { - test -n "$verbose" && echo " ... testing lib-directories under /opt" - test -d /opt/lib && cf_search="$cf_search /opt/lib" - test -d /opt/lib/$cf_ipv6dir && cf_search="$cf_search /opt/lib/$cf_ipv6dir" - test -d /opt/lib/$cf_ipv6dir/lib && cf_search="$cf_search /opt/lib/$cf_ipv6dir/lib" - test -d /opt/$cf_ipv6dir/lib && cf_search="$cf_search /opt/$cf_ipv6dir/lib" - test -d /opt/$cf_ipv6dir/lib/$cf_ipv6dir && cf_search="$cf_search /opt/$cf_ipv6dir/lib/$cf_ipv6dir" -} - -test "$prefix" != /usr && \ -test -d /usr && { - test -n "$verbose" && echo " ... testing lib-directories under /usr" - test -d /usr/lib && cf_search="$cf_search /usr/lib" - test -d /usr/lib/$cf_ipv6dir && cf_search="$cf_search /usr/lib/$cf_ipv6dir" - test -d /usr/lib/$cf_ipv6dir/lib && cf_search="$cf_search /usr/lib/$cf_ipv6dir/lib" - test -d /usr/$cf_ipv6dir/lib && cf_search="$cf_search /usr/$cf_ipv6dir/lib" -} +fi - for cf_libdir in $cf_search - do - echo $ac_n "checking for -l$cf_ipv6lib in $cf_libdir""... $ac_c" 1>&6 -echo "configure:9523: checking for -l$cf_ipv6lib in $cf_libdir" >&5 - LIBS="-L$cf_libdir -l$cf_ipv6lib $cf_save_LIBS" - cat > conftest.$ac_ext <&6 +echo "configure:13969: checking for time_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < -#include -#include -#include -int main() { -getaddrinfo(0, 0, 0, 0) -; return 0; } +#if STDC_HEADERS +#include +#include +#endif EOF -if { (eval echo configure:9537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])time_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* - echo "$ac_t""yes" 1>&6 - eval 'cf_cv_have_lib_'$cf_ipv6lib'=yes' - break + ac_cv_type_time_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 rm -rf conftest* - echo "$ac_t""no" 1>&6 - LIBS="$cf_save_LIBS" -fi -rm -f conftest* - done - + ac_cv_type_time_t=no fi rm -f conftest* - -fi - -eval 'cf_found_library=$cf_cv_have_lib_'$cf_ipv6lib - - if test $cf_found_library = no ; then - { echo "configure: error: No $cf_ipv6lib library found, cannot continue. You must fetch lib$cf_ipv6lib.a -from an appropriate IPv6 kit and compile beforehand." 1>&2; exit 1; } - fi fi +echo "$ac_t""$ac_cv_type_time_t" 1>&6 +if test $ac_cv_type_time_t = no; then + cat >> confdefs.h <<\EOF +#define time_t long +EOF +fi - - -echo $ac_n "checking working getaddrinfo""... $ac_c" 1>&6 -echo "configure:9570: checking working getaddrinfo" >&5 -if eval "test \"`echo '$''{'cf_cv_getaddrinfo'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +cat > conftest.$ac_ext < +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "in_addr_t" >/dev/null 2>&1; then + : else + rm -rf conftest* -if test "$cross_compiling" = yes; then - cf_cv_getaddrinfo=unknown + cat > conftest.$ac_ext < +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "in_addr_t" >/dev/null 2>&1; then + : +else + rm -rf conftest* + + echo $ac_n "checking for in_addr_t""... $ac_c" 1>&6 +echo "configure:14024: checking for in_addr_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_in_addr_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -#include -#include -#include -#include - -#define expect(a,b) if (strcmp(a,b) != 0) goto bad - -int main() -{ - int passive, gaierr, inet4 = 0, inet6 = 0; - struct addrinfo hints, *ai, *aitop; - char straddr[INET6_ADDRSTRLEN], strport[16]; - - for (passive = 0; passive <= 1; passive++) { - memset(&hints, 0, sizeof(hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_flags = passive ? AI_PASSIVE : 0; - hints.ai_socktype = SOCK_STREAM; - if ((gaierr = getaddrinfo(NULL, "54321", &hints, &aitop)) != 0) { - (void)gai_strerror(gaierr); - goto bad; - } - for (ai = aitop; ai; ai = ai->ai_next) { - if (ai->ai_addr == NULL || - ai->ai_addrlen == 0 || - getnameinfo(ai->ai_addr, ai->ai_addrlen, - straddr, sizeof(straddr), strport, sizeof(strport), - NI_NUMERICHOST|NI_NUMERICSERV) != 0) { - goto bad; - } - switch (ai->ai_family) { - case AF_INET: - expect(strport, "54321"); - if (passive) { - expect(straddr, "0.0.0.0"); - } else { - expect(straddr, "127.0.0.1"); - } - inet4++; - break; - case AF_INET6: - expect(strport, "54321"); - if (passive) { - expect(straddr, "::"); - } else { - expect(straddr, "::1"); - } - inet6++; - break; - case AF_UNSPEC: - goto bad; - break; - default: - /* another family support? */ - break; - } - } - } - - if (!(inet4 == 0 || inet4 == 2)) - goto bad; - if (!(inet6 == 0 || inet6 == 2)) - goto bad; - - if (aitop) - freeaddrinfo(aitop); - exit(0); - - bad: - if (aitop) - freeaddrinfo(aitop); - exit(1); -} - +#if STDC_HEADERS +#include +#include +#endif EOF -if { (eval echo configure:9658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cf_cv_getaddrinfo=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])in_addr_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_in_addr_t=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - cf_cv_getaddrinfo=no -fi -rm -fr conftest* + rm -rf conftest* + ac_cv_type_in_addr_t=no fi - +rm -f conftest* fi - -echo "$ac_t""$cf_cv_getaddrinfo" 1>&6 -if test "$cf_cv_getaddrinfo" = yes ; then - cat >> confdefs.h <<\EOF -#define HAVE_GAI_STRERROR 1 -EOF - - cat >> confdefs.h <<\EOF -#define HAVE_GETADDRINFO 1 +echo "$ac_t""$ac_cv_type_in_addr_t" 1>&6 +if test $ac_cv_type_in_addr_t = no; then + cat >> confdefs.h <<\EOF +#define in_addr_t unsigned long EOF fi - -if test "$cf_cv_getaddrinfo" != "yes"; then - if test "$cf_cv_ipv6type" != "linux"; then - echo "configure: warning: You must get working getaddrinfo() function, -or you can specify "--disable-ipv6"" 1>&2 - else - echo "configure: warning: The getaddrinfo() implementation on your system seems be buggy. -You should upgrade your system library to the newest version -of GNU C library (aka glibc)." 1>&2 - fi + fi +rm -f conftest* fi -for ac_func in getaddrinfo getnameinfo -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9702: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then +rm -f conftest* + +echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 +echo "configure:14065: checking for uid_t in sys/types.h" >&5 +if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); +#include +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "uid_t" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_uid_t=yes +else + rm -rf conftest* + ac_cv_type_uid_t=no +fi +rm -f conftest* -int main() { +fi -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif +echo "$ac_t""$ac_cv_type_uid_t" 1>&6 +if test $ac_cv_type_uid_t = no; then + cat >> confdefs.h <<\EOF +#define uid_t int +EOF + + cat >> confdefs.h <<\EOF +#define gid_t int +EOF + +fi + + +echo $ac_n "checking for quad_t""... $ac_c" 1>&6 +echo "configure:14100: checking for quad_t" >&5 +cat > conftest.$ac_ext < +#if 0 +#include +#include +#endif /* 0 */ +int main() { +quad_t x; x = 0 ; return 0; } EOF -if { (eval echo configure:9730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14115: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" + ac_cv_quad_t=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + ac_cv_quad_t=no fi rm -f conftest* +echo "$ac_t""$ac_cv_quad_t" 1>&6 +if test $ac_cv_quad_t = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_QUAD_T 1 +EOF + fi -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 +echo "configure:14134: checking for long long" >&5 +cat > conftest.$ac_ext < + +int main() { +long long x; x = 0 +; return 0; } EOF - +if { (eval echo configure:14145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_long_long=yes else - echo "$ac_t""no" 1>&6 -LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_long_long=no fi -done +rm -f conftest* +echo "$ac_t""$ac_cv_long_long" 1>&6 +if test $ac_cv_long_long = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_LONG_LONG 1 +EOF +fi +echo $ac_n "checking for nl_item""... $ac_c" 1>&6 +echo "configure:14164: checking for nl_item" >&5 +cat > conftest.$ac_ext <&6 -echo "configure:9759: checking whether to make a coffee while compiling" >&5 +#ifdef HAVE_LANGINFO_H +#include +#else +#ifdef HAVE_NL_TYPES_H +#include +#endif +#endif -# Check whether --with-coffee or --without-coffee was given. -if test "${with_coffee+set}" = set; then - withval="$with_coffee" - case "$withval" in - yes) - echo "$ac_t""yes - with milk - please!" 1>&6 - cat >> confdefs.h <<\EOF -#define HAVE_COFFEE 1 +int main() { +nl_item x; x = 0 +; return 0; } EOF - - ;; - *) - echo "$ac_t""no" 1>&6 - ;; - esac +if { (eval echo configure:14181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_nl_item=yes else - echo "$ac_t""no" 1>&6 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_nl_item=no fi +rm -f conftest* +echo "$ac_t""$ac_cv_nl_item" 1>&6 +if test $ac_cv_nl_item = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_NL_ITEM 1 +EOF +fi -### checks for compiler characteristics - -echo $ac_n "checking for makeflags variable""... $ac_c" 1>&6 -echo "configure:9784: checking for makeflags variable" >&5 -if eval "test \"`echo '$''{'cf_cv_makeflags'+set}'`\" = set"; then +### Checks for libraries. +# libuu/uudeview +# only define HAVE_LIBUU and HAVE_UUDEVIEW_H if both are found +echo $ac_n "checking for UUInitialize in -luu""... $ac_c" 1>&6 +echo "configure:14203: checking for UUInitialize in -luu" >&5 +ac_lib_var=`echo uu'_'UUInitialize | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else + ac_save_LIBS="$LIBS" +LIBS="-luu $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - cf_cv_makeflags='' - for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)' - do - cat >cf_makeflags.tmp </dev/null` - case "$cf_result" in - .*k) - cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` - case "$cf_result" in - .*CC=*) cf_cv_makeflags= - ;; - *) cf_cv_makeflags=$cf_option - ;; - esac - break - ;; - *) echo no match "$cf_result" - ;; - esac - done - rm -f cf_makeflags.tmp + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_safe=`echo "uudeview.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for uudeview.h""... $ac_c" 1>&6 +echo "configure:14239: checking for uudeview.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:14249: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF +#define HAVE_LIBUU 1 +EOF -echo "$ac_t""$cf_cv_makeflags" 1>&6 + cat >> confdefs.h <<\EOF +#define HAVE_UUDEVIEW_H 1 +EOF + LIBS="$LIBS -luu" + +else + echo "$ac_t""no" 1>&6 +fi -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross +else + echo "$ac_t""no" 1>&6 +fi -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:9829: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then + +# libidn - Internationalized Domain Names +echo $ac_n "checking for stringprep_check_version in -lidn""... $ac_c" 1>&6 +echo "configure:14287: checking for stringprep_check_version in -lidn" >&5 +ac_lib_var=`echo idn'_'stringprep_check_version | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -/* Ultrix mips cc rejects this. */ -typedef int charset[2]; const charset x; -/* SunOS 4.1.1 cc rejects this. */ -char const *const *ccp; -char **p; -/* NEC SVR4.0.2 mips cc rejects this. */ -struct point {int x, y;}; -static struct point const zero = {0,0}; -/* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in an arm - of an if-expression whose if-part is not a constant expression */ -const char *g = "string"; -ccp = &g + (g ? g-g : 0); -/* HPUX 7.0 cc rejects these. */ -++ccp; -p = (char**) ccp; -ccp = (char const *const *) p; -{ /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; -} -{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; -} -{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; -} -{ /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" -; return 0; } +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_safe=`echo "stringprep.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for stringprep.h""... $ac_c" 1>&6 +echo "configure:14323: checking for stringprep.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < EOF -if { (eval echo configure:9883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:14333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - ac_cv_c_const=yes + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_c_const=no + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi - -echo "$ac_t""$ac_cv_c_const" 1>&6 -if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + cat >> confdefs.h <<\EOF +#define HAVE_STRINGPREP_H 1 EOF -fi - -echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:9904: checking for inline" >&5 -if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then + ac_safe=`echo "idna.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for idna.h""... $ac_c" 1>&6 +echo "configure:14356: checking for idna.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext < EOF -if { (eval echo configure:9918: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:14366: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - ac_cv_c_inline=$ac_kw; break + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* -done - fi - -echo "$ac_t""$ac_cv_c_inline" 1>&6 -case "$ac_cv_c_inline" in - inline | yes) ;; - no) cat >> confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >> confdefs.h <&6 + + cat >> confdefs.h <<\EOF +#define HAVE_IDNA_H 1 EOF - ;; -esac - -echo $ac_n "checking for ansi token expansion/substitution""... $ac_c" 1>&6 -echo "configure:9945: checking for ansi token expansion/substitution" >&5 -if eval "test \"`echo '$''{'cf_cv_cpp_expands'+set}'`\" = set"; then + echo $ac_n "checking for idna_to_unicode_lzlz in -lidn""... $ac_c" 1>&6 +echo "configure:14388: checking for idna_to_unicode_lzlz in -lidn" >&5 +ac_lib_var=`echo idn'_'idna_to_unicode_lzlz | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_cpp_expands=yes +if { (eval echo configure:14407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + cat >> confdefs.h <<\EOF +#define HAVE_IDNA_TO_UNICODE_LZLZ 1 +EOF + + echo $ac_n "checking for IDNA_USE_STD3_ASCII_RULES""... $ac_c" 1>&6 +echo "configure:14428: checking for IDNA_USE_STD3_ASCII_RULES" >&5 + cat > conftest.$ac_ext < +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "IDNA_USE_STD3_ASCII_RULES" >/dev/null 2>&1; then rm -rf conftest* - cf_cv_cpp_expands=no + + cat >> confdefs.h <<\EOF +#define HAVE_IDNA_USE_STD3_ASCII_RULES 1 +EOF + + echo "$ac_t""yes" 1>&6 +else + rm -rf conftest* + echo "$ac_t""no" 1>&6 + fi rm -f conftest* + +else + echo "$ac_t""no" 1>&6 fi -echo "$ac_t""$cf_cv_cpp_expands" 1>&6 -test $cf_cv_cpp_expands = yes && cat >> confdefs.h <<\EOF -#define CPP_DOES_EXPAND 1 + +else + echo "$ac_t""no" 1>&6 +fi + + cat >> confdefs.h <<\EOF +#define HAVE_LIBIDN 1 EOF + LIBS="$LIBS -lidn" + +else + echo "$ac_t""no" 1>&6 +fi + +else + echo "$ac_t""no" 1>&6 +fi -echo $ac_n "checking for ansi token concatenation""... $ac_c" 1>&6 -echo "configure:9980: checking for ansi token concatenation" >&5 -if eval "test \"`echo '$''{'cf_cv_cpp_concats'+set}'`\" = set"; then + +# ICU - International Components for Unicode +ac_safe=`echo "unicode/unorm.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for unicode/unorm.h""... $ac_c" 1>&6 +echo "configure:14479: checking for unicode/unorm.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext < conftest.$ac_ext < EOF -if { (eval echo configure:9994: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:14489: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - cf_cv_cpp_concats=yes + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_cpp_concats=no + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* - fi - -echo "$ac_t""$cf_cv_cpp_concats" 1>&6 -test $cf_cv_cpp_concats = yes && cat >> confdefs.h <<\EOF -#define CPP_DOES_CONCAT 1 -EOF - - - -echo $ac_n "checking if nested parameters work""... $ac_c" 1>&6 -echo "configure:10015: checking if nested parameters work" >&5 -if eval "test \"`echo '$''{'cf_cv_nested_params'+set}'`\" = set"; then +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + ac_safe=`echo "unicode/ustring.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for unicode/ustring.h""... $ac_c" 1>&6 +echo "configure:14508: checking for unicode/ustring.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cat > conftest.$ac_ext < conftest.$ac_ext < EOF -if { (eval echo configure:10028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:14518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - cf_cv_nested_params=yes + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_nested_params=no + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* - fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + cat >> confdefs.h <<\EOF +#define HAVE_UNICODE_UNORM_H 1 +EOF -echo "$ac_t""$cf_cv_nested_params" 1>&6 -test $cf_cv_nested_params = yes && cat >> confdefs.h <<\EOF -#define HAVE_NESTED_PARAMS 1 + cat >> confdefs.h <<\EOF +#define HAVE_UNICODE_USTRING_H 1 EOF + echo $ac_n "checking for unorm_normalize in libicuuc""... $ac_c" 1>&6 +echo "configure:14544: checking for unorm_normalize in libicuuc" >&5 + cf_save_LIBS="$LIBS" + cf_try_icuuc="no" + LIBS="$LIBS -licuuc" + cat > conftest.$ac_ext < +int main() { + int32_t needed, ustr = NULL; + UErrorCode status; + needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status); +; return 0; } +EOF +if { (eval echo configure:14559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + cat >> confdefs.h <<\EOF +#define HAVE_LIBICUUC 1 +EOF + cf_try_icuuc="yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -### Checks for header files. -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:10051: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + LIBS=$cf_save_LIBS + +fi +rm -rf conftest* + echo "$ac_t""$cf_try_icuuc" 1>&6 + ac_safe=`echo "unicode/ubidi.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for unicode/ubidi.h""... $ac_c" 1>&6 +echo "configure:14578: checking for unicode/ubidi.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -#include -#include -#include +#include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14588: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* - ac_cv_header_stdc=yes + eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_header_stdc=no + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext < +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + cat >> confdefs.h <<\EOF +#define HAVE_UNICODE_UBIDI_H 1 EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : + + else - rm -rf conftest* - ac_cv_header_stdc=no + echo "$ac_t""no" 1>&6 fi -rm -f conftest* + +else + echo "$ac_t""no" 1>&6 fi -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : + else - rm -rf conftest* - ac_cv_header_stdc=no + echo "$ac_t""no" 1>&6 fi -rm -f conftest* -fi -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : +if test $use_curses != no ; then + cf_cv_termlib=$cf_with_screen +else + +if eval "test \"`echo '$''{'cf_cv_termlib'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else + +cf_cv_termlib=none +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } +int main() { +int x=tigetstr("") +; return 0; } EOF -if { (eval echo configure:10131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : +if { (eval echo configure:14652: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_termlib=terminfo else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi + cf_cv_termlib=termcap fi -fi +rm -rf conftest* + test -n "$verbose" && echo " using functions in predefined $cf_cv_termlib LIBS" 1>&6 + +echo "${as_me:-configure}:14664: testing using functions in predefined $cf_cv_termlib LIBS ..." 1>&5 -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF -fi -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:10159: checking for $ac_hdr that defines DIR" >&5 -if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext <&5 + cat conftest.$ac_ext >&5 + + + +if test "$cf_cv_termlib" = none; then + # FreeBSD's linker gives bogus results for AC_CHECK_LIB, saying that + # tgetstr lives in -lcurses when it is only an unsatisfied extern. + cf_save_LIBS="$LIBS" + for cf_lib in curses ncurses termlib termcap + do + LIBS="-l$cf_lib $cf_save_LIBS" + for cf_func in tigetstr tgetstr + do + echo $ac_n "checking for $cf_func in -l$cf_lib""... $ac_c" 1>&6 +echo "configure:14684: checking for $cf_func in -l$cf_lib" >&5 + cat > conftest.$ac_ext < -#include <$ac_hdr> + int main() { -DIR *dirp = 0; +int x=$cf_func("") ; return 0; } EOF -if { (eval echo configure:10172: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval "ac_cv_header_dirent_$ac_safe=yes" +if { (eval echo configure:14693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_result=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_dirent_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 + + cf_result=no fi -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then -echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:10197: checking for opendir in -ldir" >&5 -ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` +rm -rf conftest* + echo "$ac_t""$cf_result" 1>&6 + if test "$cf_result" = yes ; then + if test "$cf_func" = tigetstr ; then + cf_cv_termlib=terminfo + else + cf_cv_termlib=termcap + fi + break + fi + done + test "$cf_result" = yes && break + done + test "$cf_result" = no && LIBS="$cf_save_LIBS" +fi +if test "$cf_cv_termlib" = none; then + # allow curses library for broken AIX system. + echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6 +echo "configure:14720: checking for initscr in -lcurses" >&5 +ac_lib_var=`echo curses'_'initscr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-ldir $LIBS" +LIBS="-lcurses $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:14739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -ldir" + LIBS="-lcurses $LIBS" else echo "$ac_t""no" 1>&6 fi -else -echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:10238: checking for opendir in -lx" >&5 -ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` + echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6 +echo "configure:14760: checking for tgoto in -ltermcap" >&5 +ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lx $LIBS" +LIBS="-ltermcap $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:14779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -lx" + LIBS="-ltermcap $LIBS" cf_cv_termlib=termcap else echo "$ac_t""no" 1>&6 fi fi -echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:10280: checking whether time.h and sys/time.h may both be included" >&5 -if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -int main() { -struct tm *tp; -; return 0; } -EOF -if { (eval echo configure:10294: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_header_time=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_time=no fi -rm -f conftest* +rm -rf conftest* +if test "$cf_cv_termlib" = none; then + echo "configure: warning: Cannot find -ltermlib, -lcurses, or -ltermcap" 1>&2 fi -echo "$ac_t""$ac_cv_header_time" 1>&6 -if test $ac_cv_header_time = yes; then - cat >> confdefs.h <<\EOF -#define TIME_WITH_SYS_TIME 1 -EOF - fi -echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:10315: checking for sys/wait.h that is POSIX.1 compatible" >&5 -if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <, + # which may/may not be compatible with + echo $ac_n "checking if we should include termcap.h""... $ac_c" 1>&6 +echo "configure:14812: checking if we should include termcap.h" >&5 + cf_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -I$srcdir/include" + cat > conftest.$ac_ext < -#include -#ifndef WEXITSTATUS -#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) -#endif -#ifndef WIFEXITED -#define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif + +#define HAVE_TERMCAP_H 1 +#include int main() { -int s; -wait (&s); -s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; + +#ifdef NCURSES_VERSION +make an error +#endif + ; return 0; } EOF -if { (eval echo configure:10336: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14829: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - ac_cv_header_sys_wait_h=yes + cf_result=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_header_sys_wait_h=no + cf_result=no fi rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6 -if test $ac_cv_header_sys_wait_h = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_SYS_WAIT_H 1 + echo "$ac_t""$cf_result" 1>&6 + CFLAGS="$cf_save_CFLAGS" + test $cf_result = yes && cat >> confdefs.h <<\EOF +#define HAVE_TERMCAP_H 1 EOF -fi - - -for cf_hdr in \ - argz.h \ - arpa/inet.h \ - curses.h \ - errno.h \ - fcntl.h \ - getopt.h \ - ioctl.h \ - langinfo.h \ - libc.h \ - locale.h \ - malloc.h \ - net/socket.h \ - netdb.h \ - netinet/in.h \ - netlib.h \ - nl_types.h \ - nomacros.h \ - paths.h \ - poll.h \ - prototypes.h \ - pwd.h \ - sgtty.h \ - socket.h \ - stdarg.h \ - stdbool.h \ - stddef.h \ - stdlib.h \ - string.h \ - strings.h \ - stropts.h \ - sys/bsdtypes.h \ - sys/errno.h \ - sys/file.h \ - sys/ioctl.h \ - sys/param.h \ - sys/poll.h \ - sys/ptem.h \ - sys/pty.h \ - sys/select.h \ - sys/stat.h \ - sys/stream.h \ - sys/socket.h \ - sys/time.h \ - sys/timeb.h \ - sys/times.h \ - sys/types.h \ - sys/utsname.h \ - term.h \ - termio.h \ - time.h \ - unistd.h \ - varargs.h \ - wchar.h \ - wctype.h \ - -do - echo $ac_n "checking for $cf_hdr""... $ac_c" 1>&6 -echo "configure:10415: checking for $cf_hdr" >&5 - cat > conftest.$ac_ext < -#include <$cf_hdr> - -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - cf_found=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_found=no -fi -rm -f conftest* -echo "$ac_t""$cf_found" 1>&6 -if test $cf_found = yes ; then -cf_tr_hdr=`echo "$cf_hdr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - cat >> confdefs.h <&6 +echo "configure:14848: checking for term.h" >&5 +if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +# If we found , look for , but always look +# for if we do not find the variant. -### Checks that depend on existence-checks for headers +cf_header_list="term.h ncurses/term.h ncursesw/term.h" -for ac_hdr in \ -termio.h \ -termios.h \ -unistd.h \ +case ${cf_cv_ncurses_header:-curses.h} in #(vi +*/*) + cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h + cf_header_list="$cf_header_item $cf_header_list" + ;; +esac +for cf_header in $cf_header_list do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10461: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < conftest.$ac_ext < + +#include <${cf_cv_ncurses_header:-curses.h}> +#include <${cf_header}> +int main() { +WINDOW *x +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:14878: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + cf_cv_term_header=$cf_header + break else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + cf_cv_term_header=no fi rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi done -if test "$ISC" = yes ; then - for ac_hdr in sys/termio.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10502: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < conftest.$ac_ext < + +#include <${cf_cv_ncurses_header:-curses.h}> +#ifdef NCURSES_VERSION +#include <${cf_header}> +#else +make an error +#endif +int main() { +WINDOW *x +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10512: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:14911: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + cf_cv_term_header=$cf_header + break else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + cf_cv_term_header=no fi rm -f conftest* + done + ;; +esac + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 + +case $cf_cv_term_header in #(vi +term.h) #(vi + cat >> confdefs.h <<\EOF +#define HAVE_TERM_H 1 EOF - + + ;; +ncurses/term.h) #(vi + cat >> confdefs.h <<\EOF +#define HAVE_NCURSES_TERM_H 1 +EOF + + ;; +ncursesw/term.h) + cat >> confdefs.h <<\EOF +#define HAVE_NCURSESW_TERM_H 1 +EOF + + ;; +esac + + + +echo $ac_n "checking if we should include curses.h or termcap.h""... $ac_c" 1>&6 +echo "configure:14954: checking if we should include curses.h or termcap.h" >&5 +if eval "test \"`echo '$''{'cf_cv_need_curses_h'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - echo "$ac_t""no" 1>&6 -fi -done + +cf_save_CPPFLAGS="$CPPFLAGS" +cf_cv_need_curses_h=no -fi -if test "$ac_cv_header_termios_h" = yes ; then - case "$CFLAGS $CPPFLAGS" in - *-D_POSIX_SOURCE*) - termios_bad=dunno ;; - *) termios_bad=maybe ;; - esac - if test "$termios_bad" = maybe ; then - echo $ac_n "checking whether termios.h needs _POSIX_SOURCE""... $ac_c" 1>&6 -echo "configure:10547: checking whether termios.h needs _POSIX_SOURCE" >&5 - cat > conftest.$ac_ext < conftest.$ac_ext < +/* $cf_c_opts $cf_t_opts */ +$CHECK_DECL_HDRS int main() { -struct termios foo; int x = foo.c_iflag +char *x = (char *)tgoto("") ; return 0; } EOF -if { (eval echo configure:10556: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - termios_bad=no +if { (eval echo configure:14980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + test "$cf_cv_need_curses_h" = no && { + cf_cv_need_curses_h=maybe + cf_ok_c_opts=$cf_c_opts + cf_ok_t_opts=$cf_t_opts + } else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - - cat > conftest.$ac_ext <&5 + cat > conftest.$ac_ext < +$CHECK_DECL_HDRS int main() { -struct termios foo; int x = foo.c_iflag +char *x = (char *)tgoto("",0,0) ; return 0; } EOF -if { (eval echo configure:10574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - termios_bad=unknown +if { (eval echo configure:15001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_need_curses_h=yes + cf_ok_c_opts=$cf_c_opts + cf_ok_t_opts=$cf_t_opts else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - termios_bad=yes cat >> confdefs.h <<\EOF -#define SVR4_TERMIO 1 -EOF - fi -rm -f conftest* - +rm -rf conftest* fi -rm -f conftest* - echo "$ac_t""$termios_bad" 1>&6 +rm -rf conftest* + + CPPFLAGS="$cf_save_CPPFLAGS" + test "$cf_cv_need_curses_h" = yes && break +done + test "$cf_cv_need_curses_h" = yes && break +done + +if test "$cf_cv_need_curses_h" != no ; then + echo "Curses/termcap test = $cf_cv_need_curses_h (C:$cf_ok_c_opts, T:$cf_ok_t_opts)" >&5 + if test -n "$cf_ok_c_opts" ; then + if test -n "$cf_ok_t_opts" ; then + cf_cv_need_curses_h=both + else + cf_cv_need_curses_h=curses.h + fi + elif test -n "$cf_ok_t_opts" ; then + cf_cv_need_curses_h=termcap.h + elif test "$cf_cv_term_header" != no ; then + cf_cv_need_curses_h=term.h + else + cf_cv_need_curses_h=no fi fi +fi + +echo "$ac_t""$cf_cv_need_curses_h" 1>&6 +case $cf_cv_need_curses_h in +both) #(vi + cat >> confdefs.h <&6 -echo "configure:10597: checking declaration of size-change" >&5 -if eval "test \"`echo '$''{'cf_cv_sizechange'+set}'`\" = set"; then + cat >> confdefs.h <> confdefs.h <> confdefs.h <> confdefs.h <&6 +echo "configure:15077: checking declaration of tputs 3rd param" >&5 +if eval "test \"`echo '$''{'cf_cv_type_outchar'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cf_cv_sizechange=unknown - cf_save_CPPFLAGS="$CPPFLAGS" -for cf_opts in "" "NEED_PTEM_H" -do +cf_cv_type_outchar="int OutChar(int)" +cf_cv_found=no +cf_save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $CHECK_DECL_FLAG" - CPPFLAGS="$cf_save_CPPFLAGS" - test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts" - cat > conftest.$ac_ext < -#ifdef HAVE_TERMIOS_H -#include -#else -#ifdef HAVE_TERMIO_H -#include -#endif -#endif -#ifdef NEED_PTEM_H -/* This is a workaround for SCO: they neglected to define struct winsize in - * termios.h -- it's only in termio.h and ptem.h - */ -#include -#include -#endif -#if !defined(sun) || !defined(HAVE_TERMIOS_H) -#include -#endif +for P in int void; do +for Q in int void; do +for R in int char; do +for S in "" const; do + +echo "${as_me:-configure}:15093: testing loop variables P:$P, Q:$Q, R:$R, S:$S ..." 1>&5 + cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_sizechange=yes + cf_cv_type_outchar="$Q OutChar($R)" + cf_cv_found=yes + break else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_sizechange=no fi rm -f conftest* - - CPPFLAGS="$cf_save_CPPFLAGS" - if test "$cf_cv_sizechange" = yes ; then - echo "size-change succeeded ($cf_opts)" >&5 - test -n "$cf_opts" && cf_cv_sizechange="$cf_opts" - break - fi +done + test $cf_cv_found = yes && break +done + test $cf_cv_found = yes && break +done + test $cf_cv_found = yes && break done fi -echo "$ac_t""$cf_cv_sizechange" 1>&6 -if test "$cf_cv_sizechange" != no ; then +echo "$ac_t""$cf_cv_type_outchar" 1>&6 + +case $cf_cv_type_outchar in +int*) cat >> confdefs.h <<\EOF -#define HAVE_SIZECHANGE 1 +#define OUTC_RETURN 1 EOF - case $cf_cv_sizechange in #(vi - NEED*) - cat >> confdefs.h <> confdefs.h <<\EOF +#define OUTC_ARGS char c EOF - ;; - esac + ;; +esac + +CPPFLAGS="$cf_save_CPPFLAGS" + fi +cf_tc_funcs= +cf_tc_externs= +if test ".$cf_cv_termlib" = .terminfo ; then + cat >> confdefs.h <<\EOF +#define USE_TERMINFO 1 +EOF -echo $ac_n "checking if sys/time.h conflicts with sys/select.h""... $ac_c" 1>&6 -echo "configure:10689: checking if sys/time.h conflicts with sys/select.h" >&5 -if eval "test \"`echo '$''{'cf_cv_sys_select_timeval'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -for cf_opts in no yes -do -cat > conftest.$ac_ext < conftest.$ac_ext < -#ifdef TIME_WITH_SYS_TIME -# include -# include -#else -# ifdef HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif -#undef timeval -#ifdef HAVE_SYS_SELECT_H -# include -#endif - int main() { -struct timeval foo +extern char PC; PC = 0 ; return 0; } EOF -if { (eval echo configure:10725: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_sys_select_timeval=$cf_opts - break +if { (eval echo configure:15167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cat >> confdefs.h <<\EOF +#define HAVE_EXTERN_TCAP_PC 1 +EOF + else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_sys_select_timeval=no fi -rm -f conftest* -done - +rm -rf conftest* + cf_tc_funcs="tgetint tgetnum tparam tparm" + cf_tc_externs="$cf_tc_funcs tgoto tgetstr tputs tgetent tgetflag" fi -echo "$ac_t""$cf_cv_sys_select_timeval" 1>&6 -test $cf_cv_sys_select_timeval = yes && cat >> confdefs.h <<\EOF -#define NEED_TIMEVAL_FIX 1 -EOF - +### Checks for external-data -### Checks for Datatypes. -echo $ac_n "checking for gid_t""... $ac_c" 1>&6 -echo "configure:10749: checking for gid_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_gid_t'+set}'`\" = set"; then +echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6 +echo "configure:15186: checking if external errno is declared" >&5 +if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -#if STDC_HEADERS + +#ifdef HAVE_STDLIB_H #include -#include #endif +#include +#include +#include +int main() { +int x = (int) errno +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])gid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then +if { (eval echo configure:15205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - ac_cv_type_gid_t=yes + cf_cv_dcl_errno=yes else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_type_gid_t=no + cf_cv_dcl_errno=no fi rm -f conftest* fi -echo "$ac_t""$ac_cv_type_gid_t" 1>&6 -if test $ac_cv_type_gid_t = no; then - cat >> confdefs.h <<\EOF -#define gid_t int + +echo "$ac_t""$cf_cv_dcl_errno" 1>&6 + +if test "$cf_cv_dcl_errno" = no ; then + +cf_result=`echo "decl_errno" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 -echo "configure:10782: checking for mode_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then +# It's possible (for near-UNIX clones) that the data doesn't exist + +echo $ac_n "checking if external errno exists""... $ac_c" 1>&6 +echo "configure:15233: checking if external errno exists" >&5 +if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif + +#undef errno +extern int errno; + +int main() { +errno = 2 +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_mode_t=yes +if { (eval echo configure:15249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_have_errno=yes else - rm -rf conftest* - ac_cv_type_mode_t=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + cf_cv_have_errno=no fi -rm -f conftest* +rm -rf conftest* fi -echo "$ac_t""$ac_cv_type_mode_t" 1>&6 -if test $ac_cv_type_mode_t = no; then - cat >> confdefs.h <<\EOF -#define mode_t int + +echo "$ac_t""$cf_cv_have_errno" 1>&6 + +if test "$cf_cv_have_errno" = yes ; then + +cf_result=`echo "have_errno" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 -echo "configure:10815: checking for off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then + + + + +for ac_func in strerror +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:15281: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); #endif + +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_off_t=yes +if { (eval echo configure:15309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" else - rm -rf conftest* - ac_cv_type_off_t=no -fi -rm -f conftest* + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "ac_cv_func_$ac_func=no" fi -echo "$ac_t""$ac_cv_type_off_t" 1>&6 -if test $ac_cv_type_off_t = no; then - cat >> confdefs.h <<\EOF -#define off_t long +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_STRERROR 1 EOF -fi +else + echo "$ac_t""no" 1>&6 -echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:10848: checking for pid_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then + +echo $ac_n "checking if external sys_nerr is declared""... $ac_c" 1>&6 +echo "configure:15336: checking if external sys_nerr is declared" >&5 +if eval "test \"`echo '$''{'cf_cv_dcl_sys_nerr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -#if STDC_HEADERS + +#ifdef HAVE_STDLIB_H #include -#include #endif +#include +#include +#include +int main() { +int x = (int) sys_nerr +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then +if { (eval echo configure:15355: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - ac_cv_type_pid_t=yes + cf_cv_dcl_sys_nerr=yes else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_type_pid_t=no + cf_cv_dcl_sys_nerr=no fi rm -f conftest* fi -echo "$ac_t""$ac_cv_type_pid_t" 1>&6 -if test $ac_cv_type_pid_t = no; then - cat >> confdefs.h <<\EOF -#define pid_t int + +echo "$ac_t""$cf_cv_dcl_sys_nerr" 1>&6 + +if test "$cf_cv_dcl_sys_nerr" = no ; then + +cf_result=`echo "decl_sys_nerr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 -echo "configure:10881: checking for size_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then +# It's possible (for near-UNIX clones) that the data doesn't exist + +echo $ac_n "checking if external sys_nerr exists""... $ac_c" 1>&6 +echo "configure:15383: checking if external sys_nerr exists" >&5 +if eval "test \"`echo '$''{'cf_cv_have_sys_nerr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif + +#undef sys_nerr +extern int sys_nerr; + +int main() { +sys_nerr = 2 +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_size_t=yes +if { (eval echo configure:15399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_have_sys_nerr=yes else - rm -rf conftest* - ac_cv_type_size_t=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + cf_cv_have_sys_nerr=no fi -rm -f conftest* +rm -rf conftest* fi -echo "$ac_t""$ac_cv_type_size_t" 1>&6 -if test $ac_cv_type_size_t = no; then - cat >> confdefs.h <<\EOF -#define size_t unsigned + +echo "$ac_t""$cf_cv_have_sys_nerr" 1>&6 + +if test "$cf_cv_have_sys_nerr" = yes ; then + +cf_result=`echo "have_sys_nerr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 -echo "configure:10914: checking for ssize_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then + + + +echo $ac_n "checking if external sys_errlist is declared""... $ac_c" 1>&6 +echo "configure:15428: checking if external sys_errlist is declared" >&5 +if eval "test \"`echo '$''{'cf_cv_dcl_sys_errlist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -#if STDC_HEADERS + +#ifdef HAVE_STDLIB_H #include -#include #endif +#include +#include +#include +int main() { +int x = (int) sys_errlist +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])ssize_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then +if { (eval echo configure:15447: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - ac_cv_type_ssize_t=yes + cf_cv_dcl_sys_errlist=yes else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_type_ssize_t=no + cf_cv_dcl_sys_errlist=no fi rm -f conftest* fi -echo "$ac_t""$ac_cv_type_ssize_t" 1>&6 -if test $ac_cv_type_ssize_t = no; then - cat >> confdefs.h <<\EOF -#define ssize_t int + +echo "$ac_t""$cf_cv_dcl_sys_errlist" 1>&6 + +if test "$cf_cv_dcl_sys_errlist" = no ; then + +cf_result=`echo "decl_sys_errlist" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 -echo "configure:10947: checking for time_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then +# It's possible (for near-UNIX clones) that the data doesn't exist + +echo $ac_n "checking if external sys_errlist exists""... $ac_c" 1>&6 +echo "configure:15475: checking if external sys_errlist exists" >&5 +if eval "test \"`echo '$''{'cf_cv_have_sys_errlist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif + +#undef sys_errlist +extern int sys_errlist; + +int main() { +sys_errlist = 2 +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])time_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_time_t=yes +if { (eval echo configure:15491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_have_sys_errlist=yes else - rm -rf conftest* - ac_cv_type_time_t=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + cf_cv_have_sys_errlist=no fi -rm -f conftest* +rm -rf conftest* fi -echo "$ac_t""$ac_cv_type_time_t" 1>&6 -if test $ac_cv_type_time_t = no; then - cat >> confdefs.h <<\EOF -#define time_t long + +echo "$ac_t""$cf_cv_have_sys_errlist" 1>&6 + +if test "$cf_cv_have_sys_errlist" = yes ; then + +cf_result=`echo "have_sys_errlist" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h < conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "in_addr_t" >/dev/null 2>&1; then - : -else - rm -rf conftest* - - cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "in_addr_t" >/dev/null 2>&1; then - : -else - rm -rf conftest* - - echo $ac_n "checking for in_addr_t""... $ac_c" 1>&6 -echo "configure:11002: checking for in_addr_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_in_addr_t'+set}'`\" = set"; then + + + +fi +done + + + +### Checks for library functions. +for ac_func in \ + alarm \ + atoi \ + atol \ + bcopy \ + chmod \ + closesocket \ + execlp \ + fcntl \ + fdopen \ + fork \ + ftime \ + ftruncate \ + fsync \ + getcwd \ + gettimeofday \ + getwd \ + inet_aton \ + is_xterm \ + isascii \ + lockf \ + memcmp \ + memcpy \ + memmove \ + memset \ + mkdir \ + mkfifo \ + mktemp \ + mkstemp \ + nl_langinfo \ + poll \ + putenv \ + rewinddir \ + resizeterm \ + select \ + setenv \ + setlocale \ + settz \ + sigaction \ + snprintf \ + stpcpy \ + strchr \ + strcasecmp \ + strcasestr \ + strdup \ + strftime \ + strpbrk \ + strrchr \ + strrstr \ + strsep \ + strstr \ + strtol \ + tmpfile \ + tzset \ + uname \ + unlink \ + use_default_colors \ + usleep \ + vasprintf \ + vsnprintf \ + waitpid \ +$cf_tc_funcs +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:15589: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include +#line 15594 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); #endif + +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])in_addr_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_in_addr_t=yes +if { (eval echo configure:15617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" else - rm -rf conftest* - ac_cv_type_in_addr_t=no -fi -rm -f conftest* + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "ac_cv_func_$ac_func=no" fi -echo "$ac_t""$ac_cv_type_in_addr_t" 1>&6 -if test $ac_cv_type_in_addr_t = no; then - cat >> confdefs.h <<\EOF -#define in_addr_t unsigned long -EOF - +rm -rf conftest* fi - +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 fi -rm -f conftest* - +done -fi -rm -f conftest* -echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:11043: checking for uid_t in sys/types.h" >&5 -if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then +echo $ac_n "checking for flock""... $ac_c" 1>&6 +echo "configure:15643: checking for flock" >&5 +if eval "test \"`echo '$''{'ac_cv_func_flock'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char flock(); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char flock(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_flock) || defined (__stub___flock) +choke me +#else +flock(); +#endif + +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "uid_t" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_uid_t=yes +if { (eval echo configure:15671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_flock=yes" else - rm -rf conftest* - ac_cv_type_uid_t=no -fi -rm -f conftest* + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "ac_cv_func_flock=no" +fi +rm -rf conftest* fi -echo "$ac_t""$ac_cv_type_uid_t" 1>&6 -if test $ac_cv_type_uid_t = no; then - cat >> confdefs.h <<\EOF -#define uid_t int -EOF - +if eval "test \"`echo '$ac_cv_func_'flock`\" = yes"; then + echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF -#define gid_t int +#define HAVE_FLOCK 1 EOF -fi - +else + echo "$ac_t""no" 1>&6 -echo $ac_n "checking for quad_t""... $ac_c" 1>&6 -echo "configure:11078: checking for quad_t" >&5 + echo $ac_n "checking for flock in -lbsd""... $ac_c" 1>&6 +echo "configure:15693: checking for flock in -lbsd" >&5 +ac_lib_var=`echo bsd'_'flock | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lbsd $LIBS" cat > conftest.$ac_ext < -#if 0 -#include -#include -#endif /* 0 */ +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char flock(); int main() { -quad_t x; x = 0 +flock() ; return 0; } EOF -if { (eval echo configure:11093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_quad_t=yes +if { (eval echo configure:15712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_quad_t=no -fi -rm -f conftest* -echo "$ac_t""$ac_cv_quad_t" 1>&6 -if test $ac_cv_quad_t = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_QUAD_T 1 -EOF + eval "ac_cv_lib_$ac_lib_var=no" fi +rm -rf conftest* +LIBS="$ac_save_LIBS" -echo $ac_n "checking for long long""... $ac_c" 1>&6 -echo "configure:11112: checking for long long" >&5 -cat > conftest.$ac_ext < - -int main() { -long long x; x = 0 -; return 0; } +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF +#define HAVE_FLOCK 1 EOF -if { (eval echo configure:11123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_long_long=yes + + LIBS="$LIBS -lbsd" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_long_long=no + echo "$ac_t""no" 1>&6 fi -rm -f conftest* -echo "$ac_t""$ac_cv_long_long" 1>&6 -if test $ac_cv_long_long = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LONG_LONG 1 -EOF fi -echo $ac_n "checking for nl_item""... $ac_c" 1>&6 -echo "configure:11142: checking for nl_item" >&5 -cat > conftest.$ac_ext < -#else -#ifdef HAVE_NL_TYPES_H -#include -#endif -#endif + + echo $ac_n "checking for wide char and multibyte support""... $ac_c" 1>&6 +echo "configure:15741: checking for wide char and multibyte support" >&5 +if eval "test \"`echo '$''{'am_cv_multibyte_able'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#ifdef HAVE_STDLIB_H +# include +#endif /* HAVE_STDLIB_H */ +#ifdef HAVE_WCHAR_H +# include +#endif /* HAVE_WCHAR_H */ +#ifdef HAVE_WCTYPE_H +# include +#endif /* HAVE_WCTYPE_H */ int main() { -nl_item x; x = 0 +const char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; + char ocb[5]; + wchar_t wcb[5]; + wchar_t wcb2[5]; + wchar_t format[3]; + + putwc(0, 0); + fputwc(0, 0); + fwide(0, 0); + mbtowc(wcb, icb, MB_CUR_MAX); + mbstowcs(wcb, icb, 5); + (void) iswalnum((wint_t) wcb[0]); + (void) iswcntrl((wint_t) wcb[0]); + (void) iswdigit((wint_t) wcb[0]); + (void) iswgraph((wint_t) wcb[0]); + (void) iswprint((wint_t) wcb[0]); + (void) iswspace((wint_t) wcb[0]); + (void) towupper((wint_t) wcb[0]); + /* (void) iswupper((wint_t) wcb[0]); */ + /* (void) towlower((wint_t) wcb[0]); */ + /* (void) iswlower((wint_t) wcb[0]); */ + /* (void) iswalpha((wint_t) wcb[0]); */ + /* (void) iswblank((wint_t) wcb[0]); */ + /* (void) iswpunct((wint_t) wcb[0]); */ + /* (void) iswxdigit((wint_t) wcb[0]); */ + /* (void) iswctype((wint_t) wcb[0], wctype("print")); */ + /* (void) towctranse((wint_t) wcb[0], wctrans("toupper")); */ + (void) wcslen(wcb); + /* (void) wcsnlen(wcb, 4); */ + wcwidth((wint_t) wcb[0]); + wcswidth(wcb, 5); + wcstombs(ocb, wcb, 5); + wctomb(ocb, wcb[0]); + wcscat(wcb2, wcb); + wcscpy(wcb2, wcb); + mbstowcs(format, "%s", 2); + swprintf(wcb, 5, format, "test"); + wcsncat(wcb2, wcb, 5); ; return 0; } EOF -if { (eval echo configure:11159: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_nl_item=yes +if { (eval echo configure:15800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + am_cv_multibyte_able=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_nl_item=no -fi -rm -f conftest* -echo "$ac_t""$ac_cv_nl_item" 1>&6 -if test $ac_cv_nl_item = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_NL_ITEM 1 -EOF - -fi -### Checks for libraries. -# libuu/uudeview -# only define HAVE_LIBUU and HAVE_UUDEVIEW_H if both are found -echo $ac_n "checking for UUInitialize in -luu""... $ac_c" 1>&6 -echo "configure:11181: checking for UUInitialize in -luu" >&5 -ac_lib_var=`echo uu'_'UUInitialize | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-luu $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < int main() { -UUInitialize() +const char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; + char ocb[5]; + wchar_t wcb[5]; + wchar_t wcb2[5]; + wchar_t format[3]; + + putwc(0, 0); + fputwc(0, 0); + fwide(0, 0); + mbtowc(wcb, icb, MB_CUR_MAX); + mbstowcs(wcb, icb, 5); + (void) iswalnum((wint_t) wcb[0]); + (void) iswcntrl((wint_t) wcb[0]); + (void) iswdigit((wint_t) wcb[0]); + (void) iswgraph((wint_t) wcb[0]); + (void) iswprint((wint_t) wcb[0]); + (void) iswspace((wint_t) wcb[0]); + (void) towupper((wint_t) wcb[0]); + /* (void) iswupper((wint_t) wcb[0]); */ + /* (void) towlower((wint_t) wcb[0]); */ + /* (void) iswlower((wint_t) wcb[0]); */ + /* (void) iswalpha((wint_t) wcb[0]); */ + /* (void) iswblank((wint_t) wcb[0]); */ + /* (void) iswpunct((wint_t) wcb[0]); */ + /* (void) iswxdigit((wint_t) wcb[0]); */ + /* (void) iswctype((wint_t) wcb[0], wctype("print")); */ + /* (void) towctranse((wint_t) wcb[0], wctrans("toupper")); */ + (void) wcslen(wcb); + /* (void) wcsnlen(wcb, 4); */ + wcwidth((wint_t) wcb[0]); + wcswidth(wcb, 5); + wcstombs(ocb, wcb, 5); + wctomb(ocb, wcb[0]); + wcscat(wcb2, wcb); + wcscpy(wcb2, wcb); + mbstowcs(format, "%s", 2); + swprintf(wcb, 5, format, "test"); + wcsncat(wcb2, wcb, 5); ; return 0; } EOF -if { (eval echo configure:11200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:15854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + am_cv_multibyte_able=libutf8 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + am_cv_multibyte_able=no fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_safe=`echo "uudeview.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for uudeview.h""... $ac_c" 1>&6 -echo "configure:11217: checking for uudeview.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11227: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" +rm -rf conftest* + LIBS="$cf_save_LIBS" + fi -rm -f conftest* +rm -rf conftest* + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define HAVE_LIBUU 1 -EOF - cat >> confdefs.h <<\EOF -#define HAVE_UUDEVIEW_H 1 +echo "$ac_t""$am_cv_multibyte_able" 1>&6 + if test "$am_cv_multibyte_able" != no; then + if test "$am_cv_multibyte_able" = libutf8; then + cat >> confdefs.h <<\EOF +#define HAVE_LIBUTF8_H 1 EOF - LIBS="$LIBS -luu" - -else - echo "$ac_t""no" 1>&6 -fi - + LIBS="-lutf8 $LIBS" + fi + cat >> confdefs.h <<\EOF +#define MULTIBYTE_ABLE 1 +EOF -else - echo "$ac_t""no" 1>&6 -fi + fi -# libidn - Internationalized Domain Names -echo $ac_n "checking for stringprep_check_version in -lidn""... $ac_c" 1>&6 -echo "configure:11265: checking for stringprep_check_version in -lidn" >&5 -ac_lib_var=`echo idn'_'stringprep_check_version | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lidn $LIBS" +echo $ac_n "checking if gettimeofday takes two arguments""... $ac_c" 1>&6 +echo "configure:15888: checking if gettimeofday takes two arguments" >&5 cat > conftest.$ac_ext < +#endif int main() { -stringprep_check_version() +struct timeval *tv; +struct timezone *tz; +gettimeofday(&tv, &tz); ; return 0; } EOF -if { (eval echo configure:11284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + ac_cv_func_gettimeofday_2args=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + ac_cv_func_gettimeofday_2args=no fi rm -f conftest* -LIBS="$ac_save_LIBS" +echo "$ac_t""$ac_cv_func_gettimeofday_2args" 1>&6 +if test $ac_cv_func_gettimeofday_2args = yes; then + cat >> confdefs.h <<\EOF +#define GETTIMEOFDAY_2ARGS 1 +EOF fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_safe=`echo "stringprep.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for stringprep.h""... $ac_c" 1>&6 -echo "configure:11301: checking for stringprep.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + +echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 +echo "configure:15921: checking return type of signal handlers" >&5 +if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < +#include +#include +#ifdef signal +#undef signal +#endif +#ifdef __cplusplus +extern "C" void (*signal (int, void (*)(int)))(int); +#else +void (*signal ()) (); +#endif + +int main() { +int i; +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11311: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:15943: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cv_type_signal=void else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + ac_cv_type_signal=int fi rm -f conftest* fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - cat >> confdefs.h <<\EOF -#define HAVE_STRINGPREP_H 1 + +echo "$ac_t""$ac_cv_type_signal" 1>&6 +cat >> confdefs.h <&6 -echo "configure:11334: checking for idna.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + + +echo $ac_n "checking declaration of signal arguments""... $ac_c" 1>&6 +echo "configure:15963: checking declaration of signal arguments" >&5 +if eval "test \"`echo '$''{'cf_cv_sig_args'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < + +#include +int main() { +extern RETSIGTYPE catch($cf_test); signal(SIGINT, catch) +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11344: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if { (eval echo configure:15980: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + cf_cv_sig_args="$cf_test";break else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* +done + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - cat >> confdefs.h <<\EOF -#define HAVE_IDNA_H 1 + +echo "$ac_t""$cf_cv_sig_args" 1>&6 +cat >> confdefs.h <&6 -echo "configure:11366: checking for idna_to_unicode_lzlz in -lidn" >&5 -ac_lib_var=`echo idn'_'idna_to_unicode_lzlz | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + + + + + + +if test "$ac_cv_func_sigaction" = yes; then + +echo $ac_n "checking whether sigaction needs _POSIX_SOURCE""... $ac_c" 1>&6 +echo "configure:16006: checking whether sigaction needs _POSIX_SOURCE" >&5 +if eval "test \"`echo '$''{'cf_cv_sigact_bad'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lidn $LIBS" + cat > conftest.$ac_ext < +#include int main() { -idna_to_unicode_lzlz() +struct sigaction act ; return 0; } EOF -if { (eval echo configure:11385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + cf_cv_sigact_bad=no else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + cf_cv_sigact_bad=yes fi rm -f conftest* -LIBS="$ac_save_LIBS" fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - cat >> confdefs.h <<\EOF -#define HAVE_IDNA_TO_UNICODE_LZLZ 1 + +echo "$ac_t""$cf_cv_sigact_bad" 1>&6 + +test "$cf_cv_sigact_bad" = yes && cat >> confdefs.h <<\EOF +#define SVR4_ACTION 1 EOF - echo $ac_n "checking for IDNA_USE_STD3_ASCII_RULES""... $ac_c" 1>&6 -echo "configure:11406: checking for IDNA_USE_STD3_ASCII_RULES" >&5 - cat > conftest.$ac_ext <&6 +echo "configure:16042: checking if we have sigaction/related functions" >&5 +if eval "test \"`echo '$''{'cf_cv_sigaction_funcs'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < + +#ifdef SVR4_ACTION +#define _POSIX_SOURCE +#endif +#include +#include +int main() { + + RETSIGTYPE (*func)(SIG_ARGS) = SIG_IGN; + struct sigaction sa, osa; + sa.sa_handler = func; + sa.sa_flags = 0; + sigemptyset (&sa.sa_mask); + sigaction (SIGBUS,&sa,&osa); +; return 0; } EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "IDNA_USE_STD3_ASCII_RULES" >/dev/null 2>&1; then - rm -rf conftest* +if { (eval echo configure:16066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - cat >> confdefs.h <<\EOF -#define HAVE_IDNA_USE_STD3_ASCII_RULES 1 -EOF + cf_cv_sigaction_funcs=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 - echo "$ac_t""yes" 1>&6 -else - rm -rf conftest* - echo "$ac_t""no" 1>&6 - + cf_cv_sigaction_funcs=no fi -rm -f conftest* - - -else - echo "$ac_t""no" 1>&6 +rm -rf conftest* fi - -else - echo "$ac_t""no" 1>&6 -fi +echo "$ac_t""$cf_cv_sigaction_funcs" 1>&6 - cat >> confdefs.h <<\EOF -#define HAVE_LIBIDN 1 +test "$cf_cv_sigaction_funcs" = yes && cat >> confdefs.h <<\EOF +#define HAVE_POSIX_JC 1 EOF - LIBS="$LIBS -lidn" - -else - echo "$ac_t""no" 1>&6 -fi - -else - echo "$ac_t""no" 1>&6 fi - -# ICU - International Components for Unicode -ac_safe=`echo "unicode/unorm.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for unicode/unorm.h""... $ac_c" 1>&6 -echo "configure:11457: checking for unicode/unorm.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then +echo $ac_n "checking for fork""... $ac_c" 1>&6 +echo "configure:16088: checking for fork" >&5 +if eval "test \"`echo '$''{'cf_cv_func_fork'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else + +if test "$cross_compiling" = yes; then + cf_cv_func_fork=unknown +else cat > conftest.$ac_ext < + +int main() +{ + if (fork() < 0) + ${cf_cv_main_return:-return}(1); + ${cf_cv_main_return:-return}(0); +} EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11467: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +if { (eval echo configure:16107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + cf_cv_func_fork=yes else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + rm -fr conftest* + cf_cv_func_fork=no fi -rm -f conftest* +rm -fr conftest* fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - ac_safe=`echo "unicode/ustring.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for unicode/ustring.h""... $ac_c" 1>&6 -echo "configure:11486: checking for unicode/ustring.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + + +fi +echo "$ac_t""$cf_cv_func_fork" 1>&6 +test $cf_cv_func_fork = yes && cat >> confdefs.h <<\EOF +#define HAVE_FORK 1 +EOF + + + +echo $ac_n "checking for memmove""... $ac_c" 1>&6 +echo "configure:16129: checking for memmove" >&5 +if eval "test \"`echo '$''{'ac_cv_func_memmove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char memmove(); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char memmove(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_memmove) || defined (__stub___memmove) +choke me +#else +memmove(); +#endif + +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11496: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +if { (eval echo configure:16157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_memmove=yes" else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + + eval "ac_cv_func_memmove=no" fi -rm -f conftest* +rm -rf conftest* fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - cat >> confdefs.h <<\EOF -#define HAVE_UNICODE_UNORM_H 1 -EOF - cat >> confdefs.h <<\EOF -#define HAVE_UNICODE_USTRING_H 1 -EOF +if eval "test \"`echo '$ac_cv_func_'memmove`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 - echo $ac_n "checking for unorm_normalize in libicuuc""... $ac_c" 1>&6 -echo "configure:11522: checking for unorm_normalize in libicuuc" >&5 - cf_save_LIBS="$LIBS" - cf_try_icuuc="no" - LIBS="$LIBS -licuuc" - cat > conftest.$ac_ext <&6 +echo "configure:16176: checking for bcopy" >&5 +if eval "test \"`echo '$''{'ac_cv_func_bcopy'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char bcopy(); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char bcopy(); + int main() { - int32_t needed, ustr = NULL; - UErrorCode status; - needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_bcopy) || defined (__stub___bcopy) +choke me +#else +bcopy(); +#endif + ; return 0; } EOF -if { (eval echo configure:11537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:16204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - cat >> confdefs.h <<\EOF -#define HAVE_LIBICUUC 1 -EOF - - cf_try_icuuc="yes" + eval "ac_cv_func_bcopy=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - LIBS=$cf_save_LIBS - + + eval "ac_cv_func_bcopy=no" fi -rm -f conftest* - echo "$ac_t""$cf_try_icuuc" 1>&6 - ac_safe=`echo "unicode/ubidi.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for unicode/ubidi.h""... $ac_c" 1>&6 -echo "configure:11556: checking for unicode/ubidi.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'bcopy`\" = yes"; then + echo "$ac_t""yes" 1>&6 + + echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6 +echo "configure:16220: checking if bcopy does overlapping moves" >&5 +if eval "test \"`echo '$''{'cf_cv_good_bcopy'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else + + if test "$cross_compiling" = yes; then + cf_cv_good_bcopy=unknown +else cat > conftest.$ac_ext < + +int main() { + static char data[] = "abcdefghijklmnopqrstuwwxyz"; + char temp[40]; + bcopy(data, temp, sizeof(data)); + bcopy(temp+10, temp, 15); + bcopy(temp+5, temp+15, 10); + ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz")); +} + EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11566: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +if { (eval echo configure:16242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + cf_cv_good_bcopy=yes else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + rm -fr conftest* + cf_cv_good_bcopy=no fi -rm -f conftest* +rm -fr conftest* fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - cat >> confdefs.h <<\EOF -#define HAVE_UNICODE_UBIDI_H 1 -EOF -else - echo "$ac_t""no" 1>&6 fi +echo "$ac_t""$cf_cv_good_bcopy" 1>&6 else echo "$ac_t""no" 1>&6 +cf_cv_good_bcopy=no fi + if test "$cf_cv_good_bcopy" = yes ; then + cat >> confdefs.h <<\EOF +#define USE_OK_BCOPY 1 +EOF + + else + cat >> confdefs.h <<\EOF +#define USE_MY_MEMMOVE 1 +EOF + + fi -else - echo "$ac_t""no" 1>&6 fi -if test $use_curses != no ; then - cf_cv_termlib=$cf_with_screen -else - -if eval "test \"`echo '$''{'cf_cv_termlib'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -cf_cv_termlib=none +echo $ac_n "checking if select expects int * arguments""... $ac_c" 1>&6 +echo "configure:16280: checking if select expects int * arguments" >&5 cat > conftest.$ac_ext < EOF -if { (eval echo configure:11620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "select\(.*, *int *\*," >/dev/null 2>&1; then rm -rf conftest* - cat > conftest.$ac_ext <> confdefs.h <<\EOF +#define HAVE_SELECT_INTP 1 EOF -if { (eval echo configure:11630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_termlib=terminfo + echo "$ac_t""yes" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_termlib=termcap + echo "$ac_t""no" 1>&6 + fi rm -f conftest* - test -n "$verbose" && echo " using functions in predefined $cf_cv_termlib LIBS" 1>&6 +echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6 +echo "configure:16302: checking whether closedir returns void" >&5 +if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - - -if test "$cf_cv_termlib" = none; then - # FreeBSD's linker gives bogus results for AC_CHECK_LIB, saying that - # tgetstr lives in -lcurses when it is only an unsatisfied extern. - cf_save_LIBS="$LIBS" - for cf_lib in curses ncurses termlib termcap - do - LIBS="-l$cf_lib $cf_save_LIBS" - for cf_func in tigetstr tgetstr - do - echo $ac_n "checking for $cf_func in -l$cf_lib""... $ac_c" 1>&6 -echo "configure:11659: checking for $cf_func in -l$cf_lib" >&5 - cat > conftest.$ac_ext < conftest.$ac_ext < +#include <$ac_header_dirent> +int closedir(); main() { exit(closedir(opendir(".")) != 0); } EOF -if { (eval echo configure:11668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_result=yes +if { (eval echo configure:16316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_func_closedir_void=no else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_result=no + rm -fr conftest* + ac_cv_func_closedir_void=yes fi -rm -f conftest* - echo "$ac_t""$cf_result" 1>&6 - if test "$cf_result" = yes ; then - if test "$cf_func" = tigetstr ; then - cf_cv_termlib=terminfo - else - cf_cv_termlib=termcap - fi - break - fi - done - test "$cf_result" = yes && break - done - test "$cf_result" = no && LIBS="$cf_save_LIBS" +rm -fr conftest* fi -if test "$cf_cv_termlib" = none; then - # allow curses library for broken AIX system. - echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6 -echo "configure:11695: checking for initscr in -lcurses" >&5 -ac_lib_var=`echo curses'_'initscr | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + +fi + +echo "$ac_t""$ac_cv_func_closedir_void" 1>&6 +if test $ac_cv_func_closedir_void = yes; then + cat >> confdefs.h <<\EOF +#define CLOSEDIR_VOID 1 +EOF + +fi + + +# autoconf 2.5x assumes setvbuf is not reversed when cross-compiling +if test "$cross_compiling" != yes ; then + echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6 +echo "configure:16342: checking whether setvbuf arguments are reversed" >&5 +if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lcurses $LIBS" -cat > conftest.$ac_ext <&2; exit 1; } +else + cat > conftest.$ac_ext < +/* If setvbuf has the reversed format, exit 0. */ +main () { + /* This call has the arguments reversed. + A reversed system may check and see that the address of main + is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ + if (setvbuf(stdout, _IOLBF, (char *) main, BUFSIZ) != 0) + exit(1); + putc('\r', stdout); + exit(0); /* Non-reversed systems segv here. */ +} EOF -if { (eval echo configure:11714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:16364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_func_setvbuf_reversed=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + rm -fr conftest* + ac_cv_func_setvbuf_reversed=no +fi +rm -fr conftest* fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core core.* *.core fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -lcurses" cf_cv_termlib=termcap -else - echo "$ac_t""no" 1>&6 + +echo "$ac_t""$ac_cv_func_setvbuf_reversed" 1>&6 +if test $ac_cv_func_setvbuf_reversed = yes; then + cat >> confdefs.h <<\EOF +#define SETVBUF_REVERSED 1 +EOF + fi - echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6 -echo "configure:11735: checking for tgoto in -ltermcap" >&5 -ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +fi + +### Checks for network library functions. +for ac_func in \ + gai_strerror \ + getaddrinfo \ + gethostname \ + gethostbyname \ + getservbyname \ + inet_addr \ + inet_ntoa \ + strncasecmp \ + +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:16402: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-ltermcap $LIBS" -cat > conftest.$ac_ext < conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char tgoto(); +char $ac_func(); int main() { -tgoto() + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + ; return 0; } EOF -if { (eval echo configure:11754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:16430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + eval "ac_cv_func_$ac_func=no" fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then +rm -rf conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -ltermcap" cf_cv_termlib=termcap + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 fi +done -fi - -fi -rm -f conftest* -if test "$cf_cv_termlib" = none; then - echo "configure: warning: Cannot find -ltermlib, -lcurses, or -ltermcap" 1>&2 -fi -fi - # terminfo-based termcap interfaces may be prototyped in , - # which may/may not be compatible with - echo $ac_n "checking if we should include termcap.h""... $ac_c" 1>&6 -echo "configure:11787: checking if we should include termcap.h" >&5 - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -I$srcdir/include" +echo $ac_n "checking for type sigaction_t""... $ac_c" 1>&6 +echo "configure:16457: checking for type sigaction_t" >&5 +if eval "test \"`echo '$''{'cf_cv_type_sigaction'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +#include int main() { - -#ifdef NCURSES_VERSION -make an error -#endif - +sigaction_t x ; return 0; } EOF -if { (eval echo configure:11804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16471: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_result=yes + cf_cv_type_sigaction=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_result=no + cf_cv_type_sigaction=no fi rm -f conftest* - echo "$ac_t""$cf_result" 1>&6 - CFLAGS="$cf_save_CFLAGS" - test $cf_result = yes && cat >> confdefs.h <<\EOF -#define HAVE_TERMCAP_H 1 +fi + +echo "$ac_t""$cf_cv_type_sigaction" 1>&6 +test "$cf_cv_type_sigaction" = yes && cat >> confdefs.h <<\EOF +#define HAVE_TYPE_SIGACTION 1 EOF - -echo $ac_n "checking for term.h""... $ac_c" 1>&6 -echo "configure:11822: checking for term.h" >&5 -if eval "test \"`echo '$''{'cf_cv_term_header'+set}'`\" = set"; then + + +echo $ac_n "checking for nonconflicting termios.h""... $ac_c" 1>&6 +echo "configure:16491: checking for nonconflicting termios.h" >&5 +if eval "test \"`echo '$''{'cf_cv_use_termios_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - -# If we found , look for , but always look -# for if we do not find the variant. -for cf_header in \ - `echo ${cf_cv_ncurses_header-curses.h} | sed -e 's%/.*%/%'`term.h \ - term.h -do cat > conftest.$ac_ext < -#include <${cf_header}> +#ifdef HAVE_IOCTL_H +# include +#else +# ifdef HAVE_SYS_IOCTL_H +# include +# endif +#endif + +#if !defined(sun) || !defined(NL0) +#include +#endif + int main() { -WINDOW *x + + struct termios save_tty; + (void) tcsetattr (0, TCSANOW, &save_tty); + (void) tcgetattr (0, &save_tty) ; return 0; } EOF -if { (eval echo configure:11844: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_term_header=$cf_header - break +if { (eval echo configure:16519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_use_termios_h=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_term_header=no -fi -rm -f conftest* -done + cf_cv_use_termios_h=no fi +rm -rf conftest* -echo "$ac_t""$cf_cv_term_header" 1>&6 +fi -case $cf_cv_term_header in #(vi -term.h) #(vi +echo "$ac_t""$cf_cv_use_termios_h" 1>&6 +if test $cf_cv_use_termios_h = yes; then cat >> confdefs.h <<\EOF -#define HAVE_TERM_H 1 +#define HAVE_TERMIOS_H 1 EOF - ;; -ncurses/term.h) cat >> confdefs.h <<\EOF -#define HAVE_NCURSES_TERM_H 1 +#define HAVE_TCGETATTR 1 EOF - ;; -ncursesw/term.h) cat >> confdefs.h <<\EOF -#define HAVE_NCURSESW_TERM_H 1 +#define HAVE_TCSETATTR 1 EOF - ;; -esac - +fi -echo $ac_n "checking if we should include curses.h or termcap.h""... $ac_c" 1>&6 -echo "configure:11885: checking if we should include curses.h or termcap.h" >&5 -if eval "test \"`echo '$''{'cf_cv_need_curses_h'+set}'`\" = set"; then +echo $ac_n "checking for passwd.pw_gecos""... $ac_c" 1>&6 +echo "configure:16550: checking for passwd.pw_gecos" >&5 +if eval "test \"`echo '$''{'cf_cv_pw_gecos'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else -cf_save_CPPFLAGS="$CPPFLAGS" -cf_cv_need_curses_h=no - -for cf_t_opts in "" "NEED_TERMCAP_H" -do -for cf_c_opts in "" "NEED_CURSES_H" -do - - CPPFLAGS="$cf_save_CPPFLAGS $CHECK_DECL_FLAG" - test -n "$cf_c_opts" && CPPFLAGS="$CPPFLAGS -D$cf_c_opts" - test -n "$cf_t_opts" && CPPFLAGS="$CPPFLAGS -D$cf_t_opts" - - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - test "$cf_cv_need_curses_h" = no && { - cf_cv_need_curses_h=maybe - cf_ok_c_opts=$cf_c_opts - cf_ok_t_opts=$cf_t_opts - } -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "Recompiling with corrected call (C:$cf_c_opts, T:$cf_t_opts)" >&5 cat > conftest.$ac_ext < + int main() { -char *x = (char *)tgoto("",0,0) + + struct passwd foo; + char bar = foo.pw_gecos ; return 0; } EOF -if { (eval echo configure:11932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:16567: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_need_curses_h=yes - cf_ok_c_opts=$cf_c_opts - cf_ok_t_opts=$cf_t_opts + cf_cv_pw_gecos=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_cv_pw_gecos=no fi rm -f conftest* fi -rm -f conftest* - - CPPFLAGS="$cf_save_CPPFLAGS" - test "$cf_cv_need_curses_h" = yes && break -done - test "$cf_cv_need_curses_h" = yes && break -done - -if test "$cf_cv_need_curses_h" != no ; then - echo "Curses/termcap test = $cf_cv_need_curses_h (C:$cf_ok_c_opts, T:$cf_ok_t_opts)" >&5 - if test -n "$cf_ok_c_opts" ; then - if test -n "$cf_ok_t_opts" ; then - cf_cv_need_curses_h=both - else - cf_cv_need_curses_h=curses.h - fi - elif test -n "$cf_ok_t_opts" ; then - cf_cv_need_curses_h=termcap.h - elif test "$cf_cv_term_header" != no ; then - cf_cv_need_curses_h=term.h - else - cf_cv_need_curses_h=no - fi -fi - -fi - -echo "$ac_t""$cf_cv_need_curses_h" 1>&6 - -case $cf_cv_need_curses_h in -both) #(vi - cat >> confdefs.h <> confdefs.h <> confdefs.h <> confdefs.h <> confdefs.h <&6 +test $cf_cv_pw_gecos = no && cat >> confdefs.h <<\EOF +#define DONT_HAVE_PW_GECOS 1 EOF - ;; -esac - - - -echo $ac_n "checking declaration of tputs 3rd param""... $ac_c" 1>&6 -echo "configure:12008: checking declaration of tputs 3rd param" >&5 -if eval "test \"`echo '$''{'cf_cv_type_outchar'+set}'`\" = set"; then +echo $ac_n "checking for tm.tm_gmtoff""... $ac_c" 1>&6 +echo "configure:16587: checking for tm.tm_gmtoff" >&5 +if eval "test \"`echo '$''{'cf_cv_tm_gmtoff'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - -cf_cv_type_outchar="int OutChar(int)" -cf_cv_found=no -cf_save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $CHECK_DECL_FLAG" - -for P in int void; do -for Q in int void; do -for R in int char; do -for S in "" const; do - -echo "(line 12024) testing loop variables P:$P, Q:$Q, R:$R, S:$S ..." 1>&5 - cat > conftest.$ac_ext < +# include +#else +# ifdef HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + int main() { -extern $Q OutChar($R); - extern $P tputs ($S char *string, int nlines, $Q (*_f)($R)); - tputs("", 1, OutChar) + + struct tm foo; + long bar = foo.tm_gmtoff ; return 0; } EOF -if { (eval echo configure:12036: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:16613: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_type_outchar="$Q OutChar($R)" - cf_cv_found=yes - break + cf_cv_tm_gmtoff=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_cv_tm_gmtoff=no fi rm -f conftest* -done - test $cf_cv_found = yes && break -done - test $cf_cv_found = yes && break -done - test $cf_cv_found = yes && break -done - fi -echo "$ac_t""$cf_cv_type_outchar" 1>&6 - -case $cf_cv_type_outchar in -int*) - cat >> confdefs.h <<\EOF -#define OUTC_RETURN 1 -EOF - - ;; -esac -case $cf_cv_type_outchar in -*char*) - cat >> confdefs.h <<\EOF -#define OUTC_ARGS char c +echo "$ac_t""$cf_cv_tm_gmtoff" 1>&6 +test $cf_cv_tm_gmtoff = no && cat >> confdefs.h <<\EOF +#define DONT_HAVE_TM_GMTOFF 1 EOF - ;; -esac -CPPFLAGS="$cf_save_CPPFLAGS" +echo $ac_n "checking for long file names""... $ac_c" 1>&6 +echo "configure:16633: checking for long file names" >&5 +if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_cv_sys_long_file_names=yes +# Test for long file names in all the places we know might matter: +# . the current directory, where building will happen +# $prefix/lib where we will be installing things +# $exec_prefix/lib likewise +# eval it to expand exec_prefix. +# $TMPDIR if set, where it might want to write temporary files +# if $TMPDIR is not set: +# /tmp where it might want to write temporary files +# /var/tmp likewise +# /usr/tmp likewise +if test -n "$TMPDIR" && test -d "$TMPDIR" && test -w "$TMPDIR"; then + ac_tmpdirs="$TMPDIR" +else + ac_tmpdirs='/tmp /var/tmp /usr/tmp' +fi +for ac_dir in . $ac_tmpdirs `eval echo $prefix/lib $exec_prefix/lib` ; do + test -d $ac_dir || continue + test -w $ac_dir || continue # It is less confusing to not echo anything here. + (echo 1 > $ac_dir/conftest9012345) 2>/dev/null + (echo 2 > $ac_dir/conftest9012346) 2>/dev/null + val=`cat $ac_dir/conftest9012345 2>/dev/null` + if test ! -f $ac_dir/conftest9012345 || test "$val" != 1; then + ac_cv_sys_long_file_names=no + rm -f $ac_dir/conftest9012345 $ac_dir/conftest9012346 2>/dev/null + break + fi + rm -f $ac_dir/conftest9012345 $ac_dir/conftest9012346 2>/dev/null +done fi -cf_tc_funcs= -cf_tc_externs= -if test ".$cf_cv_termlib" = .terminfo ; then - cat >> confdefs.h <<\EOF -#define USE_TERMINFO 1 +echo "$ac_t""$ac_cv_sys_long_file_names" 1>&6 +if test $ac_cv_sys_long_file_names = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_LONG_FILE_NAMES 1 EOF - cf_tc_funcs="tigetint tigetnum tparam tparm" - cf_tc_externs="$cf_tc_funcs tgoto tigetstr tputs tigetflag" -elif test ".$cf_cv_termlib" = .termcap ; then - # BSD 'tputs()' may need 'PC' to be set. - cat > conftest.$ac_ext <&6 +echo "configure:16681: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < EOF -if { (eval echo configure:12098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:16691: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - cat >> confdefs.h <<\EOF -#define HAVE_EXTERN_TCAP_PC 1 -EOF - + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* - cf_tc_funcs="tgetint tgetnum tparam tparm" - cf_tc_externs="$cf_tc_funcs tgoto tgetstr tputs tgetent tgetflag" fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done -### Checks for external-data - - -echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6 -echo "configure:12117: checking if external errno is declared" >&5 -if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then +cf_wait_headers="#include +" +if test $ac_cv_header_sys_wait_h = yes; then +cf_wait_headers="$cf_wait_headers +#include +" +else +for ac_hdr in wait.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:16728: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cat > conftest.$ac_ext < conftest.$ac_ext < -#endif -#include -#include -#include -int main() { -long x = (long) errno -; return 0; } +#include <$ac_hdr> EOF -if { (eval echo configure:12136: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:16738: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - cf_cv_dcl_errno=yes + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_dcl_errno=no + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* - fi - -echo "$ac_t""$cf_cv_dcl_errno" 1>&6 - -if test "$cf_cv_dcl_errno" = no ; then - -cf_result=`echo "decl_errno" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >> confdefs.h <&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 fi +done -# It's possible (for near-UNIX clones) that the data doesn't exist - -echo $ac_n "checking if external errno exists""... $ac_c" 1>&6 -echo "configure:12164: checking if external errno exists" >&5 -if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then +for ac_hdr in waitstatus.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:16768: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cat > conftest.$ac_ext < conftest.$ac_ext < EOF -if { (eval echo configure:12180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:16778: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - cf_cv_have_errno=yes + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_have_errno=no + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done +if test $ac_cv_header_wait_h = yes; then +cf_wait_headers="$cf_wait_headers +#include +" +fi +if test $ac_cv_header_waitstatus_h = yes; then +cf_wait_headers="$cf_wait_headers +#include +" +fi fi -echo "$ac_t""$cf_cv_have_errno" 1>&6 -if test "$cf_cv_have_errno" = yes ; then - -cf_result=`echo "have_errno" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - cat >> confdefs.h <&6 +echo "configure:16819: checking for union wait" >&5 +if eval "test \"`echo '$''{'cf_cv_type_unionwait'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_type_unionwait=no + echo compiles ok w/o union wait 1>&5 + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_type_unionwait=yes + echo compiles ok with union wait and possibly macros too 1>&5 + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + cf_cv_type_unionwait=no +fi +rm -rf conftest* +fi +rm -rf conftest* fi +echo "$ac_t""$cf_cv_type_unionwait" 1>&6 +test $cf_cv_type_unionwait = yes && cat >> confdefs.h <<\EOF +#define HAVE_TYPE_UNIONWAIT 1 +EOF -for ac_func in strerror -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12212: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then +echo $ac_n "checking if the system function returns usable child-status""... $ac_c" 1>&6 +echo "configure:16887: checking if the system function returns usable child-status" >&5 +if eval "test \"`echo '$''{'cf_cv_system_status'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else + + if test "$cross_compiling" = yes; then + cf_cv_system_status=unknown +else cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); -int main() { +#include +#include +#if HAVE_SYS_WAIT_H +#include +#endif -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me +RETSIGTYPE signal_handler (int sig) +{ +#if HAVE_TYPE_UNIONWAIT + union wait wait_status; #else -$ac_func(); + int wait_status = 1; #endif + int system_status; + wait (&wait_status); + system_status = WEXITSTATUS(wait_status); /* should be nonzero */ + ${cf_cv_main_return:-return}(system_status != 23); +} + +int main() +{ + /* this looks weird, but apparently the SIGCHLD gets there first on + * machines where 'system()' doesn't return a usable code, so ... + */ + signal (SIGCHLD, signal_handler); + system("exit 23"); + ${cf_cv_main_return:-return}(1); +} -; return 0; } EOF -if { (eval echo configure:12240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +if { (eval echo configure:16929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + cf_cv_system_status=no else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <> confdefs.h <<\EOF -#define HAVE_STRERROR 1 -EOF - -else - echo "$ac_t""no" 1>&6 - - -echo $ac_n "checking if external sys_nerr is declared""... $ac_c" 1>&6 -echo "configure:12267: checking if external sys_nerr is declared" >&5 -if eval "test \"`echo '$''{'cf_cv_dcl_sys_nerr'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + rm -fr conftest* + if test "$cross_compiling" = yes; then + cf_cv_system_status=unknown else - - cat > conftest.$ac_ext < conftest.$ac_ext < -#endif -#include -#include -#include -int main() { -long x = (long) sys_nerr -; return 0; } +int main() { ${cf_cv_main_return:-return}(system("exit 23") != (23 << 8)); } EOF -if { (eval echo configure:12286: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_dcl_sys_nerr=yes +if { (eval echo configure:16944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + cf_cv_system_status=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_dcl_sys_nerr=no + rm -fr conftest* + cf_cv_system_status=unknown +fi +rm -fr conftest* fi -rm -f conftest* fi +rm -fr conftest* +fi -echo "$ac_t""$cf_cv_dcl_sys_nerr" 1>&6 -if test "$cf_cv_dcl_sys_nerr" = no ; then - -cf_result=`echo "decl_sys_nerr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +fi - cat >> confdefs.h <&6 +test $cf_cv_system_status = no && cat >> confdefs.h <<\EOF +#define USE_SYSTEM_STATUS 1 EOF -fi -# It's possible (for near-UNIX clones) that the data doesn't exist -echo $ac_n "checking if external sys_nerr exists""... $ac_c" 1>&6 -echo "configure:12314: checking if external sys_nerr exists" >&5 -if eval "test \"`echo '$''{'cf_cv_have_sys_nerr'+set}'`\" = set"; then +# Check if we are trying to use curses+color, but cannot +if test $use_color = yes ; then + if test $use_curses = no ; then + cat >> confdefs.h <<\EOF +#define HAVE_COLOR 1 +EOF + + elif test $cf_with_screen = pdcurses ; then + cat >> confdefs.h <<\EOF +#define HAVE_COLOR 1 +EOF + + else + + +if test "$cf_cv_ncurses_version" != no ; then +echo $ac_n "checking for obsolete/broken version of ncurses""... $ac_c" 1>&6 +echo "configure:16987: checking for obsolete/broken version of ncurses" >&5 +if eval "test \"`echo '$''{'cf_cv_ncurses_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < int main() { -sys_nerr = 2 + +#if defined(NCURSES_VERSION) && defined(wgetbkgd) + make an error +#else + int x = 1 +#endif + ; return 0; } EOF -if { (eval echo configure:12330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17007: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_have_sys_nerr=yes + cf_cv_ncurses_broken=no else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_have_sys_nerr=no + cf_cv_ncurses_broken=yes fi rm -f conftest* fi -echo "$ac_t""$cf_cv_have_sys_nerr" 1>&6 - -if test "$cf_cv_have_sys_nerr" = yes ; then - -cf_result=`echo "have_sys_nerr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >> confdefs.h <&6 +if test "$cf_cv_ncurses_broken" = yes ; then + echo "configure: warning: hmm... you should get an up-to-date version of ncurses" 1>&2 + cat >> confdefs.h <<\EOF +#define NCURSES_BROKEN 1 EOF fi +fi - - - -echo $ac_n "checking if external sys_errlist is declared""... $ac_c" 1>&6 -echo "configure:12359: checking if external sys_errlist is declared" >&5 -if eval "test \"`echo '$''{'cf_cv_dcl_sys_errlist'+set}'`\" = set"; then + +echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6 +echo "configure:17032: checking if curses supports color attributes" >&5 +if eval "test \"`echo '$''{'cf_cv_color_curses'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -#endif -#include -#include -#include +#include <${cf_cv_ncurses_header:-curses.h}> + int main() { -long x = (long) sys_errlist +chtype x = COLOR_BLUE; + has_colors(); + start_color(); +#ifndef NCURSES_BROKEN + wbkgd(curscr, getbkgd(stdscr)); /* X/Open XPG4 aka SVr4 Curses */ +#endif + ; return 0; } EOF -if { (eval echo configure:12378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_dcl_sys_errlist=yes +if { (eval echo configure:17053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_color_curses=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_dcl_sys_errlist=no -fi -rm -f conftest* + cf_cv_color_curses=no +fi +rm -rf conftest* + fi -echo "$ac_t""$cf_cv_dcl_sys_errlist" 1>&6 +echo "$ac_t""$cf_cv_color_curses" 1>&6 +if test $cf_cv_color_curses = yes ; then + cat >> confdefs.h <<\EOF +#define COLOR_CURSES 1 +EOF -if test "$cf_cv_dcl_sys_errlist" = no ; then - -cf_result=`echo "decl_sys_errlist" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + test ".$cf_cv_ncurses_broken" != .yes && cat >> confdefs.h <<\EOF +#define HAVE_GETBKGD 1 +EOF - cat >> confdefs.h <> confdefs.h <<\EOF +#define HAVE_COLOR 1 EOF + else + echo "configure: warning: This curses library does not support color" 1>&2 + fi + fi fi -# It's possible (for near-UNIX clones) that the data doesn't exist +# GCC and Apollo compilers are quite noisy about signal constants (quiet them). +if test -n "$GCC"; then + check_sig_const=yes +elif test -f /sys/dm/dm ; then + check_sig_const=yes +elif test -f /sys/dm/spm ; then + check_sig_const=yes +else + check_sig_const=no +fi -echo $ac_n "checking if external sys_errlist exists""... $ac_c" 1>&6 -echo "configure:12406: checking if external sys_errlist exists" >&5 -if eval "test \"`echo '$''{'cf_cv_have_sys_errlist'+set}'`\" = set"; then +if test $check_sig_const = yes ; then + + +echo $ac_n "checking for redefinable signal constants""... $ac_c" 1>&6 +echo "configure:17104: checking for redefinable signal constants" >&5 +if eval "test \"`echo '$''{'cf_cv_sig_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < + +int main() +{ + if (NEW_DFL != SIG_DFL + || NEW_IGN != SIG_IGN + || NEW_ERR != SIG_ERR + /* at least one system won't let me redefine these! */ +#undef SIG_DFL +#undef SIG_IGN +#undef SIG_ERR +#define SIG_DFL NEW_DFL +#define SIG_IGN NEW_IGN +#define SIG_ERR NEW_ERR + || NEW_DFL != SIG_DFL) + ${cf_cv_main_return:-return}(1); + signal(SIGINT, SIG_DFL); + ${cf_cv_main_return:-return}(0); +} EOF -if { (eval echo configure:12422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_have_sys_errlist=yes +if { (eval echo configure:17143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + cf_cv_sig_const=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_have_sys_errlist=no + rm -fr conftest* + cf_cv_sig_const=no fi -rm -f conftest* - +rm -fr conftest* fi -echo "$ac_t""$cf_cv_have_sys_errlist" 1>&6 - -if test "$cf_cv_have_sys_errlist" = yes ; then - -cf_result=`echo "have_sys_errlist" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - - cat >> confdefs.h <&6 +test "$cf_cv_sig_const" = yes && cat >> confdefs.h <<\EOF +#define DECL_SIG_CONST 1 +EOF fi -done - -### Checks for library functions. -for ac_func in \ - atoi \ - atol \ - bcopy \ - chmod \ - closesocket \ - execlp \ - fcntl \ - fdopen \ - fork \ - ftime \ - ftruncate \ - getcwd \ - gettimeofday \ - getwd \ - inet_aton \ - is_xterm \ - isascii \ - link \ - lockf \ - memcmp \ - memcpy \ - memmove \ - memset \ - mkdir \ - mkfifo \ - mktemp \ - mkstemp \ - nl_langinfo \ - poll \ - putenv \ - rewinddir \ - resizeterm \ - select \ - setenv \ - setlocale \ - settz \ - sigaction \ - snprintf \ - stpcpy \ - strchr \ - strcasecmp \ - strcasestr \ - strdup \ - strftime \ - strpbrk \ - strrstr \ - strsep \ - strstr \ - strtol \ - tmpfile \ - tzset \ - uname \ - unlink \ - use_default_colors \ - usleep \ - vasprintf \ - vsnprintf \ - waitpid \ -$cf_tc_funcs -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12518: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then +echo $ac_n "checking for ANSI qsort""... $ac_c" 1>&6 +echo "configure:17169: checking for ANSI qsort" >&5 +if eval "test \"`echo '$''{'cf_cv_comptype'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); +#ifdef HAVE_STDLIB_H +#include #endif - +int main() { +extern int compare(const void *, const void *); + char *foo = "string"; + qsort(foo, sizeof(foo)/sizeof(*foo), sizeof(*foo), compare) ; return 0; } EOF -if { (eval echo configure:12546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17187: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" + cf_cv_comptype=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + cf_cv_comptype=no fi rm -f conftest* + fi -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 +if test $cf_cv_comptype = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_COMPTYPE_VOID 1 EOF - + else - echo "$ac_t""no" 1>&6 + cat >> confdefs.h <<\EOF +#define HAVE_COMPTYPE_CHAR 1 +EOF + fi -done -echo $ac_n "checking for flock""... $ac_c" 1>&6 -echo "configure:12572: checking for flock" >&5 -if eval "test \"`echo '$''{'ac_cv_func_flock'+set}'`\" = set"; then +echo $ac_n "checking if application can dump core""... $ac_c" 1>&6 +echo "configure:17215: checking if application can dump core" >&5 +if eval "test \"`echo '$''{'cf_cv_corefile'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else + + if test "$cross_compiling" = yes; then + cf_cv_corefile=unknown +else cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char flock(); -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_flock) || defined (__stub___flock) -choke me +#include +#include +#include +int found() +{ + struct stat sb; + return ((stat("core", &sb) == 0 /* UNIX */ + || stat("conftest.core", &sb) == 0 /* FreeBSD */ + ) + && ((sb.st_mode & S_IFMT) == S_IFREG)); +} +int main() +{ +#ifdef __amiga__ +/* Nicholas d'Alterio (nagd@ic.ac.uk) reports that the check for ability to + * core dump causes the machine to crash - reason unknown (gcc 2.7.2) + */ + ${cf_cv_main_return:-return}(1); #else -flock(); + int pid, status; + if (found()) + unlink("core"); + if (found()) + ${cf_cv_main_return:-return}(1); + if ((pid = fork()) != 0) { + while (wait(&status) <= 0) + ; + } else { + abort(); /* this will dump core, if anything will */ + } + if (found()) { + unlink("core"); + ${cf_cv_main_return:-return}(0); + } + ${cf_cv_main_return:-return}(1); #endif - -; return 0; } +} EOF -if { (eval echo configure:12600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_flock=yes" +if { (eval echo configure:17265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + cf_cv_corefile=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_flock=no" + rm -fr conftest* + cf_cv_corefile=no fi -rm -f conftest* +rm -fr conftest* fi -if eval "test \"`echo '$ac_cv_func_'flock`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define HAVE_FLOCK 1 +fi + +echo "$ac_t""$cf_cv_corefile" 1>&6 +test $cf_cv_corefile = yes && cat >> confdefs.h <<\EOF +#define HAVE_COREFILE 1 EOF -else - echo "$ac_t""no" 1>&6 - echo $ac_n "checking for flock in -lbsd""... $ac_c" 1>&6 -echo "configure:12622: checking for flock in -lbsd" >&5 -ac_lib_var=`echo bsd'_'flock | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + +### test this last, since it uses a partly-built autoconf.h +# Setup includes for test-program to verify declarations +CHECK_DECL_FLAG="-I$srcdir/include -I$srcdir/pcre" +CHECK_DECL_HDRS=' +#define M_UNIX +#define __CPROTO__ +#define HAVE_CONFDEFS_H +#include ' +TIN_DECL_HDRS="$CHECK_DECL_HDRS" + +for ac_func in \ + errno \ + getenv \ + getlogin \ + getpwnam \ + popen \ + strchr \ + strcasestr \ + strsep \ + tmpfile \ + +do + +ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + +echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 +echo "configure:17313: checking for missing "${ac_func}" extern" >&5 +if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lbsd $LIBS" + + +echo "${as_me:-configure}:17319: testing for missing "${ac_func}" external ..." 1>&5 + +cf_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $CHECK_DECL_FLAG" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + if test -n "$CHECK_DECL_HDRS" ; then +# try to work around system headers which are infested with non-standard syntax + +cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17356: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + eval 'cf_cv_func_'${ac_func}'=yes' else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + eval 'cf_cv_func_'${ac_func}'=no' fi rm -f conftest* -LIBS="$ac_save_LIBS" - +else +eval 'cf_cv_func_'${ac_func}'=yes' fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF -#define HAVE_FLOCK 1 -EOF - LIBS="$LIBS -lbsd" else - echo "$ac_t""no" 1>&6 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval 'cf_cv_func_'${ac_func}'=no' fi +rm -rf conftest* +CFLAGS="$cf_save_CFLAGS" fi +eval 'cf_result=$cf_cv_func_'${ac_func} +echo "$ac_t""$cf_result" 1>&6 +test $cf_result = yes && cat >> confdefs.h <&6 -echo "configure:12670: checking for wide char and multibyte support" >&5 -if eval "test \"`echo '$''{'am_cv_multibyte_able'+set}'`\" = set"; then +CHECK_DECL_HDRS="$TIN_DECL_HDRS +#include " +for ac_func in \ + gethostbyname \ + getservbyname \ + inet_aton \ + inet_ntoa \ + socket \ + +do + +ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + +echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 +echo "configure:17405: checking for missing "${ac_func}" extern" >&5 +if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < -#ifdef HAVE_STDLIB_H -# include -#endif /* HAVE_STDLIB_H */ -#ifdef HAVE_WCHAR_H -# include -#endif /* HAVE_WCHAR_H */ -#ifdef HAVE_WCTYPE_H -# include -#endif /* HAVE_WCTYPE_H */ + -int main() { -char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; - char ocb[5]; - wchar_t wcb[5]; - wchar_t wcb2[5]; - wchar_t format[3]; +echo "${as_me:-configure}:17411: testing for missing "${ac_func}" external ..." 1>&5 - putwc(0, 0); - fputwc(0, 0); - fwide(0, 0); - mbtowc(wcb, icb, MB_CUR_MAX); - mbstowcs(wcb, icb, 5); - iswprint((wint_t) wcb[0]); - wcslen(wcb); - /* wcsnlen(wcb, 4); */ - wcwidth((wint_t) wcb[0]); - wcswidth(wcb, 5); - wcstombs(ocb, wcb, 5); - mbstowcs(format, "%s", 2); - swprintf(wcb, 5, format, "test"); - wcsncat(wcb2, wcb, 5); -; return 0; } -EOF -if { (eval echo configure:12711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_multibyte_able=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_save_LIBS="$LIBS" - LIBS="-lutf8 $LIBS" - cat > conftest.$ac_ext < conftest.$ac_ext < + +$CHECK_DECL_HDRS + +#undef ${ac_func} +struct zowie { int a; double b; struct zowie *c; char d; }; +extern struct zowie *${ac_func}(); + int main() { -char icb[5] = {0xa4, 0xa4, 0xa4, 0xe5, 0x00}; - char ocb[5]; - wchar_t wcb[5]; - wchar_t wcb2[5]; - wchar_t format[3]; - putwc(0, 0); - fputwc(0, 0); - fwide(0, 0); - mbtowc(wcb, icb, MB_CUR_MAX); - mbstowcs(wcb, icb, 5); - iswprint((wint_t) wcb[0]); - wcslen(wcb); - /* wcsnlen(wcb, 4); */ - wcwidth((wint_t) wcb[0]); - wcswidth(wcb, 5); - wcstombs(ocb, wcb, 5); - mbstowcs(format, "%s", 2); - swprintf(wcb, 5, format, "test"); - wcsncat(wcb2, wcb, 5); + ; return 0; } EOF -if { (eval echo configure:12747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_multibyte_able=libutf8 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_multibyte_able=no -fi -rm -f conftest* - LIBS="$cf_save_LIBS" - -fi -rm -f conftest* +if { (eval echo configure:17430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -fi - -echo "$ac_t""$am_cv_multibyte_able" 1>&6 - if test "$am_cv_multibyte_able" != no; then - if test "$am_cv_multibyte_able" = libutf8; then - cat >> confdefs.h <<\EOF -#define HAVE_LIBUTF8_H 1 -EOF - - LIBS="-lutf8 $LIBS" - fi - cat >> confdefs.h <<\EOF -#define MULTIBYTE_ABLE 1 -EOF - - fi + if test -n "$CHECK_DECL_HDRS" ; then +# try to work around system headers which are infested with non-standard syntax +cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -echo $ac_n "checking if gettimeofday takes two arguments""... $ac_c" 1>&6 -echo "configure:12781: checking if gettimeofday takes two arguments" >&5 cat > conftest.$ac_ext < -#endif +#define DECL_${cf_1_up} +$CHECK_DECL_HDRS + int main() { -struct timeval *tv; -struct timezone *tz; -gettimeofday(tv, tz); +long x = 0 ; return 0; } EOF -if { (eval echo configure:12795: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - ac_cv_func_gettimeofday_2args=yes + eval 'cf_cv_func_'${ac_func}'=yes' else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_func_gettimeofday_2args=no + eval 'cf_cv_func_'${ac_func}'=no' fi rm -f conftest* -echo "$ac_t""$ac_cv_func_gettimeofday_2args" 1>&6 -if test $ac_cv_func_gettimeofday_2args = yes; then - cat >> confdefs.h <<\EOF -#define GETTIMEOFDAY_2ARGS 1 -EOF - -fi - -echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:12814: checking return type of signal handlers" >&5 -if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < -#include -#ifdef signal -#undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif +eval 'cf_cv_func_'${ac_func}'=yes' +fi -int main() { -int i; -; return 0; } -EOF -if { (eval echo configure:12836: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_type_signal=void else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_type_signal=int + + eval 'cf_cv_func_'${ac_func}'=no' fi -rm -f conftest* +rm -rf conftest* +CFLAGS="$cf_save_CFLAGS" + fi -echo "$ac_t""$ac_cv_type_signal" 1>&6 -cat >> confdefs.h <&6 +test $cf_result = yes && cat >> confdefs.h <&6 -echo "configure:12856: checking declaration of signal arguments" >&5 -if eval "test \"`echo '$''{'cf_cv_sig_args'+set}'`\" = set"; then +if test $use_curses = no ; then +CHECK_DECL_HDRS="$TIN_DECL_HDRS +#include " +for ac_func in \ + tgetstr \ + tgoto \ + +do + +ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + +echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 +echo "configure:17495: checking for missing "${ac_func}" extern" >&5 +if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else -cf_cv_sig_args= -for cf_test in "int sig" "int sig, ..." -do - cat > conftest.$ac_ext <&5 + +cf_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $CHECK_DECL_FLAG" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + if test -n "$CHECK_DECL_HDRS" ; then +# try to work around system headers which are infested with non-standard syntax + +cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + +cat > conftest.$ac_ext < +#define DECL_${cf_1_up} +$CHECK_DECL_HDRS + int main() { -extern RETSIGTYPE catch($cf_test); signal(SIGINT, catch) +long x = 0 ; return 0; } EOF -if { (eval echo configure:12873: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:17538: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_sig_args="$cf_test";break + eval 'cf_cv_func_'${ac_func}'=yes' else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + rm -rf conftest* + eval 'cf_cv_func_'${ac_func}'=no' fi rm -f conftest* -done +else +eval 'cf_cv_func_'${ac_func}'=yes' +fi + +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval 'cf_cv_func_'${ac_func}'=no' fi +rm -rf conftest* +CFLAGS="$cf_save_CFLAGS" -echo "$ac_t""$cf_cv_sig_args" 1>&6 -cat >> confdefs.h <&6 +test $cf_result = yes && cat >> confdefs.h <&6 -echo "configure:12899: checking whether sigaction needs _POSIX_SOURCE" >&5 -if eval "test \"`echo '$''{'cf_cv_sigact_bad'+set}'`\" = set"; then +echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 +echo "configure:17637: checking for missing "${ac_func}" extern" >&5 +if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else + +echo "${as_me:-configure}:17643: testing for missing "${ac_func}" external ..." 1>&5 + +cf_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $CHECK_DECL_FLAG" cat > conftest.$ac_ext < -#include -int main() { -struct sigaction act -; return 0; } -EOF -if { (eval echo configure:12914: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_sigact_bad=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_sigact_bad=yes -fi -rm -f conftest* +$CHECK_DECL_HDRS -fi +#undef ${ac_func} +struct zowie { int a; double b; struct zowie *c; char d; }; +extern struct zowie *${ac_func}(); -echo "$ac_t""$cf_cv_sigact_bad" 1>&6 +int main() { -test "$cf_cv_sigact_bad" = yes && cat >> confdefs.h <<\EOF -#define SVR4_ACTION 1 + +; return 0; } EOF +if { (eval echo configure:17662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + if test -n "$CHECK_DECL_HDRS" ; then +# try to work around system headers which are infested with non-standard syntax +cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -echo $ac_n "checking if we have sigaction/related functions""... $ac_c" 1>&6 -echo "configure:12935: checking if we have sigaction/related functions" >&5 -if eval "test \"`echo '$''{'cf_cv_sigaction_funcs'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -int main() { +#define DECL_${cf_1_up} +$CHECK_DECL_HDRS - RETSIGTYPE (*func)(SIG_ARGS) = SIG_IGN; - struct sigaction sa, osa; - sa.sa_handler = func; - sa.sa_flags = 0; - sigemptyset (&sa.sa_mask); - sigaction (SIGBUS,&sa,&osa); +int main() { +long x = 0 ; return 0; } EOF -if { (eval echo configure:12959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17680: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_sigaction_funcs=yes + eval 'cf_cv_func_'${ac_func}'=yes' else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_sigaction_funcs=no + eval 'cf_cv_func_'${ac_func}'=no' fi rm -f conftest* +else +eval 'cf_cv_func_'${ac_func}'=yes' fi -echo "$ac_t""$cf_cv_sigaction_funcs" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -test "$cf_cv_sigaction_funcs" = yes && cat >> confdefs.h <<\EOF -#define HAVE_POSIX_JC 1 + eval 'cf_cv_func_'${ac_func}'=no' +fi +rm -rf conftest* +CFLAGS="$cf_save_CFLAGS" + +fi + +eval 'cf_result=$cf_cv_func_'${ac_func} +echo "$ac_t""$cf_result" 1>&6 +test $cf_result = yes && cat >> confdefs.h <&6 -echo "configure:12981: checking for fork" >&5 -if eval "test \"`echo '$''{'cf_cv_func_fork'+set}'`\" = set"; then +if test $use_curses = no ; then +CHECK_DECL_HDRS="$TIN_DECL_HDRS +#include " +for ac_func in $cf_tc_externs +do + +ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + +echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 +echo "configure:17724: checking for missing "${ac_func}" extern" >&5 +if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else -if test "$cross_compiling" = yes; then - cf_cv_func_fork=unknown -else - cat > conftest.$ac_ext <&5 + +cf_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $CHECK_DECL_FLAG" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cf_cv_func_fork=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - cf_cv_func_fork=no -fi -rm -fr conftest* -fi +$CHECK_DECL_HDRS + +#undef ${ac_func} +struct zowie { int a; double b; struct zowie *c; char d; }; +extern struct zowie *${ac_func}(); +int main() { -fi -echo "$ac_t""$cf_cv_func_fork" 1>&6 -test $cf_cv_func_fork = yes && cat >> confdefs.h <<\EOF -#define HAVE_FORK 1 -EOF +; return 0; } +EOF +if { (eval echo configure:17749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + if test -n "$CHECK_DECL_HDRS" ; then +# try to work around system headers which are infested with non-standard syntax +cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -echo $ac_n "checking for memmove""... $ac_c" 1>&6 -echo "configure:13022: checking for memmove" >&5 -if eval "test \"`echo '$''{'ac_cv_func_memmove'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char memmove(); - -int main() { -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_memmove) || defined (__stub___memmove) -choke me -#else -memmove(); -#endif +#define DECL_${cf_1_up} +$CHECK_DECL_HDRS +int main() { +long x = 0 ; return 0; } EOF -if { (eval echo configure:13050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_func_memmove=yes" + eval 'cf_cv_func_'${ac_func}'=yes' else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_memmove=no" + eval 'cf_cv_func_'${ac_func}'=no' fi rm -f conftest* +else +eval 'cf_cv_func_'${ac_func}'=yes' fi -if eval "test \"`echo '$ac_cv_func_'memmove`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : else - echo "$ac_t""no" 1>&6 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -echo $ac_n "checking for bcopy""... $ac_c" 1>&6 -echo "configure:13069: checking for bcopy" >&5 -if eval "test \"`echo '$''{'ac_cv_func_bcopy'+set}'`\" = set"; then + eval 'cf_cv_func_'${ac_func}'=no' +fi +rm -rf conftest* +CFLAGS="$cf_save_CFLAGS" + +fi + +eval 'cf_result=$cf_cv_func_'${ac_func} +echo "$ac_t""$cf_result" 1>&6 +test $cf_result = yes && cat >> confdefs.h <&6 +echo "configure:17814: checking for missing "${ac_func}" extern" >&5 +if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext <&5 + +cf_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $CHECK_DECL_FLAG" +cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char bcopy(); + +$CHECK_DECL_HDRS + +#undef ${ac_func} +struct zowie { int a; double b; struct zowie *c; char d; }; +extern struct zowie *${ac_func}(); int main() { -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_bcopy) || defined (__stub___bcopy) -choke me -#else -bcopy(); -#endif ; return 0; } EOF -if { (eval echo configure:13097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:17839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + if test -n "$CHECK_DECL_HDRS" ; then +# try to work around system headers which are infested with non-standard syntax + +cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + +cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval "ac_cv_func_bcopy=yes" + eval 'cf_cv_func_'${ac_func}'=yes' else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_func_bcopy=no" + eval 'cf_cv_func_'${ac_func}'=no' fi rm -f conftest* +else +eval 'cf_cv_func_'${ac_func}'=yes' fi -if eval "test \"`echo '$ac_cv_func_'bcopy`\" = yes"; then - echo "$ac_t""yes" 1>&6 - - echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6 -echo "configure:13113: checking if bcopy does overlapping moves" >&5 -if eval "test \"`echo '$''{'cf_cv_good_bcopy'+set}'`\" = set"; then +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval 'cf_cv_func_'${ac_func}'=no' +fi +rm -rf conftest* +CFLAGS="$cf_save_CFLAGS" + +fi + +eval 'cf_result=$cf_cv_func_'${ac_func} +echo "$ac_t""$cf_result" 1>&6 +test $cf_result = yes && cat >> confdefs.h <&6 +echo "configure:17895: checking for working TIOCGWINSZ" >&5 +if eval "test \"`echo '$''{'cf_cv_use_tiocgwinsz'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test "$cross_compiling" = yes; then - cf_cv_good_bcopy=unknown + cf_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -D__CPROTO__ $CHECK_DECL_FLAG" + if test "$cross_compiling" = yes; then + cf_cv_use_tiocgwinsz=unknown else cat > conftest.$ac_ext < 0 + && size.ts_cols > 0) + ${cf_cv_main_return:-return}(0); +#else + struct winsize size; + if (ioctl(0, TIOCGWINSZ, &size) == 0 + && size.ws_row > 0 + && size.ws_col > 0) + ${cf_cv_main_return:-return}(0); +#endif + } + ${cf_cv_main_return:-return}(0); /* we cannot guarantee this is run interactively */ } - EOF -if { (eval echo configure:13135: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:17931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then - cf_cv_good_bcopy=yes + cf_cv_use_tiocgwinsz=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* - cf_cv_good_bcopy=no + cf_cv_use_tiocgwinsz=no fi rm -fr conftest* fi - + rm -f autoconf.h + CFLAGS="$cf_save_CFLAGS" fi -echo "$ac_t""$cf_cv_good_bcopy" 1>&6 - -else - echo "$ac_t""no" 1>&6 -cf_cv_good_bcopy=no -fi +echo "$ac_t""$cf_cv_use_tiocgwinsz" 1>&6 +test $cf_cv_use_tiocgwinsz != yes && cat >> confdefs.h <<\EOF +#define DONT_HAVE_SIGWINCH 1 +EOF - if test "$cf_cv_good_bcopy" = yes ; then - cat >> confdefs.h <<\EOF -#define USE_OK_BCOPY 1 + + +### append special libraries that get in the way of testing +case $debug_malloc in +DBMALLOC) + cat >> confdefs.h <<\EOF +#define USE_DBMALLOC 1 EOF - else - cat >> confdefs.h <<\EOF -#define USE_MY_MEMMOVE 1 + LIBS="$LIBS -ldbmalloc" + ;; +DMALLOC) + cat >> confdefs.h <<\EOF +#define USE_DMALLOC 1 EOF - fi + LIBS="$LIBS -ldmalloc" + ;; +esac +### Use gettext +### this also calls AM_LANGINFO_CODESET and AM_ICONV +### so we don't need to do the tests ourselves. +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:17978: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" fi - - -echo $ac_n "checking if select expects int * arguments""... $ac_c" 1>&6 -echo "configure:13173: checking if select expects int * arguments" >&5 -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "select\(.*, *int *\*," >/dev/null 2>&1; then - rm -rf conftest* - cat >> confdefs.h <<\EOF -#define HAVE_SELECT_INTP 1 -EOF - echo "$ac_t""yes" 1>&6 +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&6 else - rm -rf conftest* echo "$ac_t""no" 1>&6 - fi -rm -f conftest* - -echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6 -echo "configure:13195: checking whether closedir returns void" >&5 -if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 +echo "configure:18008: checking for working alloca.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test "$cross_compiling" = yes; then - ac_cv_func_closedir_void=yes -else cat > conftest.$ac_ext < -#include <$ac_header_dirent> -int closedir(); main() { exit(closedir(opendir(".")) != 0); } +#include +int main() { +char *p = alloca(2 * sizeof(int)); +; return 0; } EOF -if { (eval echo configure:13209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_func_closedir_void=no +if { (eval echo configure:18020: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + ac_cv_header_alloca_h=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_closedir_void=yes -fi -rm -fr conftest* -fi + ac_cv_header_alloca_h=no +fi +rm -rf conftest* fi -echo "$ac_t""$ac_cv_func_closedir_void" 1>&6 -if test $ac_cv_func_closedir_void = yes; then +echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 +if test $ac_cv_header_alloca_h = yes; then cat >> confdefs.h <<\EOF -#define CLOSEDIR_VOID 1 +#define HAVE_ALLOCA_H 1 EOF fi - -# autoconf 2.5x assumes setvbuf is not reversed when cross-compiling -if test "$cross_compiling" != yes ; then - echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6 -echo "configure:13235: checking whether setvbuf arguments are reversed" >&5 -if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then +echo $ac_n "checking for alloca""... $ac_c" 1>&6 +echo "configure:18041: checking for alloca" >&5 +if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test "$cross_compiling" = yes; then - { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } -else cat > conftest.$ac_ext < -/* If setvbuf has the reversed format, exit 0. */ -main () { - /* This call has the arguments reversed. - A reversed system may check and see that the address of main - is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ - if (setvbuf(stdout, _IOLBF, (char *) main, BUFSIZ) != 0) - exit(1); - putc('\r', stdout); - exit(0); /* Non-reversed systems segv here. */ -} + +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# if HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif + +int main() { +char *p = (char *) alloca(1); +; return 0; } EOF -if { (eval echo configure:13257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_func_setvbuf_reversed=yes +if { (eval echo configure:18074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + ac_cv_func_alloca_works=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_setvbuf_reversed=no + + ac_cv_func_alloca_works=no fi -rm -fr conftest* +rm -rf conftest* fi -rm -f core core.* *.core +echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 +if test $ac_cv_func_alloca_works = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_ALLOCA 1 +EOF + fi -echo "$ac_t""$ac_cv_func_setvbuf_reversed" 1>&6 -if test $ac_cv_func_setvbuf_reversed = yes; then +if test $ac_cv_func_alloca_works = no; then + # The SVR3 libPW and SVR4 libucb both contain incompatible functions + # that cause trouble. Some versions do not even contain alloca or + # contain a buggy version. If you still want to use their alloca, + # use ar to extract alloca.o from them instead of compiling alloca.c. + ALLOCA=alloca.${ac_objext} cat >> confdefs.h <<\EOF -#define SETVBUF_REVERSED 1 +#define C_ALLOCA 1 EOF -fi +echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 +echo "configure:18106: checking whether alloca needs Cray hooks" >&5 +if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <&5 | + egrep "webecray" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_os_cray=yes +else + rm -rf conftest* + ac_cv_os_cray=no fi +rm -f conftest* -### Checks for network library functions. -for ac_func in \ - gai_strerror \ - getaddrinfo \ - gethostname \ - gethostbyname \ - getservbyname \ - inet_addr \ - inet_ntoa \ - strncasecmp \ +fi -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:13295: checking for $ac_func" >&5 +echo "$ac_t""$ac_cv_os_cray" 1>&6 +if test $ac_cv_os_cray = yes; then +for ac_func in _getb67 GETB67 getb67; do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:18136: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:18164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_func_$ac_func=no" fi -rm -f conftest* +rm -rf conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 fi -done - +done +fi -echo $ac_n "checking for type sigaction_t""... $ac_c" 1>&6 -echo "configure:13350: checking for type sigaction_t" >&5 -if eval "test \"`echo '$''{'cf_cv_type_sigaction'+set}'`\" = set"; then +echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 +echo "configure:18191: checking stack direction for C alloca" >&5 +if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cat > conftest.$ac_ext < conftest.$ac_ext < -int main() { -sigaction_t x -; return 0; } +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} +main () +{ + exit (find_stack_direction() < 0); +} EOF -if { (eval echo configure:13364: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_type_sigaction=yes +if { (eval echo configure:18218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_c_stack_direction=1 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_type_sigaction=no + rm -fr conftest* + ac_cv_c_stack_direction=-1 fi -rm -f conftest* +rm -fr conftest* fi -echo "$ac_t""$cf_cv_type_sigaction" 1>&6 -test "$cf_cv_type_sigaction" = yes && cat >> confdefs.h <<\EOF -#define HAVE_TYPE_SIGACTION 1 -EOF +fi +echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 +cat >> confdefs.h <&6 -echo "configure:13384: checking for nonconflicting termios.h" >&5 -if eval "test \"`echo '$''{'cf_cv_use_termios_h'+set}'`\" = set"; then +for ac_hdr in unistd.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:18243: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cat > conftest.$ac_ext < conftest.$ac_ext < -#else -# ifdef HAVE_SYS_IOCTL_H -# include -# endif -#endif - -#if !defined(sun) || !defined(NL0) -#include -#endif - -int main() { - - struct termios save_tty; - (void) tcsetattr (0, TCSANOW, &save_tty); - (void) tcgetattr (0, &save_tty) -; return 0; } +#include <$ac_hdr> EOF -if { (eval echo configure:13412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:18253: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - cf_cv_use_termios_h=yes + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_use_termios_h=no + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* - fi - -echo "$ac_t""$cf_cv_use_termios_h" 1>&6 -if test $cf_cv_use_termios_h = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_TERMIOS_H 1 -EOF - - cat >> confdefs.h <<\EOF -#define HAVE_TCGETATTR 1 -EOF - - cat >> confdefs.h <<\EOF -#define HAVE_TCSETATTR 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 fi - - -echo $ac_n "checking for passwd.pw_gecos""... $ac_c" 1>&6 -echo "configure:13443: checking for passwd.pw_gecos" >&5 -if eval "test \"`echo '$''{'cf_cv_pw_gecos'+set}'`\" = set"; then +done + +for ac_func in getpagesize +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:18282: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cat > conftest.$ac_ext < conftest.$ac_ext < +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); int main() { - struct passwd foo; - char bar = foo.pw_gecos +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + ; return 0; } EOF -if { (eval echo configure:13460: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_pw_gecos=yes +if { (eval echo configure:18310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_pw_gecos=no + + eval "ac_cv_func_$ac_func=no" fi -rm -f conftest* +rm -rf conftest* fi -echo "$ac_t""$cf_cv_pw_gecos" 1>&6 -test $cf_cv_pw_gecos = no && cat >> confdefs.h <<\EOF -#define DONT_HAVE_PW_GECOS 1 +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 +fi +done - - -echo $ac_n "checking for tm.tm_gmtoff""... $ac_c" 1>&6 -echo "configure:13480: checking for tm.tm_gmtoff" >&5 -if eval "test \"`echo '$''{'cf_cv_tm_gmtoff'+set}'`\" = set"; then +echo $ac_n "checking for working mmap""... $ac_c" 1>&6 +echo "configure:18335: checking for working mmap" >&5 +if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - cat > conftest.$ac_ext < conftest.$ac_ext < -# include +/* Thanks to Mike Haertel and Jim Avera for this test. + Here is a matrix of mmap possibilities: + mmap private not fixed + mmap private fixed at somewhere currently unmapped + mmap private fixed at somewhere already mapped + mmap shared not fixed + mmap shared fixed at somewhere currently unmapped + mmap shared fixed at somewhere already mapped + For private mappings, we should verify that changes cannot be read() + back from the file, nor mmap's back from the file at a different + address. (There have been systems where private was not correctly + implemented like the infamous i386 svr4.0, and systems where the + VM page cache was not coherent with the filesystem buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get + propogated back to all the places they're supposed to be. + + Grep wants private fixed already mapped. + The main things grep needs to know about mmap are: + * does it exist and is it safe to write into the mmap'd area + * how to use it (BSD variants) */ +#include +#include +#include + +/* This mess was copied from the GNU getpagesize.h. */ +#ifndef HAVE_GETPAGESIZE +# ifdef HAVE_UNISTD_H +# include +# endif + +/* Assume that all systems that can run configure have sys/param.h. */ +# ifndef HAVE_SYS_PARAM_H +# define HAVE_SYS_PARAM_H 1 +# endif + +# ifdef _SC_PAGESIZE +# define getpagesize() sysconf(_SC_PAGESIZE) +# else /* no _SC_PAGESIZE */ +# ifdef HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else /* no EXEC_PAGESIZE */ +# ifdef NBPG +# define getpagesize() NBPG * CLSIZE +# ifndef CLSIZE +# define CLSIZE 1 +# endif /* no CLSIZE */ +# else /* no NBPG */ +# ifdef NBPC +# define getpagesize() NBPC +# else /* no NBPC */ +# ifdef PAGESIZE +# define getpagesize() PAGESIZE +# endif /* PAGESIZE */ +# endif /* no NBPC */ +# endif /* no NBPG */ +# endif /* no EXEC_PAGESIZE */ +# else /* no HAVE_SYS_PARAM_H */ +# define getpagesize() 8192 /* punt totally */ +# endif /* no HAVE_SYS_PARAM_H */ +# endif /* no _SC_PAGESIZE */ + +#endif /* no HAVE_GETPAGESIZE */ + +#ifdef __cplusplus +extern "C" { void *malloc(unsigned); } #else -# ifdef HAVE_SYS_TIME_H -# include -# else -# include -# endif +char *malloc(); #endif -int main() { +int +main() +{ + char *data, *data2, *data3; + int i, pagesize; + int fd; + + pagesize = getpagesize(); + + /* + * First, make a file with some known garbage in it. + */ + data = malloc(pagesize); + if (!data) + exit(1); + for (i = 0; i < pagesize; ++i) + *(data + i) = rand(); + umask(0); + fd = creat("conftestmmap", 0600); + if (fd < 0) + exit(1); + if (write(fd, data, pagesize) != pagesize) + exit(1); + close(fd); + + /* + * Next, try to mmap the file at a fixed address which + * already has something else allocated at it. If we can, + * also make sure that we see the same garbage. + */ + fd = open("conftestmmap", O_RDWR); + if (fd < 0) + exit(1); + data2 = malloc(2 * pagesize); + if (!data2) + exit(1); + data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); + if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + exit(1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + exit(1); + + /* + * Finally, make sure that changes to the mapped area + * do not percolate back to the file as seen by read(). + * (This is a bug on some variants of i386 svr4.0.) + */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = malloc(pagesize); + if (!data3) + exit(1); + if (read(fd, data3, pagesize) != pagesize) + exit(1); + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + exit(1); + close(fd); + unlink("conftestmmap"); + exit(0); +} - struct tm foo; - long bar = foo.tm_gmtoff -; return 0; } EOF -if { (eval echo configure:13506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_tm_gmtoff=yes +if { (eval echo configure:18483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_func_mmap_fixed_mapped=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_tm_gmtoff=no + rm -fr conftest* + ac_cv_func_mmap_fixed_mapped=no fi -rm -f conftest* +rm -fr conftest* fi -echo "$ac_t""$cf_cv_tm_gmtoff" 1>&6 -test $cf_cv_tm_gmtoff = no && cat >> confdefs.h <<\EOF -#define DONT_HAVE_TM_GMTOFF 1 +fi + +echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6 +if test $ac_cv_func_mmap_fixed_mapped = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_MMAP 1 EOF +fi -echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:13526: checking for long file names" >&5 -if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then + echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 +echo "configure:18507: checking whether we are using the GNU C Library 2.1 or newer" >&5 +if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_cv_sys_long_file_names=yes -# Test for long file names in all the places we know might matter: -# . the current directory, where building will happen -# $prefix/lib where we will be installing things -# $exec_prefix/lib likewise -# eval it to expand exec_prefix. -# $TMPDIR if set, where it might want to write temporary files -# if $TMPDIR is not set: -# /tmp where it might want to write temporary files -# /var/tmp likewise -# /usr/tmp likewise -if test -n "$TMPDIR" && test -d "$TMPDIR" && test -w "$TMPDIR"; then - ac_tmpdirs="$TMPDIR" + cat > conftest.$ac_ext < +#ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif +#endif + +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "Lucky GNU user" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_gnu_library_2_1=yes else - ac_tmpdirs='/tmp /var/tmp /usr/tmp' + rm -rf conftest* + ac_cv_gnu_library_2_1=no fi -for ac_dir in . $ac_tmpdirs `eval echo $prefix/lib $exec_prefix/lib` ; do - test -d $ac_dir || continue - test -w $ac_dir || continue # It is less confusing to not echo anything here. - (echo 1 > $ac_dir/conftest9012345) 2>/dev/null - (echo 2 > $ac_dir/conftest9012346) 2>/dev/null - val=`cat $ac_dir/conftest9012345 2>/dev/null` - if test ! -f $ac_dir/conftest9012345 || test "$val" != 1; then - ac_cv_sys_long_file_names=no - rm -f $ac_dir/conftest9012345 $ac_dir/conftest9012346 2>/dev/null - break - fi - rm -f $ac_dir/conftest9012345 $ac_dir/conftest9012346 2>/dev/null -done +rm -f conftest* + + + fi -echo "$ac_t""$ac_cv_sys_long_file_names" 1>&6 -if test $ac_cv_sys_long_file_names = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LONG_FILE_NAMES 1 -EOF +echo "$ac_t""$ac_cv_gnu_library_2_1" 1>&6 + + GLIBC21="$ac_cv_gnu_library_2_1" + + +cf_makefile=Makefile + +test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'` + +# Allow override of "config.h" definition: +: ${CONFIG_H:=config.h} + + +if test -z "$PACKAGE" ; then + { echo "configure: error: CF_BUNDLED_INTL used without setting PACKAGE variable" 1>&2; exit 1; } +fi + +if test -z "$VERSION" ; then +if test -f $srcdir/VERSION ; then + VERSION=`sed -e '2,$d' $srcdir/VERSION|cut -f1` +else + VERSION=unknown +fi fi -for ac_hdr in sys/wait.h + + for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ +stdlib.h string.h unistd.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:13574: checking for $ac_hdr" >&5 +echo "configure:18570: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:18580: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13606,46 +18602,56 @@ else fi done -cf_wait_headers="#include -" -if test $ac_cv_header_sys_wait_h = yes; then -cf_wait_headers="$cf_wait_headers -#include -" -else -for ac_hdr in wait.h + for ac_func in feof_unlocked fgets_unlocked getcwd getegid geteuid \ +getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ +strdup strtoul tsearch __argz_count __argz_stringify __argz_next do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:13621: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:18611: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13631: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +if { (eval echo configure:18639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_$ac_func=yes" else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + + eval "ac_cv_func_$ac_func=no" fi -rm -f conftest* +rm -rf conftest* fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 -echo "configure:13661: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < conftest.$ac_ext < +#include +int main() { +printf("Hello") +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13671: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +if { (eval echo configure:18714: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + cf_have_incdir=yes fi rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:18731: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h < conftest.$ac_ext < +int main() { +printf("Hello") +; return 0; } EOF - +if { (eval echo configure:18780: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : else - echo "$ac_t""no" 1>&6 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + cf_have_incdir=yes fi -done +rm -f conftest* + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi -if test $ac_cv_header_wait_h = yes; then -cf_wait_headers="$cf_wait_headers -#include -" + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 + +echo "${as_me:-configure}:18797: testing adding $cf_add_incdir to include-path ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done fi -if test $ac_cv_header_waitstatus_h = yes; then -cf_wait_headers="$cf_wait_headers -#include -" + + else +{ echo "configure: error: cannot find libiconv under $withval" 1>&2; exit 1; } + fi + if test -d $cf_searchpath/lib; then + +if test -n "$cf_searchpath/lib" ; then + for cf_add_libdir in $cf_searchpath/lib + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:18837: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + elif test -d $cf_searchpath ; then + +if test -n "$cf_searchpath" ; then + for cf_add_libdir in $cf_searchpath + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:18867: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done fi + + else +{ echo "configure: error: cannot find libiconv under $withval" 1>&2; exit 1; } + fi +done + + ;; + esac + + fi + echo $ac_n "checking for iconv""... $ac_c" 1>&6 +echo "configure:18889: checking for iconv" >&5 +if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + + +# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these +# will be set on completion of the AC_TRY_LINK below. +cf_cv_header_path_iconv= +cf_cv_library_path_iconv= + + +echo "${as_me:-configure}:18902: testing Starting FIND_LINKAGE(iconv,) ..." 1>&5 + + +cf_save_LIBS="$LIBS" + +cat > conftest.$ac_ext < +#include + +int main() { + + iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + +; return 0; } +EOF +if { (eval echo configure:18922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + cf_cv_find_linkage_iconv=yes + cf_cv_header_path_iconv=/usr/include + cf_cv_library_path_iconv=/usr/lib -echo $ac_n "checking for union wait""... $ac_c" 1>&6 -echo "configure:13712: checking for union wait" >&5 -if eval "test \"`echo '$''{'cf_cv_type_unionwait'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + - cat > conftest.$ac_ext < conftest.$ac_ext < +#include + int main() { -int x; - int y = WEXITSTATUS(x); - int z = WTERMSIG(x); - wait(&x); - + + iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; return 0; } EOF -if { (eval echo configure:13729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_type_unionwait=no - echo compiles ok w/o union wait 1>&5 - +if { (eval echo configure:18952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + cf_cv_find_linkage_iconv=yes + cf_cv_header_path_iconv=/usr/include + cf_cv_library_path_iconv=/usr/lib + cf_cv_library_file_iconv="-liconv" + else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + - cat > conftest.$ac_ext <&6 + +echo "${as_me:-configure}:18970: testing find linkage for iconv library ..." 1>&5 + + + +echo "${as_me:-configure}:18974: testing Searching for headers in FIND_LINKAGE(iconv,) ..." 1>&5 + + + cf_save_CPPFLAGS="$CPPFLAGS" + cf_test_CPPFLAGS="$CPPFLAGS" + + +cf_search= + +# collect the current set of include-directories from compiler flags +cf_header_path_list="" +if test -n "${CFLAGS}${CPPFLAGS}" ; then + for cf_header_path in $CPPFLAGS $CFLAGS + do + case $cf_header_path in #(vi + -I*) + cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` + +test "$cf_header_path" != "NONE" && \ +test -d "$cf_header_path" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" + test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include" + test -d $cf_header_path/include/iconv && cf_search="$cf_search $cf_header_path/include/iconv" + test -d $cf_header_path/include/iconv/include && cf_search="$cf_search $cf_header_path/include/iconv/include" + test -d $cf_header_path/iconv/include && cf_search="$cf_search $cf_header_path/iconv/include" + test -d $cf_header_path/iconv/include/iconv && cf_search="$cf_search $cf_header_path/iconv/include/iconv" +} + + cf_header_path_list="$cf_header_path_list $cf_search" + ;; + esac + done +fi + +# add the variations for the package we are looking for + +cf_search= + + +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr" + test -d /usr/include && cf_search="$cf_search /usr/include" + test -d /usr/include/iconv && cf_search="$cf_search /usr/include/iconv" + test -d /usr/include/iconv/include && cf_search="$cf_search /usr/include/iconv/include" + test -d /usr/iconv/include && cf_search="$cf_search /usr/iconv/include" + test -d /usr/iconv/include/iconv && cf_search="$cf_search /usr/iconv/include/iconv" +} + + +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $prefix" + test -d $prefix/include && cf_search="$cf_search $prefix/include" + test -d $prefix/include/iconv && cf_search="$cf_search $prefix/include/iconv" + test -d $prefix/include/iconv/include && cf_search="$cf_search $prefix/include/iconv/include" + test -d $prefix/iconv/include && cf_search="$cf_search $prefix/iconv/include" + test -d $prefix/iconv/include/iconv && cf_search="$cf_search $prefix/iconv/include/iconv" +} + + +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr/local" + test -d /usr/local/include && cf_search="$cf_search /usr/local/include" + test -d /usr/local/include/iconv && cf_search="$cf_search /usr/local/include/iconv" + test -d /usr/local/include/iconv/include && cf_search="$cf_search /usr/local/include/iconv/include" + test -d /usr/local/iconv/include && cf_search="$cf_search /usr/local/iconv/include" + test -d /usr/local/iconv/include/iconv && cf_search="$cf_search /usr/local/iconv/include/iconv" +} + + +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /opt" + test -d /opt/include && cf_search="$cf_search /opt/include" + test -d /opt/include/iconv && cf_search="$cf_search /opt/include/iconv" + test -d /opt/include/iconv/include && cf_search="$cf_search /opt/include/iconv/include" + test -d /opt/iconv/include && cf_search="$cf_search /opt/iconv/include" + test -d /opt/iconv/include/iconv && cf_search="$cf_search /opt/iconv/include/iconv" +} + + +test "$HOME" != "$prefix" && \ +test -d "$HOME" && \ +(test $prefix = NONE || test "$HOME" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under $HOME" + test -d $HOME/include && cf_search="$cf_search $HOME/include" + test -d $HOME/include/iconv && cf_search="$cf_search $HOME/include/iconv" + test -d $HOME/include/iconv/include && cf_search="$cf_search $HOME/include/iconv/include" + test -d $HOME/iconv/include && cf_search="$cf_search $HOME/iconv/include" + test -d $HOME/iconv/include/iconv && cf_search="$cf_search $HOME/iconv/include/iconv" +} + + + +test "$includedir" != NONE && \ +test "$includedir" != "/usr/include" && \ +test -d "$includedir" && { + test -d $includedir && cf_search="$cf_search $includedir" + test -d $includedir/iconv && cf_search="$cf_search $includedir/iconv" +} + +test "$oldincludedir" != NONE && \ +test "$oldincludedir" != "/usr/include" && \ +test -d "$oldincludedir" && { + test -d $oldincludedir && cf_search="$cf_search $oldincludedir" + test -d $oldincludedir/iconv && cf_search="$cf_search $oldincludedir/iconv" +} + +cf_search="$cf_search $cf_header_path_list" + + for cf_cv_header_path_iconv in $cf_search + do + if test -d $cf_cv_header_path_iconv ; then + test -n "$verbose" && echo " ... testing $cf_cv_header_path_iconv" 1>&6 + +echo "${as_me:-configure}:19096: testing ... testing $cf_cv_header_path_iconv ..." 1>&5 + + + CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_iconv" + cat > conftest.$ac_ext < +#include + int main() { -union wait x; -#ifdef WEXITSTATUS - int y = WEXITSTATUS(x); -#endif -#ifdef WTERMSIG - int z = WTERMSIG(x); -#endif - wait(&x); - + + iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; return 0; } EOF -if { (eval echo configure:13755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:19115: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_type_unionwait=yes - echo compiles ok with union wait and possibly macros too 1>&5 - + + test -n "$verbose" && echo " ... found iconv headers in $cf_cv_header_path_iconv" 1>&6 + +echo "${as_me:-configure}:19120: testing ... found iconv headers in $cf_cv_header_path_iconv ..." 1>&5 + + + cf_cv_find_linkage_iconv=maybe + cf_test_CPPFLAGS="$CPPFLAGS" + break else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_type_unionwait=no -fi -rm -f conftest* + + CPPFLAGS="$cf_save_CPPFLAGS" + fi rm -f conftest* + fi + done + + if test "$cf_cv_find_linkage_iconv" = maybe ; then + + +echo "${as_me:-configure}:19141: testing Searching for iconv library in FIND_LINKAGE(iconv,) ..." 1>&5 + + + cf_save_LIBS="$LIBS" + cf_save_LDFLAGS="$LDFLAGS" + + + + if test "$cf_cv_find_linkage_iconv" != yes ; then + +cf_search= +cf_library_path_list="" +if test -n "${LDFLAGS}${LIBS}" ; then + for cf_library_path in $LDFLAGS $LIBS + do + case $cf_library_path in #(vi + -L*) + cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` + +test "$cf_library_path" != "NONE" && \ +test -d "$cf_library_path" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" + test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib" + test -d $cf_library_path/lib/iconv && cf_search="$cf_search $cf_library_path/lib/iconv" + test -d $cf_library_path/lib/iconv/lib && cf_search="$cf_search $cf_library_path/lib/iconv/lib" + test -d $cf_library_path/iconv/lib && cf_search="$cf_search $cf_library_path/iconv/lib" + test -d $cf_library_path/iconv/lib/iconv && cf_search="$cf_search $cf_library_path/iconv/lib/iconv" +} + + cf_library_path_list="$cf_library_path_list $cf_search" + ;; + esac + done fi -echo "$ac_t""$cf_cv_type_unionwait" 1>&6 -test $cf_cv_type_unionwait = yes && cat >> confdefs.h <<\EOF -#define HAVE_TYPE_UNIONWAIT 1 -EOF +cf_search= +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr" + test -d /usr/lib && cf_search="$cf_search /usr/lib" + test -d /usr/lib/iconv && cf_search="$cf_search /usr/lib/iconv" + test -d /usr/lib/iconv/lib && cf_search="$cf_search /usr/lib/iconv/lib" + test -d /usr/iconv/lib && cf_search="$cf_search /usr/iconv/lib" + test -d /usr/iconv/lib/iconv && cf_search="$cf_search /usr/iconv/lib/iconv" +} -echo $ac_n "checking if the system function returns usable child-status""... $ac_c" 1>&6 -echo "configure:13780: checking if the system function returns usable child-status" >&5 -if eval "test \"`echo '$''{'cf_cv_system_status'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - if test "$cross_compiling" = yes; then - cf_cv_system_status=unknown -else - cat > conftest.$ac_ext < -#include -#if HAVE_SYS_WAIT_H -#include -#endif +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $prefix" + test -d $prefix/lib && cf_search="$cf_search $prefix/lib" + test -d $prefix/lib/iconv && cf_search="$cf_search $prefix/lib/iconv" + test -d $prefix/lib/iconv/lib && cf_search="$cf_search $prefix/lib/iconv/lib" + test -d $prefix/iconv/lib && cf_search="$cf_search $prefix/iconv/lib" + test -d $prefix/iconv/lib/iconv && cf_search="$cf_search $prefix/iconv/lib/iconv" +} -RETSIGTYPE signal_handler (int sig) -{ -#if HAVE_TYPE_UNIONWAIT - union wait wait_status; -#else - int wait_status = 1; -#endif - int system_status; - wait (&wait_status); - system_status = WEXITSTATUS(wait_status); /* should be nonzero */ - exit(system_status != 23); + +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr/local" + test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" + test -d /usr/local/lib/iconv && cf_search="$cf_search /usr/local/lib/iconv" + test -d /usr/local/lib/iconv/lib && cf_search="$cf_search /usr/local/lib/iconv/lib" + test -d /usr/local/iconv/lib && cf_search="$cf_search /usr/local/iconv/lib" + test -d /usr/local/iconv/lib/iconv && cf_search="$cf_search /usr/local/iconv/lib/iconv" } -int main() -{ - /* this looks weird, but apparently the SIGCHLD gets there first on - * machines where 'system()' doesn't return a usable code, so ... - */ - signal (SIGCHLD, signal_handler); - system("exit 23"); - exit(1); + +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /opt" + test -d /opt/lib && cf_search="$cf_search /opt/lib" + test -d /opt/lib/iconv && cf_search="$cf_search /opt/lib/iconv" + test -d /opt/lib/iconv/lib && cf_search="$cf_search /opt/lib/iconv/lib" + test -d /opt/iconv/lib && cf_search="$cf_search /opt/iconv/lib" + test -d /opt/iconv/lib/iconv && cf_search="$cf_search /opt/iconv/lib/iconv" } -EOF -if { (eval echo configure:13822: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cf_cv_system_status=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - if test "$cross_compiling" = yes; then - cf_cv_system_status=unknown -else - cat > conftest.$ac_ext <&6 + +echo "${as_me:-configure}:19249: testing ... testing $cf_cv_library_path_iconv ..." 1>&5 + + + CPPFLAGS="$cf_test_CPPFLAGS" + LIBS="-liconv $cf_save_LIBS" + LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_iconv" + cat > conftest.$ac_ext < +#include + +int main() { + + iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + +; return 0; } EOF -if { (eval echo configure:13837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cf_cv_system_status=yes +if { (eval echo configure:19270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + test -n "$verbose" && echo " ... found iconv library in $cf_cv_library_path_iconv" 1>&6 + +echo "${as_me:-configure}:19275: testing ... found iconv library in $cf_cv_library_path_iconv ..." 1>&5 + + + cf_cv_find_linkage_iconv=yes + cf_cv_library_file_iconv="-liconv" + break else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -fr conftest* - cf_cv_system_status=unknown -fi -rm -fr conftest* -fi + + CPPFLAGS="$cf_save_CPPFLAGS" + LIBS="$cf_save_LIBS" + LDFLAGS="$cf_save_LDFLAGS" + fi -rm -fr conftest* -fi +rm -rf conftest* + fi + done + CPPFLAGS="$cf_save_CPPFLAGS" + LDFLAGS="$cf_save_LDFLAGS" + fi + else + cf_cv_find_linkage_iconv=no + fi + +fi +rm -rf conftest* fi +rm -rf conftest* -echo "$ac_t""$cf_cv_system_status" 1>&6 -test $cf_cv_system_status = no && cat >> confdefs.h <<\EOF -#define USE_SYSTEM_STATUS 1 -EOF +LIBS="$cf_save_LIBS" +if test "$cf_cv_find_linkage_iconv" = yes ; then +am_cv_func_iconv=yes +else +am_cv_func_iconv="no, consider installing GNU libiconv" +fi +fi -# Check if we are trying to use curses+color, but cannot -if test $use_color = yes ; then - if test $use_curses = no ; then - cat >> confdefs.h <<\EOF -#define HAVE_COLOR 1 -EOF +echo "$ac_t""$am_cv_func_iconv" 1>&6 - elif test $cf_with_screen = pdcurses ; then - cat >> confdefs.h <<\EOF -#define HAVE_COLOR 1 + if test "$am_cv_func_iconv" = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_ICONV 1 EOF - else - -if test "$cf_cv_ncurses_version" != no ; then -echo $ac_n "checking for obsolete/broken version of ncurses""... $ac_c" 1>&6 -echo "configure:13880: checking for obsolete/broken version of ncurses" >&5 -if eval "test \"`echo '$''{'cf_cv_ncurses_broken'+set}'`\" = set"; then + echo $ac_n "checking if the declaration of iconv() needs const.""... $ac_c" 1>&6 +echo "configure:19327: checking if the declaration of iconv() needs const." >&5 +if eval "test \"`echo '$''{'am_cv_proto_iconv_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else -cat > conftest.$ac_ext < conftest.$ac_ext < -int main() { - -#if defined(NCURSES_VERSION) && defined(wgetbkgd) - make an error +#include +#include + +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else - int x = 1 +size_t iconv(); #endif +int main() { + ; return 0; } EOF -if { (eval echo configure:13900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:19353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - cf_cv_ncurses_broken=no + am_cv_proto_iconv_const=no else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_ncurses_broken=yes + am_cv_proto_iconv_const=yes fi rm -f conftest* - fi -echo "$ac_t""$cf_cv_ncurses_broken" 1>&6 -if test "$cf_cv_ncurses_broken" = yes ; then - echo "configure: warning: hmm... you should get an up-to-date version of ncurses" 1>&2 - cat >> confdefs.h <<\EOF -#define NCURSES_BROKEN 1 -EOF +echo "$ac_t""$am_cv_proto_iconv_const" 1>&6 -fi -fi + if test "$am_cv_proto_iconv_const" = yes ; then + am_cv_proto_iconv_arg1="const" + else + am_cv_proto_iconv_arg1="" + fi - -echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6 -echo "configure:13925: checking if curses supports color attributes" >&5 -if eval "test \"`echo '$''{'cf_cv_color_curses'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cat > conftest.$ac_ext <> confdefs.h < + LIBICONV= + if test "$cf_cv_find_linkage_iconv" = yes; then + +if test -n "$cf_cv_header_path_iconv" ; then + for cf_add_incdir in $cf_cv_header_path_iconv + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < int main() { -chtype x = COLOR_BLUE; - has_colors(); - start_color(); -#ifndef NCURSES_BROKEN - wbkgd(curscr, getbkgd(stdscr)); /* X/Open XPG4 aka SVr4 Curses */ -#endif - +printf("Hello") ; return 0; } EOF -if { (eval echo configure:13946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - cf_cv_color_curses=yes +if { (eval echo configure:19413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - cf_cv_color_curses=no + cf_have_incdir=yes fi rm -f conftest* - -fi + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi -echo "$ac_t""$cf_cv_color_curses" 1>&6 -if test $cf_cv_color_curses = yes ; then - cat >> confdefs.h <<\EOF -#define COLOR_CURSES 1 -EOF + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 - test ".$cf_cv_ncurses_broken" != .yes && cat >> confdefs.h <<\EOF -#define HAVE_GETBKGD 1 -EOF +echo "${as_me:-configure}:19430: testing adding $cf_add_incdir to include-path ..." 1>&5 -fi - if test $cf_cv_color_curses = yes ; then - cat >> confdefs.h <<\EOF -#define HAVE_COLOR 1 -EOF + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" else - echo "configure: warning: This curses library does not support color" 1>&2 + break fi - fi + fi + done + done fi -# GCC and Apollo compilers are quite noisy about signal constants (quiet them). -if test -n "$GCC"; then - check_sig_const=yes -elif test -f /sys/dm/dm ; then - check_sig_const=yes -elif test -f /sys/dm/spm ; then - check_sig_const=yes -else - check_sig_const=no + if test -n "$cf_cv_library_file_iconv" ; then + LIBICONV="-liconv" + +if test -n "$cf_cv_library_path_iconv" ; then + for cf_add_libdir in $cf_cv_library_path_iconv + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6 + +echo "${as_me:-configure}:19468: testing adding $cf_add_libdir to library-path ..." 1>&5 + + + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done fi -if test $check_sig_const = yes ; then - + fi + fi -echo $ac_n "checking for redefinable signal constants""... $ac_c" 1>&6 -echo "configure:13997: checking for redefinable signal constants" >&5 -if eval "test \"`echo '$''{'cf_cv_sig_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else -cf_cv_sig_const=no -if test -n "$cf_cv_sig_args"; then - cf_test=`echo $cf_cv_sig_args|sed -e s/sig//` - if test "$cross_compiling" = yes; then - cf_cv_sig_const=unknown + + + echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 +echo "configure:19484: checking for nl_langinfo and CODESET" >&5 +if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < +int main() { +char* cs = nl_langinfo(CODESET); +; return 0; } +EOF +if { (eval echo configure:19496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + am_cv_langinfo_codeset=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -#define NEW_DFL ((RETSIGTYPE (*)($cf_test))0) -#define NEW_IGN ((RETSIGTYPE (*)($cf_test))1) -#define NEW_ERR ((RETSIGTYPE (*)($cf_test))-1) + am_cv_langinfo_codeset=no +fi +rm -rf conftest* + +fi -#include +echo "$ac_t""$am_cv_langinfo_codeset" 1>&6 + if test $am_cv_langinfo_codeset = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_LANGINFO_CODESET 1 +EOF -int main() -{ - if (NEW_DFL != SIG_DFL - || NEW_IGN != SIG_IGN - || NEW_ERR != SIG_ERR - /* at least one system won't let me redefine these! */ -#undef SIG_DFL -#undef SIG_IGN -#undef SIG_ERR -#define SIG_DFL NEW_DFL -#define SIG_IGN NEW_IGN -#define SIG_ERR NEW_ERR - || NEW_DFL != SIG_DFL) - exit(1); - signal(SIGINT, SIG_DFL); - exit(0); -} + fi + + if test $ac_cv_header_locale_h = yes; then + echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 +echo "configure:19519: checking for LC_MESSAGES" >&5 +if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +int main() { +return LC_MESSAGES +; return 0; } EOF -if { (eval echo configure:14036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cf_cv_sig_const=yes +if { (eval echo configure:19531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + am_cv_val_LC_MESSAGES=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -fr conftest* - cf_cv_sig_const=no + + am_cv_val_LC_MESSAGES=no fi -rm -fr conftest* +rm -rf conftest* fi -fi +echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6 + if test $am_cv_val_LC_MESSAGES = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_LC_MESSAGES 1 +EOF + fi + fi + echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 +echo "configure:19552: checking whether NLS is requested" >&5 + + +# Check whether --enable-nls or --disable-nls was given. +if test "${enable_nls+set}" = set; then + enableval="$enable_nls" + USE_NLS=$enableval +else + USE_NLS=yes fi -echo "$ac_t""$cf_cv_sig_const" 1>&6 -test "$cf_cv_sig_const" = yes && cat >> confdefs.h <<\EOF -#define DECL_SIG_CONST 1 -EOF + echo "$ac_t""$USE_NLS" 1>&6 + + + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + INTLLIBS= + if test "$USE_NLS" = "yes"; then + cat >> confdefs.h <<\EOF +#define ENABLE_NLS 1 +EOF + echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 +echo "configure:19576: checking whether included gettext is requested" >&5 + +# Check whether --with-included-gettext or --without-included-gettext was given. +if test "${with_included_gettext+set}" = set; then + withval="$with_included_gettext" + nls_cv_force_use_gnu_gettext=$withval +else + nls_cv_force_use_gnu_gettext=no fi + echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6 + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + CATOBJEXT=NONE + + cf_save_LIBS_1="$LIBS" + LIBS="$LIBICONV $LIBS" + echo $ac_n "checking for libintl.h and gettext()""... $ac_c" 1>&6 +echo "configure:19595: checking for libintl.h and gettext()" >&5 +if eval "test \"`echo '$''{'cf_cv_func_gettext'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + + +# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these +# will be set on completion of the AC_TRY_LINK below. +cf_cv_header_path_intl= +cf_cv_library_path_intl= + + +echo "${as_me:-configure}:19608: testing Starting FIND_LINKAGE(intl,) ..." 1>&5 + + +cf_save_LIBS="$LIBS" + +cat > conftest.$ac_ext < +extern int _nl_msg_cat_cntr; + +int main() { + + bindtextdomain ("", ""); + return (int) gettext ("") + + + _nl_msg_cat_cntr + +; return 0; } +EOF +if { (eval echo configure:19629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + cf_cv_find_linkage_intl=yes + cf_cv_header_path_intl=/usr/include + cf_cv_library_path_intl=/usr/lib -echo $ac_n "checking for ANSI qsort""... $ac_c" 1>&6 -echo "configure:14062: checking for ANSI qsort" >&5 -if eval "test \"`echo '$''{'cf_cv_comptype'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + - cat > conftest.$ac_ext < conftest.$ac_ext < -#endif +#include +extern int _nl_msg_cat_cntr; + int main() { -extern int compare(const void *, const void *); - char *foo = "string"; - qsort(foo, sizeof(foo)/sizeof(*foo), sizeof(*foo), compare) + + bindtextdomain ("", ""); + return (int) gettext ("") + + + _nl_msg_cat_cntr + ; return 0; } EOF -if { (eval echo configure:14080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - cf_cv_comptype=yes +if { (eval echo configure:19660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + cf_cv_find_linkage_intl=yes + cf_cv_header_path_intl=/usr/include + cf_cv_library_path_intl=/usr/lib + cf_cv_library_file_intl="-lintl" + else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_cv_comptype=no -fi -rm -f conftest* -fi + + cf_cv_find_linkage_intl=no + LIBS="$cf_save_LIBS" -echo "$ac_t""$cf_cv_comptype" 1>&6 -if test $cf_cv_comptype = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_COMPTYPE_VOID 1 -EOF + test -n "$verbose" && echo " find linkage for intl library" 1>&6 -else - cat >> confdefs.h <<\EOF -#define HAVE_COMPTYPE_CHAR 1 -EOF +echo "${as_me:-configure}:19678: testing find linkage for intl library ..." 1>&5 -fi + +echo "${as_me:-configure}:19682: testing Searching for headers in FIND_LINKAGE(intl,) ..." 1>&5 -echo $ac_n "checking if application can dump core""... $ac_c" 1>&6 -echo "configure:14108: checking if application can dump core" >&5 -if eval "test \"`echo '$''{'cf_cv_corefile'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - if test "$cross_compiling" = yes; then - cf_cv_corefile=unknown -else - cat > conftest.$ac_ext < -#include -#include -int found() -{ - struct stat sb; - return ((stat("core", &sb) == 0 /* UNIX */ - || stat("conftest.core", &sb) == 0 /* FreeBSD */ - ) - && ((sb.st_mode & S_IFMT) == S_IFREG)); -} -int main() -{ -#ifdef __amiga__ -/* Nicholas d'Alterio (nagd@ic.ac.uk) reports that the check for ability to - * core dump causes the machine to crash - reason unknown (gcc 2.7.2) - */ - exit(1); -#else - int pid, status; - if (found()) - unlink("core"); - if (found()) - exit(1); - if ((pid = fork()) != 0) { - while (wait(&status) <= 0) - ; - } else { - abort(); /* this will dump core, if anything will */ - } - if (found()) { - unlink("core"); - exit(0); - } - exit(1); -#endif + cf_save_CPPFLAGS="$CPPFLAGS" + cf_test_CPPFLAGS="$CPPFLAGS" + + +cf_search= + +# collect the current set of include-directories from compiler flags +cf_header_path_list="" +if test -n "${CFLAGS}${CPPFLAGS}" ; then + for cf_header_path in $CPPFLAGS $CFLAGS + do + case $cf_header_path in #(vi + -I*) + cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` + +test "$cf_header_path" != "NONE" && \ +test -d "$cf_header_path" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $cf_header_path" + test -d $cf_header_path/include && cf_search="$cf_search $cf_header_path/include" + test -d $cf_header_path/include/intl && cf_search="$cf_search $cf_header_path/include/intl" + test -d $cf_header_path/include/intl/include && cf_search="$cf_search $cf_header_path/include/intl/include" + test -d $cf_header_path/intl/include && cf_search="$cf_search $cf_header_path/intl/include" + test -d $cf_header_path/intl/include/intl && cf_search="$cf_search $cf_header_path/intl/include/intl" } -EOF -if { (eval echo configure:14158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cf_cv_corefile=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - cf_cv_corefile=no -fi -rm -fr conftest* -fi + cf_header_path_list="$cf_header_path_list $cf_search" + ;; + esac + done fi -echo "$ac_t""$cf_cv_corefile" 1>&6 -test $cf_cv_corefile = yes && cat >> confdefs.h <<\EOF -#define HAVE_COREFILE 1 -EOF +# add the variations for the package we are looking for +cf_search= -### test this last, since it uses a partly-built autoconf.h -# Setup includes for test-program to verify declarations -CHECK_DECL_FLAG="-I$srcdir/include -I$srcdir/pcre" -CHECK_DECL_HDRS=' -#define M_UNIX -#define __CPROTO__ -#define HAVE_CONFDEFS_H -#include ' -TIN_DECL_HDRS="$CHECK_DECL_HDRS" +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr" + test -d /usr/include && cf_search="$cf_search /usr/include" + test -d /usr/include/intl && cf_search="$cf_search /usr/include/intl" + test -d /usr/include/intl/include && cf_search="$cf_search /usr/include/intl/include" + test -d /usr/intl/include && cf_search="$cf_search /usr/intl/include" + test -d /usr/intl/include/intl && cf_search="$cf_search /usr/intl/include/intl" +} -for ac_func in \ - errno \ - getenv \ - getlogin \ - getpwnam \ - popen \ - strchr \ - strcasestr \ - strsep \ -do +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for include-directories under $prefix" + test -d $prefix/include && cf_search="$cf_search $prefix/include" + test -d $prefix/include/intl && cf_search="$cf_search $prefix/include/intl" + test -d $prefix/include/intl/include && cf_search="$cf_search $prefix/include/intl/include" + test -d $prefix/intl/include && cf_search="$cf_search $prefix/intl/include" + test -d $prefix/intl/include/intl && cf_search="$cf_search $prefix/intl/include/intl" +} -ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /usr/local" + test -d /usr/local/include && cf_search="$cf_search /usr/local/include" + test -d /usr/local/include/intl && cf_search="$cf_search /usr/local/include/intl" + test -d /usr/local/include/intl/include && cf_search="$cf_search /usr/local/include/intl/include" + test -d /usr/local/intl/include && cf_search="$cf_search /usr/local/intl/include" + test -d /usr/local/intl/include/intl && cf_search="$cf_search /usr/local/intl/include/intl" +} -echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 -echo "configure:14205: checking for missing "${ac_func}" extern" >&5 -if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - -echo "(line 14211) testing for missing "${ac_func}" external ..." 1>&5 +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for include-directories under /opt" + test -d /opt/include && cf_search="$cf_search /opt/include" + test -d /opt/include/intl && cf_search="$cf_search /opt/include/intl" + test -d /opt/include/intl/include && cf_search="$cf_search /opt/include/intl/include" + test -d /opt/intl/include && cf_search="$cf_search /opt/intl/include" + test -d /opt/intl/include/intl && cf_search="$cf_search /opt/intl/include/intl" +} -cf_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $CHECK_DECL_FLAG" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - if test -n "$CHECK_DECL_HDRS" ; then -# try to work around system headers which are infested with non-standard syntax +test "$oldincludedir" != NONE && \ +test "$oldincludedir" != "/usr/include" && \ +test -d "$oldincludedir" && { + test -d $oldincludedir && cf_search="$cf_search $oldincludedir" + test -d $oldincludedir/intl && cf_search="$cf_search $oldincludedir/intl" +} -cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +cf_search="$cf_search $cf_header_path_list" -cat > conftest.$ac_ext <&6 + +echo "${as_me:-configure}:19804: testing ... testing $cf_cv_header_path_intl ..." 1>&5 + + + CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_intl" + cat > conftest.$ac_ext < +extern int _nl_msg_cat_cntr; int main() { -long x = 0 + + bindtextdomain ("", ""); + return (int) gettext ("") + + + _nl_msg_cat_cntr + ; return 0; } EOF -if { (eval echo configure:14248: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=yes' -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 +if { (eval echo configure:19824: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' -fi -rm -f conftest* -else -eval 'cf_cv_func_'${ac_func}'=yes' -fi + + test -n "$verbose" && echo " ... found intl headers in $cf_cv_header_path_intl" 1>&6 + +echo "${as_me:-configure}:19829: testing ... found intl headers in $cf_cv_header_path_intl ..." 1>&5 + + cf_cv_find_linkage_intl=maybe + cf_test_CPPFLAGS="$CPPFLAGS" + break else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' + + CPPFLAGS="$cf_save_CPPFLAGS" + fi rm -f conftest* -CFLAGS="$cf_save_CFLAGS" + fi + done + + if test "$cf_cv_find_linkage_intl" = maybe ; then + + +echo "${as_me:-configure}:19850: testing Searching for intl library in FIND_LINKAGE(intl,) ..." 1>&5 + + + cf_save_LIBS="$LIBS" + cf_save_LDFLAGS="$LDFLAGS" + + + + if test "$cf_cv_find_linkage_intl" != yes ; then + +cf_search= +cf_library_path_list="" +if test -n "${LDFLAGS}${LIBS}" ; then + for cf_library_path in $LDFLAGS $LIBS + do + case $cf_library_path in #(vi + -L*) + cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` + +test "$cf_library_path" != "NONE" && \ +test -d "$cf_library_path" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $cf_library_path" + test -d $cf_library_path/lib && cf_search="$cf_search $cf_library_path/lib" + test -d $cf_library_path/lib/intl && cf_search="$cf_search $cf_library_path/lib/intl" + test -d $cf_library_path/lib/intl/lib && cf_search="$cf_search $cf_library_path/lib/intl/lib" + test -d $cf_library_path/intl/lib && cf_search="$cf_search $cf_library_path/intl/lib" + test -d $cf_library_path/intl/lib/intl && cf_search="$cf_search $cf_library_path/intl/lib/intl" +} + cf_library_path_list="$cf_library_path_list $cf_search" + ;; + esac + done fi -eval 'cf_result=$cf_cv_func_'${ac_func} -echo "$ac_t""$cf_result" 1>&6 -test $cf_result = yes && cat >> confdefs.h <" -for ac_func in \ - gethostbyname \ - getservbyname \ - inet_aton \ - inet_ntoa \ - socket \ +test "/usr" != "$prefix" && \ +test -d "/usr" && \ +(test $prefix = NONE || test "/usr" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr" + test -d /usr/lib && cf_search="$cf_search /usr/lib" + test -d /usr/lib/intl && cf_search="$cf_search /usr/lib/intl" + test -d /usr/lib/intl/lib && cf_search="$cf_search /usr/lib/intl/lib" + test -d /usr/intl/lib && cf_search="$cf_search /usr/intl/lib" + test -d /usr/intl/lib/intl && cf_search="$cf_search /usr/intl/lib/intl" +} + + +test "$prefix" != "NONE" && \ +test -d "$prefix" && \ + { + test -n "$verbose" && echo " ... testing for lib-directories under $prefix" + test -d $prefix/lib && cf_search="$cf_search $prefix/lib" + test -d $prefix/lib/intl && cf_search="$cf_search $prefix/lib/intl" + test -d $prefix/lib/intl/lib && cf_search="$cf_search $prefix/lib/intl/lib" + test -d $prefix/intl/lib && cf_search="$cf_search $prefix/intl/lib" + test -d $prefix/intl/lib/intl && cf_search="$cf_search $prefix/intl/lib/intl" +} + + +test "/usr/local" != "$prefix" && \ +test -d "/usr/local" && \ +(test $prefix = NONE || test "/usr/local" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /usr/local" + test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib" + test -d /usr/local/lib/intl && cf_search="$cf_search /usr/local/lib/intl" + test -d /usr/local/lib/intl/lib && cf_search="$cf_search /usr/local/lib/intl/lib" + test -d /usr/local/intl/lib && cf_search="$cf_search /usr/local/intl/lib" + test -d /usr/local/intl/lib/intl && cf_search="$cf_search /usr/local/intl/lib/intl" +} + + +test "/opt" != "$prefix" && \ +test -d "/opt" && \ +(test $prefix = NONE || test "/opt" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under /opt" + test -d /opt/lib && cf_search="$cf_search /opt/lib" + test -d /opt/lib/intl && cf_search="$cf_search /opt/lib/intl" + test -d /opt/lib/intl/lib && cf_search="$cf_search /opt/lib/intl/lib" + test -d /opt/intl/lib && cf_search="$cf_search /opt/intl/lib" + test -d /opt/intl/lib/intl && cf_search="$cf_search /opt/intl/lib/intl" +} + + +test "$HOME" != "$prefix" && \ +test -d "$HOME" && \ +(test $prefix = NONE || test "$HOME" != "$prefix") && { + test -n "$verbose" && echo " ... testing for lib-directories under $HOME" + test -d $HOME/lib && cf_search="$cf_search $HOME/lib" + test -d $HOME/lib/intl && cf_search="$cf_search $HOME/lib/intl" + test -d $HOME/lib/intl/lib && cf_search="$cf_search $HOME/lib/intl/lib" + test -d $HOME/intl/lib && cf_search="$cf_search $HOME/intl/lib" + test -d $HOME/intl/lib/intl && cf_search="$cf_search $HOME/intl/lib/intl" +} + + + +cf_search="$cf_library_path_list $cf_search" + + for cf_cv_library_path_intl in $cf_search + do + if test -d $cf_cv_library_path_intl ; then + test -n "$verbose" && echo " ... testing $cf_cv_library_path_intl" 1>&6 + +echo "${as_me:-configure}:19958: testing ... testing $cf_cv_library_path_intl ..." 1>&5 + + + CPPFLAGS="$cf_test_CPPFLAGS" + LIBS="-lintl $cf_save_LIBS" + LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_intl" + cat > conftest.$ac_ext < +extern int _nl_msg_cat_cntr; + +int main() { + + bindtextdomain ("", ""); + return (int) gettext ("") + + + _nl_msg_cat_cntr -do +; return 0; } +EOF +if { (eval echo configure:19980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + + test -n "$verbose" && echo " ... found intl library in $cf_cv_library_path_intl" 1>&6 -ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +echo "${as_me:-configure}:19985: testing ... found intl library in $cf_cv_library_path_intl ..." 1>&5 -echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 -echo "configure:14297: checking for missing "${ac_func}" extern" >&5 -if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + cf_cv_find_linkage_intl=yes + cf_cv_library_file_intl="-lintl" + break else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + CPPFLAGS="$cf_save_CPPFLAGS" + LIBS="$cf_save_LIBS" + LDFLAGS="$cf_save_LDFLAGS" + +fi +rm -rf conftest* + fi + done + CPPFLAGS="$cf_save_CPPFLAGS" + LDFLAGS="$cf_save_LDFLAGS" + fi -echo "(line 14303) testing for missing "${ac_func}" external ..." 1>&5 + else + cf_cv_find_linkage_intl=no + fi + +fi +rm -rf conftest* -cf_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $CHECK_DECL_FLAG" -cat > conftest.$ac_ext <&6 + LIBS="$cf_save_LIBS_1" -; return 0; } + if test "$cf_cv_func_gettext" = yes ; then + cat >> confdefs.h <<\EOF +#define HAVE_LIBINTL_H 1 EOF -if { (eval echo configure:14322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - if test -n "$CHECK_DECL_HDRS" ; then -# try to work around system headers which are infested with non-standard syntax -cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -cat > conftest.$ac_ext <> confdefs.h <<\EOF +#define HAVE_GETTEXT 1 +EOF -#define DECL_${cf_1_up} -$CHECK_DECL_HDRS + +if test -n "$cf_cv_header_path_intl" ; then + for cf_add_incdir in $cf_cv_header_path_intl + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat > conftest.$ac_ext < int main() { -long x = 0 +printf("Hello") ; return 0; } EOF -if { (eval echo configure:14340: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=yes' +if { (eval echo configure:20076: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' + cf_have_incdir=yes fi rm -f conftest* -else -eval 'cf_cv_func_'${ac_func}'=yes' -fi + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' -fi -rm -f conftest* -CFLAGS="$cf_save_CFLAGS" + if test "$cf_have_incdir" = no ; then + test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6 -fi +echo "${as_me:-configure}:20093: testing adding $cf_add_incdir to include-path ..." 1>&5 -eval 'cf_result=$cf_cv_func_'${ac_func} -echo "$ac_t""$cf_result" 1>&6 -test $cf_result = yes && cat >> confdefs.h <&6 -ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +echo "${as_me:-configure}:20132: testing adding $cf_add_libdir to library-path ..." 1>&5 -echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 -echo "configure:14387: checking for missing "${ac_func}" extern" >&5 -if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then + INTLLIBS="-L$cf_add_libdir $INTLLIBS" + fi + fi + done +fi + + fi + + gt_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + for ac_func in dcgettext +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:20148: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:20176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 -echo "(line 14393) testing for missing "${ac_func}" external ..." 1>&5 + eval "ac_cv_func_$ac_func=no" +fi +rm -rf conftest* +fi -cf_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $CHECK_DECL_FLAG" -cat > conftest.$ac_ext <&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <&6 +fi +done -$CHECK_DECL_HDRS + LIBS="$gt_save_LIBS" -#undef ${ac_func} -struct zowie { int a; double b; struct zowie *c; char d; }; -extern struct zowie *${ac_func}(); + # Extract the first word of "msgfmt", so it can be a program name with args. -int main() { +set dummy msgfmt; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:20206: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$MSGFMT" in + [\\/]*|?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word$ac_exeext; then + if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exeext" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + echo "$ac_t""$MSGFMT" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:20240: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$GMSGFMT" in + /*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_GMSGFMT="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT="$ac_cv_path_GMSGFMT" +if test -n "$GMSGFMT"; then + echo "$ac_t""$GMSGFMT" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi -; return 0; } -EOF -if { (eval echo configure:14412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - if test -n "$CHECK_DECL_HDRS" ; then -# try to work around system headers which are infested with non-standard syntax + # Extract the first word of "xgettext", so it can be a program name with args. + +set dummy xgettext; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:20278: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$XGETTEXT" in + [\\/]*|?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word$ac_exeext; then + if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exeext" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + echo "$ac_t""$XGETTEXT" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi -cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=yes' + if test "$nls_cv_use_gnu_gettext" = "yes"; then + if test ! -d $srcdir/intl ; then + { echo "configure: error: no NLS library is packaged with this application" 1>&2; exit 1; } + fi + INTLOBJS="\$(GETTOBJS)" + # Extract the first word of "msgfmt", so it can be a program name with args. + +set dummy msgfmt; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:20328: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' + case "$MSGFMT" in + [\\/]*|?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word$ac_exeext; then + if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exeext" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac fi -rm -f conftest* +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + echo "$ac_t""$MSGFMT" 1>&6 else -eval 'cf_cv_func_'${ac_func}'=yes' + echo "$ac_t""no" 1>&6 fi + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:20362: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' -fi -rm -f conftest* -CFLAGS="$cf_save_CFLAGS" - + case "$GMSGFMT" in + /*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_GMSGFMT="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac fi - -eval 'cf_result=$cf_cv_func_'${ac_func} -echo "$ac_t""$cf_result" 1>&6 -test $cf_result = yes && cat >> confdefs.h <&6 +else + echo "$ac_t""no" 1>&6 fi -if test $with_decl_check = yes; then -CHECK_DECL_HDRS="$TIN_DECL_HDRS" -for ac_func in \ - _flsbuf \ - atoi \ - atol \ - bcopy \ - bzero \ - calloc \ - fchmod \ - fclose \ - fdopen \ - fflush \ - fgetc \ - fileno \ - fprintf \ - fputc \ - fputs \ - fread \ - free \ - fseek \ - fwrite \ - getcwd \ - getopt \ - getpass \ - getwd \ - ioctl \ - isascii \ - kill \ - malloc \ - memset \ - mkstemp \ - mktemp \ - pclose \ - perror \ - printf \ - putenv \ - qsort \ - realloc \ - rename \ - rewind \ - select \ - setenv \ - snprintf \ - sscanf \ - strcasecmp \ - strftime \ - strncasecmp \ - strtol \ - system \ - time \ - tolower \ - toupper \ - ungetc \ - usleep \ - vsprintf \ - vsnprintf \ - -do - -ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - + # Extract the first word of "xgettext", so it can be a program name with args. -echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 -echo "configure:14529: checking for missing "${ac_func}" extern" >&5 -if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then +set dummy xgettext; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:20399: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - -echo "(line 14535) testing for missing "${ac_func}" external ..." 1>&5 - -cf_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $CHECK_DECL_FLAG" -cat > conftest.$ac_ext </dev/null 2>&1; then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exeext" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + echo "$ac_t""$XGETTEXT" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi -int main() { + + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + CATOBJEXT=.gmo + INTLLIBS="\$(top_builddir)/intl/libintl.a $LIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + if test "$GMSGFMT" != ":"; then + if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then + : ; + else + echo "$ac_t""found msgfmt program is not GNU msgfmt; ignore it" 1>&6 + GMSGFMT=":" + fi + fi -; return 0; } -EOF -if { (eval echo configure:14554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - if test -n "$CHECK_DECL_HDRS" ; then -# try to work around system headers which are infested with non-standard syntax + if test "$XGETTEXT" != ":"; then + if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then + : ; + else + echo "$ac_t""found xgettext program is not GNU xgettext; ignore it" 1>&6 + XGETTEXT=":" + fi + fi -cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + POSUB=po + fi -cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=yes' -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' -fi -rm -f conftest* + if test "$nls_cv_use_gnu_gettext" = "yes"; then + for ac_prog in bison +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:20471: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else -eval 'cf_cv_func_'${ac_func}'=yes' -fi - + if test -n "$INTLBISON"; then + ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_INTLBISON="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" fi -rm -f conftest* -CFLAGS="$cf_save_CFLAGS" - +fi +INTLBISON="$ac_cv_prog_INTLBISON" +if test -n "$INTLBISON"; then + echo "$ac_t""$INTLBISON" 1>&6 +else + echo "$ac_t""no" 1>&6 fi -eval 'cf_result=$cf_cv_func_'${ac_func} -echo "$ac_t""$cf_result" 1>&6 -test $cf_result = yes && cat >> confdefs.h <&6 +echo "configure:20504: checking version of bison" >&5 + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + echo "$ac_t""$ac_prog_version" 1>&6 + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi + fi -if test $use_curses = no ; then -CHECK_DECL_HDRS="$TIN_DECL_HDRS -#include " -for ac_func in $cf_tc_externs -do - -ac_tr_func=`echo "$ac_func" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done -echo $ac_n "checking for missing "${ac_func}" extern""... $ac_c" 1>&6 -echo "configure:14616: checking for missing "${ac_func}" extern" >&5 -if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else + + + + + + + + -echo "(line 14622) testing for missing "${ac_func}" external ..." 1>&5 - -cf_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $CHECK_DECL_FLAG" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - if test -n "$CHECK_DECL_HDRS" ; then -# try to work around system headers which are infested with non-standard syntax -cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 +echo "configure:20552: checking for catalogs to be installed" >&5 + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + echo "$ac_t""$LINGUAS" 1>&6 + fi -cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=yes' -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' -fi -rm -f conftest* -else -eval 'cf_cv_func_'${ac_func}'=yes' -fi +if test "$USE_NLS" = yes ; then + +# Check whether --with-textdomain or --without-textdomain was given. +if test "${with_textdomain+set}" = set; then + withval="$with_textdomain" + NLS_TEXTDOMAIN=$withval else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' -fi -rm -f conftest* -CFLAGS="$cf_save_CFLAGS" - + NLS_TEXTDOMAIN=$PACKAGE fi -eval 'cf_result=$cf_cv_func_'${ac_func} -echo "$ac_t""$cf_result" 1>&6 -test $cf_result = yes && cat >> confdefs.h <> confdefs.h <&6 -echo "configure:14706: checking for missing "${ac_func}" extern" >&5 -if eval "test \"`echo '$''{'cf_cv_func_${ac_func}'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +use_our_messages=no +if test "$USE_NLS" = yes ; then +if test -d $srcdir/po ; then +echo $ac_n "checking if we should use included message-library""... $ac_c" 1>&6 +echo "configure:20611: checking if we should use included message-library" >&5 + +# Check whether --enable-included-msgs or --disable-included-msgs was given. +if test "${enable_included_msgs+set}" = set; then + enableval="$enable_included_msgs" + use_our_messages=$enableval else - + use_our_messages=yes +fi -echo "(line 14712) testing for missing "${ac_func}" external ..." 1>&5 +fi +echo "$ac_t""$use_our_messages" 1>&6 +fi -cf_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $CHECK_DECL_FLAG" -cat > conftest.$ac_ext <> confdefs.h <<\EOF +#define HAVE_LIBGETTEXT_H 1 EOF -if { (eval echo configure:14731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - if test -n "$CHECK_DECL_HDRS" ; then -# try to work around system headers which are infested with non-standard syntax - -cf_1_up=`echo "${ac_func}" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -cat > conftest.$ac_ext <&6 +echo "configure:20666: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < EOF -if { (eval echo configure:14749: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:20676: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=yes' + eval "ac_cv_header_$ac_safe=yes" else + echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' + eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <&6 +fi +done + + fi fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval 'cf_cv_func_'${ac_func}'=no' +if test -z "$INTLDIR_MAKE" ; then + CPPFLAGS="$CPPFLAGS -I../intl" fi -rm -f conftest* -CFLAGS="$cf_save_CFLAGS" +if test "$BUILD_INCLUDED_LIBINTL" = yes ; then + GT_YES="#" + GT_NO= +else + GT_YES= + GT_NO="#" fi -eval 'cf_result=$cf_cv_func_'${ac_func} -echo "$ac_t""$cf_result" 1>&6 -test $cf_result = yes && cat >> confdefs.h <&6 -echo "configure:14787: checking for working TIOCGWINSZ" >&5 -if eval "test \"`echo '$''{'cf_cv_use_tiocgwinsz'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - cf_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -D__CPROTO__ $CHECK_DECL_FLAG" - if test "$cross_compiling" = yes; then - cf_cv_use_tiocgwinsz=unknown -else - cat > conftest.$ac_ext < 0 - && size.ts_cols > 0) - exit(0); -#else - struct winsize size; - if (ioctl(0, TIOCGWINSZ, &size) == 0 - && size.ws_row > 0 - && size.ws_col > 0) - exit(0); -#endif - } - exit(0); /* we cannot guarantee this is run interactively */ -} +if test "$USE_INCLUDED_LIBINTL" = yes ; then + if test "$nls_cv_force_use_gnu_gettext" = yes ; then + cat >> confdefs.h <<\EOF +#define HAVE_GETTEXT 1 EOF -if { (eval echo configure:14823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cf_cv_use_tiocgwinsz=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - cf_cv_use_tiocgwinsz=no -fi -rm -fr conftest* -fi - - rm -f autoconf.h - CFLAGS="$cf_save_CFLAGS" -fi -echo "$ac_t""$cf_cv_use_tiocgwinsz" 1>&6 -test $cf_cv_use_tiocgwinsz != yes && cat >> confdefs.h <<\EOF -#define DONT_HAVE_SIGWINCH 1 + elif test "$nls_cv_use_gnu_gettext" = yes ; then + cat >> confdefs.h <<\EOF +#define HAVE_GETTEXT 1 EOF + fi + if test -n "$nls_cv_header_intl" ; then + cat >> confdefs.h <<\EOF +#define HAVE_LIBINTL_H 1 +EOF + fi +fi -### append special libraries that get in the way of testing -case $debug_malloc in -DBMALLOC) - cat >> confdefs.h <<\EOF -#define USE_DBMALLOC 1 -EOF +LIBS="$LIBS $LIBICONV" - LIBS="$LIBS -ldbmalloc" +### check for alloca (required for bison and/or intl/*) +case "$YACC" in +bison*) + use_alloca=yes ;; -DMALLOC) - cat >> confdefs.h <<\EOF -#define USE_DMALLOC 1 -EOF - - LIBS="$LIBS -ldmalloc" +*) + use_alloca=$USE_INCLUDED_LIBINTL ;; esac -### Use gettext -### this also calls AM_LANGINFO_CODESET and AM_ICONV -### so we don't need to do the tests ourselves. -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:14870: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -fi -fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - +if test ".$use_alloca" = .yes ; then + # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:14900: checking for working alloca.h" >&5 +echo "configure:20760: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:14912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:20772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_header_alloca_h=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + ac_cv_header_alloca_h=no fi -rm -f conftest* +rm -rf conftest* fi echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 @@ -14929,12 +20789,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:14933: checking for alloca" >&5 +echo "configure:20793: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_func_alloca_works=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_func_alloca_works=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 -if test $ac_cv_func_alloca_works = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF - -fi - -if test $ac_cv_func_alloca_works = no; then - # The SVR3 libPW and SVR4 libucb both contain incompatible functions - # that cause trouble. Some versions do not even contain alloca or - # contain a buggy version. If you still want to use their alloca, - # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.${ac_objext} - cat >> confdefs.h <<\EOF -#define C_ALLOCA 1 -EOF - - -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:14998: checking whether alloca needs Cray hooks" >&5 -if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 | - egrep "webecray" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_os_cray=yes -else - rm -rf conftest* - ac_cv_os_cray=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_os_cray" 1>&6 -if test $ac_cv_os_cray = yes; then -for ac_func in _getb67 GETB67 getb67; do - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15028: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:15056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <&6 -fi - -done -fi +#endif -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:15083: checking stack direction for C alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat > conftest.$ac_ext < addr) ? 1 : -1; -} -main () -{ - exit (find_stack_direction() < 0); -} +int main() { +char *p = (char *) alloca(1); +; return 0; } EOF -if { (eval echo configure:15110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_c_stack_direction=1 +if { (eval echo configure:20826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + ac_cv_func_alloca_works=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_stack_direction=-1 + + ac_cv_func_alloca_works=no fi -rm -fr conftest* +rm -rf conftest* fi +echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 +if test $ac_cv_func_alloca_works = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_ALLOCA 1 +EOF + fi -echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 -cat >> confdefs.h <> confdefs.h <<\EOF +#define C_ALLOCA 1 EOF -fi -for ac_hdr in unistd.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:15135: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then +echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 +echo "configure:20858: checking whether alloca needs Cray hooks" >&5 +if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < +#if defined(CRAY) && ! defined(CRAY2) +webecray +#else +wenotbecray +#endif + EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:15145: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "webecray" >/dev/null 2>&1; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + ac_cv_os_cray=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + ac_cv_os_cray=no fi rm -f conftest* + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done -for ac_func in getpagesize -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15174: checking for $ac_func" >&5 +echo "$ac_t""$ac_cv_os_cray" 1>&6 +if test $ac_cv_os_cray = yes; then +for ac_func in _getb67 GETB67 getb67; do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:20888: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:20916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_func_$ac_func=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_func_$ac_func=no" fi -rm -f conftest* +rm -rf conftest* fi if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` cat >> confdefs.h <&6 fi + done +fi -echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:15227: checking for working mmap" >&5 -if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then +echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 +echo "configure:20943: checking stack direction for C alloca" >&5 +if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no + ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext < -#include -#include - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef HAVE_UNISTD_H -# include -# endif - -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -#ifdef __cplusplus -extern "C" { void *malloc(unsigned); } -#else -char *malloc(); -#endif - -int -main() -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize(); - - /* - * First, make a file with some known garbage in it. - */ - data = malloc(pagesize); - if (!data) - exit(1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand(); - umask(0); - fd = creat("conftestmmap", 0600); - if (fd < 0) - exit(1); - if (write(fd, data, pagesize) != pagesize) - exit(1); - close(fd); - - /* - * Next, try to mmap the file at a fixed address which - * already has something else allocated at it. If we can, - * also make sure that we see the same garbage. - */ - fd = open("conftestmmap", O_RDWR); - if (fd < 0) - exit(1); - data2 = malloc(2 * pagesize); - if (!data2) - exit(1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit(1); - - /* - * Finally, make sure that changes to the mapped area - * do not percolate back to the file as seen by read(). - * (This is a bug on some variants of i386 svr4.0.) - */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = malloc(pagesize); - if (!data3) - exit(1); - if (read(fd, data3, pagesize) != pagesize) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit(1); - close(fd); - unlink("conftestmmap"); - exit(0); +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} +main () +{ + exit (find_stack_direction() < 0); } - EOF -if { (eval echo configure:15375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:20970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then - ac_cv_func_mmap_fixed_mapped=yes + ac_cv_c_stack_direction=1 else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* - ac_cv_func_mmap_fixed_mapped=no + ac_cv_c_stack_direction=-1 fi rm -fr conftest* fi fi -echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6 -if test $ac_cv_func_mmap_fixed_mapped = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_MMAP 1 +echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 +cat >> confdefs.h <&6 -echo "configure:15399: checking whether we are using the GNU C Library 2.1 or newer" >&5 -if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +case $host_os in +linux*|gnu*) + # workaround for bison 1.875c (compound breakage in Linux stdlib.h + # and bison's output make bison try to use alloca()). + if test -z "$GCC" ; then + CPPFLAGS="$CPPFLAGS -DYYSTACK_USE_ALLOCA=0" + ALLOCA="" + elif test "$INTEL_COMPILER" = yes ; then + CPPFLAGS="$CPPFLAGS -DYYSTACK_USE_ALLOCA=0" + ALLOCA="" + fi + ;; +esac + else - cat > conftest.$ac_ext <&6 +echo "configure:21015: checking for $cf_hdr" >&5 + cat > conftest.$ac_ext < -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif - +#include +#include <$cf_hdr> + EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "Lucky GNU user" >/dev/null 2>&1; then +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:21025: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then rm -rf conftest* - ac_cv_gnu_library_2_1=yes + cf_found=yes else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 rm -rf conftest* - ac_cv_gnu_library_2_1=no + cf_found=no fi rm -f conftest* +echo "$ac_t""$cf_found" 1>&6 +if test $cf_found = yes ; then + +cf_tr_hdr=`echo "$cf_hdr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + + cat >> confdefs.h <&6 - - GLIBC21="$ac_cv_gnu_library_2_1" - +echo $ac_n "checking for iconv_open() //TRANSLIT extension""... $ac_c" 1>&6 +echo "configure:21051: checking for iconv_open() //TRANSLIT extension" >&5 +if test "$cross_compiling" = yes; then + echo "$ac_t""unknown" 1>&6 +else + cat > conftest.$ac_ext < +#endif /* HAVE_ICONV_H */ +#ifdef HAVE_STDLIB_H +# include +#endif /* HAVE_STDLIB_H */ +int main() { + iconv_t cd; - + if ((cd = iconv_open("US-ASCII//TRANSLIT", "ISO-8859-1")) == (iconv_t) (-1)) + exit(1); + exit(0); +} +EOF +if { (eval echo configure:21074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + cat >> confdefs.h <<\EOF +#define HAVE_ICONV_OPEN_TRANSLIT 1 +EOF + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + echo "$ac_t""no" 1>&6 +fi +rm -fr conftest* +fi -cf_makefile=Makefile +# FIXME / TESTME +# locale is broken on cygwin < 1.7.0 +# group/other bits don't work on cygwin < 1.7.0 +# locking doesn't work on cygwin +# link(2) is detected but doesn't work on cygwin +case "$host_os" in + *cygwin*) + case `uname -r | sed 's,(.*,,'` in + 1.7.*) + cat >> confdefs.h <<\EOF +#define NO_LOCKING 1 +EOF -test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'` + ;; + *) + # link does not work + cat >> confdefs.h <<\EOF +#define NO_LOCALE 1 +EOF -# Allow override of "config.h" definition: -: ${CONFIG_H=config.h} + cat >> confdefs.h <<\EOF +#define NO_LOCKING 1 +EOF + cat >> confdefs.h <<\EOF +#define FILE_MODE_BROKEN 1 +EOF -if test -z "$VERSION" ; then -if test -f $srcdir/VERSION ; then - VERSION=`sed -e '2,$d' $srcdir/VERSION|cut -f1` + ;; + esac + ;; + *haiku*) + # link does not work + cat >> confdefs.h <<\EOF +#define NO_LOCKING 1 +EOF + + ;; + *) + echo $ac_n "checking for link""... $ac_c" 1>&6 +echo "configure:21130: checking for link" >&5 +if eval "test \"`echo '$''{'ac_cv_func_link'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - VERSION=unknown + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char link(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_link) || defined (__stub___link) +choke me +#else +link(); +#endif + +; return 0; } +EOF +if { (eval echo configure:21158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_link=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_func_link=no" +fi +rm -rf conftest* fi + +if eval "test \"`echo '$ac_cv_func_'link`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF +#define HAVE_LINK 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi +esac - - for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ -stdlib.h string.h unistd.h sys/param.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:15466: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then +if test "$cf_cv_termlib" = pdcurses ; then + # If we find X, set shell vars x_includes and x_libraries to the +# paths, otherwise set no_x=yes. +# Uses ac_ vars as temps to allow command line to override cache and checks. +# --without-x overrides everything else, but does not touch the cache. +echo $ac_n "checking for X""... $ac_c" 1>&6 +echo "configure:21188: checking for X" >&5 + + +# Check whether --with-x or --without-x was given. +if test "${with_x+set}" = set; then + withval="$with_x" + : +fi + +# $have_x is `yes', `no', `disabled', or empty when we do not yet know. +if test "x$with_x" = xno; then + # The user explicitly disabled X. + have_x=disabled +else + if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then + # Both variables are already set. + have_x=yes + else +if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < Imakefile <<'EOF' +acfindx: + @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' +EOF + if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then + # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` + # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. + for ac_extension in a so sl; do + if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && + test -f $ac_im_libdir/libX11.$ac_extension; then + ac_im_usrlibdir=$ac_im_libdir; break + fi + done + # Screen out bogus values from the imake configuration. They are + # bogus both because they are the default anyway, and because + # using them would break gcc on systems where it needs fixed includes. + case "$ac_im_incroot" in + /usr/include) ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;; + esac + case "$ac_im_usrlibdir" in + /usr/lib | /lib) ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;; + esac + fi + cd .. + rm -fr conftestdir +fi + +if test "$ac_x_includes" = NO; then + # Guess where to find include files, by looking for this one X11 .h file. + test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h + + # First, try using that file with no special directory specified. +cat > conftest.$ac_ext < +#include <$x_direct_test_include> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:15476: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:21256: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # We can compile using X headers with no special include directory. +ac_x_includes= else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + # Look for the header file in a standard set of common directories. +# Check X11 before X11Rn because it is often a symlink to the current release. + for ac_dir in \ + /usr/X11/include \ + /usr/X11R6/include \ + /usr/X11R5/include \ + /usr/X11R4/include \ + \ + /usr/include/X11 \ + /usr/include/X11R6 \ + /usr/include/X11R5 \ + /usr/include/X11R4 \ + \ + /usr/local/X11/include \ + /usr/local/X11R6/include \ + /usr/local/X11R5/include \ + /usr/local/X11R4/include \ + \ + /usr/local/include/X11 \ + /usr/local/include/X11R6 \ + /usr/local/include/X11R5 \ + /usr/local/include/X11R4 \ + \ + /usr/X386/include \ + /usr/x386/include \ + /usr/XFree86/include/X11 \ + \ + /usr/include \ + /usr/local/include \ + /usr/unsupported/include \ + /usr/athena/include \ + /usr/local/x11r5/include \ + /usr/lpp/Xamples/include \ + \ + /usr/openwin/include \ + /usr/openwin/share/include \ + ; \ + do + if test -r "$ac_dir/$x_direct_test_include"; then + ac_x_includes=$ac_dir + break + fi + done fi rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done +fi # $ac_x_includes = NO - for ac_func in feof_unlocked fgets_unlocked getcwd getegid geteuid \ -getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ -strdup strtoul tsearch __argz_count __argz_stringify __argz_next -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15507: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); +if test "$ac_x_libraries" = NO; then + # Check for the libraries. -int main() { + test -z "$x_direct_test_library" && x_direct_test_library=Xt + test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +if { (eval echo configure:21332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + LIBS="$ac_save_LIBS" +# We can link X programs with no special library path. +ac_x_libraries= else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + + LIBS="$ac_save_LIBS" +# First see if replacing the include by lib works. +# Check X11 before X11Rn because it is often a symlink to the current release. +for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ + /usr/X11/lib \ + /usr/X11R6/lib \ + /usr/X11R5/lib \ + /usr/X11R4/lib \ + \ + /usr/lib/X11 \ + /usr/lib/X11R6 \ + /usr/lib/X11R5 \ + /usr/lib/X11R4 \ + \ + /usr/local/X11/lib \ + /usr/local/X11R6/lib \ + /usr/local/X11R5/lib \ + /usr/local/X11R4/lib \ + \ + /usr/local/lib/X11 \ + /usr/local/lib/X11R6 \ + /usr/local/lib/X11R5 \ + /usr/local/lib/X11R4 \ + \ + /usr/X386/lib \ + /usr/x386/lib \ + /usr/XFree86/lib/X11 \ + \ + /usr/lib \ + /usr/local/lib \ + /usr/unsupported/lib \ + /usr/athena/lib \ + /usr/local/x11r5/lib \ + /usr/lpp/Xamples/lib \ + /lib/usr/lib/X11 \ + \ + /usr/openwin/lib \ + /usr/openwin/share/lib \ + ; \ +do + for ac_extension in a so sl; do + if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done +fi +rm -rf conftest* +fi # $ac_x_libraries = NO + +if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then + # Didn't find X anywhere. Cache the known absence of X. + ac_cv_have_x="have_x=no" +else + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes \ + ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi -rm -f conftest* fi + fi + eval "$ac_cv_have_x" +fi # $with_x != no -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 + no_x=yes else - echo "$ac_t""no" 1>&6 + # If each of the values was on the command line, it overrides each guess. + test "x$x_includes" = xNONE && x_includes=$ac_x_includes + test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries + # Update the cache value to reflect the command line values. + ac_cv_have_x="have_x=yes \ + ac_x_includes=$x_includes ac_x_libraries=$x_libraries" + echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6 fi -done - - - -# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then - withval="$with_libiconv_prefix" - - for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi - if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi - done - +echo $ac_n "checking if you want to use pkg-config""... $ac_c" 1>&6 +echo "configure:21420: checking if you want to use pkg-config" >&5 + +# Check whether --with-pkg-config or --without-pkg-config was given. +if test "${with_pkg_config+set}" = set; then + withval="$with_pkg_config" + cf_pkg_config=$withval +else + cf_pkg_config=yes fi +echo "$ac_t""$cf_pkg_config" 1>&6 - echo $ac_n "checking for iconv""... $ac_c" 1>&6 -echo "configure:15576: checking for iconv" >&5 -if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then +case $cf_pkg_config in #(vi +no) #(vi + PKG_CONFIG=none + ;; +yes) #(vi + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:21440: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat > conftest.$ac_ext < -#include -int main() { -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); -; return 0; } -EOF -if { (eval echo configure:15594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_func_iconv=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + case "$PKG_CONFIG" in + /*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="none" + ;; +esac fi -rm -f conftest* - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS -liconv" - cat > conftest.$ac_ext < -#include -int main() { -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); -; return 0; } -EOF -if { (eval echo configure:15616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_lib_iconv=yes - am_cv_func_iconv=yes +PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +if test -n "$PKG_CONFIG"; then + echo "$ac_t""$PKG_CONFIG" 1>&6 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + echo "$ac_t""no" 1>&6 fi -rm -f conftest* - LIBS="$am_save_LIBS" - fi - + + ;; +*) + PKG_CONFIG=$withval + ;; +esac + +test -z "$PKG_CONFIG" && PKG_CONFIG=none +if test "$PKG_CONFIG" != none ; then + +if test "x$prefix" != xNONE; then + cf_path_syntax="$prefix" +else + cf_path_syntax="$ac_default_prefix" fi -echo "$ac_t""$am_cv_func_iconv" 1>&6 - if test "$am_cv_func_iconv" = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ICONV 1 +case ".$PKG_CONFIG" in #(vi +.\$\(*\)*|.\'*\'*) #(vi + ;; +..|./*|.\\*) #(vi + ;; +.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX + ;; +.\${*prefix}*) #(vi + eval PKG_CONFIG="$PKG_CONFIG" + case ".$PKG_CONFIG" in #(vi + .NONE/*) + PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%` + ;; + esac + ;; #(vi +.no|.NONE/*) + PKG_CONFIG=`echo $PKG_CONFIG | sed -e s%NONE%$cf_path_syntax%` + ;; +*) + { echo "configure: error: expected a pathname, not \"$PKG_CONFIG\"" 1>&2; exit 1; } + ;; +esac + +fi + + + +if test "$no_x" = yes; then + # Not all programs may use this symbol, but it does not hurt to define it. + cat >> confdefs.h <<\EOF +#define X_DISPLAY_MISSING 1 EOF - echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 -echo "configure:15637: checking for iconv declaration" >&5 - if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else - + if test -n "$x_includes"; then + X_CFLAGS="$X_CFLAGS -I$x_includes" + fi + + # It would also be nice to do this for all -L options, not just this one. + if test -n "$x_libraries"; then + X_LIBS="$X_LIBS -L$x_libraries" + # For Solaris; some versions of Sun CC require a space after -R and + # others require no space. Words are not sufficient . . . . + case "`(uname -sr) 2>/dev/null`" in + "SunOS 5"*) + echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 +echo "configure:21535: checking whether -R must be followed by a space" >&5 + ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext < -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - int main() { ; return 0; } EOF -if { (eval echo configure:15662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - am_cv_proto_iconv_arg1="" +if { (eval echo configure:21545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + ac_R_nospace=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_proto_iconv_arg1="const" -fi -rm -f conftest* - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" -fi - - am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - echo "$ac_t""${ac_t:- - }$am_cv_proto_iconv" 1>&6 - cat >> confdefs.h <&6 -echo "configure:15691: checking for nl_langinfo and CODESET" >&5 -if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&6 + X_LIBS="$X_LIBS -R$x_libraries" + else + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat > conftest.$ac_ext < + int main() { -char* cs = nl_langinfo(CODESET); + ; return 0; } EOF -if { (eval echo configure:15703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_langinfo_codeset=yes +if { (eval echo configure:21568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + ac_R_space=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_langinfo_codeset=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$am_cv_langinfo_codeset" 1>&6 - if test $am_cv_langinfo_codeset = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LANGINFO_CODESET 1 -EOF + ac_R_space=no +fi +rm -rf conftest* + if test $ac_R_space = yes; then + echo "$ac_t""yes" 1>&6 + X_LIBS="$X_LIBS -R $x_libraries" + else + echo "$ac_t""neither works" 1>&6 + fi + fi + LIBS="$ac_xsave_LIBS" + esac fi - if test $ac_cv_header_locale_h = yes; then - echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:15726: checking for LC_MESSAGES" >&5 -if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then + # Check for system-dependent libraries X programs must link with. + # Do this before checking for the system-independent R6 libraries + # (-lICE), since we may need -lsocket or whatever for X linking. + + if test "$ISC" = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" + else + # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X + # libraries were built with DECnet support. And karl@cs.umb.edu says + # the Alpha needs dnet_stub (dnet does not exist). + echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 +echo "configure:21600: checking for dnet_ntoa in -ldnet" >&5 +ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dnet_ntoa(); + int main() { -return LC_MESSAGES +dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:15738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_val_LC_MESSAGES=yes +if { (eval echo configure:21619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_val_LC_MESSAGES=no -fi -rm -f conftest* -fi - -echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6 - if test $am_cv_val_LC_MESSAGES = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LC_MESSAGES 1 -EOF - - fi - fi - echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:15759: checking whether NLS is requested" >&5 - - -# Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval -else - USE_NLS=yes -fi - - echo "$ac_t""$USE_NLS" 1>&6 - - - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - INTLLIBS= - - if test "$USE_NLS" = "yes"; then - cat >> confdefs.h <<\EOF -#define ENABLE_NLS 1 -EOF - echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:15783: checking whether included gettext is requested" >&5 - -# Check whether --with-included-gettext or --without-included-gettext was given. -if test "${with_included_gettext+set}" = set; then - withval="$with_included_gettext" - nls_cv_force_use_gnu_gettext=$withval -else - nls_cv_force_use_gnu_gettext=no + eval "ac_cv_lib_$ac_lib_var=no" fi +rm -rf conftest* +LIBS="$ac_save_LIBS" - echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6 - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - CATOBJEXT=NONE - - - - - ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:15804: checking for libintl.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:15814: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 -echo "configure:15831: checking for GNU gettext in libc" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -extern int _nl_msg_cat_cntr; -int main() { -bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr -; return 0; } -EOF -if { (eval echo configure:15845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gnugettext1_libc=yes + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gnugettext1_libc=no -fi -rm -f conftest* + echo "$ac_t""no" 1>&6 fi -echo "$ac_t""$gt_cv_func_gnugettext1_libc" 1>&6 - - if test "$gt_cv_func_gnugettext1_libc" != "yes"; then - echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 -echo "configure:15861: checking for GNU gettext in libintl" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 +echo "configure:21641: checking for dnet_ntoa in -ldnet_stub" >&5 +ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -lintl $LIBICONV" - cat > conftest.$ac_ext < conftest.$ac_ext < -extern int _nl_msg_cat_cntr; +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dnet_ntoa(); + int main() { -bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr +dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:15877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gnugettext1_libintl=yes +if { (eval echo configure:21660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gnugettext1_libintl=no -fi -rm -f conftest* - LIBS="$gt_save_LIBS" -fi -echo "$ac_t""$gt_cv_func_gnugettext1_libintl" 1>&6 - fi + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" - if test "$gt_cv_func_gnugettext1_libc" = "yes" \ - || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ - && test "$PACKAGE" != gettext; }; then - cat >> confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" +else + echo "$ac_t""no" 1>&6 +fi + fi - if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then - INTLLIBS="-lintl $LIBICONV" - fi - - gt_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - for ac_func in dcgettext -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15910: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, + # to get the SysV transport functions. + # chad@anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4) + # needs -lnsl. + # The nsl library prevents programs from opening the X display + # on Irix 5.2, according to dickey@clark.net. + echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 +echo "configure:21689: checking for gethostbyname" >&5 +if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char $ac_func(); +char gethostbyname(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else -$ac_func(); +gethostbyname(); #endif ; return 0; } EOF -if { (eval echo configure:15938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +if { (eval echo configure:21717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_gethostbyname=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - LIBS="$gt_save_LIBS" - - # Extract the first word of "msgfmt", so it can be a program name with args. - -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:15968: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:16002: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. - -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:16040: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 + eval "ac_cv_func_gethostbyname=no" fi - - - CATOBJEXT=.gmo - fi - -else - echo "$ac_t""no" 1>&6 +rm -rf conftest* fi - - if test "$CATOBJEXT" = "NONE"; then - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - if test ! -d $srcdir/intl ; then - { echo "configure: error: no NLS library is packaged with this application" 1>&2; exit 1; } - fi - INTLOBJS="\$(GETTOBJS)" - # Extract the first word of "msgfmt", so it can be a program name with args. - -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:16094: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - echo "$ac_t""$MSGFMT" 1>&6 +if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : else echo "$ac_t""no" 1>&6 fi - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:16128: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then + if test $ac_cv_func_gethostbyname = no; then + echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 +echo "configure:21738: checking for gethostbyname in -lnsl" >&5 +ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. + ac_save_LIBS="$LIBS" +LIBS="-lnsl $LIBS" +cat > conftest.$ac_ext <&6 -echo "configure:16165: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac +int main() { +gethostbyname() +; return 0; } +EOF +if { (eval echo configure:21757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - echo "$ac_t""$XGETTEXT" 1>&6 +rm -rf conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" else echo "$ac_t""no" 1>&6 fi - - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INTLLIBS="\$(top_builddir)/intl/libintl.a $LIBICONV" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi + fi - if test "$GMSGFMT" != ":"; then - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then - : ; - else - echo "$ac_t""found msgfmt program is not GNU msgfmt; ignore it" 1>&6 - GMSGFMT=":" - fi - fi + # lieder@skyler.mavd.honeywell.com says without -lsocket, + # socket/setsockopt and other routines are undefined under SCO ODT + # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary + # on later versions), says simon@lia.di.epfl.ch: it contains + # gethostby* variants that don't use the nameserver (or something). + # -lsocket must be given before -lnsl if both are needed. + # We assume that if connect needs -lnsl, so does gethostbyname. + echo $ac_n "checking for connect""... $ac_c" 1>&6 +echo "configure:21787: checking for connect" >&5 +if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char connect(); - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then - : ; - else - echo "$ac_t""found xgettext program is not GNU xgettext; ignore it" 1>&6 - XGETTEXT=":" - fi - fi +int main() { - POSUB=po - fi +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_connect) || defined (__stub___connect) +choke me +#else +connect(); +#endif - +; return 0; } +EOF +if { (eval echo configure:21815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_connect=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "ac_cv_func_connect=no" +fi +rm -rf conftest* +fi - if test "$PACKAGE" = gettext; then - BUILD_INCLUDED_LIBINTL=yes - fi +if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 +fi - if test "$nls_cv_use_gnu_gettext" = "yes"; then - for ac_prog in bison -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:16238: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then + if test $ac_cv_func_connect = no; then + echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 +echo "configure:21836: checking for connect in -lsocket" >&5 +ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - if test -n "$INTLBISON"; then - ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. + ac_save_LIBS="$LIBS" +LIBS="-lsocket $X_EXTRA_LIBS $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_INTLBISON="$ac_prog" - break - fi - done - IFS="$ac_save_ifs" + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + + eval "ac_cv_lib_$ac_lib_var=no" fi +rm -rf conftest* +LIBS="$ac_save_LIBS" + fi -INTLBISON="$ac_cv_prog_INTLBISON" -if test -n "$INTLBISON"; then - echo "$ac_t""$INTLBISON" 1>&6 +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" else echo "$ac_t""no" 1>&6 fi -test -n "$INTLBISON" && break -done - - if test -z "$INTLBISON"; then - ac_verc_fail=yes - else - echo $ac_n "checking version of bison""... $ac_c" 1>&6 -echo "configure:16271: checking version of bison" >&5 - ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - esac - echo "$ac_t""$ac_prog_version" 1>&6 - fi - if test $ac_verc_fail = yes; then - INTLBISON=: - fi fi - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done + # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. + echo $ac_n "checking for remove""... $ac_c" 1>&6 +echo "configure:21879: checking for remove" >&5 +if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char remove(); - - - - - - - - - +int main() { - nls_cv_header_intl= - nls_cv_header_libgt= +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_remove) || defined (__stub___remove) +choke me +#else +remove(); +#endif - DATADIRNAME=share - +; return 0; } +EOF +if { (eval echo configure:21907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_remove=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 - INSTOBJEXT=.mo - + eval "ac_cv_func_remove=no" +fi +rm -rf conftest* +fi - GENCAT=gencat - - +if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 +fi - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:16319: checking for catalogs to be installed" >&5 - NEW_LINGUAS= - for presentlang in $ALL_LINGUAS; do - useit=no - for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - done - LINGUAS=$NEW_LINGUAS - echo "$ac_t""$LINGUAS" 1>&6 - fi + if test $ac_cv_func_remove = no; then + echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 +echo "configure:21928: checking for remove in -lposix" >&5 +ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lposix $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkdirs.sh" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkdirs.sh" - fi - if test -n "$GNUSYSTEM_AUX_DIR" ; then - if test -e "${GNUSYSTEM_AUX_DIR}/mkinstalldirs"; then - MKINSTALLDIRS="${GNUSYSTEM_AUX_DIR}/mkinstalldirs" - fi - fi - + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" - INTL_LIBTOOL_SUFFIX_PREFIX= - +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +else + echo "$ac_t""no" 1>&6 +fi + fi -INTLDIR_MAKE= -MSG_DIR_MAKE= -SUB_MAKEFILE= + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + echo $ac_n "checking for shmat""... $ac_c" 1>&6 +echo "configure:21971: checking for shmat" >&5 +if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shmat(); +int main() { -cf_makefile=Makefile +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_shmat) || defined (__stub___shmat) +choke me +#else +shmat(); +#endif -use_our_messages=no -if test "$USE_NLS" = yes ; then -if test -d $srcdir/po ; then -echo $ac_n "checking if we should use included message-library""... $ac_c" 1>&6 -echo "configure:16375: checking if we should use included message-library" >&5 - -# Check whether --enable-included-msgs or --disable-included-msgs was given. -if test "${enable_included_msgs+set}" = set; then - enableval="$enable_included_msgs" - use_our_messages=$enableval +; return 0; } +EOF +if { (eval echo configure:21999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_func_shmat=yes" else - use_our_messages=yes -fi + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "ac_cv_func_shmat=no" fi -echo "$ac_t""$use_our_messages" 1>&6 +rm -rf conftest* fi -MSG_DIR_MAKE="#" -if test "$use_our_messages" = yes -then - SUB_MAKEFILE="$SUB_MAKEFILE po/$cf_makefile.in:$srcdir/po/$cf_makefile.inn" - MSG_DIR_MAKE= +if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 fi + if test $ac_cv_func_shmat = no; then + echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 +echo "configure:22020: checking for shmat in -lipc" >&5 +ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lipc $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -rf conftest* +LIBS="$ac_save_LIBS" +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" +else + echo "$ac_t""no" 1>&6 +fi -if test "$USE_INCLUDED_LIBINTL" = yes ; then - if test "$nls_cv_force_use_gnu_gettext" = yes ; then - : - elif test "$nls_cv_use_gnu_gettext" = yes ; then - : - else - INTLDIR_MAKE="#" - fi - if test -z "$INTLDIR_MAKE"; then - cat >> confdefs.h <<\EOF -#define HAVE_LIBGETTEXT_H 1 -EOF + fi + fi - for cf_makefile in \ - $srcdir/intl/Makefile.in \ - $srcdir/intl/makefile.in - do - if test -f "$cf_makefile" ; then - SUB_MAKEFILE="$SUB_MAKEFILE `echo \"${cf_makefile}\"|sed -e 's,^'$srcdir/',,' -e 's/\.in$//'`:${cf_makefile}" - break - fi - done - fi -else - INTLDIR_MAKE="#" - if test "$USE_NLS" = yes ; then - for ac_hdr in libintl.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:16430: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + # Check for libraries that X11R6 Xt/Xaw programs need. + ac_save_LDFLAGS="$LDFLAGS" + test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" + # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to + # check for ICE first), but we must link in the order -lSM -lICE or + # we get undefined symbols. So assume we have SM if we have ICE. + # These have to be linked with before -lX11, unlike the other + # libraries we check for below, so use a different variable. + # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. + echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 +echo "configure:22072: checking for IceConnectionNumber in -lICE" >&5 +ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char IceConnectionNumber(); + +int main() { +IceConnectionNumber() +; return 0; } EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:16440: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" +if { (eval echo configure:22091: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + eval "ac_cv_lib_$ac_lib_var=yes" else - echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* +LIBS="$ac_save_LIBS" + fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 fi -done - fi + LDFLAGS="$ac_save_LDFLAGS" + fi -if test -z "$INTLDIR_MAKE" ; then - CPPFLAGS="-I../intl $CPPFLAGS" + +cf_x_athena=${cf_x_athena:-Xaw} + +echo $ac_n "checking if you want to link with Xaw 3d library""... $ac_c" 1>&6 +echo "configure:22119: checking if you want to link with Xaw 3d library" >&5 +withval= + +# Check whether --with-Xaw3d or --without-Xaw3d was given. +if test "${with_Xaw3d+set}" = set; then + withval="$with_Xaw3d" + : fi -if test "$BUILD_INCLUDED_LIBINTL" = yes ; then - GT_YES="#" - GT_NO= +if test "$withval" = yes ; then + cf_x_athena=Xaw3d + echo "$ac_t""yes" 1>&6 else - GT_YES= - GT_NO="#" + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking if you want to link with neXT Athena library""... $ac_c" 1>&6 +echo "configure:22136: checking if you want to link with neXT Athena library" >&5 +withval= + +# Check whether --with-neXtaw or --without-neXtaw was given. +if test "${with_neXtaw+set}" = set; then + withval="$with_neXtaw" + : +fi + +if test "$withval" = yes ; then + cf_x_athena=neXtaw + echo "$ac_t""yes" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking if you want to link with Athena-Plus library""... $ac_c" 1>&6 +echo "configure:22153: checking if you want to link with Athena-Plus library" >&5 +withval= + +# Check whether --with-XawPlus or --without-XawPlus was given. +if test "${with_XawPlus+set}" = set; then + withval="$with_XawPlus" + : +fi + +if test "$withval" = yes ; then + cf_x_athena=XawPlus + echo "$ac_t""yes" 1>&6 +else + echo "$ac_t""no" 1>&6 fi +cf_x_athena_lib="" + +if test "$PKG_CONFIG" != none ; then + cf_athena_list= + test "$cf_x_athena" = Xaw && cf_athena_list="xaw8 xaw7 xaw6" + for cf_athena_pkg in \ + $cf_athena_list \ + ${cf_x_athena} \ + ${cf_x_athena}-devel \ + lib${cf_x_athena} \ + lib${cf_x_athena}-devel + do + + + +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $cf_athena_pkg; then + test -n "$verbose" && echo " found package $cf_athena_pkg" 1>&6 + +echo "${as_me:-configure}:22187: testing found package $cf_athena_pkg ..." 1>&5 + + + cf_pkgconfig_incs="`$PKG_CONFIG --cflags $cf_athena_pkg 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs $cf_athena_pkg 2>/dev/null`" + test -n "$verbose" && echo " package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs" 1>&6 + +echo "${as_me:-configure}:22194: testing package $cf_athena_pkg CFLAGS: $cf_pkgconfig_incs ..." 1>&5 + + + test -n "$verbose" && echo " package $cf_athena_pkg LIBS: $cf_pkgconfig_libs" 1>&6 + +echo "${as_me:-configure}:22199: testing package $cf_athena_pkg LIBS: $cf_pkgconfig_libs ..." 1>&5 + + + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= +for cf_add_cflags in $cf_pkgconfig_incs +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` -if test "$USE_INCLUDED_LIBINTL" = yes ; then - if test "$nls_cv_force_use_gnu_gettext" = yes ; then - cat >> confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done - elif test "$nls_cv_use_gnu_gettext" = yes ; then - cat >> confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi - fi - if test -n "$nls_cv_header_intl" ; then - cat >> confdefs.h <<\EOF -#define HAVE_LIBINTL_H 1 -EOF +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi - fi +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi -LIBS="$LIBS $LIBICONV" -### check for alloca (required for bison and/or intl/*) -case "$YACC" in -bison*) - use_alloca=yes - ;; -*) - use_alloca=$USE_INCLUDED_LIBINTL - ;; -esac -if test ".$use_alloca" = .yes ; then + + LIBS="$cf_pkgconfig_libs $LIBS" -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:16524: checking for working alloca.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -char *p = alloca(2 * sizeof(int)); -; return 0; } -EOF -if { (eval echo configure:16536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_header_alloca_h=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_alloca_h=no -fi -rm -f conftest* -fi + cf_x_athena_lib="$cf_pkgconfig_libs" + +cf_x_athena_LIBS=`echo "HAVE_LIB_$cf_x_athena" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` -echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 -if test $ac_cv_header_alloca_h = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA_H 1 + cat >> confdefs.h <&6 -echo "configure:16557: checking for alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then +echo $ac_n "checking for usable $cf_x_athena/Xmu package""... $ac_c" 1>&6 +echo "configure:22296: checking for usable $cf_x_athena/Xmu package" >&5 +if eval "test \"`echo '$''{'cf_cv_xaw_compat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - cat > conftest.$ac_ext < conftest.$ac_ext < -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif +#include int main() { -char *p = (char *) alloca(1); + +int check = XmuCompareISOLatin1("big", "small") + ; return 0; } EOF -if { (eval echo configure:16590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_func_alloca_works=yes +if { (eval echo configure:22313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_xaw_compat=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_func_alloca_works=no + + cf_cv_xaw_compat=no fi -rm -f conftest* +rm -rf conftest* fi -echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 -if test $ac_cv_func_alloca_works = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF +echo "$ac_t""$cf_cv_xaw_compat" 1>&6 -fi + if test "$cf_cv_xaw_compat" = no + then + # workaround for broken ".pc" files... + case "$cf_x_athena_lib" in #(vi + *-lXmu*) #(vi + ;; + *) + test -n "$verbose" && echo " work around broken package" 1>&6 -if test $ac_cv_func_alloca_works = no; then - # The SVR3 libPW and SVR4 libucb both contain incompatible functions - # that cause trouble. Some versions do not even contain alloca or - # contain a buggy version. If you still want to use their alloca, - # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.${ac_objext} - cat >> confdefs.h <<\EOF -#define C_ALLOCA 1 -EOF +echo "${as_me:-configure}:22336: testing work around broken package ..." 1>&5 -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:16622: checking whether alloca needs Cray hooks" >&5 -if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 | - egrep "webecray" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_os_cray=yes -else - rm -rf conftest* - ac_cv_os_cray=no -fi -rm -f conftest* -fi +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xmu; then + test -n "$verbose" && echo " found package xmu" 1>&6 -echo "$ac_t""$ac_cv_os_cray" 1>&6 -if test $ac_cv_os_cray = yes; then -for ac_func in _getb67 GETB67 getb67; do - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:16652: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); +echo "${as_me:-configure}:22345: testing found package xmu ..." 1>&5 -int main() { -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif + cf_pkgconfig_incs="`$PKG_CONFIG --cflags xmu 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs xmu 2>/dev/null`" + test -n "$verbose" && echo " package xmu CFLAGS: $cf_pkgconfig_incs" 1>&6 -; return 0; } -EOF -if { (eval echo configure:16680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi +echo "${as_me:-configure}:22352: testing package xmu CFLAGS: $cf_pkgconfig_incs ..." 1>&5 + + + test -n "$verbose" && echo " package xmu LIBS: $cf_pkgconfig_libs" 1>&6 + +echo "${as_me:-configure}:22357: testing package xmu LIBS: $cf_pkgconfig_libs ..." 1>&5 + + + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in $cf_pkgconfig_incs +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <&6 -fi + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac done -fi -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:16707: checking stack direction for C alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat > conftest.$ac_ext < addr) ? 1 : -1; -} -main () -{ - exit (find_stack_direction() < 0); -} -EOF -if { (eval echo configure:16734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_c_stack_direction=1 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_stack_direction=-1 -fi -rm -fr conftest* +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" fi +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi -echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 -cat >> confdefs.h <&6 +echo "${as_me:-configure}:22448: testing ...before $LIBS ..." 1>&5 -for cf_hdr in iconv.h -do - echo $ac_n "checking for $cf_hdr""... $ac_c" 1>&6 -echo "configure:16779: checking for $cf_hdr" >&5 - cat > conftest.$ac_ext < -#include <$cf_hdr> +LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lXmu ," -e 's/ / /g'` +test -n "$verbose" && echo " ...after $LIBS" 1>&6 -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:16789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - cf_found=yes +echo "${as_me:-configure}:22454: testing ...after $LIBS ..." 1>&5 + + + +fi + + ;; + esac + fi + + break else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - cf_found=no + : fi -rm -f conftest* -echo "$ac_t""$cf_found" 1>&6 -if test $cf_found = yes ; then + + done +fi + +if test -z "$cf_x_athena_lib" ; then -cf_tr_hdr=`echo "$cf_hdr" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` - cat >> confdefs.h <&6 -echo "configure:16815: checking for iconv_open() //TRANSLIT extension" >&5 -if test "$cross_compiling" = yes; then - echo "$ac_t""unknown" 1>&6 +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists Xext; then + test -n "$verbose" && echo " found package Xext" 1>&6 -else - cat > conftest.$ac_ext <&5 -#ifdef HAVE_ICONV_H -# include -#endif /* HAVE_ICONV_H */ -#ifdef HAVE_STDLIB_H -# include -#endif /* HAVE_STDLIB_H */ -int main() { - iconv_t cd; - if ((cd = iconv_open("US-ASCII//TRANSLIT", "ISO-8859-1")) == (iconv_t) (-1)) - exit(1); - exit(0); -} -EOF -if { (eval echo configure:16838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - cat >> confdefs.h <<\EOF -#define HAVE_ICONV_OPEN_TRANSLIT 1 -EOF - echo "$ac_t""yes" 1>&6 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - echo "$ac_t""no" 1>&6 -fi -rm -fr conftest* -fi + cf_pkgconfig_incs="`$PKG_CONFIG --cflags Xext 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs Xext 2>/dev/null`" + test -n "$verbose" && echo " package Xext CFLAGS: $cf_pkgconfig_incs" 1>&6 +echo "${as_me:-configure}:22487: testing package Xext CFLAGS: $cf_pkgconfig_incs ..." 1>&5 -# tin has mkdirs.sh instead of mkinstalldirs, overwrite the result of test -# in gettext.m4 -MKINSTALLDIRS="\$(top_srcdir)/mkdirs.sh" + test -n "$verbose" && echo " package Xext LIBS: $cf_pkgconfig_libs" 1>&6 +echo "${as_me:-configure}:22492: testing package Xext LIBS: $cf_pkgconfig_libs ..." 1>&5 -if test "$cf_cv_termlib" = pdcurses ; then - if test "$no_x" = yes; then - # Not all programs may use this symbol, but it does not hurt to define it. - cat >> confdefs.h <<\EOF -#define X_DISPLAY_MISSING 1 -EOF - X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= -else - if test -n "$x_includes"; then - X_CFLAGS="$X_CFLAGS -I$x_includes" - fi + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= - # It would also be nice to do this for all -L options, not just this one. - if test -n "$x_libraries"; then - X_LIBS="$X_LIBS -L$x_libraries" - # For Solaris; some versions of Sun CC require a space after -R and - # others require no space. Words are not sufficient . . . . - case "`(uname -sr) 2>/dev/null`" in - "SunOS 5"*) - echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:16881: checking whether -R must be followed by a space" >&5 - ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_R_nospace=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_R_nospace=no + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" fi -rm -f conftest* - if test $ac_R_nospace = yes; then - echo "$ac_t""no" 1>&6 - X_LIBS="$X_LIBS -R$x_libraries" - else - LIBS="$ac_xsave_LIBS -R $x_libraries" - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_R_space=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_R_space=no +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi -rm -f conftest* - if test $ac_R_space = yes; then - echo "$ac_t""yes" 1>&6 - X_LIBS="$X_LIBS -R $x_libraries" - else - echo "$ac_t""neither works" 1>&6 - fi - fi - LIBS="$ac_xsave_LIBS" - esac - fi - # Check for system-dependent libraries X programs must link with. - # Do this before checking for the system-independent R6 libraries - # (-lICE), since we may need -lsocket or whatever for X linking. - if test "$ISC" = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" - else - # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X - # libraries were built with DECnet support. And karl@cs.umb.edu says - # the Alpha needs dnet_stub (dnet does not exist). - echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:16946: checking for dnet_ntoa in -ldnet" >&5 -ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` + + + LIBS="$cf_pkgconfig_libs $LIBS" + : +else + + echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6 +echo "configure:22582: checking for XextCreateExtension in -lXext" >&5 +ac_lib_var=`echo Xext'_'XextCreateExtension | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-ldnet $LIBS" +LIBS="-lXext $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:22601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" + LIBS="-lXext $LIBS" else echo "$ac_t""no" 1>&6 fi - if test $ac_cv_lib_dnet_dnet_ntoa = no; then - echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:16987: checking for dnet_ntoa in -ldnet_stub" >&5 -ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then +fi + + + + + + +cf_have_X_LIBS=no + + + + +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists xt; then + test -n "$verbose" && echo " found package xt" 1>&6 + +echo "${as_me:-configure}:22636: testing found package xt ..." 1>&5 + + + cf_pkgconfig_incs="`$PKG_CONFIG --cflags xt 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs xt 2>/dev/null`" + test -n "$verbose" && echo " package xt CFLAGS: $cf_pkgconfig_incs" 1>&6 + +echo "${as_me:-configure}:22643: testing package xt CFLAGS: $cf_pkgconfig_incs ..." 1>&5 + + + test -n "$verbose" && echo " package xt LIBS: $cf_pkgconfig_libs" 1>&6 + +echo "${as_me:-configure}:22648: testing package xt LIBS: $cf_pkgconfig_libs ..." 1>&5 + + + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in $cf_pkgconfig_incs +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi + +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi + +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +fi + + + + + LIBS="$cf_pkgconfig_libs $LIBS" + + + case "x$LIBS" in #(vi + *-lX11*) #(vi + ;; + *) +# we have an "xt" package, but it may omit Xt's dependency on X11 +echo $ac_n "checking for usable X dependency""... $ac_c" 1>&6 +echo "configure:22742: checking for usable X dependency" >&5 +if eval "test \"`echo '$''{'cf_cv_xt_x11_compat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-ldnet_stub $LIBS" + cat > conftest.$ac_ext < int main() { -dnet_ntoa() + + int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0); + int rc2 = XClearWindow((Display*) 0, (Window) 0); + int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0); + int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0); + ; return 0; } EOF -if { (eval echo configure:17006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:22762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_xt_x11_compat=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + cf_cv_xt_x11_compat=no fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" -else - echo "$ac_t""no" 1>&6 +rm -rf conftest* fi - fi +echo "$ac_t""$cf_cv_xt_x11_compat" 1>&6 + if test "$cf_cv_xt_x11_compat" = no + then + test -n "$verbose" && echo " work around broken X11 dependency" 1>&6 - # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, - # to get the SysV transport functions. - # chad@anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4) - # needs -lnsl. - # The nsl library prevents programs from opening the X display - # on Irix 5.2, according to dickey@clark.net. - echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:17035: checking for gethostbyname" >&5 -if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname(); +echo "${as_me:-configure}:22779: testing work around broken X11 dependency ..." 1>&5 + + + # 2010/11/19 - good enough until a working Xt on Xcb is delivered. + + + +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists x11; then + test -n "$verbose" && echo " found package x11" 1>&6 + +echo "${as_me:-configure}:22789: testing found package x11 ..." 1>&5 + + + cf_pkgconfig_incs="`$PKG_CONFIG --cflags x11 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs x11 2>/dev/null`" + test -n "$verbose" && echo " package x11 CFLAGS: $cf_pkgconfig_incs" 1>&6 + +echo "${as_me:-configure}:22796: testing package x11 CFLAGS: $cf_pkgconfig_incs ..." 1>&5 + + + test -n "$verbose" && echo " package x11 LIBS: $cf_pkgconfig_libs" 1>&6 + +echo "${as_me:-configure}:22801: testing package x11 LIBS: $cf_pkgconfig_libs ..." 1>&5 + + + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in $cf_pkgconfig_incs +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" -int main() { + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) -choke me -#else -gethostbyname(); -#endif + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done -; return 0; } -EOF -if { (eval echo configure:17063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_gethostbyname=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_gethostbyname=no" +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" fi -rm -f conftest* + +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi -if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi - if test $ac_cv_func_gethostbyname = no; then - echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:17084: checking for gethostbyname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lnsl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" + + LIBS="$cf_pkgconfig_libs $LIBS" + : else - echo "$ac_t""no" 1>&6 -fi + +test -n "$verbose" && echo " ...before $LIBS" 1>&6 - fi +echo "${as_me:-configure}:22892: testing ...before $LIBS ..." 1>&5 - # lieder@skyler.mavd.honeywell.com says without -lsocket, - # socket/setsockopt and other routines are undefined under SCO ODT - # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary - # on later versions), says simon@lia.di.epfl.ch: it contains - # gethostby* variants that don't use the nameserver (or something). - # -lsocket must be given before -lnsl if both are needed. - # We assume that if connect needs -lnsl, so does gethostbyname. - echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:17133: checking for connect" >&5 -if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect(); -int main() { +LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt -lX11 ," -e 's/ / /g'` +test -n "$verbose" && echo " ...after $LIBS" 1>&6 + +echo "${as_me:-configure}:22898: testing ...after $LIBS ..." 1>&5 -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_connect) || defined (__stub___connect) -choke me -#else -connect(); -#endif -; return 0; } -EOF -if { (eval echo configure:17161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_connect=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_connect=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 fi - if test $ac_cv_func_connect = no; then - echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:17182: checking for connect in -lsocket" >&5 -ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + fi + ;; + esac + +echo $ac_n "checking for usable X Toolkit package""... $ac_c" 1>&6 +echo "configure:22909: checking for usable X Toolkit package" >&5 +if eval "test \"`echo '$''{'cf_cv_xt_ice_compat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $X_EXTRA_LIBS $LIBS" + cat > conftest.$ac_ext < int main() { -connect() +int num = IceConnectionNumber(0) + ; return 0; } EOF -if { (eval echo configure:17201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +if { (eval echo configure:22925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + + cf_cv_xt_ice_compat=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" + cf_cv_xt_ice_compat=no fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" -else - echo "$ac_t""no" 1>&6 +rm -rf conftest* fi - fi +echo "$ac_t""$cf_cv_xt_ice_compat" 1>&6 - # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. - echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:17225: checking for remove" >&5 -if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove(); + if test "$cf_cv_xt_ice_compat" = no + then + # workaround for broken ".pc" files used for X Toolkit. + case "x$X_PRE_LIBS" in #(vi + *-lICE*) + case "x$LIBS" in #(vi + *-lICE*) #(vi + ;; + *) + test -n "$verbose" && echo " work around broken ICE dependency" 1>&6 -int main() { +echo "${as_me:-configure}:22950: testing work around broken ICE dependency ..." 1>&5 -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_remove) || defined (__stub___remove) -choke me -#else -remove(); -#endif -; return 0; } -EOF -if { (eval echo configure:17253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_remove=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_remove=no" + + + +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists ice; then + test -n "$verbose" && echo " found package ice" 1>&6 + +echo "${as_me:-configure}:22959: testing found package ice ..." 1>&5 + + + cf_pkgconfig_incs="`$PKG_CONFIG --cflags ice 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs ice 2>/dev/null`" + test -n "$verbose" && echo " package ice CFLAGS: $cf_pkgconfig_incs" 1>&6 + +echo "${as_me:-configure}:22966: testing package ice CFLAGS: $cf_pkgconfig_incs ..." 1>&5 + + + test -n "$verbose" && echo " package ice LIBS: $cf_pkgconfig_libs" 1>&6 + +echo "${as_me:-configure}:22971: testing package ice LIBS: $cf_pkgconfig_libs ..." 1>&5 + + + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in $cf_pkgconfig_incs +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" fi -rm -f conftest* + +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi -if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi - if test $ac_cv_func_remove = no; then - echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:17274: checking for remove in -lposix" >&5 -ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lposix $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" -else - echo "$ac_t""no" 1>&6 -fi - fi + LIBS="$cf_pkgconfig_libs $LIBS" + - # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:17317: checking for shmat" >&5 -if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shmat(); -int main() { +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists sm; then + test -n "$verbose" && echo " found package sm" 1>&6 -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_shmat) || defined (__stub___shmat) -choke me -#else -shmat(); -#endif +echo "${as_me:-configure}:23063: testing found package sm ..." 1>&5 -; return 0; } -EOF -if { (eval echo configure:17345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_shmat=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_shmat=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 -fi + cf_pkgconfig_incs="`$PKG_CONFIG --cflags sm 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs sm 2>/dev/null`" + test -n "$verbose" && echo " package sm CFLAGS: $cf_pkgconfig_incs" 1>&6 - if test $ac_cv_func_shmat = no; then - echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:17366: checking for shmat in -lipc" >&5 -ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lipc $LIBS" -cat > conftest.$ac_ext <&5 -int main() { -shmat() -; return 0; } -EOF -if { (eval echo configure:17385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + + test -n "$verbose" && echo " package sm LIBS: $cf_pkgconfig_libs" 1>&6 + +echo "${as_me:-configure}:23075: testing package sm LIBS: $cf_pkgconfig_libs ..." 1>&5 + + + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in $cf_pkgconfig_incs +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" fi -rm -f conftest* -LIBS="$ac_save_LIBS" +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" -else - echo "$ac_t""no" 1>&6 + +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi - fi - fi - # Check for libraries that X11R6 Xt/Xaw programs need. - ac_save_LDFLAGS="$LDFLAGS" - test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" - # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to - # check for ICE first), but we must link in the order -lSM -lICE or - # we get undefined symbols. So assume we have SM if we have ICE. - # These have to be linked with before -lX11, unlike the other - # libraries we check for below, so use a different variable. - # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. - echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:17418: checking for IceConnectionNumber in -lICE" >&5 -ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lICE $X_EXTRA_LIBS $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" + + LIBS="$cf_pkgconfig_libs $LIBS" + : else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + : fi -rm -f conftest* -LIBS="$ac_save_LIBS" -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" else - echo "$ac_t""no" 1>&6 -fi + +test -n "$verbose" && echo " ...before $LIBS" 1>&6 - LDFLAGS="$ac_save_LDFLAGS" +echo "${as_me:-configure}:23170: testing ...before $LIBS ..." 1>&5 -fi +LIBS=`echo "$LIBS" | sed -e "s/[ ][ ]*/ /g" -e "s,-lXt ,-lXt $X_PRE_LIBS ," -e 's/ / /g'` +test -n "$verbose" && echo " ...after $LIBS" 1>&6 +echo "${as_me:-configure}:23176: testing ...after $LIBS ..." 1>&5 -# SYSTEM_NAME=`echo "$cf_cv_system_name"|tr ' ' -` +fi -cf_have_X_LIBS=no + ;; + esac + ;; + esac + fi + + cf_have_X_LIBS=yes + +else + + + LDFLAGS="$X_LIBS $LDFLAGS" + +test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6 -LDFLAGS="$X_LIBS $LDFLAGS" +echo "${as_me:-configure}:23197: testing checking additions to CFLAGS ..." 1>&5 -test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6 cf_check_cflags="$CFLAGS" cf_check_cppflags="$CPPFLAGS" @@ -17488,8 +23215,8 @@ no) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes if test $cf_fix_cppflags = yes ; then cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" @@ -17504,6 +23231,16 @@ no) *$cf_add_cflags) #(vi ;; *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" ;; esac @@ -17519,8 +23256,8 @@ yes) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no ;; esac done @@ -17528,18 +23265,27 @@ done if test -n "$cf_new_cflags" ; then test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6 +echo "${as_me:-configure}:23269: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5 + + CFLAGS="$CFLAGS $cf_new_cflags" fi if test -n "$cf_new_cppflags" ; then test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6 - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" +echo "${as_me:-configure}:23278: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi if test -n "$cf_new_extra_cppflags" ; then test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6 +echo "${as_me:-configure}:23287: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5 + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi @@ -17548,38 +23294,44 @@ fi if test "$cf_check_cflags" != "$CFLAGS" ; then cat > conftest.$ac_ext < int main() { printf("Hello world"); ; return 0; } EOF -if { (eval echo configure:17559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:23305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6 +echo "${as_me:-configure}:23313: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5 + + if test "$cf_check_cppflags" != "$CPPFLAGS" ; then test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6 +echo "${as_me:-configure}:23319: testing but keeping change to \$CPPFLAGS ..." 1>&5 + + fi CFLAGS="$cf_check_flags" fi -rm -f conftest* +rm -rf conftest* fi -echo $ac_n "checking for XOpenDisplay""... $ac_c" 1>&6 -echo "configure:17578: checking for XOpenDisplay" >&5 + echo $ac_n "checking for XOpenDisplay""... $ac_c" 1>&6 +echo "configure:23330: checking for XOpenDisplay" >&5 if eval "test \"`echo '$''{'ac_cv_func_XOpenDisplay'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:23358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_func_XOpenDisplay=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_func_XOpenDisplay=no" fi -rm -f conftest* +rm -rf conftest* fi if eval "test \"`echo '$ac_cv_func_'XOpenDisplay`\" = yes"; then @@ -17620,8 +23372,8 @@ if eval "test \"`echo '$ac_cv_func_'XOpe else echo "$ac_t""no" 1>&6 -echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:17625: checking for XOpenDisplay in -lX11" >&5 + echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 +echo "configure:23377: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17629,7 +23381,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:23396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi @@ -17663,13 +23415,13 @@ fi fi -echo $ac_n "checking for XtAppInitialize""... $ac_c" 1>&6 -echo "configure:17668: checking for XtAppInitialize" >&5 + echo $ac_n "checking for XtAppInitialize""... $ac_c" 1>&6 +echo "configure:23420: checking for XtAppInitialize" >&5 if eval "test \"`echo '$''{'ac_cv_func_XtAppInitialize'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:23448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_func_XtAppInitialize=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_func_XtAppInitialize=no" fi -rm -f conftest* +rm -rf conftest* fi if eval "test \"`echo '$ac_cv_func_'XtAppInitialize`\" = yes"; then @@ -17710,8 +23462,8 @@ if eval "test \"`echo '$ac_cv_func_'XtAp else echo "$ac_t""no" 1>&6 -echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6 -echo "configure:17715: checking for XtAppInitialize in -lXt" >&5 + echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6 +echo "configure:23467: checking for XtAppInitialize in -lXt" >&5 ac_lib_var=`echo Xt'_'XtAppInitialize | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -17719,7 +23471,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:23486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi @@ -17749,8 +23501,8 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_l #define HAVE_LIBXT 1 EOF - cf_have_X_LIBS=Xt - LIBS="-lXt $X_PRE_LIBS $LIBS" + cf_have_X_LIBS=Xt + LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS" else echo "$ac_t""no" 1>&6 fi @@ -17758,112 +23510,18 @@ fi fi +fi + + if test $cf_have_X_LIBS = no ; then echo "configure: warning: Unable to successfully link X Toolkit library (-lXt) with test program. You will have to check and add the proper libraries by hand to makefile." 1>&2 fi - -cf_x_athena=${cf_x_athena-Xaw} - -echo $ac_n "checking if you want to link with Xaw 3d library""... $ac_c" 1>&6 -echo "configure:17772: checking if you want to link with Xaw 3d library" >&5 -withval= - -# Check whether --with-Xaw3d or --without-Xaw3d was given. -if test "${with_Xaw3d+set}" = set; then - withval="$with_Xaw3d" - : -fi - -if test "$withval" = yes ; then - cf_x_athena=Xaw3d - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -echo $ac_n "checking if you want to link with neXT Athena library""... $ac_c" 1>&6 -echo "configure:17789: checking if you want to link with neXT Athena library" >&5 -withval= - -# Check whether --with-neXtaw or --without-neXtaw was given. -if test "${with_neXtaw+set}" = set; then - withval="$with_neXtaw" - : -fi - -if test "$withval" = yes ; then - cf_x_athena=neXtaw - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -echo $ac_n "checking if you want to link with Athena-Plus library""... $ac_c" 1>&6 -echo "configure:17806: checking if you want to link with Athena-Plus library" >&5 -withval= - -# Check whether --with-XawPlus or --without-XawPlus was given. -if test "${with_XawPlus+set}" = set; then - withval="$with_XawPlus" - : -fi - -if test "$withval" = yes ; then - cf_x_athena=XawPlus - echo "$ac_t""yes" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6 -echo "configure:17823: checking for XextCreateExtension in -lXext" >&5 -ac_lib_var=`echo Xext'_'XextCreateExtension | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lXext $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="-lXext $LIBS" -else - echo "$ac_t""no" 1>&6 -fi - - -cf_x_athena_lib="" - - + cf_x_athena_root=$cf_x_athena -cf_x_athena_include="" +cf_x_athena_inc="" for cf_path in default \ /usr/contrib/X11R6 \ @@ -17871,19 +23529,19 @@ for cf_path in default \ /usr/lib/X11R5 \ /usr/local do - if test -z "$cf_x_athena_include" ; then + if test -z "$cf_x_athena_inc" ; then cf_save="$CPPFLAGS" cf_test=X11/$cf_x_athena_root/SimpleMenu.h if test $cf_path != default ; then - CPPFLAGS="-I$cf_path/include $cf_save" + CPPFLAGS="$cf_save -I$cf_path/include" echo $ac_n "checking for $cf_test in $cf_path""... $ac_c" 1>&6 -echo "configure:17881: checking for $cf_test in $cf_path" >&5 +echo "configure:23539: checking for $cf_test in $cf_path" >&5 else echo $ac_n "checking for $cf_test""... $ac_c" 1>&6 -echo "configure:17884: checking for $cf_test" >&5 +echo "configure:23542: checking for $cf_test" >&5 fi cat > conftest.$ac_ext < @@ -17892,7 +23550,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:17896: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:23554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_result=yes else @@ -17904,7 +23562,7 @@ fi rm -f conftest* echo "$ac_t""$cf_result" 1>&6 if test "$cf_result" = yes ; then - cf_x_athena_include=$cf_path + cf_x_athena_inc=$cf_path break else CPPFLAGS="$cf_save" @@ -17912,13 +23570,13 @@ rm -f conftest* fi done -if test -z "$cf_x_athena_include" ; then +if test -z "$cf_x_athena_inc" ; then echo "configure: warning: Unable to successfully find Athena header files with test program" 1>&2 -elif test "$cf_x_athena_include" != default ; then - CPPFLAGS="$CPPFLAGS -I$cf_x_athena_include" +elif test "$cf_x_athena_inc" != default ; then + CPPFLAGS="$CPPFLAGS -I$cf_x_athena_inc" fi - + cf_x_athena_root=$cf_x_athena cf_x_athena_lib="" @@ -17939,40 +23597,40 @@ do if test $cf_path != default ; then LIBS="-L$cf_path/lib $cf_lib $LIBS" echo $ac_n "checking for $cf_lib in $cf_path""... $ac_c" 1>&6 -echo "configure:17943: checking for $cf_lib in $cf_path" >&5 +echo "configure:23601: checking for $cf_lib in $cf_path" >&5 else LIBS="$cf_lib $LIBS" echo $ac_n "checking for $cf_test in $cf_lib""... $ac_c" 1>&6 -echo "configure:17947: checking for $cf_test in $cf_lib" >&5 +echo "configure:23605: checking for $cf_test in $cf_lib" >&5 fi - cf_SAVE="$LIBS" - LIBS="$X_PRE_LIBS $LIBS $X_EXTRA_LIBS" cat > conftest.$ac_ext < +#include + int main() { -$cf_test() + +$cf_test((XtAppContext) 0) ; return 0; } EOF -if { (eval echo configure:17959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:23619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + cf_result=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + cf_result=no fi -rm -f conftest* +rm -rf conftest* echo "$ac_t""$cf_result" 1>&6 if test "$cf_result" = yes ; then cf_x_athena_lib="$cf_lib" - LIBS="$cf_SAVE" break - else - LIBS="$cf_save" fi + LIBS="$cf_save" fi done done @@ -17989,13 +23647,69 @@ cat >> confdefs.h <&6 +echo "configure:23661: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_XCURSES_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$XCURSES_CONFIG" in + /*) + ac_cv_path_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_XCURSES_CONFIG="$XCURSES_CONFIG" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_XCURSES_CONFIG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac +fi +XCURSES_CONFIG="$ac_cv_path_XCURSES_CONFIG" +if test -n "$XCURSES_CONFIG"; then + echo "$ac_t""$XCURSES_CONFIG" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$XCURSES_CONFIG" && break +done +test -n "$XCURSES_CONFIG" || XCURSES_CONFIG="none" + + +if test "$XCURSES_CONFIG" != none ; then +CPPFLAGS="$CPPFLAGS `$XCURSES_CONFIG --cflags`" +LIBS="`$XCURSES_CONFIG --libs` $LIBS" +cf_cv_lib_XCurses=yes + +else LDFLAGS="$LDFLAGS $X_LIBS" test -n "$verbose" && echo " checking additions to CFLAGS" 1>&6 +echo "${as_me:-configure}:23711: testing checking additions to CFLAGS ..." 1>&5 + + cf_check_cflags="$CFLAGS" cf_check_cppflags="$CPPFLAGS" @@ -18015,8 +23729,8 @@ no) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes if test $cf_fix_cppflags = yes ; then cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" @@ -18031,6 +23745,16 @@ no) *$cf_add_cflags) #(vi ;; *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" ;; esac @@ -18046,8 +23770,8 @@ yes) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no ;; esac done @@ -18055,18 +23779,27 @@ done if test -n "$cf_new_cflags" ; then test -n "$verbose" && echo " add to \$CFLAGS $cf_new_cflags" 1>&6 +echo "${as_me:-configure}:23783: testing add to \$CFLAGS $cf_new_cflags ..." 1>&5 + + CFLAGS="$CFLAGS $cf_new_cflags" fi if test -n "$cf_new_cppflags" ; then test -n "$verbose" && echo " add to \$CPPFLAGS $cf_new_cppflags" 1>&6 - CPPFLAGS="$cf_new_cppflags $CPPFLAGS" +echo "${as_me:-configure}:23792: testing add to \$CPPFLAGS $cf_new_cppflags ..." 1>&5 + + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi if test -n "$cf_new_extra_cppflags" ; then test -n "$verbose" && echo " add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags" 1>&6 +echo "${as_me:-configure}:23801: testing add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags ..." 1>&5 + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi @@ -18075,32 +23808,38 @@ fi if test "$cf_check_cflags" != "$CFLAGS" ; then cat > conftest.$ac_ext < int main() { printf("Hello world"); ; return 0; } EOF -if { (eval echo configure:18086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:23819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + test -n "$verbose" && echo " test-compile failed. Undoing change to \$CFLAGS" 1>&6 +echo "${as_me:-configure}:23827: testing test-compile failed. Undoing change to \$CFLAGS ..." 1>&5 + + if test "$cf_check_cppflags" != "$CPPFLAGS" ; then test -n "$verbose" && echo " but keeping change to \$CPPFLAGS" 1>&6 +echo "${as_me:-configure}:23833: testing but keeping change to \$CPPFLAGS ..." 1>&5 + + fi CFLAGS="$cf_check_flags" fi -rm -f conftest* +rm -rf conftest* fi echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:18104: checking for XOpenDisplay in -lX11" >&5 +echo "configure:23843: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -18108,7 +23847,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:23862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi -rm -f conftest* +rm -rf conftest* LIBS="$ac_save_LIBS" fi @@ -18140,14 +23879,14 @@ else fi echo $ac_n "checking for XCurses library""... $ac_c" 1>&6 -echo "configure:18144: checking for XCurses library" >&5 +echo "configure:23883: checking for XCurses library" >&5 if eval "test \"`echo '$''{'cf_cv_lib_XCurses'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else LIBS="-lXCurses $LIBS" cat > conftest.$ac_ext < @@ -18157,20 +23896,23 @@ int main() { XCursesExit(); ; return 0; } EOF -if { (eval echo configure:18161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +if { (eval echo configure:23900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + cf_cv_lib_XCurses=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - rm -rf conftest* + cf_cv_lib_XCurses=no fi -rm -f conftest* +rm -rf conftest* fi echo "$ac_t""$cf_cv_lib_XCurses" 1>&6 + +fi + if test $cf_cv_lib_XCurses = yes ; then cat >> confdefs.h <<\EOF #define UNIX 1 @@ -18180,11 +23922,43 @@ EOF #define XCURSES 1 EOF - cat >> confdefs.h <<\EOF + ac_safe=`echo "xcurses.h" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for xcurses.h""... $ac_c" 1>&6 +echo "configure:23928: checking for xcurses.h" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:23938: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_XCURSES 1 EOF else + echo "$ac_t""no" 1>&6 +fi + +else { echo "configure: error: Cannot link with XCurses" 1>&2; exit 1; } fi @@ -18192,18 +23966,21 @@ fi ### sum up warnings if test "$cf_cv_termlib" = none ; then - echo "configure: warning: no term-lib found" 1>&2 + echo "configure: warning: no term-lib found, you might run into trouble later." 1>&2 fi if test "$YACC" = "" ; then - echo "configure: warning: no yacc-parser found" 1>&2 + echo "configure: warning: no yacc-parser found, you might run into trouble later." 1>&2 fi if test "$RANLIB" = "" ; then - echo "configure: warning: no library archive builder found" 1>&2 + echo "configure: warning: no library archive builder found, you might run into trouble later." 1>&2 fi ### Finally, build autoconf.h and the makefiles CFLAGS="$CFLAGS $EXTRA_CFLAGS" +LINTFLAGS=$LINTFLAGS + + cf_define=`echo "$CC"|sed -e 's/\\\\/\\\\134/g' -e 's/^[ ]\\+//' -e 's/[ ]\\+$//' -e 's/"/\\\\042/g'` cat >> confdefs.h <> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF @@ -18714,35 +24501,39 @@ cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.inn. - case "$ac_file" in */[Mm]akefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - ac_base=`basename $ac_file .in` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base" - sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base" - fi - ;; + + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + + # PO directories have a Makefile.in generated from Makefile.inn. + case "$ac_file" in */[Mm]akefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + ac_base=`basename $ac_file .in` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac - done + + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base" + sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base" + fi + ;; + esac + done # Extra commands, if any exit 0 diff -Nurp --exclude='.bzr*' tin-1.8.3/configure.in tin-2.0.0/configure.in --- tin-1.8.3/configure.in 2007-02-01 14:11:14.000000000 +0100 +++ tin-2.0.0/configure.in 2011-08-23 00:03:55.029301209 +0200 @@ -2,10 +2,10 @@ dnl Project : tin - a Usenet reader dnl Module : configure.in dnl Author : Thomas E. Dickey dnl Created : 1995-08-24 -dnl Updated : 2005-07-16 +dnl Updated : 2011-08-07 dnl Notes : dnl -dnl Copyright (c) 1995-2006 Thomas E. Dickey +dnl Copyright (c) 1995-2011 Thomas E. Dickey dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -34,14 +34,14 @@ dnl SOFTWARE, EVEN IF ADVISED OF THE POS dnl dnl Process this file with autoconf to produce a configure script. -AC_PREREQ(2.13.20020210) +AC_PREREQ(2.13.20110430) AC_INIT(include/tin.h) AC_CONFIG_HEADER(include/autoconf.h:include/autoconf.hin) AC_PREFIX_DEFAULT(/usr/local) dnl PACKAGE is required for GNU gettext PACKAGE=tin -VERSION=1.8.3 +VERSION=2.0.0 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_SUBST(PACKAGE) @@ -49,6 +49,7 @@ AC_SUBST(VERSION) CF_CHECK_CACHE +CF_PATHSEP CF_WITH_PATH(install-prefix, [ --with-install-prefix prefixes actual install location], DESTDIR,/) @@ -60,6 +61,8 @@ case ".$DESTDIR" in # (vi ;; esac +AC_ARG_PROGRAM + ### Compiler/options that autoconf doesn't get right case "$host_os" in aix*) #(vi @@ -76,7 +79,7 @@ case "$host_os" in esac ### Native Language Support -ALL_LINGUAS="de en_GB et fr ru rw sv tr" +ALL_LINGUAS="da de en_GB et fr ru sv tr" ### Checks for programs save_CFLAGS="$CFLAGS" @@ -88,6 +91,7 @@ CF_PROG_YACC AC_CHECK_PROGS(LINT, lint alint lclint tdlint splint, :) AC_AIX CF_XOPEN_SOURCE +CF_SIGWINCH AC_ISC_POSIX CF_ANSI_CC_REQD CF_PROG_EXT @@ -99,21 +103,21 @@ CF_BUILD_CC([-I$(INCDIR)],[]) dnl These are standard among *NIX systems, but not when cross-compiling AC_CHECK_TOOL(RANLIB, ranlib, ':') AC_CHECK_TOOL(LD, ld, ld) -AC_CHECK_TOOL(AR, ar, ar) -CF_SUBST(archiver options,AR_OPTS,rv) +CF_PROG_AR +CF_AR_FLAGS case "$host_cpu:$host_vendor:$host_os" in # check for MacOS X, exclude Darwin on ix86 - powerpc:apple:darwin*) # - AC_DEFINE(MAC_OS_X) - ;; - # check for cygwin enviroment +# powerpc:apple:darwin*) #(vi +# AC_DEFINE(MAC_OS_X) +# ;; + # check for cygwin environment # -DSTATIC is needed for pcre *:*:*cygwin*) #(vi PCRE_DEFINES="$PCRE_DEFINES -DSTATIC" ;; - # SEIUX doesn't have any usefull preprocessor symbol - mips:sei:seiux*) + # SEIUX doesn't have any useful preprocessor symbol + mips:sei:seiux*) #(vi AC_DEFINE(SEIUX) ;; esac @@ -153,6 +157,10 @@ if test "$USE_PGP_GPG" = "yes" ; then [ --with-gpg (default: from system path)]) fi +## slrnface +CF_WITH_PROGRAM(slrnface, +[ --with-slrnface (default: from system path)]) + ## Default shell AC_ARG_WITH(shell, [ --with-shell=PROG default $SHELL program (default: sh)], @@ -182,7 +190,7 @@ fi ### use option --enable-debug to compile-in test/development code AC_MSG_CHECKING(if you want to compile-in debug support) CF_ARG_ENABLE(debug, - [ --enable-debug turn on debug/profiling/traces], + [ --enable-debug turn on debug support], [ENABLE_DEBUG='' CFLAGS="-g $CFLAGS" LDFLAGS="-g $LDFLAGS"], @@ -274,19 +282,6 @@ if test "$ac_cv_path_INEWS" != ""; then fi fi -## !NNTP_ONLY -if test "$USE_SPOOLDIR" = "yes"; then - ## options for libraries - AC_MSG_CHECKING(for optional INN-NNTP library) - CF_WITH_VALUE(inn-nntplib, - [ --with-inn-nntplib=PATH specify INN-NNTP library], - INN_NNTPLIB) - AC_MSG_RESULT($INN_NNTPLIB) -else - INN_NNTPLIB="" -fi -AC_SUBST(INN_NNTPLIB) - ### Look for network libraries first, since some functions (such as gethostname) ### are used in a lot of places. AC_CACHE_CHECK(if you want socks library,cf_cv_use_libsocks,[ @@ -316,7 +311,7 @@ fi ### first look for all available locking methods CF_LOCKFILE -AC_MSG_CHECKING(which locking method should be used) +AC_MSG_CHECKING(which locking method will be used) ### fcntl() is preferred, if the user just disables fcntl() ### without specifying an alternative lockf() is preferred CF_ARG_DISABLE(fcntl, @@ -337,7 +332,7 @@ if test -n "$cf_cv_lockfile"; then break fi done -### if none of them matched use the one with the higest priority +### if none of them matched use the one with the highest priority if test "x$used_locking" = "x"; then used_locking=`echo $cf_cv_lockfile|sed -e 's/^\([[^ ]]\+\).*/\1/g'` fi @@ -345,7 +340,8 @@ if test -n "$cf_cv_lockfile"; then CF_UPPER(used_locking,$used_locking) AC_DEFINE_UNQUOTED(USE_$used_locking) else - AC_MSG_WARN(None of fcntl(), lockf(), flock() available) + AC_MSG_RESULT(none); + AC_MSG_WARN([[None of fcntl(), lockf(), flock() available]]) fi @@ -362,9 +358,7 @@ AC_MSG_RESULT($cf_with_screen) use_curses=no use_ncurses=no -AC_MSG_CHECKING(if you specified curses install-directory) CF_WITH_CURSES_DIR($cf_with_screen) -AC_MSG_RESULT($cf_cv_curses_dir) case $cf_with_screen in #(vi termcap|terminfo) #(we will determine which it really is @@ -386,14 +380,14 @@ pdcurses) #(vi none) AC_MSG_CHECKING(if you want to use ncurses library) AC_ARG_WITH(ncurses, - [ --with-ncurses link with ncurses if available (depriciated)], + [ --with-ncurses link with ncurses if available (deprecated)], [use_ncurses=$withval], [use_ncurses=no]) AC_MSG_RESULT($use_ncurses) AC_MSG_CHECKING(if you want curses rather than termcap interface) CF_ARG_ENABLE(curses, - [ --enable-curses use curses interface (depriciated)], + [ --enable-curses use curses interface (deprecated)], [cf_with_screen=curses; use_curses=$withval], [cf_with_screen=termcap; use_curses=no]) AC_MSG_RESULT($enableval) @@ -404,22 +398,17 @@ if test $use_curses != no ; then AC_DEFINE(USE_CURSES) case $cf_with_screen in #(vi ncurses) #(vi - CF_NCURSES_CPPFLAGS - CF_NCURSES_LIBS + CF_NCURSES_CONFIG ;; ncursesw) #(vi CF_CHECK_HEADERS(stdlib.h wchar.h wctype.h) AM_MULTIBYTE_ABLE - CF_NCURSES_CPPFLAGS(ncursesw) - CF_NCURSES_LIBS(ncursesw) - CF_NCURSES_VERSION + CF_NCURSES_CONFIG(ncursesw) CF_XOPEN_CURSES test "$cf_cv_need_xopen_extension" = unknown && AC_ERROR(X/Open curses not found) ;; curses) #(vi - CF_CURSES_CPPFLAGS - CF_CURSES_LIBS - CF_NCURSES_VERSION + CF_CURSES_CONFIG CF_XOPEN_CURSES ;; esac @@ -436,7 +425,9 @@ CF_BUNDLED_PCRE($PCRE_HOME) PCRE_MAKEFILE= if test "$PCRE_HOME" = "no" ; then - PCRE_MAKEFILE="$PCRE_MAKEFILE pcre/Makefile pcre/RunTest pcre/pcre.h" + LINK_SIZE="-DLINK_SIZE=2" + AC_SUBST(LINK_SIZE) + PCRE_MAKEFILE="$PCRE_MAKEFILE pcre/Makefile pcre/RunTest" fi ## debugging libraries (do this after other libraries) @@ -444,22 +435,25 @@ debug_malloc=none CF_WITH_DBMALLOC(debug_malloc=DBMALLOC) CF_WITH_DMALLOC(debug_malloc=DMALLOC) -AC_MSG_CHECKING(if you want debugging-trace) +EXTRAO_DEP='#' AC_ARG_WITH(trace, - [ --with-trace use debugging/traces], - [use_trace=yes], - [use_trace=no]) -AC_MSG_RESULT($use_trace) -if test "$use_trace" = yes ; then - AC_DEFINE(USE_TRACE) - EXTRAOBJS="$EXTRAOBJS trace.o" + [ --with-trace use debugging/traces for screen output], + [ AC_CHECK_FUNC(_tracef,[AC_DEFINE(HAVE__TRACEF)],[ AC_CHECK_LIB(${cf_with_screen}_g,_tracef, [AC_DEFINE(HAVE__TRACEF) LIBS=`echo "$LIBS" | sed -e s/-l${cf_with_screen}// -e s/-lcurses//` - LIBS="-l${cf_with_screen}_g $LIBS"])]) -fi + LIBS="-l${cf_with_screen}_g $LIBS" + use_trace=yes + AC_DEFINE(USE_TRACE) + EXTRAO_DEP='' + EXTRAOBJS="$EXTRAOBJS trace.o"], + use_trace=no)])], + [use_trace=no]) +#AC_MSG_CHECKING(if you want debugging-trace) +#AC_MSG_RESULT($use_trace) AC_SUBST(EXTRAOBJS) +AC_SUBST(EXTRAO_DEP) ## options for miscellaneous definitions AC_MSG_CHECKING(for domain-name) @@ -516,6 +510,33 @@ CF_ARG_ENABLE(mh-mail-handling, [AC_DEFINE(HAVE_MH_MAIL_HANDLING)]) AC_MSG_RESULT($enableval) +CAN_MAKEFILE= +CANDIR_MAKE= +AC_MSG_CHECKING(whether to use Cancel-Locks) +CF_ARG_ENABLE(cancel-locks, + [ --enable-cancel-locks enable creation of Cancel-Locks], + [CANLIBS='-L../libcanlock -lcanlock' + CAN_MAKEFILE="libcanlock/Makefile" + AC_DEFINE(USE_CANLOCK)], + [CANDIR_MAKE='#' + CANLIBS='']) +AC_MSG_RESULT($enableval) +AC_SUBST(CANDIR_MAKE) +AC_SUBST(CANLIBS) + +## gsasl - used for AUTH SASL PLAIN +AC_CHECK_HEADER(gsasl.h, + AC_CHECK_LIB(gsasl, gsasl_check_version, gsasl=yes, gsasl=no), + gsasl=no) +if test "$gsasl" = "yes"; then + CF_ARG_DISABLE(gsasl, + [ --disable-gsasl don't use GNU SASL], + USE_SASL=no, + [USE_SASL=yes + AC_DEFINE(USE_SASL, 1, [Define to 1 if you want GNU SASL.]) + LIBS="$LIBS -lgsasl"]) +fi + AC_MSG_CHECKING(whether to enable 8-bit keycodes) CF_ARG_DISABLE(8bit-keys, [ --disable-8bit-keys disable 8-bit keycode support],, @@ -691,6 +712,7 @@ CF_CHECK_HEADERS(\ fcntl.h \ getopt.h \ ioctl.h \ + inttypes.h \ langinfo.h \ libc.h \ locale.h \ @@ -710,6 +732,7 @@ CF_CHECK_HEADERS(\ stdarg.h \ stdbool.h \ stddef.h \ + stdint.h \ stdlib.h \ string.h \ strings.h \ @@ -902,6 +925,7 @@ CF_STRERROR ### Checks for library functions. AC_CHECK_FUNCS(\ + alarm \ atoi \ atol \ bcopy \ @@ -913,13 +937,13 @@ AC_CHECK_FUNCS(\ fork \ ftime \ ftruncate \ + fsync \ getcwd \ gettimeofday \ getwd \ inet_aton \ is_xterm \ isascii \ - link \ lockf \ memcmp \ memcpy \ @@ -947,6 +971,7 @@ AC_CHECK_FUNCS(\ strdup \ strftime \ strpbrk \ + strrchr \ strrstr \ strsep \ strstr \ @@ -977,7 +1002,7 @@ AC_TRY_COMPILE([ #endif], [struct timeval *tv; struct timezone *tz; -gettimeofday(tv, tz);], +gettimeofday(&tv, &tz);], ac_cv_func_gettimeofday_2args=yes, ac_cv_func_gettimeofday_2args=no) AC_MSG_RESULT($ac_cv_func_gettimeofday_2args) if test $ac_cv_func_gettimeofday_2args = yes; then @@ -1076,6 +1101,7 @@ CF_CHECK_DECL(\ strchr \ strcasestr \ strsep \ + tmpfile \ ) dnl Check network stuff separately, to limit the effect of inconsistent headers @@ -1102,6 +1128,7 @@ if test $with_decl_check = yes; then CHECK_DECL_HDRS="$TIN_DECL_HDRS" CF_CHECK_DECL(\ _flsbuf \ + alarm \ atoi \ atol \ bcopy \ @@ -1122,7 +1149,6 @@ CF_CHECK_DECL(\ fwrite \ getcwd \ getopt \ - getpass \ getwd \ ioctl \ isascii \ @@ -1230,11 +1256,32 @@ int main() { AC_MSG_RESULT(unknown) ) - -# tin has mkdirs.sh instead of mkinstalldirs, overwrite the result of test -# in gettext.m4 -MKINSTALLDIRS="\$(top_srcdir)/mkdirs.sh" -AC_SUBST(MKINSTALLDIRS) +# FIXME / TESTME +# locale is broken on cygwin < 1.7.0 +# group/other bits don't work on cygwin < 1.7.0 +# locking doesn't work on cygwin +# link(2) is detected but doesn't work on cygwin +case "$host_os" in + *cygwin*) + case `uname -r | sed 's,(.*,,'` in + 1.7.*) + AC_DEFINE(NO_LOCKING) + ;; + *) + # link does not work + AC_DEFINE(NO_LOCALE) + AC_DEFINE(NO_LOCKING) + AC_DEFINE(FILE_MODE_BROKEN) + ;; + esac + ;; + *haiku*) + # link does not work + AC_DEFINE(NO_LOCKING) + ;; + *) + AC_CHECK_FUNC(link, AC_DEFINE(HAVE_LINK)) +esac if test "$cf_cv_termlib" = pdcurses ; then CF_PDCURSES_X11 @@ -1242,18 +1289,21 @@ fi ### sum up warnings if test "$cf_cv_termlib" = none ; then - AC_MSG_WARN(no term-lib found, you might run into trouble later.) + AC_MSG_WARN([no term-lib found, you might run into trouble later.]) fi if test "$YACC" = "" ; then - AC_MSG_WARN(no yacc-parser found, you might run into trouble later.) + AC_MSG_WARN([no yacc-parser found, you might run into trouble later.]) fi if test "$RANLIB" = "" ; then - AC_MSG_WARN(no library archive builder found, you might run into trouble later.) + AC_MSG_WARN([no library archive builder found, you might run into trouble later.]) fi ### Finally, build autoconf.h and the makefiles CFLAGS="$CFLAGS $EXTRA_CFLAGS" +LINTFLAGS=$LINTFLAGS +AC_SUBST(LINTFLAGS) + CF_DEFINE_STRING(TIN_CC, "$CC") CF_DEFINE_STRING(TIN_CFLAGS, "$CFLAGS") CF_DEFINE_STRING(TIN_CPP, "$CPP") @@ -1264,4 +1314,5 @@ CF_DEFINE_STRING(TIN_LIBS, "$LIBS") AC_OUTPUT($PCRE_MAKEFILE $SUB_MAKEFILE + $CAN_MAKEFILE src/Makefile) diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/CHANGES tin-2.0.0/doc/CHANGES --- tin-1.8.3/doc/CHANGES 2007-02-01 14:07:02.000000000 +0100 +++ tin-2.0.0/doc/CHANGES 2011-08-22 00:17:19.035286979 +0200 @@ -1,38 +1,451 @@ --- 1.8.3 release 20070201 "Scotasay" -- +-- 2.0.0 release 20110823 "Ardenistiel" -- -018) Christian Weisgerber - BUG. assumed that wchar_t and wint_t are of the same size - FIX. tcurses.c - -017) Antonio Querubin - BUG. missplaced || - FIX. nntplib.c +U029) Thomas E. Dickey + ADD. update configure macros; switch to 2.13.20110430 + ADD. --with-pkg-config configure switch + ADD. --with-textdomain configure switch + ADD. don't use hardcoded number of available colors; don't try to set + colors out of identified range + FIX. color.c, curses.c, init.c, main.c, tcurses.c, autoconf.h[in] + proto.h aclocal.m4, configure[.in], Makefile, Makefile.in + install-sh + +U028) Dennis Preiser + BUG. used preprocessor directives within snprintf which may be + implemented as a macro + BUG. fixed a typo + BUG. fixed several display problems in the !USE_CURSES case + BUG. fixed several display problems with non default foreground and + background colors. + BUG. dead increment + BUG. didn't unfold structured news_headers_to_display before calling + convert_to_printable which replaces \n with ? + BUG. scopes with just quick_{kill,select}_* rules got lost when + entering the scopes menu + BUG. last option in options 'M'enu may be invisible + BUG. unnecessary screen redraw in options 'M'enu + ADD. reject out of range background colors in menu/tinrc + ADD. removed some unnecessary variables + ADD. PageToggleAllHeaders + ADD. do not strip tabs from Subject or Organization in page header + ADD. tinrc.utf8_graphics to use UTF-8 characters for various graphics + FIX. extern.h, keymap.h, proto.h, tcurses.h, tin.h, tinrc.h, art.c + attrib.c, charset.c, color.c, config.c, cook.c, curses.c, feed.c + filter.c, group.c, help.c, init.c, keymap.c, lang.c, mail.c, misc.c + nntplib.c, options_menu.c, page.c, pgp.c, post.c, prompt.c, read.c + rfc2046.c, save.c, screen.c, select.c, string.c, tcurses.c, thread.c + tincfg.tbl, tin.1, tin.5, keymap.sample + +U027) Urs Janssen + BUG. used preprocessor directives within snprintf which may be + implemented as a macro + BUG. tinrc.ask_for_metamail had no effect + BUG. CHECK_SIGN for gpg was wrong (at least for gpg 1.4.x) + BUG. .so TLD wasn't allowed but is in use since 11/2010 + BUG. .xxx gTLD wasn't allowed but is in use since 04/2011 + BUG. .yu TLD was still allowed but is defunct since 04/2010 + BUG. forged supersedes (-DFORGERY) were only allowed via 'x'(repost) + but not via 'D'(cancel) + BUG. superseding own articles in forgery conf. didn't add Cancel-Key + BUG. possible double fclose + ADD. allow -- in domain names in URL_REGEX and NEWS_REGEX + ADD. allow new IDN ccTLDs of Algeria, India, Korea, Morocco, Serbia + Singapore and Syria + REM. Kinyarwanda po files + REM. configure check for unused getpass(3) + ADD. cache getenv("NNTPSERVER") result early + ADD. -4 / -6 cmd. line switch + ADD. config.guess, config.sub update + ADD. configure check for stdint.h and inttypes.h + ADD. configure check for fsync() + FIX. help.c, init.c, lang.c, main.c, newsrc.c, nntplib.c, pgp.c, post.c + prompt.c save.c, extern.h, policy.h, tin.h, tincfg.tbl + Makefile[.in], autoconf.h[in], configure[.in], config.guess + config.sub, tin.1, rw.po + +U026) Matt Anton + ADD. updated french translation + FIX. fr.po + +-- 1.9.6 release 20101126 "Burnside" -- + +U025) Matt Anton + ADD. updated french translation + FIX. fr.po -016) Toomas Soome +U024) Toomas Soome ADD. updated estonian translation FIX. et.po -015) Michael Bienia - BUG. 'l' from the pager doesn't reposition cursor to last viewed - article - FIX. thread.c - -014) Urs Janssen - BUG. "Kill text pattern" form killfile menu was applied to - Message-ID and Rrferences instead of Message-ID only - BUG. FILTER_FILE_OFFSET was wrong - ADD. allow .ax TLD - FIX. tin.h, filter.c, policy.h - -013) Urs Janssen - ADD. minor manpage tweaking - FIX. tin.1, tin.5 - -012) Peter Breitenlohner - BUG. build problem with VPATH - FIX. Makefile.in +U023) Joe Hansen + ADD. updated danish translation + FIX. da.po + +U022) Thomas E. Dickey + BUG. _XOPEN_SOURCE was defined on darwin + ADD. CF_SIGWINCH - compile check for SIGWINCH + FIX. aclocal.m4, configure[.in], Makefile[.in] + +U021) Dennis Preiser + BUG. SIGWINCH at page level after a connection timeout lead to a crash + BUG. no SIGWINCH hadling in setup_check_article() + BUG. comments in references were not skipped + BUG. fixed some display problems in the !USE_CURSES case + ADD. info message on SearchRepeat without previous search + ADD. attachment level 'V' at the article-pager + ADD. URL level 'U' at the article-pager + ADD. cancel article 'D' to the group and thread level + ADD. shell escape '!' to the 'M'enu + ADD. workaround for buggy isspace() implementations + ADD. tinrc.abbreviate_groupname option + ADD. don't take a copy of the article in raw mode when reading from + local-spool + ADD. skip over text/plain parts in multibyte charsets which may contain + null-bytes + ADD. message/rfc822 mime-parts are now parsed and included text/plain + parts are shown to the user + BUG. highlighting for SearchBody didn't work + BUG. depending on used terminal highlighting sometimes ran too far + BUG. fixed several sorting/threading/filtering options which did not + instantly reflect changes when not beeing in select level + BUG. help string was truncated at cCOLS without checking if inside a + multibyte sequence + BUG. build_gline() miscalculates free space for utf-8 groups & + descriptions + FIX. art.c, attrib.c, color.c, config.c, cook.c, curses.c, filter.c + group.c, help.c, init.c, keymap.c, lang.c, mail.c, main.c, misc.c + newsrc.c, nntplib.c, options_menu.c, page.c, post.c, prompt.c + refs.c, rfc2046.c, rfc2047.c, save.c, screen.c, select.c, signal.c + string.c, tags.c, thread.c, extern.h, keymap.h, proto.h, rfc2046.h + tin.h, tinrc.h, tincfg.tbl, tin.1, tin.5, keymap.sample + +U020) Urs Janssen + ADD. minor manpage tweaking + ADD. config.guess, config.sub update + ADD. disallow postings to 'j' groups + ADD. disallow 198.51.100.0/24 and 203.0.113.0/24 in gnksa-checks + ADD. forbid "poster" in Newsgroups, warn about "example" in Newsgroups + ADD. forbid "poster" and a groupname in Followup-To, warn about "example" + in Followup-To + ADD. allow IDN ccTLDs in 'GNKSA'-parser + ADD. keep failed article in dead.article is server closes the + connection and no reconnection is done. + BUG. DEFAULT_VERBATIM_BEGIN_REGEX / DEFAULT_VERBATIM_END_REGEX allowed + tailing text in the line + BUG. da.po was missing from the tarball + BUG. x-posting to an unexisting group named first in Newsgroups caused + a crash + BUG. remembered capabilities over reconnects, they are flushed now + BUG. memleak on duplicated overview fields + BUG. don't send GROUP for groups not listed in the servers active file + when newsrc_active && list_active is set + FIX. active.c, art.c, attrib.c, config.c, curses.c, filter.c, init.c + lang.c, misc.c, newsrc.c, nntplib.c, post.c, rfc2047.c, save.c + select.c, sigfile.c, string.c, tcurses.c, thread.c, extern.h + nntplib.h, policy.h, tin.h, Makefile, tin.1, tin.5, config.guess + config.sub + +-- 1.9.5 release 20091224 "Lochruan" -- + +U019) Urs Janssen + ADD. MarkFeedRead ^X / MarkFeedUnread ^Y to thread-level + ADD. configure check for gethostbyname in libnetwork (Haiku) + ADD. check if SIGBUS == SIGSEGV (Haiku) + ADD. don't define HAVE_LINK on Haiku + ADD. config.guess, config.sub update + FIX. help.c, keymap.c, signal.c, thread.c, extern.h, tin.1, tin.5 + configure.in, aclocal.m4, config.guess, config.sub --- 1.8.2 release 20060425 "Shillay" -- +U018) Frederic Briere + ADD. MarkFeedRead ^X / MarkFeedUnread ^W to page-level + FIX. feed.c, group.c, help.c, keymap.c, lang.c, extern.h, keymap.h, tin.h + +U017) Joe Hansen + ADD. initial danish translation + FIX. da.po + +U016) Volker Borchert + BUG. used towupper() in the !MULTIBYTE_ABLE case + ADD. fallback for missing sys_errlist declaration + FIX. prompt.c, string.c, pcre/Makefile[.in] + +U015) Dennis Preiser + ADD. scope and attributes menu + ADD. help pages to the various menus + ADD. PageSkipIncludedText now skips over the next quoted block + ADD. runtime calculation of the filter file offset + ADD. '-w' now suggests the first given cmd-line group to post to + ADD. '-s', '-m' and '-G' cmd-line switches no longer change the + corresponding tinrc values + ADD. -G for the !NNTP-case + ADD. disable creation of cached overviews in getart_limit case + ADD. disable getart_limit in -u case + ADD. mail/pipe/print articles now work on ranges + ADD. NNTP read timeout + BUG. maildirs starting with '=' caused tin to hang after 's'aving an + article to a mailbox + BUG. savedirs starting with '+' caused tin to hang after 's'aving an + article to a file + BUG. in rare cases (aborted article load or '-' after cancel) one + article was incorrectly marked as unavailable + BUG. memleaks in canlock operations + BUG. fix a long overflow in print_bitmap_seq() when xmax = __LONG_MAX__ + BUG. didn't create Message-ID when cancelling own article when + configured as FORGERY + EVIL_INSIDE + BUG. batch mode wasn't as quitet/as verbose as it could be + BUG. aborted prompt_getart_limit() lost previous value + BUG. MARK_FEED_READ/MARK_FEED_UNREAD in thread level with no selected + or tagged arts and selecting 'a' marks the base-art read/unead + BUG. signal handler not unset while piping + BUG. sort_article_type didn't always work correct with + thread_articles={2,3} + BUG. realloc in expand_ctrl_chars() caused a crash + FIX. active.c, art.c, attrib.c, auth.c, config.c, cook.c, curses.c + feed.c, filter.c, group.c, help.c, inews.c, init.c, keymap.c, lang.c + mail.c, main.c, makecfg.c, memory.c, misc.c, newsrc.c, nntplib.c + nrctbl.c, options_menu.c, page.c, post.c, prompt.c, read.c + rfc1524.c, rfc2046.c, save.c, select.c, sigfile.c, signal.c + tcurses.c, thread.c, tincfg.tbl, extern.h, keymap.h, nntplib.h + proto.h, tcurses.h, tin.h, tinrc.h, tin.1, tin.5 + +U014) Urs Janssen + ADD. minor code cleanup + ADD. assume pid_t is long instead of int + ADD. comment out trace.o dependeny-rule if not configured --with-trace + ADD. disable abort-posting for cursor-keys on check-article screen + (debian bug #231070) + ADD. try AUTHINFO USER/PASS on -A if CAPABILITIES didn't announce any + supported auth methods + ADD. config.guess, config.sub update + ADD. configure check for towupper(), wcscat(), wcscpy() and wctomb() in + AM_MULTIBYTE_ABLE + ADD. disallow 192.0.2.0/24 in gnksa-checks + ADD. convert MOTD from UTF-8 to local-charset + ADD. warn about aliased groups + ADD. reduce number of "LIST ACTIVE grp" cmds send with -n if server + announces "LIST ACTIVE" capabillity + ADD. reduce number of "LIST NEWSGROUPS grp" cmds send with -n if server + announces "LIST NEWSGROUPS" capabillity + ADD. prefer "LIST COUNTS" over "LIST ACTIVE" when announced via + CAPABILITIES + BUG. NULL was only allowed once to unbound a keymapping + BUG. don't de/encode header(-fields) which can not hold RFC2047-encoded + words (but strings which may look like encoded words) + BUG. memleaks in cancel_article(), submit_mail_file(), + create_normal_article_headers() + BUG. expand_ctrl_chars() misscalculated tabexpansion on multiline input + BUG. uuencoded parts might get 'V'iewd twice + BUG. when pipelinming GROUP cmds. and server requires auth for some groups + tin got confused + BUG. attributes autoupdate on version change didn't work + BUG. entered wrong group at startup if a groupname was given on the + cmd.-line and there were new groups on the server + REM. AUTHINFO GENERIC support + FIX. active.c, art.c, attrib.c, auth.c, charset.c, color.c, config.c + cook.c, debug.c, filter.c, init.c, keymap.c, lang.c, mail.c, main.c + memory.c, misc.c, my_tmpfile.c, newsrc.c, nntplib.c, pgp.c, post.c + prompt.c, refs.c, rfc2047.c, save.c, select.c, xref.c, extern.h + nntplib.h, proto.h, tin.h, configure[.in], src/Makefile[.in] + aclocal.m4, tin.1, tin.5 + +-- 1.9.4 release 20090211 "Rieclachan" -- + +U013) Thomas E. Dickey + ADD. update configure macros + ADD. configure check to guess $ARFLAGS + FIX. aclocal.m4, configure[.in], libcanlock/Makefile.in, pcre/Makefile.in + + 021) Dennis Preiser + BUG. memleak in free_attributes() + FIX. memory.c + +U012) Dennis Preiser + ADD. enhance attributes documentation + ADD. menu-option/attribute to turn verbatim block handling on and off + ADD. menu-option to color the lines between the verbatim marks + ADD. menu-option/attribute to trim article body (compact empty lines) + ADD. most tinrc options to attributes + ADD. merged auto_cc and auto_bcc into auto_cc_bcc + BUG. mem-leak in set_colors() + BUG. -S used group specific savedir if set via attributes + BUG. long lines in verbatim blocks may grabble the screen + BUG. unescaped metacharacter in DEFAULT_VERBATIM_BEGIN_REGEX + BUG. rot13 does not rotate the verbatim_begin_regex line + BUG. numeric attributes got lost on big-endian OSs + BUG. missing newline in multipart/mixed articles before the very last + text/plain part + FIX. active.c, art.c, attrib.c, color.c, config.c, cook.c, debug.c + feed.c, filter.c, group.c, inews.c, init.c, lang.c, mail.c, main.c + memory.c, misc.c, options_menu.c, page.c, post.c, refs.c, rfc2047.c + save.c, search.c, select.c, sigfile.c, tags.c, thread.c, extern.h + proto.h, rfc2046.h, tin.h, tinrc.h, version.h, tincfg.tbl, tin.1 + tin.5 + +U011) Urs Janssen + ADD. minor code cleanup + ADD. workaround bogus XHDR response from SoftVelocity Discussions 2.5q + ADD. configurable path via tin.defaults to overview.fmt file + ADD. send "LIST HEADERS" before doing "HDR" if server supports it + ADD. config.guess, config.sub update + ADD. started german manpage translation + ADD. issue extra "GROUP" when NEXT receives 412 + ADD. issue a warning if attributes file has an unexpected version number + ADD. check for 8bit chars in Newsgroups, Followup-To and Distribution + before posting + ADD. check user supplied Message-ID, Date and Expires-header before + posting + ADD. speedup -S, -N, -M + ADD. improved DEFAULT_STRIP_WAS_REGEX + BUG. PageEditArticle was allowed for GROUP_TYPE_SAVE + BUG. Distribution was mime-decoded + BUG. don't break long body-lines in original article when superseding + BUG. don't send "LIST NEWSGROUPS" for mailgroups in the -n case + BUG. empty but present Followup-To header (server bug) was used in f'ups + BUG. didn't recheck CAPABILITIES after successful auth or after mode + switching if received 500er response in the first pass + BUG. don't prompt for authdata if we can't auth as the server doesn't + offer any auth-method we can send + BUG. configure options --program-prefix, --program-suffix and + --program-transform-name didn't work + BUG. headers with just one byte content were automagicaly removed + BUG. -R didn't work if savedir was set to an unexpanded path + BUG. fixed memleak with -R + BUG. --disable-posting didn't catch 'x' (repost) early enough + FIX. active.c, art.c, attrib.c, auth.c, config.c, cook.c, debug.c, feed.c + filter.c, getline.c, group.c, header.c, help.c, inews.c, init.c + keymap.c, lang.c, list.c, mail.c, main.c, memory.c, misc.c + my_tmpfile.c, newsrc.c, nntplib.c, options_menu.c, page.c, post.c + prompt.c, refs.c, regex.c, rfc2046.c, save.c, screen.c, select.c + sigfile.c, tags.c, thread.c, version.c, xface.c, xref.c, extern.h + proto.h, stpwatch.h, tin.h, version.h, tincfg.tbl, Makefile[.in] + configure[.in], tin.defaults, tin.5, config.guess, config.sub + doc/l10n/* + +-- 1.9.3 release 20080506 "Dalintober" -- + +U010) Thomas E. Dickey + ADD. update configure macros + FIX. aclocal.m4, configure[.in], mkdirs.sh + +U009) Dirk Nimmich + ADD. (g)oto group search now is case insensitive + ADD. infrastructure for editing and writing attributes + ADD. write attributes file from internal structures + BUG. possible memleak when freeing group attributes + ADD. check joinpath for overruns + BUG. potential buffer overruns + BUG. memleak in curses.c:ReadWch() + BUG. uninitialized mm_local_charset when no config files available, + leading to an endless loop on exit when newsrc cannot be written + BUG. inconsistent update of mm_local_charset on runtime + BUG. fixed length buffer in rfc1522_do_encode() + FIX. extern.h proto.h, tin.h, active.c, art.c, attrib.c, auth.c, config.c + curses.c, debug.c, feed.c, inews.c, init.c, joinpath.c, keymap.c + list.c, mail.c, main.c, memory.c, mimetypes.c, my_tmpfile.c + newsrc.c, nntplib.c, nrctbl.c, options_menu.c, pgp.c, post.c + rfc2046.c, save.c, select.c, sigfile.c, string.c, xref.c + + 020) Urs Janssen + BUG. my_realloc() didn't handle zero size reallocs + BUG. subjects > 256 chars were tunrcated at group-level without adding + a \0-termination + FIX. group.c, memory.c + +U008) Rado S + ADD. use same article numbers in different levels + FIX. extern.h, lang.c, page.c + + 019) Philip Hazel + BUG. missing a check for a possible return value of pcre_exec() + FIX. misc.c, regex.c + +U007) Urs Janssen + ADD. enable some more CAPABILLITIES related code + ADD. minor code cleanup + ADD. config.guess, config.sub update + ADD. allow .kp, .me, .rs, .tel and .asia TLDs + ADD. check permissions of .cancelsecret-file + ADD. --enable-cancel-locks configure option + ADD. --with-slrnface configure option + ADD. libcanlock update (1.0 -> 2b-4) + ADD. url_handler.pl as new DEFAULT_URL_HANDLER + ADD. remove leading/tailing whitespace in filter scope + ADD. increase internal buffer in rfc1522_encode()/rfc1522_do_encode() + ADD. restrictions to tin generated Message-IDs (disallow + .invalid-TLD, disallow IDs > 250 octets) + ADD. SIGUSR2 handler to write out newsrc + ADD. configure check for gsasl.h/libgsasl + ADD. AUTHINFO SASL PLAIN support if gsasl.h/libgsasl is found + ADD. use "LIST NEWSGROUPS grp" with -n cmd-line switch + ADD. use "LIST ACTIVE grp" with -n cmd-line switch + ADD. don't treat empty Bytes or Lines-filed in overview as error in + debug mode + ADD. parse LIST OVERVIEW.FMT + ADD. if LIST OVERVIEW.FMT didn't mention Xref:full, but XOVER includes + Xref: use it instead of sending XHDR XREF + ADD. do "XHDR XREF -" instead of gazillions of single cmds. + BUG. missing utf-8 validation for news_headers_to_display + BUG. newnewsrc tmp-file wasn't always removed + BUG. subscribe_pattern() was overcomplex + BUG. mail_to_someone() didn't convert the article into the local charset + REM. libinn support (was broken for ages) + FIX. active.c, art.c, attrib.c, auth.c, charset.c, config.c, color.c + cook.c, debug.c, filter.c, group.c, header.c, help.c, inews.c + init.c, keymap.c, lang.c, mail.c, main.c, memory.c, mimetypes.c + misc.c, my_tmpfile.c, newsrc.c, nntplib.c, options_menu.c, page.c + post.c, refs.c, regex.c, rfc2045.c, rfc2047.c, save.c, screen.c + search.c, select.c, sigfile.c, signcal.c, string.c, tags.c + tcurses.c, thread.c, version.c, xface.c, xref.c, config.guess + config.sub, de.po, autoconf.h[in], debug.h, extern.h, policy.h + proto.h, rfc2046.h, keymap.h, tin.h, version.h, Makefile + configure[.in], Makefile[.in], libcanlock/*, tin.1, tin.5 + +-- 1.9.2 release 20070201 "Dalaruan" -- + + 018) Christian Weisgerber + BUG. assumed that wchar_t and wint_t are of the same size + FIX. tcurses.c + + 017) Antonio Querubin + BUG. missplaced || + FIX. nntplib.c + +U006) Thomas E. Dickey + ADD. update configure macros + FIX. aclocal.m4 + +U005) Dirk Nimmich + BUG. raw-mode didn't allow rot13 + BUG. can't 'V'iew mime-parts with (illegally) encoded filename + BUG. CatchupNextUnread in page level didn't always work + BUG. 'C'atchup in pager was still not correct (we didn't ever enter the + next group) + BUG. fast/endless reconnection loop after a "200\n\r400\n\r" greeting + BUG. resent command on 503 error + ADD. rewrote NGLIMIT handling + REM. return value of change_config_file() + FIX. proto.h, tin.h, feed.c, group.c, nntplib.c, options_menu.c, page.c + post.c, save.c, select.c + + 015) Michael Bienia + BUG. 'l' from the pager doesn't reposition cursor to last viewed + article + FIX. thread.c + + 014) Urs Janssen + BUG. "Kill text pattern" form killfile menu was applied to + Message-ID and References instead of Message-ID only + BUG. FILTER_FILE_OFFSET was wrong + ADD. allow .ax TLD + FIX. filter.c, policy.h, tin.h + + 013) Urs Janssen + ADD. minor manpage tweaking + FIX. tin.1, tin.5 + + 012) Peter Breitenlohner + BUG. build problem with VPATH + FIX. Makefile.in 011) Andrey Simonenko ADD. updated russian translation @@ -42,6 +455,44 @@ BUG. possible division by zero in thread_by_percentage() FIX. art.c +U004) Urs Janssen + ADD. pcre update (6.6 -> 7.0) + ADD. RISC OS handling + ADD. more options to filter menu "Kill text pattern" + ADD. allow UTF-8 descriptions + REM. don't generate Sender on Mac OS X + ADD. config.guess, config.sub update + ADD. hide some regex in 'M'enu if the related option is off + ADD. disallow .so, .um TLDs + ADD. warn about useless cmd-line option combinations + ADD. enable CAPABILLITIES code + ADD. updated german translation + FIX. Makefile, aclocal.m4, configure[.in], extern.h, policy.h, filter.c + init.c, lang.c, main.c, mail.c, nntplib.c, options_menu.c, post.c + pcre/*, config.guess, config.sub, de.po + +U003) Michael Bienia + ADD. 'M'enu option for VERBATIM_*_REGEXs + ADD. new option: sort by date of last posted article + ADD. merge tinrc.{pgdn_goto_next,tab_goto_next_unread, + space_goto_next_unread} into one option tinrc.goto_next_unread + ADD. merge PAGE_PAGE_DOWN3 (SPACE) into GLOBAL_PAGE_DOWN + ADD. minor code cleanup + FIX. extern.h, keymap.h, proto.h, tin.h, tinrc.h, version.h, art.c + attrib.c, charset.c, config.c, cook.c, help.c, init.c, keymap.c + lang.c, options_menu.c, page.c, tincfg.tbl, keymap.sample, tin.1 + tin.5 + +-- 1.9.1 release 20060409 "Benmore" -- + +U002) Urs Janssen + ADD. slrn style verbatim mark support (#v+/#v-) + ADD. use tinrc.date_format for %D date expansion + ADD. config.guess update + REM. unused gb, so and um TLDs + FIX. config.guess, autoconf.hin, extern.h, tin.h, cook.c, init.c + memory.c, misc.c, tin.1 + 009) Urs Janssen BUG. didn't reissue GROUP cmd after reconnect with authentication BUG. possible buffer overflow @@ -49,6 +500,8 @@ ADD. cat, jobs, travel and mobi TLDs FIX. aclocal.m4, policy.h, misc.c, nntplib.c +-- 1.9.0 release 20060228 "Ardlussa" -- + 008) Urs Janssen ADD. config.guess, config.sub update FIX. config.guess, config.sub @@ -57,6 +510,14 @@ BUG. buffer overflow in convert_tex2iso in UTF-8 environment FIX. charset.c +U001) Urs Janssen + ADD. pcre update (6.4 -> 6.6) + REM. VMS support + FIX. Makefile, aclocal.m4, attrib.c, curses.c, config.c, header.c + inews.c, init.c, lang.c, mail.c, main.c, mimetypes.c, misc.c + newsrc.c, nntplib.c, post.c, read.c, save.c, signal.c, bugrep.h + tin.h, tnntp.h, version.h, pcre/*, vms/* + -- 1.8.1 release 20060215 "Mealasta" -- 006) Aleksey Salow diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/CHANGES.old tin-2.0.0/doc/CHANGES.old --- tin-1.8.3/doc/CHANGES.old 2006-02-15 19:21:22.000000000 +0100 +++ tin-2.0.0/doc/CHANGES.old 2011-06-09 11:08:42.387736075 +0200 @@ -57,7 +57,7 @@ U047) Urs Janssen prompt_slk_response() BUG. newsgroups file caching didn't work ADD. pcre update (6.1 -> 6.4) - ADD. check replyto address befor mailing + ADD. check replyto address before mailing ADD. a few missing german translations ADD. config.guess, config.sub update ADD. allow unbinding keys by mapping them to "NULL" @@ -86,13 +86,13 @@ U043) Urs Janssen BUG. POST_EDIT was mssing from post_cancel_keys BUG. GLOBAL_QUIT was missing from post_edit_keys and post_edit_ext_keys and not rebindable in post_continue_keys - BUG. dublicated onlinehelp entries + BUG. duplicated onlinehelp entries BUG. FeedRepost didn't work BUG. digits were missing in option_menu_keys BUG. PGP_INCLUDE_KEY in the pgp-2 case didn't work ADD. pcre update (5.0 -> 6.1) ADD. warning about lines exceeding 998 octets - ADD. try LIST MOTD at start and show it's output if any + ADD. try LIST MOTD at start and show its output if any ADD. merged GroupBugReport, SelectBugReport, ThreadBugReport to BugReport; GroupMarkArtUnread, PageMarkArtUnread, ThreadMarkArtUnread to MarkArticleUnread; GroupMarkThdUnread, @@ -124,7 +124,7 @@ U041) Andrei Emeltchenko BUG. keybindings were inited to late ADD. dynamic space calculation in filter_menu() - ADD. use enum option_enum instead of int where appropiate + ADD. use enum option_enum instead of int where appropriate FIX. Makefile[.in], proto.h, tin.h, filter.c, group.c, keymap.c, main.c options_menu.c, page.c, prompt.c, search.c, signal.c, thread.c makecfg.c @@ -246,7 +246,7 @@ U028) Michael Bienia REM. tinrcupdate.pl REM. --with-local-charset REM. some unnecessary casts and unused vars - REM. Author-IDs and persistant header support + REM. Author-IDs and persistent header support REM. xref_max REM. $BUG_ADDRESS BUG. plugged a few small memory leaks @@ -984,7 +984,7 @@ U129) Michael Bienia BUG. TeX2ISO was done before charset conversion - BUG. curses.h was prefered over ncurses[w].h + BUG. curses.h was preferred over ncurses[w].h FIX. proto.h, charset.c, cook.c, misc.c, rfc2047.c, aclocal.m4 U127) Michael Bienia @@ -1331,7 +1331,7 @@ U089) Urs Janssen local cached overviews BUG. missing From caused crashes when replying BUG. match_string() doesn't allow emtpy strings (U048) - BUG. dublicated Cancel-Lock in rare cases + BUG. duplicated Cancel-Lock in rare cases BUG. eat_re() could modify subject in aborted posts BUG. unknown Content-Transfer-Encodings defaulted to 7bit instead of binary @@ -1395,7 +1395,7 @@ U083) Urs Janssen BUG. possible buffer overrun and empty pgp-address BUG. missing screen redraw after supersede BUG. possible dereferenced pointer (network_charset) - BUG. fixed some typos, reformated po-files + BUG. fixed some typos, reformatted po-files BUG. mailing_list attribute was ignored on no posting servers in page level FIX. config.guess, config.sub, Makefile, extern.h, tin.h, art.c @@ -2376,7 +2376,7 @@ U001) Urs Janssen ADD. check if tin fallback prototypes work with the system headers ADD. update configure script macros to accommodate cygwin32 ADD. rearrange the configure script's check for network libraries - ADD. fix a couple of casts loosing const + ADD. fix a couple of casts losing const FIX. aclocal.m4, configure[.in], proto.h, getline.c, init.c, main.c memory.c, misc.c, nntplib.c, read.c, refs.c, select.c, signal.c @@ -2391,7 +2391,7 @@ U001) Urs Janssen ADD. 'w' post article, 'm' mail article to thread menu ADD. big code cleanup ADD. clear status line after error_message() is displayed - ADD. correct inital cursor position when mailing bug reports + ADD. correct initial cursor position when mailing bug reports ADD. cleanup tinrc/option menu variable naming BUG. mail bug report coredumps on bogus groups in selection menu FIX. extern.h, proto.h, tin.h, filter.c, group.c, inews.c, init.c @@ -3468,7 +3468,7 @@ U001) Urs Janssen FIX. thread.c 507) Roland Rosenfeld - BUG. group=hierarchie.* in filter-editor was always changed to + BUG. group=hierarchy.* in filter-editor was always changed to group=* FIX. filter.c @@ -5611,7 +5611,7 @@ U001) Urs Janssen 151) Dirk Nimmich ADD. rewrote options 'M'enu, add several configurable options - ADD. getline() now allows to set maximum number of characters to type + ADD. getline() now allows one to set maximum number of characters to type in. FIX. several supplied patches diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/CREDITS tin-2.0.0/doc/CREDITS --- tin-1.8.3/doc/CREDITS 2007-01-25 20:30:29.000000000 +0100 +++ tin-2.0.0/doc/CREDITS 2011-04-17 16:04:26.550479212 +0200 @@ -6,60 +6,62 @@ George Baltz, Dieter Baron, Volker Barth Dieter Becker, Wolfgang Behrens, Fabrice Bellet, Greg Berigan, Enrik Berkhan, Juergen Bernau, Dan Berry, Michael Bienia, David Binderman, Thomas Bliem, Andrey Blochintsev, Chris Blum, Fokke de Boer, Andreas Borchert, -Sebastian Bork, Mark Boucher, Robert Brady, Peter Breitenlohner, Jessica -Brennan, Bill Brolik, Travis Brown, Herman ten Brugge, Martin Buck, Matthias -Buelow, Jeremy Buhler, Leila Burrell-Davis, Sean Casey, Peter Castro, Troy -Cauble, Andrey A. Chernov, Albert Chin-A-Young, Park Chong-Dae, Tan Kwee -Chuan, Boleslaw Ciesielski, Robert Claeson, Steven Cogswell, Don Costello, -Joshua Crawford, Bryan Curnutt, Ned Danieley, Lars Dannenberg, Chris Davies, -John Davis, Borislav Deianov, Thomas E. Dickey, Martin Dickopp, Olaf -Dietrich, Herbert Martin Dietze, Theo Van Dinter, Ralf Doeblitz, Bryan -Dongray, Michael Douglass, Nickolay Dudorov, Craig Durland, Bernd Eckenfels, -Phil Edge, Kirk Edson, Nick Efthymiou, Stefan Elf, Nigel Ellis, Andrei -Emeltchenko, L. Scott Emmons, Rob Engle, Olle Eriksson, Brent Ermlick, Bernd -Ernesti, Ragnar Hojland Espinosa, Jason Faultless, Michael Faurot, Werner -Fleck, John M. Flinchbaugh, Andy Gabor, Christian Garbs, Torsten Gesang, -Ruediger Geys, Callum Gibson, Mike Glendinning, Igor Goryachev, Philippe -Goujard, Dan Greenspan, Dennis Grevenstein, Karlo Gross, Carl Hage, Piers -Haken, Paul Halsema, Ed Hanway, Scott Hauck, Christian Haul, James Hawtin, -Per Headland, Arnold Hendriks, Daniel Hermans, Jose Herrero, Dave Hill, Tom -Hite, Torsten Homeyer, Ulli Horlacher, Keith Howell, Tommy Hsieh, Shih-Kun -Huang, Steve Hunt, Jeff Hurwitt, Jeon Hyoung-Jo, Ali Ibraimi, Pieter -Immelman, Jarkko Isokungas, Patrick St. Jean, Hal Jespersen, Park Sang Jin, -Robbin Johnson, Jarkko Jormanainen, Yury July, Nelson Kading, Geoffrey -Keating, Karsten Keil, Charles S. Kerr, Fritz Kleeman, Andreas Kies, Janne -Kiviluoto, Tomasz Kloczko, Dwarven Knight, Thomas Koenig, Karl-Koenig -Koenigsson, Sebnem Korkmaz, Martin Kraemer, Gerald Krause, Thomas Kroener, -Piotr Kucharski, Florian Kuehnert, Bernd Kuemmerlen, Kris Kugel, Stephan -Kulow, Manoj Kumar, Dawid Kuroczko, Yuri Kuzmenko, Olivier Lacroix, Geoff -Lane, Alex Lange, Alain Lasserre, Stanislav Latishko, Hannu Laurila, -Yen-Ming Lee, Vincent Lefevre, Alexander Lehmann, Marty Leisner, Thomas -Leitner, Hakan Lennestal, Kevin Lentin, Chua Choon Leong, Chris Lewis, -Andreas Ley, David-Michael Lincke, Otto Lind, Richard Lloyd, Florian Lohoff, -Reinhard Luebke, Clifford Luke, Michael Lupp, David MacKenzie, Hugh Mahon, -Giuseppe De Marco, Scott Marovich, Dmitri A. Martynoff, Kazushi Marukawa, -Timur Maryin, William McBrine, Geoff McCaughan, Owen Medd, Philipp -Mergenthaler, Andreas Metzler, Arkadiusz Miskiewicz, Soren Moller, Bruce -Momjian, Sergio Morales, Michael Morrell, Klaus Mueller, Mike Muise, Udo -Munk, Steven Michael Murphy, John R. Myers, Daniel Naber, Torsten Neumann, -Dirk Nimmich, James Nugen, Daniel Nylander, David E. O'Brien, Michael -O'Reilly, Oleg Ohotnikov, Ronald Orr, Julien Oster, Guido Ostkamp, Philip -Paeps, Jeb Palmer, Neil Parker, Joseph Parmelee, Tom Parry, Jim Patterson, -Sven Paulus, Walter Pelissero, Cameron Perkins, Colin Perkins, Eric -Peterson, Tim Pierce, Bill Poitras, Scott W. Powers, Wolfgang Prediger, Marc -Prud'hommeaux, GianPiero Puccioni, Antonio Querubin, Thomas Quinot, Stefan -Rapp, Martin Reising, Kyle Rhorer, Ted Richards, Steve Robbins, Ollivier -Robert, Branden Robinson, Jim Robinson, Thomas Roessler, Erik van Roode, -Meelis Roos, Stephen Roseman, Roland Rosenfeld, Peter Van Rossem, Clifton -Royston, Juergen Salk, Aleksey Salow, Rich Salz, Gary Sanders, Nickolay -Saukh, John Sauter, Christopher Sawtell, Holger Schif, Volker Schmidt, John -Schmitz, Torsten Schneider, Stefan Scholl, Rainer Scholz, Juergen Schroeder, -Larry Schwimmer, Randy Scott, Bart Sears, Karl-Olav Serrander, Ozge Sevinc, -Doug Sewell, Chung-chieh Shan Philip Shearer, Jungshik Shin, Sergey Shkonda, -Andreas Siegert, Andrey Simonenko, Mark Smith, Toomas Soome, Steve Spearman, -Helmut Springer, Cliff Stanford, Steve Starck, Jason Steiner, Ralf Stephan, -Michael Stenns, Helmrich Streitmatter, Hans Werner Strube, Dieter Stueken, -Ed Sznyter, Lech Szychowski, Dean Takemori, Darrell Tangman, Derek Terveer, +Volker Borchert, Sebastian Bork, Mark Boucher, Robert Brady, Peter +Breitenlohner, Jessica Brennan, Frederic Briere, Bill Brolik, Travis Brown, +Herman ten Brugge, Martin Buck, Matthias Buelow, Jeremy Buhler, Leila +Burrell-Davis, Sean Casey, Peter Castro, Troy Cauble, Andrey A. Chernov, +Albert Chin-A-Young, Park Chong-Dae, Tan Kwee Chuan, Boleslaw Ciesielski, +Robert Claeson, Steven Cogswell, Don Costello, Joshua Crawford, Bryan +Curnutt, Ned Danieley, Lars Dannenberg, Chris Davies, John Davis, Borislav +Deianov, Thomas E. Dickey, Martin Dickopp, Olaf Dietrich, Herbert Martin +Dietze, Theo Van Dinter, Ralf Doeblitz, Bryan Dongray, Michael Douglass, +Nickolay Dudorov, Craig Durland, Bernd Eckenfels, Phil Edge, Kirk Edson, +Nick Efthymiou, Stefan Elf, Nigel Ellis, Andrei Emeltchenko, L. Scott +Emmons, Rob Engle, Olle Eriksson, Brent Ermlick, Bernd Ernesti, Ragnar +Hojland Espinosa, Jason Faultless, Michael Faurot, Werner Fleck, John M. +Flinchbaugh, Andy Gabor, Christian Garbs, Torsten Gesang, Ruediger Geys, +Callum Gibson, Mike Glendinning, Igor Goryachev, Philippe Goujard, Dan +Greenspan, Andrew Greer, Dennis Grevenstein, Karlo Gross, Carl Hage, Piers +Haken, Paul Halsema, Joe Hansen, Ed Hanway, Scott Hauck, Christian Haul, +James Hawtin, Per Headland, Arnold Hendriks, Daniel Hermans, Jose Herrero, +Dave Hill, Tom Hite, Torsten Homeyer, Ulli Horlacher, Keith Howell, Tommy +Hsieh, Shih-Kun Huang, Steve Hunt, Jeff Hurwitt, Jeon Hyoung-Jo, Ali +Ibraimi, Pieter Immelman, Jarkko Isokungas, Marco d'Itri, Patrick St. Jean, +Hal Jespersen, Park Sang Jin, Robbin Johnson, Jarkko Jormanainen, Yury July, +Nelson Kading, Geoffrey Keating, Karsten Keil, Charles S. Kerr, Fritz +Kleeman, Andreas Kies, Janne Kiviluoto, Tomasz Kloczko, Dwarven Knight, +Thomas Koenig, Karl-Koenig Koenigsson, Sebnem Korkmaz, Martin Kraemer, +Gerald Krause, Thomas Kroener, Piotr Kucharski, Florian Kuehnert, Bernd +Kuemmerlen, Kris Kugel, Stephan Kulow, Manoj Kumar, Dawid Kuroczko, Yuri +Kuzmenko, Olivier Lacroix, Geoff Lane, Alex Lange, Alain Lasserre, Stanislav +Latishko, Hannu Laurila, Yen-Ming Lee, Vincent Lefevre, Alexander Lehmann, +Marty Leisner, Thomas Leitner, Hakan Lennestal, Kevin Lentin, Chua Choon +Leong, Chris Lewis, Andreas Ley, David-Michael Lincke, Otto Lind, Richard +Lloyd, Florian Lohoff, Reinhard Luebke, Clifford Luke, Michael Lupp, David +MacKenzie, Hugh Mahon, Giuseppe De Marco, Scott Marovich, Dmitri A. +Martynoff, Kazushi Marukawa, Timur Maryin, William McBrine, Geoff McCaughan, +Owen Medd, Philipp Mergenthaler, Andreas Metzler, Arkadiusz Miskiewicz, +Soren Moller, Bruce Momjian, Sergio Morales, Michael Morrell, Klaus Mueller, +Mike Muise, Udo Munk, Steven Michael Murphy, John R. Myers, Daniel Naber, +Torsten Neumann, Dirk Nimmich, James Nugen, Daniel Nylander, David E. +O'Brien, Michael O'Reilly, Oleg Ohotnikov, Ronald Orr, Julien Oster, Guido +Ostkamp, Philip Paeps, Jeb Palmer, Neil Parker, Joseph Parmelee, Tom Parry, +Jim Patterson, Sven Paulus, Walter Pelissero, Cameron Perkins, Colin +Perkins, Eric Peterson, Tim Pierce, Bill Poitras, Scott W. Powers, Wolfgang +Prediger, Dennis Preiser, Marc Prud'hommeaux, GianPiero Puccioni, Antonio +Querubin, Thomas Quinot, Stefan Rapp, Martin Reising, Kyle Rhorer, Ted +Richards, Steve Robbins, Ollivier Robert, Branden Robinson, Jim Robinson, +Thomas Roessler, Erik van Roode, Meelis Roos, Stephen Roseman, Roland +Rosenfeld, Peter Van Rossem, Clifton Royston, Rado S., Juergen Salk, Aleksey +Salow, Rich Salz, Gary Sanders, Nickolay Saukh, John Sauter, Christopher +Sawtell, Holger Schif, Volker Schmidt, John Schmitz, Torsten Schneider, +Stefan Scholl, Rainer Scholz, Juergen Schroeder, Larry Schwimmer, Randy +Scott, Bart Sears, Karl-Olav Serrander, Ozge Sevinc, Doug Sewell, +Chung-chieh Shan Philip Shearer, Jungshik Shin, Sergey Shkonda, Andreas +Siegert, Andrey Simonenko, Mark Smith, Toomas Soome, Steve Spearman, Helmut +Springer, Cliff Stanford, Steve Starck, Jason Steiner, Ralf Stephan, Michael +Stenns, Helmrich Streitmatter, Hans Werner Strube, Dieter Stueken, Ed +Sznyter, Lech Szychowski, Dean Takemori, Darrell Tangman, Derek Terveer, Carsten Theis, Julian Thompson, David Tiller, Andry Timonin, Elmar W. Tischhauser, Mark Tomlin, Mark Tomlinson, Michael Traub, Martin Treusch von Buttlar, Mark Trumbull, Alex Vasylenko, Michael Velten, Adri Verhoef, Paul diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/DEBUG_REFS tin-2.0.0/doc/DEBUG_REFS --- tin-1.8.3/doc/DEBUG_REFS 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/doc/DEBUG_REFS 2011-04-17 16:04:26.586484691 +0200 @@ -1,4 +1,4 @@ -Using the DEBUG_REFS toggle to get threading information +Using the -D 8 switch to get threading information -------------------------------------------------------- This file is of use to people wishing to submit bug reports related to @@ -14,18 +14,10 @@ Warning: The output may be large. A big in the order of .5Mb of output. It is much more useful if problems can be reproduced in groups with as few articles as possible. -1) Recompile Tin with DEBUG_REFS enabled. - If you have a build tree already, simply editing refs.c to make +1) Recompile Tin with DEBUG enabled. +2) Start Tin as - #undef DEBUG_REFS - read - #define DEBUG_REFS 1 - - and rebuilding will do it. - -2) Start Tin as normal - - ./tin + ./tin -D 8 3) If the problem only occurs when entering a group, enter the group in question. Make sure the first group you enter is the one causing the diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/INSTALL tin-2.0.0/doc/INSTALL --- tin-1.8.3/doc/INSTALL 2005-09-22 15:45:49.000000000 +0200 +++ tin-2.0.0/doc/INSTALL 2011-06-09 13:22:12.043119931 +0200 @@ -22,32 +22,33 @@ The following configure options and defi --enable-break-long-lines --with-curses-dir --enable-broken-listgroup-fix --with-dbmalloc --enable-broken-system-fix --with-defaults-dir - --enable-color --with-dmalloc - --enable-curses --with-domain-name - --enable-debug --with-editor - --enable-echo --with-gpg - --enable-etiquette --with-included-gettext - --enable-fascist-newsadmin --with-inews-dir - --enable-flock --with-inn-nntplib - --enable-inverse-video --with-iso-to-ascii - --enable-locale --with-ispell - --enable-lockf --with-libdir - --enable-mh-mail-handling --with-libiconv-prefix - --enable-mime-strict-charset --with-mailbox - --enable-nls --with-mailer - --enable-nntp --with-metamail - --enable-nntp-only --with-mime-default-charset - --enable-pgp-gpg --with-ncurses - --enable-piping --with-nntp-default-server - --enable-posting --with-nov-dir - --enable-printing --with-nov-fname - --enable-prototypes --with-pcre - --enable-shell-escape --with-pgp - --enable-warnings --with-pgpk - --enable-xhdr-xref --with-screen - --exec-prefix --with-shell - --mandir --with-spooldir - --prefix --with-trace + --enable-cancel-locks --with-dmalloc + --enable-color --with-domain-name + --enable-curses --with-editor + --enable-debug --with-gpg + --enable-echo --with-included-gettext + --enable-etiquette --with-inews-dir + --enable-fascist-newsadmin --with-slrnface + --enable-flock --with-iso-to-ascii + --enable-inverse-video --with-ispell + --enable-locale --with-libdir + --enable-lockf --with-libiconv-prefix + --enable-mh-mail-handling --with-mailbox + --enable-mime-strict-charset --with-mailer + --enable-nls --with-metamail + --enable-nntp --with-mime-default-charset + --enable-nntp-only --with-ncurses + --enable-pgp-gpg --with-nntp-default-server + --enable-piping --with-nov-dir + --enable-posting --with-nov-fname + --enable-printing --with-pcre + --enable-prototypes --with-pgp + --enable-shell-escape --with-pgpk + --enable-warnings --with-screen + --enable-xhdr-xref --with-shell + --exec-prefix --with-spooldir + --mandir --with-trace + --prefix ENFORCE_RFC1034 HAVE_UUDEVIEW_H @@ -55,8 +56,8 @@ The following configure options and defi FOLLOW_USEFOR_DRAFT NNTP_SERVER_FILE FORGERY PROFILE REQUIRE_BRACKETS_IN_DOMAIN_LITERAL SMALL_MEMORY_MACHINE - HAVE_LIBUU XFACE_ABLE - USE_CANLOCK HAVE_BROKEN_SSCANF + HAVE_LIBUU + HAVE_BROKEN_SSCANF DISABLE_PIPELINING Not yet documented configure options and defines: @@ -66,10 +67,9 @@ TIN related: --with-socks --with-sum DEBUG MATCH_TAR_PATTERN - DEBUG_NEWSRC NEW_HASH_METHOD - DEBUG_REFS (see doc/DEBUG_REFS) OPTIMIZE_JUST_STAR - JUST_TESTING REREAD_ACTIVE_FILE_SECS - USE_UTF8_HORIZONTAL_ELLIPSIS + JUST_TESTING NEW_HASH_METHOD + OPTIMIZE_JUST_STAR REREAD_ACTIVE_FILE_SECS + NO_LOCKING FILE_MODE_BROKEN System related: --datadir --localstatedir @@ -84,6 +84,7 @@ System related: --with-build-cppflags --with-build-ldflags --with-build-libs --build --host --target + --with-pkg-config --with-textdomain News machine names ------------------ @@ -257,11 +258,9 @@ Can be overridden by setting the environ --enable-broken-listgroup-fix (default: off) Bypass a bug in some broken NNTPservers which need an extra GROUP command -before accepting a LISTGROUP command. - ---with-inn-nntplib=PATH (default: not set) -Define if you want to use the INN library functions GetConfigValue() -& GetFQDN(). PATH must be the correct path to the INN library. +before accepting a LISTGROUP command. This can be also used to bypass the +bug in some servers (i.e. DeleGate) where LISTGROUP doesn't select the +group and thus subseqent cmds. fail. --enable-xhdr-xref (default: on) If disabled, don't allow using XHDR XREF if XOVER doesn't work to mark @@ -278,7 +277,7 @@ being configured into the executable. --enable-lockf enable lockf() locking --enable-flock enable flock() locking -NNTP_INEWS (default: set if using VMS, --enable-nntp, or enable-nntp-only; +NNTP_INEWS (default: set if using --enable-nntp or enable-nntp-only; unset if not using NNTP) Define if you want to use the built-in NNTP POST routine so that you no longer have to rely on the mini-inews from NNTP to be installed on each @@ -291,6 +290,8 @@ time they use tin. NNTP_SERVER_FILE (default: /etc/nntpserver) Only define if your NNTP-server file is other than /etc/nntpserver. +DISABLE_PIPELINING +Define if your newsserver can't handle pipelined commands. Options to set some default values ---------------------------------- @@ -375,7 +376,7 @@ environment variable ISO2ASC. --with-curses-dir=dir (default: empty) If (n)curses is not installed in a standard location (i.e below /usr) you -can specify it's installation directory here. +can specify its installation directory here. --with-screen=type (default: termcap) This is a simpler way (than --with-ncurses and --enable-curses) to specify @@ -389,7 +390,7 @@ Define this if you want to link with ncu is required on some Linux distributions (i.e., SuSE) where there is either a curses or termcap library which is not ncurses. If ncurses is installed as the curses library, this option is usually not needed. This option is -depriciated, use --with-screen=ncurses (see above) instead. +deprecated, use --with-screen=ncurses (see above) instead. --enable-curses (default: off) Enable this if you wish to use the curses screen optimizing rather than @@ -398,7 +399,7 @@ termcap. This has been tested well start is known to have a bug in libc which prevents use of curses, ncurses works well on that platform). To build with ncurses screen optimizing, you must give both the --with-ncurses and --enable-curses options. This option is -depriciated, use --with-screen=ncurses (see above) instead. +deprecated, use --with-screen=ncurses (see above) instead. --enable-inverse-video (default: on) Disable if you want inverse video and highlighted bar disabled by default. @@ -463,6 +464,10 @@ found in search path, this is used autom Define if you want metamail display your MIME messages. If found in search path, this is used automatically. +--with-slrnface=PATH (default: set automatically) +Define if you have slrnface installed and want to use it to show X-Faces. If +found in search path, this is used automatically. + --enable-posting (default: on) If disabled, TIN does not allow posting/followup of articles. @@ -503,6 +508,11 @@ yet fully implemented. You can expect er me know the problems by sending me a bug report ('R' bug command from within tin). See doc/reading-mail.txt for further information. +--enable-cancel-locks (default: off) +Turn on Cancel-Locks. This feature requires the client to know the +Message-ID of the posting, so if your server does not offer server side +purposed IDs you have to mess around with EVIL_INSIDE + --enable-nls (default: on) The --enable-nls option enables Native Language Support (NLS), which allows tin to run in languages other than American English. Native Language @@ -533,16 +543,20 @@ Link with Conor Cahill's dbmalloc librar incorrect frees, etc. --enable-debug (default: off) -Define if you want tin to log debug information to files in /tmp. Activated -by tin -Dn where n is 1 for NNTP only debug logging, n is 2 for logging -most debug info, n is 3 for newsrc debugging and n is 4 for malloc debug -logging. Debug files written to /tmp are ARTS, ACTIVE, BASE, NNTP, SAVE_COMP, -BITMAP, MALLOC and FILTER. Depending on the debuglevel some files may not be -generated. newsrc debugging also needs DEBUG_NEWSRC defined. +Define if you want tin to log debug information to files in $TMPDIR. +Activated by tin -Dn where n is 1 = NNTP-dialog, 2 = filter-file, +4 = newsrc-file, 8 = threading, 16 = memory allocation (malloc/free), +32 = misc (-D 63 = debug all). Debug files written to $TMPDIR are ARTS, +ACTIVE, BASE, NNTP, SAVE_COMP, BITMAP, MALLOC and FILTER. Depending on +the debuglevel some files may not be generated. As the files written in +$TMPDIR are world readable and may contian uncryted password information +(e.g. when using -D 1) don't run "-D n" on multiuser systems without setting +$TMPDIR to a safe location, e.g. "TMPDIR=$HOME ./tin -D 1". --with-trace (default: off) Trace data which is formatted and written to the screen. Use this to debug -changes to the curses or termcap interfaces. +changes to the curses or termcap interfaces. A file trace will be created in +$PWD when tin is started. --with-dmalloc (default: off) Link with Gray Watson's dmalloc library, used to check for memory leaks, @@ -629,22 +643,15 @@ allow additional toplevel domains (GNKSA EVIL_INSIDE let tin generate Message-IDs -USE_CANLOCK -turn on cancel-locks, you need to compile libcanlock first by running -./Build in the libcanlock dir or by using "make canlock" from the src -dir. You also have to uncomment the CANLOCK/CANLIB lines in src/Makefile. - FOLLOW_USEFOR_DRAFT issue a warning instead of an error-message if Newsgroups: or Followup-To:-header contains spaces, newlines or tabs. -XFACE_ABLE -Define if you have slrnface installed and want to use it to show X-Faces Compiled & installed -------------------- Tin was successfully built and installed on a variety of platforms including Linux, FreeBSD, OpenBSD, NetBSD, BSDi, Darwin, Solaris, IRIX, HP-UX, Ultrix, Tru64, AIX, SINIX, UXP/V, SUPER-UX, Unicos, QNX, GNU Hurd, DG/UX, SEIUX, -Openstep, MiNT and Cygwin. +Openstep, MiNT, Haiku and Cygwin. For a detailed list see diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/TODO tin-2.0.0/doc/TODO --- tin-1.8.3/doc/TODO 2006-05-02 03:02:27.000000000 +0200 +++ tin-2.0.0/doc/TODO 2011-08-16 22:02:07.311190484 +0200 @@ -4,18 +4,26 @@ not read only ,-). Bugs ---- -o a wrong usename in ~/.newsauth can't be corrected in the first - pass - [20050816 Urs Janssen ] - -o can 'V'iew mime-parts with (illegal) encoded filename, e.g: - | Content-Type: image/jpeg; - | name="=?iso-8859-1?Q?internationales_Zeichen_f=FCr_Ehe.jpg?=" - | Content-Disposition: attachment; - | filename="=?iso-8859-1?Q?internationales_Zeichen_f=FCr_Ehe.jpg?=" - as tin treats the leading '=' as mailbox indicator and complains - | Save filename for image/jpeg is a mailbox. Attachment not saved - [20050203 Urs Janssen ] +o get_respcode() doesn't handle the 401 response code. as we have to + evaluate the response text as well we have to fix every + nntp_command(..., NULL, 0) call. + [20100429 Urs Janssen ] + +o col_response is a misnomer as the counter doesn't count responses + anymore (except on the very first article). The man-page is outdated too. + [20080826 Urs Janssen ] + +o 'T'ag all parts of multipart message doesn't work (it never did) + with thread_arts 4 (multipart) or 5 (percentage) + [20080606 Urs Janssen ] + +o cLINES < MIN_LINES_ON_TERMINAL || cCOLS < MIN_COLUMNS_ON_TERMINAL + isn't checked on startup + [20071210 Urs Janssen ] + +o a wrong username/password in ~/.newsauth can lead to an endless AUTH-loop + when using -A and issuing a wrong username/password in the prompt + [20080926 Urs Janssen ] o unexpected multiline responses confuse tin, e.g.: | 240 Article posted =?ISO-8859-1?Q?=3C=3D=3Fiso=2D8859=2D1=3Fq=3F=3F=3D87r7k8na?= @@ -23,32 +31,6 @@ o unexpected multiline responses confus (the servers response should be a single line (INN 2.2)) [20050207 Urs Janssen ] -o fast/endless reconecction loop after a "200\n\r400\n\r" greeting, - see - - -o rot13-toggle '%' doesn't work in raw '^H' mode (but isn't disabled, so - the info message in the last line is wrong). - [20041125 Urs Janssen ] - -o AFAICS change_config_file() currently has a static return value, - but some callers do check the return value and in case we did - change something we should update (global) attributes accordingly. - [20030511 Urs Janssen ] - -o Changes to int/bool tinrc variables in the Option Menu don't propagate - back to the attributes, not even groups with global attributes. - This is because the Option-Menu in {group,page}.c doesn't reread the - attributes, whereas select.c does. Fix the problem properly in config.c by - flashing changes to all affected groups and remove the reread of the - attributes file from select.c - -o 'C'atchup in pager is still not correct (we don't ever enter the next group) - [20030515 Urs Janssen ] - -o piping/printing articles grabbles screen - [20030501 Urs Janssen ] - o better integrate saving of MIME/non-MIME articles when not using libuu. MIME sections are saved by the 's'ave operations, uuencoded sections are saved as part of the postprocess backend @@ -56,43 +38,21 @@ o better integrate saving of MIME/non-M [Jason Faultless ] o batch mode has several bugs - - -Z and giving a cmd-line group ends up in a loop - (filters each group several times, ~25 times slower as without a - cmd-line group) and the cmd-line group is not displayed in the - statistics nor taken into account for the 'any unread news' status. + - -Z and giving a cmd-line group the cmd-line group is not displayed in + the statistics nor taken into account for the 'any unread news' status. - -vc could be more verbose (like -vcZ is) - - -cZ has an unclear return value (shall we return 0 or 2 if there - was unread news before -c marked it as read?) - -o currently is not a 'batch_mode' option + - if server requires authentication (and no ~/.newsauth entry matches) + tin prompts for username but not for password [Urs Janssen ] -o '-s' cmd-line switch implicitly changes 'savedir' in tinrc - [Urs Janssen ] - Is -s supposed to affect all save operations? What about attributes? - Might get away with simply setting glob_attributes->savedir - [Jason Faultless ] - o add version number to other config-files (e.g. tin.defaults) and do the same checks as for TINRC_VERSION/tinrc. for the - filter (and attributes) file also store the editor offset (different - languages do use different headers) and the filter method used - (wildmat or regexp) and the charset the file is written in (e.g. - ISO-8859-x vs. unicode) + filter and attributes file store the charset the file is written in + (e.g. ISO-8859-x vs. unicode) and for the filter file the filter method + used (wildmat or regexp) [Urs Janssen ] -o 'K' is still a bit inconsistent: - - in the group and thread menu it marks current item read & jumps to the - next unread item. - - in the article pager (page.c) it marks the rest of the current thread - read and jumps to the next unread article. should we let 'K' behave - like in the pager? - -o rewrite code to use INEWS_PATH instead of INEWSDIR - [20021007 Urs Janssen - -o remove built in path of external commands (metamail, ispell, ...) - [for ispell $ISPELL can be used to override systempath and progname] - o overview file cacheing code is over-complex - cache the original overview info instead of rebuilding it from the processed (decoded etc.) data, no matter if it's broken (e.g. @@ -101,23 +61,34 @@ o overview file cacheing code is over-c headers (after unfolding and tab removal). - Add docs to explain how to create system-wide overviews -o tin uses the first sig-isolator as recent one, USEFOR says it should - use the last. There is no consensus that tin should follow this USEFOR - requirement. - o iso2asc conversion is missing for 'internal' strings (e.g. 'M'enu) [20020319 Urs Janssen ] +o comments in attributes get lost (we need to do something like we do for + the filter file) + [20080425 Urs Janssen ] + +o if tin is falling back to HEAD/NEXT ([X]OVER not working) it doesn't honor + tinrc.getart_limit + [20090112 Urs Janssen ] + Pager Problems -------------- Posting Problems ---------------- +o 8bit chars in some headers are RFC-2047-encoded where this is not allowed + according to usefor (Newsgrous, Distribution, ...) - do_rfc15211522_encode() + simply encodes all headers no matter if any of them must not be encoded + (see parse_rfc822_headers()). + [20090112 Urs Janssen ] + o remove Message-IDs with 8bit chars in them when they occur in Message-ID or References header [done for References in replies/followups, Urs] o repost ('x') ignores ~/.tin/attributes - bug or feature?! + [IMHO a bug as settings like mailing_list are essential, Urs] o forged cancelling via Supersedes:/Also-Control:/Control:-header is possible if it is supplied by hand (inews_prog=--internal) @@ -130,31 +101,60 @@ o mailers other than sendmail (f.e. elm New features ------------ +o as libidn only does IDNA 2003 but not IDNA 2008 (RFC 5890-5894) add + a configure check for libidnkit2.x () + and if found use idn_decodename() in misc.c:idna_decode() + [20110120 Urs Janssen ] + +o add nntp_default_server to tin.defaults to override compile time setting. + if given strings starts with / or ~ the value is taken from the referenced + file, if it starts with $ it is read from the referenced variable. + [20101118 Urs Janssen ] + +o the old space_goto_next_article=ON && space_goto_next_unread=OFF is not + possible with the new goto_next_unread rc-var, we need something like + an additional goto_next_read rc-var + [20101101 Urs Janssen ] + +o add DEFAULT_SIGDASHES_REGEX and related 'M'enu-entry for signature + detection in cook.c + [20080925 Urs Janssen ] + +o give an error message if append_mail() fails (grep TODO post.c) + [20080423 Urs Janssen ] + o allow remapping of the 'z' abort-key (lynx style) in wait_for_input(). o add user defined screen layout at different levels [20041025 Urs Janssen ] -o add TLS, NNTPS support - (see draft-ietf-nntpext-tls-nntp-09.txt; - , - might be useful; +o add TLS (RFC 4642), NNTPS support + (, + might be useful (but unfortunately we use fputs()/fgets() instead of + read()/write() - BIO_*() may be useful); "stunnel -c -d 1119 -r news.example.org:563; tin -g localhost -p 1119" can be used for NNTPS) [20031210 Urs Janssen ] -o make 'GNKSA'-parser RFC2822/USEFOR compliant +o add more AUTHINFO SASL (RFC 4643) support (DIGEST-MD5, EXTERNAL, ...) + and a fallback if no libgsasl is found (e.g cyrus-sasl or a handrolled + version for at least PLAIN) + [20080316 Urs Janssen ] + +o add XZVER (and XZHDR) support (zlib compressed yyencoded overview data) + + +o make 'GNKSA'-parser RFC5322/USEFOR compliant and fix bugs + (e.g. "<~$!~( )@( )example.com>" causes "illegal character in RHS", but + the address is valid) o add In-Reply-To threading for mailgroups [20030518 Urs Janssen ] -o make auto'S'ave also work for inrange articles/threads(/groups) +o make auto'S'ave also work for inrange groups (unfortunately 'S' at select level is used for something else) [20030508 Urs Janssen ] -o sub-parse message/rfc822 messages (might occur in mail-groups) - [20030310 Urs Janssen ] - o turn ask_for_metamail into $MM_NOASK support (see metamail(1)) [20030314 Urs Janssen ] @@ -172,7 +172,10 @@ o allow bold, underline, italic, ... as ) [20030218 Serge Matveev ] -o hierarchical 'M'enu, e.g. put all art_marked_*into a 'submenu', ... +o hierarchical 'M'enu, e.g. put all art_marked_*into a 'submenu', + restructure/sort 'M'enu items, some disply-options (render BiDi) are + currently under expert options, some options in display options are + navigation options (catchup thread, use mouse, ...) [20020322 Urs Janssen ] o add a postponed 'browser' (store postponed arts in MH or maildir @@ -181,7 +184,7 @@ o add a postponed 'browser' (store post o add postpone option for mail-actions; reusing p'o'stponed articles in mailing_list groups doesn't work - (possible fix: store Newsgroups (and other infos) via msg_add_header() + (possible fix: store Newsgroups (and other info) via msg_add_header() (to overwrite any old values) in X-Tin-Postponed:-header and remove it before posting.) [20010623 Urs Janssen ] @@ -254,23 +257,9 @@ o check if the articles Subject/From in if they are higher than the server's high-mark don't trust them (and discard the locally cached data). -o attributes (still) needs some work, some entrys aren't really useful - on a per group basis but others would (e.g. Reply-To) - once we have a 'attributes-menu' we could remove most of the - global 'attributes' set in tinrc and move them to a scope=* - in attributes (e.g. From) - [Urs Janssen ] - -o add post_8bit_header, mail_8bit_header, post_mime_encoding, - mail_mime_encoding to the attributes file to allow plain 8 bit - header in e.g. fr.* but avoid them in e.g. de.* - [20020910 Urs Janssen ] - See doc/config-anomalies for other candidates that should move to - attributes +o attributes (still) needs some work; See doc/config-anomalies. [20030303 Dirk Nimmich ] -o add 'make unproto' - o add IPv6 support (add protocol independent wrappers which use IPv6 (functions) whenever possible). @@ -296,11 +285,9 @@ o check if server supports 'LIST MODERA o if using "-n" commandline switch you can't subscribe to newsgroups not present in your newsrc - a simple check against the server (e.g. GROUP $newsgroup or if !NNTP try to stat the dir) would help. - if we are running in NNTP mode and if the server understands - LIST NEWSGROUPS pattern (don't use XGTITLE, it will become obsolete) we - could also fetch the description without loosing "-n" speed improvements; - if the server understands LIST ACTIVE pattern we could also get the group - attribute (moderated, etc.) + if the server understands "LIST ACTIVE grp" we could also get the group's + attribute (moderated, etc.) and with "LIST NEWSGROUPS grp" it's + description. o item_by_item_etiquette_warnings [compile-time?] (e.g. enable x-posts without f'up warning, disable long-sig warning) @@ -311,9 +298,17 @@ o unify Fcc and posted_articles_file o MIME-pgp support according to RFC 2015, RFC 3156 - (should be easy now) and/or in the format that used by signcontrol/pgpverify (see also tinews.pl) + As MIME-pgp verification needs the undecoded mime-part with its headers + storing the raw-offset of each part in the article would be very helpful. + +o pgpverify invocation with a single key instead of '|''a''pgpverify' or a + buildin pgpverify solution. o pgp-{6,7} support +o add check for GPGME () and if + found use it for pgp actions. + o add feature Cc: o add feature show_new_newsgroups_since @@ -321,12 +316,11 @@ o add feature show_new_newsgroups_since o add new key which taggs articles based on a prompted regex, could be used for GROUP_MARK_THREAD_READ,PAGE_MARK_THREAD_READ,THREAD_MARK_ARTICLE_READ and/or something like GROUP_SELECT_THREAD/THREAD_SELECT_ARTICLE which - works on tagged arts (the later might be usefull in conjnction with + works on tagged arts (the later might be useful in conjnction with GROUP_MARK_UNSELECTED_ARTICLES_READ) [20051110 Urs Janssen ] o Additions to the thread menu: - 'D' (cancel article) ']' (GLOBAL_QUICK_FILTER_KILL) '[' (GLOBAL_QUICK_FILTER_SELECT) 'r' (reply to) /* not 'R' cause it conflicts with mail_bugreport */ @@ -334,16 +328,21 @@ o Additions to the thread menu: 'f' (post a followup) (maybe also 'F', '^W', ...) 'N' (next unread article) 'P' (previous unread article) + 'T' (tag all parts of current multipart-message in order) + 'V' (View/pipe/save multimedia attachments) 'X' (mark all unread articles that have not been selected as read) ';' (mark unread arts as hot if >= 1 art in thread is hot) '+' (mark thread as hot) '=' (mark pattern as hot) + '@' (toggle selections) 'Y' (check for new articles in thread) '%' (toggle rot13 encoding of screen content) 'x' (repost) + 'e' (edit mailgroup article) keys to go to previous/next thread o Additions to the group menu: + 'V' (View/pipe/save multimedia attachments) 'Y' (check for new articles in group) '%' (toggle rot13 encoding of screen content) @@ -351,15 +350,25 @@ o Additions to the select menu: '%' (toggle rot13 encoding of screen content) o Add to the 'M'enu: - 'h' (GLOBAL_HELP) 'R' (GLOBAL_BUGREPORT) - '!' (GLOBAL_SHELL_ESCAPE) - and maybe a way to changed built in path like DEFAULT_MAILER, PATH_PGP, ... + '&' (GLOBAL_TOGGLE_COLOR) + and maybe a way to change built in path like DEFAULT_MAILER, PATH_PGP, ... -o Add to the POST_INFO-level: - '?','/','\' search (partly done, currently only the displayed page is - searched which is not that useful) - 'h' (GLOBAL_HELP) +o Add to the attachment menu ('V'): + 'F' post followup to current article, not including current attachment + 'R' reply through mail to author, not including current attachment + or + 'R' (GLOBAL_BUGREPORT) + 'f' post followup to current article, including current (or tagged) + attachment(s) + 'm' mail attachment + 'o' print attachment + 'r' reply through mail to author, including current attachment + 't' tag attachments for '|', 'p', 's', 'm' (done for 's') + '#' tag range of attachments (n-m) + 'x' repost current attachment to another group + '%' (toggle rot13 encoding of screen content) + '&' (GLOBAL_TOGGLE_COLOR) o Add a commandline switch (-V) that prints out all values of cpp-symbols etc. [partly done, but should be cleaned up] @@ -372,22 +381,6 @@ o A system-wide tinrc configuration fil Maybe a second file which could be used to force settings (eg inews & mailer) (tin.defaults [--with-defaults-dir] is a start) -o (g)oto group is case sensitive (note that MH mailgroups might - contain uppercase chars) - also newsgroup names in the command-line are case sensitive - better would be: check if they exist and if not ask if you would - like to convert newsgroup name to lowercase - [son_of_1036] - NOTE: Possibly newsgroup names should have been - case-insensitive, but all existing software treats - them as case-sensitive. (RFC 977 [rrr] claims - that they are case-insensitive in NNTP, but exist- - ing implementations are believed to ignore this.) - The simplest solution is just to ban use of upper- - case letters, since no widespread newsgroup name - uses them anyway; this avoids any possibility of - confusion. - o when From: only contains "First-name Last-name" tin strips the Last-name in group/thread/page-level [20020319 Urs Janssen ] @@ -402,18 +395,17 @@ o Merge the selection code with the ran of picking articles with similar goals is wasteful. [Jason Faultless ] -o add check for libbzip2/zlib (>=1.1.4)/[mini]lzo - (, , - ) and add an - option to write/read {g,b,l}zipped local overviews. - zlib, libbzip2 and lzo might also be used for post-processing. - -o add check for GPGME () and if found - use it for pgp actions. - -o rewrite/cleanup all the debugging code; clearly seperate the debugging - levels, e.g.: NNTP=0x01, FILTER=0x02, NEWSRC=0x04, MEMORY=0x08, - ALL=0x0f +o add check for liblzma/libbzip2/zlib (>=1.1.4)/[mini]lzo + (, , + , ) + and add an option to write/read {g,b,l}zipped local overviews. + liblzma, zlib, libbzip2 and lzo might also be used for post-processing. + +o rewrite/cleanup all the debugging code, the output in /tmp is messy; the + on screen output either slows down things dramatically or is unreadable; + add timestamps to at least the NNTP-log; split DEBUG_MISC? + +o Add 'M'enu option to define chars for utf8_graphics. Posting enhancements -------------------- @@ -433,11 +425,6 @@ o check if any valid groups are in the o bring up a warning on a long Newsgroups: (>=5) line and force the user to confirm every single group he wants to post (or redirect followups to) in. (N/y) - rewrite NGLIMIT handling (post.c) ulBuildArgv() would replace a lot of - the current code - (not just truncate Newsgroups:-line after the NGLIMITth newsgroup - - or if we do so - give an extra warning to the user and give him the - chance to reedit the Newsgroups:-line) o bring up a warning when trying to f'up into a binary group (use a regexp to detect binary groups e.g.: @@ -454,8 +441,6 @@ o posting to a binary group should warn o when posting to a group containing uppercase-letters: bring up a warning: "Newsgroup-names should be all lowercase, correct it? (Y/n)" -o Enhance -w to take newsgroup name as argument. - o Enhance -n to take newsgroup name as argument and use group_get_art_info() to allow posting to groups other than those in newsrc. @@ -493,6 +478,17 @@ o add 'autoview' (spawn external viewer o integrate multi-part tagging with regular tagging, eg. "This article appears to have multi-parts, try and find them (y/n)?" +o do RFC 2231 decoding of non us-ascii MIME-parameter values + (rfc2046.c:parse_params()) + [20110428 Urs Janssen ] + +o allow RFC 2231 parameter value continuations + [20110428 Urs Janssen ] + +o allow RFC 2231 language specification in encoded words + (rfc2047.c:rfc1522_decode()) + [20110428 Urs Janssen ] + o add Content-Language (RFC 3282) analysis o suppress hide_uue=2 checking unless first line in an article or following @@ -500,33 +496,70 @@ o suppress hide_uue=2 checking unless f Internal Changes ---------------- -o move serveral (server related) files into the per-server dir +o curses.c:input_pending() and curses.c:get_arrow_key() have + #ifdef HAVE_SELECT and a code path for the case when we don't have + select(2), but read.c:wait_for_input() has no code path the the + !HAVE_SELECT case. we should add a !HAVE_SELECT case there (or at + least have adjusted messages in txt_reading_article and txt_group) + [20110506 Urs Janssen ] + +o ditch MAX_MSG_HEADERS (post.c) + [20110212 Urs Janssen ] + +o always display (also) the servers error response string to the user, + currently tin sometimes gives generic messages (i.e. when authentication + fails), but the servers response may include additional infos (like + bandwidth exceeded) + [20101230 Urs Janssen ] + +o rewrite mini-help, remove the long strings and generate them dynamicly + one help text for each key makes translations more easy and uniq and can + use the available space on the screen much better if not running on 80 + columns. + [20100326 Urs Janssen ] + +o rewrite auth.c + - turn t_bool authinfo_user, authinfo_sasl, authinfo_state into + enum authinfo { NONE = 0, USER = 1, SASL = 2 } + +o make article numbers (u)int_least64_t/PRI[iu]LEAST64 (on OSs where possible), + provide useful fallbacks if system doesn't have / + (check for long long and if present use "%lld"; + #ifdef int_least64_t typedef artnum_t int_least64_t #else ...). + use atoll/strtoll for parsing article numbers. (#ifdef HAVE ATOLL + #define atoartnum atoll #else ...) + [20050728 Urs Janssen ] + +o fix aclocal.m4:CF_FUNC_SYSTEM and/or misc.c:invoke_cmd() that + --enable-broken-system-fix/IGNORE_SYSTEM_STATUS isn't needed anymore. + [20090520 Urs Janssen ] + +o tinrc.confirm_choice should be written/read as int, not string as users + who edit the tinrc manually can't know the exact strings required. + unfortunately rc_update() can't handle type changes (rc_update should + also get the split version number as arg so we can do specific + changes). + [20081112 Urs Janssen ] + +o use read()/write() instead of fputs()/fgets() + +o move several (server related) files into the per-server dir e.g.: ${TIN_INDEX_NEWSDIR-"${TIN_HOMEDIR-"$HOME"}/.tin"}/.news${NNTPSERVER+"-$NNTPSERVER"}/ should be ${TIN_INDEX_NEWSDIR-"${TIN_HOMEDIR-"$HOME"}/.tin"}${NNTPSERVER+"/$NNTPSERVER"}/.news/ [20050807 Urs Janssen ] -o make article numbers uint_least64_t (on OSs where possible), provide - usefull fallbacks if system doesn't have / - [20050728 Urs Janssen ] - -o upgrade configure-script to autoconf-2.59 +o upgrade configure-script to >= autoconf-2.61 [20050728 Urs Janssen ] -o remove untranslateable constructs like txt_prefix_* +o remove untranslatable constructs like txt_prefix_* [20050413 Urs Janssen ] -o merge tinrc.space_goto_next_unread, tinrc.tab_goto_next_unread and - tinrc.pgdn_goto_next into a single option list - tinrc.goto_next_unread = {SPACE, TAB, PGDN, - SPACE | TAB, SPACE | PGDN, - TAB | PGDN, SPACE | TAB | PGDN} - to shorten 'M'enu and tinrc. - [20050709 Urs Janssen ] - o keys which could be renamed/merged: + - 'l' GroupListThd, PageListThd - 'm' GroupMail, PageMail, PostMail, ThreadMail + - 'D' GroupCancel, PageCancel, ThreadCancel - 'N' GroupNextUnreadArt, PageNextUnreadArt, (SelectNextUnreadGrp) - 'S' GroupAutoSave, PageAutoSave, ThreadAutoSave - 'P' GroupPrevUnreadArt, PagePrevUnreadArt @@ -535,14 +568,14 @@ o keys which could be renamed/merged: [20050408 Urs Janssen ] o read_overview() calls eat_re() which strips the "Re: " out of the - subject. the modified subject ist used for batch_mode opperatios (-N/-M) + subject. the modified subject is used for batch_mode opperatios (-N/-M) which might not be what ppl. expect and eat_re() is the only function which needs the 'regex' overhead in batch_mode... (see also the note about "Re: "strpping at "Filtering enhancements"). [20050225 Urs Janssen ] o use new_nntp_command() instead of nntp_command() in the rest of the - code (where usefull; if we do a global change, rename it to + code (where useful; if we do a global change, rename it to nntp_command()). see check_extensions() for a sample usage. [20050211 Urs Janssen ] @@ -550,9 +583,6 @@ o replace various occurrence of "US-ASC and define that to "US-ASCII" (to make 'updates' easier). [20040929 Urs Janssen ] -o add configure option for slrnface - [20030506 Urs Janssen ] - o get rid of CURR_GROUP, use t_group instead create a global t_group *CURR_GROUP instead of the current macro reduce dependencies on my_group[] & selmenu outside of select.c @@ -565,8 +595,7 @@ o try to get rid of the magic numbers l a sentinel in the arrays instead (match_list is a showstopper here). [20030203 Urs Janssen ] -o check where joinpath() should be used; check joinpath() for overruns. - (e.g. grep for TMPDIR in the source) +o check where joinpath() should be used (e.g. grep for TMPDIR in the source) [Urs Janssen ] o make configure look for strrstr() in libpub/publib.h @@ -603,14 +632,12 @@ o close potential security holes: - check getenv() results before using it - check where my_strncpy() or STRCPY() should be used or include OpenBSDs strlcpy(3) (and strlcat(3)) and use it. - () + () [Urs Janssen - its4 , rats and flawfinder can locate potential security holes] -o add a _-_ to the local part of the MSGID on a subject-change - o add to autoconf: - eradicate platform/compiler ifdefs @@ -630,28 +657,37 @@ o add check for sizeof char, short, int o cleanup post.c o check code with Splint (LCLint) , - ccmalloc (), - MSS () and - valgrind () + ccmalloc (), + MSS (), + valgrind () and cppcheck + () o rewrite the tag code so that arts[].tagged becomes index in arts[] of next tagged article. num_of_tagged_arts becomes index of first tagged art. Traversing tagged arts becomes much easier & faster. [Jason Faultless ] -o do real overview.fmt parsing - not only looking for Xref:full - [Urs Janssen ] - o strip Xref:-header if saving news in batch mode (-S)? [Urs Janssen ] -o When reading local spool, assign the filehandle of the on-spool - article directly to artinfo->raw. There is no need to take a local - copy. - [Jason Faultless ] - o what is with NEW_HASH_METHOD in list.c? +o rewrite code to use INEWS_PATH instead of INEWSDIR + [20021007 Urs Janssen + +o remove built in path of external commands (metamail, ispell, ...) + [for ispell $ISPELL can be used to override systempath and progname] + +o add configure-switch for DISABLE_PIPELINING + [20090612 Urs Janssen ] + +o mask inline PGP SIGNATURE/KEY BLOCK like we do for uu-sections + [20090722 Urs Janssen ] + +o some non fixed width strings could be formatted nicer (warp on last space + before cCOLS), i.e. txt_warn_downgrade + [20110325 Urs Janssen ] + Unicode ------- o add UTF-8 (unicode) support (RFC 2279) @@ -672,9 +708,9 @@ o make mm_network_charset an "option_li undesired (UTF-1, UTF-7, UTF-16*, UTF-32*, UCS-2, UCS-4, ...) encodings. add configure check for the hardcoded charsets (try iconv_open(x, us-ascii) on each...) and disable those not available. - (think about more network charsets (GB2312, Shift_JIS, - ISO-8859-6[-{I,E}], ISO-8859-8[-{I,E}]), ISO-8859-11, VISCII, VIQR; - check wether KOI8-RU is still used/valid) + (think about more network charsets (GB2312, GB18030, Shift_JIS, + ISO-8859-6[-{I,E}], ISO-8859-8[-{I,E}], ISO-8859-11, VISCII, VIQR; + check wether KOI8-RU is still used/valid)) [done except configure check 20010907 urs@tin.org] o make mm_network_charset an user configurable item list @@ -686,7 +722,7 @@ o make mm_network_charset an user confi [20050805 ] o add IDNA support (RFC 3490ff.) - ( might be usefull) + ( might be useful) (added minimalistic IDNA decoding support if a recent libidn is found, urs) [20030917 Urs Janssen ] @@ -698,8 +734,25 @@ o add normalization Docs/online help ---------------- -o review the turkish, russian and kinyarwanda translations - (tr.po, ru.po, rw.po) +o the documentation of PageFollowupQuoteHeaders (^W) and + PageReplyQuoteHeaders (^E) is wrong as not all headers but just those + visible via news_headers_to_display (or all if raw mode is on + (PageToggleHeaders (^H)) are included. + [20100911 Urs Janssen ] + +o the online help of GroupMarkUnselArtRead 'X' is unclear as it doesn't + say that the article are marked read + [20090814 Urs Janssen ] + +o document the different singnals/actions (i.e. SIGUSR2 writes newsrc) + [20080209 Urs Janssen ] + +o exit staus documentation in the manpage isn't correct, we have more + exit codes than just 0/1 (and 2 in the -Z case). + [20080320 Urs Janssen ] + +o review the danish, swedish, turkish, russian and kinyarwanda translations + (da.po, sv.po, tr.po, ru.po, rw.po); add/finish man-page translation(s). o add installation guide (in html) @@ -718,8 +771,101 @@ o tin.defaults could use more documenta o replace "\\" by "\e" in manpages (portable?) +o integrate doc/auth.txt into tin.1-manpage + Not yet classified ------------------ +o make --with-defaults-dir= default to $sysconfdir/tin + (=/usr/local/etc/tin)? + [20110809 Urs Janssen ] + +o Supersedes (and repost) don't reuse the Reply-To: header of the original + article + [20110808 Urs Janssen ] + +o what about !us-ascii chars in username/password when using + AUTHINFO USER/PASS? Currently they are sent as is, RFC 3977 says + "The character set for all NNTP commands is UTF-8", RFC 4643 doesn't + mention any special handling. + [20101104 Urs Janssen ] + +o what is or was HIST_HELP_SEARCH good for? And what about cHelp? + [20101008 Urs Janssen ] + +o fix memleaks on early exits (i.e. host unreachable, auth failed, ...) + [20100517 Urs Janssen ] + +o charset conversion fails when converting articles from multibyte charsets + with 0 bytes (UCS2, UCS4, UTF-16[[LB]E], UTF-32[[LB]E], ...), currently + we just skip over such parts instead of handling them properly + [20100905 Urs Janssen ] + +o add "COMPRESS DEFLATE" support once it's official? this would require a + rewrite of the code which reads data from the network (which should be + done anyway for TLS) as we must handle null-bytes in the stream. + + [20100122 Urs Janssen ] + +o the documentation suggests that novrootdir/$TIN_NOVROOTDIR defaults to + spooldir/$TIN_SPOOLDIR if unset, which is not exactly what happens as + this default is set at configure/compile time, not at runtime, so + setting $TIN_SPOOLDIR to something different than the default will not + automatically adjust $TIN_NOVROOTDIR at runtime. we should either + fix the documentation or the behaviour. + [20100103 Urs Janssen ] + +o FOLLOW_USEFOR_DRAFT is a minomer as RFC 5536 is released + [20091225 Urs Janssen ] + +o un/subscribe_pattern() is very slow on servers with a huge active file + [20091223 Urs Janssen ] + +o replace wildmat.c with uwildmat.c + ? It knows poison + patterns and can handle UTF-8 strings + [20091223 Urs Janssen ] + +o support $XDG_CONFIG_HOME / $XDG_DATA_HOME? + + [20081010 Urs Janssen ] + +o add //IGNORE iconv-option like //TRANSLIT? + [20080824 Urs Janssen ] + +o what about REDIRECT_OUTPUT? shouldn't we better add this to DEFAULT_PRINTER + so ppl. can override it via the 'M'enu? and shouldn't DEFAULT_PRINTER be + detected via configure? + [20080625 Urs Janssen ] + +o create debug output in + ${TIN_HOMEDIR-"$HOME"}/.tin"}${NNTPSERVER+"/$NNTPSERVER"} + instead of in $TMPDIR (as it may contain username and password, + access restrictions in $TMPDIR are a bad idea as other users + need to be able to overwrite the file) + [20080211 Urs Janssen ] + +o -M/-N report is malied to userid, should we use tinrc.mail_address + instead? + +o tin uses the first sig-isolator as recent one, USEFOR says it should + use the last. There is no consensus that tin should follow this USEFOR + requirement. + +o 'K' is still a bit inconsistent: + - in the group and thread menu it marks current item read & jumps to the + next unread item. + - in the article pager (page.c) it marks the rest of the current thread + read and jumps to the next unread article. should we let 'K' behave + like in the pager? + +o rename prompt_followupto (to prompt_extra_headres) and make it an option + list like {"Followup-To"; "Summary"; "Keywords"; + "Followup-To & Summary"; "Followup-To & Keywords"; + "Summary & Keywords"; "Followup-To, Summary & Keywords"} or make it a + user-definable text field like news_headers_to_display? or leave this + entirely to the user - he could tweak attributes accrodingly. + [20060503 Urs Janssen ] + o in several places only the latest keybinding is shown in prompts (e.g. "q=quit, e=edit, i=ispell, g=pgp, M=menu, w=post, o=postpone: w" with "PostPost p y w" in keymaps) @@ -755,47 +901,32 @@ o inverse_okay's Menu description isn't o --disable-inverse-video seems to be ignored - do we still need it? o move tinrc.defaults for certain comands to a pre-filled .inputhistory? - (if so, also move i_key_search_last there) + (if so, also move last_search there) [Jason Faultless] o what about -a cmd-line flag? is this really needed? IMHO this can be dropped, '&' can be used for runtime color toggling. [20021106 Urs Janssen ] -o -G doesn't "work" in the !NNTP case, shall we disallow it in that case - or shall we try to implement it? - [20030421 Urs Janssen ] - o commas in real-name might cause problems in mail-replys From: Last, First (which is illegal) leads to To: Last, First which is last@localhost,user@accou.nt should we try to fix things and quote the realname part? [20021007 Urs Janssen ] -o what is with FOPEN_OPTS (VMS)? is it missing from ~50% of all - fopen()-calls or can it be dropped entirely? - [20020821 Urs Janssen ] - o setting TIN_HOMEDIR to a non-existent dir gives a "Filesystem full" error-message (but doesn't abort) instead of creating the dir. bug? feature? if the later we should give a more exact error-message. [20011112 Urs Janssen ] -o check_article_to_be_posted() still need some cleanup +o check_article_to_be_posted() needs a cleanup! (avoid setup_check_article_screen(&init);StartInverse();EndInverse(); overhead) [20010629 Urs Janssen ] o update gettext stuff to > gettext-0.12.1 -o clean up included pcre stuff (pcre/Makefile.in) - [20050608 Urs Janssen ] - -o tin in batchmode dumps core if getting a SIGINT, useful? - -o what is with conflicting tinrc settings? should we disallow those, or leave - it to the user to realise that e.g. strip_blanks=ON && inverse_okay=ON - looks ugly? +o clean up included pcre stuff and update to >= pcre-8.13 o shows up cross-postings multiple times even if read once before getting a resync/reread active/newsrc-file @@ -807,23 +938,29 @@ o think about group numbering in "only o remove tinrc.strip_blanks? IMHO it's not needed anymore [20020305 Urs Janssen ] +o what is with conflicting tinrc settings? should we disallow those, or leave + it to the user to realise that e.g. strip_blanks=ON && inverse_okay=ON + looks ugly? + o doesn't handle symlinks for .oldnewsrc (see <20021003021508.GA28021@akk10.akk.uni-karlsruhe.de> for details, urs. if we're going to 'fix' this we must be careful to avoid symlink attacks () [20020627 Jeff Sheinberg ] +o missing newsrc file and connecting to a server without groups leads to the + question "Try and save newsrc file again? (Y/n)" but a newsrc file doesn't + get written. Same may occur on quitting if newsrc file had been removed + while tin was running. Useful? Should write_newsrc() try to create a newsrc + file if it is missing instead of just leaving? + [20061102 Dirk Nimmich ] + o cleanup main.c/init_selfinfo() ('strace -e trace=file tin' and/or 'ltrace -e getenv tin' and you know what I mean) [fixed some of the double/tripple reads, urs] -o either use libinn(3) where ever it's possible inside the code (if - configured to use that lib) or drop support for it. - [20030511 Urs Janssen ] - -o detect pcre version and add compatibility macros for old versions - (interface has changed twice and might do so again) - (leafnode comes with a (suboptimal) check) - (is this still needed with the configure option for extern pcre?) - [Urs Janssen ] +o re add innlib support? (the old one was dropped as the lib has retired + all (which were not that many) features we used and our code didn't + use the innlibs code where ever it was possible (and useful). + [20080211 Urs Janssen ] diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/WHATSNEW tin-2.0.0/doc/WHATSNEW --- tin-1.8.3/doc/WHATSNEW 2006-02-15 19:23:41.000000000 +0100 +++ tin-2.0.0/doc/WHATSNEW 2011-04-17 16:04:26.674498085 +0200 @@ -1,11 +1,52 @@ -New features and changes since tin-1.8.0 +New features and changes since tin-1.8.1 New features ------------ -. initial swedish translation +. attributes and scope menu +. attachment level +. URL level +. configurable verbatim marks (default is slrn style) +. configurable body trimming +. UTF-8 descriptions (RFC 3977) +. sort by date of last posted article +. writes out newsrc if getting SIGUSR2 +. authentication via SASL PLAIN (RFC 4643) is preferred over USER/PASS +. prefer LIST COUNTS (RFC 6048) over LIST ACTIVE if supported +. danish translation +. -4 / -6 cmd. line switches to force IPv4 / IPv6 connection Changes ------- +. Cancel-Locks can be enabled via configure switch +. url_handler.pl as DEFAULT_URL_HANDLER +. mime_forward is forced on multipart articles +. changed names in tinrc: + default_editor_format -> editor_format + default_maildir -> maildir + default_mailer_format -> mailer_format + default_printer -> printer + default_savedir -> savedir + default_sigfile -> sigfile + show_only_unread -> show_only_unread_arts +. changed names in attributes: + post_proc_type -> post_process_type + show_only_unread -> show_only_unread_arts + sort_art_type -> sort_article_type + thread_arts -> thread_articles +. changed names in keymap: + PageToggleHeaders -> PageToggleRaw +. '-s', '-m' and '-G' cmd-line options no longer change the corresponding + tinrc values +. '-w' uses the first given cmd-line group as default group to post to +. with positive getart_limit all unread articles less than getart_limit are + kept as unread +. mail/pipe/print articles now work on ranges too +. PageReplyQuoteHeaders (^E) and PageFollowupQuoteHeaders (^W) now quote only + visible headers due to news_headers_to_display Retired Features ---------------- +. VMS support +. libinn support (was broken for ages) +. AUTHINFO GENERIC (deprecated by RFC 4643) +. Kinyarwanda translation (unmaintained since initial commit) diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/art_handling.txt tin-2.0.0/doc/art_handling.txt --- tin-1.8.3/doc/art_handling.txt 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/doc/art_handling.txt 2011-04-17 16:04:26.722505389 +0200 @@ -44,7 +44,7 @@ There is one of these per article 'part' whole counts as 1 part so there will always be at least one of these structures linked to the header. Each t_part is pre-initialised to the RFC2045 defaults. (text/plain, 7bit etc..) -Content-* headers if present will then supercede this information. +Content-* headers if present will then supersede this information. The other fields are: params A linked list of parameters associated with the Content-Type and Content-Disposition headers diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/article.txt tin-2.0.0/doc/article.txt --- tin-1.8.3/doc/article.txt 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/doc/article.txt 2011-04-17 16:04:26.766512087 +0200 @@ -1,6 +1,6 @@ This attempts to document the article lifecycle. -arts[] is trashed and rebuilt everytime a group is entered. +arts[] is trashed and rebuilt every time a group is entered. This is handled entirely by index_group() setup_hard_base() creates an array of 'valid' article numbers in base[] diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/auth.txt tin-2.0.0/doc/auth.txt --- tin-1.8.3/doc/auth.txt 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/doc/auth.txt 2011-04-17 16:04:26.826521219 +0200 @@ -1,12 +1,14 @@ Authentication to a NNTP server with tin Tin is able to do authentication to news servers according to the "Common -NNTP Extensions" (this document is available at [1]). There are several -ways of authentication described in that text which are referred to as -Original AUTHINFO, AUTHINFO GENERIC, and AUTHINFO SIMPLE. Tin supports the -Original AUTHINFO and the AUTHINFO GENERIC methods. In addition to answers -to authentication requests as described in the "Common NNTP Extensions", -tin also provides authentication at connection startup. +NNTP Extensions" (this document is available at [1]). There are several ways +of authentication described in that text which are referred to as Original +AUTHINFO, AUTHINFO GENERIC, and AUTHINFO SIMPLE. Tin supports the Original +AUTHINFO and the AUTHINFO GENERIC methods and if tin is linked against +libgsasl and the server announces it as described in RFC 3977 [2] it +supports the AUTHINFO SASL PLAIN mechanisem as described in RFC 4643 [3]. In +addition to answers to authentication requests as described in the "Common +NNTP Extensions", tin also provides authentication at connection startup. Unfortunately, you cannot rely on the response codes of authentication requests as described in the "Common NNTP Extensions"; today's news servers @@ -34,7 +36,9 @@ The first line matching the current news between the fields MUST be spaces or TABS. If a password contains spaces, you have to surround the whole password by double quotes. If no user-name is given for the current news server, the user-id of the user who started tin -is assumed. +is assumed. Mind that tin expects unix line endings ('\n'), a +.newsauth-file with dos line endings ('\r\n') or mac line endings ('\r') +is likely to cause trouble. Security consideration: Make sure that the .newsauth file cannot be read by others. Tin checks the permissions of the file and complains if they are @@ -63,6 +67,9 @@ If NNTPAUTH is empty or not available, t " command to the server and expects the result as a NNTP response code. +The AUTHINFO SASL PLAIN authentication method requires tin to be linked +against libgsasl. + The AUTHINFO SIMPLE authentication method is not supported by tin (and possibly won't be since nobody seems to use it and there are some problems with the protocol). If you need this, drop me a message or see the source @@ -73,4 +80,6 @@ Dirk Nimmich (2000-01-22) References: - +[1] +[2] +[3] diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/config-anomalies tin-2.0.0/doc/config-anomalies --- tin-1.8.3/doc/config-anomalies 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/doc/config-anomalies 2011-05-08 11:53:02.432430682 +0200 @@ -1,14 +1,6 @@ config anomalies in tin: different variable names in tinrc file and struct tinrc: -post_process_type tinrc.post_process -show_only_unread tinrc.show_only_unread_arts -default_maildir tinrc.maildir -default_savedir tinrc.savedir -default_printer tinrc.printer -default_editor_format tinrc.editor_format -default_mailer_format tinrc.mailer_format -default_sigfile tinrc.sigfile default_filter_days tinrc.filter_days changing the struct tinrc names can help cleaning up read/write_config_file() @@ -40,78 +32,65 @@ art_marked_selected, art_marked_recent, art_marked_killed and art_marked_read_selected must be converted by SPACE_TO_DASH() before writing to tinrc file. -default_filter_kill_case and default_filter_select_case write inverted values -to tinrc file (not really a problem -- these are not in option_table and must -be handled explicitly anyway) - ----------------------------------------------------------------------------- tinrc variables that should be removed because they can be used in the attributes file with scope=*: -default_savedir savedir in attributes +savedir auto_save -mark_saved_read * -post_process_type post_proc_type in attributes -post_process_view * -process_only_unread * -prompt_followupto * -pos_first_unread * -show_only_unread * +mark_saved_read +post_process_type +post_process_view +process_only_unread +prompt_followupto +pos_first_unread +show_only_unread_arts kill_level * -tab_goto_next_unread * -space_goto_next_unread * -pgdn_goto_next * -full_page_scroll * -show_last_line_prev_page * -group_catchup_on_exit * -thread_catchup_on_exit * -thread_articles thread_arts in attributes -thread_perc * +group_catchup_on_exit +thread_catchup_on_exit +thread_articles +thread_perc show_author -news_headers_to_display * -news_headers_to_not_display * -sort_article_type sort_art_type in attributes +news_headers_to_display +news_headers_to_not_display +sort_article_type sort_threads_type -default_maildir maildir in attributes -print_header * +maildir +print_header batch_save -start_editor_offset * allows for different editors in different -default_editor_format * hierarchies (e.g. a special one for asian - newsgroups) +start_editor_offset +editor_format show_info * posted_articles_file * -add_posted_to_filter * -default_sigfile sigfile in attributes -sigdashes * it doesn't make sense to set that globally if - you can have different sigfiles in different - groups -signature_repost * -advertising * +add_posted_to_filter +sigfile +sigdashes +signature_repost +advertising quote_chars quote_regex * quote_regex2 * quote_regex3 * strip_re_regex * strip_was_regex * -show_signatures * +show_signatures hide_uue * news_quote_format mail_quote_format * xpost_quote_format * -auto_cc * -auto_bcc * +auto_cc_bcc default_filter_days * getart_limit * recent_time * -mail_address from in attributes; should be splitted into +mail_address from in attributes; should be split into username and addresse mm_charset mm_network_charset (if charset conversion is available) -post_mime_encoding * -mail_mime_encoding * -post_8bit_header * -mail_8bit_header * +post_mime_encoding +mail_mime_encoding +post_8bit_header +mail_8bit_header default_filter_kill_header quick_kill_header in attributes default_filter_kill_global quick_kill_scope=* in attributes default_filter_kill_case quick_kill_case in attributes @@ -127,8 +106,8 @@ default_save_file savefile variables with different types in tinrc and attributes: default_filter_kill_header (int) quick_kill_header (unsigned int) default_filter_select_header (int) quick_select_header (unsigned int) -thread_articles (int) thread_arts (unsigned int) -sort_article_type (int) sort_art_type (unsigned int) +thread_articles (int) thread_articles (unsigned int) +sort_article_type (int) sort_article_type (unsigned int) sort_threads_type (int) sort_threads_type (unsigned int) show_author (int) show_author (unsigned int) -post_process (int) post_proc_type (unsigned int) +post_process_type (int) post_process_type (unsigned int) diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/filtering tin-2.0.0/doc/filtering --- tin-1.8.3/doc/filtering 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/doc/filtering 2011-04-17 16:04:26.914534613 +0200 @@ -151,12 +151,13 @@ matches: matched to: subj=pattern Subject: from=pattern From: - Tin converts the contents of the From-header to an old-style - e-mail address, i.e. ''some@body.example (John Doe)'' - instead of ''John Doe '', before trying to - match the patterns in the filter rule. That way a rule tailored to - to match the full from header "jsmith@ac.example (John Smith)" will still - work when John posts with a different newsreader which uses + Tin converts the contents of the From-header to an + old-style e-mail address, i.e. ''some@body.example (John + Doe)'' instead of ''John Doe '', + before trying to match the patterns in the filter rule. + That way a rule tailored to match the full from + header "jsmith@ac.example (John Smith)" will still work + when John posts with a different newsreader which uses "John Smith ". msgid=pattern Message-Id: *AND* full References: msgid_last=pattern Message-Id: and last Reference:s entry only @@ -307,7 +308,7 @@ score=-100 refs_only=.*<[^@\s]+@\S+(?$ comment= Kill all articles from John Smith, who writes under different -comment= addresses at ac.me, e.g john@ac.me and boss@ac.me +comment= addresses at ac.example, e.g john@ac.example and boss@ac.example group=* case=1 score=kill diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/good-netkeeping-seal tin-2.0.0/doc/good-netkeeping-seal --- tin-1.8.3/doc/good-netkeeping-seal 2005-06-28 10:31:19.000000000 +0200 +++ tin-2.0.0/doc/good-netkeeping-seal 2011-04-17 16:04:26.962541919 +0200 @@ -629,7 +629,7 @@ engage in flame warfare, all of which is 19) Be kind to servers, leave room for others Reading or posting software MUST NOT put excessive demands on news -servers unnecessarily. The sofware MUST limit itself to 4 simultaneous +servers unnecessarily. The software MUST limit itself to 4 simultaneous connections to a given server. Spurious connects and unnecessary traffic MUST be avoided; the software MUST use as few as possible connections, reusing existing connections whenever possible. diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/keymap.sample tin-2.0.0/doc/keymap.sample --- tin-1.8.3/doc/keymap.sample 2005-06-28 10:31:20.000000000 +0200 +++ tin-2.0.0/doc/keymap.sample 2011-04-17 16:04:27.074558965 +0200 @@ -1,11 +1,10 @@ -# Keymap file V1.0.6 for the TIN newsreader +# Keymap file V1.0.9 for the TIN newsreader # # Sample keymap file # This file contains the default key mappings # # Global keys -PageDown3 SPACE ShellEscape ! SetRange # LastPage $ @@ -45,17 +44,32 @@ QuickFilterKill ] ScrollUp < ScrollDown > PageUp b ^B ^U -PageDown ^D ^F +PageDown ^D ^F SPACE RedrawScr ^L MenuFilterSelect ^A MenuFilterKill ^K +MarkFeedRead ^X +MarkFeedUnread ^W ##### +AttachPipe p +AttachSave s +AttachSelect ^J ^M +AttachTag t +AttachTagPattern = +AttachToggleTagged @ +AttachUntag U + +##### + +ConfigToggleAttrib TAB ConfigSelect ^J ^M ConfigLastPage G ConfigNoSave Q +ConfigScopeMenu S ConfigFirstPage g +ConfigResetAttrib r ##### @@ -82,6 +96,7 @@ GroupToggleThdSel . GroupSelThdIfUnreadSelected ; GroupSelPattern = GroupReverseSel @ +GroupCancel D GroupToggleGetartLimit G GroupMarkThdRead K GroupNextUnreadArt N @@ -112,7 +127,7 @@ HelpFirstPage g PageReplyQuoteHeaders ^E PagePGPCheckArticle ^G -PageToggleHeaders ^H +PageToggleRaw ^H PageNextUnread TAB PageNextThd ^J ^M PageToggleTabs ^T @@ -121,6 +136,7 @@ PageToggleTex2iso " PageToggleRot % PageToggleUue ( PageReveal ) +PageToggleAllHeaders * PageSkipIncludedText : PageTopThd < PageBotThd > @@ -214,11 +230,21 @@ SelectMarkGrpUnread z Z ##### +ScopeSelect ^J ^M +ScopeEditAttributesFile E +ScopeAdd a +ScopeDelete d +ScopeMove m +ScopeRename r + +##### + ThreadReadNextArtOrThread TAB ThreadReadArt ^J ^M ThreadSelArt * ThreadToggleArtSel . ThreadReverseSel @ +ThreadCancel D ThreadMarkArtRead K ThreadAutoSave S ThreadUntag U @@ -227,3 +253,7 @@ ThreadMail m ThreadSave s ThreadTag t ThreadUndoSel ~ + +##### + +UrlSelect ^J ^M diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/l10n/de/tin.1 tin-2.0.0/doc/l10n/de/tin.1 --- tin-1.8.3/doc/l10n/de/tin.1 1970-01-01 01:00:00.000000000 +0100 +++ tin-2.0.0/doc/l10n/de/tin.1 2011-08-22 00:21:06.738589017 +0200 @@ -0,0 +1,3418 @@ +.\" +.\" Project : tin - a Usenet newsreader +.\" Module : tin.1 +.\" Author : I. Lea, U. Janssen +.\" Created : 1991-08-23 +.\" Updated : 2011-08-23 +.\" Notes : use american english; still needs some work, e.g.: +.\" - document authorization (.newsauth) +.\" - document random organization feature +.\" +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH tin 1 "23. August 2011" 2.0.0 "Usenet Newsreader" +.\" +.\" +.SH NAME +.\" +.\" +tin, rtin \- Ein Usenet Newsreader +.SH ÜBERSICHT +.\" +.\" +\fBtin\fP [\|[\|\fB\-h\fP\||\|\fB\-H\fP\||\|\fB\-V\fP\|]\ \|| [\|[\|[\|\fB\-a\fP\|] +[\|\fB\-dlnq\fP\||\|\fB\-Q\fP\|] [\|\fB\-ArzxX\fP\|]\|] [\|[\|\fB\-R\fP\||\|\fB\-S\fP\|] +\|\|\fB\-s\fP \fINews\-Verz.\fP\|] [\|\fB\-cuvZ\fP\|] [\|\fB\-4\fP\||\|\fB\-6\fP\|] +[\|\fB\-N\fP\||\|\fB\-M\fP \fIAdresse\fP\|] [\|\fB\-o\fP\||\|\fB\-w\fP\|]\|] [\|\fB\-D\fP +\fIDebuggrad\fP\|] [\|\fB\-G\fP \fIArtikellimit\fP\|] [\|\fB\-f\fP \fInewsrc\-Datei\fP\|] +[\|\fB\-g\fP \fIServer\fP\|] [\|\fB\-m\fP \fIMail\-Verz.\fP\|] [\|\fB\-p\fP \fIPort\fP\|] [\|\fB\-I\fP +\fIindex\-Verz.\fP\|]\ \|[\fINewsgruppe\fP\|[\|,.\|.\|.\|]\|]\|] +.SH BESCHREIBUNG +\fBtin\fP ist ein einfach zu bedienender Newsreader für das Usenet. Er kann +Artikel von einem lokalen (z. B. aus \fI/var/spool/news\fP) oder entfernten +Server (\fBrtin\fP oder \fBtin \-r\fP Option) mittels NNTP (Network News Transport +Protocol) lesen. Er benutzt, sofern vorhanden, lokale NOV \fBnewsoverview\fP(5) +Indexdateien bzw. den [X]OVER NNTP\-Befehl (\fBRFC2980\fP, \fBRFC3977\fP). +.PP +\fBtin\fP hat vier unterschiedliche Arbeitsebenen: Auswahlebene, Gruppenebene, +Threadebene und Artikelebene. Mit dem \fBHelp\fP ('\fBh\fP') Befehl können die +jeweils verfügbaren Befehle angezeigt werden. +.PP +Am Anfang zeigt \fBtin\fP eine Liste der Gruppen in +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. Ein Pfeil '\->' oder ein inverser +Balken zeigt auf die erste Newsgruppe. Um zu einer Gruppe zu navigieren +können die Cursor\-Tasten (hängt vom verwendetem Terminal ab) oder \fBDown\fP +('\fBj\fP') und \fBUp\fP ('\fBk\fP') benutzt werden. Mit Bildhoch/Bildrunter (hängt +vom verwendetem Terminal ab) oder \fBPageUp\fP ('\fB^U\fP') (CTRL\-U) und +\fBPageDown\fP ('\fB^D\fP') (CTRL\-D) kann Seitenweise navigiert werden. Die +ausgewählte Gruppe wird durch Drücken von '\fB\fP' betreten. +.PP +.\" +.\" +Durch Drücken der \fBGroupNextUnreadArtOrGrp\fP ('\fB\fP') Taste wird +die nächste Newsgruppe mit ungelesenen Artikeln betreten. +.SH EXIT\-STATUS +Interaktiver\-Modus: +.RS +.5i +.TP +\fB0\fP +Programm erfolgreich beendet. +.TP +\fB1\fP +Bedien\-, Syntax\-, Konfigurations\- oder Netzwerk\-Fehler. +.RE +.PP +Batch\-Modus (\*(rq\fB\-Z\fP\*(rq): +.RS +.5i +.TP +\fB0\fP +Keine ungelesenen Nachrichten vorhanden +.TP +\fB1\fP +Bedien\-, Syntax\-, Konfigurations\- oder Netzwerk\-Fehler. +.TP +\fB2\fP +Ungelesene Nachrichten vorhanden +.RE +.\" +.\" +.SH OPTIONEN +.TP 12 +\fB\-4\fP +Verbindung via IPv4 zum NNTP Server erzwingen. +.TP +\fB\-6\fP +Verbindung via IPv6 zum NNTP Server erzwingen. +.TP +\fB\-a\fP +ANSI\-Farben ein/\-ausschalten (Standard ist aus). +.TP +\fB\-A\fP +Erzwinge Authentifikation beim Verbindungsaufbau. +.TP +\fB\-c\fP +Erstelle bzw. aktualisiere Index\-Dateien für alle Gruppen in +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP bzw. der mittels \*(rq\fB\-f\fP\*(rq angegebenen +Datei und markiere alle Artikel als gelesen. +.TP +\fB\-d\fP +Keine Gruppenbeschreibungen laden (Interaktiver\-Modus). +.TP +\fB\-D\fP\fI Debuggrad\fP +Debuggrad angeben (1 = NNTP, 2 = Filter, 4 = newsrc, 8 = Threading, 16 = +Speicher, 32 = attributes, 64 = Diverses). +.TP +\fB\-f\fP\fI Datei\fP +Benutze die angegebene newsrc\-Datei anstelle von +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. +.TP +\fB\-g\fP\fI Server\fP +Zugehörigen Newsserver und newsrc\-Datei aus +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP benutzen. +.TP +\fB\-G\fP\fI Artikellimit\fP +Beschränkt die Anzahl der zu ladenden Artikel pro Gruppe. +.TP +\fB\-h\fP +Kurzübersicht der verfügbaren Komandozeilenoptionen. +.TP +\fB\-H\fP +Kurzeinführung in \fBtin\fP welche auch beim allerersten Start ausgegeben wird. +.TP +\fB\-I\fP\fI Verzeichnis\fP +Directory in which to store newsgroup index files. Default is +\fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news\fP. This option +has no effect if \fBtin\fP retrieves its index files via NNTP and +\fBcache_overview_files\fP is turned off. +.TP +\fB\-l\fP +Get number of articles per group from the +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file. If reading +via NNTP this is done with the LIST command (\fBRFC3977\fP). This might result +in incorrect article counts but is usually faster than the default which is +to read the \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file +(either directly or via LIST) and then check the article count via NNTP +GROUP command (\fBRFC3977\fP) \*(rq\fB\-ln\fP\*(rq. +.TP +\fB\-m\fP\fI Verzeichnis\fP +Zu benutzendes Mailbox\-Verzeichnis. Standard ist +\fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fP. +.TP +\fB\-M\fP\fI Benutzer\fP +Sende ungelesene Artikel an den angegebenen Benutzer um sie später lesen zu +können. Für weitere Informationen siehe den Abschnitt "AUTOMATISCHES MAILEN +UND SPEICHERN VON UNGELESENEN ARTIKELN". +.TP +\fB\-n\fP +Only load groups from the +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file that are +subscribed to in the user's \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. This allows +a noticeable speedup when connecting via a slow line, but \fBtin\fP can not +tell which groups are moderated. See also \*(rq\fB\-l\fP\*(rq. +.TP +\fB\-N\fP +Sende ungelesene Artikel an dich selbst um sie später lesen zu können. Für +weitere Informationen siehe den Abschnitt "AUTOMATISCHES MAILEN UND +SPEICHERN VON UNGELESENEN ARTIKELN". +.TP +\fB\-o\fP +Quick post all postponed articles and exit. In order for this to be really +quick, it should be used with \*(rq\fB\-n\fP\*(rq if possible. +.TP +\fB\-p\fP\fI Port\fP +Zu benutzende Portnummer falls per NNTP gelesen wird (Standard ist +119). Übersteuert die Umgebungsvariable $\fBNNTPPORT\fP. +.TP +\fB\-q\fP +Nicht prüfen ob neue Newsgruppen vorhanden sind. +.TP +\fB\-Q\fP +Schnellstart. \fBtin\fP so schnell wie möglich starten, zur Zeit entspricht +diese Option \*(rq\fB\-nqd\fP\*(rq. +.TP +\fB\-r\fP +Read news remotely from the default NNTP server specified in the environment +variable $\fBNNTPSERVER\fP or contained in the file \fI/etc/nntpserver\fP. +.TP +\fB\-R\fP +Lese mittels \*(rq\fB\-S\fP\*(rq gespeicherte Artikel. +.TP +\fB\-s\fP\fI Verzeichnis\fP +Save/read articles to/in directory. Default is +\fI${TIN_HOMEDIR:\-"$HOME"}/News\fP. +.TP +\fB\-S\fP +Speichere ungelesene Artikel zum späteren Lesen mittels \*(rq\fB\-R\fP\*(rq. Für +weitere Informationen siehe den Abschnitt "AUTOMATISCHES MAILEN UND +SPEICHERN VON UNGELESENEN ARTIKELN". +.TP +\fB\-u\fP +Create/update index files for every group in +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP or file specified by the \*(rq\fB\-f\fP\*(rq +option. This option is disabled if \fBtin\fP retrieves its index files via a +NNTP server and \fBcache_overview_files\fP is turned off. +.TP +\fB\-v\fP +Ausführliche Ausgabe für \*(rq\fB\-c\fP\*(rq, \*(rq\fB\-M\fP\*(rq, \*(rq\fB\-N\fP\*(rq, \*(rq\fB\-S\fP\*(rq, +\&\*(rq\fB\-u\fP\*(rq und \*(rq\fB\-Z\fP\*(rq\-Optionen. +.TP +\fB\-V\fP +Versionsinformationen ausgeben. +.TP +\fB\-w\fP +Schnell\-Modus um nur einen Artikel zu posten. Nach Möglichkeit mit \*(rq\fB\-n\fP\*(rq +kombinieren. +.TP +\fB\-x\fP +No posting mode. You cannot post articles if you use this option. +.TP +\fB\-X\fP +No overwrite mode. \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP and files in +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin\fP will not be overwritten but may be created +if they don't exist. +.TP +\fB\-z\fP +Only start \fBtin\fP if there is any new/unread news. If there is news \fBtin\fP +will position cursor at first group with unread news. Useful for putting in +login file. +.TP +\fB\-Z\fP +Check if there is any new/unread news and exit with appropriate status. If +\&\*(rq\fB\-v\fP\*(rq option is specified the number of unread articles in each group +is printed. An exit code 0 indicates no news, 1 that an error occurred and 2 +that new/unread news exists. Useful for writing scripts. +.PP +\fBtin\fP can also dynamically change its options by the \fBOptionMenu\fP ('\fBM\fP') +command. Any changes are written to +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP. For more information see section +"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" and \fBtin\fP(5). +.PP +A list of groups can be specified after the other command\-line options. This +can be useful if you wish to yank in or subscribe to a hand\-picked subset of +the active newsgroups. See the section "NEWSGROUP LISTS & WILDCARDS" for the +types of pattern that \fBtin\fP understands. +.PP +If you specify a single group\-name, or a wildcard that matches a single +group, then you will automatically enter that group. Otherwise the normal +group selection screen will appear, but with all the matching groups present +too, as though you had yanked just those groups in. +.PP +With the \*(rq\fB\-w\fP\*(rq flag a given group\-name is used as default group to post +to. If more than one group or a wildcard is specified only the first group +respectively the first group that matches is used. +.PP +Once you use \fBSelectYankActive\fP ('\fBy\fP') to yank in all active groups, or +\fBSelectToggleReadDisplay\fP ('\fBr\fP') to toggle the read/unread status, then +the command\-line groups will be gone. You can use \fBSelectSyncWithActive\fP +('\fBY\fP') to reread the +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file and get them +back. +.PP +NB: With the \*(rq\fB\-n\fP\*(rq flag, only unsubscribed groups in the +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP file (or the newsrc\-file given by the +\&\*(rq\fB\-f\fP\*(rq command\-line switch or via +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP) can be matched. +.PP +.\" +.\" +Komandozeilenoptionen haben eine höhere Priorität als attributes und tinrc +Optionen und übersteuern daher die konfigurierten Werte. +.SH GEBRAUCH +.\" +.\" +.SS "NEWS ADMINISTRATION" +Maintaining Netnews on large networks of machines can be a pretty time +consuming job as I discovered when I was given the job of maintaining our +news system and news users. +.PP +.\" +.\" +A user starting \fBtin\fP for the first time can be automatically subscribed to +a list of newsgroups that are deemed appropriate by the news +administrator. The subscriptions file should be created in your news lib +directory (i.e., \fI${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions\fP) and should have +file permissions set to 0644. If you read news via NNTP, then your news +server must support the LIST SUBSCRIPTIONS command. It is part of the NNTP +List Extensions (\fBRFC6048\fP) and all modern servers should understand it. +.SS "SCREEN FORMAT" +\fBtin\fP hat vier unterschiedliche Arbeitsebenen: Auswahlebene, Gruppenebene, +Threadebene und Artikelebene. +.PP +At the Selection level the title displays (the name of the newsserver and) +the number of subscribed groups (containing new unread articles). The +newsgroups are displayed in the middle of the screen with the number of +unread articles displayed on the same line in front. +.PP +.\" FIXME - make this autoscale +.nf +\->M 1 2 comp.security.announce Announcements from the CERT abou + M 2 1 news.admin.announce Announcements for news adminstra + 3 22 news.software.misc News\-related software other than + 4 1475 news.software.nntp The Network News Transfer Protoc + X 5 124 news.software.readers Discussion of software used to r +.fi +.PP +Eventuell steht am Anfang der Zeile noch eines der folgende Zeichen: +.TP 10 +\fBu\fP +This group is unsubscribed. To see only your subscribed groups use the +\fBSelectToggleReadDisplay\fP ('\fBr\fP') or \fBSelectYankActive\fP ('\fBy\fP') toggle +keys. +.TP +\fBM\fP +This is a moderated group. Any posts you make will have to be approved by +the group administrator before it will be made public. \fBtin\fP will ask for +confirmation before you post to a moderated group. +.TP +\fBN\fP +This is a new newsgroup which has been created since you last used +\fBtin\fP. New newsgroups are not subscribed to by default (However, see the +$\fBAUTOSUBSCRIBE\fP / $\fBAUTOUNSUBSCRIBE\fP environment variables). Subscribe +to it in the normal way if you wish the group to continue to appear in your +Selection Menu. Simply ignore new newsgroups and they will be gone the next +time you start \fBtin\fP. You will have to yank in all the groups to find them +in a later session. +.TP +\fBD\fP +This group no longer exists. If you no longer wish to see this group then +unsubscribe from it in the normal way. This flag will only appear if you +have set \fBstrip_bogus\fP to "ask" in the Options Menu. +.TP +\fBX\fP +You may no longer make posts to this group. Often a group will be superseded +by a more appropriately named one. +.TP +\fB=\fP +This group has been renamed and you may no longer post to it. If you do, +then you will receive an error from your newsserver telling you the correct +group to post to. +.PP +At the Group level the title contains the name of the group, the number of +conversation threads, the threading method, the limit of articles to get, +the total number of articles, the number of hot articles, the number of +recent articles and the number of killed articles. I.e.: +.PP +.nf +.\" FIXME - make this autocenter + alt.sources (5B \-50/23+ 0* 3o 0K) +.fi +.PP +The characters after the numbers are depending to the configuration and if +your are in \fBshow_only_unread_arts\fP mode or not. Some numbers could be +missing if the specific option is not enabled. It might also contain an 'M', +\&'X' or '=' (see above; doesn't work with the \*(rq\fB\-n\fP\*(rq command\-line +switch!) if the group is moderated, set to no posting or postings to it get +redirected. +.PP +If a thread has unread articles in it it's marked with a +\fBart_marked_unread\fP in front of the total number of articles in the +thread. If there are recent articles within the thread it might be marked +with \fBart_marked_recent\fP in front of the total number of articles in the +thread \- this is controlled by the \fBrecent_time\fP option. If a thread has +hot articles in it (see also section "FILTERING ARTICLES") it's marked with +\fBart_marked_selected\fP in front of the total number of articles in the +thread. The number of lines of the first (unread) article in the thread +might also be shown right before the subject \- this is controlled by the +\fBshow_info\fP option. +.PP +.\" FIXME - make this autoscale +.nf + de.admin.net\-abuse.announce (11B 13+ 1* 1o 0K) M + +\-> 1 + 3 108 bincancels in de.talk.sex Christopher Lueg Fremdcancel\-FAQ Thomas Roessler 1 [ 7] What is this funny tree in the thr Robert F. Simmig + 2 [ 12] +\-> Sephan Wagner Tin thread\-level (was: What is Bob Johnson tin threading menu Brian Richardson + +.fi +.PP +.\" FIXME - add description of fields +At the Article level the page header has the following format: +.PP +.\" FIXME - make this autoscale +.nf +So, 28 Dez 1997 21:21:01 de.admin.news.groups Thread 20 v. 86 +Zeilen 50 Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL Artikel 47 von 59 +Urs Janssen bei Arbeitskreis Kultur und Kommunikati + +Artikel\-Körper +.fi +.\" +.\" +.SS "COMMON MOVING KEYS" +This table shows the common keys used for moving around all levels within +\fBtin\fP. +.RS +.nf +.ta \w'Beg. of list/article 'u +\w'ANSI/vt100 'u + ANSI/vt100 Other Terminals +Beg. of list/article \fBHome\fP \fBFirstPage\fP (\fB^\fP) +End of list/article \fBEnd\fP \fBLastPage\fP (\fB$\fP) +Page Up \fBPgUp\fP \fBPageUp\fP (\fBu\fP, \fB^U\fP or \fB^B\fP) +Page Down \fBPgDn\fP \fBPageDown\fP (\fB^D\fP or \fB^F\fP or \fB\fP) +Line Up \fBUp arrow\fP \fBUp\fP (\fBk\fP or \fB^P\fP) +Line Down \fBDown arrow\fP \fBDown\fP (\fBj\fP or \fB^N\fP) +.fi +.RE +.\" +.\" +.SS "COMMON EDITING COMMANDS" +An emacs style editing package allows the easy editing of input strings. An +history list allows the easy reuse of previously entered strings. In +addition to the cursor keys, the following commands are available when +editing a string: +.PP +.TP 10 +\fB^A, ^E\fP +move to beginning or end of line, respectively. +.TP +\fB^F, ^B\fP +non\-destructive move forward or back one location, respectively. +.TP +\fB^D\fP +delete the character currently under the cursor, or send EOF if no +characters in the buffer. +.TP +\fB^H, \fP +Zeichen links vom Cursor löschen. +.TP +\fB^K\fP +Lösche vom Cursor bis zum Zeilenende. +.TP +\fB^P, ^N\fP +move through history, previous and next, respectively. +.TP +\fB^L, ^R\fP +redraw the current line. +.TP +\fB\fP +places line on history list if non\-blank, appends newline and returns to the +caller. +.TP +\fB\fP +.\" +.\" +aborts the present editing operation. +.SS "ALLGEMEINE BEFEHLE" +Die folgenden Befehle stehen in allen vier Ebenen zur Verfügung und bewirken +überall das Gleichen. +.PP +.TP 10 +\fBShellEscape '!'\fP +Shell escape. \fBShellEscape\fP by itself will launch a shell, \fBShellEscape\fP + will run an external . This facility may +have been disabled by the System Administrator. +.TP +\fBToggleColor '&'\fP +Toggle use of ANSI color. +.TP +\fBRedrawScr '^L'\fP +Bildschirminhalt neu aufbauen. +.TP +\fBScrollUp '<'\fP +Eine Zeile nach oben blättern (scrollen). +.TP +\fBScrollDown '>'\fP +Eine Zeile nach unten blättern (scrollen). +.TP +\fBPostponed 'O' '^O'\fP +Reload postponed article. If your system blocks the \fBPostponed\fP key you +must quote it by pressing '\fB^V\fP' (CTRL\-V) first. The postpone\-menu offers +the following actions: \fBPromptYes\fP ('\fBy\fP') = reload and spawn editor; +\fBPostponeOverride\fP ('\fBY\fP') = post article (without spawning editor); +\fBPostponeAll\fP ('\fBA\fP') = post all postponed articles (without spawning +editor); \fBPromptNo\fP ('\fBn\fP') = skip this article; \fBQuit\fP ('\fBq\fP') = quit +postponed menu. Currently there is no 'simple' way to delete a postponed +article from the postponed\-file, you have to use the following command +sequence instead: reload it with \fBPostponed\fP, enter editor with +\fBPromptYes\fP, quit editor, discard posting with \fBQuit\fP +('\fB^O\fP\*(rq\fBy\fP\*(rq\fBq\fP'). See also \*(rq\fB\-o\fP\*(rq command\-line switch. +.TP +\fBHelp 'h'\fP +Help screen of commands available on the current menu. You can use +\fBSearchSubjF\fP ('\fB/\fP'), \fBSearchSubjB\fP ('\fB?\fP') and \fBSearchRepeat\fP +('\fB\e\fP') to search on this screen. \fBQuit\fP ('\fBq\fP') returns to the menu. +.TP +\fBToggleHelpDisplay 'H'\fP +Toggle the display of help mini menu at the bottom of the screen. +.TP +\fBDisplayPostHist 'W'\fP +List articles posted by user. The date posted, the newsgroup and the subject +are listed. You can use \fBSearchSubjF\fP ('\fB/\fP'), \fBSearchSubjB\fP ('\fB?\fP') and +\fBSearchRepeat\fP ('\fB\e\fP') to search on this screen. \fBQuit\fP ('\fBq\fP') returns +to the menu. +.TP +\fBVersion 'v'\fP +.\"-------------------------------------------------------------------- +.\" +Versions\-Informationen ausgeben. +.SS "NEWSGROUP SELECTION COMMANDS" +.TP 10 +\fB4\fP +Gruppe 4 auswählen. +.TP +\fBSelectResetNewsrc '^R'\fP +Reset \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP file. This will destroy all records +of which articles have been read, so use this carefully. +.TP +\fBSetRange '#'\fP +Wählen Sie eine Reihe von Artikeln auf die der nächste Befehl angewendet +wird. Siehe Abschnitt "BEREICHE" für weitere Informationen. +.TP +\fBSelectSortActive '.'\fP +Liste vorhandener Newsgroups sortieren. +.TP +\fBSearchRepeat '\e'\fP +Vorherige Suche wiederholen. +.TP +\fBSearchSubjF '/'\fP +Search for a group by name and description (if displayed). +.TP +\fBSearchSubjB '?'\fP +Backward search through the group names and descriptions. +.TP +\fBSelectReadGrp '^J' ''\fP +Read current group. +.TP +\fBSelectEnterNextUnreadGrp '' 'n'\fP +Enter next group with unread news. Will wrap around to the beginning of the +group selection list looking for unread groups. +.TP +\fBCatchup 'c'\fP +Make current group as all read [after confirmation] and move to the next +group in the group selection list. +.TP +\fBCatchupNextUnread 'C'\fP +Mark current group as all read [after confirmation] and enter the next +unread group in the group selection list. +.TP +\fBSelectToggleDescriptions 'd'\fP +Toggle display to show just the group name or the group name and the group +descriptions. +.TP +\fBEditFilter 'E'\fP +Filter\-Datei bearbeiten und danach anwenden. +.TP +\fBSelectGoto 'g'\fP +Choose a new group by name. This command can be used to access any group, +even those not currently yanked in. +.TP +\fBToggleInfoLastLine 'i'\fP +Toggle the display of the description of the current newsgroup in the last +line. This will not be available if \fBtin\fP was started with the \&\*(rq\fB\-d\fP\*(rq +option. +.TP +\fBToggleInverseVideo 'I'\fP +Toggle inverse video. +.TP +\fBSelectMoveGrp 'm'\fP +Move the current group within the group selection list. By entering '1' the +group will become the first displayed group in the list, by entering '8' the +eighth group in the list etc. By entering '$' the group will be the last +group displayed. +.TP +\fBOptionMenu 'M'\fP +User configurable options menu (for more information see section "GLOBAL +OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"). +.TP +\fBSelectNextUnreadGrp 'N'\fP +Positions the cursor on the next group with unread articles in it. +.TP +\fBQuit 'q'\fP +Quit \fBtin\fP \- ask the user to confirm if \fBconfirm_choice\fP is set +accordingly. +.TP +\fBQuitTin 'Q'\fP +Beendet \fBtin\fP sofort, ohne Bestätigungsnachfrage. +.TP +\fBSelectToggleReadDisplay 'r'\fP +Toggle display of all subscribed to groups and just those groups containing +unread articles. Command has no effect if groups were specified on the +command\-line when \fBtin\fP was started. +.TP +\fBBugReport 'R'\fP +Einen Fehlerbericht oder Kommentar an +senden. Dies ist der sinnvollste Weg um Fehler zu melden und behoben zu +bekommen bzw. nach neuen Funktionen zu fragen. +.TP +\fBSelectSubscribe 's'\fP +Ausgewählte Gruppe abonnieren. +.TP +\fBSelectSubscribePat 'S'\fP +Subscribe to groups matching user specified pattern. See the section +"NEWSGROUP LISTS & WILDCARDS" for the types of pattern that \fBtin\fP +understands. +.TP +\fBSelectUnsubscribe 'u'\fP +Unsubscribe to current group. This can be used to remove bogus groups. See +\fBstrip_bogus\fP in the "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" +section. +.TP +\fBSelectUnsubscribePat 'U'\fP +Unsubscribe to groups matching user specified pattern. See the section +"NEWSGROUP LISTS & WILDCARDS" for the types of pattern that \fBtin\fP +understands. +.TP +\fBPost 'w'\fP +Post an article to current group. If posting fails for some reason, you'll +get the chance to \fBPostEdit\fP ('\fBe\fP') the article again, \fBPostPostpone\fP +('\fBo\fP') it for later processing (see also \*(rq\fB\-o\fP\*(rq command\-line switch) or +discard it via \fBQuit\fP ('\fBq\fP'). +.TP +\fBSelectQuitNoWrite 'X'\fP +Quit \fBtin\fP without saving any changes to the configuration. +.TP +\fBSelectYankActive 'y'\fP +Yanks in all groups. Toggles the displayed groups between all the groups in +the \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file and just +those that are subscribed to in \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP. +.TP +\fBSelectSyncWithActive 'Y'\fP +Reread the \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file to +see if any new news has arrived since starting \fBtin\fP. +.TP +\fBSelectMarkGrpUnread 'z' 'Z'\fP +.\"-------------------------------------------------------------------- +.\" +Alle Artikel in der aktuellen Gruppe als ungelesen markieren. +.SS "GROUP INDEX COMMANDS" +.TP 10 +\fB4\fP +Artikel 4 auswählen. +.TP +\fBMenuFilterSelect '^A'\fP +Auto select article(s) using a menu. Read the section "FILTERING ARTICLES" +for more information. +.TP +\fBMenuFilterKill '^K'\fP +Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for more +information. +.TP +\fBMarkFeedRead '^X'\fP +Mark current article, thread, range, auto\-selected (hot) articles, articles +matching pattern or tagged articles as read. A prompt asks which type should +be marked. +.TP +\fBMarkFeedUnread '^W'\fP +Mark current article, thread, range, auto\-selected (hot) articles, articles +matching pattern or tagged articles as unread. A prompt asks which type +should be marked. +.TP +\fBSetRange '#'\fP +Wählen Sie eine Reihe von Artikeln auf die der nächste Befehl angewendet +wird. Siehe Abschnitt "BEREICHE" für weitere Informationen. +.TP +\fBLastViewed '\-'\fP +Re\-enter the last message that was viewed. +.TP +\fBSearchRepeat '\e'\fP +Vorherige Suche wiederholen. +.TP +\fBSearchSubjF '/'\fP +Search forward for specified subject. +.TP +\fBSearchSubjB '?'\fP +Search backward for specified subject. +.TP +\fBGroupSelThd '*'\fP +Select current thread for later processing. +.TP +\fBGroupDoAutoSel '+'\fP +Selects all threads in current group. It is a shortcut for calling +\fBGroupSelPattern\fP with a pattern of \*(rq*\*(rq. +.TP +\fBGroupToggleThdSel '.'\fP +Toggle selection of current thread. If at least one unread article, (but not +every unread article) in the current thread is selected, then all unread +articles become selected. +.TP +\fBGroupSelThdIfUnreadSelected ';'\fP +For each thread in current group, if it at least one unread article is +selected, all unread articles become selected. This is useful for +auto\-selection on author where reader wants to see entire thread. +.TP +\fBGroupSelPattern '='\fP +Prompts for a pattern with which to match on. All threads whose subjects +match the pattern will be marked selected. A pattern of \*(rq*\*(rq will match all +subjects. Entering just '\fB\fP' will re\-use the last pattern that +was entered. +.TP +\fBGroupReverseSel '@'\fP +Reverse all selections on all articles. +.TP +\fBGroupUndoSel '~'\fP +Undo all selections on all articles. It clears the toggle effect of +\fBGroupMarkUnselArtRead\fP ('\fBX\fP') command. Thus after first doing a +\fBGroupMarkUnselArtRead\fP, one can then do \fBGroupUndoSel\fP to reset +articles. Thus, one can iteratively whittle down uninteresting threads. +.TP +\fBPipe '|'\fP +Pipe current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles into command. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBQuickFilterSelect '['\fP +Auto select article(s) with a single key [after confirmation]. The defaults +used for selection are based upon the following four tinrc config variables: +\fBdefault_filter_select_case\fP, \fBdefault_filter_select_expire\fP, +\fBdefault_filter_select_global\fP and \fBdefault_filter_select_header\fP. Read +the section "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" for a +full explanation of these variables and "FILTERING ARTICLES" for more +information on filtering. +.TP +\fBQuickFilterKill ']'\fP +Kill article(s) with a single key [after confirmation]. The defaults used +for killing are based upon the following four tinrc config variables: +\fBdefault_filter_kill_case\fP, \fBdefault_filter_kill_expire\fP, +\fBdefault_filter_kill_global\fP and \fBdefault_filter_kill_header\fP. Read the +section "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" for a full +explanation of these variables and "FILTERING ARTICLES" for more information +on filtering. +.TP +\fBGroupReadBasenote '^J' ''\fP +Read current article. +.TP +\fBGroupNextUnreadArtOrGrp ''\fP +View next unread article or group. +.TP +\fBSearchAuthF 'a'\fP +Author forward search. This searches for articles with a specific \*(rqFrom:\*(rq +line. +.TP +\fBSearchAuthB 'A'\fP +Author backward search. Otherwise, see \fBSearchAuthF\fP ('\fBa\fP') above. +.TP +\fBSearchBody 'B'\fP +Search the body of all articles in group (can be slow). You can abort the +search using \fBQuit\fP ('\fBq\fP'). +.TP +\fBCatchup 'c'\fP +Mark all articles as read [after confirmation] then return to the group +selection list. Move cursor to next group. +.TP +\fBCatchupNextUnread 'C'\fP +Mark all articles as read [after confirmation] and enter the next group with +unread news. +.TP +\fBGroupToggleSubjDisplay 'd'\fP +Cycle the display of the author through all the possible options for the +tinrc variable \fBshow_author\fP. +.TP +\fBGroupCancel 'D'\fP +Cancel (delete) or supersede (overwrite) the current article. It must have +been posted by the same user. The cancel message can be seen in the +newsgroup 'control' or 'control.cancel'. +.TP +\fBEditFilter 'E'\fP +Filter\-Datei bearbeiten und danach anwenden. +.TP +\fBGroupGoto 'g'\fP +Choose a new group by name. This command can be used to access any group, +even those not currently yanked in. +.TP +\fBGroupToggleGetartLimit 'G'\fP +Toggle article/group limit. +.TP +\fBToggleInfoLastLine 'i'\fP +Display the subject of the first article in the current thread in the last +line. +.TP +\fBToggleInverseVideo 'I'\fP +Toggle inverse video. +.TP +\fBGroupMarkThdRead 'K'\fP +Mark article/thread as read and move onto the next unread article/thread. If +a range of articles/threads is set, the range will be marked as read instead +of the current article/thread. When tagged articles/threads are present, a +prompt asks how to proceed. +.TP +\fBGroupListThd 'l'\fP +Open the thread under the current cursor position. +.TP +\fBLookupMessage 'L'\fP +Artikel anhand der \*(rqMessage\-ID:\*(rq nachschlagen. +.TP +\fBGroupMail 'm'\fP +Mail current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles to someone. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBOptionMenu 'M'\fP +User configurable options menu (for more information see section "GLOBAL +OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"). +.TP +\fBGroupNextGroup 'n'\fP +Go to next group. +.TP +\fBGroupNextUnreadArt 'N'\fP +Go to next unread article. +.TP +\fBPrint 'o'\fP +Send current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles to printer. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBGroupPrevGroup 'p'\fP +Go to previous group. +.TP +\fBGroupPrevUnreadArt 'P'\fP +Go to previous unread article. +.TP +\fBQuit 'q'\fP +Return to previous level. +.TP +\fBQuitTin 'Q'\fP +Beendet \fBtin\fP sofort, ohne Bestätigungsnachfrage. +.TP +\fBGroupToggleReadUnread 'r'\fP +Toggle the display between all articles and unread articles. +.TP +\fBBugReport 'R'\fP +Einen Fehlerbericht oder Kommentar an +senden. Dies ist der sinnvollste Weg um Fehler zu melden und behoben zu +bekommen bzw. nach neuen Funktionen zu fragen. +.TP +\fBGroupSave 's'\fP +Save current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles. See the section "MAILING PIPING PRINTING +REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBGroupAutoSave 'S'\fP +Markierte Artikel automatisch ohne weiteres Nachfragen speichern. +.TP +\fBGroupTag 't'\fP +Toggle tag\-status of current article / thread for \fBGroupMail\fP ('\fBm\fP') / +\fBPipe\fP ('\fB|\fP') / \fBPrint\fP ('\fBo\fP') / \fBGroupSave\fP ('\fBs\fP') / +\fBGroupRepost\fP ('\fBx\fP'). +.TP +\fBGroupTagParts 'T'\fP +Automatically tag in order all the parts of the current multi\-part message. +.TP +\fBGroupToggleThreading 'u'\fP +Cycle the threading mode through no threading, threading by subject, +threading by references, threading on both subject and references, group +multipart articles into a thread (\*(rqSubject:\*(rq based). +.TP +\fBGroupUntag 'U'\fP +Untag all articles that were tagged. +.TP +\fBPost 'w'\fP +Post an article to current group. If posting fails for some reason, you'll +get the chance to edit the article again via \fBPostEdit\fP ('\fBe\fP'), postpone +it via \fBPostPostpone\fP ('\fBo\fP') for later processing (see also \*(rq\fB\-o\fP\*(rq +command\-line switch) or discard it via \fBQuit\fP ('\fBq\fP'). +.TP +\fBGroupRepost 'x'\fP +Repost an already posted article / thread / auto\-selected (hot) articles / +articles matching pattern / tagged articles to another newsgroup(s). Useful +for reposting from global to local newsgroups. Do not use this to cross\-post +your own articles. +.TP +\fBGroupMarkUnselArtRead 'X'\fP +Mark all unread articles that have not been selected as read, redraw screen +to reflect changes and put index at the first thread to begin reading. +Pressing \fBGroupMarkUnselArtRead\fP ('\fBX\fP') again will toggle back to the way +it was before. See \fBGroupUndoSel\fP ('\fB~\fP') command for clearing the toggle +effect, leaving the group will also clear the toggle effect and make the +changes permanent. +.TP +\fBMarkArtUnread 'z'\fP +Aktuellen Artikel als ungelesen markieren. +.TP +\fBMarkThdUnread 'Z'\fP +.\"-------------------------------------------------------------------- +.\" +Mark current thread as unread. If a range of threads is set, the range will +be marked as unread instead of the current thread. When tagged threads are +present, a prompt asks how to proceed. +.SS "THREAD LISTING COMMANDS" +.\" this sections should be complete +.TP 10 +\fB4\fP +Artikel 4 aus dem Thread auswählen. +.TP +\fBMenuFilterSelect '^A'\fP +Auto select article(s) using a menu. Read the section "FILTERING ARTICLES" +for more information. +.TP +\fBMenuFilterKill '^K'\fP +Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for more +information. +.TP +\fBMarkFeedRead '^X'\fP +Mark current article, thread, range, auto\-selected (hot) articles, articles +matching pattern or tagged articles as read. A prompt asks which type should +be marked. +.TP +\fBMarkFeedUnread '^W'\fP +Mark current article, thread, range, auto\-selected (hot) articles, articles +matching pattern or tagged articles as unread. A prompt asks which type +should be marked. +.TP +\fBSetRange '#'\fP +Wählen Sie eine Reihe von Artikeln auf die der nächste Befehl angewendet +wird. Siehe Abschnitt "BEREICHE" für weitere Informationen. +.TP +\fBLastViewed '\-'\fP +Re\-enter the last message that was viewed. +.TP +\fBSearchRepeat '\e'\fP +Vorherige Suche wiederholen. +.TP +\fBSearchSubjF '/'\fP +Search forward for a specified subject. +.TP +\fBSearchSubjB '?'\fP +Search backwards for a specified subject. +.TP +\fBThreadSelArt '*'\fP +Select the current thread for later processing. +.TP +\fBThreadToggleArtSel '.'\fP +Toggle selection of current article. +.TP +\fBThreadReverseSel '@'\fP +Artikelauswahl invertieren. +.TP +\fBThreadUndoSel '~'\fP +Undo all selections on current thread. +.TP +\fBPipe '|'\fP +Pipe current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles into command. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBThreadReadArt '^J' ''\fP +Read current article within thread. +.TP +\fBThreadReadNextArtOrThread ''\fP +Nächsten ungelesenen Artikel im Thread anzeigen. +.TP +\fBSearchAuthF 'a'\fP +Author forward search. This searches for articles with a specific \*(rqFrom:\*(rq +line. The search will wrap over into the next thread if nothing is found in +the current one. +.TP +\fBSearchAuthB 'A'\fP +Author backward search. Otherwise, see \fBSearchAuthF\fP ('\fBa\fP') above. +.TP +\fBSearchBody 'B'\fP +Search the body of all articles in group (can be slow). You can abort the +search using \fBQuit\fP ('\fBq\fP'). +.TP +\fBCatchup 'c'\fP +Mark thread as read [after confirmation] and return to the group index +page. Move cursor to next thread. +.TP +\fBCatchupNextUnread 'C'\fP +Mark thread as read [after confirmation] and enter the next thread +containing unread news. +.TP +\fBThreadToggleSubjDisplay 'd'\fP +Cycle the display of the author through all the possible options for the +tinrc variable \fBshow_author\fP. +.TP +\fBThreadCancel 'D'\fP +Cancel (delete) or supersede (overwrite) the current article. It must have +been posted by the same user. The cancel message can be seen in the +newsgroup 'control' or 'control.cancel'. +.TP +\fBEditFilter 'E'\fP +Filter\-Datei bearbeiten und danach anwenden. +.TP +\fBToggleInfoLastLine 'i'\fP +Subject des geöffneten Artikels in der untersten Zeile anzeigen. +.TP +\fBToggleInverseVideo 'I'\fP +Toggle inverse video. +.TP +\fBThreadMarkArtRead 'K'\fP +Mark article as read and move onto the next unread article. If a range of +articles is set, the range will be marked as read instead of the current +article. When tagged articles are present, a prompt asks how to proceed. +.TP +\fBLookupMessage 'L'\fP +Artikel anhand der \*(rqMessage\-ID:\*(rq nachschlagen. +.TP +\fBThreadMail 'm'\fP +Mail current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles to someone. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBPrint 'o'\fP +Send current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles to printer. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBQuit 'q'\fP +Return to previous level. +.TP +\fBQuitTin 'Q'\fP +Beendet \fBtin\fP sofort, ohne Bestätigungsnachfrage. +.TP +\fBBugReport 'R'\fP +Einen Fehlerbericht oder Kommentar an +senden. Dies ist der sinnvollste Weg um Fehler zu melden und behoben zu +bekommen bzw. nach neuen Funktionen zu fragen. +.TP +\fBThreadSave 's'\fP +Save current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles. See the section "MAILING PIPING PRINTING +REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBThreadAutoSave 'S'\fP +Markierte Artikel automatisch ohne weiteres Nachfragen speichern. +.TP +\fBThreadTag 't'\fP +Toggle tag status of current article for mailing, piping, printing, saving +or reposting. +.TP +\fBThreadUntag 'U'\fP +Untag all tagged threads. +.TP +\fBPost 'w'\fP +Post an article to current group. If posting fails for some reason, you'll +get the chance to edit the article again via \fBPostEdit\fP ('\fBe\fP'), postpone +it for later processing via \fBPostPostpone\fP ('\fBo\fP') (see also \*(rq\fB\-o\fP\*(rq +command\-line switch) or discard it via \fBQuit\fP ('\fBq\fP'). +.TP +\fBMarkArtUnread 'z'\fP +Mark current article in thread as unread. If a range of articles is set, the +range will be marked as unread instead of the current article. When tagged +articles are present, a prompt asks how to proceed. +.TP +\fBMarkThdUnread 'Z'\fP +.\"-------------------------------------------------------------------- +.\" +Alle Artikel im aktuellen Thread as ungelesen markieren. +.SS "ARTICLE VIEWER COMMANDS" +.\" FIXME - refine descriptions +.TP 10 +\fB0\fP +Read the first (base) article in this thread. +.TP +\fB4\fP +Antwort 4 im diesem Thread lesen. +.TP +\fBMenuFilterSelect '^A'\fP +Auto select article(s) using a menu. Read the section "FILTERING ARTICLES" +for more information. +.TP +\fBPageReplyQuoteHeaders '^E'\fP +Reply through mail to the author of the current article with a copy of the +article with all headers included. +.TP +\fBPagePGPCheckArticle '^G'\fP +Perform \fBpgp\fP(1) operations on article. +.TP +\fBPageToggleRaw '^H'\fP +Toggles the display mode (raw including all headers vs. cooked). +.TP +\fBMenuFilterKill '^K'\fP +Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for more +information. +.TP +\fBPageToggleTabs '^T'\fP +Tabulatorbreite zwischen 4 und 8 Zeichen Umschalten. +.TP +\fBPageFollowupQuoteHeaders '^W'\fP +Post a followup to the current article with a copy of the article with all +headers included. +.TP +\fBPageToggleTex2iso '"'\fP +Toggle TeX to ISO decoding for current article. The default behavior is +taken from the \fBtex2iso_conv\fP variable in the tinrc file. +.TP +\fBPageToggleAllHeaders '*'\fP +Toggles the display of all headers vs. headers in +\fBnews_headers_to_display\fP. +.TP +\fBPageToggleRot '%'\fP +Toggle ROT\-13 decoding for this article. +.TP +\fBPageToggleUue '('\fP +Toggle the display of uuencoded sections. The default behavior is taken from +the \fBhide_uue\fP variable in the tinrc file. +.TP +\fBPageReveal ')'\fP +The formfeed character (^L) is often used to hide 'spoilers' that the reader +may not initially wish to see when viewing an article. Any text after a +formfeed is not displayed. This key\-press acts like a reveal key and turns +the hidden text back on. Scrolling down will also reveal the text, scrolling +up will hide it again. +.TP +\fBLastViewed '\-'\fP +Re\-enter the last message that was viewed. +.TP +\fBSearchRepeat '\e'\fP +Vorherige Suche wiederholen. +.TP +\fBSearchSubjF '/'\fP +Forward search the text of this article. +.TP +\fBSearchSubjB '?'\fP +Backward search the text of this article. +.TP +\fBPageSkipIncludedText ':'\fP +Skip to the end of the next quoted text\-block in this article. Quoted text +is everything which matches \fBquote_regex\fP, \fBquote_regex2\fP or +\fBquote_regex3\fP. +.TP +\fBPageTopThd '<'\fP +Go to the first article in the current thread. +.TP +\fBPageBotThd '>'\fP +Go to the last article in the current thread. +.TP +\fBPageToggleHighlight '_'\fP +Toggle word highlighting on/off. +.TP +\fBPipe '|'\fP +Pipe current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles into command. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBQuickFilterSelect '['\fP +Auto select article(s) with a single key. The defaults used for selection +are set based upon the following four tinrc config variables: +\fBdefault_filter_select_case\fP, \fBdefault_filter_select_expire\fP, +\fBdefault_filter_select_global\fP and \fBdefault_filter_select_header\fP Read the +section "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" for a full +explanation of these variables and "FILTERING ARTICLES" for more information +on filtering. +.TP +\fBQuickFilterKill ']'\fP +Kill article(s) with a single key. The defaults used for killing are based +upon the following four tinrc config variables: \fBdefault_filter_kill_case\fP, +\fBdefault_filter_kill_expire\fP, \fBdefault_filter_kill_global\fP and +\fBdefault_filter_kill_header\fP. Read the section "GLOBAL OPTIONS MENU AND +TINRC CONFIGURABLE VARIABLES" for a full explanation of these variables and +"FILTERING ARTICLES" for more information on filtering. +.TP +\fBPageNextThd '^J' ''\fP +Go to next base article. +.TP +\fBPageNextUnread ''\fP +Go to next unread article. If the tinrc variable \fBgoto_next_unread\fP doesn't +contain PageNextUnread, then this key will first page through the current +article. +.TP +\fBSearchAuthF 'a'\fP +Suche nach Autor (vorwärts). +.TP +\fBSearchAuthB 'A'\fP +Suche nach Autor (rückwärts). +.TP +\fBSearchBody 'B'\fP +Search the body of all articles in group (can be slow). You can abort the +search using \fBQuit\fP ('\fBq\fP'). +.TP +\fBCatchup 'c'\fP +Mark the current thread as read [after confirmation] and return to the +previous menu. Move cursor to next item. +.TP +\fBCatchupNextUnread 'C'\fP +Mark the rest of the current thread as read [after confirmation] and enter +the next thread with unread articles. +.TP +\fBPageCancel 'D'\fP +Cancel (delete) or supersede (overwrite) the current article. It must have +been posted by the same user. The cancel message can be seen in the +newsgroup 'control' or 'control.cancel'. +.TP +\fBPageEditArticle 'e'\fP +Edit the current article. This is restricted to mailgroups and saved news. +.TP +\fBEditFilter 'E'\fP +Filter\-Datei bearbeiten und danach anwenden. +.TP +\fBPageFollowupQuote 'f'\fP +Post a followup to the current article with a copy of the article included. +.TP +\fBPageFollowup 'F'\fP +Post a followup to the current article without including a copy of the +article. +.TP +\fBPageFirstPage 'g'\fP +Zum Anfang des Artikels springen. +.TP +\fBPageLastPage 'G'\fP +Zum Ende des Artikels springen. +.TP +\fBToggleInfoLastLine 'i'\fP +Subject des geöffneten Artikels in der untersten Zeile anzeigen. +.TP +\fBToggleInverseVideo 'I'\fP +Toggle inverse video. +.TP +\fBPageKillThd 'K'\fP +Mark rest of thread as read and move onto the next unread thread. +.TP +\fBPageListThd 'l'\fP +Show the thread menu that the current article is a part of. +.TP +\fBLookupMessage 'L'\fP +Artikel anhand der \*(rqMessage\-ID:\*(rq nachschlagen. +.TP +\fBPageMail 'm'\fP +Mail current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles to someone. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBOptionMenu 'M'\fP +User configurable options menu (for more information see section "GLOBAL +OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES"). +.TP +\fBPageNextArt 'n'\fP +Go to the next article. +.TP +\fBPageNextUnreadArt 'N'\fP +Go to the next unread article. +.TP +\fBPrint 'o'\fP +Send current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles to printer. See the section "MAILING +PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBPagePrevArt 'p'\fP +Go to the previous article. +.TP +\fBPagePrevUnreadArt 'P'\fP +Go to the previous unread article. +.TP +\fBQuit 'q'\fP +Return to the previous level. +.TP +\fBQuitTin 'Q'\fP +Beendet \fBtin\fP sofort, ohne Bestätigungsnachfrage. +.TP +\fBPageReplyQuote 'r'\fP +Reply through mail to the author of the current article with a copy of the +article included. +.TP +\fBPageReply 'R'\fP +Reply through mail to the author of the current article without including +the original article. +.TP +\fBPageSave 's'\fP +Save current article / thread / auto\-selected (hot) articles / articles +matching pattern / tagged articles. See the section "MAILING PIPING PRINTING +REPOSTING AND SAVING ARTICLES" for more information. +.TP +\fBPageAutoSave 'S'\fP +Markierte Artikel automatisch ohne weiteres Nachfragen speichern. +.TP +\fBPageTag 't'\fP +Toggle tag status of current article for mailing, piping, printing, saving +or reposting. +.TP +\fBPageGroupSel 'T'\fP +Return to group selection level. +.TP +\fBPageGotoParent 'u'\fP +Go to parent article. +.TP +\fBPageViewUrl 'U'\fP +Display a list of URLs in the current article. See the section "URL LISTING" +for more information. +.TP +\fBPageViewAttach 'V'\fP +Display a list of attachments of the current article. See the section +"ATTACHMENT LISTING" for more information. +.TP +\fBPost 'w'\fP +Post an article to the current group. If posting fails for some reason, +you'll get the chance to edit the article again via \fBPostEdit\fP ('\fBe\fP'), +postpone it for later processing via \fBPostPostpone\fP ('\fBo\fP') (see also +\&\*(rq\fB\-o\fP\*(rq command\-line switch) or discard it via \fBQuit\fP ('\fBq\fP'). +.TP +\fBPageRepost 'x'\fP +Repost an already posted article / thread / auto\-selected (hot) articles / +articles matching pattern / tagged articles to another newsgroup(s). Useful +for reposting from global to local newsgroups. Do not use this to crosspost +your own articles. +.TP +\fBMarkArtUnread 'z'\fP +Alle Artikel als ungelesen markieren. +.TP +\fBMarkThdUnread 'Z'\fP +.\"-------------------------------------------------------------------- +.\" +Markiere den aktuellen Thread als ungelesen. +.SS "URL LISTE" +\fBPageViewUrl\fP ('\fBU\fP') displays a list of URLs in the current +article. Besides the common moving keys, the following commands are +available: +.RS 4 +.TP 10 +\fBUrlSelect '^J' ''\fP +The current URL will be prompted and opened using the +\fBurl_handler\fP. '\fB\fP' or no input will skip the URL. +.TP +\fBSearchSubjF '/'\fP +Suche nach URL (vorwärts). +.TP +\fBSearchSubjB '?'\fP +Suche nach URL (rückwärts). +.TP +\fBSearchRepeat '\e'\fP +Vorherige Suche wiederholen. +.TP +\fBShellEscape '!'\fP +Shell escape. +.TP +\fBToggleInfoLastLine 'i'\fP +Toggle the display of the current URL in the last line. +.TP +\fBHelp 'h'\fP +Help screen of commands available. +.TP +\fBToggleHelpDisplay 'H'\fP +Toggle the display of help mini menu at the bottom of the screen. +.RE +.\"-------------------------------------------------------------------- +.\" +.SS "ATTACHMENT LISTING" +\fBPageViewAttach\fP ('\fBV\fP') displays a list of attachments of the current +article. Besides the common moving keys, the following commands are +available: +.RS 4 +.TP 10 +\fBAttachPipe 'p'\fP +Pipe attachment into command. +.TP +\fBAttachSave 's'\fP +Save current attachment / tagged attachments to disk. +.TP +\fBAttachSelect '^J' ''\fP +Multimediaanhänge anzeigen. +.TP +\fBAttachTag 't'\fP +Tag one or more attachments for saving. +.TP +\fBAttachTagPattern '='\fP +Prompts for a pattern to match. All attachments whose name/description or +content type/transfer encoding match the pattern will be tagged. +.TP +\fBAttachToggleTagged '@'\fP +Reverse tagging of all attachments. +.TP +\fBAttachUntag 'U'\fP +Untag all tagged attachments. +.TP +\fBSearchSubjF '/'\fP +Attachment forward search. +.TP +\fBSearchSubjB '?'\fP +Attachment backward search. +.TP +\fBSearchRepeat '\e'\fP +Vorherige Suche wiederholen. +.TP +\fBGlobalPipe '|'\fP +Pipe attachment into command. Uses the raw attachment, no decoding is done. +.TP +\fBShellEscape '!'\fP +Shell escape. +.TP +\fBToggleInfoLastLine 'i'\fP +Names oder Beschreibung des Anhangs in der untersten Zeile anzeigen. +.TP +\fBHelp 'h'\fP +Help screen of commands available. +.TP +\fBToggleHelpDisplay 'H'\fP +Toggle the display of help mini menu at the bottom of the screen. +.RE +.\"-------------------------------------------------------------------- +.\" +.SS "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" +.\" FIXME - add missing descriptions +At startup, \fBtin\fP reads in the configuration files (see also \fBtin\fP(5)). +They contain a list of variables that can be used to configure the way +\fBtin\fP works. If it exists, the global configuration file, +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP is read. After that, the user's own +configuration file is read from \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP. The +global file is useful for distributing system\-wide defaults to new users who +have no private tinrc yet. +.PP +The variables are user configurable by editing +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP directly. Most of them can also be set +in the GLOBAL OPTIONS MENU which is accessed by pressing \fBOptionMenu\fP +('\fBM\fP') at all levels. It allows the user to customize the behavior of +\fBtin\fP. The options are saved to the file +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP when you exit \fBtin\fP so don't edit the +file directly whilst \fBtin\fP is running. +.PP +In the options menu use the cursor keys in the usual way to move around. Use +\fBConfigSelect\fP ('\fB^J\fP' or '\fB\fP') to 'open' the option you wish +to change. You will need to enter a new value or use '\fB\fP' to +toggle the available options. \fBConfigSelect\fP will save the new value, +\&'\fB\fP' will abort without saving changes. +.PP +As with the other menus, \fBRedrawScr\fP ('\fB^L\fP') will redraw the screen. You +can use \fBSearchSubjF\fP ('\fB/\fP'), \fBSearchSubjB\fP ('\fB?\fP') and \fBSearchRepeat\fP +('\fB\e\fP') to search for a specific option. Use \fBQuit\fP ('\fBq\fP') to exit the +option menu and keep your changes. Use \fBQuitTin\fP ('\fBQ\fP') to exit without +keeping your changes. +.PP +The options menu provides access to the attributes menu for the current +group by the \fBConfigToggleAttrib\fP ('\fB\fP') command. Pressing +\fBConfigToggleAttrib\fP again toggles back to the options menu. For more +information see section "ATTRIBUTES MENU AND GROUP ATTRIBUTES". +.PP +The \fBConfigScopeMenu\fP ('\fBS\fP') command brings up the scopes menu. For more +information see section "SCOPES MENU". +.PP +Here is a full list of all the available variables. The name in braces is +the name of the corresponding setting in +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP. +.TP 4 +\fBLange Newsgruppennamen abkürzen (abbreviate_groupname)\fP +If ON abbreviate long newsgroup names at group selection level and article +level (if necessary) like this: news.software.readers \-> +n.software.readers \-> n.s.readers \-> n.s.r. Default is OFF. +.TP +\fBFüge gepostete Artikel zum Filter (add_posted_to_filter)\fP +If ON add posted articles which start a new thread to filter for +highlighting follow\-ups. Default is ON. +.TP +\fBFüge 'User\-Agent:'\-header ein (advertising)\fP +Turn ON advertising in header (\*(rqUser\-Agent:\*(rq). Default is ON. +.TP +\fBÜbersp. multipart/alternative\-Teile (alternative_handling)\fP +If ON strip multipart/alternative messages automatically. Default is ON. +.TP +\fBZeichen für gelöschte Artikel (art_marked_deleted)\fP +Zeichen das anzeigt, dass ein Artikel gelöscht wurde. Standard is 'D'. +.TP +\fBZeichen für Artikel im Bereich (art_marked_inrange)\fP +The character used to show that an article is in a range. Default is '#'. +.TP +\fBZeichen für wiederkehrende Artikel (art_marked_return)\fP +The character used to show that an article will return as an unread article +when the group is next entered. Default is '\-'. +.TP +\fBZeichen für wichtige Artikel (art_marked_selected)\fP +The character used to show that an article/thread is auto\-selected (hot). +Default is '*'. +.TP +\fBZeichen für aktuelle Artikel (art_marked_recent)\fP +The character used to show that an article/thread is recent (not older than +X days). See also \fBrecent_time\fP. Default is 'o'. +.TP +\fBZeichen für ungelesene Artikel (art_marked_unread)\fP +The character used to show that an article has not been read. Default is +\&'+'. +.TP +\fBZeichen für gelesene Artikel (art_marked_read)\fP +The character used to show that an article was read. Default is ' '. +.TP +\fBZeichen für gekillte Artikel (art_marked_killed)\fP +The character used to show that an article was killed. Default is 'K'. +\fBkill_level\fP must be set accordingly. +.TP +\fBZeichen für gelesene wichtige Art. (art_marked_read_selected)\fP +The character used to show that an article was hot before it was read. +Default is ':'. \fBkill_level\fP must be set accordingly. +.TP +\fBStart des MIME\-Viewers bestätigen (ask_for_metamail)\fP +If ON \fBtin\fP will ask before using a MIME viewer (\fBmetamail_prog\fP) to +display MIME messages. This only occurs if a MIME viewer is set. Default is +OFF. +.TP +\fBSendet Ihnen eine cc und/oder eine blinde cc autom. (auto_cc_bcc)\fP +Automatically put your name in the \*(rqCc:\*(rq and/or \*(rqBcc:\*(rq field when +mailing an article. Default is No. +.TP +\fBZeige Thread mit rechter Pfeilt. an (auto_list_thread)\fP +If ON automatically list thread when entering it using right arrow key. +Default is ON. +.TP +\fBAutom. Wiederverbindung zum Server (auto_reconnect)\fP +Standard ist OFF. +.TP +\fBNutze Archive\-name: zum Speichern (auto_save)\fP +If ON articles/threads with \*(rqArchive\-name:\*(rq in header will be +automatically saved with the Archive\-name & part/patch no and post processed +if \fBpost_process_type\fP is set to something other than 'No'. Default is +OFF. +.TP +\fBSpeicher Artikel im Batchmode (\-S) (batch_save)\fP +If set ON articles/threads will be saved in batch mode when save \&\*(rq\fB\-S\fP\*(rq +or mail \*(rq\fB\-M\fP, \fB\-N\fP\*(rq is specified on the command line. Default is ON. +.TP +\fBZeigt Minimenü & Posting etiquette (beginner_level)\fP +If set ON a mini menu of the most useful commands will be displayed at the +bottom of the screen for each level. Also a short posting etiquette will be +displayed after composing an article. Default is ON. +.TP +\fBSpeichere NNTP Overview Daten lokal (cache_overview_files)\fP +If ON, create local copies of NNTP overview files. This can be used to +considerably speed up accessing large groups when using a slow connection. +See also "INDEX FILES". Default is OFF. +.TP +\fBCatchup der Gruppen beim Beenden (catchup_read_groups)\fP +.\" +.\" FIXME - I leave this to someone who's using colors +If set ON the user is asked when quitting if all groups read during the +current session should be marked read. Default is OFF. +.TP +\fBStandard Hintergrundfarbe (col_back)\fP +Standard Hintergrundfarbe +.TP +\fBFarbe des Autors (From:) (col_from)\fP +Farbe des Autors (From:) +.TP +\fBFarbe der Artikelheaderzeilen (col_head)\fP +Farbe der Artikelheaderzeilen +.TP +\fBFarbe des Hilfstext (col_help)\fP +Farbe des Hilfstext +.TP +\fBFarbe des inversen Text (Hinterg.) (col_invers_bg)\fP +Hintergrundfarbe für inversen Text +.TP +\fBFarbe des inversen Text (Vordergr.) (col_invers_fg)\fP +Vordergrundfarbe für inversen Text +.TP +\fBFarbe der Hervorhebung _Striche_ (col_markdash)\fP +Color of words emphasized like _this_. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBFarbe der Hervorhebung /Schrägstr./ (col_markslash)\fP +Color of words emphasized like /this/. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBFarbe der Hervorhebung *Sterne* (col_markstar)\fP +Color of words emphasized like *this*. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBFarbe der Hervorhebung \-Durchstr.\- (col_markstroke)\fP +Color of words emphasized like \-this\-. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBFarbe des Minihilfemenü (col_minihelp)\fP +Farbe des Minihilfemenü +.TP +\fBFarbe des angezeigten Headers (col_newsheaders)\fP +Farbe des angezeigten Headers +.TP +\fBStandard Vordergrundfarbe (col_normal)\fP +Standard Vordergrundfarbe +.TP +\fBFarbe der zitierten Zeilen (col_quote)\fP +Farbe der zitierten Zeilen +.TP +\fBFarbe von zweifach zitierten Zeilen (col_quote2)\fP +Farbe von zweifach zitierten Zeilen +.TP +\fBFarbe von =>3\-fach zitierten Zeilen (col_quote3)\fP +Farbe von =>3\-fach zitierten Zeilen +.TP +\fBFarbe des Antwortzählers (col_response)\fP +Color of response counter. This is the text that says "Response x of y" in +the article viewer. +.TP +\fBFarbe von Signaturen (col_signature)\fP +Farbe von Signaturen +.TP +\fBFarbe der hervorgehobenen URLs (col_urls)\fP +Farbe der hervorgehobenen URLs +.TP +\fBFarbe des wortgetreu darzustellenden Textes (col_verbatim)\fP +Farbe des wortgetreu darzustellenden Textes +.TP +\fBFarbe der Subjectzeile (col_subject)\fP +Farbe der Subjectzeile +.TP +\fBFarbe der Textzeilen (col_text)\fP +Farbe der Textzeilen +.TP +\fBFarbe des Hilfe/Mail\-Zeichens (col_title)\fP +Farbe des Hilfe/Mail\-Zeichens +.TP +\fBBestätigung erforderlich für (confirm_choice)\fP +Ask for manual confirmation to protect the user. +.RS +.5i +.IP \(bu 3 +.\" TODO: check if all affected commands are marked [after confirmation] +\fBcommands\fP Ask for confirmation before executing certain dangerous commands +(e.g., \fBCatchup\fP ('\fBc\fP')). Commands that this affects are marked in this +manual with '[after confirmation]'. Default is commands & quit. +.IP \(bu +\fBquit\fP You'll be asked to confirm that you wish to exit \fBtin\fP when you use +the \fBQuit\fP ('\fBq\fP') command. +.IP \(bu +\fBselect\fP Ask for confirmation before marking all not selected (with +\fBGroupMarkUnselArtRead\fP ('\fBX\fP') command) articles as read. +.RE +.TP +\fBDatums Format\-Zeichenkette (date_format)\fP +.\" +.\" most of these default_* settings are not available from the menu +.\" as they are intended for internal use only. +Format string \fBtin\fP uses for date representation. A description of the +different format options can be found at \fBstrftime\fP(3). \fBtin\fP uses +\fBstrftime\fP(3) when available and supports most format options in his +fallback code. Default is "%a, %d %b %Y %H:%M:%S". +.TP +\fB(default_art_search)\fP +.TP +\fB(default_author_search)\fP +.TP +\fB(default_config_search)\fP +The last article/author/config option that was searched for. +.TP +\fB(default_filter_days)\fP +Standard ist 28. +.TP +\fB(default_filter_kill_case)\fP +Default for quick (1 key) kill filter case. ON = filter case sensitive, OFF += ignore case. Default is OFF. +.TP +\fB(default_filter_kill_expire)\fP +Default for quick (1 key) kill filter expire. ON = limit to +\fBdefault_filter_days\fP, OFF = don't ever expire. Default is OFF. +.TP +\fB(default_filter_kill_global)\fP +Default for quick (1 key) kill filter global. ON=apply to all groups, +OFF=apply to current group. Default is ON. +.TP +\fB(default_filter_kill_header)\fP +Default for quick (1 key) kill filter header. +.RS +.5i +.IP 0 4 + \*(rqSubject:\*(rq (Groß/Kleinschreibung beachten) +.IP 1 + \*(rqSubject:\*(rq (Groß/Kleinschreibung ignorieren) +.IP 2 + \*(rqFrom:\*(rq (Groß/Kleinschreibung beachten) +.IP 3 + \*(rqFrom:\*(rq (Groß/Kleinschreibung ignorieren) +.IP 4 + \*(rqMessage\-ID:\*(rq & alle \*(rqReferences:\*(rq Einträge +.IP 5 +\&\*(rqMessage\-ID:\*(rq & letzter \*(rqReferences:\*(rq Eintrag +.IP 6 + \*(rqMessage\-ID:\*(rq allein +.IP 7 + \*(rqLines:\*(rq +.RE +.TP +\fB(default_filter_select_case)\fP +Default for quick (1 key) auto\-selection filter case. ON=filter case +sensitive, OFF=ignore case. Default is OFF. +.TP +\fB(default_filter_select_expire)\fP +Default for quick (1 key) auto\-selection filter expire. ON = limit to +\fBdefault_filter_days\fP, OFF = don't ever expire. Default is OFF. +.TP +\fB(default_filter_select_global)\fP +Default for quick (1 key) auto\-selection filter global. ON=apply to all +groups OFF=apply to current group. Default is ON. +.TP +\fB(default_filter_select_header)\fP +Default for quick (1 key) auto\-selection filter header. +.RS +.5i +.IP 0 4 + \*(rqSubject:\*(rq (Groß/Kleinschreibung beachten) +.IP 1 + \*(rqSubject:\*(rq (Groß/Kleinschreibung ignorieren) +.IP 2 + \*(rqFrom:\*(rq (Groß/Kleinschreibung beachten) +.IP 3 + \*(rqFrom:\*(rq (Groß/Kleinschreibung ignorieren) +.IP 4 + \*(rqMessage\-ID:\*(rq & alle \*(rqReferences:\*(rq Einträge +.IP 5 +\&\*(rqMessage\-ID:\*(rq & letzter \*(rqReferences:\*(rq Eintrag +.IP 6 + \*(rqMessage\-ID:\*(rq allein +.IP 7 + \*(rqLines:\*(rq +.RE +.TP +\fB(default_goto_group)\fP +.TP +\fB(default_group_search)\fP +.TP +\fB(default_mail_address)\fP +.TP +\fB(default_move_group)\fP +.TP +\fB(default_pattern)\fP +.TP +\fB(default_pipe_command)\fP +.TP +\fB(default_post_newsgroups)\fP +.TP +\fB(default_post_subject)\fP +.TP +\fB(default_range_group)\fP +.TP +\fB(default_range_select)\fP +.TP +\fB(default_range_thread)\fP +.TP +\fB(default_repost_group)\fP +.TP +\fB(default_save_file)\fP +.TP +\fB(default_save_mode)\fP +.TP +\fB(default_select_pattern)\fP +.TP +\fB(default_shell_command)\fP +.TP +\fB(default_subject_search)\fP +.TP +\fBZeige \-> anstatt einer Markierung (draw_arrow)\fP +Allows groups/articles to be selected by an arrow '\->' if set ON or by +an highlighted bar if set OFF. Default is OFF. +.TP +\fBAufruf Ihres Editors (editor_format)\fP +The format string used to create the editor start command with parameters. +Default is "%E +%N %F" (i.e., /bin/vi +7 .article). +.TP +\fBAnzeigeauffrischung nach Kommandos (force_screen_redraw)\fP +Specifies whether a screen redraw should always be done after certain +external commands. Default is OFF. +.TP +\fBAnzahl der zu holenden Artikel (getart_limit)\fP +If \fBgetart_limit\fP is > 0 not more than \fBgetart_limit\fP articles/group +are fetched from the server. If \fBgetart_limit\fP is < 0 \fBtin\fP will start +fetching articles from your first unread minus absolute value of +\fBgetart_limit\fP. Default is 0, which means no limit. +.TP +\fBCatchup der Gruppe mit l. Cursor (group_catchup_on_exit)\fP +If ON catchup group when leaving with the left arrow key. Default is ON. +.TP +\fBZum nächsten ungelesenen Artikel... (goto_next_unread)\fP +Which keys \fBtin\fP should accept to jump to the next unread article. +Possible is any combination of \fBPageDown\fP and \fBPageNextUnread\fP. When +\fBPageDown\fP is set \fBtin\fP jumps to the next article at the end of the +current one. When \fBPageNextUnread\fP is set \fBtin\fP jumps immediately to the +next article when \fBPageNextUnread\fP ('\fB\fP') is +pressed. Default is PageNextUnread. +.TP +\fBMax. Länge angezeigter Gruppennamen (groupname_max_length)\fP +Maximum length of the names of newsgroups to be displayed so that more of +the newsgroup description can be displayed. Default is 32. +.TP +\fBZeige uue\-Teile als Anhang (hide_uue)\fP +If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then +sections of uuencoded data will be shown with a single tag line showing the +size and filename (much the same as a MIME attachment). If set to 'Hide all' +then any line that looks like uuencoded data will be folded into a tag +line. This is useful when uuencoded data is split across more than one +article but can also lead to false positives. This setting can also be +toggled in the article viewer. Default is 'No'. +.TP +\fBExternes inews\-Programm (inews_prog)\fP +Path, name and options of external \fBinews\fP(1). If you are reading via NNTP +the default value is \-\-internal (use built\-in NNTP inews), else it is "inews +\-h". The article is passed to \fBinews_prog\fP on STDIN via '< article'. +.TP +\fB(info_in_last_line)\fP +.\" this is missing from the Menu +If ON, show current group description or article subject in the last line +(not in the pager and global menu) \- \fBToggleInfoLastLine\fP ('\fBi\fP') toggles +setting. This facility is useful as the full width of the screen is +available to display long subjects. Default is OFF. +.TP +\fBBenutze interaktives Mailprogramm (interactive_mailer)\fP +Interactive mailreader: if greater than 0 your mailreader will be invoked +earlier for reply so you can use more of its features (e.g. MIME, pgp, +\&...). 1 means include headers, 2 means don't include headers (old +use_mailreader_i=ON option). 0 turns off usage. This option has to suit +\fBmailer_format\fP. Default is 0. +.TP +.\" TODO: fix menu description +.\" mono_mark* currently do allow "Reverse video" even if +.\" inverse_okay=FALSE +\fBInverse Darstellung für die Header (inverse_okay)\fP +If ON use inverse video for page headers and URL highlighting. Default is +ON. +.TP +\fBHalte Fehlschl. in ~/dead.articles (keep_dead_articles)\fP +If ON keep all failed postings in \fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fP +besides keeping the last failed posting in +\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fP. Default is ON. +.TP +\fBFilter (kill) anwenden auf (kill_level)\fP +This option controls the processing and display of articles that are +killed. There are 3 options: +.RS +.5i +.IP 0 3 +\fBKill only unread arts\fP is the 'traditional' behavior of \fBtin\fP. Only +unread articles are killed once only by marking them read. As filtering only +happens on unread articles with \fBkill_level\fP set to 0, \fBart_marked_killed\fP +and \fBart_marked_read_selected\fP are only shown once. When you reenter the +group the mark will be gone. +.IP 1 +\fBKill all arts & show with K\fP will process all articles in the group and +therefore there is a processing overhead when using this option. Killed +articles are threaded as normal but they will be marked with +\fBart_marked_killed\fP. +.IP 2 +\fBKill all arts and never show\fP will process all articles in the group and +therefore there is a processing overhead when using this option. Killed +articles simply does not get displayed at all. +.RE +Voreinstellung ist 0 (\fBKillt nur ungelesene Artikel\fP). +.TP +\fBBenutze 8bit Zeichen im Mail Header (mail_8bit_header)\fP +Allows 8bit characters unencoded in the header of mail message. Default is +OFF. Turning it ON is effective only if \fBmail_mime_encoding\fP is also set to +8bit. Leaving it OFF is safe for most users and compliant to Internet Mail +Standard (\fBRFC5322\fP and \fBRFC2047\fP). Default is OFF. +.TP +\fBMailadresse (und Name) (mail_address)\fP +User's mail address (and full name), if not username@host. This is used when +creating articles, sending mail and when \fBpgp\fP(1) signing. +.TP +\fBMIME\-Kodierung für E\-Mails (mail_mime_encoding)\fP +MIME encoding of the body in mail message, if necessary (8bit, base64, +quoted\-printable, 7bit). Default is quoted\-printable. +.TP +\fBEinleitungszeile bei Mailantwort (mail_quote_format)\fP +Format of quote line when replying (via mail) to an article (%A=Address, +%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname, +%C=Firstname, %I=Initials). Default is "In article %M you wrote:" +.TP +\fBMailbox\-Format (mailbox_format)\fP +Select one of the following mailbox\-formats: MBOXO (default, except for +SCO), MBOXRD or MMDF (default on SCO). See \fBmbox\fP(5) for more details on +MBOXO and MBOXRD and \fBmmdf\fP(5) for more details about MMDF. +.TP +\fBMail Verzeichnis (maildir)\fP +The directory where articles/threads are to be saved in \fBmbox\fP(5) +format. This feature is mainly for use with the \fBelm\fP(1) mail program. It +allows the user to save articles/threads/groups simply by giving '=' as the +filename to save to. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fP. +.TP +\fBAufruf Ihres Mailkommandos (mailer_format)\fP +.\" TODO: document %S, %T, %M, %F, %U ... +The format string used to create the mailer command with parameters that is +used for mailing articles to other people. Default is '%M "%T" < %F' +(e.g., /bin/mail "iain" < .article). The flexible format allows other +mailers with different command\-line parameters to be used such as 'elm \-s +"%S" "%T" < "%F"' (e.g., elm \-s "subject" "iain" < .article) or +\&'sendmail \-oi \-oem \-t < %F' (e.g. sendmail \-oi \-oem \-t < .article). +.TP +\&\fB'Art. (un)gelesen markieren' ignorie... (mark_ignore_tags)\fP +When this is ON, the \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBThreadMarkArtRead\fP +('\fBK\fP'), \fBMarkThdUnread\fP ('\fBZ\fP') at Group level and \fBMarkArtUnread\fP +('\fBz\fP') at Thread level functions mark just the current article or thread, +ignoring other tagged, (un)read articles. When OFF, the same function +presents a menu with choices of the current thread or article, all tagged, +unread articles, or nothing. +.TP +\fBMark. gesp. Artikel/Threads gelesen (mark_saved_read)\fP +If ON mark articles that are saved as read. Default is ON. +.TP +\fBMIME\-Viewer (metamail_prog)\fP +Path, name and options of external \fBmetamail\fP(1) program used to view +non\-textual parts of articles. To use the built\-in viewer, set to +\-\-internal. This is the default value when \fBmetamail\fP(1) is not +installed. Leave it blank if you don't want any automatic viewing of +non\-textual attachments. The 'V' command can always be used to manually view +any attachments. See also \fBask_for_metamail\fP. +.TP +\fBMM_CHARSET (mm_charset)\fP +Charset supported locally, which is also used for MIME header (charset +parameter and charset name in header encoding) in mail and news postings. If +\fBMIME_STRICT_CHARSET\fP is defined at compile time, text in charset other +than the value of this parameter is considered not displayable and +represented as '?'. Otherwise, all character sets are regarded as compatible +with the display. If it's not set, the value of the environment variable +$\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case +neither of them is defined. If your system supports \fBiconv\fP(3), this option +is disabled and you should use \fBmm_network_charset\fP instead. +.TP +\fBMM_NETWORK_CHARSET (mm_network_charset)\fP +Charset used for posting and MIME headers; replaces \fBmm_charset\fP. +Conversion between \fBmm_network_charset\fP and local charset (determined via +\fBnl_langinfo\fP(3)) is done via \fBiconv\fP(3), if this function is not +available on your system this option is disabled and you have to use +\fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to one of the +following charsets: +.in +.3i +US\-ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8\-{R,U,RU} +EUC\-{CN,JP,KR,TW}, ISO\-2022\-{CN,CN\-EXT,JP,JP\-1,JP\-2}, Big5, UTF\-8 +.in -.3i +Not all values might work on your system, see \fBiconv_open\fP(3) for more +details. If it's not set, the value of the environment variable +$\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case +neither of them is defined. +.TP +\fBHervorhebungsattr. _Unterstriche_ (mono_markdash)\fP +Character attribute of words emphasized like _this_. It depends on your +terminal which attributes are usable. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBHervorhebungsattr. /Schrägstriche/ (mono_markslash)\fP +Character attribute of words emphasized like /this/. It depends on your +terminal which attributes are usable. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBHervorhebungsattribute *Sterne* (mono_markstar)\fP +Character attribute of words emphasized like *this*. It depends on your +terminal which attributes are usable. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBHervorhebungsattr. \-Durchstreich.\- (mono_markstroke)\fP +Character attribute of words emphasized like \-this\-. It depends on your +terminal which attributes are usable. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fB(newnews)\fP +These are internal timers used by \fBtin\fP to keep track of new newsgroups. +Do not change them unless you understand what they are for. +.TP +\fBor *) (news_headers_to_display\fP +Which news headers you wish to see. If you want to see _all_ the headers, +place an '*' as this value. This is the only way a wildcard can be used. If +you enter 'X\-' as the value, you will see all headers beginning with 'X\-' +(like X\-Alan or X\-Pape). You can list more than one by delimiting with +spaces. Not defining anything turns off this option. +.TP +\fBZeige folgende Header nicht an (news_headers_to_not_display)\fP +Same as \fBnews_headers_to_display\fP except it denotes the opposite. An +example of using both options might be if you thought X\- headers were A Good +Thing(tm), but thought Alan and Pape were miscreants... well then you would +do something like this: \fInews_headers_to_display=X\-\fP +\fInews_headers_to_not_display=X\-Alan X\-Pape\fP. Not defining anything turns +off this option. +.TP +\fBEinleitungszeile beim Antworten (news_quote_format)\fP +Format of quote line when posting/following up an article (%A=Address, +%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname, +%C=Firstname, %I=Initials). Default is "%F wrote:". +.TP +\fBUnicode Normalisierungsart (normalization_form)\fP +The normalization form \fBtin\fP should use to normalize unicode input. The +possible values are: +.RS +.5i +.IP 0 3 +\fBNone\fP: keine Normalisierung +.IP 1 +\fBNFKC\fP: Compatibility Decomposition, followed by Canonical Composition +.IP 2 +\fBNFKD\fP: Compatibility Decomposition +.IP 3 +\fBNFC\fP: Canonical Decomposition, followed by Canonical Composition +.IP 4 +\fBNFD\fP: Canonical Decomposition +.RE +Some normalization modes are only available if they are supported by the +library \fBtin\fP uses to do the normalization. Default is NFKC. +.TP +\fBSetze Cursor auf ersten ungel. Art. (pos_first_unread)\fP +If ON put cursor at first unread article in group otherwise at last +article. Default is ON. +.TP +\fBBenutze 8bit\-Zeichen im Newsheader (post_8bit_header)\fP +Allows 8bit characters unencoded in the header of a news article, if set +this also disables the generation of MIME\-headers when they are usually +required. Default is OFF. Only enacted if \fBpost_mime_encoding\fP is also set +to 8bit. In a number of local hierarchies where 8bit characters are used, +using unencoded (raw) 8bit characters in header is acceptable and sometimes +even recommended so that you need to check the convention adopted in the +local hierarchy of your interest to determine what to do with this and +\fBpost_mime_encoding\fP. +.TP +\fBMIME\-Kodierung in Newsartikeln (post_mime_encoding)\fP +MIME encoding of the body in news message, if necessary. (8bit, base64, +quoted\-printable, 7bit). Default is 8bit, which leads to no encoding. base64 +and quoted\-printable are usually undesired on usenet. +.TP +\fBNachbearbeitete Artikel anzeigen (post_process_view)\fP +If ON, then \fBtin\fP will start an appropriate viewer program to display any +files that were post processed and uudecoded. The program is determined +using the mailcap file. Default is ON. +.TP +\fBNachbearbeiten gespeichert. Artikel (post_process_type)\fP +This specifies whether to perform post processing on saved articles. The +following values are allowed: +.RS +.5i +.IP 0 3 +\fBNo\fP (default), no post processing is done. +.IP 1 +\fBShell archives\fP, unpacking of multi\-part \fBshar\fP(1) files only. +.IP 2 +\fBYes\fP, binary attachments and data will be decoded and saved. +.RE +.TP +\fBGepostete Artikel speichern in (posted_articles_file)\fP +Keep posted articles in +\fI${TIN_HOMEDIR:\-"$HOME"}/Mail/\fP\fBposted_articles_file\fP. If no filename is +set then postings will not be saved. Default is 'posted'. +.TP +\fBAlle Header beim Drucken ausgeben (print_header)\fP +If ON, then the full article header is sent to the printer. Otherwise only +the \*(rqSubject:\*(rq and \*(rqFrom:\*(rq fields are output. Default is OFF. +.TP +\fBDruckprogramm mit Optionen (printer)\fP +The printer program with options that is to be used to print articles. The +default is \fBlpr\fP(1) for BSD machines and \fBlp\fP(1) for SysV +machines. Printing from \fBtin\fP may have been disabled by the System +Administrator. +.TP +\fBBearbeite nur ungelesene Artikel (process_only_unread)\fP +If ON only save/print/pipe/mail unread articles (tagged articles excepted). +Default is OFF. +.TP +\fBLeeres Fup'2 im Editor anzeigen (prompt_followupto)\fP +If ON show empty \*(rqFollowup\-To:\*(rq header when editing an article. Default is +OFF. +.TP +\fBZitatzeichen (quote_chars)\fP +The character used in quoting included text to article followups and mail +replies. The '_' character represents a blank character and is replaced with +\&' ' when read. Default is '>_'. +.TP +\fBZitierverhalten (quote_style)\fP +How articles should be quoted when following up or replying to them. There +are a number of things that can be done: empty lines can be quoted, +signatures can be quoted and quote_chars can be compressed when quoting +multiple times (for example, '> > >' will be turned into +\&'>>>'). The default is to compress quotes, and to quote empty +lines. +.br +When you are viewing an article in raw mode ('\fB^H\fP'), and follow up or +reply to it, the signature will be quoted even if it would otherwise not +be. If \fBshow_signatures\fP is off, then the signature will never be quoted. +.TP +\fBRegulärer Ausd. für zit. Zeilen (quote_regex)\fP +A regular expression that will be applied when reading articles. All +matching lines are shown in \fBcol_quote\fP. If \fBquote_regex\fP is blank, then +\fBtin\fP uses a built\-in default. +.TP +\fBReg. Ausd. für zweifach zitierte Z. (quote_regex2)\fP +A regular expression that will be applied when reading articles. All +matching lines are shown in \fBcol_quote2\fP. If \fBquote_regex2\fP is blank, then +\fBtin\fP uses a built\-in default. +.TP +\fBReg. Ausd. für >=3\-fach zitierte Z. (quote_regex3)\fP +A regular expression that will be applied when reading articles. All +matching lines are shown in \fBcol_quote3\fP. If \fBquote_regex3\fP is blank, then +\fBtin\fP uses a built\-in default. +.TP +\fBArtikel Neuheitszeit\-Limit (recent_time)\fP +If set to 0, this feature is deactivated, otherwise it means the number of +days. Default is 2. +.TP +\fBBiDi wiedergeben (render_bidi)\fP +If ON \fBtin\fP does the rendering of bi\-directional text. If OFF \fBtin\fP leaves +the rendering of bi\-directional text to the terminal. Default is OFF. +.TP +\fBActive alle ... Sekunden neu lesen (reread_active_file_secs)\fP +The news \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file is +reread at regular intervals to show if any new news has arrived. Default is +1200. Setting this to 0 will disable this feature. +.TP +\fBVerz. um Art/Threads zu speichern (savedir)\fP +Directory where articles/threads are saved. Default is +\fI${TIN_HOMEDIR:\-"$HOME"}/News\fP. +.TP +\fBkill) (score_limit_kill\fP +If the score of an article is below or equal this value the article gets +marked as killed. +.TP +\fBselect) (score_limit_select\fP +If the score of an article is above or equal this value the article gets +marked as hot. +.TP +\fBBewertung für gekillte Artikel (score_kill)\fP +Score of an article which should be killed, this must be <= +\fBscore_limit_kill\fP. +.TP +\fBBewertung für wichtige Artikel (score_select)\fP +Score of an article which should be marked hot, this must be >= +\fBscore_limit_select\fP. +.TP +\fBBlättere Artikel um ... Zeilen (scroll_lines)\fP +The number of lines that will be scrolled up/down in the article pager when +using cursor\-up/down. The default is 1 (line\-by\-line). Set to 0 to get +traditional tin page\-by\-page scrolling. Set to \-1 to get page\-by\-page +scrolling where the top/bottom line is carried over onto the next page. +This setting supersedes show_last_line_prev_page=ON. Set to \-2 to get +half\-page scrolling. This setting supersedes full_page_scroll=OFF. +.TP +\fBIm Gruppenmenü, zeige Autor an nach (show_author)\fP +Which information about the author should be shown. Default is 2, authors +full name. +.RS +.5i +.IP 0 3 +\fBNichts\fP, nur die \*(rqSubject:\*(rq Zeile wird angezeigt. +.IP 1 +\fBAddress\fP, \*(rqSubject:\*(rq line & the address part of the \*(rqFrom:\*(rq line are +displayed. +.IP 2 +\fBFull Name\fP, \*(rqSubject:\*(rq line & the authors full name part of the +\&\*(rqFrom:\*(rq line are displayed (default). +.IP 3 +\fBAddress and Name\fP, \*(rqSubject:\*(rq line & all of the \*(rqFrom:\*(rq line are +displayed. +.RE +.TP +\fBZeige Beschreibung der Newsgruppen (show_description)\fP +If ON show a short group description text after newsgroup name at the group +selection level. The \*(rq\fB\-d\fP\*(rq command\-line flag will override the setting +and turn descriptions off. The text used is taken from the +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups\fP file and if supported (requires +\fBtin\fP to be build with mh\-mail\-handling support) from +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fP for mailgroups. Default is ON. +.TP +\fBZeige Zeilenz./Bewert. in Übersicht (show_info)\fP +Which information about the thread or article should be shown. Default is 1, +show only the line count. +.RS +.5i +.IP 0 3 +\fBNichts\fP. Keine weiteren Informationen werden angezeigt. +.IP 1 +\fBLines\fP, in article listing the line count of an article will be displayed +and in thread listing the line count of first (unread) article will be +displayed. +.IP 2 +\fBScore\fP, in article listing the score of an article will be displayed and +in thread listing the score of the thread will be displayed \- see also +\fBthread_score\fP. +.IP 3 +\fBZeilen und Bewertung\fP, Zeilenzahl und Bewertung zusätzlich anzeigen. +.RE +.TP +\fBZeige nur ungelesene Artikel (show_only_unread_arts)\fP +If ON show only new/unread articles otherwise show all articles. Default is +ON. +.TP +\fBZeige nur Gruppen mit ungel. Art. (show_only_unread_groups)\fP +If ON show only subscribed groups that contain unread articles. Default is +OFF. +.TP +\fBZeige Signaturen an (show_signatures)\fP +If OFF don't show signatures when displaying articles. Default is ON. +.TP +\fBTrenne Sig mit '\en\-\- \en' ab (sigdashes)\fP +If ON prepend the signature with sigdashes. Default is ON. +.TP +\fBErzeuge Signatur aus Pfad/Kommando (sigfile)\fP +The path that specifies the signature file to use when posting, following up +to or replying to an article. If the path is a directory then the signature +will be randomly generated from files that are in the specified +directory. If the path starts with a ! the program the path points to will +be executed to generate a signature. \fBtin\fP will pass the name of the +current newsgroup as argument to the program. \-\-none will suppress any +signature. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP. +.TP +\fBSignatur beim Reposten anhängen (signature_repost)\fP +If ON add signature to reposted articles. Default is ON. +.TP +\fBReg. für /Schrägst./ Hervorhebungen (slashes_regex)\fP +A regular expression that will be applied when reading articles. All +matching words are shown in \fBcol_markslash\fP or \fBmono_markslash\fP. If +\fBslashes_regex\fP is blank, then \fBtin\fP uses a built\-in default. +.TP +\fBSortiere Artikel nach (sort_article_type)\fP +This specifies how articles should be sorted. Sort by ascending Date (6) is +the default. The following sort types are allowed: +.RS +.5i +.IP 0 3 +\fBNothing\fP, don't sort articles. +.IP 1 +\fBSubject: (absteigend)\fP, Artikel absteigend nach \*(rqSubject:\*(rq sortieren. +.IP 2 +\fBSubject: (aufsteigend)\fP, Artikel aufsteigend nach \*(rqSubject:\*(rq sortieren. +.IP 3 +\fBFrom: (absteigend)\fP, Artikel absteigend nach \*(rqFrom:\*(rq sortieren. +.IP 4 +\fBFrom: (aufsteigend)\fP, Artikel aufsteigend nach \*(rqFrom:\*(rq sortieren. +.IP 5 +\fBDate: (absteigend)\fP, Artikel absteigend nach \*(rqDate:\*(rq sortieren. +.IP 6 +\fBDate: (aufsteigend)\fP, Artikel aufsteigend nach \*(rqDate:\*(rq sortieren. +.IP 7 +\fBScore (absteigend)\fP, Artikel absteigend nach Score sortieren. +.IP 8 +\fBScore (aufsteigend)\fP, Artikel aufsteigend nach Score sortieren. +.IP 9 +\fBLines: (absteigend)\fP, Artikel absteigend nach \*(rqLines:\*(rq sortieren. +.IP 10 +\fBLines: (aufsteigend)\fP, Artikel aufsteigend nach \*(rqLines:\*(rq sortieren. +.RE +.TP +\fBSortiere Threads nach (sort_threads_type)\fP +This specifies how threads will be sorted. Sort by descending Score (1) is +the default. The following sort types are allowed: +.RS +.5i +.IP 0 3 +\fBNothing\fP, don't sort threads. +.IP 1 +\fBScore (descending)\fP, sort threads by filtering score descending (default). +.IP 2 +\fBScore (ascending)\fP, sort threads by filtering score ascending. +.IP 3 +\fBLast posting date (descending)\fP, sort threads by date of last posting +descending. +.IP 4 +\fBLast posting date (ascending)\fP, sort threads by date of last posting +ascending. +.RE +.TP +\fBSpamfallenwarnung in Adresse (spamtrap_warning_addresses)\fP +Set this option to a list of comma\-separated strings to be warned if you are +replying to an article by mail where the e\-mail address contains one of +these strings. The matching is case\-insensitive. Example: +.sp +\fIspam,delete,remove\fP +.TP +\fBRegu. A. für *Stern* Hervorhebungen (stars_regex)\fP +A regular expression that will be applied when reading articles. All +matching words are shown in \fBcol_markstar\fP or \fBmono_markstar\fP. If +\fBstars_regex\fP is blank, then \fBtin\fP uses a built\-in default. +.TP +\fBStarte Editor mit Einrückung (start_editor_offset)\fP +Set ON if the editor used for posting, follow\-ups and bug reports has the +capability of starting and positioning the cursor at a specified line within +a file. Default is ON. +.TP +\fBLeerzeichen am Zeilenende entfernen (strip_blanks)\fP +.\" only done in select/thread level, not in group level (nor in the pager) +.\" IMHO we should remove it +Strips the blanks from the end of each line therefore speeding up the +display when reading on a slow terminal or via modem. Default is ON. +.TP +\fBLösche nicht vorhan. G. aus newsrc (strip_bogus)\fP +Bogus groups are groups that are present in your +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP file that no longer exist on the news +server. There are 3 options. 0 means do nothing & always keep bogus groups. +1 means bogus groups will be permanently removed. 2 means that bogus groups +will appear on the Group Selection Menu, prefixed with a 'D'. This allows +you to unsubscribe from them as and when you wish. Default is 0 (Always +Keep). +.TP +\fBNur abonnierte Gruppen in newsrc (strip_newsrc)\fP +If ON, then unsubscribed groups will be permanently removed from your +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP file. Default is OFF. +.TP +\fBReg. für \-Durchstr.\- Hervorhebungen (strokes_regex)\fP +A regular expression that will be applied when reading articles. All +matching words are shown in \fBcol_markstroke\fP or \fBmono_markstroke\fP. If +\fBstrokes_regex\fP is blank, then \fBtin\fP uses a built\-in default. +.TP +\fBNä.ungel.\-kein Abbr. am Listenende? (wrap_on_next_unread)\fP +If enabled a search for the next unread article will wrap around all +articles to find also previous unread articles. If disabled the search stops +at the end of the thread list. Default is ON. +.TP +\fBWandle TeX\-Umlaute automatisch um (tex2iso_conv)\fP +If ON, show "a as Umlaut\-a, etc. Default is OFF. This behavior can also be +toggled in the article viewer via \fBPageToggleTex2iso\fP ('\fB"\fP'). +.TP +\fBThreade Artikel anhand (thread_articles)\fP +Defines which threading method to use. It's possible to set the threading +type on a per group basis by setting the group attribute variable +\fBthread_arts\fP to 0 \- 4 in the file +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fP. (See also "GROUP ATTRIBUTES".) +The default is Both Subject and References. The choices are: +.RS +.5i +.IP 0 3 +\fBNone\fP, don't thread. +.IP 1 +\fBSubject\fP, thread on \*(rqSubject:\*(rq only. +.IP 2 +\fBReferences\fP, thread on \*(rqReferences:\*(rq only. +.IP 3 +\fBBoth Subject and References\fP, thread on \*(rqReferences:\*(rq then +\&\*(rqSubject:\*(rq (default). +.IP 4 +\fBMultipart Subject\fP, thread multipart articles on \*(rqSubject:\*(rq. +.IP 5 +\fBPercentage Match\fP, thread base upon a partial character match on +\&\*(rqSubject:\*(rq. +.RE +.TP +\fBCatchup mit der linken Cursort. (thread_catchup_on_exit)\fP +If ON catchup group/thread when leaving with the left arrow key. Default is +ON. +.TP +\fBProzentualer Subject Vergleich (thread_perc)\fP +How closely the subjects must match for two threads to be considered part of +the same thread. This is a percentage and the default if 75%. +.TP +\fBBewertung eines Threads (thread_score)\fP +How the total score of a thread is computed. Default is 0, the maximum score +in this thread. +.RS +.5i +.IP 0 3 +\fBMax\fP, the maximum score in this thread. +.IP 1 +\fBSum\fP, the sum of all scores in this thread. +.IP 2 +\fBAverage\fP, the average score in this thread. +.RE +.TP +\fBVerwende Umschreibungen (translit)\fP +If ON append //TRANSLIT to the first argument of \fBiconv_open\fP(3) to enable +transliteration. This means that when a character cannot be represented in +the target character set, it can be approximated through one or several +similarly looking characters. On systems where this extension doesn't exist, +this option is disabled. Default is OFF. +.TP +\fBHow to treat blank lines (trim_article_body)\fP +Allows you to select how \fBtin\fP treats blank lines in article bodies. +Default is 0. This option does not affect lines within verbatim blocks. +.RS +.5i +.IP 0 3 +\fBDon't trim article body\fP, do nothing. +.IP 1 +\fBFührende Leerzeilen überspringen\fP. +.IP 2 +\fBAbschliessende Leerzeilen überspr.\fP. +.IP 3 +\fBSkip leading and trailing blank l.\fP, skip leading and trailing blank +lines. +.IP 4 +\fBCompact multiple between text\fP, replace multiple blank lines between +textblocks with one blank line. +.IP 5 +\fBCompact multiple and skip leading\fP, 4 + 1 +.IP 6 +\fBCompact multiple and skip trailing\fP, 4 + 2 +.IP 7 +\fBCompact mltpl., skip lead. & trai.\fP, 4 + 3 +.RE +.TP +\fBReg. für _Unterstr._ Hervorhebungen (underscores_regex)\fP +A regular expression that will be applied when reading articles. All +matching words are shown in \fBcol_markdash\fP or \fBmono_markdash\fP. If +\fBunderscores_regex\fP is blank, then \fBtin\fP uses a built\-in default. +.TP +\fBEntferne ~/.article nach dem posten (unlink_article)\fP +If ON remove \fI~/.article\fP after posting. Default is ON. +.TP +\fBÖffne URLs mit ... (url_handler)\fP +The program that will be run when launching URL's in the article viewer +using \fBPageViewUrl\fP ('\fBU\fP'). The actual URL will be appended to this. +Default is \fBurl_handler.pl %s\fP. +.TP +\fBURL\-Hervorhebung im Artikel (url_highlight)\fP +Enable highlighting URLs in message body. Default is ON. +.TP +\fBBenutze ANSI\-Farben (use_color)\fP +If enabled \fBtin\fP uses ANSI\-colors. Default is OFF. +.TP +\fBScrollt. vom Nummernblock nutzen (use_keypad)\fP +Standard ist OFF. +.TP +\fBMaus in xterm nutzen (use_mouse)\fP +Allows the mouse button support in a \fBxterm\fP(1x) to be enabled/disabled. +Default is OFF. +.TP +\&\fB\*(rqX\-Face:\*(rqs mit slrnface Anzeigen (use_slrnface)\fP +If enabled \fBtin\fP uses \fBslrnface\fP(1) to interpret the \*(rqX\-Face:\*(rq +header. For this option to have any effect, \fBtin\fP must be running in an +\fBxterm\fP(1x) and \fBslrnface\fP(1) must be in your $\fBPATH\fP. Default is OFF. +.TP +\fBUse UTF\-8 graphics (utf8_graphics)\fP +If ON use UTF\-8 characters for indicator ('\->'), thread/attachment tree +and ellipsis ('...'). Default is OFF. +.TP +\fBReg. Ausd. für den Anfang e. wortgetreuen Textblock (verbatim_begin_regex)\fP +A regular expression that tin will use to find the begin of a verbatim +block. +.TP +\fBReg. Ausd. für das Ende eines wortgetreuen Textblocks (verbatim_end_regex)\fP +A regular expression that tin will use to find the end of a verbatim block. +.TP +\fBWortgetreue Textblöcke erkennen (verbatim_handling)\fP +If ON verbatim blocks will be detected. Default is ON. +.TP +\fBWildcardprüfung (wildcard)\fP +Allows you to select how \fBtin\fP matches strings. The default is 0 and uses +the wildmat notation, which is how this has traditionally been handled. +Setting this to 1 allows you to use \fBperl\fP(1) compatible regular +expressions \fBpcre\fP(3) (see also \fBperlre\fP(1) and \fBpcrepattern\fP(3)). You +will probably want to update your filter file if you use this regularly. +NB: Newsgroup names will always be matched using the wildmat notation. +.TP +\fBAnstelle der Markierung anzeigen (word_h_display_marks)\fP +Should the leading and ending stars, slashes, strokes and dashes also be +displayed, even when they are highlighting marks? +.RS +.5i +.IP 0 3 +\fBnein\fP +.IP 1 +ja, \fBMarkierung\fP anzeigen +.IP 2 +ein \fBLeerzeichen\fP ausgeben +.RE +.TP +\fBWort\-Hervorhebung im Artikel (word_highlight)\fP +Enable word highlighting. See \fBword_h_display_marks\fP for the options +available. If \fBuse_color\fP is enabled the colors specified in +\fBcol_markdash\fP, \fBcol_markslash\fP, \fBcol_markstar\fP and \fBcol_markstroke\fP are +used for word highlighting else the character attributes specified in +\fBmono_markdash\fP, \fBmono_markslash\fP, \fBmono_markstar\fP and \fBmono_markstroke\fP +are used. Default is ON. +.TP +\fBZeilen umbrechen nach (wrap_column)\fP +Sets the column at which a displayed article body should be wrapped. If +this value is equal to 0, it defaults to the current screen width. If this +value is greater than your current screen width the part off\-screen is not +displayed. Thus setting this option to a large value can be used to disable +wrapping. If this value is negative the wrap margin is the current screen +width plus the given value (as long as the result is still positive, +otherwise it will fall back to the current screen width). Default is 0, +wrapping at the current screen width. +.TP +\fBEinleitungszeile beim Crossposten (xpost_quote_format)\fP +.\" +.\" +Format is the same as for \fBnews_quote_format\fP, this is used when answering +to a crossposting to several groups with no \*(rqFollowup\-To:\*(rq set. +.SS "ATTRIBUTES MENU AND GROUP ATTRIBUTES" +\fBtin\fP allows certain attributes to be set on a per group basis. If it +exists, the global attributes file, \fI${TIN_LIBDIR:\-NEWSLIBDIR}/attributes\fP +is read. After that, the user's own attributes file +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fP is read. The global attributes +file is useful for distributing system\-wide defaults to new users who have +no private attributes file yet. +.PP +Note that the \fIscope=\fP line has to be specified before +the attributes are specified for that list. All attributes are set to a +reasonable default so you only have to specify the attribute that you want +to change (e.g., savedir). All toggle attributes are set by specifying +ON/OFF. Otherwise, these function exactly the same as their global +equivalents. For more details see \fBtin\fP(5). +.PP +Attributes can also be changed from the attributes menu which can be +accessed by \fBConfigToggleAttrib\fP ('\fB\fP') from the options menu +or \fBScopeSelect\fP ('\fB^J\fP' or '\fB\fP') from the scopes menu. The +attributes menu looks and behaves very similar to the options menu. The +title shows the current scope. Attributes set in the current scope are +marked with '\+' to the left of the attributes number. +.PP +.\" +.\" +Besides the keys for moving around and changing values known from the +options menu the attributes menu provides the following command: +\fBConfigResetAttrib\fP ('\fBr\fP') which resets an attribute to a default value. +.SS "SCOPES MENU" +The scopes menu (accessible from the options menu with \fBConfigScopeMenu\fP +('\fBS\fP')) shows all scopes read from the global and local attributes file. +Scopes from the global attributes file are marked with '!' to the left of +the scope number. Delete/rename/move are not possible with those scopes. +.PP +.\" +.\" +In addition to the common moving keys the following commands are available: +\fBScopeSelect\fP ('\fB^J\fP' or '\fB\fP') enter the attributes menu for +the current scope, \fBScopeEditAttributesFile\fP ('\fBE\fP') edit the local +attributes file, \fBScopeAdd\fP ('\fBa\fP') add a new scope, \fBScopeDelete\fP +('\fBd\fP') delete the current scope, \fBScopeMove\fP ('\fBm\fP') move the current +scope to a new position, \fBScopeRename\fP ('\fBr\fP') rename the current +scope. \fBToggleHelpDisplay\fP ('\fBH\fP') toggles the help mini menu at the +bottom of the screen. +.SS "ARTIKEL FILTERN" +.\" FIXME - add scoring description +When there is a subject or an author which you are either very interested +in, or find completely uninteresting, you can easily instruct \fBtin\fP to +\fIauto\-select\fP or \fIauto\-kill\fP articles that match \fIrules\fP that you +specify. This can be anything from the name of the author to the number of +lines in an article. +.PP +When \fBtin\fP starts up the user's kill\-file +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP (see also \fBtin\fP(5)) is read. Each +time a newsgroup is entered the rules are applied and articles killed or +selected when they meet certain criteria. +.PP +The degree to which rules are applied depend on the \fBkill_level\fP tinrc +setting. By default killed articles will only be marked read. Adjust +\fBkill_level\fP for more aggressive processing. Articles that match an +auto\-selection rule are marked with a \*(rq*\*(rq. +.PP +Filtering rules can be manually entered into +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP (but don't do this whilst running +\fBtin\fP else you will lose your changes) or by using an on\-screen menu within +\fBtin\fP. +.PP +The filtering capabilities of \fBtin\fP have been significantly enhanced over +previous versions to include scoring and better pattern matching. It is +recommended that you read the file \fIfiltering\fP in the \fBtin\fP documentation +directory. This file can also be read online at +. +.PP +.\" FIXME - Next paragraph is out of date +.\" +.\" +The on\-screen filtering menu is accessed by pressing '\fB^K\fP' at the Group +and Article levels. It allows the user to kill or select an article that +matches the current \*(rqSubject:\*(rq line, \*(rqFrom:\*(rq line or a string entered by +the user. The user entered string can be applied to the \*(rqSubject:\*(rq or +\&\*(rqFrom:\*(rq lines of an article. The kill description can be limited to the +current newsgroup or it can apply to all newsgroups. Once entered the user +can abort the command and not save the kill description, edit the kill file +or save the kill description. +.SS "POSTING ARTICLES" +\fBtin\fP allows posting of articles, follow\-up to already posted articles and +replying direct through mail to the author of an article. +.PP +Use the \fBPost\fP ('\fBw\fP') command to post an article to a newsgroup. After +entering the post subject the default editor (i.e., \fBvi\fP(1)) or the editor +specified by the $\fBVISUAL\fP or $\fBEDITOR\fP environment variable will be +started and the article can be entered. To crosspost articles simply add a +comma and the name of the newsgroup(s) to the end of the \*(rqNewsgroups:\*(rq +line at the beginning of the article. After saving and exiting the editor +you are asked if you wish to a)bort posting the article, e)dit the article +again or p)ost the article to the specified newsgroup(s). +.PP +Use the \fBDisplayPostHist\fP ('\fBW\fP') command to display a history of the +articles you have posted. The date the article was posted, which newsgroups +the article was posted to and the articles subject line are displayed. +.PP +Use the \fBPageFollowupQuote\fP ('\fBf\fP'), \fBPageFollowup\fP ('\fBF\fP') or +\fBPageFollowupQuoteHeaders\fP ('\fB^W\fP') command to post a follow\-up article to +an already posted article. The \fBPageFollowupQuote\fP command will copy the +text of the original article into the editor. The +\fBPageFollowupQuoteHeaders\fP command will copy the text and all headers of +the original article into the editor. The editing procedure is the same as +when posting an article with the \fBPost\fP ('\fBw\fP') command. +.PP +.\" +.\" +Use the \fBPageReplyQuote\fP ('\fBr\fP'), \fBPageReply\fP ('\fBR\fP') or +\fBPageReplyQuoteHeaders\fP ('\fB^E\fP') command to reply direct through mail to +the author of an already posted article. The \fBPageReplyQuote\fP command will +copy the text of the original article into the editor. The +\fBPageReplyQuoteHeaders\fP command will copy the text and all headers of the +original article into the editor. The editing procedure is the same as when +posting an article with the \fBPost\fP ('\fBw\fP') command. After saving and +exiting the editor you are asked if you wish to abort sending the article +via \fBPostAbort\fP ('\fBa\fP'), edit the article again via \fBPostEdit\fP ('\fBe\fP') +or send the article to the author via \fBPostSend\fP ('\fBs\fP'). +.SS "EINLEITUNGSZEILE ANPASSEN" +When posting a followup to an article or replying direct to the author of an +article via email the text of the article can be quoted. The beginning of +the quoted text can contain information about the quoted article (e.g., Name +and the Message\-ID of the article). To allow for different situations +certain information from the article can be used in the quoted string. The +following variables are expanded if found in the tinrc variables +\fBmail_quote_format\fP, \fBnews_quote_format\fP or \fBxpost_quote_format\fP: +.RS +.nf +.ta \w'%A 'u +\w'Mailadresse'u +\fB%A\fP Mailadresse +\fB%D\fP Datum (benutzt \fBdate_format\fP) +\fB%F\fP Name und Adresse (%N <%A>) +\fB%G\fP Groupname +\fB%M\fP Message\-ID +\fB%N\fP Name des Autors +\fB%C\fP Vorname des Autors +\fB%I\fP Initialen des Autor +.fi +.RE +z. B. +.RS +.nf +\f(CWmail_quote_format=Am %D in %G schrieben Sie: +news_quote_format=In %M schreib %F:\fP +.fi +.RE +ergäbe folgendes: +.RS +.nf +\f(CWAm 21. Sept 1993 9:45:51 \-0400 in alt.sources schrieben Sie: +In schreib Joe Bar :\fP +.fi +.RE +.\" +.\" +The quoted text section of an article is marked by a preceding quote string +at the beginning of each quoted line. The default quote string is set to +\&'>_'. The default can be changed by setting the tinrc variable +\fBquote_chars\fP to ones own preference. (Note that '_' underline is used to +represent a space). +.SS "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES" +The command interface to \fBGroupMail\fP, \fBPageMail\fP, \fBPostMail\fP or +\fBThreadMail\fP ('\fBm\fP'), \fBPipe\fP ('\fB|\fP'), \fBPrint\fP ('\fBo\fP'), \fBPageRepost\fP +or \fBGroupRepost\fP ('\fBx\fP') and \fBGroupSave\fP, \fBPageSave\fP or \fBThreadSave\fP +('\fBs\fP' and \fBGroupAutoSave\fP, \fBPageAutoSave\fP or \fBThreadAutoSave\fP '\fBS\fP') +articles is the same for ease of use. +.PP +Auto\-saving with \fB*AutoSave\fP ('\fBS\fP') is a special case and operates only +on marked articles. They will processed without any further prompting +according to the default save parameters defined in tinrc or by any +attributes set for the current group. +.PP +Otherwise, the initial prompt will ask you to select which article, thread, +hot (auto\-selected), regex pattern, tagged articles you wish to mail, pipe +etc. +.PP +Tagged articles must have already been tagged with a \fB*Tag\fP ('\fBt\fP') +command. All tagged articles can be untagged by a \fB*Untag\fP ('\fBU\fP') untag +command. +.PP +If a regex pattern is selected you are asked to enter a pattern (e.g., to +match all articles subject lines containing 'net News' you enter "net +News"). Any articles that match the entered expression will be mailed, piped +etc. See also the \fBwildcard\fP tinrc variable for advanced pattern matching +options. +.PP +Various expansion characters are recognized when entering the directory and +file to save to. Environment variables (prefixed with '$') and user home +directories (prefixed by '~' or '~username') can be specified. Environment +variables can themselves contain other special characters. +.PP +To save articles to a mailbox enter '=' when asked for +the save filename. If you enter just '=' then articles will be saved to a +mailbox with the name of the current newsgroup (eg, alt.sources). See +\fBmaildir\fP. +.PP +To save in savedir// format enter +\&'+'. Environment variables are allowed within a filename +(e.g., \fI$SOURCES/dir/filename\fP). See \fBsavedir\fP. +.PP +.\" +.\" +When saving articles you can specify whether the saved files should be post +processed. A default process type can be set via \fBpost_process_type\fP. +.SS "AUTOMATISCHES MAILEN UND SPEICHERN VON UNGELESENEN ARTIKELN" +\fBtin\fP allows new/unread news articles to be mailed (\*(rq\fB\-M\fP\*(rq and +\&\*(rq\fB\-N\fP\*(rq option) or saved (\*(rq\fB\-S\fP\*(rq option) in batch mode for later +reading. Useful when going on holiday and you don't want to return and find +that expire has removed a whole load of unread articles. Best to run via +\fBcron\fP(1) everyday while away, after which you will be mailed a report of +which articles were mailed/saved from which newsgroups and the total number +of articles mailed/saved. Articles are saved in a private news structure +under your directory (default is +\fI${TIN_HOMEDIR:\-"$HOME"}/News\fP). Be careful of using this option if you +read a lot of groups because you could overflow your file system. +.PP +When using \*(rq\fB\-S\fP\*(rq together with a given directory to save to (\*(rq\fB\-s\fP\*(rq +option), the same directory must be specified when reading the articles by +\&\*(rq\fB\-R\fP\*(rq. +.PP +If you only want to save some of your groups use the \fBbatch_save\fP tinrc +variable. Set to ON or OFF in tinrc to enable/disable saving of all groups +and then use the \fBbatch_save\fP attribute to fine tune which groups you want +to have saved. For example, if you want to save most of your groups, then +set \fBbatch_save\fP to ON in tinrc and selectively turn off the ones you don't +want using attributes. +.PP +.TP 2i +\fBtin \-M iain \-c \-f newsrc.mail\fP +(mail any unread articles in newsgroups specified in file newsrc.mail to the +local user iain and mark them as read) +.PP +.TP 2i +\fBtin \-S \-c \-f newsrc.save\fP +(save any unread articles in newsgroups specified in file newsrc.save and +mark them as read) +.PP +.TP 2i +\fBtin \-R\fP +.\" +.\" +(read any articles saved by \fBtin \-S\fP) +.SS BEREICHE +A range is simply a group of items marked using the \fBSetRange\fP (\fB'#'\fP) +key. Certain \fBtin\fP commands will operate on a range if one exists rather +than just the current item. A range is an expression of the form +\-, e.g. 10\-15 will highlight items 10 through 15 +on the current screen. Other than absolute numeric positions, '.' can be +used in place of the current cursor position and '$' can be used to mean the +highest number available. Currently the only commands that understand ranges +are \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBMarkArtUnread\fP ('\fBz\fP') and +\fBMarkThdUnread\fP ('\fBZ\fP'). +.PP +.SS "NEWSGROUP LISTS & WILDCARDS" +Several places in \fBtin\fP allow you to specify a list of newsgroups. These +include command\-line groups, (un)subscribe groups, the AUTO[UN]SUBSCRIBE +mechanism. The scope= attributes file tag and the filter file group= tag +also use the same syntax. \fBtin\fP interprets this variable similarly to +\fBrn(1).\fP It contains a list of patterns, separated by commas and possibly +prefixed with exclamation points. An exclamation point negates the meaning +of a match on this pattern, and can be used to cancel certain matches. Some +examples: +.sp +\fIalt.config,news.*,!news.test\fP +.sp +Matches alt.config and everything in the 'news' hierarchy except news.test +.PP +.\" +.\" +See the explanation for the $\fBAUTOSUBSCRIBE\fP variables for further +examples. +.SS SIGNATUREN +\fBtin\fP will recognize a signature in either +\fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fP or \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP. +If \fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fP exists, then the signature will be +pulled into the editor for mail commands only. A signature in +\fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fP will not be pulled into the editor for +posting commands since \fBinews\fP(1) will append the signature itself. +.PP +A signature in \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP will be pulled into the +editor for both posting and mailing commands. +.PP +Nachstehend eine Beispiel \fI.Sig\fP Datei: +.RS +.nf +\f(CWNAMES Erika Mustermann +SNAIL Heidestraße 17, 99999 Notreal, Germany\fP +.fi +.RE +.PP +.\" +.\" +\fBtin\fP also has the capability to generate random signatures on a per +newsgroup basis if so desired. The way to accomplish this is to specify the +default signature or the group attribute sigfile as a directory. If for +example the sigfile path is \fI/usr/iain/.sigs\fP and \fI.sigs\fP is a directory +then \fBtin\fP will select a random signature from any file that is in the +directory \fI.sigs\fP (note: one signature per numbered file). A random +signature can also consist of a fixed part signature that can contain your +name, address etc. followed by the random sig. The fixed part of the random +sig is read from the file \fI$HOME/.sigfixed\fP. +.SS "TIPS UND TRICKS" +\fBtin\fP can be pretty much be navigated by using the four cursor keys. The +left arrow key goes up a level, the right arrow key goes down a level, the +up arrow key goes up a line and the down arrow key goes down a line. +.PP +In den folgenden Newsgruppen finden sich nützliche Informationen über +Newssoftware: +.in +.5i +.ti -\w'\(em'u +\(emde.comm.software.newsreader (Informationen über Newsrader wie tin, slrn, +\&...) +.ti -\w'\(em'u +\(emnews.software.nntp (Informationen über NNTP) +.ti -\w'\(em'u +\(emnews.answers (Frequently Asked Questions (FAQ) about many different +themes) +.PP +Many prompts within \fBtin\fP offer a default choice that the cursor is +positioned on. By pressing '\fB\fP' the default value is taken. +Most prompts can be aborted by pressing '\fB\fP'. +.PP +When \fBtin\fP is run in an \fBxterm\fP(1x) it will resize itself each time the +\fBxterm\fP(1x) is resized. +.PP +\fBtin\fP will reread the +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file at set +intervals (\fBreread_active_file_secs\fP) to show any newly arrived news. +.PP +.\" +.\" +If you find large number of new newsgroups cluttering up your screen, +pressing \fBSelectToggleReadDisplay\fP ('\fBr\fP') will make them go away. +.SS "XTERM BUTTONS" +If the environment variable \fB$TERM\fP is set to \fBxterm\fP(1x), then button +pressing can be used to select groups and articles. In this discussion, the +buttons are assumed to be assigned conventionally (i.e., Button1 is the left +button). +.PP +In general (i.e., for the group, thread and article menus), +.TP 10 +Button1 (left) +enters next (lower) level if you click on an article, otherwise pages down. +.TP +Button2 (center) +returns to the previous (upper) level if you click on an article, otherwise +pages up. +.TP +Button3 (right) +positions on the article line under mouse cursor, or pages down if you've +clicked outside the list of articles. +.PP +In the group selection menu, if the mouse is pointing at a group then: +.TP 10 +Linke Maustaste +moves to and selects the group pointed at, just like \fBSelectReadGrp\fP +('\fB\fP'). +.TP +Mittlere Maustaste +quits the program, just like \fBQuit\fP ('\fBq\fP'). +.TP +Rechte Maustaste +moves to the group pointed at. +.PP +In the article menu, if the mouse is pointing at an article (or thread) +then: +.TP 10 +Linke Maustaste +reads the article pointed at, just like \fBGroupReadBasenote\fP +('\fB\fP'), or the thread, just like \fBGroupListThd\fP ('\fBl\fP'). +.TP +Mittlere Maustaste +exits the menu, catching up on the group if you have +\fBgroup_catchup_on_exit\fP set in your configuration, just like \fBQuit\fP +('\fBq\fP'). +.TP +Rechte Maustaste +moves to the article (or thread) pointed at. +.PP +In the thread menu, if the mouse is pointing at an article then: +.TP 10 +Linke Maustaste +reads article pointed at, just like \fBThreadReadArt\fP ('\fB\fP'). +.TP +Mittlere Maustaste +exits the menu, catching up on the thread if you have +\fBthread_catchup_on_exit\fP set in your configuration, just like \fBQuit\fP +('\fBq\fP'). +.TP +Rechte Maustaste +moves to the article pointed at. +.PP +.\" +.\" +In other menus and areas button pressing reverts back to usual cut and paste +of \fBxterm\fP(1x), but after one click of any button. +.SS "INDEX DATEIEN" +If your news server supports NOV index files (see \fBnewsoverview\fP(5), most +modern installations will) and you have a fast connection to your news +server then this section can be ignored. +.PP +If your news server doesn't support NOV index files or you have a very slow +connection to your news server then \fBtin\fP can cache the index for each +newsgroup if \fBcache_overview_files\fP is set to ON. Note that this cache can +use up large amounts of diskspace if you read a lot of groups and/or high +traffic groups. +.PP +Each user creates/updates his/her own index files that are stored in +\fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news/\fP. If you are +reading via NNTP then the news server name will be appended to keep the +indexes for different servers separate. If you are reading off the local +spool and local overview files already exist then turning on caching will +have no effect. Likewise unless you see significant delays entering a group +when reading via NNTP then turning on caching will have little or no effect. +.PP +Entering a group the first time tends to be slow because the index file must +be built from scratch. To alleviate the slowness start \fBtin\fP to create all +index files for the groups you subscribe to with \fBtin \-u \-v\fP and go for a +coffee. Subsequent readings of a group will only need to do incremental +updating of the index file and will be much faster as only new articles will +need to be cached. +.PP +As indexing might take some time you may want to run \fBtin\fP form the system +batcher \fBcron\fP(1) with the \*(rq\fB\-u\fP\*(rq option: +.PP +.RS +.nf +\f(CW30 6 * * * /usr/local/bin/tin \-u\fP +.fi +.RE +.PP +If you are low on local disk space you should consider using \fBgetart_limit\fP +to limit the size of cached indexes and also manually purge cached data for +groups you are not reading anymore with something like: +.PP +.RS +.nf +\f(CWfind ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \e +\-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f\fP +.fi +.RE +.\" +.\" +.SH DATEIEN +.\" TODO: mention dead.article, dead.articles +.\" .article[.$$], .cancel[.$$], .letter[.$$]? +.\" $PWD/trace[.out] (--with-trace) +.\" $TMPDIR/NNTP (-D 1) +.\" $TMPDIR/FILTER (-D 2) +.\" $TMPDIR/ARTS (-D 2) +.\" $TMPDIR/BITMAP (-D 4) +.\" $TMPDIR/REFS.dump (-D 8) +.\" $TMPDIR/REFS.info (-D 8) +.\" $TMPDIR/MALLOC (-D 16) +.\" $TMPDIR/ATTRIBUTES (-D 32) +.\" $TMPDIR/SCOPES-R (-D 32) +.\" $TMPDIR/SCOPES-W (-D 32) +.\" $TMPDIR/ACTIVE (-D 64) +Für eine ausführlich Beschreibung siehe \fBtin\fP(5). +.PP +\fI$MAILCAPS\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.mailcap\fP +.br +\fI/etc/mailcap\fP +.br +\fI/usr/etc/mailcap\fP +.br +\fI/usr/local/etc/mailcap\fP +.br +\fI/etc/mail/mailcap\fP +.PP + +\fI/etc/nntpserver\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.mime.types\fP +.br +\fI/etc/mime.types\fP +.br +\fI/etc/tin/mime.types\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsauth\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP +.PP + +.nf +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc\fP +.fi +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory\fP +.PP + +\fI${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/\fP +.PP + +.nf +\fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/\fP +.fi +.PP + +\fI${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save\fP +.PP + +.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes +\fI/etc/tin/attributes\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP +.PP + +.nf +\fI/etc/tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"}\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"}\fP +.fi +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/posted\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/Mail/posted\fP +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles\fP +.PP + +.nf +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP +.fi +.PP + +.nf +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT:+":$NNTPPORT"}/serverrc\fP +.fi +.PP + +.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc +\fI/etc/tin/tinrc\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP +.PP + +\fI/etc/tin/tin.defaults\fP +.PP + +\fI/usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo\fP +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/active.times\fP +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups\fP +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/organization\fP +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt\fP +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions\fP +.PP +.\" +.\" +.SH UMGEBUNGSVARIABLEN +.\" TODO: sort in a useful order, add undocumented env-vars like: +.\" +.\" .TP +.\" .B SHELL (Unix) +.\" The pathname of the user's login shell. +.\" +.\" used in xface support +.\" .TP +.\" .B DISPLAY +.\" .TP +.\" .B WINDOWID +.\" +.\" +.TP +\fBTINRC\fP +Define this variable if you want to specify command\-line options that \fBtin\fP +should be started with to save typing them each time it is started. The +contents of the environment variable are added to the front of the +command\-line options before it is parsed therefore allowing an option +specified on the command\-line to override the same option specified in the +environment. +.TP +\fBTIN_HOMEDIR\fP +Define this variable if you do not want the \fI.tin\fP directory in +\fI$HOME/\fP. E.g., if you want all \fBtin\fP's private files in \fI/tmp/.tin\fP you +would set $\fBTIN_HOMEDIR\fP to \fI/tmp\fP. +.TP +\fBTIN_INDEX_NEWSDIR\fP +Define this variable if you do not want the \fI.news\fP directory in +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fP. E.g., if you want all \fBtin\fP's news index +files in \fI/tmp/.news\fP you would set $\fBTIN_INDEX_NEWSDIR\fP to \fI/tmp\fP. +.TP +\fBTIN_INDEX_MAILDIR\fP +Define this variable if you do not want the \fI.mail\fP directory in +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fP. E.g., if you want all \fBtin\fP's mail index +files in \fI/tmp/.mail\fP you would set $\fBTIN_INDEX_MAILDIR\fP to \fI/tmp\fP. +.TP +\fBTIN_INDEX_SAVEDIR\fP +Define this variable if you do not want the \fI.save\fP directory in +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fP. E.g., if you want all \fBtin\fP's save index +files in \fI/tmp/.save\fP you would set $\fBTIN_INDEX_SAVEDIR\fP to \fI/tmp\fP. +.TP +\fBTIN_LIBDIR\fP +Define this variable if you want to override the \fBNEWSLIBDIR\fP path that was +compiled into the \fBtin\fP binary, default is \fI/usr/lib/news\fP. If tin is +running in NNTP mode setting this variable has no effect. +.TP +\fBTIN_SPOOLDIR\fP +Define this variable if you want to override the \fBSPOOLDIR\fP path that was +compiled into the \fBtin\fP binary, default is \fI/var/spool/news\fP. If tin is +running in NNTP mode setting this variable has no effect. +.TP +\fBTIN_NOVROOTDIR\fP +Define this variable if you want to override the \fBNOVROOTDIR\fP path that was +compiled into the \fBtin\fP binary, default is \fBSPOOLDIR\fP (see above). If tin +is running in NNTP mode setting this variable has no effect. +.TP +\fBTIN_ACTIVEFILE\fP +Define this variable if you want to override the \fBNEWSLIBDIR/active\fP path +that was compiled into the \fBtin\fP binary. If tin is running in NNTP mode +setting this variable has no effect. If $\fBTIN_LIBDIR\fP is set it is +prepended to $\fBTIN_ACTIVEFILE\fP. +.TP +\fBNNTPSERVER\fP +The default NNTP server to remotely read news from. This variable only needs +to be set if the \*(rq\fB\-r\fP\*(rq command\-line option is specified and the file +\fI/etc/nntpserver\fP does not exist. The \*(rq\fB\-g\fP\*(rq command line option +overrides $\fBNNTPSERVER\fP. +.TP +\fBNNTPPORT\fP +The NNTP TCP\-port to read news from. This variable only needs to be set if +the TCP\-port is not 119 (the default). The \*(rq\fB\-p\fP\*(rq command\-line option +overrides $\fBNNTPPORT\fP. +.TP +\fBDISTRIBUTION\fP +Set the article header field \*(rqDistribution:\*(rq to the contents of the +variable instead of the system default. +.TP +\fBISO2ASC\fP +Set the ISO to ASCII charset decoding table character to use in decoding an +article text. Values can range from 0 to 6. +.RS +.5i +.TP +\fB0\fP +universal table for many languages +.TP +\fB1\fP +single\-spacing universal table +.TP +\fB2\fP +table for Danish, Dutch, German, Norwegian and Swedish +.TP +\fB3\fP +table for Danish, Finnish, Norwegian and Swedish using the appropriate ISO +646 variant +.TP +\fB4\fP +table with RFC 1345 codes in brackets +.TP +\fB5\fP +table for printers that allow overstriking with backspace +.RE +.TP +\fBORGANIZATION\fP +Set the article header field \*(rqOrganization:\*(rq to the contents of the +variable instead of the system default. If reading news on an Apollo +DomainOS machine the environment variable $\fBNEWSORG\fP has to be used instead +of $\fBORGANIZATION\fP. +.TP +\fBNEWSORG (DomainOS)\fP +DomainOS specific, same as $\fBORGANIZATION\fP on other OSs (see above). +.TP +\fBREPLYTO\fP +Set the article header field \*(rqReply\-To:\*(rq to the return address specified +by the variable. This is useful if you wish to receive replies at a +different address. +.TP +\fBNAME\fP +Overrides the full name given in the gecos\-files in \fI/etc/passwd\fP, see also +\fBmail_address\fP. +.TP +\fBREALNAME\fP +Same as $\fBNAME\fP. +.TP +\fBHOME\fP +Das Anmeldeverzeichnis des Benutzers. Weitere Informationen finden sich in +\fBenviron\fP(5). +.TP +\fBMAILER\fP +This variable has precedence over the default mailer that is used in all +mailing operations within \fBtin\fP. +.TP +\fBMAIL\fP +Full path to the user's mailbox. +.TP +\fBVISUAL\fP +This variable has precedence over the default editor (i.e., \fBvi\fP(1)) that +is used in all editing operations within \fBtin\fP (e.g., posting, replying, +follow\-ups, ...). Evaluation order is \fI${VISUAL:\-"${EDITOR:\-vi}"}\fP. See +\fBenviron\fP(5) for more info. +.TP +\fBEDITOR\fP +If $\fBVISUAL\fP is unset, then this variable is looked up for a default +editor. If $\fBEDITOR\fP and $\fBVISUAL\fP are both unset, \fBtin\fP uses the systems +default editor (i.e. \fBvi\fP(1)) on UNIX\-systems). See \fBenviron\fP(5) for +more info. +.TP +\fBAUTOSUBSCRIBE\fP +A new group is checked against the list of patterns; if it matches, \fBtin\fP +subscribes the user to the group without further query. See the section +"NEWSGROUP LISTS & WILDCARDS" for an explanation of the valid syntax. For +example, setting +.sp +\fIAUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*\fP +.sp +will automatically subscribe the user to all new groups in the comp.os.unix +hierarchy, and all talk groups other than talk.politics groups (which will +be queried for as usual). Of course this does not work if \fBtin\fP is started +with the \*(rq\fB\-X\fP\*(rq command\-line switch. +.TP +\fBAUTOUNSUBSCRIBE\fP +Is handled like the $\fBAUTOSUBSCRIBE\fP variable, but groups matching the list +are unsubscribed from without further query. For example, setting +.sp +\fIAUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*\fP +.sp +will automatically unsubscribe the user from all new alt.flame groups and +all groups starting with u (university groups) other than UK groups (which +will be queried for as usual). +.TP +\fBTMPDIR\fP +A pathname of a directory made available for \fBtin\fP to create temporary +files. +.TP +\fBMAILCAPS\fP +This variable can be used to override the default path search for mailcap +files. See also \fBtin\fP(5). +.TP +\fBNOMETAMAIL\fP +Set this variable to disable the use of \fBmetamail\fP(1) or a replacement +(e.g. metamutt). +.TP +\fBMM_CHARSET\fP +.TP +\fBISPELL\fP +Set this variable to point to \fBispell\fP(1) or a replacement and its +cmd\-line options. +.TP +\fBPGPOPTS\fP +Define any additional options that you wish to pass to your \fBpgp\fP(1) or +\fBgpg\fP(1) program. +.TP +\fBPGPPATH\fP +Override the name of the \fBpgp\fP(1) directory in \fB$HOME\fP that holds your +keys etc.. +.TP +\fBGNUPGHOME\fP +Override the name of the \fBgpg\fP(1) directory in \fB$HOME\fP that holds your +keys etc.. +.TP +\fBLC_CTYPE\fP +.\" TODO: document LC_CTYPEs influence on +.\" ~/.tin/keymap.*, 8bit char display, ... +This variable determines the \fBlocale\fP(5) category for character handling +functions. Usually it determines the character classes for pattern matching +character classification and case conversion. Currently this is not true for +\fBtin\fP (which temporary unsets \fB$LC_CTYPE\fP right before any match is done +to avoid confusion). It's value should be of the form +\fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fBenviron\fP(5) +for more information. +.TP +\fBLC_MESSAGES\fP +Formats of informative and diagnostic messages and interactive responses. +It's value should be of the form +\fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fBlocale\fP(5) and +\fBenviron\fP(5) for more information. +.TP +\fBLC_TIME\fP +Date and time formats. It's value should be of the form +\fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP][\fI@modifier\fP]. See \fBlocale\fP(5) and +\fBenviron\fP(5) for more information. +.TP +\fBLC_ALL\fP +This variable overrides the value of the \fB$LANG\fP variable and any other +\fB$LC_\fP variable. It's value should be of the form +\fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP]. See \fBlocale\fP(5) and \fBenviron\fP(5) +for more information. +.TP +\fBLANG\fP +This variable determines the \fBlocale\fP(5) category for any category not +specifically selected with a variable starting with \fB$LC_\fP. It's value +should be of the form \fIlanguage\fP[\fI_territory\fP][\fI.codeset\fP]. See +\fBenviron\fP(5) for more information. +.TP +\fBLANGUAGE\fP +This variable defines a priority list for translations. Whenever a +translation is not available in the language selected via \fB$LC_ALL\fP or +\fB$LANG\fP the next language from the list is tried. It's value should be of +the form \fIlanguage:language[:language]\fP. See \fBenviron\fP(5) for more +information. +.TP +\fBCOLUMNS\fP +A decimal integer > 0 used to indicate the user's preferred width in +column positions for the terminal screen or window. If this variable is +unset or null, the implementation determines the number of columns, +appropriate for the terminal or window. When \fB$COLUMNS\fP is set, any +terminal\-width information implied by \fB$TERM\fP will be overridden. Users and +portable applications should not set \fB$COLUMNS\fP unless they wish to +override the system selection and produce output unrelated to the terminal +characteristics. +.TP +\fBLINES\fP +A decimal integer > 0 used to indicate the user's preferred number of +lines on a page or the vertical screen or window size in lines. A line in +this case is a vertical measure large enough to hold the tallest character +in the character set being displayed. If this variable is unset or null, the +implementation determines the number of lines, appropriate for the terminal +or window. When \fB$LINES\fP is set, any terminal\-height information implied by +\fB$TERM\fP will be overridden. Users and portable applications should not set +\fB$LINES\fP unless they wish to override the system selection. +.TP +\fBTERM\fP +.\" +.\" +.\" TODO: add missing, sort useful, document in detail +Der verwendete Terminaltyp. Weitere Informationen finden sich in +\fBenviron\fP(5). +.SH SIGNALE +\fBtin\fP verarbeitet folgende Signale: +.TP +\fBSIGHUP\fP +Terminate gracefully. +.TP +\fBSIGTERM\fP +Terminate gracefully. +.TP +\fBSIGUSR1\fP +Terminate gracefully but do not restore tty. +.TP +\fBSIGUSR2\fP +.\" +.\" +.\" .SH DIAGNOSTICS +.\" give an overview of the most common error messages and how to cope with +.\" them. +.\" +.\" +.\" +Write out \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP\-file. +.SH SICHERHEIT +.\" +.\" +When \fBtin\fP is started in debug mode (\*(rq\fB\-D n\fP\*(rq) it will create world +readable files in \fB$TMPDIR\fP which may contain the users NNTP password in +cleartext. On multiuser\-systems \fB$TMPDIR\fP should be set to a safe location +before starting tin in debug mode (e.g. \fBTMPDIR=$HOME tin \-D 1\fP). +.SH "KONFORM ZU" +.\" - RFC2045, RFC2047, RFC2980, RFC3977, RFC4643, RFC5322 +.\" RFC5536, RFC5537, RFC6048 or whatever +.\" +.\" +\fBtin\fP does conform to the Base Definitions volume of IEEE Std 1003.1\-2001, +Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax +Guidelines). +.SH ANMERKUNGEN +Regular expression support is provided by the PCRE library package +\fBpcre\fP(3), which is open source software, written by Philip Hazel, and +copyright by the University of Cambridge, England. +.br +.\" +.\" +ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ +.SH BUGS +\fBCNews\fP NNTPd, \fBnoffle\fP(1) (<= V1.0\-pre5) and \fBNewsCache\fP (<= +V1.1.91) can't handle pipelined GROUP commands. If you run into trouble with +any of the mentioned servers define DISABLE_PIPELINING in include/autoconf.h +and recompile. +.br +.\" +.\" +Before mailing a bug\-report to please check if +you are using the latest (stable) release, and if not, please upgrade first! +Have a look at the doc/TODO file for known bugs. If you still think you've +found a bug, please use the \fBBugReport\fP ('\fBR\fP') function and write in +English. Please do NOT enclose a core\-file in your bugreport until we +request it. +.SH GESCHICHTE +.\" +.\" +\fBtin\fP basiert auf \fBtass\fP(1), einem Newsreader der von Rich Skrenta +entwickelt und dessen Code im März 1991 von ihm in alt.sources +veröffentlicht wurde. Die erste Version von \fBtin\fP wurde am 23. August 1991 +veröffentlicht. \fBtass\fP(1) orientiert sich stark an notesfiles, einer Public +Domain Version für UNIX von PLATO Notes, welches 1982 von Ray Essick und Rob +Kolstad an der University of Illinois entstand. Eine Übersicht der Versionen +findet sich unter . +.SH DANKSAGUNGEN +.PP +.IP "Rich Skrenta" +Autor von \fBtass\fP(1) v3.2, der Basis für diesen Newsreader. +.IP "Bill Davidsen" +Autor von envarg.c, Umgebungsvariablenleseroutine. +.IP "Mike Gleason" +Autor von sigfile.c, Zufallssignaturengenerierungsroutine. +.IP "Markus Kuhn " +author of langinfo.c, charset.c and iso2asc.txt ISO\-8859\-1 documentation. +.IP "Arnold Robbins" +Autor von strftime.c, Datumsfromatierungsroutine. +.IP "Rich Salz" +author of wildmat.c pattern matching and parsdate.y date parsing routines. +.IP "Dave Taylor" +author of curses.c from the \fBelm\fP(1) mailreader. +.IP "Chris Thewalt" +author of getline.c \fBemacs\fP(1) style editing routine. +.IP "Steven Madsen" +for adding \fBpgp\fP(1) (Pretty Good Privacy) support. +.IP "Philip Hazel " +für \fBpcre\fP(3) (Library für Perl\-kompatible reguläre Ausdrücke). +.IP "Patrick Powell " +.\" +.\" +für \fBsnprintf\fP(3) und \fBvsnprintf\fP(3) Fallbacks. +.SH AUTOR +.TP 1i +Iain Lea +.\" +.\" +.SH MAINTAINER +.TP 1i +Urs Janßen +.\" +.\" +.SH ÜBERSETZUNG +.TP 1i +Erika Mustermann +.\" +.SH "SIEHE AUCH" +\fBcron\fP(1), \fBelm\fP(1), \fBemacs\fP(1), \fBgpg\fP(1), \fBinews\fP(1), \fBispell\fP(1), +\fBlp\fP(1), \fBlpr\fP(1), \fBmetamail\fP(1), \fBnoffle\fP(1), \fBperl\fP(1), \fBperlre\fP(1), +\fBpgp\fP(1), \fBrn\fP(1), \fBsendmail\fP(1), \fBshar\fP(1), \fBslrnface\fP(1), \fBtass\fP(1), +\fBunshar\fP(1), \fBuudecode\fP(1), \fBvi\fP(1), \fBxterm\fP(1x), \fBiconv\fP(3), +\fBiconv_open\fP(3), \fBnl_langinfo\fP(3), \fBpcre\fP(3), \fBpcrepattern\fP(3), +\fBsnprintf\fP(3), \fBstrftime\fP(3), \fBvsnprintf\fP(3), \fBwildmat\fP(3), +\fBenviron\fP(5), \fBlocale\fP(5), \fBmbox\fP(5), \fBmmdf\fP(5), \fBnewsoverview\fP(5), +\fBtin\fP(5), \fBRFC1524\fP, \fBRFC2045\fP, \fBRFC2046\fP, \fBRFC2047\fP, \fBRFC2048\fP, +\fBRFC2980\fP, \fBRFC3977\fP, \fBRFC4643\fP, \fBRFC5322\fP, \fBRFC5536\fP, \fBRFC5537\fP, +\fBRFC6048\fP diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/l10n/de/tin.5 tin-2.0.0/doc/l10n/de/tin.5 --- tin-1.8.3/doc/l10n/de/tin.5 1970-01-01 01:00:00.000000000 +0100 +++ tin-2.0.0/doc/l10n/de/tin.5 2011-08-22 00:21:07.766748414 +0200 @@ -0,0 +1,2407 @@ +.\" Project : tin +.\" Module : tin.5 +.\" Author : U. Janssen +.\" Created : 2000-07-10 +.\" Updated : 2011-08-23 +.\" Notes : needs a some work +.\" +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH tin 5 "23. August 2011" 2.0.0 "Usenet Newsreader" + +.SH NAME +tin, rtin \- zugehörige Dateien + +.SH BESCHREIBUNG +Diese Manpage beschreibt die vom Newsreader \fBtin\fP(1) benutzen +(Konfigurations)\-Dateien und deren Formate. Alle Dateien sollten Unixartige +Zeilenenden ('\en' aka LF) haben. + +.SH DATEIEN +.\" TODO: mention +.\" ${TIN_HOMEDIR:\-"$HOME"}/dead.article +.\" ${TIN_HOMEDIR:\-"$HOME"}/dead.articles +.\" ${TIN_HOMEDIR:\-"$HOME"}/.article[.$$] +.\" ${TIN_HOMEDIR:\-"$HOME"}/.cancel[.$$] +.\" ${TIN_HOMEDIR:\-"$HOME"}/.letter[.$$] +.\" $PWD/trace[.out] (--with-trace) +.\" $TMPDIR/NNTP (-D 1) +.\" $TMPDIR/FILTER (-D 2) +.\" $TMPDIR/ARTS (-D 2) +.\" $TMPDIR/BITMAP (-D 4) +.\" $TMPDIR/REFS.dump (-D 8) +.\" $TMPDIR/REFS.info (-D 8) +.\" $TMPDIR/MALLOC (-D 16) +.\" $TMPDIR/ATTRIBUTES (-D 32) +.\" $TMPDIR/SCOPES-R (-D 32) +.\" $TMPDIR/SCOPES-W (-D 32) +.\" $TMPDIR/ACTIVE (-D 64) +.PP +\fI$MAILCAPS\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.mailcap\fP +.br +\fI/etc/mailcap\fP +.br +\fI/usr/etc/mailcap\fP +.br +\fI/usr/local/etc/mailcap\fP +.br +\fI/etc/mail/mailcap\fP +.sp +.RS +\fBmailcap\fP(4) files as defined in \fBRFC1524\fP. The Mailcap files are read by +\fBtin\fP(1) to determine how to display non\-text messages at the local +site. Any line that starts with "#" is a comment. Blank lines are +ignored. Otherwise, each line defines a single mailcap entry for a single +content type. Long lines may be continued by ending them with a backslash +character, "\e". +.sp +Each individual mailcap entry consists of a content\-type specification, a +command to execute, and (possibly) a set of optional "flag" values. +.sp +The "type" field is simply any legal content type name. It is the string +that will be matched against the \*(rqContent\-Type:\*(rq header to decide if this +is the mailcap entry that matches the current message. Additionally, the +type field may specify a subtype or a wildcard to match all subtypes. +.sp +The "command" field is any UNIX command and is used to specify the +interpreter for the given type of message. It will be passed to the shell +via the \fBsystem\fP(3) facility. +.sp +.\" +.\" Two special codes can appear in the viewing command for objects of type +.\" multipart (any subtype). These are "%n" and "%F". %n will be replaced by +.\" the number of parts within the multipart object. %F will be replaced by a +.\" series of arguments, two for each part, giving first the content-type and +.\" then the name of the temporary file where the decoded part has been stored. +.\" +Semicolons and backslashes within the command or any flag field must be +quoted with backslashes. If the field contains "%s", those two characters +will be replaced by the name of a file that contains the body of the +message. If it contains "%t", those two characters will be replaced by the +content\-type field, including the subtype, if any. If it contains "%{" +followed by a parameter name and a closing "}", then all those characters +will be replaced by the value of the named parameter, if any, from the +\&\*(rqContent\-Type:\*(rq header. Finally, if the field contains "\e%", those two +characters will be replaced by a single "%" character. +.sp +Besides the type and command field the following "flags" are defined: +.TP +\fBcompose\fP +The "compose" field may be used to specify a program that can be used to +compose a new body or body part in the given format. Its intended use is to +support mail composing agents that support the composition of multiple types +of mail using external composing agents. As with the view\-command, the +semantics of program execution are operating system dependent. The result of +the composing program may be data that is not yet suitable for mail +transport \- that is, a Content\-Transfer\-Encoding may need to be applied to +the data. +.TP +\fBcomposetyped\fP +The "composetyped" field is similar to the "compose" field, but is to be +used when the composing program needs to specify the \*(rqContent\-Type:\*(rq +header field to be applied to the composed data. The "compose" field is +simpler, and is preferred for use with existing (non\-mail\-oriented) programs +for composing data in a given format. The "composetyped" field is necessary +when the Content\-Type information must include auxiliary parameters, and the +composition program must then know enough about mail formats to produce +output that includes the mail type information. +.TP +\fBedit\fP +The "edit" field may be used to specify a program that can be used to edit a +body or body part in the given format. In many cases, it may be identical in +content to the "compose" field, and shares the operating\-system dependent +semantics for program execution. +.TP +\fBprint\fP +The "print" field may be used to specify a program that can be used to print +a message or body part in the given format. As with the view\-command, the +semantics of program execution are operating system dependent. +.TP +\fBtest\fP +The "test" field may be used to test some external condition (e.g., the +machine architecture, or the window system in use) to determine whether or +not the mailcap line applies. It specifies a program to be run to test some +condition. The semantics of execution and of the value returned by the test +program are operating system dependent. If the test fails, a subsequent +mailcap entry should be sought. Multiple test fields are not permitted \- +since a test can call a program, it can already be arbitrarily complex. +.TP +\fBneedsterminal\fP +The "needsterminal" field indicates that the view\-command must be run on an +interactive terminal. This is needed to inform window\-oriented user agents +that an interactive terminal is needed. (The decision is not left +exclusively to the view\-command because in some circumstances it may not be +possible for such programs to tell whether or not they are on interactive +terminals.) The needsterminal command should be assumed to apply to the +compose and edit commands, too, if they exist. Note that this is NOT a test +\- it is a requirement for the environment in which the program will be +executed, and should typically cause the creation of a terminal window when +not executed on either a real terminal or a terminal window. +.TP +\fBcopiousoutput\fP +The "copiousoutput" field indicates that the output from the view\-command +will be an extended stream of output, and is to be interpreted as advice to +the UA (User Agent mail\-reading program) that the output should be either +paged or made scroll\-able. Note that it is probably a mistake if +needsterminal and copiousoutput are both specified. +.TP +\fBdescription\fP +The "description" field simply provides a textual description, optionally +quoted, that describes the type of data, to be used optionally by mail +readers that wish to describe the data before offering to display it. +.TP +\fBtextualnewlines\fP +The "textualnewlines" field, if set to any non\-zero value, indicates that +this type of data is line\-oriented and that, if encoded in base64, all +newlines should be converted to canonical form (CRLF) before encoding, and +will be in that form after decoding. In general, this field is needed only +if there is line\-oriented data of some type other than text/* or non\-line\- +oriented data that is a subtype of text. +.TP +\fBx11\-bitmap\fP +The "x11\-bitmap" field names a file, in X11 bitmap (xbm) format, which +points to an appropriate icon to be used to visually denote the presence of +this kind of data. +.TP +\fBnametemplate\fP +The "nametemplate" field gives a file name format, in which %s will be +replaced by a short unique string to give the name of the temporary file to +be passed to the viewing command. This is only expected to be relevant in +environments where filename extensions are meaningful, e.g., one could +specify that a GIF file being passed to a gif viewer should have a name +ending in ".gif" by using "nametemplate=%s.gif" +.PP +\fBtin\fP(1) currently only respects the "test", "description", "nametemplate" +and partly the "needsterminal" flags, all other flags are internally +ignored. It also can't handle the "%F" and "%n" expansions yet. +.TP +Beispiel: +.RS +.nf +# mailcap Beispiel\-Datei +.br +image/*;\e +.br +.in +.3i +xv \-8 \-geometry +0 '%s';\e +.br +description=%{name} %t\-Image;\e +.br +test=test "$DISPLAY" != "";\e +.br +nametemplate=%s.IMAGE +.in -.3i +.sp +message/rfc822;\e +.br +.in +.3i +${PAGER:\-"more"} '%s';\e +.br +edit=${EDITOR:\-"vi"} '%s';\e +.br +compose=${EDITOR:\-"vi"} '%s';\e +.br +print=a2ps '%s';\e +.br +needsterminal +.in -.3i +.fi +.RE +.RE +.PP + +\fI/etc/nntpserver\fP +.sp +.RS +default NNTP\-server to read news from if not reading from the local spool. +\&'\fB\-g\fP \fIserver\fP', $\fBNNTPSERVER\fP have higher priority (in that order), +the default server given at compile time has lower priority. +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret\fP +.sp +.RS +secret to be used for canlocks +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.mime.types\fP +.br +\fI/etc/mime.types\fP +.br +\fI/etc/tin/mime.types\fP +.sp +.RS +mime type / filename extension pairs +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsauth\fP +.sp +.RS +"\fInntpserver\fP \fIpassword\fP [\fIuser\fP]" pairs for NNTP servers that require +authorization. If the password contains a space or a tab it must be enclosed +in doublequotes ("). Usernames must not be enclosed in doublequotes and thus +can't contain spaces or tabs. Any line that starts with "#" is a +comment. Blank lines are ignored. This file should be readable only for the +user as it contains the user's uncrypted password for reading news! +.TP +\fBNNTPServer\fP +Vollständiger Name (FQDN) des Newsservers. +.TP +\fBPasswort\fP +Unverschlüsseltes Passwort für den Newsserver. +.TP +\fBUser\fP +Username auf dem Newsserver falls er vom lokalen Benutzernamen +abweicht. Dieses Feld ist optional. +.TP +Beispiel: +.RS +# Beispiel .newsauth\-Datei +.br +news.example.org geheim +.br +news.example.net verborgen gast +.br +news.example.com "streng geheim" james.bond@example.com +.RE +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP +.sp +.RS +"\fInewsgroup\fP\fIflag\fP [\fIarticle\fP[,\fIarticle\fP | \-\fIarticle\fP]...]" lines. +.TP +\fBnewsgroup\fP +the name of the newsgroup. +.TP +\fBflag\fP +a flag indicating if the group is subscribed ':' or not '!'. +.TP +\fBarticle\fP +range of already read articles from that group; numbers separated by commas +with sequential numbers collapsed with hyphens. +.TP +Beispiel: +.RS +# .newsrc Beispiel\-Datei +.br +news.software.b! 1\-666,669 +.br +news.software.nntp: 1\-13245,13247,13249 +.br +news.software.readers: 1\-19567,19571\-19597 +.RE +.RE +.PP + +.nf +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc\fP +.fi +.sp +.RS +Sicherungskopie von \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP +.sp +.RS +Signatur +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.sigfixed\fP +.sp +.RS +fixed part of a randomly generated signature +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory\fP +.sp +.RS +history of last used strings +.RE +.PP + +\fI${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/\fP +.sp +.RS +mailgroups index files +.RE +.PP + +.nf +\fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/\fP +.fi +.sp +.RS +newsgroups index files +.RE +.PP + +\fI${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/\fP +.sp +.RS +saved newsgroups index files +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail\fP +.sp +.RS +active file ("\fImail_group_name\fP \fImaxnum\fP \fIminnum\fP \fImailspool\fP" +quadruples) of user's mailgroups (requires \fBtin\fP(1) to be build with +mh\-mail\-handling support). +.TP +\fBmail_group_name\fP +must be the pathname of the mailbox relative to field #4 with / changed to . +.TP +\fBmaxnum\fP +just put a large number here, something higher than the highest message in +the mailbox +.TP +\fBminnum\fP +hier 0 angeben +.TP +\fBmailspool\fP +path of mail spool directory. This must be the full pathname to the root of +the mail folder area. +.TP +Beispiel: +.RS +Mail.inbox 12345 00000 /home/foo +.br +Mail.outbox 23456 00000 /home/foo +.RE +.sp +This allows access to the 'inbox' and 'outbox' folders of user foo. They +are accessed via /home/foo/Mail/inbox and /home/foo/Mail/outbox +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save\fP +.sp +.RS +active file of user's saved newsgroups, used by \fBtin \-R\fP. +.RE +.PP + +.\" tin uses inns old (pre 2.x) Path convention. +.\" as with inn >= 2.2.x getting more and more popular +.\" we should think about checking for the new Paths (/news/etc/) +.\" ${TIN_LIBDIR\-/news/etc"}/attributes +\fI/etc/tin/attributes\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fP +.sp +.RS +The group attributes files may be used to override some global settings from +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP on a per group basis. Order is +important as last match counts; this allows one to refine attributes for +narrowed scopes. Note that the \fIscope=\fP line has to be +specified before the attributes are specified for that list and each +attribute can only be set once per scope section. All attributes are set to +a reasonable default so you only have to specify the attribute that you want +to change. All toggle attributes are set by specifying ON/OFF. Otherwise, +they function exactly as their global equivalents. The following group +attributes are available: +.TP +\fBscope\fP +This changes the list of groups to which the attributes that follow will be +applied. See the section NEWSGROUP LISTS & WILDCARDS in \fBtin\fP(1) for the +types of pattern that can be used here. +.TP +\fBadd_posted_to_filter\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBadvertising\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBalternative_handling\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBask_for_metamail\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBauto_cc_bcc\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBauto_list_thread\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBauto_save\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBauto_select\fP +Automatically perform the \fBGroupMarkUnselArtRead\fP ('\fBX\fP') command after +entering the group. +.TP +\fBbatch_save\fP +Can be used to override the global setting in tinrc on a per group +basis. For more information read section AUTOMATIC MAILING AND SAVING NEW +NEWS in \fBtin\fP(1). +.TP +\fBdate_format\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBdelete_tmp_files\fP +If this is set to ON, then saved article files that have been post\-processed +will be automatically deleted, otherwise the user will be asked whether to +delete the post\-processed files. Automatic processing of marked articles +using \fBGroupAutoSave\fP ('\fBS\fP') will suppress prompting. +.TP +\fBeditor_format\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBfcc\fP +Mailbox to save sent mails. The format of the mailbox is controlled via the +tinrc \fBmailbox_format\fP variable. +.TP +\fBfollowup_to\fP +Set \*(rqFollowup\-To:\*(rq header to the specified group(s). +.TP +\fBfrom\fP +Identisch mit der tinrc\-Variable \fBmail_address\fP +.TP +\fBgroup_catchup_on_exit\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBmail_8bit_header\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBmail_mime_encoding\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBmaildir\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBmailing_list\fP +Used when a group is a mailing list. All responses to the group will be +directed to this email address instead +.TP +\fBmark_ignore_tags\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBmark_saved_read\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBmime_forward\fP +Determines whether usenet articles are forwarded as attachment or +inline. When set to OFF, the forwarded article will be included in the body +of the mail, while setting this variable to ON will cause the article to be +attached as a separate MIME part. Enabling \fBmime_forward\fP is particularly +useful for articles consisting of multiple MIME parts such as PGP/MIME +signed messages or being encoded in a different character set than your +local one. It is also useful if the receiver should be able to operate on +the entire forwarded article (i.e., view or save it without your +comments). On the other hand, if you want to forward only some parts of the +article or to insert 'inline' annotations, you might want to disable this +option. Currently mime_forward is forced if the article to be attached is a +multipart MIME article, this may change in a future version. Please note +that for this option to have effect, the tinrc variable +\fBinteractive_mailer\fP has to be set to 0 (which is the default). +.TP +\fBmime_types_to_save\fP +A comma separated list of MIME major/minor Content\-Types that will be saved +when using the view/save and save/autosave features. A single * can be used +to wildcard the major and/or minor type and a ! as the first character in an +entry will negate it, eg: image/*,!image/bmp,!text/html. Default is */* +.TP +\fBnews_headers_to_display\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBnews_headers_to_not_display\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBnews_quote_format\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBorganization\fP +This can be used to set the article header field \*(rqOrganization:\*(rq. It +overrides the setting (if any) of organization in \fI/etc/tin/tin.defaults\fP +and $\fBORGANIZATION\fP (or $\fBNEWSORG\fP on Apollo DomainOS). Note that some +newsserver might still overwrite the \&\*(rqOrganization:\*(rq header. +.TP +\fBpos_first_unread\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBpost_8bit_header\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBpost_mime_encoding\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBpost_process_type\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBpost_process_view\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBprint_header\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBprocess_only_unread\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBprompt_followupto\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBquote_chars\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBsavedir\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +.\" TODO: document option +\fBsavefile\fP +.TP +\fBshow_author\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBshow_info\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBshow_only_unread_arts\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBshow_signatures\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBsigdashes\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBsigfile\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBsignature_repost\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBsort_article_type\fP +Identisch mit der tinrc\-Variable \fBsort_article_type\fP +.TP +\fBsort_threads_type\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBstart_editor_offset\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBtex2iso_conv\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBthread_articles\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBthread_catchup_on_exit\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBthread_perc\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBtrim_article_body\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBverbatim_handling\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBwrap_on_next_unread\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBx_body\fP +A piece of text that will be added at the start of a message body. If this +string starts with a / or ~ then it is assumed to be the name of a file +containing the text to insert. +.TP +\fBx_comment_to\fP +Insert \*(rqX\-Comment\-To:\*(rq header, this is only useful in FIDO groups. +.TP +\fBx_headers\fP +A string including header\-name and the contents of the header that will be +automatically added when posting. If the string starts with a / or ~ then it +is assumed to be the name of a file containing the header and its content to +be inserted. If the string starts with a ! then what follows is assumed to +be the path to a program to be executed to generate the header and its +content. +.TP +\fBquick_kill_scope\fP +A comma\-separated list of newsgroup patterns (wildmat\-style) to which groups +the filter rule added by \fBQuickFilterKill\fP will be applied. If unset the +default from the tinrc variable \fBdefault_filter_kill_global\fP will be used. +.TP +\fBquick_kill_expire\fP +Identisch mit der tinrc\-Variable \fBdefault_filter_kill_expire\fP +.TP +\fBquick_kill_case\fP +Identisch mit der tinrc\-Variable \fBdefault_filter_kill_case\fP +.TP +\fBquick_kill_header\fP +Identisch mit der tinrc\-Variable \fBdefault_filter_kill_header\fP +.TP +\fBquick_select_scope\fP +A comma\-separated list of newsgroup patterns (wildmat\-style) to which groups +the filter rule added by \fBQuickFilterSelect\fP will be applied. If unset the +default from the tinrc variable \fBdefault_filter_select_global\fP will be +used. +.TP +\fBquick_select_expire\fP +Identisch mit der tinrc\-Variable \fBdefault_filter_select_expire\fP +.TP +\fBquick_select_case\fP +Identisch mit der tinrc\-Variable \fBdefault_filter_select_case\fP +.TP +\fBquick_select_header\fP +Identisch mit der tinrc\-Variable \fBdefault_filter_select_header\fP +.TP +\fBispell\fP +Path and options for \fBispell\fP(1)\-like spell\-checker, e.g. "aspell +\-\-mode=email \-\-dont\-backup check" +.TP +\fBmm_network_charset\fP +Identisch mit der tinrc\-Variable gleichen Namens +.TP +\fBundeclared_charset\fP +Assume (broken) articles without MIME charset declaration have this charset +\- default is US\-ASCII. This attribute works only on systems with working +\fBiconv\fP(3), others might have to compile \fBtin\fP(1) with +\-\-disable\-mime\-strict\-charset. +.PP +.TP +Beispiel: +.RS +.nf +# zusätzliche Header einfügen +# ISO\-8859\-1 als Zeichensatz annehmen falls keiner angegeben wurde +scope=* +x_headers=~/.tin/headers +undeclared_charset=ISO\-8859\-1 + +# in *sources* set post process type to shar only +scope=*sources* +post_process_type=1 + +# in *binaries* turn on full post processing, +# remove tmp files and set Followup\-To: poster +scope=*binaries* +post_process_type=2 +delete_tmp_files=ON +followup_to=poster + +# in fido.* newsgroups change quote_chars +# and add X\-Comment\-To: line +scope=fido.* +quote_chars=%s>_ +x_comment_to=ON + +# in *.test newsgroups, don't append signature +# and preset Subject +scope=*.test +sigfile=\-\-none +x_headers=Subject: test \- ignore \- no reply + +# ISO\-2022\-JP\-2 als Zeichensatz annehmen +scope=fj.*,japan.* +undeclared_charset=ISO\-2022\-JP\-2 +.fi +.RE +.RE +.PP + +.\" TODO: add missing descriptions and explain things in detail. +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fP +.sp +.RS +The filter file is used to assign scores to certain articles. Based on the +score an article can be filtered out (hidden) or marked hot. Empty lines or +lines beginning with a '#' are ignored. +.TP +\fBcomment\fP +Every entry (rule) in the filter file might get a comment. Multiple lines +are allowed (but only for comments yet). Every line must start with the +"comment=" keyword. Comments must appear first in the rule. Comment lines +placed within a rule will be moved to the begin of the next rule. This might +be changed in the future. Don't use '#' to mark comments as those lines are +ignored and your comments will get lost on the next write of the file. +.TP +\fBgroup\fP +A comma\-separated list of newsgroup patterns (wildmat\-style) to which groups +the filter rule will be applied. This line is mandatory! +.TP +\fBcase\fP +0=case\-sensitive, 1=case\-insensitive +.TP +\fBscore\fP +Score value of the rule; can also be one of the magic words "kill" or "hot". +.TP +\fBsubj\fP +Vergleiche mit \*(rqSubject:\*(rq +.TP +\fBfrom\fP +Match against \*(rqFrom:\*(rq. \fBtin\fP(1) converts the contents of the \*(rqFrom:\*(rq +header to an old style e\-mail address, e.g. \*(rqsome@body.example (John Doe)\*(rq +instead of \*(rqJohn Doe \*(rq, before trying to match +the patterns in the filter rule. +.TP +\fBmsgid\fP +Match against \*(rqMessage\-ID:\*(rq and full \*(rqReferences:\*(rq +.TP +\fBmsgid_last\fP +Match against \*(rqMessage\-ID:\*(rq and last \*(rqReferences:\*(rq entry only +.TP +\fBmsgid_only\fP +Vergleiche mit \*(rqMessage\-ID:\*(rq +.TP +\fBrefs_only\fP +Vergleiche mit \*(rqReferences:\*(rq +.TP +\fBlines\fP +Match against \*(rqLines:\*(rq, num matches more +than. +.TP +.\" TODO: document option in detail +\fBgnksa\fP +Match against \*(rqFrom:\*(rq address parser return codes. +.TP +\fBxref\fP +Match against \*(rqXref:\*(rq line. Before any matching is done the line is turned +into the same format \*(rqNewsgroups:\*(rq has that is it is turned into a comma +separated newsgroup list with all other information (i.e. the article +counter) removed. +.TP +\fBtime\fP +time_t value when rule expires +.PP +.TP +Beispiel: +.RS +.nf +comment=mark all articles about tin, rtin, +comment=tind, ktin or cdtin as hot +group=* +case=1 +score=hot +subj=\eb(cd|[rk]?)?tin(d|pre)?[\-.0\-9]*\eb +.fi +.RE +.RE +.PP + +.\" TODO: LC_CTYPE has a higher priority as LC_MESSAGES, does this make sense? +.nf +\fI/etc/tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"}\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"}\fP +.fi +.sp +.RS +Keymap\-file, containing "\fIkeyname\fP \fIvalue\fP \fI[value]\fP" pairs separated by +spaces or tabs. Below is a list of all rebindable keynames and their +defaults. If a keyname is bound to NULL it is unassigned. +.sp +.nf +.ta \w'GroupSelThdIfUnreadSelected 'u +\w'SPACE'u +\w'SPACE'u +\fBShellEscape\fP ! +\fBSetRange\fP # +\fBLastPage\fP $ +\fBToggleColor\fP & +\fBLastViewed\fP \- +\fBSearchRepeat\fP \e +\fBSearchSubjF\fP / +\fBSearchSubjB\fP ? +\fBSearchAuthB\fP A +\fBSearchBody\fP B +\fBCatchupNextUnread\fP C +\fBEditFilter\fP E +\fBToggleHelpDisplay\fP H +\fBToggleInverseVideo\fP I +\fBLookupMessage\fP L +\fBOptionMenu\fP M +\fBPostponed\fP O ^O +\fBQuitTin\fP Q +\fBBugReport\fP R +\fBDisplayPostHist\fP W +\fBMarkThrUnread\fP Z +\fBFirstPage\fP ^ +\fBSearchAuthF\fP a +\fBCatchup\fP c +\fBHelp\fP h +\fBToggleInfoLastLine\fP i +\fBDown\fP j ^N +\fBUp\fP k ^P +\fBPrint\fP o +\fBQuit\fP q +\fBVersion\fP v +\fBPost\fP w +\fBMarkArtUnread\fP z +\fBQuickFilterSelect\fP [ +\fBQuickFilterKill\fP ] +\fBPipe\fP | +\fBScrollUp\fP < +\fBScrollDown\fP > +\fBPageUp\fP b ^B ^U +\fBPageDown\fP ^D ^F SPACE +\fBRedrawScr\fP ^L +\fBPostponed\fP ^O +\fBMenuFilterSelect\fP ^A +\fBMenuFilterKill\fP ^K +\fBMarkFeedRead\fP ^X +\fBMarkFeedUnread\fP ^W +.sp +\fBAttachSelect\fP ^J ^M +\fBAttachPipe\fP p +\fBAttachSave\fP s +\fBAttachTag\fP t +\fBAttachUntag\fP U +\fBAttachTagPattern\fP = +\fBAttachToggleTagged\fP @ +.sp +\fBConfigToggleAttrib\fP TAB +\fBConfigSelect\fP ^J ^M +\fBConfigLastPage\fP G +\fBConfigNoSave\fP Q +\fBConfigScopeMenu\fP S +\fBConfigFirstPage\fP g +\fBConfigResetAttrib\fP r +.sp +\fBFeedTag\fP T +\fBFeedArt\fP a +\fBFeedHot\fP h +\fBFeedPat\fP p +\fBFeedRepost\fP r +\fBFeedSupersede\fP s +\fBFeedThd\fP t +.sp +\fBFilterEdit\fP e +\fBFilterSave\fP s +.sp +\fBGroupNextUnreadArtOrGrp\fP TAB +\fBGroupReadBasenote\fP ^J ^M +\fBGroupSelThd\fP * +\fBGroupDoAutoSel\fP + +\fBGroupToggleThdSel\fP . +\fBGroupSelThdIfUnreadSelected\fP ; +\fBGroupSelPattern\fP = +\fBGroupReverseSel\fP @ +\fBGroupCancel\fP D +\fBGroupToggleGetartLimit\fP G +\fBGroupMarkThdRead\fP K +\fBGroupNextUnreadArt\fP N +\fBGroupPrevUnreadArt\fP P +\fBGroupAutoSave\fP S +\fBGroupTagParts\fP T +\fBGroupUntag\fP U +\fBGroupMarkUnselArtRead\fP X +\fBGroupToggleSubjDisplay\fP d +\fBGroupGoto\fP g +\fBGroupListThd\fP l +\fBGroupMail\fP m +\fBGroupNextGroup\fP n +\fBGroupPrevGroup\fP p +\fBGroupToggleReadUnread\fP r +\fBGroupSave\fP s +\fBGroupTag\fP t +\fBGroupToggleThreading\fP u +\fBGroupRepost\fP x +\fBGroupUndoSel\fP ~ +.sp +\fBHelpLastPage\fP G +\fBHelpFirstPage\fP g +.sp +\fBPageReplyQuoteHeaders\fP ^E +\fBPagePGPCheckArticle\fP ^G +\fBPageToggleRaw\fP ^H +\fBPageNextUnread\fP TAB +\fBPageNextThd\fP ^J ^M +\fBPageToggleTabs\fP ^T +\fBPageFollowupQuoteHeaders\fP ^W +\fBPageToggleTex2iso\fP " +\fBPageToggleAllHeaders\fP * +\fBPageToggleRot\fP % +\fBPageToggleUue\fP ( +\fBPageReveal\fP ) +\fBPageSkipIncludedText\fP : +\fBPageTopThd\fP < +\fBPageBotThd\fP > +\fBPageCancel\fP D +\fBPageFollowup\fP F +\fBPageLastPage\fP G +\fBPageKillThd\fP K +\fBPageNextUnreadArt\fP N +\fBPagePrevUnreadArt\fP P +\fBPageReply\fP R +\fBPageAutoSave\fP S +\fBPageGroupSel\fP T +\fBPageViewUrl\fP U +\fBPageViewAttach\fP V +\fBPageToggleHighlight\fP _ +\fBPageEditArticle\fP e +\fBPageFollowupQuote\fP f +\fBPageFirstPage\fP g +\fBPageListThd\fP l +\fBPageMail\fP m +\fBPageNextArt\fP n +\fBPagePrevArt\fP p +\fBPageReplyQuote\fP r +\fBPageSave\fP s +\fBPageTag\fP t +\fBPageGotoParent\fP u +\fBPageRepost\fP x +.sp +\fBPgpEncSign\fP b +\fBPgpEncrypt\fP e +\fBPgpIncludekey\fP i +\fBPgpSign\fP s +.sp +\fBPostAbort\fP a +\fBPostContinue\fP c +\fBPostCancel\fP d +\fBPostEdit\fP e +\fBPostPGP\fP g +\fBPostIspell\fP i +\fBPostIgnore\fP i +\fBPostMail\fP m +\fBPostPostpone\fP o +\fBPostPost\fP p y +\fBPostSupersede\fP s +\fBPostSend\fP s y +.sp +\fBPostponeOverride\fP Y +\fBPostponeAll\fP A +.sp +\fBPromptYes\fP y Y +\fBPromptNo\fP n N +.sp +\fBSaveAppendFile\fP a +\fBSaveOverwriteFile\fP o +.sp +\fBPProcNone\fP n +\fBPProcShar\fP s +\fBPProcYes\fP y +.sp +\fBSelectEnterNextUnreadGrp\fP TAB n +\fBSelectReadGrp\fP ^J ^M +\fBSelectResetNewsrc\fP ^R +\fBSelectSortActive\fP . +\fBSelectNextUnreadGrp\fP N +\fBSelectSubscribePat\fP S +\fBSelectUnsubscribePat\fP U +\fBSelectQuitNoWrite\fP X +\fBSelectSyncWithActive\fP Y +\fBSelectToggleDescriptions\fP d +\fBSelectGoto\fP g +\fBSelectMoveGrp\fP m +\fBSelectToggleReadDisplay\fP r +\fBSelectSubscribe\fP s +\fBSelectUnsubscribe\fP u +\fBSelectYankActive\fP y +\fBSelectMarkGrpUnread\fP z Z +.sp +\fBScopeSelect\fP ^J ^M +\fBScopeEditAttributesFile\fP E +\fBScopeAdd\fP a +\fBScopeDelete\fP d +\fBScopeMove\fP m +\fBScopeRename\fP r +.sp +\fBThreadReadNextArtOrThread\fP TAB +\fBThreadReadArt\fP ^J ^M +\fBThreadSelArt\fP * +\fBThreadToggleArtSel\fP . +\fBThreadReverseSel\fP @ +\fBThreadCancel\fP D +\fBThreadMarkArtRead\fP K +\fBThreadAutoSave\fP S +\fBThreadUntag\fP U +\fBThreadToggleSubjDisplay\fP d +\fBThreadMail\fP m +\fBThreadSave\fP s +\fBThreadTag\fP t +\fBThreadUndoSel\fP ~ +.sp +\fBUrlSelect\fP ^J ^M +.fi +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fP +.sp +.RS +This file provides short descriptions of each mailgroup. (requires \fBtin\fP(1) +to be build with mh\-mail\-handling support). Each line consist of two +tab\-separated fields "\fImailgroupname\fP \fIone\-line description\fP". +.TP +\fBmailgroupname\fP +ist der Name der Newsgruppe +.TP +\fBdescription\fP +ist die zugehörige Kurzbeschreibung +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fP +.sp +.RS +"\fInntpserver\fP \fInewsrc\fP [\fIshortname\fP [\fI...\fP]]" pairs to use with the +\&\*(rq\fB\-g\fP\*(rq command\-line switch. +.TP +\fBNNTPServer\fP +Vollständiger Name (FQDN) des Newsservers. +.TP +\fBnewsrc\fP +related newsrc. +.TP +\fBshortname\fP +nickname(s) for the nntpserver. +.TP +Beispiel: +.RS +# Beispiel newsrctable\-Datei +.br +news.tin.org .newsrc\-tin.org tinorg +.br +news.example.org /tmp/nrc\-ex example ex +.RE +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/posted\fP +.sp +.RS +posting history +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/Mail/posted\fP +.sp +.RS +Copy of all posted articles in \fBmbox\fP(5) format. The filename can be +changed by setting \fBposted_articles_file\fP. +.RE +.PP + +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles\fP +.sp +.RS +Vorrat an zurückgestellten Artikeln. Diese Datei benutzt das \fBmbox\fP(5) +Format. +.RE +.PP + +.nf +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups\fP +.fi +.sp +.RS +This file a copy of the servers newsgroups file which provides short +descriptions of each newsgroup. It is automatically updated on startup +except when using the \*(rq\fB\-X\fP\*(rqor \*(rq\fB\-q\fP\*(rq command\-line option and an old +copy exists. Each line consist of two tab\-separated fields +"\fIgroup.name\fP \fIone\-line description\fP". +.TP +\fBgroup.name\fP +ist der Name der Newsgruppe +.TP +\fBKurzbeschreibung\fP +ist die zugehörige Kurzbeschreibung +.RE +.PP + + +.nf +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc\fP +.fi +.sp +.RS +File to store $\fBNNTPSERVER\fP and $\fBNNTPPORT\fP related data via a list of +"\fIvariable\fP=\fIvalue\fP" pairs. Currently there are only two variables, both +are not meant to be changed by the user. +.TP +\fBversion\fP +Interne Versionsnummer. +.TP +\fBlast_newnews\fP +Internal timestamp used by \fBtin\fP(1) to keep track of new newsgroups on the +server. +.RE +.PP + +.\" tin uses inns old (pre 2.x) Path convention. +.\" as with inn >= 2.2.x getting more and more popular +.\" we should think about checking for the new Paths (/news/etc/) +.\" .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc +\fI/etc/tin/tinrc\fP +.br +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP +.sp +.RS +At startup, \fBtin\fP(1) reads in the configuration file. This contains a list +of "\fIvariable\fP=\fIvalue\fP" pairs that can be used to configure the way +\fBtin\fP(1) works. If it exists, the global configuration file, +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP is read first. After that, the user's own +configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP is read. The +global file is useful for distributing system\-wide defaults to new users who +have no private tinrc yet (see also \fB/etc/tin/tin.defaults\fP). +.TP +\fBabbreviate_groupname\fP +If ON abbreviate long newsgroup names at group selection level and article +level (if necessary) like this: news.software.readers \-> +n.software.readers \-> n.s.readers \-> n.s.r. Default is OFF. +.TP +\fBadd_posted_to_filter\fP +If ON add posted articles which start a new thread to filter for +highlighting follow\-ups. Default is ON. +.TP +\fBadvertising\fP +Turn ON advertising in header (\*(rqUser\-Agent:\*(rq). Default is ON. +.TP +\fBalternative_handling\fP +If ON strip multipart/alternative messages automatically. Default is ON. +.TP +\fBart_marked_deleted\fP +Zeichen das anzeigt, dass ein Artikel gelöscht wurde. Standard is 'D'. +.TP +\fBart_marked_inrange\fP +The character used to show that an article is in a range. Default is '#'. +.TP +\fBart_marked_return\fP +The character used to show that an article will return as an unread article +when the group is next entered. Default is '\-'. +.TP +\fBart_marked_selected\fP +The character used to show that an article/thread is auto\-selected (hot). +Default is '*'. +.TP +\fBart_marked_recent\fP +The character used to show that an article/thread is recent (not older than +X days). See also \fBrecent_time\fP. Default is 'o'. +.TP +\fBart_marked_unread\fP +The character used to show that an article has not been read. Default is +\&'+'. +.TP +\fBart_marked_read\fP +The character used to show that an article was read. Default is ' '. +.TP +\fBart_marked_killed\fP +The character used to show that an article was killed. Default is 'K'. +\fBkill_level\fP must be set accordingly. +.TP +\fBart_marked_read_selected\fP +The character used to show that an article was hot before it was read. +Default is ':'. \fBkill_level\fP must be set accordingly. +.TP +\fBStart des MIME\-Viewers bestätigen (ask_for_metamail)\fP +If ON \fBtin\fP(1) will ask before using a MIME viewer (\fBmetamail_prog\fP) to +display MIME messages. This only occurs if a MIME viewer is set. Default is +OFF. +.TP +\fBauto_cc_bcc\fP +Automatically put your name in the \*(rqCc:\*(rq and/or \*(rqBcc:\*(rq field when +mailing an article. Default is No. +.TP +\fBauto_list_thread\fP +If ON automatically list thread when entering it using right arrow key. +Default is ON. +.TP +\fBauto_reconnect\fP +Reconnect to server automatically. Default is OFF. +.TP +\fBauto_save\fP +If ON articles/threads with \*(rqArchive\-name:\*(rq in header will be +automatically saved with the Archive\-name & part/patch no and post processed +if \fBpost_process_type\fP is set to something other than 'No'. Default is +OFF. +.TP +\fBbatch_save\fP +If set ON articles/threads will be saved in batch mode when save \&\*(rq\fB\-S\fP\*(rq +or mail \*(rq\fB\-M\fP, \fB\-N\fP\*(rq is specified on the command line. Default is ON. +.TP +\fBbeginner_level\fP +If set ON a mini menu of the most useful commands will be displayed at the +bottom of the screen for each level. Also a short posting etiquette will be +displayed after composing an article. Default is ON. +.TP +\fBcache_overview_files\fP +If ON, create local copies of NNTP overview files. This can be used to +considerably speed up accessing large groups when using a slow connection. +Default is OFF. +.TP +\fBcatchup_read_groups\fP +If set ON the user is asked when quitting if all groups read during the +current session should be marked read. Default is OFF. +.TP +\fBcol_back\fP +Standard Hintergrundfarbe +.TP +\fBcol_from\fP +Farbe des Autors (From:) +.TP +\fBcol_head\fP +Farbe der Artikelheaderzeilen +.TP +\fBcol_help\fP +Farbe des Hilfstext +.TP +\fBcol_invers_bg\fP +Hintergrundfarbe für inversen Text +.TP +\fBcol_invers_fg\fP +Vordergrundfarbe für inversen Text +.TP +\fBcol_markdash\fP +Color of words emphasized like _this_. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBcol_markslash\fP +Color of words emphasized like /this/. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBcol_markstar\fP +Color of words emphasized like *this*. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBcol_markstroke\fP +Color of words emphasized like \-this\-. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBcol_minihelp\fP +Farbe des Minihilfemenü +.TP +\fBcol_newsheaders\fP +Farbe des angezeigten Headers +.TP +\fBcol_normal\fP +Standard Vordergrundfarbe +.TP +\fBcol_quote\fP +Farbe der zitierten Zeilen +.TP +\fBcol_quote2\fP +Farbe von zweifach zitierten Zeilen +.TP +\fBcol_quote3\fP +Farbe von =>3\-fach zitierten Zeilen +.TP +\fBcol_response\fP +Color of response counter. This is the text that says 'Response x of y' in +the article viewer. +.TP +\fBcol_signature\fP +Farbe von Signaturen +.TP +\fBcol_urls\fP +Farbe der hervorgehobenen URLs +.TP +\fBcol_verbatim\fP +Farbe des wortgetreu darzustellenden Textes +.TP +\fBcol_subject\fP +Farbe der Subjectzeile +.TP +\fBcol_text\fP +Farbe der Textzeilen +.TP +\fBcol_title\fP +Farbe des Hilfe/Mail\-Zeichens +.TP +\fBconfirm_choice\fP +\fBtin\fP(1) can ask for manual confirmation to protect the user. Available +choices: +.in +.5i +.\" TODO: check if all affected commands are marked [after confirmation] +\fBcommands:\fP Ask for confirmation before executing certain dangerous +commands (e.g., \fBCatchup\fP ('\fBc\fP')). Commands that this affects are marked +in this manual with '[after confirmation]'. +.sp +\fBquit:\fP You'll be asked to confirm that you wish to exit \fBtin\fP(1) when +you use the \fBQuit\fP ('\fBq\fP') command. +.sp +\fBselect:\fP Ask for confirmation before marking all not selected (with +\fBGroupMarkUnselArtRead\fP ('\fBX\fP') command) articles as read. +.in -.5i +Default is commands & quit. +.TP +\fBdate_format\fP +Format string used for date representation. A description of the different +format options can be found at \fBstrftime\fP(3). \fBtin\fP(1) uses +\fBstrftime\fP(3) when available and supports most format options in his +fallback code. Default is "%a, %d %b %Y %H:%M:%S". +.TP +\fBdefault_art_search\fP +.TP +\fBdefault_author_search\fP +.TP +\fBdefault_config_search\fP +The last article/author/config option that was searched for. +.TP +\fBdefault_filter_days\fP +Standard ist 28. +.TP +\fBdefault_filter_kill_case\fP +Default for quick (1 key) kill filter case. ON = filter case sensitive, OFF += ignore case. Default is OFF. +.TP +\fBdefault_filter_kill_expire\fP +Default for quick (1 key) kill filter expire. ON = limit to +\&'\fBdefault_filter_days\fP', OFF = don't ever expire. Default is OFF. +.TP +\fBdefault_filter_kill_global\fP +Default for quick (1 key) kill filter global. ON=apply to all groups, +OFF=apply to current group. Default is ON. +.TP +\fBdefault_filter_kill_header\fP +Default for quick (1 key) kill filter header. +.in +.3i +.nf +.ta \w'0,1 'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u +0 \*(rqSubject:\*(rq (Groß/Kleinschreibung beachten) +1 \*(rqSubject:\*(rq (Groß/Kleinschreibung ignorieren) +2 \*(rqFrom:\*(rq (Groß/Kleinschreibung beachten) +3 \*(rqFrom:\*(rq (Groß/Kleinschreibung ignorieren) +4 \*(rqMessage\-ID:\*(rq & alle \*(rqReferences:\*(rq Einträge +5 \*(rqMessage\-ID:\*(rq & letzter \*(rqReferences:\*(rq Eintrag +6 \*(rqMessage\-ID:\*(rq allein +7 \*(rqLines:\*(rq +.fi +.in -.3i +.TP +\fBdefault_filter_select_case\fP +Default for quick (1 key) auto\-selection filter case. ON=filter case +sensitive, OFF=ignore case. Default is OFF. +.TP +\fBdefault_filter_select_expire\fP +Default for quick (1 key) auto\-selection filter expire. ON = limit to +\&'\fBdefault_filter_days\fP', OFF = don't ever expire. Default is OFF. +.TP +\fBdefault_filter_select_global\fP +Default for quick (1 key) auto\-selection filter global. ON=apply to all +groups, OFF=apply to current group. Default is ON. +.TP +\fBdefault_filter_select_header\fP +Default for quick (1 key) auto\-selection filter header. +.in +.3i +.nf +.ta \w'0,1 'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u +0 \*(rqSubject:\*(rq (Groß/Kleinschreibung beachten) +1 \*(rqSubject:\*(rq (Groß/Kleinschreibung ignorieren) +2 \*(rqFrom:\*(rq (Groß/Kleinschreibung beachten) +3 \*(rqFrom:\*(rq (Groß/Kleinschreibung ignorieren) +4 \*(rqMessage\-ID:\*(rq & alle \*(rqReferences:\*(rq Einträge +5 \*(rqMessage\-ID:\*(rq & letzter \*(rqReferences:\*(rq Eintrag +6 \*(rqMessage\-ID:\*(rq allein +7 \*(rqLines:\*(rq +.fi +.in -.3i +.TP +\fBdefault_goto_group\fP +.TP +\fBdefault_group_search\fP +.TP +\fBdefault_mail_address\fP +.TP +\fBdefault_move_group\fP +.TP +\fBdefault_pattern\fP +.TP +\fBdefault_pipe_command\fP +.TP +\fBdefault_post_newsgroups\fP +.TP +\fBdefault_post_subject\fP +.TP +\fBdefault_range_group\fP +.TP +\fBdefault_range_select\fP +.TP +\fBdefault_range_thread\fP +.TP +\fBdefault_repost_group\fP +.TP +\fBdefault_save_file\fP +.TP +\fBdefault_save_mode\fP +.TP +\fBdefault_select_pattern\fP +.TP +\fBdefault_shell_command\fP +.TP +\fBdefault_subject_search\fP +.TP +\fBdraw_arrow\fP +Allows groups/articles to be selected by an arrow '\->' if set ON or by +an highlighted bar if set OFF. +.TP +\fBeditor_format\fP +The format string used to create the editor start command with parameters. +Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., +/bin/vi +7 .article). +.TP +\fBforce_screen_redraw\fP +Specifies whether a screen redraw should always be done after certain +external commands. Default is OFF. +.TP +\fBgetart_limit\fP +If \fBgetart_limit\fP is > 0 not more than \fBgetart_limit\fP articles/group +are fetched from the server. If \fBgetart_limit\fP is < 0 \fBtin\fP(1) will +start fetching articles from your first unread minus absolute value of +\fBgetart_limit\fP. Default is 0, which means no limit. +.TP +\fBgoto_next_unread\fP +Which keys \fBtin\fP should accept to jump to the next unread article. +Possible is any combination of \fBPageDown\fP and \fBPageNextUnread\fP. When +\fBPageDown\fP is set \fBtin\fP jumps to the next article at the end of the +current one. When \fBPageNextUnread\fP is set \fBtin\fP jumps immediately to the +next article when \fBPageNextUnread\fP ('\fB\fP') is +pressed. Default is PageNextUnread. +.TP +\fBgroup_catchup_on_exit\fP +If ON catchup group when leaving with the left arrow key. Default is ON. +.TP +\fBgroupname_max_length\fP +Maximum length of the names of newsgroups to be displayed so that more of +the newsgroup description can be displayed. Default is 32. +.TP +\fBhide_uue\fP +If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then +sections of uuencoded data will be shown with a single tag line showing the +size and filename (much the same as a MIME attachment). If set to 'Hide +all' then any line that looks like uuencoded data will be folded into a tag +line. This is useful when uuencoded data is split across more than one +article but can also lead to false positives. This setting can also be +toggled in the article viewer. Default is 'No'. +.TP +\fBinews_prog\fP +Path, name and options of external \fBinews\fP(1). If you are reading via NNTP +the default value is "\-\-internal" (use built\-in NNTP inews), else it is +"inews \-h". The article is passed to \fBinews_prog\fP on STDIN via '< +article'. +.TP +\fBinfo_in_last_line\fP +If ON, show current group description or article subject in the last line +(not in the pager and global menu) \- \fBToggleInfoLastLine\fP ('\fBi\fP' toggles +setting). This facility is useful as the full width of the screen is +available to display long subjects. Default is OFF. +.TP +\fBinteractive_mailer\fP +If greater than 0 your mailreader will be invoked earlier for reply so you +can use more of its features (e.g. MIME, pgp, ...). 1 means include headers, +2 means don't include headers (old use_mailreader_i=ON option). 0 turns off +usage. This option has to suit \fBmailer_format\fP. Default is 0. +.TP +\fBinverse_okay\fP +If ON use inverse video for page headers and URL highlighting. Default is +ON. +.TP +\fBkeep_dead_articles\fP +If ON keep all failed postings in \fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fP +besides keeping the last failed posting in +\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fP. Default is ON. +.TP +\fBkill_level\fP +This option controls the processing and display of articles that are +killed. There are 3 options, default is 0 (\fBKill only unread arts\fP). +.RS +1i +.IP 0 3 +\fBKill only unread arts\fP is the 'traditional' behavior of \fBtin\fP(1). Only +unread articles are killed once only by marking them read. As filtering only +happens on unread articles with \fBkill_level\fP set to 0, \fBart_marked_killed\fP +and \fBart_marked_read_selected\fP are only shown once. When you reenter the +group the mark will be gone. +.IP 1 +\fBKill all arts & show with K\fP will process all articles in the group and +therefore there is a processing overhead when using this option. Killed +articles are threaded as normal but they will be marked with +\fBart_marked_killed\fP. +.IP 2 +\fBKill all arts and never show\fP will process all articles in the group and +therefore there is a processing overhead when using this option. Killed +articles simply does not get displayed at all. +.RE +.TP +\fBmail_8bit_header\fP +Allows 8bit characters unencoded in the header of mail message. Default is +OFF. Turning it ON is effective only if \fBmail_mime_encoding\fP is also set to +8bit. Leaving it OFF is safe for most users and compliant to Internet Mail +Standard (\fBRFC5322\fP and \fBRFC2047\fP). Default is OFF. +.TP +\fBmail_address\fP +User's mail address (and full name), if not username@host. This is used when +creating articles, sending mail and when \fBpgp\fP(1) signing. +.TP +\fBmail_mime_encoding\fP +MIME encoding of the body in mail message, if necessary (8bit, base64, +quoted\-printable, 7bit). Default is quoted\-printable. +.TP +\fBmail_quote_format\fP +Format of quote line when replying (via mail) to an article (%A=Address, +%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname, +%C=Firstname, %I=Initials). Default is "In article %M you wrote:" +.TP +\fBmailbox_format\fP +Select one of the following mailbox\-formats: MBOXO (default, except on SCO), +MBOXRD or MMDF (default on SCO). See \fBmbox\fP(5) for more details on MBOXO +and MBOXRD and \fBmmdf\fP(5) for more details about MMDF. +.TP +\fBmaildir\fP +The directory where articles/threads are to be saved in \fBmbox\fP(5) +format. This feature is mainly for use with the \fBelm\fP(1) mail program. It +allows the user to save articles/threads/groups simply by giving '=' as the +filename to save to. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fP. +.TP +\fBmailer_format\fP +The format string used to create the mailer command with parameters that is +used for mailing articles to other people. Default is '%M "%T" < %F' +(e.g., /bin/mail "iain" < .article). The flexible format allows other +mailers with different command line parameters to be used such as +.in +.3i +.nf +sendmail \-oem \-t < %F +elm \-s "%S" "%T" < "%F" +claws\-mail \-\-compose "mailto:%T?subject=%S&insert=%F" +.fi +.in -.3i +\fBinteractive_mailer\fP muss passend dazu gesetzt sein. Folgende Ersetzungen +werden unterstützt: +.in +.3i +.nf +.ta \w'%S'u +\w'subject\-field'u +%F Dateiname +%M default_mailer +%S Subject\-Feld +%T To\-Feld +%U Username +%% % +.fi +.in -.3i +.TP +\fBmark_saved_read\fP +If ON mark articles that are saved as read. Default is ON. +.TP +\fBmark_ignore_tags\fP +When this is ON, the \fBGroupMarkThdRead\fP ('\fBK\fP'), \fBThreadMarkArtRead\fP +('\fBK\fP'), \fBMarkThdUnread\fP ('\fBZ\fP') at Group level and \fBMarkArtUnread\fP +('\fBz\fP') at Thread level functions mark just the current article or thread, +ignoring other tagged, (un)read articles. When OFF, the same function +presents a menu with choices of the current thread or article, all tagged, +unread articles, or nothing. +.TP +\fBmetamail_prog\fP +Path, name and options of external \fBmetamail\fP(1) program used to view +non\-textual parts of articles. To use the built\-in viewer, set to +\-\-internal. This is the default value when \fBmetamail\fP(1) is not +installed. Leave it blank if you don't want any automatic viewing of +non\-textual attachments. The 'V' command can always be used to manually view +any attachments. See also \fBask_for_metamail\fP. +.TP +\fBmm_charset\fP +Charset supported locally, which is also used for MIME header (charset +parameter and charset name in header encoding) in mail and news postings. If +\fBMIME_STRICT_CHARSET\fP is defined at the compile time, text in charset other +than the value of this parameter is considered not displayable and +represented as '?'. Otherwise, all character sets are regarded as compatible +with the display. If it's not set, the value of the environment variable +$\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case +neither of them is defined. If your system supports \fBiconv\fP(3), this option +is disabled and you should use \fBmm_network_charset\fP instead. +.TP +\fBmm_network_charset\fP +Charset used for posting and MIME headers; replaces \fBmm_charset\fP. +Conversion between \fBmm_network_charset\fP and local charset (determined via +\fBnl_langinfo\fP(3)) is done via \fBiconv\fP(3), if this function is not +available on your system this option is disabled and you have to use +\fBmm_charset\fP instead. \fBmm_network_charset\fP is limited to one of the +following charsets: +.in +.3i +US\-ASCII, ISO\-8859\-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8\-{R,U,RU} +EUC\-{CN,JP,KR,TW}, ISO\-2022\-{CN,CN\-EXT,JP,JP\-1,JP\-2}, Big5, UTF\-8 +.in -.3i +Not all values might work on your system, see \fBiconv_open\fP(3) for more +details. If it's not set, the value of the environment variable +$\fBMM_CHARSET\fP is used. US\-ASCII or compile\-time default is used in case +neither of them is defined. +.TP +\fBmono_markdash\fP +Character attribute of words emphasized like _this_. It is depending on your +terminal which attributes are usable. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBmono_markslash\fP +Character attribute of words emphasized like /this/. It is depending on your +terminal which attributes are usable. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBmono_markstar\fP +Character attribute of words emphasized like *this*. It is depending on your +terminal which attributes are usable. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBmono_markstroke\fP +Character attribute of words emphasized like \-this\-. It is depending on your +terminal which attributes are usable. See also \fBword_h_display_marks\fP and +\fBword_highlight\fP. +.TP +\fBnewnews\fP +These are internal timers used by \fBtin\fP(1) to keep track of new +newsgroups. Do not change them unless you understand what they are for. +.TP +\fBnews_headers_to_display\fP +Which news headers you wish to see. If you want to see _all_ the headers, +place an '*' as this value. This is the only way a wildcard can be used. If +you enter 'X\-' as the value, you will see all headers beginning with 'X\-' +(like X\-Alan or X\-Pape). You can list more than one by delimiting with +spaces. Not defining anything turns off this option. +.TP +\fBnews_headers_to_not_display\fP +Same as \fBnews_headers_to_display\fP except it denotes the opposite. An +example of using both options might be if you thought 'X\-' headers were A +Good Thing(tm), but thought Alan and Pape were miscreants... well then you +would do something like this: \fBnews_headers_to_display=X\-\fP +\fBnews_headers_to_not_display=X\-Alan X\-Pape\fP Not defining anything turns off +this option. +.TP +\fBnews_quote_format\fP +Format of quote line when posting/following up an article (%A=Address, +%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message\-ID, %N=Fullname, +%C=Firstname, %I=Initials). Default is "%F wrote:". +.TP +\fBnormalization_form\fP +The normalization form which should be used to normalize unicode input. The +possible values are: +.RS +1i +.IP 0 3 +\fBNone\fP: keine Normalisierung +.IP 1 +\fBNFKC\fP: Compatibility Decomposition, followed by Canonical Composition +.IP 2 +\fBNFKD\fP: Compatibility Decomposition +.IP 3 +\fBNFC\fP: Canonical Decomposition, followed by Canonical Composition +.IP 4 +\fBNFD\fP: Canonical Decomposition +.RE +Some normalization modes are only available if they are supported by the +library \fBtin\fP(1) uses to do the normalization. Default is NFKC. +.TP +\fBpos_first_unread\fP +If ON put cursor at first unread article in group otherwise at last +article. Default is ON. +.TP +\fBpost_8bit_header\fP +Allows 8bit characters unencoded in the header of a news article, if set +this also disables the generation of MIME\-headers when they are usually +required. Default is OFF. Only enacted if \fBpost_mime_encoding\fP is also set +to 8bit. In a number of local hierarchies where 8bit characters are used, +using unencoded (raw) 8bit characters in header is acceptable and sometimes +even recommended so that you need to check the convention adopted in the +local hierarchy of your interest to determine what to do with this and +\fBpost_mime_encoding\fP. +.TP +\fBpost_mime_encoding\fP +MIME encoding of the body in news message, if necessary. (8bit, base64, +quoted\-printable, 7bit). Default is 8bit, which leads to no encoding. +base64 and quoted\-printable are usually undesired on usenet. +.TP +\fBpost_process_view\fP +If ON, then \fBtin\fP(1) will start an appropriate viewer program to display +any files that were post processed and uudecoded. The program is determined +using the mailcap file. Default is ON. +.TP +\fBpost_process_type\fP +This specifies whether to perform post processing on saved articles. +Because the shell archive may contain commands you may not want to be +executed, be careful when extracting shell archives. The following values +are allowed: +.RS +1i +.IP 0 3 +\fBNo\fP (default), no post processing is done. +.IP 1 +\fBShell archives\fP, unpacking of multi\-part \fBshar\fP(1) files only. Because +the shell archive may contain commands you may not want to be executed, be +careful with this option. +.IP 2 +\fBYes\fP, binary attachments and data will be decoded and saved. +.RE +.TP +\fBposted_articles_file\fP +Keep posted articles in +\fI${TIN_HOMEDIR:\-"$HOME"}/Mail/\fP\fBposted_articles_file\fP. If no filename is +set then postings will not be saved. Default is 'posted'. +.TP +\fBprint_header\fP +If ON, then the full article header is sent to the printer. Otherwise only +the \*(rqSubject:\*(rq and \*(rqFrom:\*(rq fields are output. Default is OFF. +.TP +\fBprinter\fP +The printer program with options that is to be used to print articles. The +default is \fBlpr\fP(1) for BSD machines and \fBlp\fP(1) for SysV +machines. Printing from \fBtin\fP(1) may have been disabled by the System +Administrator. +.TP +\fBprocess_only_unread\fP +If ON only save/print/pipe/mail unread articles (tagged articles excepted). +Default is OFF. +.TP +\fBprompt_followupto\fP +If ON show empty \*(rqFollowup\-To:\*(rq header when editing an article. Default +is OFF. +.TP +\fBquote_chars\fP +.\" TODO: document %s +The character used in quoting included text to article followups and mail +replies. The '_' character represents a blank character and is replaced with +\&' ' when read. Default is '>_'. +.TP +\fBquote_style\fP +This bit coded integer value controls how articles are to be quoted when +following up or replying to them. Any of the following options can be +combined by adding all relevant values. Default is 5, which means that quote +characters are compressed and empty lines are quoted. +.RS +1i +.IP 1 3 +\fBCompress quotes\fP Compress quote characters together when quoting multiple +times (for example, '> > >' will be turned into +\&'>>>'). This option is on by default. +.IP 2 +\fBQuote Signatures\fP This option is off by default. Signatures are always +quoted regardless of this option when you are viewing an article in raw mode +\fBPageToggleRaw\fP ('\fB^H\fP') and followup or reply to it. Signatures are never +quoted regardless of this option when \fBshow_signatures\fP is off. +.IP 4 +\fBLeerzeilen zitieren\fP Diese Option ist standardmäßig aktiviert. +.RE +.TP +\fBquote_regex\fP +A regular expression that will be applied when reading articles. All +matching lines are shown in \fBcol_quote\fP. If \fBquote_regex\fP is blank, then +\fBtin\fP(1) uses a built\-in default. +.TP +\fBquote_regex2\fP +A regular expression that will be applied when reading articles. All +matching lines are shown in \fBcol_quote2\fP. If \fBquote_regex2\fP is blank, then +\fBtin\fP(1) uses a built\-in default. +.TP +\fBquote_regex3\fP +A regular expression that will be applied when reading articles. All +matching lines are shown in \fBcol_quote3\fP. If \fBquote_regex3\fP is blank, then +\fBtin\fP(1) uses a built\-in default. +.TP +\fBrecent_time\fP +If set to 0, this feature is deactivated, otherwise it means the number of +days. Default is 2. +.TP +\fBrender_bidi\fP +If ON \fBtin\fP does the rendering of bi\-directional text. If OFF \fBtin\fP leaves +the rendering of bi\-directional text to the terminal. Default is OFF. +.TP +\fBreread_active_file_secs\fP +The news \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP file is +reread at regular intervals to show if any new news has arrived. Default is +1200. Setting this to 0 will disable this feature. +.TP +\fBsavedir\fP +Directory where articles/threads are saved. Default is +\fI${TIN_HOMEDIR:\-"$HOME"}/News\fP. +.TP +\fBscore_limit_kill\fP +If the score of an article is below or equal this value the article gets +marked as killed. +.TP +\fBscore_limit_select\fP +If the score of an article is above or equal this value the article gets +marked as hot. +.TP +\fBscore_kill\fP +Score of an article which should be killed, this must be <= +\fBscore_limit_kill\fP. +.TP +\fBscore_select\fP +Score of an article which should be marked hot, this must be >= +\fBscore_limit_select\fP. +.TP +\fBscroll_lines\fP +The number of lines that will be scrolled up/down in the article pager when +using cursor\-up/down. The default is 1 (line\-by\-line). Set to 0 to get +traditional page\-by\-page scrolling. Set to \-1 to get page\-by\-page scrolling +where the top/bottom line is carried over onto the next page. This setting +supersedes show_last_line_prev_page=ON. Set to \-2 to get half\-page +scrolling. This setting supersedes full_page_scroll=OFF. +.TP +\fBshow_author\fP +Which information about the author should be shown. Default is 2, authors +full name. +.RS +1i +.IP 0 3 +\fBNichts\fP, nur die \*(rqSubject:\*(rq Zeile wird angezeigt. +.IP 1 +\fBAddress\fP, \*(rqSubject:\*(rq line & the address part of the \*(rqFrom:\*(rq line are +displayed. +.IP 2 +\fBFull Name\fP, \*(rqSubject:\*(rq line & the authors full name part of the +\&\*(rqFrom:\*(rq line are displayed (default). +.IP 3 +\fBAddress and Name\fP, \*(rqSubject:\*(rq line & all of the \*(rqFrom:\*(rq line are +displayed. +.RE +.TP +\fBshow_description\fP +If ON show a short group description text after newsgroup name at the group +selection level. The \*(rq\fB\-d\fP\*(rq command\-line flag will override the setting +and turn descriptions off. The text used is taken from the +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups\fP file and if supported (requires +\fBtin\fP(1) to be build with mh\-mail\-handling support) from +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fP for mailgroups. Default is ON. +.TP +\fBshow_info\fP +Which information about the thread or article should be shown. Default is 1, +show only the line count. +.RS +1i +.IP 0 3 +\fBNichts\fP. Keine weiteren Informationen werden angezeigt. +.IP 1 +\fBLines\fP, in article listing the line count of an article will be displayed +and in thread listing the line count of first (unread) article will be +displayed. +.IP 2 +\fBScore\fP, in article listing the score of an article will be displayed and +in thread listing the score of the thread will be displayed \- see also +\fBthread_score\fP. +.IP 3 +\fBZeilen und Bewertung\fP, Zeilenzahl und Bewertung zusätzlich anzeigen. +.RE +.TP +\fBshow_only_unread_arts\fP +If ON show only new/unread articles otherwise show all articles. Default is +ON. +.TP +\fBshow_only_unread_groups\fP +If ON show only subscribed groups that contain unread articles. Default is +OFF. +.TP +\fBshow_signatures\fP +If OFF don't show signatures when displaying articles. Default is ON. +.TP +\fBsigdashes\fP +If ON prepend the signature with sigdashes. Default is ON. +.TP +\fBsigfile\fP +The path that specifies the signature file to use when posting, following up +to or replying to an article. If the path is a directory then the signature +will be randomly generated from files that are in the specified +directory. If the path starts with a ! the program the path points to will +be executed to generate a signature. \fBtin\fP(1) will pass the name of the +current newsgroup as argument to the program. \-\-none will suppress any +signature. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fP. +.TP +\fBsignature_repost\fP +If ON add signature to reposted articles. Default is ON. +.TP +\fBslashes_regex\fP +A regular expression that will be applied when reading articles. All +matching words are shown in \fBcol_markslash\fP or \fBmono_markslash\fP. If +\fBslashes_regex\fP is blank, then \fBtin\fP(1) uses a built\-in default. +.TP +\fBsort_article_type\fP +This specifies how articles should be sorted. Sort by ascending Date (6) is +the default. The following sort types are allowed: +.RS +1i +.IP 0 3 +\fBNothing\fP, don't sort articles. +.IP 1 +\fBSubject: (absteigend)\fP, Artikel absteigend nach \*(rqSubject:\*(rq sortieren. +.IP 2 +\fBSubject: (aufsteigend)\fP, Artikel aufsteigend nach \*(rqSubject:\*(rq sortieren. +.IP 3 +\fBFrom: (absteigend)\fP, Artikel absteigend nach \*(rqFrom:\*(rq sortieren. +.IP 4 +\fBFrom: (aufsteigend)\fP, Artikel aufsteigend nach \*(rqFrom:\*(rq sortieren. +.IP 5 +\fBDate: (absteigend)\fP, Artikel absteigend nach \*(rqDate:\*(rq sortieren. +.IP 6 +\fBDate: (aufsteigend)\fP, Artikel aufsteigend nach \*(rqDate:\*(rq sortieren. +.IP 7 +\fBScore (absteigend)\fP, Artikel absteigend nach Score sortieren. +.IP 8 +\fBScore (aufsteigend)\fP, Artikel aufsteigend nach Score sortieren. +.IP 9 +\fBLines: (absteigend)\fP, Artikel absteigend nach \*(rqLines:\*(rq sortieren. +.IP 10 +\fBLines: (aufsteigend)\fP, Artikel aufsteigend nach \*(rqLines:\*(rq sortieren. +.RE +.TP +\fBsort_threads_type\fP +This specifies how threads will be sorted. Sort by descending Score (1) is +the default. The following sort types are allowed: +.RS +1i +.IP 0 3 +\fBNothing\fP, don't sort threads. +.IP 1 +\fBScore (descending)\fP, sort threads by filtering score descending (default). +.IP 2 +\fBScore (ascending)\fP, sort threads by filtering score ascending. +.IP 3 +\fBLast posting date (descending)\fP, sort threads by date of last posting +descending. +.IP 4 +\fBLast posting date (ascending)\fP, sort threads by date of last posting +ascending. +.RE +.TP +\fBspamtrap_warning_addresses\fP +Set this option to a list of comma\-separated strings to be warned if you are +replying to an article by mail where the e\-mail address contains one of +these strings. The matching is case\-insensitive. +.TP +\fBstars_regex\fP +A regular expression that will be applied when reading articles. All +matching words are shown in \fBcol_markstar\fP or \fBmono_markstar\fP. If +\fBstars_regex\fP is blank, then \fBtin\fP(1) uses a built\-in default. +.TP +\fBstart_editor_offset\fP +Set ON if the editor used for posting, follow\-ups and bug reports has the +capability of starting and positioning the cursor at a specified line within +a file. Default is ON. +.TP +\fBstrip_blanks\fP +Strips the blanks from the end of each line therefore speeding up the +display when reading on a slow terminal or via modem. Default is ON. +.TP +\fBstrip_bogus\fP +Bogus groups are groups that are present in your +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP file that no longer exist on the news +server. There are 3 options. 0 means do nothing & always keep bogus groups. +1 means bogus groups will be permanently removed. 2 means that bogus groups +will appear on the Group Selection Menu, prefixed with a 'D'. This allows +you to unsubscribe from them as and when you wish. Default is 0 (Always +Keep). +.TP +\fBstrip_newsrc\fP +If ON, then unsubscribed groups will be permanently removed from your +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fP file. Default is OFF. +.TP +\fBstrokes_regex\fP +A regular expression that will be applied when reading articles. All +matching words are shown in \fBcol_markstroke\fP or \fBmono_markstroke\fP. If +\fBstrokes_regex\fP is blank, then \fBtin\fP(1) uses a built\-in default. +.TP +\fBtex2iso_conv\fP +Decode German style TeX umlaut codes to ISO If ON, show "a as Umlaut\-a, +etc. Default is OFF. This behavior can also be toggled in the article viewer +via \fBPageToggleTex2iso\fP ('\fB"\fP'). +.TP +\fBthread_articles\fP +Defines which threading method to use. The choices are: 0) Don't thread, 1) +Thread on Subject only 2) Thread on References only, 3) Thread on References +then Subject (default) 4) Thread multipart articles on Subject. 5) Thread +on Percentage Match of the Subjects It's also possible to set the threading +type on a per group basis by setting the group attribute variable +\fBthread_articles\fP to 0 \- 5 in the file +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fP. +.TP +\fBthread_perc\fP +Defines how close the subjects must match while threading by Percentage +Match for threads to be considered part of a single thread. This value is in +the range 0 to 100. The default is 75. +.TP +\fBthread_catchup_on_exit\fP +If ON catchup group/thread when leaving with the left arrow key. Default is +ON. +.TP +\fBthread_score\fP +How the total score of a thread is computed. Default is 0, the maximum score +in this thread. +.RS +1i +.IP 0 3 +\fBMax\fP, the maximum score in this thread. +.IP 1 +\fBSum\fP, the sum of all scores in this thread. +.IP 2 +\fBAverage\fP, the average score in this thread. +.RE +.TP +\fBtranslit\fP +If ON append //TRANSLIT to the first argument of \fBiconv_open\fP(3) to enable +transliteration. This means that when a character cannot be represented in +the target character set, it can be approximated through one or several +similarly looking characters. On systems where this extension doesn't exist, +this option is disabled. Default is OFF. +.TP +\fBtrim_article_body\fP +Allows you to select how \fBtin\fP treats blank lines in article bodies. +Default is 0. This option does not affect lines within verbatim blocks. +.RS +1i +.IP 0 3 +\fBDon't trim article body\fP, do nothing. +.IP 1 +\fBFührende Leerzeilen überspringen\fP. +.IP 2 +\fBAbschliessende Leerzeilen überspr.\fP. +.IP 3 +\fBSkip leading and trailing blank l.\fP, skip leading and trailing blank +lines. +.IP 4 +\fBCompact multiple between text\fP, replace multiple blank lines between +textblocks with one blank line. +.IP 5 +\fBCompact multiple and skip leading\fP, 4 + 1 +.IP 6 +\fBCompact multiple and skip trailing\fP, 4 + 2 +.IP 7 +\fBCompact mltpl., skip lead. & trai.\fP, 4 + 3 +.RE +.TP +\fBunderscores_regex\fP +A regular expression that will be applied when reading articles. All +matching words are shown in \fBcol_markdash\fP or \fBmono_markdash\fP. If +\fBundescores_regex\fP is blank, then \fBtin\fP(1) uses a built\-in default. +.TP +\fBunlink_article\fP +If ON remove \fI${TIN_HOMEDIR:\-"$HOME"}/.article\fP after posting. Default is +ON. +.TP +\fBurl_handler\fP +The program that will be run when launching URLs in the article viewer using +\fBPageViewUrl\fP ('\fBU\fP'). The actual URL will be appended to this. Default is +\fBurl_handler.pl %s\fP. +.TP +\fBurl_highlight\fP +Enable highlighting URLs in message body. Default is ON. +.TP +\fBuse_color\fP +If enabled \fBtin\fP(1) uses ANSI\-colors. Default is OFF. +.TP +\fBuse_keypad\fP +Use scroll keys on keypad. Default is OFF. +.TP +\fBuse_mouse\fP +Allows the mouse button support in a \fBxterm\fP(1x) to be enabled/disabled. +Default is OFF. +.TP +\fBuse_slrnface\fP +If enabled \fBslrnface\fP(1) will be used to interpret the \*(rqX\-Face:\*(rq +header. For this option to have any effect, \fBtin\fP(1) must be running in an +\fBxterm\fP(1x) and \fBslrnface\fP(1) must be in your $\fBPATH\fP. Default is OFF. +.TP +\fButf8_graphics\fP +If ON use UTF\-8 characters for indicator ('\->'), thread/attachment tree +and ellipsis ('...'). Default is OFF. +.TP +\fBverbatim_begin_regex\fP +A regular expression that tin will use to find the begin of a verbatim +block. Default is #v+ +.TP +\fBverbatim_end_regex\fP +A regular expression that tin will use to find the end of a verbatim block. +Default is #v\- +.TP +\fBverbatim_handling\fP +If ON verbatim blocks will be detected. Default is ON +.TP +\fBwildcard\fP +Allows you to select how \fBtin\fP(1) matches strings. The default is 0 and +uses the wildmat notation, which is how this has traditionally been +handled. Setting this to 1 allows you to use \fBperl\fP(1) compatible regular +expressions \fBpcre\fP(3). You will probably want to update your filter file +if you use this regularly. NB: Newsgroup names will always be matched using +the wildmat notation. +.TP +\fBword_h_display_marks\fP +Should the leading and ending stars, slashes, strokes and dashes also be +displayed, even when they are highlighting marks? +.RS +1i +.IP 0 3 +\fBnein\fP +.IP 1 +ja, \fBMarkierung\fP anzeigen +.IP 2 +ein \fBLeerzeichen\fP ausgeben +.RE +.TP +\fBword_highlight\fP +Enable word highlighting. See \fBword_h_display_marks\fP for the options +available. If \fBuse_color\fP is enabled the colors specified in +\fBcol_markdash\fP, \fBcol_markslash\fP, \fBcol_markstar\fP and \fBcol_markstroke\fP are +used for word highlighting else the character attributes specified in +\fBmono_markdash\fP, \fBmono_markslash\fP, \fBmono_markstar\fP and \fBmono_markstroke\fP +are used. +.TP +\fBwrap_column\fP +Sets the column at which a displayed article body should be wrapped. If +this value is equal to 0, it defaults to the current screen width. If this +value is greater than your current screen width the part off\-screen is not +displayed. Thus setting this option to a large value can be used to disable +wrapping. If this value is negative the wrap margin is the current screen +width plus the given value (as long as the result is still positive, +otherwise it will fall back to the current screen width). Default is 0, +wrapping at the current screen width. +.TP +\fBwrap_on_next_unread\fP +If enabled a search for the next unread article will wrap around all +articles to find also previous unread articles. If disabled the search stops +at the end of the thread list. Default is ON. +.TP +\fBxpost_quote_format\fP +Format is the same as for \fBnews_quote_format\fP, this is used when answering +to a crossposting to several groups with no \*(rqFollowup\-To:\*(rq set. +.RE +.PP + +\fI/etc/tin/tin.defaults\fP +.sp +.RS +Yet another global configuration file with "\fIvariable\fP=\fIvalue\fP" +pairs. This one is for the more general options which usually can't be +controlled via \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fP and/or +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fP like resetting (to override the +built\-in default) the \fInewslibdir\fP. +.TP +\fBdomainname\fP +Sets a global domain name used in From lines +.TP +\fBorganization\fP +Defines the name of your organization. $\fBORGANIZATION\fP overrides any +specified value. +.TP +\fBnewslibdir\fP +Defines the default place for some configuration files, common values are +\fI/usr/lib/news\fP, \fI/var/lib/news\fP, \fI/usr/local/lib/news\fP or +\fI/news/db\fP. $\fBTIN_LIBDIR\fP overrides any specified value. +.TP +\fBbugaddress\fP +Defines the email address to which users can send bug reports using a +built\-in function. The default points to a developers mailing list located +at tin.org. You might want to change this address to one of your local +administration if you want to deal with your lusers problems on your own. +.TP +\fBinewsdir\fP +Defines the directory containing of the \fBinews\fP(1) executable +.TP +\fBmm_charset\fP +Default charset to be used in MIME's \*(rqContent\-Type:\*(rq +header. $\fBMM_CHARSET\fP overrides any specified value. +.TP +\fBpost_mime_encoding\fP +Default encoding scheme use in MIME articles. 8bit might be the best value. +.TP +\fBmail_mime_encoding\fP +Default encoding scheme use in MIME letters. quoted\-printable is a good +choice here. +.TP +\fBdisable_gnksa_domain_check\fP +Unregistrierte Top\-Level\-Domains zulassen +.TP +\fBdisable_sender\fP +Keinen \*(rqSender:\*(rq Header erzeugen. Falls \fBinews_prog\fP nicht auf \-\-internal +steht wird die Einstellung ignoriert. +.TP +\fBspooldir\fP +Base of your newsspool (Bnews, Cnews and INN traditional spool style), +common values are \fI/var/spool/news\fP, \fI/usr/spool/news\fP, \fI/news/spool\fP. +$\fBTIN_SPOOLDIR\fP overrides any specified value. +.TP +\fBoverviewdir\fP +Base of your NOV database \fBnewsoverview\fP(5) (tradspool style; might be the +same dir as \fIspooldir\fP), common values are \fI/var/spool/overview\fP, +\fI/usr/spool/overview\fP, \fI/news/overview\fP. $\fBTIN_NOVROOTDIR\fP overrides any +specified value. +.TP +\fBoverviewfile\fP +Name einer Overview\-Datei, übliche Namen sind \fI.overview\fP oder +\fIover.view\fP. +.TP +\fBoverviewfmtfile\fP +Full pathname of your newssystem's overview.fmt file; usually the +overview.fmt file is in \fInewslibdir\fP, so you only have to change this +setting if your configuration differs. +.TP +\fBactivefile\fP +Full pathname of your newssystem's active file; usually the active file +resides in \fInewslibdir\fP and is named \fIactive\fP, so you only have to change +this setting if your configuration differs. $\fBTIN_ACTIVEFILE\fP overrides any +specified value. +.TP +\fBactivetimesfile\fP +Full pathname of your newssystem's active.times file; usually the +active.times file is \fInewslibdir\fP, so you only have to change this setting +if your configuration differs. +.TP +\fBnewsgroupsfile\fP +Full pathname of your newssystem's newsgroups file; usually the newsgroups +file is in \fInewslibdir\fP, so you only have to change this setting if your +configuration differs. +.TP +\fBsubscriptionsfile\fP +Full pathname of your newssystem's subscriptions file; usually the +subscriptions file is in \fInewslibdir\fP, so you only have to change this +setting if your configuration differs. +.RE +.PP + +\fI/usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo\fP +.sp +.RS +Übersetzung in die in $\fBLC_ALL\fP, $\fBLC_MESSAGES\fP oder $\fBLANG\fP angegebene +Sprache +.RE +.PP + +.\" tin uses inns old (pre 2.x) Path convention. +.\" as with inn >= 2.2.x getting more and more popular +.\" we should think about checking for the new Paths +.\" (described shown below). +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fP +.sp +.RS +This file lists the newsgroups that the local site receives. Each newsgroup +should be listed only once. Each line specifies one group; within each +newsgroup, articles are assigned unique names, which are monotonically +increasing numbers. +.sp +.\" TODO: IIRC tin issues just a warning in that case? +If an article is posted to newsgroups not mentioned in this file, those +newsgroups are ignored. If no valid newsgroups are specified, the article +is rejected. +.sp +Each line consists of four space\-separated fields "\fIname\fP \fIhighmark\fP +\fIlowmark\fP \fIflags\fP". +.TP +\fBname\fP +ist der Name der Newsgruppe +.TP +\fBhighmark\fP +die höchste Artikelnummer die je in der Gruppe benutzt wurde +.TP +\fBlowmark\fP +is the lowest article number in the group; this number is not guaranteed to +be accurate, and should only be taken to be a hint. Note that because of +article cancellations, there may be gaps in the numbering sequence. If the +lowest article number is greater then the highest article number, then there +are no articles in the newsgroup. +.TP +\fBflags\fP +can be one of those +.RS +.TP +\fBy\fP +local postings are allowed +.TP +\fBn\fP +no local postings are allowed, only remote ones +.TP +\fBm\fP +die Gruppe ist moderiert und alle Postings müssen approved werden +.TP +\fBj\fP +articles in this group are not kept, but only passed on +.TP +\fBx\fP +in diese Gruppe darf nicht geposted werden +.TP +\fB=foo.bar\fP +Artikel werden auf dem Server in der Gruppe \*(rqfoo.bar\*(rq abgelegt +.RE +.TP +\fBtin\fP(1) +only tries to read the file if you read directly from the local spool, if +you read news via NNTP, \fBtin\fP(1) uses the LIST (\fBRFC3977\fP) command +instead. +.RE +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/active.times\fP +.sp +.RS +This file provides a chronological record of when newsgroups are created. It +is normally updated by the local newsserver (e.g. \fBinnd\fP(8)) whenever a +new group is created. Each line consist of three space\-separated fields +"\fIname\fP \fItime\fP \fIcreator\fP". +.TP +\fBname\fP +ist der Name der Newsgruppe +.TP +\fBtime\fP +is the time when the group was created, expressed as the number of seconds +since the epoch. +.TP +\fBcreator\fP +die Mailadresse der Person die die Gruppe angelegt hat. +.TP +\fBtin\fP(1) +only tries to read the file if you read directly from the local spool, if +you read news via NNTP, \fBtin\fP(1) uses the NEWGROUPS (\fBRFC3977\fP) command +instead. +.RE +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups\fP +.sp +.RS +This file provides short descriptions of each newsgroup. It is normally +updated by the local newsserver (e.g. \fBinnd\fP(8)) whenever a new group is +created. Each line consist of two tab\-separated fields +"\fIgroup.name\fP \fIone\-line description\fP". +.TP +\fBgroup.name\fP +ist der Name der Newsgruppe +.TP +\fBKurzbeschreibung\fP +ist die zugehörige Kurzbeschreibung +.TP +\fBtin\fP(1) +only tries to read the file if you read directly from the local spool, if +you read news via NNTP, \fBtin\fP(1) uses the LIST NEWSGROUPS (\fBRFC3977\fP) +command instead. +.RE +.PP + +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/organization\fP +.sp +.RS +This file specifies might hold a default organization to be used in the +\&\*(rqOrganization:\*(rq header. $\fBORGANIZATION\fP has a higher priority if set. +.RE +.PP + +.\" is the Path correct? or is it /news/etc/overview.fmt +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt\fP +.sp +.RS +This file specifies the organization of the news overview database (see also +\fBnewsoverview\fP(5)). The order of lines in this file is important; it +determines the order in which the fields will appear in the database. See +also \fBoverview.fmt\fP(5). \fBtin\fP(1) only tries to read the file if you read +directly from the local spool, if you read news via NNTP, \fBtin\fP(1) uses +the LIST OVERVIEW.FMT (\fBRFC3977\fP) command instead. +.RE +.PP + +.\" is the Path correct? or is it /news/etc/subscriptions +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions\fP +.sp +.RS +This file contains a list of newsgroups \- one per line \- which the client +should subscribe to when the user has no ${TIN_HOMEDIR:\-"$HOME"}/.newsrc for +the newsserver. \fBtin\fP(1) only tries to read the file if you read directly +from the local spool, if you read news via NNTP, \fBtin\fP(1) uses the LIST +SUBSCRIPTIONS (\fBRFC6048\fP) command instead. +.RE +.PP + +.SH "SIEHE AUCH" +\fBelm\fP(1), \fBinews\fP(1), \fBispell\fP(1), \fBlp\fP(1), \fBlpr\fP(1), \fBmetamail\fP(1) +\fBperl\fP(1), \fBpgp\fP(1), \fBrn\fP(1), \fBshar\fP(1), \fBslrnface\fP(1), \fBtin\fP(1), +\fBxterm\fP(1x), \fBiconv\fP(3), \fBiconv_open\fP(3), \fBnl_langinfo\fP(3), \fBpcre\fP(3), +\fBstrftime\fP(3), \fBsystem\fP(3), \fBmailcap\fP(4), \fBactive\fP(5), \fBmbox\fP(5), +\fBmmdf\fP(5), \fBnewsoverview\fP(5), \fBoverview.fmt\fP(5), \fBinnd\fP(8), \fBRFC1524\fP, +\fBRFC2045\fP, \fBRFC2046\fP, \fBRFC2047\fP, \fBRFC2048\fP, \fBRFC2980\fP, \fBRFC3977\fP, +\fBRFC4643\fP, \fBRFC5322\fP, \fBRFC5536\fP, \fBRFC5537\fP, \fBRFC6048\fP diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/l10n/de.add tin-2.0.0/doc/l10n/de.add --- tin-1.8.3/doc/l10n/de.add 1970-01-01 01:00:00.000000000 +0100 +++ tin-2.0.0/doc/l10n/de.add 2011-04-17 16:04:28.038705687 +0200 @@ -0,0 +1,5 @@ +PO4A-HEADER: mode=after; position=MAINTAINER;beginboundary=^\.SH +.SH ÜBERSETZUNG +.TP 1i +Erika Mustermann +.\" diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/l10n/de.po tin-2.0.0/doc/l10n/de.po --- tin-1.8.3/doc/l10n/de.po 1970-01-01 01:00:00.000000000 +0100 +++ tin-2.0.0/doc/l10n/de.po 2011-08-22 00:21:02.773974368 +0200 @@ -0,0 +1,12430 @@ +# German translations for tin manpages +# This file is distributed under the same license as the tin package. +# Urs Janssen , 2008-2011. +# +msgid "" +msgstr "" +"Project-Id-Version: tin 1.9.5\n" +"POT-Creation-Date: 2011-08-22 00:19+0200\n" +"PO-Revision-Date: 2009-10-01 16:17+0200\n" +"Last-Translator: Urs Janssen \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +# type: TH +#: ../tin.1:12 ../tin.5:9 +#, no-wrap +msgid "tin" +msgstr "tin" + +# type: TH +#: ../tin.1:12 ../tin.5:9 +#, no-wrap +msgid "August 23rd, 2011" +msgstr "23. August 2011" + +# type: TH +#: ../tin.1:12 ../tin.5:9 +#, no-wrap +msgid "2.0.0" +msgstr "2.0.0" + +# type: TH +#: ../tin.1:12 ../tin.5:9 +#, no-wrap +msgid "A Usenet newsreader" +msgstr "Usenet Newsreader" + +# type: SH +#: ../tin.1:15 ../tin.5:11 +#, no-wrap +msgid "NAME" +msgstr "NAME" + +# type: Plain text +#: ../tin.1:19 +msgid "tin, rtin - A Usenet newsreader" +msgstr "tin, rtin - Ein Usenet Newsreader" + +# type: SH +#: ../tin.1:19 +#, no-wrap +msgid "SYNOPSIS" +msgstr "ÜBERSICHT" + +# type: Plain text +#: ../tin.1:49 +msgid "" +"B [\\|[\\|B<-h>\\||\\|B<-H>\\||\\|B<-V>\\|]\\ \\|| [\\|[\\|[\\|B<-a>" +"\\|] [\\|B<-dlnq>\\||\\|B<-Q>\\|] [\\|B<-ArzxX>\\|]\\|] [\\|[\\|B<-R>\\||\\|" +"B<-S>\\|] \\|\\|B<-s> I\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|B<-6>" +"\\|] [\\|B<-N>\\||\\|B<-M> I
\\|] [\\|B<-o>\\||\\|B<-w>\\|]\\|] [\\|" +"B<-D> I\\|] [\\|B<-G> I\\|] [\\|B<-f> " +"I\\|] [\\|B<-g> I\\|] [\\|B<-m> I\\|] [\\|B<-" +"p> I\\|] [\\|B<-I> I\\|]\\ \\|[I\\|[\\|,.\\|.\\|." +"\\|]\\|]\\|]" +msgstr "" +"B [\\|[\\|B<-h>\\||\\|B<-H>\\||\\|B<-V>\\|]\\ \\|| [\\|[\\|[\\|B<-a>" +"\\|] [\\|B<-dlnq>\\||\\|B<-Q>\\|] [\\|B<-ArzxX>\\|]\\|] [\\|[\\|B<-R>\\||\\|" +"B<-S>\\|] \\|\\|B<-s> I\\|] [\\|B<-cuvZ>\\|] [\\|B<-4>\\||\\|B<-" +"6>\\|] [\\|B<-N>\\||\\|B<-M> I\\|] [\\|B<-o>\\||\\|B<-w>\\|]\\|] " +"[\\|B<-D> I\\|] [\\|B<-G> I\\|] [\\|B<-f> I\\|] [\\|B<-g> I\\|] [\\|B<-m> I\\|] [\\|B<-p> " +"I\\|] [\\|B<-I> I\\|]\\ \\|[I\\|[\\|,.\\|.\\|." +"\\|]\\|]\\|]" + +# type: SH +#: ../tin.1:49 ../tin.5:14 +#, no-wrap +msgid "DESCRIPTION" +msgstr "BESCHREIBUNG" + +# type: Plain text +#: ../tin.1:58 +msgid "" +"B is a full-screen easy to use Usenet newsreader. It can read news " +"locally (e.g., I) or remotely (B or B option) " +"via a NNTP (Network News Transport Protocol) server. It will automatically " +"utilize NOV B(5) style index files if available locally or " +"via the NNTP [X]OVER command (B, B)." +msgstr "" +"B ist ein einfach zu bedienender Newsreader für das Usenet. Er kann " +"Artikel von einem lokalen (z. B. aus I) oder entfernten " +"Server (B oder B Option) mittels NNTP (Network News Transport " +"Protocol) lesen. Er benutzt, sofern vorhanden, lokale NOV B(5) " +"Indexdateien bzw. den [X]OVER NNTP-Befehl (B, B)." + +# type: Plain text +#: ../tin.1:64 +msgid "" +"B has four separate levels of operation: Selection level, Group level, " +"Thread level and Article level. Use the B ('B') command to view a " +"list of the commands available at a particular level." +msgstr "" +"B hat vier unterschiedliche Arbeitsebenen: Auswahlebene, Gruppenebene, " +"Threadebene und Artikelebene. Mit dem B ('B') Befehl können die " +"jeweils verfügbaren Befehle angezeigt werden." + +# type: Plain text +#: ../tin.1:72 +msgid "" +"On startup B will show a list of the newsgroups found in I<" +"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>. An arrow '-E' or highlighted bar " +"will point to the first newsgroup. Move to a group by using the terminal " +"arrow keys (terminal dependent) or B ('B') and B ('B'). Use " +"PgUp/PgDn (terminal dependent) or B ('B<^U>') (CTRL-U) and " +"B ('B<^D>') (CTRL-D) to page up/down. Enter a newsgroup by " +"pressing 'BCRE>'." +msgstr "" +"Am Anfang zeigt B eine Liste der Gruppen in I<${TIN_HOMEDIR:-\"$HOME" +"\"}/.newsrc>. Ein Pfeil '-E' oder ein inverser Balken zeigt auf die " +"erste Newsgruppe. Um zu einer Gruppe zu navigieren können die Cursor-Tasten " +"(hängt vom verwendetem Terminal ab) oder B ('B') und B ('B') " +"benutzt werden. Mit Bildhoch/Bildrunter (hängt vom verwendetem Terminal ab) " +"oder B ('B<^U>') (CTRL-U) und B ('B<^D>') (CTRL-D) kann " +"Seitenweise navigiert werden. Die ausgewählte Gruppe wird durch Drücken von " +"'BCRE>' betreten." + +# type: Plain text +#: ../tin.1:77 +msgid "" +"The B ('BTABE>') key enters the next " +"newsgroup with unread articles." +msgstr "" +"Durch Drücken der B ('BTABE>') Taste wird " +"die nächste Newsgruppe mit ungelesenen Artikeln betreten." + +# type: SH +#: ../tin.1:77 +#, no-wrap +msgid "EXIT STATUS" +msgstr "EXIT-STATUS" + +# type: Plain text +#: ../tin.1:79 +msgid "Interactive mode:" +msgstr "Interaktiver-Modus:" + +# type: TP +#: ../tin.1:80 ../tin.1:90 ../tin.1:1066 ../tin.1:3230 +#, no-wrap +msgid "B<0>" +msgstr "B<0>" + +# type: Plain text +#: ../tin.1:83 +msgid "Successful program execution." +msgstr "Programm erfolgreich beendet." + +# type: TP +#: ../tin.1:83 ../tin.1:93 ../tin.1:3233 +#, no-wrap +msgid "B<1>" +msgstr "B<1>" + +# type: Plain text +#: ../tin.1:86 ../tin.1:96 +msgid "Usage, syntax, configuration file or network error." +msgstr "Bedien-, Syntax-, Konfigurations- oder Netzwerk-Fehler." + +# type: Plain text +#: ../tin.1:89 +msgid "Batch mode (''B<-Z>''):" +msgstr "Batch-Modus (''B<-Z>''):" + +# type: Plain text +#: ../tin.1:93 +msgid "No unread news" +msgstr "Keine ungelesenen Nachrichten vorhanden" + +# type: TP +#: ../tin.1:96 ../tin.1:3236 +#, no-wrap +msgid "B<2>" +msgstr "B<2>" + +# type: Plain text +#: ../tin.1:99 +msgid "Unread news" +msgstr "Ungelesene Nachrichten vorhanden" + +# type: SH +#: ../tin.1:102 +#, no-wrap +msgid "OPTIONS" +msgstr "OPTIONEN" + +# type: TP +#: ../tin.1:103 +#, no-wrap +msgid "B<-4>" +msgstr "B<-4>" + +# type: Plain text +#: ../tin.1:106 +msgid "Force connecting via IPv4 to the remote NNTP server." +msgstr "Verbindung via IPv4 zum NNTP Server erzwingen." + +# type: TP +#: ../tin.1:106 +#, no-wrap +msgid "B<-6>" +msgstr "B<-6>" + +# type: Plain text +#: ../tin.1:109 +msgid "Force connecting via IPv6 to the remote NNTP server." +msgstr "Verbindung via IPv6 zum NNTP Server erzwingen." + +# type: TP +#: ../tin.1:109 +#, no-wrap +msgid "B<-a>" +msgstr "B<-a>" + +# type: Plain text +#: ../tin.1:112 +msgid "Toggle ANSI color (default is off)." +msgstr "ANSI-Farben ein/-ausschalten (Standard ist aus)." + +# type: TP +#: ../tin.1:112 +#, no-wrap +msgid "B<-A>" +msgstr "B<-A>" + +# type: Plain text +#: ../tin.1:115 +msgid "Force authentication on initial connect." +msgstr "Erzwinge Authentifikation beim Verbindungsaufbau." + +# type: TP +#: ../tin.1:115 +#, no-wrap +msgid "B<-c>" +msgstr "B<-c>" + +# type: Plain text +#: ../tin.1:120 +msgid "" +"Create/update index files for every group in I<${TIN_HOMEDIR:-\"$HOME\"}/." +"newsrc> or file specified by the ''B<-f>'' option and mark all articles as " +"read." +msgstr "" +"Erstelle bzw. aktualisiere Index-Dateien für alle Gruppen in I<" +"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> bzw. der mittels ''B<-f>'' angegebenen " +"Datei und markiere alle Artikel als gelesen." + +# type: TP +#: ../tin.1:120 +#, no-wrap +msgid "B<-d>" +msgstr "B<-d>" + +# type: Plain text +#: ../tin.1:123 +msgid "Don't load newsgroup descriptions (interactive mode)." +msgstr "Keine Gruppenbeschreibungen laden (Interaktiver-Modus)." + +# type: TP +#: ../tin.1:123 +#, no-wrap +msgid "B<-D>I< debug-level>" +msgstr "B<-D>I< Debuggrad>" + +# type: Plain text +#: ../tin.1:127 +msgid "" +"Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 = " +"memory, 32 = attributes, 64 = misc)." +msgstr "" +"Debuggrad angeben (1 = NNTP, 2 = Filter, 4 = newsrc, 8 = Threading, 16 = " +"Speicher, 32 = attributes, 64 = Diverses)." + +# type: TP +#: ../tin.1:127 +#, no-wrap +msgid "B<-f>I< file>" +msgstr "B<-f>I< Datei>" + +# type: Plain text +#: ../tin.1:131 +msgid "" +"Use the specified file of subscribed to newsgroups in place of I<" +"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>." +msgstr "" +"Benutze die angegebene newsrc-Datei anstelle von I<${TIN_HOMEDIR:-\"$HOME" +"\"}/.newsrc>." + +# type: TP +#: ../tin.1:131 +#, no-wrap +msgid "B<-g>I< server>" +msgstr "B<-g>I< Server>" + +# type: Plain text +#: ../tin.1:135 +msgid "" +"Use the server and newsrc specified in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/" +"newsrctable>." +msgstr "" +"Zugehörigen Newsserver und newsrc-Datei aus I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/" +"newsrctable> benutzen." + +# type: TP +#: ../tin.1:135 +#, no-wrap +msgid "B<-G>I< article-limit>" +msgstr "B<-G>I< Artikellimit>" + +# type: Plain text +#: ../tin.1:138 +msgid "Limit the number of articles/group to retrieve from the server." +msgstr "Beschränkt die Anzahl der zu ladenden Artikel pro Gruppe." + +# type: TP +#: ../tin.1:138 +#, no-wrap +msgid "B<-h>" +msgstr "B<-h>" + +# type: Plain text +#: ../tin.1:141 +msgid "Help listing all command-line options." +msgstr "Kurzübersicht der verfügbaren Komandozeilenoptionen." + +# type: TP +#: ../tin.1:141 +#, no-wrap +msgid "B<-H>" +msgstr "B<-H>" + +# type: Plain text +#: ../tin.1:145 +msgid "" +"Brief introduction to B that is also shown the first time it is started." +msgstr "" +"Kurzeinführung in B welche auch beim allerersten Start ausgegeben wird." + +# type: TP +#: ../tin.1:145 +#, no-wrap +msgid "B<-I>I< dir>" +msgstr "B<-I>I< Verzeichnis>" + +# type: Plain text +#: ../tin.1:151 +msgid "" +"Directory in which to store newsgroup index files. Default is I<" +"${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news>. This " +"option has no effect if B retrieves its index files via NNTP and " +"B is turned off." +msgstr "" + +# type: TP +#: ../tin.1:151 +#, no-wrap +msgid "B<-l>" +msgstr "B<-l>" + +# type: Plain text +#: ../tin.1:161 +msgid "" +"Get number of articles per group from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/" +"\"${TIN_ACTIVEFILE:-active}> file. If reading via NNTP this is done with the " +"LIST command (B). This might result in incorrect article counts but " +"is usually faster than the default which is to read the I<${TIN_LIBDIR:-" +"NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file (either directly or via " +"LIST) and then check the article count via NNTP GROUP command (B) " +"''B<-ln>''." +msgstr "" + +# type: TP +#: ../tin.1:161 +#, no-wrap +msgid "B<-m>I< dir>" +msgstr "B<-m>I< Verzeichnis>" + +# type: Plain text +#: ../tin.1:164 +msgid "Mailbox directory to use. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/Mail>." +msgstr "" +"Zu benutzendes Mailbox-Verzeichnis. Standard ist I<${TIN_HOMEDIR:-\"$HOME\"}/" +"Mail>." + +# type: TP +#: ../tin.1:164 +#, no-wrap +msgid "B<-M>I< user>" +msgstr "B<-M>I< Benutzer>" + +# type: Plain text +#: ../tin.1:168 +msgid "" +"Mail unread articles to specified user for later reading. For more " +"information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"." +msgstr "" +"Sende ungelesene Artikel an den angegebenen Benutzer um sie später lesen zu " +"können. Für weitere Informationen siehe den Abschnitt \"AUTOMATISCHES MAILEN " +"UND SPEICHERN VON UNGELESENEN ARTIKELN\"." + +# type: TP +#: ../tin.1:168 +#, no-wrap +msgid "B<-n>" +msgstr "B<-n>" + +# type: Plain text +#: ../tin.1:175 +msgid "" +"Only load groups from the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-" +"active}> file that are subscribed to in the user's I<${TIN_HOMEDIR:-\"$HOME" +"\"}/.newsrc>. This allows a noticeable speedup when connecting via a slow " +"line, but B can not tell which groups are moderated. See also ''B<-l>''." +msgstr "" + +# type: TP +#: ../tin.1:175 +#, no-wrap +msgid "B<-N>" +msgstr "B<-N>" + +# type: Plain text +#: ../tin.1:179 +msgid "" +"Mail unread articles to yourself for later reading. For more information " +"read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"." +msgstr "" +"Sende ungelesene Artikel an dich selbst um sie später lesen zu können. Für " +"weitere Informationen siehe den Abschnitt \"AUTOMATISCHES MAILEN UND " +"SPEICHERN VON UNGELESENEN ARTIKELN\"." + +# type: TP +#: ../tin.1:179 +#, no-wrap +msgid "B<-o>" +msgstr "B<-o>" + +# type: Plain text +#: ../tin.1:183 +msgid "" +"Quick post all postponed articles and exit. In order for this to be really " +"quick, it should be used with ''B<-n>'' if possible." +msgstr "" + +# type: TP +#: ../tin.1:183 +#, no-wrap +msgid "B<-p>I< port>" +msgstr "B<-p>I< Port>" + +# type: Plain text +#: ../tin.1:187 +msgid "" +"Port to use if reading via NNTP (default is 119). This also overrides the " +"environment variable $B if set." +msgstr "" +"Zu benutzende Portnummer falls per NNTP gelesen wird (Standard ist 119). " +"Übersteuert die Umgebungsvariable $B." + +# type: TP +#: ../tin.1:187 +#, no-wrap +msgid "B<-q>" +msgstr "B<-q>" + +# type: Plain text +#: ../tin.1:190 +msgid "Don't check for new newsgroups." +msgstr "Nicht prüfen ob neue Newsgruppen vorhanden sind." + +# type: TP +#: ../tin.1:190 +#, no-wrap +msgid "B<-Q>" +msgstr "B<-Q>" + +# type: Plain text +#: ../tin.1:194 +msgid "" +"Quick start. Start B as quickly as possible. Currently this is " +"equivalent to ''B<-nqd>''." +msgstr "" +"Schnellstart. B so schnell wie möglich starten, zur Zeit entspricht " +"diese Option ''B<-nqd>''." + +# type: TP +#: ../tin.1:194 +#, no-wrap +msgid "B<-r>" +msgstr "B<-r>" + +# type: Plain text +#: ../tin.1:199 +msgid "" +"Read news remotely from the default NNTP server specified in the environment " +"variable $B or contained in the file I." +msgstr "" + +# type: TP +#: ../tin.1:199 +#, no-wrap +msgid "B<-R>" +msgstr "B<-R>" + +# type: Plain text +#: ../tin.1:202 +msgid "Read news saved by the ''B<-S>'' option." +msgstr "Lese mittels ''B<-S>'' gespeicherte Artikel." + +# type: TP +#: ../tin.1:202 +#, no-wrap +msgid "B<-s>I< dir>" +msgstr "B<-s>I< Verzeichnis>" + +# type: Plain text +#: ../tin.1:206 +msgid "" +"Save/read articles to/in directory. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/" +"News>." +msgstr "" + +# type: TP +#: ../tin.1:206 +#, no-wrap +msgid "B<-S>" +msgstr "B<-S>" + +# type: Plain text +#: ../tin.1:210 +msgid "" +"Save unread articles for later reading by the ''B<-R>'' option. For more " +"information read section \"AUTOMATIC MAILING AND SAVING NEW NEWS\"." +msgstr "" +"Speichere ungelesene Artikel zum späteren Lesen mittels ''B<-R>''. Für " +"weitere Informationen siehe den Abschnitt \"AUTOMATISCHES MAILEN UND " +"SPEICHERN VON UNGELESENEN ARTIKELN\"." + +# type: TP +#: ../tin.1:210 +#, no-wrap +msgid "B<-u>" +msgstr "B<-u>" + +# type: Plain text +#: ../tin.1:216 +msgid "" +"Create/update index files for every group in I<${TIN_HOMEDIR:-\"$HOME\"}/." +"newsrc> or file specified by the ''B<-f>'' option. This option is disabled " +"if B retrieves its index files via a NNTP server and " +"B is turned off." +msgstr "" + +# type: TP +#: ../tin.1:216 +#, no-wrap +msgid "B<-v>" +msgstr "B<-v>" + +# type: Plain text +#: ../tin.1:220 +msgid "" +"Verbose mode for ''B<-c>'', ''B<-M>'', ''B<-N>'', ''B<-S>'', \\&''B<-u>'' " +"and ''B<-Z>'' options." +msgstr "" +"Ausführliche Ausgabe für ''B<-c>'', ''B<-M>'', ''B<-N>'', ''B<-S>'', \\&''B<-" +"u>'' und ''B<-Z>''-Optionen." + +# type: TP +#: ../tin.1:220 +#, no-wrap +msgid "B<-V>" +msgstr "B<-V>" + +# type: Plain text +#: ../tin.1:223 +msgid "Print version and date information." +msgstr "Versionsinformationen ausgeben." + +# type: TP +#: ../tin.1:223 +#, no-wrap +msgid "B<-w>" +msgstr "B<-w>" + +# type: Plain text +#: ../tin.1:227 +msgid "" +"Quick mode to post an article and then exit. In order for this to be really " +"quick, it should be used with ''B<-n>'' if possible." +msgstr "" +"Schnell-Modus um nur einen Artikel zu posten. Nach Möglichkeit mit ''B<-n>'' " +"kombinieren." + +# type: TP +#: ../tin.1:227 +#, no-wrap +msgid "B<-x>" +msgstr "B<-x>" + +# type: Plain text +#: ../tin.1:230 +msgid "No posting mode. You cannot post articles if you use this option." +msgstr "" + +# type: TP +#: ../tin.1:230 +#, no-wrap +msgid "B<-X>" +msgstr "B<-X>" + +# type: Plain text +#: ../tin.1:235 +msgid "" +"No overwrite mode. I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> and files in I<" +"${TIN_HOMEDIR:-\"$HOME\"}/.tin> will not be overwritten but may be created " +"if they don't exist." +msgstr "" + +# type: TP +#: ../tin.1:235 +#, no-wrap +msgid "B<-z>" +msgstr "B<-z>" + +# type: Plain text +#: ../tin.1:240 +msgid "" +"Only start B if there is any new/unread news. If there is news B " +"will position cursor at first group with unread news. Useful for putting in " +"login file." +msgstr "" + +# type: TP +#: ../tin.1:240 +#, no-wrap +msgid "B<-Z>" +msgstr "B<-Z>" + +# type: Plain text +#: ../tin.1:246 +msgid "" +"Check if there is any new/unread news and exit with appropriate status. If " +"\\&''B<-v>'' option is specified the number of unread articles in each group " +"is printed. An exit code 0 indicates no news, 1 that an error occurred and 2 " +"that new/unread news exists. Useful for writing scripts." +msgstr "" + +# type: Plain text +#: ../tin.1:252 +msgid "" +"B can also dynamically change its options by the B ('B') " +"command. Any changes are written to I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>. " +"For more information see section \"GLOBAL OPTIONS MENU AND TINRC " +"CONFIGURABLE VARIABLES\" and B(5)." +msgstr "" + +# type: Plain text +#: ../tin.1:257 +msgid "" +"A list of groups can be specified after the other command-line options. This " +"can be useful if you wish to yank in or subscribe to a hand-picked subset of " +"the active newsgroups. See the section \"NEWSGROUP LISTS & WILDCARDS\" for " +"the types of pattern that B understands." +msgstr "" + +# type: Plain text +#: ../tin.1:262 +msgid "" +"If you specify a single group-name, or a wildcard that matches a single " +"group, then you will automatically enter that group. Otherwise the normal " +"group selection screen will appear, but with all the matching groups present " +"too, as though you had yanked just those groups in." +msgstr "" + +# type: Plain text +#: ../tin.1:266 +msgid "" +"With the ''B<-w>'' flag a given group-name is used as default group to post " +"to. If more than one group or a wildcard is specified only the first group " +"respectively the first group that matches is used." +msgstr "" + +# type: Plain text +#: ../tin.1:273 +msgid "" +"Once you use B ('B') to yank in all active groups, or " +"B ('B') to toggle the read/unread status, then " +"the command-line groups will be gone. You can use B " +"('B') to reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-" +"active}> file and get them back." +msgstr "" + +# type: Plain text +#: ../tin.1:278 +msgid "" +"NB: With the ''B<-n>'' flag, only unsubscribed groups in the I<" +"${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file (or the newsrc-file given by the " +"\\&''B<-f>'' command-line switch or via I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/" +"newsrctable>) can be matched." +msgstr "" + +# type: Plain text +#: ../tin.1:283 +msgid "" +"Command-line options have higher priority than attributes and tinrc " +"options. Thus, command-line option takes precedence over configured values." +msgstr "" +"Komandozeilenoptionen haben eine höhere Priorität als attributes und tinrc " +"Optionen und übersteuern daher die konfigurierten Werte." + +# type: SH +#: ../tin.1:283 +#, no-wrap +msgid "USAGE" +msgstr "GEBRAUCH" + +# type: SS +#: ../tin.1:286 +#, no-wrap +msgid "NEWS ADMINISTRATION" +msgstr "" + +# type: Plain text +#: ../tin.1:290 +msgid "" +"Maintaining Netnews on large networks of machines can be a pretty time " +"consuming job as I discovered when I was given the job of maintaining our " +"news system and news users." +msgstr "" + +# type: Plain text +#: ../tin.1:300 +msgid "" +"A user starting B for the first time can be automatically subscribed to " +"a list of newsgroups that are deemed appropriate by the news administrator. " +"The subscriptions file should be created in your news lib directory (i.e., I<" +"${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>) and should have file permissions " +"set to 0644. If you read news via NNTP, then your news server must support " +"the LIST SUBSCRIPTIONS command. It is part of the NNTP List Extensions " +"(B) and all modern servers should understand it." +msgstr "" + +# type: SS +#: ../tin.1:300 +#, no-wrap +msgid "SCREEN FORMAT" +msgstr "" + +# type: Plain text +#: ../tin.1:303 +msgid "" +"B has four separate levels of operation: Selection level, Group level, " +"Thread level and Article level." +msgstr "" +"B hat vier unterschiedliche Arbeitsebenen: Auswahlebene, Gruppenebene, " +"Threadebene und Artikelebene." + +# type: Plain text +#: ../tin.1:308 +msgid "" +"At the Selection level the title displays (the name of the newsserver and) " +"the number of subscribed groups (containing new unread articles). The " +"newsgroups are displayed in the middle of the screen with the number of " +"unread articles displayed on the same line in front." +msgstr "" + +# type: Plain text +#: ../tin.1:316 +#, no-wrap +msgid "" +"-EM 1 2 comp.security.announce Announcements from the CERT abou\n" +" M 2 1 news.admin.announce Announcements for news adminstra\n" +" 3 22 news.software.misc News-related software other than\n" +" 4 1475 news.software.nntp The Network News Transfer Protoc\n" +" X 5 124 news.software.readers Discussion of software used to r\n" +msgstr "" +"-EM 1 2 comp.security.announce Announcements from the CERT abou\n" +" M 2 1 news.admin.announce Announcements for news adminstra\n" +" 3 22 news.software.misc News-related software other than\n" +" 4 1475 news.software.nntp The Network News Transfer Protoc\n" +" X 5 124 news.software.readers Discussion of software used to r\n" + +# type: Plain text +#: ../tin.1:319 +msgid "" +"There may also be a character prefixing the line. An explanation follows:" +msgstr "Eventuell steht am Anfang der Zeile noch eines der folgende Zeichen:" + +# type: TP +#: ../tin.1:319 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:324 +msgid "" +"This group is unsubscribed. To see only your subscribed groups use the " +"B ('B') or B ('B') toggle " +"keys." +msgstr "" + +# type: TP +#: ../tin.1:324 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:329 +msgid "" +"This is a moderated group. Any posts you make will have to be approved by " +"the group administrator before it will be made public. B will ask for " +"confirmation before you post to a moderated group." +msgstr "" + +# type: TP +#: ../tin.1:329 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:338 +msgid "" +"This is a new newsgroup which has been created since you last used B. " +"New newsgroups are not subscribed to by default (However, see the " +"$B / $B environment variables). Subscribe " +"to it in the normal way if you wish the group to continue to appear in your " +"Selection Menu. Simply ignore new newsgroups and they will be gone the next " +"time you start B. You will have to yank in all the groups to find them " +"in a later session." +msgstr "" + +# type: TP +#: ../tin.1:338 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:343 +msgid "" +"This group no longer exists. If you no longer wish to see this group then " +"unsubscribe from it in the normal way. This flag will only appear if you " +"have set B to \"ask\" in the Options Menu." +msgstr "" + +# type: TP +#: ../tin.1:343 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:347 +msgid "" +"You may no longer make posts to this group. Often a group will be superseded " +"by a more appropriately named one." +msgstr "" + +# type: TP +#: ../tin.1:347 +#, no-wrap +msgid "B<=>" +msgstr "B<=>" + +# type: Plain text +#: ../tin.1:352 +msgid "" +"This group has been renamed and you may no longer post to it. If you do, " +"then you will receive an error from your newsserver telling you the correct " +"group to post to." +msgstr "" + +# type: Plain text +#: ../tin.1:357 +msgid "" +"At the Group level the title contains the name of the group, the number of " +"conversation threads, the threading method, the limit of articles to get, " +"the total number of articles, the number of hot articles, the number of " +"recent articles and the number of killed articles. I.e.:" +msgstr "" + +# type: Plain text +#. FIXME - make this autocenter +#: ../tin.1:361 +#, no-wrap +msgid " alt.sources (5B -50/23+ 0* 3o 0K)\n" +msgstr " alt.sources (5B -50/23+ 0* 3o 0K)\n" + +# type: Plain text +#: ../tin.1:369 +msgid "" +"The characters after the numbers are depending to the configuration and if " +"your are in B mode or not. Some numbers could be " +"missing if the specific option is not enabled. It might also contain an 'M', " +"\\&'X' or '=' (see above; doesn't work with the ''B<-n>'' command-line " +"switch!) if the group is moderated, set to no posting or postings to it get " +"redirected." +msgstr "" + +# type: Plain text +#: ../tin.1:380 +msgid "" +"If a thread has unread articles in it it's marked with a " +"B in front of the total number of articles in the thread. " +"If there are recent articles within the thread it might be marked with " +"B in front of the total number of articles in the thread " +"- this is controlled by the B option. If a thread has hot " +"articles in it (see also section \"FILTERING ARTICLES\") it's marked with " +"B in front of the total number of articles in the " +"thread. The number of lines of the first (unread) article in the thread " +"might also be shown right before the subject - this is controlled by the " +"B option." +msgstr "" + +# type: Plain text +#: ../tin.1:384 +#, no-wrap +msgid " de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\n" +msgstr " de.admin.net-abuse.announce (11B 13+ 1* 1o 0K) M\n" + +# type: Plain text +#: ../tin.1:389 +#, no-wrap +msgid "" +"-E 1 + 3 108 bincancels in de.talk.sex Christopher Lueg El\n" +" 2 + 69 EMP/ECP gecancelt. xynx. BI= 10 Henning Weede Ehwee\n" +" 3 o 93 EMP gecancelt. SouthBeach/Palms Henning Weede Ehwee\n" +" 4 * 368 E1997-11-12E Fremdcancel-FAQ Thomas Roessler Ero\n" +msgstr "" +"-E 1 + 3 108 bincancels in de.talk.sex Christopher Lueg El\n" +" 2 + 69 EMP/ECP gecancelt. xynx. BI= 10 Henning Weede Ehwee\n" +" 3 o 93 EMP gecancelt. SouthBeach/Palms Henning Weede Ehwee\n" +" 4 * 368 E1997-11-12E Fremdcancel-FAQ Thomas Roessler Ero\n" + +# type: Plain text +#. FIXME - add description of fields +#: ../tin.1:394 +msgid "" +"At the Thread level the screen usually (depends on the threading method " +"used) looks like this:" +msgstr "" + +# type: Plain text +#: ../tin.1:401 +#, no-wrap +msgid "" +"-E 1 [ 7] What is this funny tree in the thr Robert F. Simmig\n" +" 2 [ 12] +-E Sephan Wagner Es\n" +" 3 [ 230] | `-ETin thread-level (was: What is Bob Johnson Ebob\n" +" 4 [ 22] `-Etin threading menu Brian Richardson\n" +msgstr "" +"-E 1 [ 7] What is this funny tree in the thr Robert F. Simmig\n" +" 2 [ 12] +-E Sephan Wagner Es\n" +" 3 [ 230] | `-ETin thread-level (was: What is Bob Johnson Ebob\n" +" 4 [ 22] `-Etin threading menu Brian Richardson\n" + +# type: Plain text +#. FIXME - add description of fields +#: ../tin.1:406 +msgid "At the Article level the page header has the following format:" +msgstr "" + +# type: Plain text +#: ../tin.1:412 +#, no-wrap +msgid "" +"Sun, 28 Dec 1997 21:21:01 de.admin.news.groups Thread 20 of 86\n" +"Lines 50 Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL Article 47 of 59\n" +"Urs Janssen Eurs@akk.orgE at Arbeitskreis Kultur und Kommunikati\n" +msgstr "" +"So, 28 Dez 1997 21:21:01 de.admin.news.groups Thread 20 v. 86\n" +"Zeilen 50 Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL Artikel 47 von 59\n" +"Urs Janssen Eurs@akk.orgE bei Arbeitskreis Kultur und Kommunikati\n" + +# type: Plain text +#: ../tin.1:414 +#, no-wrap +msgid "article-body\n" +msgstr "Artikel-Körper\n" + +# type: SS +#: ../tin.1:417 +#, no-wrap +msgid "COMMON MOVING KEYS" +msgstr "" + +# type: Plain text +#: ../tin.1:420 +msgid "" +"This table shows the common keys used for moving around all levels within " +"B." +msgstr "" + +# type: ta +#: ../tin.1:422 +#, no-wrap +msgid "\\w'Beg. of list/article 'u +\\w'ANSI/vt100 'u" +msgstr "" + +# type: Plain text +#: ../tin.1:430 +#, no-wrap +msgid "" +"\tANSI/vt100\tOther Terminals\n" +"Beg. of list/article\tB\tB (B<^>)\n" +"End of list/article\tB\tB (B<$>)\n" +"Page Up\tB\tB (B, B<^U> or B<^B>)\n" +"Page Down\tB\tB (B<^D> or B<^F> or BSPACEE>)\n" +"Line Up\tB\tB (B or B<^P>)\n" +"Line Down\tB\tB (B or B<^N>)\n" +msgstr "" + +# type: SS +#: ../tin.1:434 +#, no-wrap +msgid "COMMON EDITING COMMANDS" +msgstr "" + +# type: Plain text +#: ../tin.1:439 +msgid "" +"An emacs style editing package allows the easy editing of input strings. An " +"history list allows the easy reuse of previously entered strings. In " +"addition to the cursor keys, the following commands are available when " +"editing a string:" +msgstr "" + +# type: TP +#: ../tin.1:440 +#, no-wrap +msgid "B<^A, ^E>" +msgstr "B<^A, ^E>" + +# type: Plain text +#: ../tin.1:443 +msgid "move to beginning or end of line, respectively." +msgstr "" + +# type: TP +#: ../tin.1:443 +#, no-wrap +msgid "B<^F, ^B>" +msgstr "B<^F, ^B>" + +# type: Plain text +#: ../tin.1:446 +msgid "non-destructive move forward or back one location, respectively." +msgstr "" + +# type: TP +#: ../tin.1:446 +#, no-wrap +msgid "B<^D>" +msgstr "B<^D>" + +# type: Plain text +#: ../tin.1:450 +msgid "" +"delete the character currently under the cursor, or send EOF if no " +"characters in the buffer." +msgstr "" + +# type: TP +#: ../tin.1:450 +#, no-wrap +msgid "B<^H, EDELE>" +msgstr "B<^H, EENTFE>" + +# type: Plain text +#: ../tin.1:453 +msgid "delete character left of the cursor." +msgstr "Zeichen links vom Cursor löschen." + +# type: TP +#: ../tin.1:453 +#, no-wrap +msgid "B<^K>" +msgstr "B<^K>" + +# type: Plain text +#: ../tin.1:456 +msgid "delete from cursor to end of line." +msgstr "Lösche vom Cursor bis zum Zeilenende." + +# type: TP +#: ../tin.1:456 +#, no-wrap +msgid "B<^P, ^N>" +msgstr "B<^P, ^N>" + +# type: Plain text +#: ../tin.1:459 +msgid "move through history, previous and next, respectively." +msgstr "" + +# type: TP +#: ../tin.1:459 +#, no-wrap +msgid "B<^L, ^R>" +msgstr "B<^L, ^R>" + +# type: Plain text +#: ../tin.1:462 +msgid "redraw the current line." +msgstr "" + +# type: TP +#: ../tin.1:462 +#, no-wrap +msgid "BCRE>" +msgstr "BCRE>" + +# type: Plain text +#: ../tin.1:466 +msgid "" +"places line on history list if non-blank, appends newline and returns to the " +"caller." +msgstr "" + +# type: TP +#: ../tin.1:466 +#, no-wrap +msgid "BESCE>" +msgstr "BESCE>" + +# type: Plain text +#: ../tin.1:471 +msgid "aborts the present editing operation." +msgstr "" + +# type: SS +#: ../tin.1:471 +#, no-wrap +msgid "GLOBAL COMMANDS" +msgstr "ALLGEMEINE BEFEHLE" + +# type: Plain text +#: ../tin.1:474 +msgid "" +"The following commands are available at all 4 menu levels and always have " +"the same effect." +msgstr "" +"Die folgenden Befehle stehen in allen vier Ebenen zur Verfügung und bewirken " +"überall das Gleichen." + +# type: TP +#: ../tin.1:475 ../tin.1:1338 ../tin.1:1391 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:480 +msgid "" +"Shell escape. B by itself will launch a shell, B " +"EcommandE will run an external EcommandE. This facility may " +"have been disabled by the System Administrator." +msgstr "" + +# type: TP +#: ../tin.1:480 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:483 +msgid "Toggle use of ANSI color." +msgstr "" + +# type: TP +#: ../tin.1:483 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:486 +msgid "Redraw the current screen." +msgstr "Bildschirminhalt neu aufbauen." + +# type: TP +#: ../tin.1:486 +#, no-wrap +msgid "B'>" +msgstr "B'>" + +# type: Plain text +#: ../tin.1:489 +msgid "Scroll screen up by one line." +msgstr "Eine Zeile nach oben blättern (scrollen)." + +# type: TP +#: ../tin.1:489 +#, no-wrap +msgid "B'>" +msgstr "B'>" + +# type: Plain text +#: ../tin.1:492 +msgid "Scroll screen down by one line." +msgstr "Eine Zeile nach unten blättern (scrollen)." + +# type: TP +#: ../tin.1:492 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:506 +msgid "" +"Reload postponed article. If your system blocks the B key you " +"must quote it by pressing 'B<^V>' (CTRL-V) first. The postpone-menu offers " +"the following actions: B ('B') = reload and spawn editor; " +"B ('B') = post article (without spawning editor); " +"B ('B') = post all postponed articles (without spawning " +"editor); B ('B') = skip this article; B ('B') = quit " +"postponed menu. Currently there is no 'simple' way to delete a postponed " +"article from the postponed-file, you have to use the following command " +"sequence instead: reload it with B, enter editor with " +"B, quit editor, discard posting with B " +"('B<^O>''B''B'). See also ''B<-o>'' command-line switch." +msgstr "" + +# type: TP +#: ../tin.1:506 ../tin.1:1344 ../tin.1:1398 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:512 +msgid "" +"Help screen of commands available on the current menu. You can use " +"B ('B'), B ('B') and B ('B<" +"\\e>') to search on this screen. B ('B') returns to the menu." +msgstr "" + +# type: TP +#: ../tin.1:512 ../tin.1:1347 ../tin.1:1401 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:515 ../tin.1:1350 ../tin.1:1404 +msgid "Toggle the display of help mini menu at the bottom of the screen." +msgstr "" + +# type: TP +#: ../tin.1:515 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:521 +msgid "" +"List articles posted by user. The date posted, the newsgroup and the subject " +"are listed. You can use B ('B'), B ('B') and " +"B ('B<\\e>') to search on this screen. B ('B') " +"returns to the menu." +msgstr "" + +# type: TP +#: ../tin.1:521 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#. -------------------------------------------------------------------- +#: ../tin.1:526 +msgid "Print B version information." +msgstr "Versions-Informationen ausgeben." + +# type: SS +#: ../tin.1:526 +#, no-wrap +msgid "NEWSGROUP SELECTION COMMANDS" +msgstr "" + +# type: TP +#: ../tin.1:527 ../tin.1:655 ../tin.1:905 ../tin.1:1069 ../tin.1:3242 +#, no-wrap +msgid "B<4>" +msgstr "B<4>" + +# type: Plain text +#: ../tin.1:530 +msgid "Select group 4." +msgstr "Gruppe 4 auswählen." + +# type: TP +#: ../tin.1:530 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:534 +msgid "" +"Reset I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. This will destroy all " +"records of which articles have been read, so use this carefully." +msgstr "" + +# type: TP +#: ../tin.1:534 ../tin.1:676 ../tin.1:926 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:538 ../tin.1:680 ../tin.1:930 +msgid "" +"Choose a range of articles to be affected by the next command. See the " +"section \"RANGES\" for more information." +msgstr "" +"Wählen Sie eine Reihe von Artikeln auf die der nächste Befehl angewendet " +"wird. Siehe Abschnitt \"BEREICHE\" für weitere Informationen." + +# type: TP +#: ../tin.1:538 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:541 +msgid "Sort the list of newsgroups." +msgstr "Liste vorhandener Newsgroups sortieren." + +# type: TP +#: ../tin.1:541 ../tin.1:683 ../tin.1:933 ../tin.1:1123 ../tin.1:1335 +#: ../tin.1:1385 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:544 ../tin.1:936 ../tin.1:1126 ../tin.1:1338 ../tin.1:1388 +msgid "Repeat the previous search." +msgstr "Vorherige Suche wiederholen." + +# type: TP +#: ../tin.1:544 ../tin.1:686 ../tin.1:936 ../tin.1:1126 ../tin.1:1329 +#: ../tin.1:1379 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:547 +msgid "Search for a group by name and description (if displayed)." +msgstr "" + +# type: TP +#: ../tin.1:547 ../tin.1:689 ../tin.1:939 ../tin.1:1129 ../tin.1:1332 +#: ../tin.1:1382 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:550 +msgid "Backward search through the group names and descriptions." +msgstr "" + +# type: TP +#: ../tin.1:550 +#, no-wrap +msgid "BCRE'>" +msgstr "BCRE'>" + +# type: Plain text +#: ../tin.1:553 +msgid "Read current group." +msgstr "" + +# type: TP +#: ../tin.1:553 +#, no-wrap +msgid "BTABE' 'n'>" +msgstr "BTABE' 'n'>" + +# type: Plain text +#: ../tin.1:557 +msgid "" +"Enter next group with unread news. Will wrap around to the beginning of the " +"group selection list looking for unread groups." +msgstr "" + +# type: TP +#: ../tin.1:557 ../tin.1:764 ../tin.1:977 ../tin.1:1187 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:561 +msgid "" +"Make current group as all read [after confirmation] and move to the next " +"group in the group selection list." +msgstr "" + +# type: TP +#: ../tin.1:561 ../tin.1:768 ../tin.1:981 ../tin.1:1191 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:565 +msgid "" +"Mark current group as all read [after confirmation] and enter the next " +"unread group in the group selection list." +msgstr "" + +# type: TP +#: ../tin.1:565 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:569 +msgid "" +"Toggle display to show just the group name or the group name and the group " +"descriptions." +msgstr "" + +# type: TP +#: ../tin.1:569 ../tin.1:781 ../tin.1:994 ../tin.1:1203 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:572 ../tin.1:784 ../tin.1:997 ../tin.1:1206 +msgid "Edit the filter file and reload it afterwards." +msgstr "Filter-Datei bearbeiten und danach anwenden." + +# type: TP +#: ../tin.1:572 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:576 ../tin.1:788 +msgid "" +"Choose a new group by name. This command can be used to access any group, " +"even those not currently yanked in." +msgstr "" + +# type: TP +#: ../tin.1:576 ../tin.1:791 ../tin.1:997 ../tin.1:1219 ../tin.1:1341 +#: ../tin.1:1394 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:581 +msgid "" +"Toggle the display of the description of the current newsgroup in the last " +"line. This will not be available if B was started with the \\&''B<-d>'' " +"option." +msgstr "" + +# type: TP +#: ../tin.1:581 ../tin.1:795 ../tin.1:1000 ../tin.1:1222 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:584 ../tin.1:798 ../tin.1:1003 ../tin.1:1225 +msgid "Toggle inverse video." +msgstr "" + +# type: TP +#: ../tin.1:584 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:590 +msgid "" +"Move the current group within the group selection list. By entering '1' the " +"group will become the first displayed group in the list, by entering '8' the " +"eighth group in the list etc. By entering '$' the group will be the last " +"group displayed." +msgstr "" + +# type: TP +#: ../tin.1:590 ../tin.1:815 ../tin.1:1239 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:594 ../tin.1:819 ../tin.1:1243 +msgid "" +"User configurable options menu (for more information see section \"GLOBAL " +"OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\")." +msgstr "" + +# type: TP +#: ../tin.1:594 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:597 +msgid "Positions the cursor on the next group with unread articles in it." +msgstr "" + +# type: TP +#: ../tin.1:597 ../tin.1:836 ../tin.1:1022 ../tin.1:1260 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:601 +msgid "" +"Quit B - ask the user to confirm if B is set " +"accordingly." +msgstr "" + +# type: TP +#: ../tin.1:601 ../tin.1:839 ../tin.1:1025 ../tin.1:1263 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:604 ../tin.1:842 ../tin.1:1028 ../tin.1:1266 +msgid "Quit B - don't ask the user to confirm." +msgstr "Beendet B sofort, ohne Bestätigungsnachfrage." + +# type: TP +#: ../tin.1:604 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:609 +msgid "" +"Toggle display of all subscribed to groups and just those groups containing " +"unread articles. Command has no effect if groups were specified on the " +"command-line when B was started." +msgstr "" + +# type: TP +#: ../tin.1:609 ../tin.1:845 ../tin.1:1028 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:613 ../tin.1:849 ../tin.1:1032 +msgid "" +"Mail a bug report or comment to Etin-bugs@tin.orgE. This is the best " +"way of getting bugs fixed and features added/changed." +msgstr "" +"Einen Fehlerbericht oder Kommentar an Etin-bugs@tin.orgE senden. " +"Dies ist der sinnvollste Weg um Fehler zu melden und behoben zu bekommen " +"bzw. nach neuen Funktionen zu fragen." + +# type: TP +#: ../tin.1:613 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:616 +msgid "Subscribe to current group." +msgstr "Ausgewählte Gruppe abonnieren." + +# type: TP +#: ../tin.1:616 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:621 +msgid "" +"Subscribe to groups matching user specified pattern. See the section " +"\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B " +"understands." +msgstr "" + +# type: TP +#: ../tin.1:621 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:626 +msgid "" +"Unsubscribe to current group. This can be used to remove bogus groups. See " +"B in the \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" +"\" section." +msgstr "" + +# type: TP +#: ../tin.1:626 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:631 +msgid "" +"Unsubscribe to groups matching user specified pattern. See the section " +"\"NEWSGROUP LISTS & WILDCARDS\" for the types of pattern that B " +"understands." +msgstr "" + +# type: TP +#: ../tin.1:631 ../tin.1:873 ../tin.1:1047 ../tin.1:1300 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:637 +msgid "" +"Post an article to current group. If posting fails for some reason, you'll " +"get the chance to B ('B') the article again, B " +"('B') it for later processing (see also ''B<-o>'' command-line switch) or " +"discard it via B ('B')." +msgstr "" + +# type: TP +#: ../tin.1:637 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:640 +msgid "Quit B without saving any changes to the configuration." +msgstr "" + +# type: TP +#: ../tin.1:640 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:645 +msgid "" +"Yanks in all groups. Toggles the displayed groups between all the groups in " +"the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file and just " +"those that are subscribed to in I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>." +msgstr "" + +# type: TP +#: ../tin.1:645 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:649 +msgid "" +"Reread the I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file " +"to see if any new news has arrived since starting B." +msgstr "" + +# type: TP +#: ../tin.1:649 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#. -------------------------------------------------------------------- +#: ../tin.1:654 +msgid "Mark all articles in the current group as unread." +msgstr "Alle Artikel in der aktuellen Gruppe als ungelesen markieren." + +# type: SS +#: ../tin.1:654 +#, no-wrap +msgid "GROUP INDEX COMMANDS" +msgstr "" + +# type: Plain text +#: ../tin.1:658 +msgid "Select article 4." +msgstr "Artikel 4 auswählen." + +# type: TP +#: ../tin.1:658 ../tin.1:908 ../tin.1:1072 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:662 ../tin.1:912 ../tin.1:1076 +msgid "" +"Auto select article(s) using a menu. Read the section \"FILTERING ARTICLES\" " +"for more information." +msgstr "" + +# type: TP +#: ../tin.1:662 ../tin.1:912 ../tin.1:1088 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:666 ../tin.1:916 ../tin.1:1092 +msgid "" +"Kill article(s) using a menu. Read the section \"FILTERING ARTICLES\" for " +"more information." +msgstr "" + +# type: TP +#: ../tin.1:666 ../tin.1:916 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:671 ../tin.1:921 +msgid "" +"Mark current article, thread, range, auto-selected (hot) articles, articles " +"matching pattern or tagged articles as read. A prompt asks which type should " +"be marked." +msgstr "" + +# type: TP +#: ../tin.1:671 ../tin.1:921 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:676 ../tin.1:926 +msgid "" +"Mark current article, thread, range, auto-selected (hot) articles, articles " +"matching pattern or tagged articles as unread. A prompt asks which type " +"should be marked." +msgstr "" + +# type: TP +#: ../tin.1:680 ../tin.1:930 ../tin.1:1120 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:683 ../tin.1:933 ../tin.1:1123 +msgid "Re-enter the last message that was viewed." +msgstr "" + +# type: Plain text +#: ../tin.1:686 +msgid "Repeat the previous search" +msgstr "Vorherige Suche wiederholen." + +# type: Plain text +#: ../tin.1:689 +msgid "Search forward for specified subject." +msgstr "" + +# type: Plain text +#: ../tin.1:692 +msgid "Search backward for specified subject." +msgstr "" + +# type: TP +#: ../tin.1:692 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:695 +msgid "Select current thread for later processing." +msgstr "" + +# type: TP +#: ../tin.1:695 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:699 +msgid "" +"Selects all threads in current group. It is a shortcut for calling " +"B with a pattern of ''*''." +msgstr "" + +# type: TP +#: ../tin.1:699 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:704 +msgid "" +"Toggle selection of current thread. If at least one unread article, (but not " +"every unread article) in the current thread is selected, then all unread " +"articles become selected." +msgstr "" + +# type: TP +#: ../tin.1:704 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:709 +msgid "" +"For each thread in current group, if it at least one unread article is " +"selected, all unread articles become selected. This is useful for auto-" +"selection on author where reader wants to see entire thread." +msgstr "" + +# type: TP +#: ../tin.1:709 +#, no-wrap +msgid "B" + +# type: Plain text +#: ../tin.1:715 +msgid "" +"Prompts for a pattern with which to match on. All threads whose subjects " +"match the pattern will be marked selected. A pattern of ''*'' will match all " +"subjects. Entering just 'BCRE>' will re-use the last pattern that " +"was entered." +msgstr "" + +# type: TP +#: ../tin.1:715 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:718 +msgid "Reverse all selections on all articles." +msgstr "" + +# type: TP +#: ../tin.1:718 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:724 +msgid "" +"Undo all selections on all articles. It clears the toggle effect of " +"B ('B') command. Thus after first doing a " +"B, one can then do B to reset articles. " +"Thus, one can iteratively whittle down uninteresting threads." +msgstr "" + +# type: TP +#: ../tin.1:724 ../tin.1:954 ../tin.1:1146 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:729 ../tin.1:959 ../tin.1:1151 +msgid "" +"Pipe current article / thread / auto-selected (hot) articles / articles " +"matching pattern / tagged articles into command. See the section \"MAILING " +"PIPING PRINTING REPOSTING AND SAVING ARTICLES\" for more information." +msgstr "" + +# type: TP +#: ../tin.1:729 ../tin.1:1151 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:738 +msgid "" +"Auto select article(s) with a single key [after confirmation]. The defaults " +"used for selection are based upon the following four tinrc config variables: " +"B, B, " +"B and B. Read " +"the section \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\" for a " +"full explanation of these variables and \"FILTERING ARTICLES\" for more " +"information on filtering." +msgstr "" + +# type: TP +#: ../tin.1:738 ../tin.1:1160 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:747 +msgid "" +"Kill article(s) with a single key [after confirmation]. The defaults used " +"for killing are based upon the following four tinrc config variables: " +"B, B, " +"B and B. Read the " +"section \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\" for a full " +"explanation of these variables and \"FILTERING ARTICLES\" for more " +"information on filtering." +msgstr "" + +# type: TP +#: ../tin.1:747 +#, no-wrap +msgid "BCRE'>" +msgstr "BCRE'>" + +# type: Plain text +#: ../tin.1:750 +msgid "Read current article." +msgstr "" + +# type: TP +#: ../tin.1:750 +#, no-wrap +msgid "BTABE'>" +msgstr "BTABE'>" + +# type: Plain text +#: ../tin.1:753 +msgid "View next unread article or group." +msgstr "" + +# type: TP +#: ../tin.1:753 ../tin.1:965 ../tin.1:1177 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:757 +msgid "" +"Author forward search. This searches for articles with a specific ''From:'' " +"line." +msgstr "" + +# type: TP +#: ../tin.1:757 ../tin.1:970 ../tin.1:1180 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:760 ../tin.1:973 +msgid "Author backward search. Otherwise, see B ('B') above." +msgstr "" + +# type: TP +#: ../tin.1:760 ../tin.1:973 ../tin.1:1183 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:764 ../tin.1:977 ../tin.1:1187 +msgid "" +"Search the body of all articles in group (can be slow). You can abort the " +"search using B ('B')." +msgstr "" + +# type: Plain text +#: ../tin.1:768 +msgid "" +"Mark all articles as read [after confirmation] then return to the group " +"selection list. Move cursor to next group." +msgstr "" + +# type: Plain text +#: ../tin.1:772 +msgid "" +"Mark all articles as read [after confirmation] and enter the next group with " +"unread news." +msgstr "" + +# type: TP +#: ../tin.1:772 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:776 ../tin.1:989 +msgid "" +"Cycle the display of the author through all the possible options for the " +"tinrc variable B." +msgstr "" + +# type: TP +#: ../tin.1:776 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:781 ../tin.1:994 ../tin.1:1200 +msgid "" +"Cancel (delete) or supersede (overwrite) the current article. It must have " +"been posted by the same user. The cancel message can be seen in the " +"newsgroup 'control' or 'control.cancel'." +msgstr "" + +# type: TP +#: ../tin.1:784 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:788 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:791 +msgid "Toggle article/group limit." +msgstr "" + +# type: Plain text +#: ../tin.1:795 +msgid "" +"Display the subject of the first article in the current thread in the last " +"line." +msgstr "" + +# type: TP +#: ../tin.1:798 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:804 +msgid "" +"Mark article/thread as read and move onto the next unread article/thread. If " +"a range of articles/threads is set, the range will be marked as read instead " +"of the current article/thread. When tagged articles/threads are present, a " +"prompt asks how to proceed." +msgstr "" + +# type: TP +#: ../tin.1:804 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:807 +msgid "Open the thread under the current cursor position." +msgstr "" + +# type: TP +#: ../tin.1:807 ../tin.1:1009 ../tin.1:1231 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:810 ../tin.1:1012 ../tin.1:1234 +msgid "Look up article by ''Message-ID:''." +msgstr "Artikel anhand der ''Message-ID:'' nachschlagen." + +# type: TP +#: ../tin.1:810 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:815 ../tin.1:1017 ../tin.1:1239 +msgid "" +"Mail current article / thread / auto-selected (hot) articles / articles " +"matching pattern / tagged articles to someone. See the section \"MAILING " +"PIPING PRINTING REPOSTING AND SAVING ARTICLES\" for more information." +msgstr "" + +# type: TP +#: ../tin.1:819 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:822 +msgid "Go to next group." +msgstr "" + +# type: TP +#: ../tin.1:822 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:825 +msgid "Go to next unread article." +msgstr "" + +# type: TP +#: ../tin.1:825 ../tin.1:1017 ../tin.1:1249 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:830 ../tin.1:1022 ../tin.1:1254 +msgid "" +"Send current article / thread / auto-selected (hot) articles / articles " +"matching pattern / tagged articles to printer. See the section \"MAILING " +"PIPING PRINTING REPOSTING AND SAVING ARTICLES\" for more information." +msgstr "" + +# type: TP +#: ../tin.1:830 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:833 +msgid "Go to previous group." +msgstr "" + +# type: TP +#: ../tin.1:833 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:836 +msgid "Go to previous unread article." +msgstr "" + +# type: Plain text +#: ../tin.1:839 ../tin.1:1025 +msgid "Return to previous level." +msgstr "" + +# type: TP +#: ../tin.1:842 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:845 +msgid "Toggle the display between all articles and unread articles." +msgstr "" + +# type: TP +#: ../tin.1:849 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:854 ../tin.1:1037 ../tin.1:1279 +msgid "" +"Save current article / thread / auto-selected (hot) articles / articles " +"matching pattern / tagged articles. See the section \"MAILING PIPING " +"PRINTING REPOSTING AND SAVING ARTICLES\" for more information." +msgstr "" + +# type: TP +#: ../tin.1:854 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:857 ../tin.1:1040 ../tin.1:1282 +msgid "Save marked articles automatically without further prompting." +msgstr "Markierte Artikel automatisch ohne weiteres Nachfragen speichern." + +# type: TP +#: ../tin.1:857 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:862 +msgid "" +"Toggle tag-status of current article / thread for B ('B') / " +"B ('B<|>') / B ('B') / B ('B') / " +"B ('B')." +msgstr "" + +# type: TP +#: ../tin.1:862 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:865 +msgid "" +"Automatically tag in order all the parts of the current multi-part message." +msgstr "" + +# type: TP +#: ../tin.1:865 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:870 +msgid "" +"Cycle the threading mode through no threading, threading by subject, " +"threading by references, threading on both subject and references, group " +"multipart articles into a thread (''Subject:'' based)." +msgstr "" + +# type: TP +#: ../tin.1:870 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:873 +msgid "Untag all articles that were tagged." +msgstr "" + +# type: Plain text +#: ../tin.1:879 +msgid "" +"Post an article to current group. If posting fails for some reason, you'll " +"get the chance to edit the article again via B ('B'), postpone " +"it via B ('B') for later processing (see also ''B<-o>'' " +"command-line switch) or discard it via B ('B')." +msgstr "" + +# type: TP +#: ../tin.1:879 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:885 +msgid "" +"Repost an already posted article / thread / auto-selected (hot) articles / " +"articles matching pattern / tagged articles to another newsgroup(s). Useful " +"for reposting from global to local newsgroups. Do not use this to cross-post " +"your own articles." +msgstr "" + +# type: TP +#: ../tin.1:885 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:893 +msgid "" +"Mark all unread articles that have not been selected as read, redraw screen " +"to reflect changes and put index at the first thread to begin reading. " +"Pressing B ('B') again will toggle back to the way " +"it was before. See B ('B<~>') command for clearing the toggle " +"effect, leaving the group will also clear the toggle effect and make the " +"changes permanent." +msgstr "" + +# type: TP +#: ../tin.1:893 ../tin.1:1054 ../tin.1:1313 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:896 +msgid "Mark current article as unread." +msgstr "Aktuellen Artikel als ungelesen markieren." + +# type: TP +#: ../tin.1:896 ../tin.1:1059 ../tin.1:1316 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#. -------------------------------------------------------------------- +#: ../tin.1:903 +msgid "" +"Mark current thread as unread. If a range of threads is set, the range will " +"be marked as unread instead of the current thread. When tagged threads are " +"present, a prompt asks how to proceed." +msgstr "" + +# type: SS +#: ../tin.1:903 +#, no-wrap +msgid "THREAD LISTING COMMANDS" +msgstr "" + +# type: Plain text +#: ../tin.1:908 +msgid "Select article 4 within thread." +msgstr "Artikel 4 aus dem Thread auswählen." + +# type: Plain text +#: ../tin.1:939 +msgid "Search forward for a specified subject." +msgstr "" + +# type: Plain text +#: ../tin.1:942 +msgid "Search backwards for a specified subject." +msgstr "" + +# type: TP +#: ../tin.1:942 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:945 +msgid "Select the current thread for later processing." +msgstr "" + +# type: TP +#: ../tin.1:945 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:948 +msgid "Toggle selection of current article." +msgstr "" + +# type: TP +#: ../tin.1:948 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:951 +msgid "Reverse article selections." +msgstr "Artikelauswahl invertieren." + +# type: TP +#: ../tin.1:951 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:954 +msgid "Undo all selections on current thread." +msgstr "" + +# type: TP +#: ../tin.1:959 +#, no-wrap +msgid "BCRE'>" +msgstr "BCRE'>" + +# type: Plain text +#: ../tin.1:962 +msgid "Read current article within thread." +msgstr "" + +# type: TP +#: ../tin.1:962 +#, no-wrap +msgid "BTABE'>" +msgstr "BTABE'>" + +# type: Plain text +#: ../tin.1:965 +msgid "View next unread article within thread." +msgstr "Nächsten ungelesenen Artikel im Thread anzeigen." + +# type: Plain text +#: ../tin.1:970 +msgid "" +"Author forward search. This searches for articles with a specific ''From:'' " +"line. The search will wrap over into the next thread if nothing is found in " +"the current one." +msgstr "" + +# type: Plain text +#: ../tin.1:981 +msgid "" +"Mark thread as read [after confirmation] and return to the group index " +"page. Move cursor to next thread." +msgstr "" + +# type: Plain text +#: ../tin.1:985 +msgid "" +"Mark thread as read [after confirmation] and enter the next thread " +"containing unread news." +msgstr "" + +# type: TP +#: ../tin.1:985 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:989 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1000 ../tin.1:1222 +msgid "Display the subject of the current article in the last line." +msgstr "Subject des geöffneten Artikels in der untersten Zeile anzeigen." + +# type: TP +#: ../tin.1:1003 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1009 +msgid "" +"Mark article as read and move onto the next unread article. If a range of " +"articles is set, the range will be marked as read instead of the current " +"article. When tagged articles are present, a prompt asks how to proceed." +msgstr "" + +# type: TP +#: ../tin.1:1012 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1032 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1037 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1040 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1044 ../tin.1:1286 +msgid "" +"Toggle tag status of current article for mailing, piping, printing, saving " +"or reposting." +msgstr "" + +# type: TP +#: ../tin.1:1044 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1047 +msgid "Untag all tagged threads." +msgstr "" + +# type: Plain text +#: ../tin.1:1054 +msgid "" +"Post an article to current group. If posting fails for some reason, you'll " +"get the chance to edit the article again via B ('B'), postpone " +"it for later processing via B ('B') (see also ''B<-o>'' " +"command-line switch) or discard it via B ('B')." +msgstr "" + +# type: Plain text +#: ../tin.1:1059 +msgid "" +"Mark current article in thread as unread. If a range of articles is set, the " +"range will be marked as unread instead of the current article. When tagged " +"articles are present, a prompt asks how to proceed." +msgstr "" + +# type: Plain text +#. -------------------------------------------------------------------- +#: ../tin.1:1064 +msgid "Mark all articles in thread as unread." +msgstr "Alle Artikel im aktuellen Thread as ungelesen markieren." + +# type: SS +#: ../tin.1:1064 +#, no-wrap +msgid "ARTICLE VIEWER COMMANDS" +msgstr "" + +# type: Plain text +#: ../tin.1:1069 +msgid "Read the first (base) article in this thread." +msgstr "" + +# type: Plain text +#: ../tin.1:1072 +msgid "Read response 4 in this thread." +msgstr "Antwort 4 im diesem Thread lesen." + +# type: TP +#: ../tin.1:1076 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1080 +msgid "" +"Reply through mail to the author of the current article with a copy of the " +"article with all headers included." +msgstr "" + +# type: TP +#: ../tin.1:1080 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1085 +msgid "Perform B(1) operations on article." +msgstr "" + +# type: TP +#: ../tin.1:1085 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1088 +msgid "Toggles the display mode (raw including all headers vs. cooked)." +msgstr "" + +# type: TP +#: ../tin.1:1092 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1095 +msgid "Toggle the TAB width between 4 and 8 characters." +msgstr "Tabulatorbreite zwischen 4 und 8 Zeichen Umschalten." + +# type: TP +#: ../tin.1:1095 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1099 +msgid "" +"Post a followup to the current article with a copy of the article with all " +"headers included." +msgstr "" + +# type: TP +#: ../tin.1:1099 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1103 +msgid "" +"Toggle TeX to ISO decoding for current article. The default behavior is " +"taken from the B variable in the tinrc file." +msgstr "" + +# type: TP +#: ../tin.1:1103 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1106 +msgid "" +"Toggles the display of all headers vs. headers in B." +msgstr "" + +# type: TP +#: ../tin.1:1106 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1109 +msgid "Toggle ROT-13 decoding for this article." +msgstr "" + +# type: TP +#: ../tin.1:1109 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1113 +msgid "" +"Toggle the display of uuencoded sections. The default behavior is taken from " +"the B variable in the tinrc file." +msgstr "" + +# type: TP +#: ../tin.1:1113 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1120 +msgid "" +"The formfeed character (^L) is often used to hide 'spoilers' that the reader " +"may not initially wish to see when viewing an article. Any text after a " +"formfeed is not displayed. This key-press acts like a reveal key and turns " +"the hidden text back on. Scrolling down will also reveal the text, scrolling " +"up will hide it again." +msgstr "" + +# type: Plain text +#: ../tin.1:1129 +msgid "Forward search the text of this article." +msgstr "" + +# type: Plain text +#: ../tin.1:1132 +msgid "Backward search the text of this article." +msgstr "" + +# type: TP +#: ../tin.1:1132 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1137 +msgid "" +"Skip to the end of the next quoted text-block in this article. Quoted text " +"is everything which matches B, B or " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1137 +#, no-wrap +msgid "B'>" +msgstr "B'>" + +# type: Plain text +#: ../tin.1:1140 +msgid "Go to the first article in the current thread." +msgstr "" + +# type: TP +#: ../tin.1:1140 +#, no-wrap +msgid "B'>" +msgstr "B'>" + +# type: Plain text +#: ../tin.1:1143 +msgid "Go to the last article in the current thread." +msgstr "" + +# type: TP +#: ../tin.1:1143 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1146 +msgid "Toggle word highlighting on/off." +msgstr "" + +# type: Plain text +#: ../tin.1:1160 +msgid "" +"Auto select article(s) with a single key. The defaults used for selection " +"are set based upon the following four tinrc config variables: " +"B, B, " +"B and B Read the " +"section \"GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES\" for a full " +"explanation of these variables and \"FILTERING ARTICLES\" for more " +"information on filtering." +msgstr "" + +# type: Plain text +#: ../tin.1:1169 +msgid "" +"Kill article(s) with a single key. The defaults used for killing are based " +"upon the following four tinrc config variables: B, " +"B, B and " +"B. Read the section \"GLOBAL OPTIONS MENU AND " +"TINRC CONFIGURABLE VARIABLES\" for a full explanation of these variables and " +"\"FILTERING ARTICLES\" for more information on filtering." +msgstr "" + +# type: TP +#: ../tin.1:1169 +#, no-wrap +msgid "BCRE'>" +msgstr "BCRE'>" + +# type: Plain text +#: ../tin.1:1172 +msgid "Go to next base article." +msgstr "" + +# type: TP +#: ../tin.1:1172 +#, no-wrap +msgid "BTABE'>" +msgstr "BTABE'>" + +# type: Plain text +#: ../tin.1:1177 +msgid "" +"Go to next unread article. If the tinrc variable B doesn't " +"contain PageNextUnread, then this key will first page through the current " +"article." +msgstr "" + +# type: Plain text +#: ../tin.1:1180 +msgid "Author forward search." +msgstr "Suche nach Autor (vorwärts)." + +# type: Plain text +#: ../tin.1:1183 +msgid "Author backward search." +msgstr "Suche nach Autor (rückwärts)." + +# type: Plain text +#: ../tin.1:1191 +msgid "" +"Mark the current thread as read [after confirmation] and return to the " +"previous menu. Move cursor to next item." +msgstr "" + +# type: Plain text +#: ../tin.1:1195 +msgid "" +"Mark the rest of the current thread as read [after confirmation] and enter " +"the next thread with unread articles." +msgstr "" + +# type: TP +#: ../tin.1:1195 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1200 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1203 +msgid "" +"Edit the current article. This is restricted to mailgroups and saved news." +msgstr "" + +# type: TP +#: ../tin.1:1206 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1209 +msgid "" +"Post a followup to the current article with a copy of the article included." +msgstr "" + +# type: TP +#: ../tin.1:1209 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1213 +msgid "" +"Post a followup to the current article without including a copy of the " +"article." +msgstr "" + +# type: TP +#: ../tin.1:1213 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1216 +msgid "Go to the start of the article." +msgstr "Zum Anfang des Artikels springen." + +# type: TP +#: ../tin.1:1216 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1219 +msgid "Go to the end of the article." +msgstr "Zum Ende des Artikels springen." + +# type: TP +#: ../tin.1:1225 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1228 +msgid "Mark rest of thread as read and move onto the next unread thread." +msgstr "" + +# type: TP +#: ../tin.1:1228 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1231 +msgid "Show the thread menu that the current article is a part of." +msgstr "" + +# type: TP +#: ../tin.1:1234 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1243 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1246 +msgid "Go to the next article." +msgstr "" + +# type: TP +#: ../tin.1:1246 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1249 +msgid "Go to the next unread article." +msgstr "" + +# type: TP +#: ../tin.1:1254 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1257 +msgid "Go to the previous article." +msgstr "" + +# type: TP +#: ../tin.1:1257 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1260 +msgid "Go to the previous unread article." +msgstr "" + +# type: Plain text +#: ../tin.1:1263 +msgid "Return to the previous level." +msgstr "" + +# type: TP +#: ../tin.1:1266 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1270 +msgid "" +"Reply through mail to the author of the current article with a copy of the " +"article included." +msgstr "" + +# type: TP +#: ../tin.1:1270 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1274 +msgid "" +"Reply through mail to the author of the current article without including " +"the original article." +msgstr "" + +# type: TP +#: ../tin.1:1274 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1279 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1282 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: ../tin.1:1286 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1289 +msgid "Return to group selection level." +msgstr "" + +# type: TP +#: ../tin.1:1289 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1292 +msgid "Go to parent article." +msgstr "" + +# type: TP +#: ../tin.1:1292 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1296 +msgid "" +"Display a list of URLs in the current article. See the section \"URL LISTING" +"\" for more information." +msgstr "" + +# type: TP +#: ../tin.1:1296 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1300 +msgid "" +"Display a list of attachments of the current article. See the section " +"\"ATTACHMENT LISTING\" for more information." +msgstr "" + +# type: Plain text +#: ../tin.1:1307 +msgid "" +"Post an article to the current group. If posting fails for some reason, " +"you'll get the chance to edit the article again via B ('B'), " +"postpone it for later processing via B ('B') (see also ''B<-" +"o>'' command-line switch) or discard it via B ('B')." +msgstr "" + +# type: TP +#: ../tin.1:1307 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1313 +msgid "" +"Repost an already posted article / thread / auto-selected (hot) articles / " +"articles matching pattern / tagged articles to another newsgroup(s). Useful " +"for reposting from global to local newsgroups. Do not use this to crosspost " +"your own articles." +msgstr "" + +# type: Plain text +#: ../tin.1:1316 +msgid "Mark article as unread." +msgstr "Alle Artikel als ungelesen markieren." + +# type: Plain text +#. -------------------------------------------------------------------- +#: ../tin.1:1321 +msgid "Mark the current thread as unread." +msgstr "Markiere den aktuellen Thread als ungelesen." + +# type: SS +#: ../tin.1:1321 +#, no-wrap +msgid "URL LISTING" +msgstr "URL LISTE" + +# type: Plain text +#: ../tin.1:1324 +msgid "" +"B ('B') displays a list of URLs in the current article. " +"Besides the common moving keys, the following commands are available:" +msgstr "" + +# type: TP +#: ../tin.1:1325 +#, no-wrap +msgid "BCRE'>" +msgstr "BCRE'>" + +# type: Plain text +#: ../tin.1:1329 +msgid "" +"The current URL will be prompted and opened using the B. " +"'BESCE>' or no input will skip the URL." +msgstr "" + +# type: Plain text +#: ../tin.1:1332 +msgid "URL forward search." +msgstr "Suche nach URL (vorwärts)." + +# type: Plain text +#: ../tin.1:1335 +msgid "URL backward search." +msgstr "Suche nach URL (rückwärts)." + +# type: TP +#: ../tin.1:1341 ../tin.1:1394 +msgid "Shell escape." +msgstr "" + +# type: Plain text +#: ../tin.1:1344 +msgid "Toggle the display of the current URL in the last line." +msgstr "" + +# type: Plain text +#: ../tin.1:1347 ../tin.1:1401 +msgid "Help screen of commands available." +msgstr "" + +# type: SS +#. -------------------------------------------------------------------- +#: ../tin.1:1353 +#, no-wrap +msgid "ATTACHMENT LISTING" +msgstr "" + +# type: Plain text +#: ../tin.1:1356 +msgid "" +"B ('B') displays a list of attachments of the current " +"article. Besides the common moving keys, the following commands are " +"available:" +msgstr "" + +# type: TP +#: ../tin.1:1357 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1360 +msgid "Pipe attachment into command." +msgstr "" + +# type: TP +#: ../tin.1:1360 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1363 +msgid "Save current attachment / tagged attachments to disk." +msgstr "" + +# type: TP +#: ../tin.1:1363 +#, no-wrap +msgid "BCRE'>" +msgstr "BCRE'>" + +# type: Plain text +#: ../tin.1:1366 +msgid "View attachment." +msgstr "Multimediaanhänge anzeigen." + +# type: TP +#: ../tin.1:1366 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1369 +msgid "Tag one or more attachments for saving." +msgstr "" + +# type: TP +#: ../tin.1:1369 +#, no-wrap +msgid "B" + +# type: Plain text +#: ../tin.1:1373 +msgid "" +"Prompts for a pattern to match. All attachments whose name/description or " +"content type/transfer encoding match the pattern will be tagged." +msgstr "" + +# type: TP +#: ../tin.1:1373 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1376 +msgid "Reverse tagging of all attachments." +msgstr "" + +# type: TP +#: ../tin.1:1376 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1379 +msgid "Untag all tagged attachments." +msgstr "" + +# type: Plain text +#: ../tin.1:1382 +msgid "Attachment forward search." +msgstr "" + +# type: Plain text +#: ../tin.1:1385 +msgid "Attachment backward search." +msgstr "" + +# type: TP +#: ../tin.1:1388 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1391 +msgid "" +"Pipe attachment into command. Uses the raw attachment, no decoding is done." +msgstr "" + +# type: Plain text +#: ../tin.1:1398 +msgid "" +"Toggle the display of the name/description of the current attachment in the " +"last line." +msgstr "Names oder Beschreibung des Anhangs in der untersten Zeile anzeigen." + +# type: SS +#. -------------------------------------------------------------------- +#: ../tin.1:1407 +#, no-wrap +msgid "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" +msgstr "" + +# type: Plain text +#. FIXME - add missing descriptions +#: ../tin.1:1417 +msgid "" +"At startup, B reads in the configuration files (see also B(5)). " +"They contain a list of variables that can be used to configure the way " +"B works. If it exists, the global configuration file, I<${TIN_LIBDIR:-" +"NEWSLIBDIR}/tinrc> is read. After that, the user's own configuration file is " +"read from I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>. The global file is useful " +"for distributing system-wide defaults to new users who have no private tinrc " +"yet." +msgstr "" + +# type: Plain text +#: ../tin.1:1425 +msgid "" +"The variables are user configurable by editing I<${TIN_HOMEDIR:-\"$HOME\"}/." +"tin/tinrc> directly. Most of them can also be set in the GLOBAL OPTIONS MENU " +"which is accessed by pressing B ('B') at all levels. It " +"allows the user to customize the behavior of B. The options are saved " +"to the file I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> when you exit B so " +"don't edit the file directly whilst B is running." +msgstr "" + +# type: Plain text +#: ../tin.1:1431 +msgid "" +"In the options menu use the cursor keys in the usual way to move around. Use " +"B ('B<^J>' or 'BCRE>') to 'open' the option you wish " +"to change. You will need to enter a new value or use 'BSPACEE>' to " +"toggle the available options. B will save the new value, " +"\\&'BESCE>' will abort without saving changes." +msgstr "" + +# type: Plain text +#: ../tin.1:1438 +msgid "" +"As with the other menus, B ('B<^L>') will redraw the screen. You " +"can use B ('B'), B ('B') and B " +"('B<\\e>') to search for a specific option. Use B ('B') to exit the " +"option menu and keep your changes. Use B ('B') to exit without " +"keeping your changes." +msgstr "" + +# type: Plain text +#: ../tin.1:1443 +msgid "" +"The options menu provides access to the attributes menu for the current " +"group by the B ('BTABE>') command. Pressing " +"B again toggles back to the options menu. For more " +"information see section \"ATTRIBUTES MENU AND GROUP ATTRIBUTES\"." +msgstr "" + +# type: Plain text +#: ../tin.1:1446 +msgid "" +"The B ('B') command brings up the scopes menu. For more " +"information see section \"SCOPES MENU\"." +msgstr "" + +# type: Plain text +#: ../tin.1:1450 +msgid "" +"Here is a full list of all the available variables. The name in braces is " +"the name of the corresponding setting in I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/" +"tinrc>." +msgstr "" + +# type: TP +#: ../tin.1:1450 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1456 ../tin.5:1185 +msgid "" +"If ON abbreviate long newsgroup names at group selection level and article " +"level (if necessary) like this: news.software.readers -E n.software." +"readers -E n.s.readers -E n.s.r. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1456 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1460 ../tin.5:1189 +msgid "" +"If ON add posted articles which start a new thread to filter for " +"highlighting follow-ups. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1460 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1463 ../tin.5:1192 +msgid "Turn ON advertising in header (''User-Agent:''). Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1463 +#, no-wrap +msgid "B" +msgstr "B<Übersp. multipart/alternative-Teile (alternative_handling)>" + +# type: Plain text +#: ../tin.1:1466 ../tin.5:1195 +msgid "" +"If ON strip multipart/alternative messages automatically. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1466 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1469 ../tin.5:1198 +msgid "The character used to show that an article was deleted. Default is 'D'." +msgstr "Zeichen das anzeigt, dass ein Artikel gelöscht wurde. Standard is 'D'." + +# type: TP +#: ../tin.1:1469 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1472 ../tin.5:1201 +msgid "" +"The character used to show that an article is in a range. Default is '#'." +msgstr "" + +# type: TP +#: ../tin.1:1472 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1476 ../tin.5:1205 +msgid "" +"The character used to show that an article will return as an unread article " +"when the group is next entered. Default is '-'." +msgstr "" + +# type: TP +#: ../tin.1:1476 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1480 ../tin.5:1209 +msgid "" +"The character used to show that an article/thread is auto-selected (hot). " +"Default is '*'." +msgstr "" + +# type: TP +#: ../tin.1:1480 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1484 ../tin.5:1213 +msgid "" +"The character used to show that an article/thread is recent (not older than " +"X days). See also B. Default is 'o'." +msgstr "" + +# type: TP +#: ../tin.1:1484 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1488 +msgid "" +"The character used to show that an article has not been read. Default is " +"\\&'+'." +msgstr "" + +# type: TP +#: ../tin.1:1488 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1491 ../tin.5:1220 +msgid "The character used to show that an article was read. Default is ' '." +msgstr "" + +# type: TP +#: ../tin.1:1491 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1495 ../tin.5:1224 +msgid "" +"The character used to show that an article was killed. Default is 'K'. " +"B must be set accordingly." +msgstr "" + +# type: TP +#: ../tin.1:1495 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1499 ../tin.5:1228 +msgid "" +"The character used to show that an article was hot before it was read. " +"Default is ':'. B must be set accordingly." +msgstr "" + +# type: TP +#: ../tin.1:1499 ../tin.5:1228 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1504 +msgid "" +"If ON B will ask before using a MIME viewer (B) to " +"display MIME messages. This only occurs if a MIME viewer is set. Default is " +"OFF." +msgstr "" + +# type: TP +#: ../tin.1:1504 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1508 ../tin.5:1239 +msgid "" +"Automatically put your name in the ''Cc:'' and/or ''Bcc:'' field when " +"mailing an article. Default is No." +msgstr "" + +# type: TP +#: ../tin.1:1508 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1512 ../tin.5:1243 +msgid "" +"If ON automatically list thread when entering it using right arrow key. " +"Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1512 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1515 ../tin.1:2430 +msgid "Default is OFF." +msgstr "Standard ist OFF." + +# type: TP +#: ../tin.1:1515 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1521 ../tin.5:1252 +msgid "" +"If ON articles/threads with ''Archive-name:'' in header will be " +"automatically saved with the Archive-name & part/patch no and post processed " +"if B is set to something other than 'No'. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1521 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1526 ../tin.5:1257 +msgid "" +"If set ON articles/threads will be saved in batch mode when save \\&''B<-" +"S>'' or mail ''B<-M>, B<-N>'' is specified on the command line. Default is " +"ON." +msgstr "" + +# type: TP +#: ../tin.1:1526 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1531 ../tin.5:1262 +msgid "" +"If set ON a mini menu of the most useful commands will be displayed at the " +"bottom of the screen for each level. Also a short posting etiquette will be " +"displayed after composing an article. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1531 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1536 +msgid "" +"If ON, create local copies of NNTP overview files. This can be used to " +"considerably speed up accessing large groups when using a slow connection. " +"See also \"INDEX FILES\". Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1536 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1542 ../tin.5:1271 +msgid "" +"If set ON the user is asked when quitting if all groups read during the " +"current session should be marked read. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1542 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1545 ../tin.5:1274 +msgid "Standard background color" +msgstr "Standard Hintergrundfarbe" + +# type: TP +#: ../tin.1:1545 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1548 ../tin.5:1277 +msgid "Color of sender (From:)" +msgstr "Farbe des Autors (From:)" + +# type: TP +#: ../tin.1:1548 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1551 ../tin.5:1280 +msgid "Color of header-lines" +msgstr "Farbe der Artikelheaderzeilen" + +# type: TP +#: ../tin.1:1551 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1554 ../tin.5:1283 +msgid "Color of help pages" +msgstr "Farbe des Hilfstext" + +# type: TP +#: ../tin.1:1554 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1557 ../tin.5:1286 +msgid "Color of background for inverse text" +msgstr "Hintergrundfarbe für inversen Text" + +# type: TP +#: ../tin.1:1557 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1560 ../tin.5:1289 +msgid "Color of foreground for inverse text" +msgstr "Vordergrundfarbe für inversen Text" + +# type: TP +#: ../tin.1:1560 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1564 ../tin.5:1293 +msgid "" +"Color of words emphasized like _this_. See also B and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1564 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1568 ../tin.5:1297 +msgid "" +"Color of words emphasized like /this/. See also B and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1568 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1572 ../tin.5:1301 +msgid "" +"Color of words emphasized like *this*. See also B and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1572 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1576 ../tin.5:1305 +msgid "" +"Color of words emphasized like -this-. See also B and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1576 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1579 ../tin.5:1308 +msgid "Color of mini help menu" +msgstr "Farbe des Minihilfemenü" + +# type: TP +#: ../tin.1:1579 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1582 ../tin.5:1311 +msgid "Color of actual news header fields" +msgstr "Farbe des angezeigten Headers" + +# type: TP +#: ../tin.1:1582 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1585 ../tin.5:1314 +msgid "Standard foreground color" +msgstr "Standard Vordergrundfarbe" + +# type: TP +#: ../tin.1:1585 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1588 ../tin.5:1317 +msgid "Color of quoted lines" +msgstr "Farbe der zitierten Zeilen" + +# type: TP +#: ../tin.1:1588 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1591 ../tin.5:1320 +msgid "Color of twice quoted lines" +msgstr "Farbe von zweifach zitierten Zeilen" + +# type: TP +#: ../tin.1:1591 +#, no-wrap +msgid "B3 times quoted line (col_quote3)>" +msgstr "B3-fach zitierten Zeilen (col_quote3)>" + +# type: Plain text +#: ../tin.1:1594 ../tin.5:1323 +msgid "Color of E=3 times quoted lines" +msgstr "Farbe von =E3-fach zitierten Zeilen" + +# type: TP +#: ../tin.1:1594 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1598 +msgid "" +"Color of response counter. This is the text that says \"Response x of y\" in " +"the article viewer." +msgstr "" + +# type: TP +#: ../tin.1:1598 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1601 ../tin.5:1330 +msgid "Color of signatures" +msgstr "Farbe von Signaturen" + +# type: TP +#: ../tin.1:1601 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1604 ../tin.5:1333 +msgid "Color of urls highlight" +msgstr "Farbe der hervorgehobenen URLs" + +# type: TP +#: ../tin.1:1604 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +# +#: ../tin.1:1607 ../tin.5:1336 +msgid "Color of verbatim blocks" +msgstr "Farbe des wortgetreu darzustellenden Textes" + +# type: TP +#: ../tin.1:1607 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1610 ../tin.5:1339 +msgid "Color of article subject" +msgstr "Farbe der Subjectzeile" + +# type: TP +#: ../tin.1:1610 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1613 ../tin.5:1342 +msgid "Color of text-lines" +msgstr "Farbe der Textzeilen" + +# type: TP +#: ../tin.1:1613 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1616 ../tin.5:1345 +msgid "Color of help/mail sign" +msgstr "Farbe des Hilfe/Mail-Zeichens" + +# type: TP +#: ../tin.1:1616 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: ../tin.1:1619 +msgid "Ask for manual confirmation to protect the user." +msgstr "" + +# type: IP +#: ../tin.1:1620 ../tin.1:1626 ../tin.1:1630 +#, no-wrap +msgid "\\(bu" +msgstr "\\(bu" + +# type: Plain text +#. TODO: check if all affected commands are marked [after confirmation] +#: ../tin.1:1626 +msgid "" +"B Ask for confirmation before executing certain dangerous commands " +"(e.g., B ('B')). Commands that this affects are marked in this " +"manual with '[after confirmation]'. Default is commands & quit." +msgstr "" + +# type: Plain text +#: ../tin.1:1630 +msgid "" +"B You'll be asked to confirm that you wish to exit B when you use " +"the B ('B') command." +msgstr "" + +# type: Plain text +#: ../tin.1:1634 +msgid "" +"B Ask for confirmation before marking all not selected (with " +"B ('B') command) articles as read." +msgstr "" +"B Ask for confirmation before marking all not selected (with " +"B ('B') command) articles as read." +msgstr "" + +# type: TP +#: ../tin.1:1635 +#, no-wrap +msgid "B" +msgstr "" + +# +#. most of these default_* settings are not available from the menu +#. as they are intended for internal use only. +# type: Plain text +#: ../tin.1:1647 +msgid "" +"Format string B uses for date representation. A description of the " +"different format options can be found at B(3). B uses " +"B(3) when available and supports most format options in his " +"fallback code. Default is \"%a, %d %b %Y %H:%M:%S\"." +msgstr "" + +# type: TP +#: ../tin.1:1647 +#, no-wrap +msgid "B<(default_art_search)>" +msgstr "" + +# type: TP +#: ../tin.1:1649 +#, no-wrap +msgid "B<(default_author_search)>" +msgstr "" + +# type: TP +#: ../tin.1:1651 +#, no-wrap +msgid "B<(default_config_search)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1654 ../tin.5:1384 +msgid "The last article/author/config option that was searched for." +msgstr "" + +# type: TP +#: ../tin.1:1654 +#, no-wrap +msgid "B<(default_filter_days)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1657 ../tin.5:1387 +msgid "Default is 28." +msgstr "" + +# type: TP +#: ../tin.1:1657 +#, no-wrap +msgid "B<(default_filter_kill_case)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1661 +msgid "" +"Default for quick (1 key) kill filter case. ON = filter case sensitive, OFF " +"= ignore case. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1661 +#, no-wrap +msgid "B<(default_filter_kill_expire)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1666 +msgid "" +"Default for quick (1 key) kill filter expire. ON = limit to " +"B, OFF = don't ever expire. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1666 +#, no-wrap +msgid "B<(default_filter_kill_global)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1670 +msgid "" +"Default for quick (1 key) kill filter global. ON=apply to all groups, " +"OFF=apply to current group. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1670 +#, no-wrap +msgid "B<(default_filter_kill_header)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1673 ../tin.5:1402 +msgid "Default for quick (1 key) kill filter header." +msgstr "" + +# type: IP +#: ../tin.1:1674 ../tin.1:1708 ../tin.1:1839 ../tin.1:2009 ../tin.1:2052 ../tin.1:2164 ../tin.1:2190 ../tin.1:2241 ../tin.1:2271 ../tin.1:2342 ../tin.1:2370 ../tin.1:2390 ../tin.1:2478 ../tin.5:1555 ../tin.5:1744 ../tin.5:1793 ../tin.5:1924 ../tin.5:1950 ../tin.5:2003 ../tin.5:2032 ../tin.5:2113 ../tin.5:2133 ../tin.5:2229 +#, no-wrap +msgid "0" +msgstr "" + +# type: Plain text +#: ../tin.1:1676 ../tin.1:1710 +#, no-wrap +msgid " ''Subject:'' (case sensitive)\n" +msgstr "" + +# type: IP +#: ../tin.1:1676 ../tin.1:1710 ../tin.1:1845 ../tin.1:2011 ../tin.1:2054 ../tin.1:2166 ../tin.1:2192 ../tin.1:2243 ../tin.1:2273 ../tin.1:2344 ../tin.1:2372 ../tin.1:2392 ../tin.1:2480 ../tin.5:1562 ../tin.5:1746 ../tin.5:1795 ../tin.5:1844 ../tin.5:1926 ../tin.5:1952 ../tin.5:2005 ../tin.5:2034 ../tin.5:2115 ../tin.5:2135 ../tin.5:2231 +#, no-wrap +msgid "1" +msgstr "" + +# type: Plain text +#: ../tin.1:1678 ../tin.1:1712 +#, no-wrap +msgid " ''Subject:'' (ignore case)\n" +msgstr "" + +# type: IP +#: ../tin.1:1678 ../tin.1:1712 ../tin.1:1850 ../tin.1:2013 ../tin.1:2058 ../tin.1:2169 ../tin.1:2196 ../tin.1:2245 ../tin.1:2276 ../tin.1:2346 ../tin.1:2374 ../tin.1:2394 ../tin.1:2482 ../tin.5:1567 ../tin.5:1748 ../tin.5:1800 ../tin.5:1848 ../tin.5:1929 ../tin.5:1956 ../tin.5:2007 ../tin.5:2037 ../tin.5:2117 ../tin.5:2137 ../tin.5:2233 +#, no-wrap +msgid "2" +msgstr "" + +# type: Plain text +#: ../tin.1:1680 ../tin.1:1714 +#, no-wrap +msgid " ''From:'' (case sensitive)\n" +msgstr "" + +# type: IP +#: ../tin.1:1680 ../tin.1:1714 ../tin.1:2015 ../tin.1:2172 ../tin.1:2200 ../tin.1:2247 ../tin.1:2278 ../tin.1:2348 ../tin.1:2396 ../tin.5:1750 ../tin.5:1932 ../tin.5:1960 ../tin.5:2009 ../tin.5:2039 ../tin.5:2139 +#, no-wrap +msgid "3" +msgstr "" + +# type: Plain text +#: ../tin.1:1682 ../tin.1:1716 +#, no-wrap +msgid " ''From:'' (ignore case)\n" +msgstr "" + +# type: IP +#: ../tin.1:1682 ../tin.1:1716 ../tin.1:2017 ../tin.1:2249 ../tin.1:2280 ../tin.1:2351 ../tin.1:2398 ../tin.5:1752 ../tin.5:1854 ../tin.5:2011 ../tin.5:2041 ../tin.5:2141 +#, no-wrap +msgid "4" +msgstr "" + +# type: Plain text +#: ../tin.1:1684 ../tin.1:1718 +#, no-wrap +msgid " ''Message-ID:'' & full ''References:'' line\n" +msgstr "" + +# type: IP +#: ../tin.1:1684 ../tin.1:1718 ../tin.1:2251 ../tin.1:2353 ../tin.1:2401 ../tin.5:2013 ../tin.5:2144 +#, no-wrap +msgid "5" +msgstr "" + +# type: Plain text +#: ../tin.1:1686 ../tin.1:1720 +#, no-wrap +msgid " ''Message-ID:'' & last ''References:'' entry only\n" +msgstr "" + +# type: IP +#: ../tin.1:1686 ../tin.1:1720 ../tin.1:2253 ../tin.1:2403 ../tin.5:2015 ../tin.5:2146 +#, no-wrap +msgid "6" +msgstr "" + +# type: Plain text +#: ../tin.1:1688 ../tin.1:1722 +#, no-wrap +msgid " ''Message-ID:'' entry only\n" +msgstr "" + +# type: IP +#: ../tin.1:1688 ../tin.1:1722 ../tin.1:2256 ../tin.1:2405 ../tin.5:2018 ../tin.5:2148 +#, no-wrap +msgid "7" +msgstr "" + +# type: Plain text +#: ../tin.1:1690 ../tin.1:1724 +#, no-wrap +msgid " ''Lines:''\n" +msgstr "" + +# type: TP +#: ../tin.1:1691 +#, no-wrap +msgid "B<(default_filter_select_case)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1695 ../tin.5:1419 +msgid "" +"Default for quick (1 key) auto-selection filter case. ON=filter case " +"sensitive, OFF=ignore case. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1695 +#, no-wrap +msgid "B<(default_filter_select_expire)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1700 +msgid "" +"Default for quick (1 key) auto-selection filter expire. ON = limit to " +"B, OFF = don't ever expire. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1700 +#, no-wrap +msgid "B<(default_filter_select_global)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1704 +msgid "" +"Default for quick (1 key) auto-selection filter global. ON=apply to all " +"groups OFF=apply to current group. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1704 +#, no-wrap +msgid "B<(default_filter_select_header)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1707 ../tin.5:1430 +msgid "Default for quick (1 key) auto-selection filter header." +msgstr "" + +# type: TP +#: ../tin.1:1725 +#, no-wrap +msgid "B<(default_goto_group)>" +msgstr "" + +# type: TP +#: ../tin.1:1727 +#, no-wrap +msgid "B<(default_group_search)>" +msgstr "" + +# type: TP +#: ../tin.1:1729 +#, no-wrap +msgid "B<(default_mail_address)>" +msgstr "" + +# type: TP +#: ../tin.1:1731 +#, no-wrap +msgid "B<(default_move_group)>" +msgstr "" + +# type: TP +#: ../tin.1:1733 +#, no-wrap +msgid "B<(default_pattern)>" +msgstr "" + +# type: TP +#: ../tin.1:1735 +#, no-wrap +msgid "B<(default_pipe_command)>" +msgstr "" + +# type: TP +#: ../tin.1:1737 +#, no-wrap +msgid "B<(default_post_newsgroups)>" +msgstr "" + +# type: TP +#: ../tin.1:1739 +#, no-wrap +msgid "B<(default_post_subject)>" +msgstr "" + +# type: TP +#: ../tin.1:1741 +#, no-wrap +msgid "B<(default_range_group)>" +msgstr "" + +# type: TP +#: ../tin.1:1743 +#, no-wrap +msgid "B<(default_range_select)>" +msgstr "" + +# type: TP +#: ../tin.1:1745 +#, no-wrap +msgid "B<(default_range_thread)>" +msgstr "" + +# type: TP +#: ../tin.1:1747 +#, no-wrap +msgid "B<(default_repost_group)>" +msgstr "" + +# type: TP +#: ../tin.1:1749 +#, no-wrap +msgid "B<(default_save_file)>" +msgstr "" + +# type: TP +#: ../tin.1:1751 +#, no-wrap +msgid "B<(default_save_mode)>" +msgstr "" + +# type: TP +#: ../tin.1:1753 +#, no-wrap +msgid "B<(default_select_pattern)>" +msgstr "" + +# type: TP +#: ../tin.1:1755 +#, no-wrap +msgid "B<(default_shell_command)>" +msgstr "" + +# type: TP +#: ../tin.1:1757 +#, no-wrap +msgid "B<(default_subject_search)>" +msgstr "" + +# type: TP +#: ../tin.1:1759 +#, no-wrap +msgid "B instead of highlighted bar (draw_arrow)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1763 +msgid "" +"Allows groups/articles to be selected by an arrow '-E' if set ON or by " +"an highlighted bar if set OFF. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1763 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1767 +msgid "" +"The format string used to create the editor start command with parameters. " +"Default is \"%E +%N %F\" (i.e., /bin/vi +7 .article)." +msgstr "" + +# type: TP +#: ../tin.1:1767 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1771 ../tin.5:1490 +msgid "" +"Specifies whether a screen redraw should always be done after certain " +"external commands. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1771 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1777 +msgid "" +"If B is E 0 not more than B articles/group " +"are fetched from the server. If B is E 0 B will start " +"fetching articles from your first unread minus absolute value of " +"B. Default is 0, which means no limit." +msgstr "" + +# type: TP +#: ../tin.1:1777 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1780 ../tin.5:1508 +msgid "If ON catchup group when leaving with the left arrow key. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1780 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1788 ../tin.5:1505 +msgid "" +"Which keys B should accept to jump to the next unread article. " +"Possible is any combination of B and B. When " +"B is set B jumps to the next article at the end of the " +"current one. When B is set B jumps immediately to the " +"next article when B ('BTABE>') is " +"pressed. Default is PageNextUnread." +msgstr "" + +# type: TP +#: ../tin.1:1788 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1792 ../tin.5:1512 +msgid "" +"Maximum length of the names of newsgroups to be displayed so that more of " +"the newsgroup description can be displayed. Default is 32." +msgstr "" + +# type: TP +#: ../tin.1:1792 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1801 +msgid "" +"If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then " +"sections of uuencoded data will be shown with a single tag line showing the " +"size and filename (much the same as a MIME attachment). If set to 'Hide all' " +"then any line that looks like uuencoded data will be folded into a tag " +"line. This is useful when uuencoded data is split across more than one " +"article but can also lead to false positives. This setting can also be " +"toggled in the article viewer. Default is 'No'." +msgstr "" + +# type: TP +#: ../tin.1:1801 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1808 +msgid "" +"Path, name and options of external B(1). If you are reading via NNTP " +"the default value is --internal (use built-in NNTP inews), else it is " +"\"inews -h\". The article is passed to B on STDIN via 'E " +"article'." +msgstr "" + +# type: TP +#: ../tin.1:1808 +#, no-wrap +msgid "B<(info_in_last_line)>" +msgstr "" + +#. this is missing from the Menu +# type: Plain text +#: ../tin.1:1815 +msgid "" +"If ON, show current group description or article subject in the last line " +"(not in the pager and global menu) - B ('B') toggles " +"setting. This facility is useful as the full width of the screen is " +"available to display long subjects. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1815 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1822 +msgid "" +"Interactive mailreader: if greater than 0 your mailreader will be invoked " +"earlier for reply so you can use more of its features (e.g. MIME, pgp, " +"...). 1 means include headers, 2 means don't include headers (old " +"use_mailreader_i=ON option). 0 turns off usage. This option has to suit " +"B. Default is 0." +msgstr "" + +#. TODO: fix menu description +#. mono_mark* currently do allow "Reverse video" even if +#. inverse_okay=FALSE +# type: TP +#: ../tin.1:1822 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1829 ../tin.5:1545 +msgid "" +"If ON use inverse video for page headers and URL highlighting. Default is " +"ON." +msgstr "" + +# type: TP +#: ../tin.1:1829 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1834 ../tin.5:1550 +msgid "" +"If ON keep all failed postings in I<${TIN_HOMEDIR:-\"$HOME\"}/dead.articles> " +"besides keeping the last failed posting in " +"I<${TIN_HOMEDIR:-\"$HOME\"}/dead.article>. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1834 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1838 +msgid "" +"This option controls the processing and display of articles that are " +"killed. There are 3 options:" +msgstr "" + +# type: Plain text +#: ../tin.1:1845 +msgid "" +"B is the 'traditional' behavior of B. Only " +"unread articles are killed once only by marking them read. As filtering only " +"happens on unread articles with B set to 0, B " +"and B are only shown once. When you reenter the " +"group the mark will be gone." +msgstr "" + +# type: Plain text +#: ../tin.1:1850 ../tin.5:1567 +msgid "" +"B will process all articles in the group and " +"therefore there is a processing overhead when using this option. Killed " +"articles are threaded as normal but they will be marked with " +"B." +msgstr "" + +# type: Plain text +#: ../tin.1:1854 ../tin.5:1571 +msgid "" +"B will process all articles in the group and " +"therefore there is a processing overhead when using this option. Killed " +"articles simply does not get displayed at all." +msgstr "" + +# type: Plain text +#: ../tin.1:1856 +msgid "Default is 0 (B)." +msgstr "" + +# type: TP +#: ../tin.1:1856 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1862 ../tin.5:1578 +msgid "" +"Allows 8bit characters unencoded in the header of mail message. Default is " +"OFF. Turning it ON is effective only if B is also set to " +"8bit. Leaving it OFF is safe for most users and compliant to Internet Mail " +"Standard (B and B). Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:1862 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1868 ../tin.5:1584 +msgid "" +"User's mail address (and full name), if not username@host. This is used when " +"creating articles, sending mail and when B(1) signing." +msgstr "" + +# type: TP +#: ../tin.1:1868 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1872 ../tin.5:1588 +msgid "" +"MIME encoding of the body in mail message, if necessary (8bit, base64, " +"quoted-printable, 7bit). Default is quoted-printable." +msgstr "" + +# type: TP +#: ../tin.1:1872 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1877 ../tin.5:1593 +msgid "" +"Format of quote line when replying (via mail) to an article (%A=Address, " +"%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, " +"%C=Firstname, %I=Initials). Default is \"In article %M you wrote:\"" +msgstr "" + +# type: TP +#: ../tin.1:1877 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1885 +msgid "" +"Select one of the following mailbox-formats: MBOXO (default, except for " +"SCO), MBOXRD or MMDF (default on SCO). See B(5) for more details on " +"MBOXO and MBOXRD and B(5) for more details about MMDF." +msgstr "" + +# type: TP +#: ../tin.1:1885 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1894 +msgid "" +"The directory where articles/threads are to be saved in B(5) " +"format. This feature is mainly for use with the B(1) mail program. It " +"allows the user to save articles/threads/groups simply by giving '=' as the " +"filename to save to. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/Mail>." +msgstr "" + +# type: TP +#: ../tin.1:1894 +#, no-wrap +msgid "B" +msgstr "" + +#. TODO: document %S, %T, %M, %F, %U ... +# type: Plain text +#: ../tin.1:1903 +msgid "" +"The format string used to create the mailer command with parameters that is " +"used for mailing articles to other people. Default is '%M \"%T\" E %F' " +"(e.g., /bin/mail \"iain\" E .article). The flexible format allows other " +"mailers with different command-line parameters to be used such as 'elm -s " +"\"%S\" \"%T\" E \"%F\"' (e.g., elm -s \"subject\" \"iain\" E " +".article) or 'sendmail -oi -oem -t E %F' (e.g. sendmail -oi -oem -t " +"E .article)." +msgstr "" + +# type: TP +#: ../tin.1:1903 +#, no-wrap +msgid "B<'Mark as (un)read' ignores tags (mark_ignore_tags)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1911 ../tin.5:1647 +msgid "" +"When this is ON, the B ('B'), B " +"('B'), B ('B') at Group level and B " +"('B') at Thread level functions mark just the current article or thread, " +"ignoring other tagged, (un)read articles. When OFF, the same function " +"presents a menu with choices of the current thread or article, all tagged, " +"unread articles, or nothing." +msgstr "" + +# type: TP +#: ../tin.1:1911 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1914 ../tin.5:1639 +msgid "If ON mark articles that are saved as read. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:1914 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1926 +msgid "" +"Path, name and options of external B(1) program used to view " +"non-textual parts of articles. To use the built-in viewer, set to " +"--internal. This is the default value when B(1) is not " +"installed. Leave it blank if you don't want any automatic viewing of " +"non-textual attachments. The 'V' command can always be used to manually view " +"any attachments. See also B." +msgstr "" + +# type: TP +#: ../tin.1:1926 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1939 +msgid "" +"Charset supported locally, which is also used for MIME header (charset " +"parameter and charset name in header encoding) in mail and news postings. If " +"B is defined at compile time, text in charset other " +"than the value of this parameter is considered not displayable and " +"represented as '?'. Otherwise, all character sets are regarded as compatible " +"with the display. If it's not set, the value of the environment variable " +"$B is used. US-ASCII or compile-time default is used in case " +"neither of them is defined. If your system supports B(3), this option " +"is disabled and you should use B instead." +msgstr "" + +# type: TP +#: ../tin.1:1939 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1950 +msgid "" +"Charset used for posting and MIME headers; replaces B. " +"Conversion between B and local charset (determined via " +"B(3)) is done via B(3), if this function is not " +"available on your system this option is disabled and you have to use " +"B instead. B is limited to one of the " +"following charsets:" +msgstr "" + +# type: Plain text +#: ../tin.1:1953 ../tin.5:1686 +msgid "" +"US-ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-{R,U,RU} " +"EUC-{CN,JP,KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8" +msgstr "" + +# type: Plain text +#: ../tin.1:1959 ../tin.5:1692 +msgid "" +"Not all values might work on your system, see B(3) for more " +"details. If it's not set, the value of the environment variable " +"$B is used. US-ASCII or compile-time default is used in case " +"neither of them is defined." +msgstr "" + +# type: TP +#: ../tin.1:1959 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1964 +msgid "" +"Character attribute of words emphasized like _this_. It depends on your " +"terminal which attributes are usable. See also B and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1964 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1969 +msgid "" +"Character attribute of words emphasized like /this/. It depends on your " +"terminal which attributes are usable. See also B and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1969 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1974 +msgid "" +"Character attribute of words emphasized like *this*. It depends on your " +"terminal which attributes are usable. See also B and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1974 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1979 +msgid "" +"Character attribute of words emphasized like -this-. It depends on your " +"terminal which attributes are usable. See also B and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:1979 +#, no-wrap +msgid "B<(newnews)>" +msgstr "" + +# type: Plain text +#: ../tin.1:1983 +msgid "" +"These are internal timers used by B to keep track of new newsgroups. " +"Do not change them unless you understand what they are for." +msgstr "" + +# type: TP +#: ../tin.1:1983 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1990 +msgid "" +"Which news headers you wish to see. If you want to see _all_ the headers, " +"place an '*' as this value. This is the only way a wildcard can be used. If " +"you enter 'X-' as the value, you will see all headers beginning with 'X-' " +"(like X-Alan or X-Pape). You can list more than one by delimiting with " +"spaces. Not defining anything turns off this option." +msgstr "" + +# type: TP +#: ../tin.1:1990 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:1999 +msgid "" +"Same as B except it denotes the opposite. An " +"example of using both options might be if you thought X- headers were A Good " +"Thing(tm), but thought Alan and Pape were miscreants... well then you would " +"do something like this: I " +"I. Not defining anything turns " +"off this option." +msgstr "" + +# type: TP +#: ../tin.1:1999 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2004 ../tin.5:1739 +msgid "" +"Format of quote line when posting/following up an article (%A=Address, " +"%D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, " +"%C=Firstname, %I=Initials). Default is \"%F wrote:\"." +msgstr "" + +# type: TP +#: ../tin.1:2004 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2008 +msgid "" +"The normalization form B should use to normalize unicode input. The " +"possible values are:" +msgstr "" + +# type: Plain text +#: ../tin.1:2011 ../tin.5:1746 +msgid "B: no normalization" +msgstr "" + +# type: Plain text +#: ../tin.1:2013 ../tin.5:1748 +msgid "B: Compatibility Decomposition, followed by Canonical Composition" +msgstr "" + +# type: Plain text +#: ../tin.1:2015 ../tin.5:1750 +msgid "B: Compatibility Decomposition" +msgstr "" + +# type: Plain text +#: ../tin.1:2017 ../tin.5:1752 +msgid "B: Canonical Decomposition, followed by Canonical Composition" +msgstr "" + +# type: Plain text +#: ../tin.1:2019 ../tin.5:1754 +msgid "B: Canonical Decomposition" +msgstr "" + +# type: Plain text +#: ../tin.1:2022 +msgid "" +"Some normalization modes are only available if they are supported by the " +"library B uses to do the normalization. Default is NFKC." +msgstr "" + +# type: TP +#: ../tin.1:2022 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2026 +msgid "" +"If ON put cursor at first unread article in group otherwise at last " +"article. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2026 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2037 ../tin.5:1774 +msgid "" +"Allows 8bit characters unencoded in the header of a news article, if set " +"this also disables the generation of MIME-headers when they are usually " +"required. Default is OFF. Only enacted if B is also set " +"to 8bit. In a number of local hierarchies where 8bit characters are used, " +"using unencoded (raw) 8bit characters in header is acceptable and sometimes " +"even recommended so that you need to check the convention adopted in the " +"local hierarchy of your interest to determine what to do with this and " +"B." +msgstr "" + +# type: TP +#: ../tin.1:2037 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2042 +msgid "" +"MIME encoding of the body in news message, if necessary. (8bit, base64, " +"quoted-printable, 7bit). Default is 8bit, which leads to no encoding. base64 " +"and quoted-printable are usually undesired on usenet." +msgstr "" + +# type: TP +#: ../tin.1:2042 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2047 +msgid "" +"If ON, then B will start an appropriate viewer program to display any " +"files that were post processed and uudecoded. The program is determined " +"using the mailcap file. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2047 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2051 +msgid "" +"This specifies whether to perform post processing on saved articles. The " +"following values are allowed:" +msgstr "" + +# type: Plain text +#: ../tin.1:2054 ../tin.5:1795 +msgid "B (default), no post processing is done." +msgstr "" + +# type: Plain text +#: ../tin.1:2058 +msgid "B, unpacking of multi-part B(1) files only." +msgstr "" + +# type: Plain text +#: ../tin.1:2060 ../tin.5:1802 +msgid "B, binary attachments and data will be decoded and saved." +msgstr "" + +# type: TP +#: ../tin.1:2061 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2067 ../tin.5:1809 +msgid "" +"Keep posted articles in " +"I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/>B. If no filename " +"is set then postings will not be saved. Default is 'posted'." +msgstr "" + +# type: TP +#: ../tin.1:2067 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2071 ../tin.5:1813 +msgid "" +"If ON, then the full article header is sent to the printer. Otherwise only " +"the ''Subject:'' and ''From:'' fields are output. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2071 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2080 +msgid "" +"The printer program with options that is to be used to print articles. The " +"default is B(1) for BSD machines and B(1) for SysV " +"machines. Printing from B may have been disabled by the System " +"Administrator." +msgstr "" + +# type: TP +#: ../tin.1:2080 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2084 ../tin.5:1827 +msgid "" +"If ON only save/print/pipe/mail unread articles (tagged articles excepted). " +"Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2084 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2087 +msgid "" +"If ON show empty ''Followup-To:'' header when editing an article. Default is " +"OFF." +msgstr "" + +# type: TP +#: ../tin.1:2087 +#, no-wrap +msgid "B" +msgstr "" + +#. TODO: document %s +# type: Plain text +#: ../tin.1:2092 ../tin.5:1837 +msgid "" +"The character used in quoting included text to article followups and mail " +"replies. The '_' character represents a blank character and is replaced with " +"' ' when read. Default is 'E_'." +msgstr "" + +# type: TP +#: ../tin.1:2092 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2099 +msgid "" +"How articles should be quoted when following up or replying to them. There " +"are a number of things that can be done: empty lines can be quoted, " +"signatures can be quoted and quote_chars can be compressed when quoting " +"multiple times (for example, 'E E E' will be turned into " +"'EEE'). The default is to compress quotes, and to quote empty " +"lines." +msgstr "" + +# type: Plain text +#: ../tin.1:2103 +msgid "" +"When you are viewing an article in raw mode ('B<^H>'), and follow up or " +"reply to it, the signature will be quoted even if it would otherwise not " +"be. If B is off, then the signature will never be quoted." +msgstr "" + +# type: TP +#: ../tin.1:2103 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2108 +msgid "" +"A regular expression that will be applied when reading articles. All " +"matching lines are shown in B. If B is blank, then " +"B uses a built-in default." +msgstr "" + +# type: TP +#: ../tin.1:2108 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2113 +msgid "" +"A regular expression that will be applied when reading articles. All " +"matching lines are shown in B. If B is blank, then " +"B uses a built-in default." +msgstr "" + +# type: TP +#: ../tin.1:2113 +#, no-wrap +msgid "B= 3 times q.l. (quote_regex3)>" +msgstr "" + +# type: Plain text +#: ../tin.1:2118 +msgid "" +"A regular expression that will be applied when reading articles. All " +"matching lines are shown in B. If B is blank, then " +"B uses a built-in default." +msgstr "" + +# type: TP +#: ../tin.1:2118 +#, no-wrap +msgid "B
" +msgstr "" + +# type: Plain text +#: ../tin.1:2122 ../tin.5:1882 +msgid "" +"If set to 0, this feature is deactivated, otherwise it means the number of " +"days. Default is 2." +msgstr "" + +# type: TP +#: ../tin.1:2122 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2126 ../tin.5:1886 +msgid "" +"If ON B does the rendering of bi-directional text. If OFF B leaves " +"the rendering of bi-directional text to the terminal. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2126 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2131 ../tin.5:1891 +msgid "" +"The news I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file is " +"reread at regular intervals to show if any new news has arrived. Default is " +"1200. Setting this to 0 will disable this feature." +msgstr "" + +# type: TP +#: ../tin.1:2131 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2135 ../tin.5:1895 +msgid "" +"Directory where articles/threads are saved. Default is " +"I<${TIN_HOMEDIR:-\"$HOME\"}/News>." +msgstr "" + +# type: TP +#: ../tin.1:2135 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2139 ../tin.5:1899 +msgid "" +"If the score of an article is below or equal this value the article gets " +"marked as killed." +msgstr "" + +# type: TP +#: ../tin.1:2139 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2143 ../tin.5:1903 +msgid "" +"If the score of an article is above or equal this value the article gets " +"marked as hot." +msgstr "" + +# type: TP +#: ../tin.1:2143 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2147 ../tin.5:1907 +msgid "" +"Score of an article which should be killed, this must be E= " +"B." +msgstr "" + +# type: TP +#: ../tin.1:2147 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2151 ../tin.5:1911 +msgid "" +"Score of an article which should be marked hot, this must be E= " +"B." +msgstr "" + +# type: TP +#: ../tin.1:2151 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2159 +msgid "" +"The number of lines that will be scrolled up/down in the article pager when " +"using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get " +"traditional tin page-by-page scrolling. Set to -1 to get page-by-page " +"scrolling where the top/bottom line is carried over onto the next page. " +"This setting supersedes show_last_line_prev_page=ON. Set to -2 to get " +"half-page scrolling. This setting supersedes full_page_scroll=OFF." +msgstr "" + +# type: TP +#: ../tin.1:2159 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2163 ../tin.5:1923 +msgid "" +"Which information about the author should be shown. Default is 2, authors " +"full name." +msgstr "" + +# type: Plain text +#: ../tin.1:2166 ../tin.5:1926 +msgid "B, only the ''Subject:'' line will be displayed." +msgstr "" + +# type: Plain text +#: ../tin.1:2169 ../tin.5:1929 +msgid "" +"B
, ''Subject:'' line & the address part of the ''From:'' line are " +"displayed." +msgstr "" + +# type: Plain text +#: ../tin.1:2172 ../tin.5:1932 +msgid "" +"B, ''Subject:'' line & the authors full name part of the " +"\\&''From:'' line are displayed (default)." +msgstr "" + +# type: Plain text +#: ../tin.1:2175 ../tin.5:1935 +msgid "" +"B
, ''Subject:'' line & all of the ''From:'' line are " +"displayed." +msgstr "" + +# type: TP +#: ../tin.1:2176 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2185 +msgid "" +"If ON show a short group description text after newsgroup name at the group " +"selection level. The ''B<-d>'' command-line flag will override the setting " +"and turn descriptions off. The text used is taken from the " +"I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups> file and if supported (requires " +"B to be build with mh-mail-handling support) from " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups> for mailgroups. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2185 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2189 ../tin.5:1949 +msgid "" +"Which information about the thread or article should be shown. Default is 1, " +"show only the line count." +msgstr "" + +# type: Plain text +#: ../tin.1:2192 ../tin.5:1952 +msgid "B, no information will be displayed." +msgstr "" + +# type: Plain text +#: ../tin.1:2196 +msgid "" +"B, in article listing the line count of an article will be displayed " +"and in thread listing the line count of first (unread) article will be " +"displayed." +msgstr "" + +# type: Plain text +#: ../tin.1:2200 ../tin.5:1960 +msgid "" +"B, in article listing the score of an article will be displayed and " +"in thread listing the score of the thread will be displayed - see also " +"B." +msgstr "" + +# type: Plain text +#: ../tin.1:2202 ../tin.5:1962 +msgid "B, display line count and score." +msgstr "" + +# type: TP +#: ../tin.1:2203 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2207 +msgid "" +"If ON show only new/unread articles otherwise show all articles. Default is " +"ON." +msgstr "" + +# type: TP +#: ../tin.1:2207 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2211 ../tin.5:1971 +msgid "" +"If ON show only subscribed groups that contain unread articles. Default is " +"OFF." +msgstr "" + +# type: TP +#: ../tin.1:2211 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2215 +msgid "If OFF don't show signatures when displaying articles. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2215 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2218 ../tin.5:1977 +msgid "If ON prepend the signature with sigdashes. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2218 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2228 +msgid "" +"The path that specifies the signature file to use when posting, following up " +"to or replying to an article. If the path is a directory then the signature " +"will be randomly generated from files that are in the specified " +"directory. If the path starts with a ! the program the path points to will " +"be executed to generate a signature. B will pass the name of the " +"current newsgroup as argument to the program. --none will suppress any " +"signature. Default is I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>." +msgstr "" + +# type: TP +#: ../tin.1:2228 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2231 ../tin.5:1991 +msgid "If ON add signature to reposted articles. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2231 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2236 +msgid "" +"A regular expression that will be applied when reading articles. All " +"matching words are shown in B or B. If " +"B is blank, then B uses a built-in default." +msgstr "" + +# type: TP +#: ../tin.1:2236 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2240 ../tin.5:2002 +msgid "" +"This specifies how articles should be sorted. Sort by ascending Date (6) is " +"the default. The following sort types are allowed:" +msgstr "" + +# type: Plain text +#: ../tin.1:2243 ../tin.5:2005 +msgid "B, don't sort articles." +msgstr "" + +# type: Plain text +#: ../tin.1:2245 ../tin.5:2007 +msgid "B, sort articles by ''Subject:'' field descending." +msgstr "" + +# type: Plain text +#: ../tin.1:2247 ../tin.5:2009 +msgid "B, sort articles by ''Subject:'' field ascending." +msgstr "" + +# type: Plain text +#: ../tin.1:2249 ../tin.5:2011 +msgid "B, sort articles by ''From:'' field descending." +msgstr "" + +# type: Plain text +#: ../tin.1:2251 ../tin.5:2013 +msgid "B, sort articles by ''From:'' field ascending." +msgstr "" + +# type: Plain text +#: ../tin.1:2253 ../tin.5:2015 +msgid "B, sort articles by ''Date:'' field descending." +msgstr "" + +# type: Plain text +#: ../tin.1:2256 ../tin.5:2018 +msgid "B, sort articles by ''Date:'' field ascending (default)." +msgstr "" + +# type: Plain text +#: ../tin.1:2258 ../tin.5:2020 +msgid "B, sort articles by filtering score descending." +msgstr "" + +# type: IP +#: ../tin.1:2258 ../tin.5:2020 +#, no-wrap +msgid "8" +msgstr "" + +# type: Plain text +#: ../tin.1:2260 ../tin.5:2022 +msgid "B, sort articles by filtering score ascending." +msgstr "" + +# type: IP +#: ../tin.1:2260 ../tin.5:2022 +#, no-wrap +msgid "9" +msgstr "" + +# type: Plain text +#: ../tin.1:2262 ../tin.5:2024 +msgid "B, sort articles by ''Lines:'' field descending." +msgstr "" + +# type: IP +#: ../tin.1:2262 ../tin.5:2024 +#, no-wrap +msgid "10" +msgstr "" + +# type: Plain text +#: ../tin.1:2264 ../tin.5:2026 +msgid "B, sort articles by ''Lines:'' field ascending." +msgstr "" + +# type: TP +#: ../tin.1:2265 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2270 ../tin.5:2031 +msgid "" +"This specifies how threads will be sorted. Sort by descending Score (1) is " +"the default. The following sort types are allowed:" +msgstr "" + +# type: Plain text +#: ../tin.1:2273 ../tin.5:2034 +msgid "B, don't sort threads." +msgstr "" + +# type: Plain text +#: ../tin.1:2276 ../tin.5:2037 +msgid "B, sort threads by filtering score descending (default)." +msgstr "" + +# type: Plain text +#: ../tin.1:2278 ../tin.5:2039 +msgid "B, sort threads by filtering score ascending." +msgstr "" + +# type: Plain text +#: ../tin.1:2280 ../tin.5:2041 +msgid "" +"B, sort threads by date of last posting " +"descending." +msgstr "" + +# type: Plain text +#: ../tin.1:2282 ../tin.5:2043 +msgid "" +"B, sort threads by date of last posting " +"ascending." +msgstr "" + +# type: TP +#: ../tin.1:2283 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2288 +msgid "" +"Set this option to a list of comma-separated strings to be warned if you are " +"replying to an article by mail where the e-mail address contains one of " +"these strings. The matching is case-insensitive. Example:" +msgstr "" + +# type: Plain text +#: ../tin.1:2290 +msgid "I" +msgstr "" + +# type: TP +#: ../tin.1:2290 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2295 +msgid "" +"A regular expression that will be applied when reading articles. All " +"matching words are shown in B or B. If " +"B is blank, then B uses a built-in default." +msgstr "" + +# type: TP +#: ../tin.1:2295 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2300 ../tin.5:2061 +msgid "" +"Set ON if the editor used for posting, follow-ups and bug reports has the " +"capability of starting and positioning the cursor at a specified line within " +"a file. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2300 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2306 ../tin.5:2065 +msgid "" +"Strips the blanks from the end of each line therefore speeding up the " +"display when reading on a slow terminal or via modem. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2306 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2315 ../tin.5:2073 +msgid "" +"Bogus groups are groups that are present in your " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file that no longer exist on the news " +"server. There are 3 options. 0 means do nothing & always keep bogus groups. " +"1 means bogus groups will be permanently removed. 2 means that bogus groups " +"will appear on the Group Selection Menu, prefixed with a 'D'. This allows " +"you to unsubscribe from them as and when you wish. Default is 0 (Always " +"Keep)." +msgstr "" + +# type: TP +#: ../tin.1:2315 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2319 ../tin.5:2077 +msgid "" +"If ON, then unsubscribed groups will be permanently removed from your " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc> file. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2319 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2324 +msgid "" +"A regular expression that will be applied when reading articles. All " +"matching words are shown in B or B. If " +"B is blank, then B uses a built-in default." +msgstr "" + +# type: TP +#: ../tin.1:2324 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2329 ../tin.5:2260 +msgid "" +"If enabled a search for the next unread article will wrap around all " +"articles to find also previous unread articles. If disabled the search stops " +"at the end of the thread list. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2329 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2333 +msgid "" +"If ON, show \"a as Umlaut-a, etc. Default is OFF. This behavior can also be " +"toggled in the article viewer via B ('B<\">')." +msgstr "" + +# type: TP +#: ../tin.1:2333 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2341 +msgid "" +"Defines which threading method to use. It's possible to set the threading " +"type on a per group basis by setting the group attribute variable " +"B to 0 - 4 in the file " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>. (See also \"GROUP " +"ATTRIBUTES\".) The default is Both Subject and References. The choices " +"are:" +msgstr "" + +# type: Plain text +#: ../tin.1:2344 +msgid "B, don't thread." +msgstr "" + +# type: Plain text +#: ../tin.1:2346 +msgid "B, thread on ''Subject:'' only." +msgstr "" + +# type: Plain text +#: ../tin.1:2348 +msgid "B, thread on ''References:'' only." +msgstr "" + +# type: Plain text +#: ../tin.1:2351 +msgid "" +"B, thread on ''References:'' then " +"\\&''Subject:'' (default)." +msgstr "" + +# type: Plain text +#: ../tin.1:2353 +msgid "B, thread multipart articles on ''Subject:''." +msgstr "" + +# type: Plain text +#: ../tin.1:2356 +msgid "" +"B, thread base upon a partial character match on " +"\\&''Subject:''." +msgstr "" + +# type: TP +#: ../tin.1:2357 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2361 ../tin.5:2108 +msgid "" +"If ON catchup group/thread when leaving with the left arrow key. Default is " +"ON." +msgstr "" + +# type: TP +#: ../tin.1:2361 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2365 +msgid "" +"How closely the subjects must match for two threads to be considered part of " +"the same thread. This is a percentage and the default if 75%." +msgstr "" + +# type: TP +#: ../tin.1:2365 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2369 ../tin.5:2112 +msgid "" +"How the total score of a thread is computed. Default is 0, the maximum score " +"in this thread." +msgstr "" + +# type: Plain text +#: ../tin.1:2372 ../tin.5:2115 +msgid "B, the maximum score in this thread." +msgstr "" + +# type: Plain text +#: ../tin.1:2374 ../tin.5:2117 +msgid "B, the sum of all scores in this thread." +msgstr "" + +# type: Plain text +#: ../tin.1:2376 ../tin.5:2119 +msgid "B, the average score in this thread." +msgstr "" + +# type: TP +#: ../tin.1:2377 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2385 ../tin.5:2128 +msgid "" +"If ON append //TRANSLIT to the first argument of B(3) to enable " +"transliteration. This means that when a character cannot be represented in " +"the target character set, it can be approximated through one or several " +"similarly looking characters. On systems where this extension doesn't exist, " +"this option is disabled. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2385 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2389 ../tin.5:2132 +msgid "" +"Allows you to select how B treats blank lines in article bodies. " +"Default is 0. This option does not affect lines within verbatim blocks." +msgstr "" + +# type: Plain text +#: ../tin.1:2392 ../tin.5:2135 +msgid "B, do nothing." +msgstr "" + +# type: Plain text +#: ../tin.1:2394 ../tin.5:2137 +msgid "B." +msgstr "" + +# type: Plain text +#: ../tin.1:2396 ../tin.5:2139 +msgid "B." +msgstr "" + +# type: Plain text +#: ../tin.1:2398 ../tin.5:2141 +msgid "" +"B, skip leading and trailing blank " +"lines." +msgstr "" + +# type: Plain text +#: ../tin.1:2401 ../tin.5:2144 +msgid "" +"B, replace multiple blank lines between " +"textblocks with one blank line." +msgstr "" + +# type: Plain text +#: ../tin.1:2403 ../tin.5:2146 +msgid "B, 4 + 1" +msgstr "" + +# type: Plain text +#: ../tin.1:2405 ../tin.5:2148 +msgid "B, 4 + 2" +msgstr "" + +# type: Plain text +#: ../tin.1:2407 ../tin.5:2150 +msgid "B, 4 + 3" +msgstr "" + +# type: TP +#: ../tin.1:2408 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2413 +msgid "" +"A regular expression that will be applied when reading articles. All " +"matching words are shown in B or B. If " +"B is blank, then B uses a built-in default." +msgstr "" + +# type: TP +#: ../tin.1:2413 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2416 +msgid "If ON remove I<~/.article> after posting. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2416 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2421 +msgid "" +"The program that will be run when launching URL's in the article viewer " +"using B ('B'). The actual URL will be appended to this. " +"Default is B." +msgstr "" + +# type: TP +#: ../tin.1:2421 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2424 ../tin.5:2170 +msgid "Enable highlighting URLs in message body. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2424 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2427 +msgid "If enabled B uses ANSI-colors. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2427 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.1:2430 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2436 ../tin.5:2184 +msgid "" +"Allows the mouse button support in a B(1x) to be enabled/disabled. " +"Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2436 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2446 +msgid "" +"If enabled B uses B(1) to interpret the ''X-Face:'' " +"header. For this option to have any effect, B must be running in an " +"B(1x) and B(1) must be in your $B. Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2446 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2450 ../tin.5:2200 +msgid "" +"If ON use UTF-8 characters for indicator ('-E'), thread/attachment tree " +"and ellipsis ('...'). Default is OFF." +msgstr "" + +# type: TP +#: ../tin.1:2450 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2453 +msgid "" +"A regular expression that tin will use to find the begin of a verbatim " +"block." +msgstr "" + +# type: TP +#: ../tin.1:2453 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2456 +msgid "A regular expression that tin will use to find the end of a verbatim block." +msgstr "" + +# type: TP +#: ../tin.1:2456 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2459 +msgid "If ON verbatim blocks will be detected. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2459 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2473 +msgid "" +"Allows you to select how B matches strings. The default is 0 and uses " +"the wildmat notation, which is how this has traditionally been handled. " +"Setting this to 1 allows you to use B(1) compatible regular " +"expressions B(3) (see also B(1) and B(3)). You " +"will probably want to update your filter file if you use this regularly. " +"NB: Newsgroup names will always be matched using the wildmat notation." +msgstr "" + +# type: TP +#: ../tin.1:2473 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2477 ../tin.5:2228 +msgid "" +"Should the leading and ending stars, slashes, strokes and dashes also be " +"displayed, even when they are highlighting marks?" +msgstr "" + +# type: Plain text +#: ../tin.1:2480 ../tin.5:2231 +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2482 ../tin.5:2233 +msgid "yes, B" +msgstr "" + +# type: Plain text +#: ../tin.1:2484 ../tin.5:2235 +msgid "print a B instead" +msgstr "" + +# type: TP +#: ../tin.1:2485 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2493 +msgid "" +"Enable word highlighting. See B for the options " +"available. If B is enabled the colors specified in " +"B, B, B and B are " +"used for word highlighting else the character attributes specified in " +"B, B, B and B " +"are used. Default is ON." +msgstr "" + +# type: TP +#: ../tin.1:2493 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2504 ../tin.5:2255 +msgid "" +"Sets the column at which a displayed article body should be wrapped. If " +"this value is equal to 0, it defaults to the current screen width. If this " +"value is greater than your current screen width the part off-screen is not " +"displayed. Thus setting this option to a large value can be used to disable " +"wrapping. If this value is negative the wrap margin is the current screen " +"width plus the given value (as long as the result is still positive, " +"otherwise it will fall back to the current screen width). Default is 0, " +"wrapping at the current screen width." +msgstr "" + +# type: TP +#: ../tin.1:2504 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2511 ../tin.5:2265 +msgid "" +"Format is the same as for B, this is used when answering " +"to a crossposting to several groups with no ''Followup-To:'' set." +msgstr "" + +# type: SS +#: ../tin.1:2511 +#, no-wrap +msgid "ATTRIBUTES MENU AND GROUP ATTRIBUTES" +msgstr "" + +# type: Plain text +#: ../tin.1:2518 +msgid "" +"B allows certain attributes to be set on a per group basis. If it " +"exists, the global attributes file, I<${TIN_LIBDIR:-NEWSLIBDIR}/attributes> " +"is read. After that, the user's own attributes file " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes> is read. The global attributes " +"file is useful for distributing system-wide defaults to new users who have " +"no private attributes file yet." +msgstr "" + +# type: Plain text +#: ../tin.1:2526 +msgid "" +"Note that the IgrouplistE> line has to be specified before " +"the attributes are specified for that list. All attributes are set to a " +"reasonable default so you only have to specify the attribute that you want " +"to change (e.g., savedir). All toggle attributes are set by specifying " +"ON/OFF. Otherwise, these function exactly the same as their global " +"equivalents. For more details see B(5)." +msgstr "" + +# type: Plain text +#: ../tin.1:2533 +msgid "" +"Attributes can also be changed from the attributes menu which can be " +"accessed by B ('BTABE>') from the options menu " +"or B ('B<^J>' or 'BCRE>') from the scopes menu. The " +"attributes menu looks and behaves very similar to the options menu. The " +"title shows the current scope. Attributes set in the current scope are " +"marked with '\\+' to the left of the attributes number." +msgstr "" + +# type: Plain text +#: ../tin.1:2540 +msgid "" +"Besides the keys for moving around and changing values known from the " +"options menu the attributes menu provides the following command: " +"B ('B') which resets an attribute to a default value." +msgstr "" + +# type: SS +#: ../tin.1:2540 +#, no-wrap +msgid "SCOPES MENU" +msgstr "" + +# type: Plain text +#: ../tin.1:2545 +msgid "" +"The scopes menu (accessible from the options menu with B " +"('B')) shows all scopes read from the global and local attributes file. " +"Scopes from the global attributes file are marked with '!' to the left of " +"the scope number. Delete/rename/move are not possible with those scopes." +msgstr "" + +# type: Plain text +#: ../tin.1:2556 +msgid "" +"In addition to the common moving keys the following commands are available: " +"B ('B<^J>' or 'BCRE>') enter the attributes menu for " +"the current scope, B ('B') edit the local " +"attributes file, B ('B') add a new scope, B " +"('B') delete the current scope, B ('B') move the current " +"scope to a new position, B ('B') rename the current " +"scope. B ('B') toggles the help mini menu at the " +"bottom of the screen." +msgstr "" + +# type: SS +#: ../tin.1:2556 +#, no-wrap +msgid "FILTERING ARTICLES" +msgstr "" + +#. FIXME - add scoring description +# type: Plain text +#: ../tin.1:2563 +msgid "" +"When there is a subject or an author which you are either very interested " +"in, or find completely uninteresting, you can easily instruct B to " +"I or I articles that match I that you " +"specify. This can be anything from the name of the author to the number of " +"lines in an article." +msgstr "" + +# type: Plain text +#: ../tin.1:2569 +msgid "" +"When B starts up the user's kill-file " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter> (see also B(5)) is read. Each " +"time a newsgroup is entered the rules are applied and articles killed or " +"selected when they meet certain criteria." +msgstr "" + +# type: Plain text +#: ../tin.1:2574 +msgid "" +"The degree to which rules are applied depend on the B tinrc " +"setting. By default killed articles will only be marked read. Adjust " +"B for more aggressive processing. Articles that match an " +"auto-selection rule are marked with a ''*''." +msgstr "" + +# type: Plain text +#: ../tin.1:2579 +msgid "" +"Filtering rules can be manually entered into " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter> (but don't do this whilst running " +"B else you will lose your changes) or by using an on-screen menu within " +"B." +msgstr "" + +# type: Plain text +#: ../tin.1:2585 +msgid "" +"The filtering capabilities of B have been significantly enhanced over " +"previous versions to include scoring and better pattern matching. It is " +"recommended that you read the file I in the B documentation " +"directory. This file can also be read online at " +"Ehttp://www.tin.org/filtering.txtE." +msgstr "" + +#. FIXME - Next paragraph is out of date +# type: Plain text +#: ../tin.1:2597 +msgid "" +"The on-screen filtering menu is accessed by pressing 'B<^K>' at the Group " +"and Article levels. It allows the user to kill or select an article that " +"matches the current ''Subject:'' line, ''From:'' line or a string entered by " +"the user. The user entered string can be applied to the ''Subject:'' or " +"\\&''From:'' lines of an article. The kill description can be limited to the " +"current newsgroup or it can apply to all newsgroups. Once entered the user " +"can abort the command and not save the kill description, edit the kill file " +"or save the kill description." +msgstr "" + +# type: SS +#: ../tin.1:2597 +#, no-wrap +msgid "POSTING ARTICLES" +msgstr "" + +# type: Plain text +#: ../tin.1:2600 +msgid "" +"B allows posting of articles, follow-up to already posted articles and " +"replying direct through mail to the author of an article." +msgstr "" + +# type: Plain text +#: ../tin.1:2610 +msgid "" +"Use the B ('B') command to post an article to a newsgroup. After " +"entering the post subject the default editor (i.e., B(1)) or the editor " +"specified by the $B or $B environment variable will be " +"started and the article can be entered. To crosspost articles simply add a " +"comma and the name of the newsgroup(s) to the end of the ''Newsgroups:'' " +"line at the beginning of the article. After saving and exiting the editor " +"you are asked if you wish to a)bort posting the article, e)dit the article " +"again or p)ost the article to the specified newsgroup(s)." +msgstr "" + +# type: Plain text +#: ../tin.1:2615 +msgid "" +"Use the B ('B') command to display a history of the " +"articles you have posted. The date the article was posted, which newsgroups " +"the article was posted to and the articles subject line are displayed." +msgstr "" + +# type: Plain text +#: ../tin.1:2623 +msgid "" +"Use the B ('B'), B ('B') or " +"B ('B<^W>') command to post a follow-up article to " +"an already posted article. The B command will copy the " +"text of the original article into the editor. The " +"B command will copy the text and all headers of " +"the original article into the editor. The editing procedure is the same as " +"when posting an article with the B ('B') command." +msgstr "" + +# type: Plain text +#: ../tin.1:2637 +msgid "" +"Use the B ('B'), B ('B') or " +"B ('B<^E>') command to reply direct through mail to " +"the author of an already posted article. The B command will " +"copy the text of the original article into the editor. The " +"B command will copy the text and all headers of the " +"original article into the editor. The editing procedure is the same as when " +"posting an article with the B ('B') command. After saving and " +"exiting the editor you are asked if you wish to abort sending the article " +"via B ('B'), edit the article again via B ('B') " +"or send the article to the author via B ('B')." +msgstr "" + +# type: SS +#: ../tin.1:2637 +#, no-wrap +msgid "CUSTOMIZING THE ARTICLE QUOTE STRING" +msgstr "" + +# type: Plain text +#: ../tin.1:2645 +msgid "" +"When posting a followup to an article or replying direct to the author of an " +"article via email the text of the article can be quoted. The beginning of " +"the quoted text can contain information about the quoted article (e.g., Name " +"and the Message-ID of the article). To allow for different situations " +"certain information from the article can be used in the quoted string. The " +"following variables are expanded if found in the tinrc variables " +"B, B or B:" +msgstr "" + +# type: ta +#: ../tin.1:2647 +#, no-wrap +msgid "\\w'%A 'u +\\w'Address'u" +msgstr "" + +# type: Plain text +#: ../tin.1:2656 +#, no-wrap +msgid "" +"B<%A>\tAddress (Email)\n" +"B<%D>\tDate (uses B)\n" +"B<%F>\tFull address (%N E%AE)\n" +"B<%G>\tGroupname\n" +"B<%M>\tMessage-ID\n" +"B<%N>\tFullname of author\n" +"B<%C>\tFirstname of author\n" +"B<%I>\tInitials of author\n" +msgstr "" + +# type: Plain text +#: ../tin.1:2659 +msgid "e.g.," +msgstr "" + +# type: Plain text +#: ../tin.1:2664 +#, no-wrap +msgid "" +"CW\n" +msgstr "" + +# type: Plain text +#: ../tin.1:2668 +msgid "would expand to:" +msgstr "" + +# type: Plain text +#: ../tin.1:2673 +#, no-wrap +msgid "" +"CWabcINN123@example.orgE, Joe Bar Ejoe@example.orgE " +"wrote:>\n" +msgstr "" + +# type: Plain text +#: ../tin.1:2683 +msgid "" +"The quoted text section of an article is marked by a preceding quote string " +"at the beginning of each quoted line. The default quote string is set to " +"\\&'E_'. The default can be changed by setting the tinrc variable " +"B to ones own preference. (Note that '_' underline is used to " +"represent a space)." +msgstr "" + +# type: SS +#: ../tin.1:2683 +#, no-wrap +msgid "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES" +msgstr "" + +# type: Plain text +#: ../tin.1:2690 +msgid "" +"The command interface to B, B, B or " +"B ('B'), B ('B<|>'), B ('B'), B " +"or B ('B') and B, B or B " +"('B' and B, B or B 'B') " +"articles is the same for ease of use." +msgstr "" + +# type: Plain text +#: ../tin.1:2695 +msgid "" +"Auto-saving with B<*AutoSave> ('B') is a special case and operates only " +"on marked articles. They will processed without any further prompting " +"according to the default save parameters defined in tinrc or by any " +"attributes set for the current group." +msgstr "" + +# type: Plain text +#: ../tin.1:2699 +msgid "" +"Otherwise, the initial prompt will ask you to select which article, thread, " +"hot (auto-selected), regex pattern, tagged articles you wish to mail, pipe " +"etc." +msgstr "" + +# type: Plain text +#: ../tin.1:2703 +msgid "" +"Tagged articles must have already been tagged with a B<*Tag> ('B') " +"command. All tagged articles can be untagged by a B<*Untag> ('B') untag " +"command." +msgstr "" + +# type: Plain text +#: ../tin.1:2709 +msgid "" +"If a regex pattern is selected you are asked to enter a pattern (e.g., to " +"match all articles subject lines containing 'net News' you enter \"net " +"News\"). Any articles that match the entered expression will be mailed, " +"piped etc. See also the B tinrc variable for advanced pattern " +"matching options." +msgstr "" + +# type: Plain text +#: ../tin.1:2714 +msgid "" +"Various expansion characters are recognized when entering the directory and " +"file to save to. Environment variables (prefixed with '$') and user home " +"directories (prefixed by '~' or '~username') can be specified. Environment " +"variables can themselves contain other special characters." +msgstr "" + +# type: Plain text +#: ../tin.1:2719 +msgid "" +"To save articles to a mailbox enter '=Emailbox nameE' when asked for " +"the save filename. If you enter just '=' then articles will be saved to a " +"mailbox with the name of the current newsgroup (eg, alt.sources). See " +"B." +msgstr "" + +# type: Plain text +#: ../tin.1:2723 +msgid "" +"To save in savedir/Enews.group.nameE/EfilenameE format enter " +"'+EfilenameE'. Environment variables are allowed within a filename " +"(e.g., I<$SOURCES/dir/filename>). See B." +msgstr "" + +# type: Plain text +#: ../tin.1:2729 +msgid "" +"When saving articles you can specify whether the saved files should be post " +"processed. A default process type can be set via B." +msgstr "" + +# type: SS +#: ../tin.1:2729 +#, no-wrap +msgid "AUTOMATIC MAILING AND SAVING NEW NEWS" +msgstr "" + +# type: Plain text +#: ../tin.1:2741 +msgid "" +"B allows new/unread news articles to be mailed (''B<-M>'' and " +"\\&''B<-N>'' option) or saved (''B<-S>'' option) in batch mode for later " +"reading. Useful when going on holiday and you don't want to return and find " +"that expire has removed a whole load of unread articles. Best to run via " +"B(1) everyday while away, after which you will be mailed a report of " +"which articles were mailed/saved from which newsgroups and the total number " +"of articles mailed/saved. Articles are saved in a private news structure " +"under your EsavedirE directory (default is " +"I<${TIN_HOMEDIR:-\"$HOME\"}/News>). Be careful of using this option if you " +"read a lot of groups because you could overflow your file system." +msgstr "" + +# type: Plain text +#: ../tin.1:2745 +msgid "" +"When using ''B<-S>'' together with a given directory to save to (''B<-s>'' " +"option), the same directory must be specified when reading the articles by " +"''B<-R>''." +msgstr "" + +# type: Plain text +#: ../tin.1:2752 +msgid "" +"If you only want to save some of your groups use the B tinrc " +"variable. Set to ON or OFF in tinrc to enable/disable saving of all groups " +"and then use the B attribute to fine tune which groups you want " +"to have saved. For example, if you want to save most of your groups, then " +"set B to ON in tinrc and selectively turn off the ones you don't " +"want using attributes." +msgstr "" + +# type: TP +#: ../tin.1:2753 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2757 +msgid "" +"(mail any unread articles in newsgroups specified in file newsrc.mail to the " +"local user iain and mark them as read)" +msgstr "" + +# type: TP +#: ../tin.1:2758 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2762 +msgid "" +"(save any unread articles in newsgroups specified in file newsrc.save and " +"mark them as read)" +msgstr "" + +# type: TP +#: ../tin.1:2763 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:2768 +msgid "(read any articles saved by B)" +msgstr "" + +# type: SS +#: ../tin.1:2768 +#, no-wrap +msgid "RANGES" +msgstr "" + +# type: Plain text +#: ../tin.1:2779 +msgid "" +"A range is simply a group of items marked using the B (B<'#'>) " +"key. Certain B commands will operate on a range if one exists rather " +"than just the current item. A range is an expression of the form " +"EminE-EmaxE, e.g. 10-15 will highlight items 10 through 15 " +"on the current screen. Other than absolute numeric positions, '.' can be " +"used in place of the current cursor position and '$' can be used to mean the " +"highest number available. Currently the only commands that understand ranges " +"are B ('B'), B ('B') and " +"B ('B')." +msgstr "" + +# type: SS +#: ../tin.1:2780 +#, no-wrap +msgid "NEWSGROUP LISTS & WILDCARDS" +msgstr "" + +# type: Plain text +#: ../tin.1:2791 +msgid "" +"Several places in B allow you to specify a list of newsgroups. These " +"include command-line groups, (un)subscribe groups, the AUTO[UN]SUBSCRIBE " +"mechanism. The scope= attributes file tag and the filter file group= tag " +"also use the same syntax. B interprets this variable similarly to " +"B It contains a list of patterns, separated by commas and possibly " +"prefixed with exclamation points. An exclamation point negates the meaning " +"of a match on this pattern, and can be used to cancel certain matches. Some " +"examples:" +msgstr "" + +# type: Plain text +#: ../tin.1:2793 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:2795 +msgid "Matches alt.config and everything in the 'news' hierarchy except news.test" +msgstr "" + +# type: Plain text +#: ../tin.1:2800 +msgid "" +"See the explanation for the $B variables for further " +"examples." +msgstr "" + +# type: SS +#: ../tin.1:2800 +#, no-wrap +msgid "SIGNATURES" +msgstr "" + +# type: Plain text +#: ../tin.1:2809 +msgid "" +"B will recognize a signature in either " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.signature> or " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>. If " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.signature> exists, then the signature will be " +"pulled into the editor for mail commands only. A signature in " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.signature> will not be pulled into the editor " +"for posting commands since B(1) will append the signature itself." +msgstr "" + +# type: Plain text +#: ../tin.1:2812 +msgid "" +"A signature in I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig> will be pulled into the " +"editor for both posting and mailing commands." +msgstr "" + +# type: Plain text +#: ../tin.1:2814 +msgid "The following is an example of a I<.Sig> file:" +msgstr "" + +# type: Plain text +#: ../tin.1:2819 +#, no-wrap +msgid "" +"CWjoe@example.orgE\n" +"SNAIL Musterweg 12, 99999 Notreal, Germany>\n" +msgstr "" + +# type: Plain text +#: ../tin.1:2834 +msgid "" +"B also has the capability to generate random signatures on a per " +"newsgroup basis if so desired. The way to accomplish this is to specify the " +"default signature or the group attribute sigfile as a directory. If for " +"example the sigfile path is I and I<.sigs> is a directory " +"then B will select a random signature from any file that is in the " +"directory I<.sigs> (note: one signature per numbered file). A random " +"signature can also consist of a fixed part signature that can contain your " +"name, address etc. followed by the random sig. The fixed part of the random " +"sig is read from the file I<$HOME/.sigfixed>." +msgstr "" + +# type: SS +#: ../tin.1:2834 +#, no-wrap +msgid "TIPS AND TRICKS" +msgstr "" + +# type: Plain text +#: ../tin.1:2838 +msgid "" +"B can be pretty much be navigated by using the four cursor keys. The " +"left arrow key goes up a level, the right arrow key goes down a level, the " +"up arrow key goes up a line and the down arrow key goes down a line." +msgstr "" + +# type: Plain text +#: ../tin.1:2840 +msgid "" +"The following newsgroups provide useful information concerning news " +"software:" +msgstr "" + +# type: Plain text +#: ../tin.1:2843 +msgid "" +"\\(emnews.software.readers (info. about news user agents tin, rn, nn, slrn " +"etc.)" +msgstr "" + +# type: Plain text +#: ../tin.1:2845 +msgid "\\(emnews.software.nntp (info. about NNTP)" +msgstr "" + +# type: Plain text +#: ../tin.1:2847 +msgid "" +"\\(emnews.answers (Frequently Asked Questions (FAQ) about many different " +"themes)" +msgstr "" + +# type: Plain text +#: ../tin.1:2851 +msgid "" +"Many prompts within B offer a default choice that the cursor is " +"positioned on. By pressing 'BCRE>' the default value is taken. " +"Most prompts can be aborted by pressing 'BESCE>'." +msgstr "" + +# type: Plain text +#: ../tin.1:2858 +msgid "" +"When B is run in an B(1x) it will resize itself each time the " +"B(1x) is resized." +msgstr "" + +# type: Plain text +#: ../tin.1:2862 +msgid "" +"B will reread the " +"I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}> file at set " +"intervals (B) to show any newly arrived news." +msgstr "" + +# type: Plain text +#: ../tin.1:2867 +msgid "" +"If you find large number of new newsgroups cluttering up your screen, " +"pressing B ('B') will make them go away." +msgstr "" + +# type: SS +#: ../tin.1:2867 +#, no-wrap +msgid "XTERM BUTTONS" +msgstr "" + +# type: Plain text +#: ../tin.1:2873 +msgid "" +"If the environment variable B<$TERM> is set to B(1x), then button " +"pressing can be used to select groups and articles. In this discussion, the " +"buttons are assumed to be assigned conventionally (i.e., Button1 is the left " +"button)." +msgstr "" + +# type: Plain text +#: ../tin.1:2875 +msgid "In general (i.e., for the group, thread and article menus)," +msgstr "" + +# type: TP +#: ../tin.1:2875 +#, no-wrap +msgid "Button1 (left)" +msgstr "" + +# type: Plain text +#: ../tin.1:2878 +msgid "enters next (lower) level if you click on an article, otherwise pages down." +msgstr "" + +# type: TP +#: ../tin.1:2878 +#, no-wrap +msgid "Button2 (center)" +msgstr "" + +# type: Plain text +#: ../tin.1:2882 +msgid "" +"returns to the previous (upper) level if you click on an article, otherwise " +"pages up." +msgstr "" + +# type: TP +#: ../tin.1:2882 +#, no-wrap +msgid "Button3 (right)" +msgstr "" + +# type: Plain text +#: ../tin.1:2886 +msgid "" +"positions on the article line under mouse cursor, or pages down if you've " +"clicked outside the list of articles." +msgstr "" + +# type: Plain text +#: ../tin.1:2888 +msgid "In the group selection menu, if the mouse is pointing at a group then:" +msgstr "" + +# type: TP +#: ../tin.1:2888 ../tin.1:2900 ../tin.1:2914 +#, no-wrap +msgid "left button" +msgstr "" + +# type: Plain text +#: ../tin.1:2892 +msgid "" +"moves to and selects the group pointed at, just like B " +"('BCRE>')." +msgstr "" + +# type: TP +#: ../tin.1:2892 ../tin.1:2904 ../tin.1:2917 +#, no-wrap +msgid "center button" +msgstr "" + +# type: Plain text +#: ../tin.1:2895 +msgid "quits the program, just like B ('B')." +msgstr "" + +# type: TP +#: ../tin.1:2895 ../tin.1:2909 ../tin.1:2922 +#, no-wrap +msgid "right button" +msgstr "" + +# type: Plain text +#: ../tin.1:2898 +msgid "moves to the group pointed at." +msgstr "" + +# type: Plain text +#: ../tin.1:2900 +msgid "" +"In the article menu, if the mouse is pointing at an article (or thread) " +"then:" +msgstr "" + +# type: Plain text +#: ../tin.1:2904 +msgid "" +"reads the article pointed at, just like B " +"('BCRE>'), or the thread, just like B ('B')." +msgstr "" + +# type: Plain text +#: ../tin.1:2909 +msgid "" +"exits the menu, catching up on the group if you have " +"B set in your configuration, just like B " +"('B')." +msgstr "" + +# type: Plain text +#: ../tin.1:2912 +msgid "moves to the article (or thread) pointed at." +msgstr "" + +# type: Plain text +#: ../tin.1:2914 +msgid "In the thread menu, if the mouse is pointing at an article then:" +msgstr "" + +# type: Plain text +#: ../tin.1:2917 +msgid "reads article pointed at, just like B ('BCRE>')." +msgstr "" + +# type: Plain text +#: ../tin.1:2922 +msgid "" +"exits the menu, catching up on the thread if you have " +"B set in your configuration, just like B " +"('B')." +msgstr "" + +# type: Plain text +#: ../tin.1:2925 +msgid "moves to the article pointed at." +msgstr "" + +# type: Plain text +#: ../tin.1:2932 +msgid "" +"In other menus and areas button pressing reverts back to usual cut and paste " +"of B(1x), but after one click of any button." +msgstr "" + +# type: SS +#: ../tin.1:2932 +#, no-wrap +msgid "INDEX FILES" +msgstr "" + +# type: Plain text +#: ../tin.1:2937 +msgid "" +"If your news server supports NOV index files (see B(5), most " +"modern installations will) and you have a fast connection to your news " +"server then this section can be ignored." +msgstr "" + +# type: Plain text +#: ../tin.1:2943 +msgid "" +"If your news server doesn't support NOV index files or you have a very slow " +"connection to your news server then B can cache the index for each " +"newsgroup if B is set to ON. Note that this cache can " +"use up large amounts of diskspace if you read a lot of groups and/or high " +"traffic groups." +msgstr "" + +# type: Plain text +#: ../tin.1:2952 +msgid "" +"Each user creates/updates his/her own index files that are stored in " +"I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news/>. If you " +"are reading via NNTP then the news server name will be appended to keep the " +"indexes for different servers separate. If you are reading off the local " +"spool and local overview files already exist then turning on caching will " +"have no effect. Likewise unless you see significant delays entering a group " +"when reading via NNTP then turning on caching will have little or no effect." +msgstr "" + +# type: Plain text +#: ../tin.1:2959 +msgid "" +"Entering a group the first time tends to be slow because the index file must " +"be built from scratch. To alleviate the slowness start B to create all " +"index files for the groups you subscribe to with B and go for a " +"coffee. Subsequent readings of a group will only need to do incremental " +"updating of the index file and will be much faster as only new articles will " +"need to be cached." +msgstr "" + +# type: Plain text +#: ../tin.1:2964 +msgid "" +"As indexing might take some time you may want to run B form the system " +"batcher B(1) with the ''B<-u>'' option:" +msgstr "" + +# type: Plain text +#: ../tin.1:2969 +#, no-wrap +msgid "CW<30 6 * * * /usr/local/bin/tin -u>\n" +msgstr "" + +# type: Plain text +#: ../tin.1:2977 +msgid "" +"If you are low on local disk space you should consider using B " +"to limit the size of cached indexes and also manually purge cached data for " +"groups you are not reading anymore with something like:" +msgstr "" + +# type: Plain text +#: ../tin.1:2983 +#, no-wrap +msgid "" +"CW\n" +msgstr "" + +# type: SH +#: ../tin.1:2988 ../tin.5:20 +#, no-wrap +msgid "FILES" +msgstr "" + +#. TODO: mention dead.article, dead.articles +#. .article[.$$], .cancel[.$$], .letter[.$$]? +#. $PWD/trace[.out] (--with-trace) +#. $TMPDIR/NNTP (-D 1) +#. $TMPDIR/FILTER (-D 2) +#. $TMPDIR/ARTS (-D 2) +#. $TMPDIR/BITMAP (-D 4) +#. $TMPDIR/REFS.dump (-D 8) +#. $TMPDIR/REFS.info (-D 8) +#. $TMPDIR/MALLOC (-D 16) +#. $TMPDIR/ATTRIBUTES (-D 32) +#. $TMPDIR/SCOPES-R (-D 32) +#. $TMPDIR/SCOPES-W (-D 32) +#. $TMPDIR/ACTIVE (-D 64) +# type: Plain text +#: ../tin.1:3005 +msgid "For a detailed description see B(5)." +msgstr "" + +# type: Plain text +#: ../tin.1:3007 ../tin.5:41 +msgid "I<$MAILCAPS>" +msgstr "" + +# type: Plain text +#: ../tin.1:3009 ../tin.5:43 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.mailcap>" +msgstr "" + +# type: Plain text +#: ../tin.1:3011 ../tin.5:45 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3013 ../tin.5:47 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3015 ../tin.5:49 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3017 ../tin.5:51 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3020 ../tin.5:220 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3023 ../tin.5:230 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.cancelsecret>" +msgstr "" + +# type: Plain text +#: ../tin.1:3026 ../tin.5:237 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.mime.types>" +msgstr "" + +# type: Plain text +#: ../tin.1:3028 ../tin.5:239 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3030 ../tin.5:241 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3033 ../tin.5:248 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsauth>" +msgstr "" + +# type: Plain text +#: ../tin.1:3036 ../tin.5:281 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>" +msgstr "" + +# type: Plain text +#: ../tin.1:3040 ../tin.5:310 +#, no-wrap +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER${NNTPPORT:+\":$NNTPPORT\"}/.oldnewsrc>\n" +msgstr "" + +# type: Plain text +#: ../tin.1:3044 ../tin.5:318 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.signature>" +msgstr "" + +# type: Plain text +#: ../tin.1:3046 ../tin.5:320 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.Sig>" +msgstr "" + +# type: Plain text +#: ../tin.1:3049 ../tin.5:327 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.sigfixed>" +msgstr "" + +# type: Plain text +#: ../tin.1:3052 ../tin.5:334 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/.inputhistory>" +msgstr "" + +# type: Plain text +#: ../tin.1:3055 ../tin.5:341 +msgid "I<${TIN_INDEX_MAILDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.mail/>" +msgstr "" + +# type: Plain text +#: ../tin.1:3059 ../tin.5:349 +#, no-wrap +msgid "I<${TIN_INDEX_NEWSDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.news${NNTPSERVER:+\"-$NNTPSERVER\"}/>\n" +msgstr "" + +# type: Plain text +#: ../tin.1:3063 ../tin.5:357 +msgid "I<${TIN_INDEX_SAVEDIR:-\"${TIN_HOMEDIR:-\"$HOME\"}/.tin\"}/.save/>" +msgstr "" + +# type: Plain text +#: ../tin.1:3066 ../tin.5:364 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.mail>" +msgstr "" + +# type: Plain text +#: ../tin.1:3069 ../tin.5:398 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/active.save>" +msgstr "" + +#. tin uses inns old (pre 2.x) Path convention. +#. as with inn >= 2.2.x getting more and more popular +#. we should think about checking for the new Paths (/news/etc/) +#. ${TIN_LIBDIR\-/news/etc"}/attributes +# type: Plain text +#: ../tin.1:3073 ../tin.5:409 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3075 ../tin.5:411 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/attributes>" +msgstr "" + +#. TODO: add missing descriptions and explain things in detail. +# type: Plain text +#: ../tin.1:3078 ../tin.5:736 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/filter>" +msgstr "" + +# type: Plain text +#: ../tin.1:3082 ../tin.5:818 +#, no-wrap +msgid "I\n" +msgstr "" + +# type: Plain text +#: ../tin.1:3084 ../tin.5:820 +#, no-wrap +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/keymap${${LC_ALL:-\"${LC_CTYPE:-\"${LC_MESSAGES:-\"$LANG\"}\"}\"}:+\".${LC_ALL:-\"${LC_CTYPE:-\"${LC_MESSAGES:-\"$LANG\"}\"}\"}\"}>\n" +msgstr "" + +# type: Plain text +#: ../tin.1:3088 ../tin.5:1053 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/mailgroups>" +msgstr "" + +# type: Plain text +#: ../tin.1:3091 ../tin.5:1069 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/newsrctable>" +msgstr "" + +# type: Plain text +#: ../tin.1:3094 ../tin.5:1095 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/posted>" +msgstr "" + +# type: Plain text +#: ../tin.1:3097 ../tin.5:1102 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/Mail/posted>" +msgstr "" + +# type: Plain text +#: ../tin.1:3100 ../tin.5:1112 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/postponed.articles>" +msgstr "" + +# type: Plain text +#: ../tin.1:3104 +#, no-wrap +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER:${NNTPPORT:+\":$NNTPPORT\"}/newsgroups>\n" +msgstr "" + +# type: Plain text +#: ../tin.1:3109 +#, no-wrap +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/$NNTPSERVER:${NNTPPORT:+\":$NNTPPORT\"}/serverrc>\n" +msgstr "" + +#. tin uses inns old (pre 2.x) Path convention. +#. as with inn >= 2.2.x getting more and more popular +#. we should think about checking for the new Paths (/news/etc/) +#. .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc +# type: Plain text +#: ../tin.1:3114 ../tin.5:1165 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3116 ../tin.5:1167 +msgid "I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc>" +msgstr "" + +# type: Plain text +#: ../tin.1:3119 ../tin.5:2269 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3122 +msgid "I" +msgstr "" + +#. tin uses inns old (pre 2.x) Path convention. +#. as with inn >= 2.2.x getting more and more popular +#. we should think about checking for the new Paths +#. (described shown below). +# type: Plain text +#: ../tin.1:3125 ../tin.5:2376 +msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}\"/\"${TIN_ACTIVEFILE:-active}>" +msgstr "" + +# type: Plain text +#: ../tin.1:3128 ../tin.5:2436 +msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/active.times>" +msgstr "" + +# type: Plain text +#: ../tin.1:3131 ../tin.5:2463 +msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/newsgroups>" +msgstr "" + +# type: Plain text +#: ../tin.1:3134 ../tin.5:2486 +msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/organization>" +msgstr "" + +#. is the Path correct? or is it /news/etc/overview.fmt +# type: Plain text +#: ../tin.1:3137 ../tin.5:2496 +msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/overview.fmt>" +msgstr "" + +#. is the Path correct? or is it /news/etc/subscriptions +# type: Plain text +#: ../tin.1:3140 ../tin.5:2514 +msgid "I<${TIN_LIBDIR:-NEWSLIBDIR}/subscriptions>" +msgstr "" + +# type: SH +#: ../tin.1:3143 +#, no-wrap +msgid "ENVIRONMENT" +msgstr "" + +# type: TP +#: ../tin.1:3157 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3165 +msgid "" +"Define this variable if you want to specify command-line options that B " +"should be started with to save typing them each time it is started. The " +"contents of the environment variable are added to the front of the " +"command-line options before it is parsed therefore allowing an option " +"specified on the command-line to override the same option specified in the " +"environment." +msgstr "" + +# type: TP +#: ../tin.1:3165 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3170 +msgid "" +"Define this variable if you do not want the I<.tin> directory in " +"I<$HOME/>. E.g., if you want all B's private files in I you " +"would set $B to I." +msgstr "" + +# type: TP +#: ../tin.1:3170 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3176 +msgid "" +"Define this variable if you do not want the I<.news> directory in " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B's news " +"index files in I you would set $B to I." +msgstr "" + +# type: TP +#: ../tin.1:3176 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3182 +msgid "" +"Define this variable if you do not want the I<.mail> directory in " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B's mail " +"index files in I you would set $B to I." +msgstr "" + +# type: TP +#: ../tin.1:3182 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3188 +msgid "" +"Define this variable if you do not want the I<.save> directory in " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/>. E.g., if you want all B's save " +"index files in I you would set $B to I." +msgstr "" + +# type: TP +#: ../tin.1:3188 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3193 +msgid "" +"Define this variable if you want to override the B path that was " +"compiled into the B binary, default is I. If tin is " +"running in NNTP mode setting this variable has no effect." +msgstr "" + +# type: TP +#: ../tin.1:3193 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3198 +msgid "" +"Define this variable if you want to override the B path that was " +"compiled into the B binary, default is I. If tin is " +"running in NNTP mode setting this variable has no effect." +msgstr "" + +# type: TP +#: ../tin.1:3198 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3204 +msgid "" +"Define this variable if you want to override the B path that was " +"compiled into the B binary, default is B (see above). If tin " +"is running in NNTP mode setting this variable has no effect." +msgstr "" + +# type: TP +#: ../tin.1:3204 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3210 +msgid "" +"Define this variable if you want to override the B path " +"that was compiled into the B binary. If tin is running in NNTP mode " +"setting this variable has no effect. If $B is set it is " +"prepended to $B." +msgstr "" + +# type: TP +#: ../tin.1:3210 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3216 +msgid "" +"The default NNTP server to remotely read news from. This variable only needs " +"to be set if the ''B<-r>'' command-line option is specified and the file " +"I does not exist. The ''B<-g>'' command line option " +"overrides $B." +msgstr "" + +# type: TP +#: ../tin.1:3216 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3221 +msgid "" +"The NNTP TCP-port to read news from. This variable only needs to be set if " +"the TCP-port is not 119 (the default). The ''B<-p>'' command-line option " +"overrides $B." +msgstr "" + +# type: TP +#: ../tin.1:3221 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3225 +msgid "" +"Set the article header field ''Distribution:'' to the contents of the " +"variable instead of the system default." +msgstr "" + +# type: TP +#: ../tin.1:3225 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3229 +msgid "" +"Set the ISO to ASCII charset decoding table character to use in decoding an " +"article text. Values can range from 0 to 6." +msgstr "" + +# type: Plain text +#: ../tin.1:3233 +msgid "universal table for many languages" +msgstr "" + +# type: Plain text +#: ../tin.1:3236 +msgid "single-spacing universal table" +msgstr "" + +# type: Plain text +#: ../tin.1:3239 +msgid "table for Danish, Dutch, German, Norwegian and Swedish" +msgstr "" + +# type: TP +#: ../tin.1:3239 +#, no-wrap +msgid "B<3>" +msgstr "" + +# type: Plain text +#: ../tin.1:3242 +msgid "" +"table for Danish, Finnish, Norwegian and Swedish using the appropriate ISO " +"646 variant" +msgstr "" + +# type: Plain text +#: ../tin.1:3245 +msgid "table with RFC 1345 codes in brackets" +msgstr "" + +# type: TP +#: ../tin.1:3245 +#, no-wrap +msgid "B<5>" +msgstr "" + +# type: Plain text +#: ../tin.1:3248 +msgid "table for printers that allow overstriking with backspace" +msgstr "" + +# type: TP +#: ../tin.1:3249 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3255 +msgid "" +"Set the article header field ''Organization:'' to the contents of the " +"variable instead of the system default. If reading news on an Apollo " +"DomainOS machine the environment variable $B has to be used instead " +"of $B." +msgstr "" + +# type: TP +#: ../tin.1:3255 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3258 +msgid "DomainOS specific, same as $B on other OSs (see above)." +msgstr "" + +# type: TP +#: ../tin.1:3258 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3263 +msgid "" +"Set the article header field ''Reply-To:'' to the return address specified " +"by the variable. This is useful if you wish to receive replies at a " +"different address." +msgstr "" + +# type: TP +#: ../tin.1:3263 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3267 +msgid "" +"Overrides the full name given in the gecos-files in I, see also " +"B." +msgstr "" + +# type: TP +#: ../tin.1:3267 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3270 +msgid "Same as $B." +msgstr "" + +# type: TP +#: ../tin.1:3270 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3275 +msgid "Pathname of the user's home directory. See B(5) for more info." +msgstr "" + +# type: TP +#: ../tin.1:3275 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3279 +msgid "" +"This variable has precedence over the default mailer that is used in all " +"mailing operations within B." +msgstr "" + +# type: TP +#: ../tin.1:3279 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3282 +msgid "Full path to the user's mailbox." +msgstr "" + +# type: TP +#: ../tin.1:3282 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3291 +msgid "" +"This variable has precedence over the default editor (i.e., B(1)) that " +"is used in all editing operations within B (e.g., posting, replying, " +"follow-ups, ...). Evaluation order is I<${VISUAL:-\"${EDITOR:-vi}\"}>. See " +"B(5) for more info." +msgstr "" + +# type: TP +#: ../tin.1:3291 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3300 +msgid "" +"If $B is unset, then this variable is looked up for a default " +"editor. If $B and $B are both unset, B uses the systems " +"default editor (i.e. B(1)) on UNIX-systems). See B(5) for " +"more info." +msgstr "" + +# type: TP +#: ../tin.1:3300 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3306 +msgid "" +"A new group is checked against the list of patterns; if it matches, B " +"subscribes the user to the group without further query. See the section " +"\"NEWSGROUP LISTS & WILDCARDS\" for an explanation of the valid syntax. For " +"example, setting" +msgstr "" + +# type: Plain text +#: ../tin.1:3308 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3313 +msgid "" +"will automatically subscribe the user to all new groups in the comp.os.unix " +"hierarchy, and all talk groups other than talk.politics groups (which will " +"be queried for as usual). Of course this does not work if B is started " +"with the ''B<-X>'' command-line switch." +msgstr "" + +# type: TP +#: ../tin.1:3313 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3317 +msgid "" +"Is handled like the $B variable, but groups matching the list " +"are unsubscribed from without further query. For example, setting" +msgstr "" + +# type: Plain text +#: ../tin.1:3319 +msgid "I" +msgstr "" + +# type: Plain text +#: ../tin.1:3323 +msgid "" +"will automatically unsubscribe the user from all new alt.flame groups and " +"all groups starting with u (university groups) other than UK groups (which " +"will be queried for as usual)." +msgstr "" + +# type: TP +#: ../tin.1:3323 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3327 +msgid "" +"A pathname of a directory made available for B to create temporary " +"files." +msgstr "" + +# type: TP +#: ../tin.1:3327 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3332 +msgid "" +"This variable can be used to override the default path search for mailcap " +"files. See also B(5)." +msgstr "" + +# type: TP +#: ../tin.1:3332 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3337 +msgid "" +"Set this variable to disable the use of B(1) or a replacement " +"(e.g. metamutt)." +msgstr "" + +# type: TP +#: ../tin.1:3337 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.1:3339 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3344 +msgid "" +"Set this variable to point to B(1) or a replacement and its " +"cmd-line options." +msgstr "" + +# type: TP +#: ../tin.1:3344 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3351 +msgid "" +"Define any additional options that you wish to pass to your B(1) or " +"B(1) program." +msgstr "" + +# type: TP +#: ../tin.1:3351 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3356 +msgid "" +"Override the name of the B(1) directory in B<$HOME> that holds your " +"keys etc.." +msgstr "" + +# type: TP +#: ../tin.1:3356 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3361 +msgid "" +"Override the name of the B(1) directory in B<$HOME> that holds your " +"keys etc.." +msgstr "" + +# type: TP +#: ../tin.1:3361 +#, no-wrap +msgid "B" +msgstr "" + +#. TODO: document LC_CTYPEs influence on +#. ~/.tin/keymap.*, 8bit char display, ... +# type: Plain text +#: ../tin.1:3375 +msgid "" +"This variable determines the B(5) category for character handling " +"functions. Usually it determines the character classes for pattern matching " +"character classification and case conversion. Currently this is not true for " +"B (which temporary unsets B<$LC_CTYPE> right before any match is done " +"to avoid confusion). It's value should be of the form " +"I[I<_territory>][I<.codeset>][I<@modifier>]. See B(5) " +"for more information." +msgstr "" + +# type: TP +#: ../tin.1:3375 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3384 +msgid "" +"Formats of informative and diagnostic messages and interactive responses. " +"It's value should be of the form " +"I[I<_territory>][I<.codeset>][I<@modifier>]. See B(5) and " +"B(5) for more information." +msgstr "" + +# type: TP +#: ../tin.1:3384 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3392 +msgid "" +"Date and time formats. It's value should be of the form " +"I[I<_territory>][I<.codeset>][I<@modifier>]. See B(5) and " +"B(5) for more information." +msgstr "" + +# type: TP +#: ../tin.1:3392 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3401 +msgid "" +"This variable overrides the value of the B<$LANG> variable and any other " +"B<$LC_> variable. It's value should be of the form " +"I[I<_territory>][I<.codeset>]. See B(5) and B(5) " +"for more information." +msgstr "" + +# type: TP +#: ../tin.1:3401 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3410 +msgid "" +"This variable determines the B(5) category for any category not " +"specifically selected with a variable starting with B<$LC_>. It's value " +"should be of the form I[I<_territory>][I<.codeset>]. See " +"B(5) for more information." +msgstr "" + +# type: TP +#: ../tin.1:3410 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3418 +msgid "" +"This variable defines a priority list for translations. Whenever a " +"translation is not available in the language selected via B<$LC_ALL> or " +"B<$LANG> the next language from the list is tried. It's value should be of " +"the form I. See B(5) for more " +"information." +msgstr "" + +# type: TP +#: ../tin.1:3418 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3428 +msgid "" +"A decimal integer E 0 used to indicate the user's preferred width in " +"column positions for the terminal screen or window. If this variable is " +"unset or null, the implementation determines the number of columns, " +"appropriate for the terminal or window. When B<$COLUMNS> is set, any " +"terminal-width information implied by B<$TERM> will be overridden. Users and " +"portable applications should not set B<$COLUMNS> unless they wish to " +"override the system selection and produce output unrelated to the terminal " +"characteristics." +msgstr "" + +# type: TP +#: ../tin.1:3428 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3438 +msgid "" +"A decimal integer E 0 used to indicate the user's preferred number of " +"lines on a page or the vertical screen or window size in lines. A line in " +"this case is a vertical measure large enough to hold the tallest character " +"in the character set being displayed. If this variable is unset or null, the " +"implementation determines the number of lines, appropriate for the terminal " +"or window. When B<$LINES> is set, any terminal-height information implied by " +"B<$TERM> will be overridden. Users and portable applications should not set " +"B<$LINES> unless they wish to override the system selection." +msgstr "" + +# type: TP +#: ../tin.1:3438 +#, no-wrap +msgid "B" +msgstr "" + +# +# +#. TODO: add missing, sort useful, document in detail +# type: Plain text +#: ../tin.1:3447 +msgid "" +"The type of terminal in use. This is used when looking up termcap " +"sequences. See B(5) for more information." +msgstr "" + +# type: SH +#: ../tin.1:3447 +#, no-wrap +msgid "SIGNALS" +msgstr "" + +# type: Plain text +#: ../tin.1:3450 +msgid "B handles a couple of signals:" +msgstr "" + +# type: TP +#: ../tin.1:3450 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3453 ../tin.1:3456 +msgid "Terminate gracefully." +msgstr "" + +# type: TP +#: ../tin.1:3453 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.1:3456 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.1:3459 +msgid "Terminate gracefully but do not restore tty." +msgstr "" + +# type: TP +#: ../tin.1:3459 +#, no-wrap +msgid "B" +msgstr "" + +# +# +#. .SH DIAGNOSTICS +#. give an overview of the most common error messages and how to cope with +#. them. +# type: Plain text +#: ../tin.1:3470 +msgid "Write out I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>-file." +msgstr "" + +# type: SH +#: ../tin.1:3470 +#, no-wrap +msgid "SECURITY" +msgstr "" + +# type: Plain text +#: ../tin.1:3478 +msgid "" +"When B is started in debug mode (''B<-D n>'') it will create world " +"readable files in B<$TMPDIR> which may contain the users NNTP password in " +"cleartext. On multiuser-systems B<$TMPDIR> should be set to a safe location " +"before starting tin in debug mode (e.g. B)." +msgstr "" + +# type: SH +#: ../tin.1:3478 +#, no-wrap +msgid "CONFORMING TO" +msgstr "" + +#. - RFC2045, RFC2047, RFC2980, RFC3977, RFC4643, RFC5322 +#. RFC5536, RFC5537, RFC6048 or whatever +# type: Plain text +#: ../tin.1:3486 +msgid "" +"B does conform to the Base Definitions volume of IEEE Std 1003.1-2001, " +"Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax " +"Guidelines)." +msgstr "" + +# type: SH +#: ../tin.1:3486 +#, no-wrap +msgid "NOTES" +msgstr "" + +# type: Plain text +#: ../tin.1:3491 +msgid "" +"Regular expression support is provided by the PCRE library package " +"B(3), which is open source software, written by Philip Hazel, and " +"copyright by the University of Cambridge, England." +msgstr "" + +# type: Plain text +#: ../tin.1:3495 +msgid "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/" +msgstr "" + +# type: SH +#: ../tin.1:3495 +#, no-wrap +msgid "BUGS" +msgstr "" + +# type: Plain text +#: ../tin.1:3503 +msgid "" +"B NNTPd, B(1) (E= V1.0-pre5) and B (E= " +"V1.1.91) can't handle pipelined GROUP commands. If you run into trouble with " +"any of the mentioned servers define DISABLE_PIPELINING in include/autoconf.h " +"and recompile." +msgstr "" + +# type: Plain text +#: ../tin.1:3512 +msgid "" +"Before mailing a bug-report to Etin-bugs@tin.orgE please check if " +"you are using the latest (stable) release, and if not, please upgrade first! " +"Have a look at the doc/TODO file for known bugs. If you still think you've " +"found a bug, please use the B ('B') function and write in " +"English. Please do NOT enclose a core-file in your bugreport until we " +"request it." +msgstr "" + +# type: SH +#: ../tin.1:3512 +#, no-wrap +msgid "HISTORY" +msgstr "" + +# type: Plain text +#: ../tin.1:3524 +msgid "" +"B is based on the B(1) newsreader that was developed by Rich " +"Skrenta and posted to alt.sources in March 1991; its first version was " +"released on August 23rd 1991. B(1) itself was heavily influenced by " +"notesfiles a public domain UNIX version of PLATO Notes, developed at the " +"University of Illinois by Ray Essick and Rob Kolstad in 1982. For a version " +"overview see Ehttp://www.tin.org/history.htmlE." +msgstr "" + +# type: SH +#: ../tin.1:3524 +#, no-wrap +msgid "CREDITS" +msgstr "" + +# type: IP +#: ../tin.1:3526 +#, no-wrap +msgid "Rich Skrenta" +msgstr "" + +# type: Plain text +#: ../tin.1:3530 +msgid "author of B(1) v3.2 which this newsreader used as its base." +msgstr "" + +# type: IP +#: ../tin.1:3530 +#, no-wrap +msgid "Bill Davidsen" +msgstr "" + +# type: Plain text +#: ../tin.1:3532 +msgid "author of envarg.c environment variable reading routine." +msgstr "" + +# type: IP +#: ../tin.1:3532 +#, no-wrap +msgid "Mike Gleason" +msgstr "" + +# type: Plain text +#: ../tin.1:3534 +msgid "author of sigfile.c random signature generation routines." +msgstr "" + +# type: IP +#: ../tin.1:3534 +#, no-wrap +msgid "Markus Kuhn EMarkus.Kuhn@cl.cam.ac.ukE" +msgstr "" + +# type: Plain text +#: ../tin.1:3536 +msgid "author of langinfo.c, charset.c and iso2asc.txt ISO-8859-1 documentation." +msgstr "" + +# type: IP +#: ../tin.1:3536 +#, no-wrap +msgid "Arnold Robbins" +msgstr "" + +# type: Plain text +#: ../tin.1:3538 +msgid "author of strftime.c date formatting routine." +msgstr "" + +# type: IP +#: ../tin.1:3538 +#, no-wrap +msgid "Rich Salz" +msgstr "" + +# type: Plain text +#: ../tin.1:3540 +msgid "author of wildmat.c pattern matching and parsdate.y date parsing routines." +msgstr "" + +# type: IP +#: ../tin.1:3540 +#, no-wrap +msgid "Dave Taylor" +msgstr "" + +# type: Plain text +#: ../tin.1:3544 +msgid "author of curses.c from the B(1) mailreader." +msgstr "" + +# type: IP +#: ../tin.1:3544 +#, no-wrap +msgid "Chris Thewalt" +msgstr "" + +# type: Plain text +#: ../tin.1:3548 +msgid "author of getline.c B(1) style editing routine." +msgstr "" + +# type: IP +#: ../tin.1:3548 +#, no-wrap +msgid "Steven Madsen" +msgstr "" + +# type: Plain text +#: ../tin.1:3552 +msgid "for adding B(1) (Pretty Good Privacy) support." +msgstr "" + +# type: IP +#: ../tin.1:3552 +#, no-wrap +msgid "Philip Hazel Eph10@cam.ac.ukE" +msgstr "" + +# type: Plain text +#: ../tin.1:3556 +msgid "for B(3) (Perl-compatible regular expression library)." +msgstr "" + +# type: IP +#: ../tin.1:3556 +#, no-wrap +msgid "Patrick Powell Epapowell@astart.comE" +msgstr "" + +# type: Plain text +#: ../tin.1:3564 +msgid "for B(3) and B(3) fallbacks." +msgstr "" + +# type: SH +#: ../tin.1:3564 +#, no-wrap +msgid "AUTHOR" +msgstr "" + +# type: TP +#: ../tin.1:3565 +#, no-wrap +msgid "Iain Lea Eiain@bricbrac.deE" +msgstr "" + +# type: SH +#: ../tin.1:3569 +#, no-wrap +msgid "MAINTAINER" +msgstr "" + +# type: TP +#: ../tin.1:3570 +#, no-wrap +msgid "Urs Janssen Eurs@tin.orgE" +msgstr "" + +# type: SH +#: ../tin.1:3574 ../tin.5:2527 +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +# type: Plain text +#: ../tin.1:3623 +msgid "" +"B(1), B(1), B(1), B(1), B(1), B(1), " +"B(1), B(1), B(1), B(1), B(1), B(1), " +"B(1), B(1), B(1), B(1), B(1), B(1), " +"B(1), B(1), B(1), B(1x), B(3), " +"B(3), B(3), B(3), B(3), " +"B(3), B(3), B(3), B(3), " +"B(5), B(5), B(5), B(5), B(5), " +"B(5), B, B, B, B, B, " +"B, B, B, B, B, B, " +"B" +msgstr "" + +# type: Plain text +#: ../tin.5:13 +msgid "tin, rtin - related files" +msgstr "" + +# type: Plain text +#: ../tin.5:19 +msgid "" +"This manpage describes the various (config) files and their formats used by " +"the B(1) newsreader. All files are expected to have unix style ('\\en' " +"aka LF) line endings." +msgstr "" + +# type: Plain text +#: ../tin.5:60 +msgid "" +"B(4) files as defined in B. The Mailcap files are read by " +"B(1) to determine how to display non-text messages at the local " +"site. Any line that starts with \"#\" is a comment. Blank lines are " +"ignored. Otherwise, each line defines a single mailcap entry for a single " +"content type. Long lines may be continued by ending them with a backslash " +"character, \"\\e\"." +msgstr "" + +# type: Plain text +#: ../tin.5:63 +msgid "" +"Each individual mailcap entry consists of a content-type specification, a " +"command to execute, and (possibly) a set of optional \"flag\" values." +msgstr "" + +# type: Plain text +#: ../tin.5:68 +msgid "" +"The \"type\" field is simply any legal content type name. It is the string " +"that will be matched against the ''Content-Type:'' header to decide if this " +"is the mailcap entry that matches the current message. Additionally, the " +"type field may specify a subtype or a wildcard to match all subtypes." +msgstr "" + +# type: Plain text +#: ../tin.5:74 +msgid "" +"The \"command\" field is any UNIX command and is used to specify the " +"interpreter for the given type of message. It will be passed to the shell " +"via the B(3) facility." +msgstr "" + +# +#. Two special codes can appear in the viewing command for objects of type +#. multipart (any subtype). These are "%n" and "%F". %n will be replaced by +#. the number of parts within the multipart object. %F will be replaced by a +#. series of arguments, two for each part, giving first the content-type and +#. then the name of the temporary file where the decoded part has been stored. +# type: Plain text +#: ../tin.5:91 +msgid "" +"Semicolons and backslashes within the command or any flag field must be " +"quoted with backslashes. If the field contains \"%s\", those two characters " +"will be replaced by the name of a file that contains the body of the " +"message. If it contains \"%t\", those two characters will be replaced by the " +"content-type field, including the subtype, if any. If it contains \"%{\" " +"followed by a parameter name and a closing \"}\", then all those characters " +"will be replaced by the value of the named parameter, if any, from the " +"\\&''Content-Type:'' header. Finally, if the field contains \"\\e%\", those " +"two characters will be replaced by a single \"%\" character." +msgstr "" + +# type: Plain text +#: ../tin.5:93 +msgid "Besides the type and command field the following \"flags\" are defined:" +msgstr "" + +# type: TP +#: ../tin.5:93 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:103 +msgid "" +"The \"compose\" field may be used to specify a program that can be used to " +"compose a new body or body part in the given format. Its intended use is to " +"support mail composing agents that support the composition of multiple types " +"of mail using external composing agents. As with the view-command, the " +"semantics of program execution are operating system dependent. The result of " +"the composing program may be data that is not yet suitable for mail " +"transport - that is, a Content-Transfer-Encoding may need to be applied to " +"the data." +msgstr "" + +# type: TP +#: ../tin.5:103 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:113 +msgid "" +"The \"composetyped\" field is similar to the \"compose\" field, but is to be " +"used when the composing program needs to specify the ''Content-Type:'' " +"header field to be applied to the composed data. The \"compose\" field is " +"simpler, and is preferred for use with existing (non-mail-oriented) programs " +"for composing data in a given format. The \"composetyped\" field is " +"necessary when the Content-Type information must include auxiliary " +"parameters, and the composition program must then know enough about mail " +"formats to produce output that includes the mail type information." +msgstr "" + +# type: TP +#: ../tin.5:113 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:119 +msgid "" +"The \"edit\" field may be used to specify a program that can be used to edit " +"a body or body part in the given format. In many cases, it may be identical " +"in content to the \"compose\" field, and shares the operating-system " +"dependent semantics for program execution." +msgstr "" + +# type: TP +#: ../tin.5:119 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:124 +msgid "" +"The \"print\" field may be used to specify a program that can be used to " +"print a message or body part in the given format. As with the view-command, " +"the semantics of program execution are operating system dependent." +msgstr "" + +# type: TP +#: ../tin.5:124 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:133 +msgid "" +"The \"test\" field may be used to test some external condition (e.g., the " +"machine architecture, or the window system in use) to determine whether or " +"not the mailcap line applies. It specifies a program to be run to test some " +"condition. The semantics of execution and of the value returned by the test " +"program are operating system dependent. If the test fails, a subsequent " +"mailcap entry should be sought. Multiple test fields are not permitted - " +"since a test can call a program, it can already be arbitrarily complex." +msgstr "" + +# type: TP +#: ../tin.5:133 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:145 +msgid "" +"The \"needsterminal\" field indicates that the view-command must be run on " +"an interactive terminal. This is needed to inform window-oriented user " +"agents that an interactive terminal is needed. (The decision is not left " +"exclusively to the view-command because in some circumstances it may not be " +"possible for such programs to tell whether or not they are on interactive " +"terminals.) The needsterminal command should be assumed to apply to the " +"compose and edit commands, too, if they exist. Note that this is NOT a test " +"- it is a requirement for the environment in which the program will be " +"executed, and should typically cause the creation of a terminal window when " +"not executed on either a real terminal or a terminal window." +msgstr "" + +# type: TP +#: ../tin.5:145 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:152 +msgid "" +"The \"copiousoutput\" field indicates that the output from the view-command " +"will be an extended stream of output, and is to be interpreted as advice to " +"the UA (User Agent mail-reading program) that the output should be either " +"paged or made scroll-able. Note that it is probably a mistake if " +"needsterminal and copiousoutput are both specified." +msgstr "" + +# type: TP +#: ../tin.5:152 ../tin.5:1062 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:157 +msgid "" +"The \"description\" field simply provides a textual description, optionally " +"quoted, that describes the type of data, to be used optionally by mail " +"readers that wish to describe the data before offering to display it." +msgstr "" + +# type: TP +#: ../tin.5:157 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:165 +msgid "" +"The \"textualnewlines\" field, if set to any non-zero value, indicates that " +"this type of data is line-oriented and that, if encoded in base64, all " +"newlines should be converted to canonical form (CRLF) before encoding, and " +"will be in that form after decoding. In general, this field is needed only " +"if there is line-oriented data of some type other than text/* or non-line- " +"oriented data that is a subtype of text." +msgstr "" + +# type: TP +#: ../tin.5:165 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:170 +msgid "" +"The \"x11-bitmap\" field names a file, in X11 bitmap (xbm) format, which " +"points to an appropriate icon to be used to visually denote the presence of " +"this kind of data." +msgstr "" + +# type: TP +#: ../tin.5:170 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:178 +msgid "" +"The \"nametemplate\" field gives a file name format, in which %s will be " +"replaced by a short unique string to give the name of the temporary file to " +"be passed to the viewing command. This is only expected to be relevant in " +"environments where filename extensions are meaningful, e.g., one could " +"specify that a GIF file being passed to a gif viewer should have a name " +"ending in \".gif\" by using \"nametemplate=%s.gif\"" +msgstr "" + +# type: Plain text +#: ../tin.5:183 +msgid "" +"B(1) currently only respects the \"test\", \"description\", " +"\"nametemplate\" and partly the \"needsterminal\" flags, all other flags are " +"internally ignored. It also can't handle the \"%F\" and \"%n\" expansions " +"yet." +msgstr "" + +# type: TP +#: ../tin.5:183 ../tin.5:266 ../tin.5:294 ../tin.5:384 ../tin.5:693 ../tin.5:800 ../tin.5:1082 +#, no-wrap +msgid "Example:" +msgstr "" + +# type: Plain text +#: ../tin.5:188 +#, no-wrap +msgid "# mailcap file example\n" +msgstr "" + +# type: Plain text +#: ../tin.5:190 +#, no-wrap +msgid "image/*;\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:193 +#, no-wrap +msgid "xv -8 -geometry +0 '%s';\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:195 +#, no-wrap +msgid "description=%{name} %t-Image;\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:197 +#, no-wrap +msgid "test=test \"$DISPLAY\" != \"\";\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:199 +#, no-wrap +msgid "nametemplate=%s.IMAGE\n" +msgstr "" + +# type: Plain text +#: ../tin.5:202 +#, no-wrap +msgid "message/rfc822;\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:205 +#, no-wrap +msgid "${PAGER:-\"more\"} '%s';\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:207 +#, no-wrap +msgid "edit=${EDITOR:-\"vi\"} '%s';\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:209 +#, no-wrap +msgid "compose=${EDITOR:-\"vi\"} '%s';\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:211 +#, no-wrap +msgid "print=a2ps '%s';\\e\n" +msgstr "" + +# type: Plain text +#: ../tin.5:213 +#, no-wrap +msgid "needsterminal\n" +msgstr "" + +# type: Plain text +#: ../tin.5:226 +msgid "" +"default NNTP-server to read news from if not reading from the local spool. " +"\\&'B<-g> I', $B have higher priority (in that order), " +"the default server given at compile time has lower priority." +msgstr "" + +# type: Plain text +#: ../tin.5:233 +msgid "secret to be used for canlocks" +msgstr "" + +# type: Plain text +#: ../tin.5:244 +msgid "mime type / filename extension pairs" +msgstr "" + +# type: Plain text +#: ../tin.5:256 +msgid "" +"\"I I [I]\" pairs for NNTP servers that require " +"authorization. If the password contains a space or a tab it must be enclosed " +"in doublequotes (\"). Usernames must not be enclosed in doublequotes and " +"thus can't contain spaces or tabs. Any line that starts with \"#\" is a " +"comment. Blank lines are ignored. This file should be readable only for the " +"user as it contains the user's uncrypted password for reading news!" +msgstr "" + +# type: TP +#: ../tin.5:256 ../tin.5:1073 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:259 ../tin.5:1076 +msgid "full qualified domain name of the newsserver." +msgstr "" + +# type: TP +#: ../tin.5:259 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:262 +msgid "user's uncrypted password for reading news." +msgstr "" + +# type: TP +#: ../tin.5:262 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:266 +msgid "" +"username on the newsserver if it differs from the local login. This field is " +"optional." +msgstr "" + +# type: Plain text +#: ../tin.5:270 +msgid "# sample .newsauth file" +msgstr "" + +# type: Plain text +#: ../tin.5:272 +msgid "news.example.org secret" +msgstr "" + +# type: Plain text +#: ../tin.5:274 +msgid "news.example.net arcane guest" +msgstr "" + +# type: Plain text +#: ../tin.5:276 +msgid "news.example.com \"top secret\" james.bond@example.com" +msgstr "" + +# type: Plain text +#: ../tin.5:284 +msgid "\"II [I
[,I
| -I
]...]\" lines." +msgstr "" + +# type: TP +#: ../tin.5:284 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:287 +msgid "the name of the newsgroup." +msgstr "" + +# type: TP +#: ../tin.5:287 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:290 +msgid "a flag indicating if the group is subscribed ':' or not '!'." +msgstr "" + +# type: TP +#: ../tin.5:290 +#, no-wrap +msgid "B
" +msgstr "" + +# type: Plain text +#: ../tin.5:294 +msgid "" +"range of already read articles from that group; numbers separated by commas " +"with sequential numbers collapsed with hyphens." +msgstr "" + +# type: Plain text +#: ../tin.5:298 +msgid "# sample .newsrc file" +msgstr "" + +# type: Plain text +#: ../tin.5:300 +msgid "news.software.b! 1-666,669" +msgstr "" + +# type: Plain text +#: ../tin.5:302 +msgid "news.software.nntp: 1-13245,13247,13249" +msgstr "" + +# type: Plain text +#: ../tin.5:304 +msgid "news.software.readers: 1-19567,19571-19597" +msgstr "" + +# type: Plain text +#: ../tin.5:314 +msgid "backup of I<${TIN_HOMEDIR:-\"$HOME\"}/.newsrc>" +msgstr "" + +# type: Plain text +#: ../tin.5:323 +msgid "signature" +msgstr "" + +# type: Plain text +#: ../tin.5:330 +msgid "fixed part of a randomly generated signature" +msgstr "" + +# type: Plain text +#: ../tin.5:337 +msgid "history of last used strings" +msgstr "" + +# type: Plain text +#: ../tin.5:344 +msgid "mailgroups index files" +msgstr "" + +# type: Plain text +#: ../tin.5:353 +msgid "newsgroups index files" +msgstr "" + +# type: Plain text +#: ../tin.5:360 +msgid "saved newsgroups index files" +msgstr "" + +# type: Plain text +#: ../tin.5:370 +msgid "" +"active file (\"I I I I\" " +"quadruples) of user's mailgroups (requires B(1) to be build with " +"mh-mail-handling support)." +msgstr "" + +# type: TP +#: ../tin.5:370 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:373 +msgid "must be the pathname of the mailbox relative to field #4 with / changed to ." +msgstr "" + +# type: TP +#: ../tin.5:373 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:377 +msgid "" +"just put a large number here, something higher than the highest message in " +"the mailbox" +msgstr "" + +# type: TP +#: ../tin.5:377 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:380 +msgid "put 0 here" +msgstr "" + +# type: TP +#: ../tin.5:380 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:384 +msgid "" +"path of mail spool directory. This must be the full pathname to the root of " +"the mail folder area." +msgstr "" + +# type: Plain text +#: ../tin.5:388 +msgid "Mail.inbox 12345 00000 /home/foo" +msgstr "" + +# type: Plain text +#: ../tin.5:390 +msgid "Mail.outbox 23456 00000 /home/foo" +msgstr "" + +# type: Plain text +#: ../tin.5:394 +msgid "" +"This allows access to the 'inbox' and 'outbox' folders of user foo. They " +"are accessed via /home/foo/Mail/inbox and /home/foo/Mail/outbox" +msgstr "" + +# type: Plain text +#: ../tin.5:401 +msgid "active file of user's saved newsgroups, used by B." +msgstr "" + +# type: Plain text +#: ../tin.5:423 +msgid "" +"The group attributes files may be used to override some global settings from " +"I<${TIN_HOMEDIR:-\"$HOME\"}/.tin/tinrc> on a per group basis. Order is " +"important as last match counts; this allows one to refine attributes for " +"narrowed scopes. Note that the IgrouplistE> line has to be " +"specified before the attributes are specified for that list and each " +"attribute can only be set once per scope section. All attributes are set to " +"a reasonable default so you only have to specify the attribute that you want " +"to change. All toggle attributes are set by specifying ON/OFF. Otherwise, " +"they function exactly as their global equivalents. The following group " +"attributes are available:" +msgstr "" + +# type: TP +#: ../tin.5:423 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:429 +msgid "" +"This changes the list of groups to which the attributes that follow will be " +"applied. See the section NEWSGROUP LISTS & WILDCARDS in B(1) for the " +"types of pattern that can be used here." +msgstr "" + +# type: TP +#: ../tin.5:429 ../tin.5:1185 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:432 ../tin.5:435 ../tin.5:438 ../tin.5:441 ../tin.5:444 ../tin.5:447 ../tin.5:450 ../tin.5:463 ../tin.5:473 ../tin.5:486 ../tin.5:489 ../tin.5:492 ../tin.5:495 ../tin.5:502 ../tin.5:505 ../tin.5:532 ../tin.5:535 ../tin.5:538 ../tin.5:548 ../tin.5:551 ../tin.5:554 ../tin.5:557 ../tin.5:560 ../tin.5:563 ../tin.5:566 ../tin.5:569 ../tin.5:572 ../tin.5:575 ../tin.5:581 ../tin.5:584 ../tin.5:587 ../tin.5:590 ../tin.5:593 ../tin.5:596 ../tin.5:599 ../tin.5:605 ../tin.5:608 ../tin.5:611 ../tin.5:614 ../tin.5:617 ../tin.5:620 ../tin.5:623 ../tin.5:626 ../tin.5:629 ../tin.5:683 +msgid "Identical to the tinrc variable of the same name" +msgstr "" + +# type: TP +#: ../tin.5:432 ../tin.5:1189 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:435 ../tin.5:1192 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:438 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:441 ../tin.5:1235 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:444 ../tin.5:1239 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:447 ../tin.5:1246 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:450 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:454 +msgid "" +"Automatically perform the B ('B') command after " +"entering the group." +msgstr "" + +# type: TP +#: ../tin.5:454 ../tin.5:1252 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:460 +msgid "" +"Can be used to override the global setting in tinrc on a per group " +"basis. For more information read section AUTOMATIC MAILING AND SAVING NEW " +"NEWS in B(1)." +msgstr "" + +# type: TP +#: ../tin.5:460 ../tin.5:1366 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:463 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:470 +msgid "" +"If this is set to ON, then saved article files that have been post-processed " +"will be automatically deleted, otherwise the user will be asked whether to " +"delete the post-processed files. Automatic processing of marked articles " +"using B ('B') will suppress prompting." +msgstr "" + +# type: TP +#: ../tin.5:470 ../tin.5:1481 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:473 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:477 +msgid "" +"Mailbox to save sent mails. The format of the mailbox is controlled via the " +"tinrc B variable." +msgstr "" + +# type: TP +#: ../tin.5:477 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:480 +msgid "Set ''Followup-To:'' header to the specified group(s)." +msgstr "" + +# type: TP +#: ../tin.5:480 ../tin.5:763 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:483 +msgid "Identical to the tinrc variable B" +msgstr "" + +# type: TP +#: ../tin.5:483 ../tin.5:1505 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:486 ../tin.5:1572 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:489 ../tin.5:1584 ../tin.5:2306 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:492 ../tin.5:1601 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:495 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:499 +msgid "" +"Used when a group is a mailing list. All responses to the group will be " +"directed to this email address instead" +msgstr "" + +# type: TP +#: ../tin.5:499 ../tin.5:1639 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:502 ../tin.5:1636 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:505 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:522 +msgid "" +"Determines whether usenet articles are forwarded as attachment or " +"inline. When set to OFF, the forwarded article will be included in the body " +"of the mail, while setting this variable to ON will cause the article to be " +"attached as a separate MIME part. Enabling B is particularly " +"useful for articles consisting of multiple MIME parts such as PGP/MIME " +"signed messages or being encoded in a different character set than your " +"local one. It is also useful if the receiver should be able to operate on " +"the entire forwarded article (i.e., view or save it without your " +"comments). On the other hand, if you want to forward only some parts of the " +"article or to insert 'inline' annotations, you might want to disable this " +"option. Currently mime_forward is forced if the article to be attached is a " +"multipart MIME article, this may change in a future version. Please note " +"that for this option to have effect, the tinrc variable " +"B has to be set to 0 (which is the default)." +msgstr "" + +# type: TP +#: ../tin.5:522 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:529 +msgid "" +"A comma separated list of MIME major/minor Content-Types that will be saved " +"when using the view/save and save/autosave features. A single * can be used " +"to wildcard the major and/or minor type and a ! as the first character in an " +"entry will negate it, eg: image/*,!image/bmp,!text/html. Default is */*" +msgstr "" + +# type: TP +#: ../tin.5:529 ../tin.5:1718 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:532 ../tin.5:1725 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:535 ../tin.5:1734 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:538 ../tin.5:2279 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:545 +msgid "" +"This can be used to set the article header field ''Organization:''. It " +"overrides the setting (if any) of organization in I " +"and $B (or $B on Apollo DomainOS). Note that some " +"newsserver might still overwrite the \\&''Organization:'' header." +msgstr "" + +# type: TP +#: ../tin.5:545 ../tin.5:1759 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:548 ../tin.5:1763 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:551 ../tin.5:1774 ../tin.5:2303 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:554 ../tin.5:1786 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:557 ../tin.5:1779 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:560 ../tin.5:1809 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:563 ../tin.5:1823 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:566 ../tin.5:1827 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:569 ../tin.5:1831 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:572 ../tin.5:1891 +#, no-wrap +msgid "B" +msgstr "" + +#. TODO: document option +# type: TP +#: ../tin.5:575 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:578 ../tin.5:1919 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:581 ../tin.5:1945 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:584 ../tin.5:1963 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:587 ../tin.5:1971 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:590 ../tin.5:1974 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:593 ../tin.5:1977 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:596 ../tin.5:1988 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:599 ../tin.5:1998 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:602 +msgid "Identical to the tinrc variable B" +msgstr "" + +# type: TP +#: ../tin.5:602 ../tin.5:2027 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:605 ../tin.5:2056 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:608 ../tin.5:2084 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:611 ../tin.5:2089 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:614 ../tin.5:2104 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:617 ../tin.5:2099 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:620 ../tin.5:2128 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:623 ../tin.5:2208 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:626 ../tin.5:2255 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:629 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:634 +msgid "" +"A piece of text that will be added at the start of a message body. If this " +"string starts with a / or ~ then it is assumed to be the name of a file " +"containing the text to insert." +msgstr "" + +# type: TP +#: ../tin.5:634 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:637 +msgid "Insert ''X-Comment-To:'' header, this is only useful in FIDO groups." +msgstr "" + +# type: TP +#: ../tin.5:637 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:645 +msgid "" +"A string including header-name and the contents of the header that will be " +"automatically added when posting. If the string starts with a / or ~ then it " +"is assumed to be the name of a file containing the header and its content to " +"be inserted. If the string starts with a ! then what follows is assumed to " +"be the path to a program to be executed to generate the header and its " +"content." +msgstr "" + +# type: TP +#: ../tin.5:645 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:651 +msgid "" +"A comma-separated list of newsgroup patterns (wildmat-style) to which groups " +"the filter rule added by B will be applied. If unset the " +"default from the tinrc variable B will be used." +msgstr "" + +# type: TP +#: ../tin.5:651 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:654 +msgid "Identical to the tinrc variable B" +msgstr "" + +# type: TP +#: ../tin.5:654 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:657 +msgid "Identical to the tinrc variable B" +msgstr "" + +# type: TP +#: ../tin.5:657 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:660 +msgid "Identical to the tinrc variable B" +msgstr "" + +# type: TP +#: ../tin.5:660 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:666 +msgid "" +"A comma-separated list of newsgroup patterns (wildmat-style) to which groups " +"the filter rule added by B will be applied. If unset the " +"default from the tinrc variable B will be " +"used." +msgstr "" + +# type: TP +#: ../tin.5:666 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:669 +msgid "Identical to the tinrc variable B" +msgstr "" + +# type: TP +#: ../tin.5:669 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:672 +msgid "Identical to the tinrc variable B" +msgstr "" + +# type: TP +#: ../tin.5:672 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:675 +msgid "Identical to the tinrc variable B" +msgstr "" + +# type: TP +#: ../tin.5:675 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:680 +msgid "" +"Path and options for B(1)-like spell-checker, e.g. \"aspell " +"--mode=email --dont-backup check\"" +msgstr "" + +# type: TP +#: ../tin.5:680 ../tin.5:1672 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: ../tin.5:683 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:692 +msgid "" +"Assume (broken) articles without MIME charset declaration have this charset " +"- default is US-ASCII. This attribute works only on systems with working " +"B(3), others might have to compile B(1) with " +"--disable-mime-strict-charset." +msgstr "" + +# type: Plain text +#: ../tin.5:702 +#, no-wrap +msgid "" +"# include extra headers\n" +"# assume ISO-8859-1 as charset if no charset is declared\n" +"scope=*\n" +"x_headers=~/.tin/headers\n" +"undeclared_charset=ISO-8859-1\n" +msgstr "" + +# type: Plain text +#: ../tin.5:706 +#, no-wrap +msgid "" +"# in *sources* set post process type to shar only\n" +"scope=*sources*\n" +"post_process_type=1\n" +msgstr "" + +# type: Plain text +#: ../tin.5:713 +#, no-wrap +msgid "" +"# in *binaries* turn on full post processing,\n" +"# remove tmp files and set Followup-To: poster\n" +"scope=*binaries*\n" +"post_process_type=2\n" +"delete_tmp_files=ON\n" +"followup_to=poster\n" +msgstr "" + +# type: Plain text +#: ../tin.5:719 +#, no-wrap +msgid "" +"# in fido.* newsgroups change quote_chars\n" +"# and add X-Comment-To: line\n" +"scope=fido.*\n" +"quote_chars=%sE_\n" +"x_comment_to=ON\n" +msgstr "" + +# type: Plain text +#: ../tin.5:725 +#, no-wrap +msgid "" +"# in *.test newsgroups, don't append signature\n" +"# and preset Subject\n" +"scope=*.test\n" +"sigfile=--none\n" +"x_headers=Subject: test - ignore - no reply\n" +msgstr "" + +# type: Plain text +#: ../tin.5:729 +#, no-wrap +msgid "" +"# assume ISO-2022-JP-2 as charset\n" +"scope=fj.*,japan.*\n" +"undeclared_charset=ISO-2022-JP-2\n" +msgstr "" + +# type: Plain text +#: ../tin.5:741 +msgid "" +"The filter file is used to assign scores to certain articles. Based on the " +"score an article can be filtered out (hidden) or marked hot. Empty lines or " +"lines beginning with a '#' are ignored." +msgstr "" + +# type: TP +#: ../tin.5:741 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:750 +msgid "" +"Every entry (rule) in the filter file might get a comment. Multiple lines " +"are allowed (but only for comments yet). Every line must start with the " +"\"comment=\" keyword. Comments must appear first in the rule. Comment lines " +"placed within a rule will be moved to the begin of the next rule. This might " +"be changed in the future. Don't use '#' to mark comments as those lines are " +"ignored and your comments will get lost on the next write of the file." +msgstr "" + +# type: TP +#: ../tin.5:750 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:754 +msgid "" +"A comma-separated list of newsgroup patterns (wildmat-style) to which groups " +"the filter rule will be applied. This line is mandatory!" +msgstr "" + +# type: TP +#: ../tin.5:754 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:757 +msgid "0=case-sensitive, 1=case-insensitive" +msgstr "" + +# type: TP +#: ../tin.5:757 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:760 +msgid "" +"Score value of the rule; can also be one of the magic words \"kill\" or " +"\"hot\"." +msgstr "" + +# type: TP +#: ../tin.5:760 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:763 +msgid "Match against ''Subject:''" +msgstr "" + +# type: Plain text +#: ../tin.5:771 +msgid "" +"Match against ''From:''. B(1) converts the contents of the ''From:'' " +"header to an old style e-mail address, e.g. ''some@body.example (John Doe)'' " +"instead of ''John Doe Esome@body.exampleE'', before trying to match " +"the patterns in the filter rule." +msgstr "" + +# type: TP +#: ../tin.5:771 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:774 +msgid "Match against ''Message-ID:'' and full ''References:''" +msgstr "" + +# type: TP +#: ../tin.5:774 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:777 +msgid "Match against ''Message-ID:'' and last ''References:'' entry only" +msgstr "" + +# type: TP +#: ../tin.5:777 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:780 +msgid "Match against ''Message-ID:''" +msgstr "" + +# type: TP +#: ../tin.5:780 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:783 +msgid "Match against ''References:''" +msgstr "" + +# type: TP +#: ../tin.5:783 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:786 +msgid "" +"Match against ''Lines:'', Enum matches less than, Enum matches more " +"than." +msgstr "" + +#. TODO: document option in detail +# type: TP +#: ../tin.5:786 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:790 +msgid "Match against ''From:'' address parser return codes." +msgstr "" + +# type: TP +#: ../tin.5:790 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: ../tin.5:796 +msgid "" +"Match against ''Xref:'' line. Before any matching is done the line is turned " +"into the same format ''Newsgroups:'' has that is it is turned into a comma " +"separated newsgroup list with all other information (i.e. the article " +"counter) removed." +msgstr "" + +# type: TP +#: ../tin.5:796 ../tin.5:2446 +#, no-wrap +msgid "B
/dev/null PGP5: pgpv -f $PGPOPTS
/dev/null - GPG: gpg $PGPOPTS --nobatch --decrypt
/dev/null + GPG: gpg $PGPOPTS
/dev/null If the article has (-----BEGIN PGP PUBLIC KEY BLOCK-----) diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/plp_snprintf.3 tin-2.0.0/doc/plp_snprintf.3 --- tin-1.8.3/doc/plp_snprintf.3 2005-06-28 10:31:20.000000000 +0200 +++ tin-2.0.0/doc/plp_snprintf.3 2011-04-17 16:04:27.430613150 +0200 @@ -149,7 +149,7 @@ as modified by the visible_control varia The ``char *'' argument is expected to be a pointer to an array of character type (pointer to a string). Characters from the array are written up to (but not including) a terminating NUL character; if a precision is specified, no more than the number specified are written. -Characters are writen to the string as modified by the visible_control variable value. +Characters are written to the string as modified by the visible_control variable value. .IP % A `%' is written. No argument is converted. The complete conversion specification is `%%'. .LP diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/rcvars.txt tin-2.0.0/doc/rcvars.txt --- tin-1.8.3/doc/rcvars.txt 2005-06-28 10:31:20.000000000 +0200 +++ tin-2.0.0/doc/rcvars.txt 2011-04-17 16:04:27.498623497 +0200 @@ -47,12 +47,14 @@ Adding a new attribute: . Add it to the list of enumerated types at the beginning of attrib.c . In read_attributes_file() add a MATCH_ entry to parse it in under the appropriate first letter section. -. In do_set_attrib(), add a corresponding SET_ entry +. In set_attrib() and assign_attributes_to_groups(), add a corresponding + SET_ entry . In write_attributes_file(), add a minimal entry in the header to - describe the usage of the attribute - Add code to write out the attribute in the for_each_group() loop - [ Currently unused, but wise to keep it up to date ] -. Add code to write out the attribute in dump_attributes() + describe the usage of the attribute and add code to write out the + attribute +. Add code to write out the attribute in dump_attributes() and dump_scopes() +. In options_menu.c:change_config_file() add UPDATE_(INT_|STRING_)ATTRIBUTES + under the appropriate case OPT_* section . Free up the attribute in memory.c:free_attributes_array() if needed Where possible try to keep the ordering of the attributes in the various diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/tin.1 tin-2.0.0/doc/tin.1 --- tin-1.8.3/doc/tin.1 2007-02-01 14:08:24.000000000 +0100 +++ tin-2.0.0/doc/tin.1 2011-08-22 00:18:21.777014255 +0200 @@ -3,23 +3,13 @@ .\" Module : tin.1 .\" Author : I. Lea, U. Janssen .\" Created : 1991-08-23 -.\" Updated : 2007-02-01 +.\" Updated : 2011-08-23 .\" Notes : use american english; still needs some work, e.g.: .\" - document authorization (.newsauth) .\" - document random organization feature .\" -.\" Macros -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. .\" -.TH tin 1 "February 1st, 2007" "1.8.3" "A Usenet newsreader" +.TH tin 1 "August 23rd, 2011" "2.0.0" "A Usenet newsreader" .\" .\" .SH NAME @@ -34,8 +24,9 @@ tin, rtin \- A Usenet newsreader .RB [\| \-ArzxX \|]\|] .RB [\|[\| \-R \||\| \-S \|] .RB \|\| \-s -.IR News-dir \|] +.IR News_dir \|] .RB [\| \-cuvZ \|] +.RB [\| \-4 \||\| \-6 \|] .RB [\| \-N \||\| \-M .IR address \|] .RB [\| \-o \||\| \-w \|]\|] @@ -63,7 +54,7 @@ option) via a NNTP (Network News Transpo automatically utilize NOV .BR newsoverview (5) style index files if available locally or via the NNTP [X]OVER command -(\fBRFC2980\fP). +(\fBRFC2980\fP, \fBRFC3977\fP). .PP .B tin has four separate levels of operation: Selection level, Group level, @@ -72,7 +63,7 @@ command to view a list of the commands a level. .PP On startup \fBtin\fP will show a list of the newsgroups found in -\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR. An arrow '\->' or highlighted +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR. An arrow '\->' or highlighted bar will point to the first newsgroup. Move to a group by using the terminal arrow keys (terminal dependent) or \fBDown\fP ('\fBj\fP') and \fBUp\fP ('\fBk\fP'). Use PgUp/PgDn (terminal dependent) or @@ -110,6 +101,12 @@ Unread news .\" .SH OPTIONS .TP 12 +.B \-4 +Force connecting via IPv4 to the remote NNTP server. +.TP +.B \-6 +Force connecting via IPv6 to the remote NNTP server. +.TP .B \-a Toggle ANSI color (default is off). .TP @@ -118,22 +115,23 @@ Force authentication on initial connect. .TP .B \-c Create/update index files for every group in -\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR or file specified by the ''\fB\-f\fP'' +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR or file specified by the ''\fB\-f\fP'' option and mark all articles as read. .TP .B \-d Don't load newsgroup descriptions (interactive mode). .TP .BI \-D " debug-level" -Enter debug-level (1 = NNTP, 2 = all, 3 = newsrc, 4 = memory allocation). +Enter debug-level (1 = NNTP, 2 = filter, 4 = newsrc, 8 = threading, 16 = +memory, 32 = attributes, 64 = misc). .TP .BI \-f " file" Use the specified file of subscribed to newsgroups in place of -\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR. +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR. .TP .BI \-g " server" Use the server and newsrc specified in -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/newsrctable\fR. +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fR. .TP .BI \-G " article-limit" Limit the number of articles/group to retrieve from the server. @@ -147,22 +145,22 @@ started. .TP .BI \-I " dir" Directory in which to store newsgroup index files. Default is -\fI${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news\fR. +\fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news\fR. This option has no effect if \fBtin\fP retrieves its index files via NNTP and \fBcache_overview_files\fP is turned off. .TP .BI \-l Get number of articles per group from the -\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file. If -reading via NNTP this is done with the LIST command (\fBRFC977\fP). This +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file. If +reading via NNTP this is done with the LIST command (\fBRFC3977\fP). This might result in incorrect article counts but is usually faster than the default which is to read the -\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file (either directly or via LIST) and then check the article count via -NNTP GROUP command (\fBRFC977\fP) ''\fB\-ln\fP''. +NNTP GROUP command (\fBRFC3977\fP) ''\fB\-ln\fP''. .TP .BI \-m " dir" -Mailbox directory to use. Default is \fI${TIN_HOMEDIR\-"$HOME"}/Mail\fR. +Mailbox directory to use. Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fR. .TP .BI \-M " user" Mail unread articles to specified user for later reading. For more @@ -170,8 +168,8 @@ information read section "AUTOMATIC MAIL .TP .B \-n Only load groups from the -\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file that are -subscribed to in the user's \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR. This +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file that are +subscribed to in the user's \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR. This allows a noticeable speedup when connecting via a slow line, but \fBtin\fP can not tell which groups are moderated. See also ''\fB\-l\fP''. .TP @@ -204,7 +202,7 @@ Read news saved by the ''\fB\-S\fP'' opt .TP .BI \-s " dir" Save/read articles to/in directory. Default is -\fI${TIN_HOMEDIR\-"$HOME"}/News\fR. +\fI${TIN_HOMEDIR:\-"$HOME"}/News\fR. .TP .B \-S Save unread articles for later reading by the ''\fB\-R\fP'' option. For more @@ -212,7 +210,7 @@ information read section "AUTOMATIC MAIL .TP .B \-u Create/update index files for every group in -\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR or file specified by the ''\fB\-f\fP'' +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR or file specified by the ''\fB\-f\fP'' option. This option is disabled if \fBtin\fP retrieves its index files via a NNTP server and \fBcache_overview_files\fP is turned off. .TP @@ -231,8 +229,8 @@ quick, it should be used with ''\fB\-n\f No posting mode. You cannot post articles if you use this option. .TP .B \-X -No overwrite mode. \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR and files in -\fI${TIN_HOMEDIR\-"$HOME"}/.tin\fR +No overwrite mode. \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR and files in +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin\fR will not be overwritten but may be created if they don't exist. .TP .B \-z @@ -248,7 +246,7 @@ and 2 that new/unread news exists. Usefu .PP \fBtin\fP can also dynamically change its options by the \fBOptionMenu\fP ('\fBM\fP') command. Any changes are written to -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR. For more information see section +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR. For more information see section "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" and .BR tin (5). .PP @@ -262,17 +260,24 @@ group, then you will automatically enter group selection screen will appear, but with all the matching groups present too, as though you had yanked just those groups in. .PP +With the ''\fB-w\fP'' flag a given group-name is used as default group to post +to. If more than one group or a wildcard is specified only the first group +respectively the first group that matches is used. +.PP Once you use \fBSelectYankActive\fP ('\fBy\fP') to yank in all active groups, or \fBSelectToggleReadDisplay\fP ('\fBr\fP') to toggle the read/unread status, then the command-line groups will be gone. You can use \fBSelectSyncWithActive\fP ('\fBY\fP') to reread the -\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file and get +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file and get them back. .PP NB: With the ''\fB\-n\fP'' flag, only unsubscribed groups in the -\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file (or the newsrc-file given by the +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file (or the newsrc-file given by the \&''\fB\-f\fP'' command-line switch or via -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/newsrctable\fR) can be matched. +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable\fR) can be matched. +.PP +Command-line options have higher priority than attributes and tinrc options. +Thus, command-line option takes precedence over configured values. .\" .\" .SH USAGE @@ -286,10 +291,10 @@ news system and news users. A user starting \fBtin\fP for the first time can be automatically subscribed to a list of newsgroups that are deemed appropriate by the news administrator. The subscriptions file should be created in your news lib -directory (i.e., \fI${TIN_LIBDIR\-NEWSLIBDIR}/subscriptions\fR) and should +directory (i.e., \fI${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions\fR) and should have file permissions set to 0644. If you read news via NNTP, then your news -server must support the LIST SUBSCRIPTIONS command. It is part of the Common -NNTP Extensions (\fBRFC2980\fP) and all modern servers should understand it. +server must support the LIST SUBSCRIPTIONS command. It is part of the NNTP +List Extensions (\fBRFC6048\fP) and all modern servers should understand it. .\" .\" .SS "SCREEN FORMAT" @@ -352,7 +357,7 @@ recent articles and the number of killed .PP .nf .\" FIXME - make this autocenter - alt.sources (5B -50/23+ 0* 3o 0K). + alt.sources (5B \-50/23+ 0* 3o 0K) .fi .PP The characters after the numbers are depending to the configuration and if @@ -402,7 +407,7 @@ At the Article level the page header has .\" FIXME - make this autoscale .nf Sun, 28 Dec 1997 21:21:01 de.admin.news.groups Thread 20 of 86 -Lines 50 Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL RespNo 47 of 59 +Lines 50 Re: EINSPRUCH zu RESULT:de.comm.mobil.ALL Article 47 of 59 Urs Janssen at Arbeitskreis Kultur und Kommunikati article-body @@ -419,8 +424,7 @@ within \fBtin\fP. Beg. of list/article \fBHome\fP \fBFirstPage\fP (\fB^\fP) End of list/article \fBEnd\fP \fBLastPage\fP (\fB$\fP) Page Up \fBPgUp\fP \fBPageUp\fP (\fBu\fP, \fB^U\fP or \fB^B\fP) -Page Down \fBPgDn\fP \fBPageDown\fP (\fB^D\fP or \fB^F\fP) - or \fBPageDown3\fP (\fB\fP) +Page Down \fBPgDn\fP \fBPageDown\fP (\fB^D\fP or \fB^F\fP or \fB\fP) Line Up \fBUp arrow\fP \fBUp\fP (\fBk\fP or \fB^P\fP) Line Down \fBDown arrow\fP \fBDown\fP (\fBj\fP or \fB^N\fP) .fi @@ -525,7 +529,7 @@ Print \fBtin\fP version information. Select group 4. .TP .B SelectResetNewsrc '^R' -Reset \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file. This will destroy all +Reset \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file. This will destroy all records of which articles have been read, so use this carefully. .TP .B SetRange '#' @@ -636,11 +640,11 @@ Quit \fBtin\fP without saving any change .TP .B SelectYankActive 'y' Yanks in all groups. Toggles the displayed groups between all the groups in -the \fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file and just -those that are subscribed to in \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR. +the \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file and just +those that are subscribed to in \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR. .TP .B SelectSyncWithActive 'Y' -Reread the \fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file +Reread the \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file to see if any new news has arrived since starting \fBtin\fP. .TP .B SelectMarkGrpUnread 'z' 'Z' @@ -660,6 +664,16 @@ for more information. Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for more information. .TP +.B MarkFeedRead '^X' +Mark current article, thread, range, auto-selected (hot) articles, articles +matching pattern or tagged articles as read. A prompt asks which type should +be marked. +.TP +.B MarkFeedUnread '^W' +Mark current article, thread, range, auto-selected (hot) articles, articles +matching pattern or tagged articles as unread. A prompt asks which type should +be marked. +.TP .B SetRange '#' Choose a range of articles to be affected by the next command. See the section "RANGES" for more information. @@ -760,6 +774,11 @@ with unread news. Cycle the display of the author through all the possible options for the tinrc variable \fBshow_author\fP. .TP +.B GroupCancel 'D' +Cancel (delete) or supersede (overwrite) the current article. It must +have been posted by the same user. The cancel message can be seen in +the newsgroup 'control' or 'control.cancel'. +.TP .B EditFilter 'E' Edit the filter file and reload it afterwards. .TP @@ -778,7 +797,10 @@ line. Toggle inverse video. .TP .B GroupMarkThdRead 'K' -Mark article/thread as read and move onto the next unread article/thread. +Mark article/thread as read and move onto the next unread article/thread. If +a range of articles/threads is set, the range will be marked as read instead +of the current article/thread. When tagged articles/threads are present, a +prompt asks how to proceed. .TP .B GroupListThd 'l' Open the thread under the current cursor position. @@ -873,7 +895,9 @@ effect and make the changes permanent. Mark current article as unread. .TP .B MarkThdUnread 'Z' -Mark current thread as unread. +Mark current thread as unread. If a range of threads is set, the range will +be marked as unread instead of the current thread. When tagged threads are +present, a prompt asks how to proceed. .\"-------------------------------------------------------------------- .\" .SS "THREAD LISTING COMMANDS" @@ -890,6 +914,16 @@ ARTICLES" for more information. Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for more information. .TP +.B MarkFeedRead '^X' +Mark current article, thread, range, auto-selected (hot) articles, articles +matching pattern or tagged articles as read. A prompt asks which type should +be marked. +.TP +.B MarkFeedUnread '^W' +Mark current article, thread, range, auto-selected (hot) articles, articles +matching pattern or tagged articles as unread. A prompt asks which type should +be marked. +.TP .B SetRange '#' Choose a range of articles to be affected by the next command. See the section "RANGES" for more information. @@ -953,6 +987,11 @@ containing unread news. Cycle the display of the author through all the possible options for the tinrc variable \fBshow_author\fP. .TP +.B ThreadCancel 'D' +Cancel (delete) or supersede (overwrite) the current article. It must +have been posted by the same user. The cancel message can be seen in +the newsgroup 'control' or 'control.cancel'. +.TP .B EditFilter 'E' Edit the filter file and reload it afterwards. .TP @@ -963,7 +1002,10 @@ Display the subject of the current artic Toggle inverse video. .TP .B ThreadMarkArtRead 'K' -Mark article as read and move onto the next unread article. +Mark article as read and move onto the next unread article. If a range +of articles is set, the range will be marked as read instead of the +current article. When tagged articles are present, a prompt asks how +to proceed. .TP .B LookupMessage 'L' Look up article by ''Message\-ID:''. @@ -1011,7 +1053,9 @@ get the chance to edit the article again \fBQuit\fP ('\fBq\fP'). .TP .B MarkArtUnread 'z' -Mark current article in thread as unread. +Mark current article in thread as unread. If a range of articles is set, +the range will be marked as unread instead of the current article. When +tagged articles are present, a prompt asks how to proceed. .TP .B MarkThdUnread 'Z' Mark all articles in thread as unread. @@ -1039,8 +1083,8 @@ Perform .BR pgp (1) operations on article. .TP -.B PageToggleHeaders '^H' -Toggles the display mode (raw including all headers vs. cooked) +.B PageToggleRaw '^H' +Toggles the display mode (raw including all headers vs. cooked). .TP .B MenuFilterKill '^K' Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for more @@ -1057,6 +1101,9 @@ headers included. Toggle TeX to ISO decoding for current article. The default behavior is taken from the \fBtex2iso_conv\fP variable in the tinrc file. .TP +.B PageToggleAllHeaders '*' +Toggles the display of all headers vs. headers in \fBnews_headers_to_display\fP. +.TP .B PageToggleRot '%' Toggle ROT-13 decoding for this article. .TP @@ -1084,15 +1131,15 @@ Forward search the text of this article. Backward search the text of this article. .TP .B PageSkipIncludedText ':' -Skip to the end of the quoted text-block in this article. Quoted text +Skip to the end of the next quoted text\-block in this article. Quoted text is everything which matches \fBquote_regex\fP, \fBquote_regex2\fP or \fBquote_regex3\fP. .TP .B PageTopThd '<' -Goto the first article in the current thread. +Go to the first article in the current thread. .TP .B PageBotThd '>' -Goto the last article in the current thread. +Go to the last article in the current thread. .TP .B PageToggleHighlight '_' Toggle word highlighting on/off. @@ -1121,11 +1168,12 @@ a full explanation of these variables an information on filtering. .TP .B PageNextThd '^J' '' -Goto next base article. +Go to next base article. .TP .B PageNextUnread '' -Goto next unread article. If the tinrc variable \fBtab_goto_next_unread\fP -is set to OFF, then this key will first page through the current article. +Go to next unread article. If the tinrc variable \fBgoto_next_unread\fP +doesn't contain PageNextUnread, then this key will first page through the +current article. .TP .B SearchAuthF 'a' Author forward search. @@ -1164,10 +1212,10 @@ Post a followup to the current article w article. .TP .B PageFirstPage 'g' -Goto the start of the article. +Go to the start of the article. .TP .B PageLastPage 'G' -Goto the end of the article. +Go to the end of the article. .TP .B ToggleInfoLastLine 'i' Display the subject of the current article in the last line. @@ -1240,15 +1288,15 @@ or reposting. Return to group selection level. .TP .B PageGotoParent 'u' -Goto parent article. +Go to parent article. .TP .B PageViewUrl 'U' -Browse URLs in article. All URLs will be prompted in turn and opened -using the \fBurl_handler\fP. '\fB\fP' or no input will skip the -URL. +Display a list of URLs in the current article. See the section "URL LISTING" +for more information. .TP .B PageViewAttach 'V' -View or save multimedia attachments. +Display a list of attachments of the current article. See the section +"ATTACHMENT LISTING" for more information. .TP .B Post 'w' Post an article to the current group. If posting fails for some reason, @@ -1270,23 +1318,109 @@ Mark article as unread. Mark the current thread as unread. .\"-------------------------------------------------------------------- .\" +.SS "URL LISTING" +\fBPageViewUrl\fP ('\fBU\fP') displays a list of URLs in the current +article. Besides the common moving keys, the following commands are available: +.RS 4 +.TP 10 +.B UrlSelect '^J' '' +The current URL will be prompted and opened using the +\fBurl_handler\fP. '\fB\fP' or no input will skip the URL. +.TP +.B SearchSubjF '/' +URL forward search. +.TP +.B SearchSubjB '?' +URL backward search. +.TP +.B SearchRepeat '\\\\' +Repeat the previous search. +.TP +.B ShellEscape '!' +Shell escape. +.TP +.B ToggleInfoLastLine 'i' +Toggle the display of the current URL in the last line. +.TP +.B Help 'h' +Help screen of commands available. +.TP +.B ToggleHelpDisplay 'H' +Toggle the display of help mini menu at the bottom of the screen. +.RE +.\"-------------------------------------------------------------------- +.\" +.SS "ATTACHMENT LISTING" +\fBPageViewAttach\fP ('\fBV\fP') displays a list of attachments of the current +article. Besides the common moving keys, the following commands are available: +.RS 4 +.TP 10 +.B AttachPipe 'p' +Pipe attachment into command. +.TP +.B AttachSave 's' +Save current attachment / tagged attachments to disk. +.TP +.B AttachSelect '^J' '' +View attachment. +.TP +.B AttachTag 't' +Tag one or more attachments for saving. +.TP +.B AttachTagPattern '=' +Prompts for a pattern to match. All attachments whose name/description or +content type/transfer encoding match the pattern will be tagged. +.TP +.B AttachToggleTagged '@' +Reverse tagging of all attachments. +.TP +.B AttachUntag 'U' +Untag all tagged attachments. +.TP +.B SearchSubjF '/' +Attachment forward search. +.TP +.B SearchSubjB '?' +Attachment backward search. +.TP +.B SearchRepeat '\\\\' +Repeat the previous search. +.TP +.B GlobalPipe '|' +Pipe attachment into command. Uses the raw attachment, no decoding is done. +.TP +.B ShellEscape '!' +Shell escape. +.TP +.B ToggleInfoLastLine 'i' +Toggle the display of the name/description of the current attachment in the +last line. +.TP +.B Help 'h' +Help screen of commands available. +.TP +.B ToggleHelpDisplay 'H' +Toggle the display of help mini menu at the bottom of the screen. +.RE +.\"-------------------------------------------------------------------- +.\" .SS "GLOBAL OPTIONS MENU AND TINRC CONFIGURABLE VARIABLES" .\" FIXME - add missing descriptions At startup, \fBtin\fP reads in the configuration files (see also .BR tin (5)). They contain a list of variables that can be used to configure the way \fBtin\fP works. If it exists, the global configuration file, -\fI${TIN_LIBDIR\-NEWSLIBDIR}/tinrc\fR is read. After that, the user's own -configuration file is read from \fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR. The +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is read. After that, the user's own +configuration file is read from \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR. The global file is useful for distributing system-wide defaults to new users who have no private tinrc yet. .PP The variables are user configurable by editing -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR directly. Most of them can also be +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR directly. Most of them can also be set in the GLOBAL OPTIONS MENU which is accessed by pressing \fBOptionMenu\fP ('\fBM\fP') at all levels. It allows the user to customize the behavior of \fBtin\fP. The options are saved to the file -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR when you exit \fBtin\fP so don't +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR when you exit \fBtin\fP so don't edit the file directly whilst \fBtin\fP is running. .PP In the options menu use the cursor keys in the usual way to move around. Use @@ -1302,10 +1436,24 @@ option. Use \fBQuit\fP ('\fBq\fP') to ex your changes. Use \fBQuitTin\fP ('\fBQ\fP') to exit without keeping your changes. .PP +The options menu provides access to the attributes menu for the current group +by the \fBConfigToggleAttrib\fP ('\fB\fP') command. Pressing \fBConfigToggleAttrib\fP again +toggles back to the options menu. For more information see section "ATTRIBUTES +MENU AND GROUP ATTRIBUTES". +.PP +The \fBConfigScopeMenu\fP ('\fBS\fP') command brings up the scopes menu. For +more information see section "SCOPES MENU". +.PP Here is a full list of all the available variables. The name in braces is the name of the corresponding setting in -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR. +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR. .TP 4 +.B Abbreviate long newsgroup names (abbreviate_groupname) +If ON abbreviate long newsgroup names at group selection level and article +level (if necessary) like this: +news.software.readers \-> n.software.readers \-> n.s.readers \-> n.s.r. +Default is OFF. +.TP .B Add posted articles to filter (add_posted_to_filter) If ON add posted articles which start a new thread to filter for highlighting follow-ups. Default is ON. @@ -1341,7 +1489,7 @@ The character used to show that an artic .B Character to show read articles (art_marked_read) The character used to show that an article was read. Default is ' '. .TP -.B Character to show read articles (art_marked_killed) +.B Character to show killed articles (art_marked_killed) The character used to show that an article was killed. Default is 'K'. \fBkill_level\fP must be set accordingly. .TP @@ -1354,13 +1502,9 @@ If ON \fBtin\fP will ask before using a (\fBmetamail_prog\fP) to display MIME messages. This only occurs if a MIME viewer is set. Default is OFF. .TP -.B Send you a blind cc automatically (auto_bcc) -If ON automatically put your name in the ''Bcc:'' field when mailing an -article. Default is OFF. -.TP -.B Send you a cc automatically (auto_cc) -If ON automatically put your name in the ''Cc:'' field when mailing an -article. Default is OFF. +.B Send you a cc and/or bcc automatically (auto_cc_bcc) +Automatically put your name in the ''Cc:'' and/or ''Bcc:'' field when +mailing an article. Default is No. .TP .B List thread using right arrow key (auto_list_thread) If ON automatically list thread when entering it using right arrow key. @@ -1458,6 +1602,9 @@ Color of signatures .B Color of urls highlight (col_urls) Color of urls highlight .TP +.B Color of verbatim blocks (col_verbatim) +Color of verbatim blocks +.TP .B Color of article subject lines (col_subject) Color of article subject .TP @@ -1505,10 +1652,6 @@ Default is "%a, %d %b %Y %H:%M:%S". .B (default_config_search) The last article/author/config option that was searched for. .TP -.B Invocation of your editor (default_editor_format) -The format string used to create the editor start command with parameters. -Default is "%E +%N %F" (i.e., /bin/vi +7 .article). -.TP .B (default_filter_days) Default is 28. .TP @@ -1528,10 +1671,14 @@ ON=apply to all groups, OFF=apply to cur .B (default_filter_kill_header) Default for quick (1 key) kill filter header. .RS +.5i -.IP 0,1 4 - ''Subject:'' -.IP 2,3 - ''From:'' +.IP 0 4 + ''Subject:'' (case sensitive) +.IP 1 + ''Subject:'' (ignore case) +.IP 2 + ''From:'' (case sensitive) +.IP 3 + ''From:'' (ignore case) .IP 4 ''Message\-ID:'' & full ''References:'' line .IP 5 @@ -1558,10 +1705,14 @@ ON=apply to all groups OFF=apply to curr .B (default_filter_select_header) Default for quick (1 key) auto-selection filter header. .RS +.5i -.IP 0,1 4 - ''Subject:'' -.IP 2,3 - ''From:'' +.IP 0 4 + ''Subject:'' (case sensitive) +.IP 1 + ''Subject:'' (ignore case) +.IP 2 + ''From:'' (case sensitive) +.IP 3 + ''From:'' (ignore case) .IP 4 ''Message\-ID:'' & full ''References:'' line .IP 5 @@ -1578,23 +1729,6 @@ Default for quick (1 key) auto-selection .TP .B (default_mail_address) .TP -.B Mail directory (default_maildir) -The directory where articles/threads are to be saved in -.BR mbox (5) -format. This feature is mainly for use with the -.BR elm (1) -mail program. It allows the user to save articles/threads/groups simply by -giving '=' as the filename to save to. -Default is \fI${TIN_HOMEDIR\-"$HOME"}/Mail\fR. -.TP -.B Invocation of your mail command (default_mailer_format) -The format string used to create the mailer command with parameters that is -used for mailing articles to other people. Default is '%M "%T" < %F' (e.g., -/bin/mail "iain" < .article). The flexible format allows other mailers with -different command-line parameters to be used such as 'elm \-s "%S" "%T" < -"%F"' (e.g., elm \-s "subject" "iain" < .article) or 'sendmail \-oi \-oem \-t < -%F' (e.g. sendmail \-oi \-oem \-t < .article). -.TP .B (default_move_group) .TP .B (default_pattern) @@ -1605,15 +1739,6 @@ different command-line parameters to be .TP .B (default_post_subject) .TP -.B Printer program with options (default_printer) -The printer program with options that is to be used to print articles. -The default is -.BR lpr (1) -for BSD machines and -.BR lp (1) -for SysV machines. Printing from \fBtin\fP may have been disabled by the -System Administrator. -.TP .B (default_range_group) .TP .B (default_range_select) @@ -1626,30 +1751,20 @@ System Administrator. .TP .B (default_save_mode) .TP -.B Directory to save arts/threads in (default_savedir) -Directory where articles/threads are saved. Default is -\fI${TIN_HOMEDIR\-"$HOME"}/News\fR. -.TP .B (default_select_pattern) .TP .B (default_shell_command) .TP -.B Create signature from path/command (default_sigfile) -The path that specifies the signature file to use when posting, following -up to or replying to an article. If the path is a directory then the -signature will be randomly generated from files that are in the specified -directory. If the path starts with a ! the program the path points to will -be executed to generate a signature. \fBtin\fP will pass the name of the -current newsgroup as argument to the program. \-\-none will suppress any -signature. -Default is \fI${TIN_HOMEDIR\-"$HOME"}/.Sig\fR. -.TP .B (default_subject_search) .TP .B Draw \-> instead of highlighted bar (draw_arrow) Allows groups/articles to be selected by an arrow '\->' if set ON or by an highlighted bar if set OFF. Default is OFF. .TP +.B Invocation of your editor (editor_format) +The format string used to create the editor start command with parameters. +Default is "%E +%N %F" (i.e., /bin/vi +7 .article). +.TP .B Force redraw after certain commands (force_screen_redraw) Specifies whether a screen redraw should always be done after certain external commands. Default is OFF. @@ -1663,6 +1778,14 @@ fetching articles from your first unread .B Catchup group using left key (group_catchup_on_exit) If ON catchup group when leaving with the left arrow key. Default is ON. .TP +.B Go to the next unread article with (goto_next_unread) +Which keys \fBtin\fP should accept to jump to the next unread article. +Possible is any combination of \fBPageDown\fP and \fBPageNextUnread\fP. +When \fBPageDown\fP is set \fBtin\fP jumps to the next article at the +end of the current one. When \fBPageNextUnread\fP is set \fBtin\fP jumps +immediately to the next article when \fBPageNextUnread\fP ('\fB\fP') +is pressed. Default is PageNextUnread. +.TP .B Max. length of group names shown (groupname_max_length) Maximum length of the names of newsgroups to be displayed so that more of the newsgroup description can be displayed. Default is 32. @@ -1695,7 +1818,7 @@ Interactive mailreader: if greater than earlier for reply so you can use more of its features (e.g. MIME, pgp, ...). 1 means include headers, 2 means don't include headers (old use_mailreader_i=ON option). 0 turns off usage. This option has to -suit \fBdefault_mailer_format\fP. Default is 0. +suit \fBmailer_format\fP. Default is 0. .TP .\" TODO: fix menu description .\" mono_mark* currently do allow "Reverse video" even if @@ -1705,9 +1828,9 @@ If ON use inverse video for page headers Default is ON. .TP .B Keep failed arts in ~/dead.articles (keep_dead_articles) -If ON keep all failed postings in \fI${TIN_HOMEDIR\-"$HOME"}/dead.articles\fR +If ON keep all failed postings in \fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fR besides keeping the last failed posting in -\fI${TIN_HOMEDIR\-"$HOME"}/dead.article\fR. Default is ON. +\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fR. Default is ON. .TP .B Filter which articles (kill_level) This option controls the processing and display of articles that are killed. @@ -1735,7 +1858,7 @@ Default is 0 (\fBKill only unread arts\f Allows 8bit characters unencoded in the header of mail message. Default is OFF. Turning it ON is effective only if \fBmail_mime_encoding\fP is also set to 8bit. Leaving it OFF is safe for most users and compliant to Internet -Mail Standard (\fBRFC2822\fP and \fBRFC2047\fP). Default is OFF. +Mail Standard (\fBRFC5322\fP and \fBRFC2047\fP). Default is OFF. .TP .B Mail address (mail_address) User's mail address (and full name), if not username@host. This is used when @@ -1745,8 +1868,7 @@ signing. .TP .B MIME encoding in mail messages (mail_mime_encoding) MIME encoding of the body in mail message, if necessary (8bit, base64, -quoted-printable, 7bit) Default is 8bit and no encoding (or charset -conversion) is performed (i.e., local charset is used as it is). +quoted\-printable, 7bit). Default is quoted\-printable. .TP .B Quote line when mailing (mail_quote_format) Format of quote line when replying (via mail) to an article (%A=Address, @@ -1761,12 +1883,31 @@ for more details on MBOXO and MBOXRD and .BR mmdf (5) for more details about MMDF. .TP -.B 'Mark article read' ignores tags (mark_ignore_tags) -When this is ON, the \fBGroupMarkThdRead\fP, \fBThreadMarkArtRead\fP -functions ('\fBK\fP') mark just the current article or thread, ignoring -other tagged, unread articles. When OFF, the same function presents a menu -with choices of the current thread or article, all tagged, unread articles, -or nothing. +.B Mail directory (maildir) +The directory where articles/threads are to be saved in +.BR mbox (5) +format. This feature is mainly for use with the +.BR elm (1) +mail program. It allows the user to save articles/threads/groups simply by +giving '=' as the filename to save to. +Default is \fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fR. +.TP +.B Invocation of your mail command (mailer_format) +.\" TODO: document %S, %T, %M, %F, %U ... +The format string used to create the mailer command with parameters that is +used for mailing articles to other people. Default is '%M "%T" < %F' (e.g., +/bin/mail "iain" < .article). The flexible format allows other mailers with +different command-line parameters to be used such as 'elm \-s "%S" "%T" < +"%F"' (e.g., elm \-s "subject" "iain" < .article) or 'sendmail \-oi \-oem \-t < +%F' (e.g. sendmail \-oi \-oem \-t < .article). +.TP +.B 'Mark as (un)read' ignores tags (mark_ignore_tags) +When this is ON, the \fBGroupMarkThdRead\fP ('\fBK\fP'), +\fBThreadMarkArtRead\fP ('\fBK\fP'), \fBMarkThdUnread\fP ('\fBZ\fP') at +Group level and \fBMarkArtUnread\fP ('\fBz\fP') at Thread level functions +mark just the current article or thread, ignoring other tagged, (un)read +articles. When OFF, the same function presents a menu with choices of the +current thread or article, all tagged, unread articles, or nothing. .TP .B Mark saved articles/threads as read (mark_saved_read) If ON mark articles that are saved as read. Default is ON. @@ -1879,18 +2020,14 @@ The possible values are: Some normalization modes are only available if they are supported by the library \fBtin\fP uses to do the normalization. Default is NFKC. .TP -.B PgDn goes to next unread article (pgdn_goto_next) -If ON the Page Down keys will go to the next unread article when pressed -at the end of a message. Default is ON. -.TP -.B Goto first unread article in group (pos_first_unread) +.B Go to first unread article in group (pos_first_unread) If ON put cursor at first unread article in group otherwise at last article. Default is ON. .TP .B Use 8bit characters in news headers (post_8bit_header) Allows 8bit characters unencoded in the header of a news article, if set this also disables the generation of MIME-headers when they are -usualy required. Default is OFF. Only enacted if +usually required. Default is OFF. Only enacted if \fBpost_mime_encoding\fP is also set to 8bit. In a number of local hierarchies where 8bit characters are used, using unencoded (raw) 8bit characters in header is acceptable and sometimes even @@ -1900,8 +2037,8 @@ and \fBpost_mime_encoding\fP. .TP .B MIME encoding in news messages (post_mime_encoding) MIME encoding of the body in news message, if necessary. (8bit, -base64, quoted-printable, 7bit) Default is 8bit, which leads to no -encoding. base64 and quoted-printable are usually undesired on usenet. +base64, quoted\-printable, 7bit). Default is 8bit, which leads to no +encoding. base64 and quoted\-printable are usually undesired on usenet. .TP .B View post-processed files (post_process_view) If ON, then \fBtin\fP will start an appropriate viewer program to display @@ -1924,7 +2061,7 @@ files only. .TP .B Filename to be used for storing posted articles (posted_articles_file) Keep posted articles in -\fI${TIN_HOMEDIR\-"$HOME"}/Mail/\fBposted_articles_file\fP\fR. +\fI${TIN_HOMEDIR:\-"$HOME"}/Mail/\fBposted_articles_file\fP\fR. If no filename is set then postings will not be saved. Default is 'posted'. .TP @@ -1932,6 +2069,15 @@ Default is 'posted'. If ON, then the full article header is sent to the printer. Otherwise only the ''Subject:'' and ''From:'' fields are output. Default is OFF. .TP +.B Printer program with options (printer) +The printer program with options that is to be used to print articles. +The default is +.BR lpr (1) +for BSD machines and +.BR lp (1) +for SysV machines. Printing from \fBtin\fP may have been disabled by the +System Administrator. +.TP .B Process only unread articles (process_only_unread) If ON only save/print/pipe/mail unread articles (tagged articles excepted). Default is OFF. @@ -1953,6 +2099,7 @@ is to compress quotes, and to quote empt .br When you are viewing an article in raw mode ('\fB^H\fP'), and follow up or reply to it, the signature will be quoted even if it would otherwise not be. +If \fBshow_signatures\fP is off, then the signature will never be quoted. .TP .B Regex used to show quoted lines (quote_regex) A regular expression that will be applied when reading articles. All @@ -1978,10 +2125,14 @@ If ON \fBtin\fP does the rendering of bi leaves the rendering of bi-directional text to the terminal. Default is OFF. .TP .B Interval in seconds to reread active (reread_active_file_secs) -The news \fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file is +The news \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file is reread at regular intervals to show if any new news has arrived. Default is 1200. Setting this to 0 will disable this feature. .TP +.B Directory to save arts/threads in (savedir) +Directory where articles/threads are saved. Default is +\fI${TIN_HOMEDIR:\-"$HOME"}/News\fR. +.TP .B Score limit (kill) (score_limit_kill) If the score of an article is below or equal this value the article gets marked as killed. @@ -2001,9 +2152,9 @@ Score of an article which should be mark .B Number of lines to scroll in pager (scroll_lines) The number of lines that will be scrolled up/down in the article pager when using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get -traditional tin page-by-page scrolling. Set to -1 to get page-by-page +traditional tin page-by-page scrolling. Set to \-1 to get page-by-page scrolling where the top/bottom line is carried over onto the next page. -This setting supersedes show_last_line_prev_page=ON. Set to -2 to get +This setting supersedes show_last_line_prev_page=ON. Set to \-2 to get half-page scrolling. This setting supersedes full_page_scroll=OFF. .TP .B In group menu, show author by (show_author) @@ -2027,10 +2178,10 @@ displayed. If ON show a short group description text after newsgroup name at the group selection level. The ''\fB\-d\fP'' command-line flag will override the setting and turn descriptions off. The text used is taken from the -\fI${TIN_LIBDIR\-NEWSLIBDIR}/newsgroups\fR file and if supported (requires +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups\fR file and if supported (requires .B tin to be build with mh-mail-handling support) from -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/mailgroups\fR for mailgroups. Default is ON. +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fR for mailgroups. Default is ON. .TP .B Show lines/score in listings (show_info) Which information about the thread or article should be shown. Default is 1, @@ -2065,6 +2216,16 @@ Default is ON. .B Prepend signature with '\en\-\- \en' (sigdashes) If ON prepend the signature with sigdashes. Default is ON. .TP +.B Create signature from path/command (sigfile) +The path that specifies the signature file to use when posting, following +up to or replying to an article. If the path is a directory then the +signature will be randomly generated from files that are in the specified +directory. If the path starts with a ! the program the path points to will +be executed to generate a signature. \fBtin\fP will pass the name of the +current newsgroup as argument to the program. \-\-none will suppress any +signature. +Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR. +.TP .B Add signature when reposting (signature_repost) If ON add signature to reposted articles. Default is ON. .TP @@ -2114,6 +2275,10 @@ allowed: (default). .IP 2 \fBScore (ascending)\fP, sort threads by filtering score ascending. +.IP 3 +\fBLast posting date (descending)\fP, sort threads by date of last posting descending. +.IP 4 +\fBLast posting date (ascending)\fP, sort threads by date of last posting ascending. .RE .TP .B Spamtrap warning address parts (spamtrap_warning_addresses) @@ -2123,12 +2288,6 @@ these strings. The matching is case-inse .sp \fIspam,delete,remove\fR .TP -.B Space goes to next unread article (space_goto_next_unread) - normally acts as a Page Down key and has no effect at the end of an -article. If this option is turned ON the command will go to the next -unread article when the end of the article is reached (rn-style pager). -Default is OFF. -.TP .B Regex used to highlight *stars* (stars_regex) A regular expression that will be applied when reading articles. All matching words are shown in \fBcol_markstar\fP or \fBmono_markstar\fP. If @@ -2147,7 +2306,7 @@ display when reading on a slow terminal .TP .B Remove bogus groups from newsrc (strip_bogus) Bogus groups are groups that are present in your -\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file that no longer exist on the news +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file that no longer exist on the news server. There are 3 options. 0 means do nothing & always keep bogus groups. 1 means bogus groups will be permanently removed. 2 means that bogus groups will appear on the Group Selection Menu, prefixed with a 'D'. This allows @@ -2156,18 +2315,13 @@ Keep). .TP .B No unsubscribed groups in newsrc (strip_newsrc) If ON, then unsubscribed groups will be permanently removed from your -\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file. Default is OFF. +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file. Default is OFF. .TP .B Regex used to highlight \-strokes\- (strokes_regex) A regular expression that will be applied when reading articles. All matching words are shown in \fBcol_markstroke\fP or \fBmono_markstroke\fP. If \fBstrokes_regex\fP is blank, then \fBtin\fP uses a built-in default. .TP -.B Tab goes to next unread article (tab_goto_next_unread) -If enabled pressing \fBPageNextUnread\fP ('\fB\fP') at the Article -level will go to the next unread article immediately instead of first -paging through the current one. Default is ON. -.TP .B Wrap around threads on next unread (wrap_on_next_unread) If enabled a search for the next unread article will wrap around all articles to find also previous unread articles. If disabled the search @@ -2181,7 +2335,7 @@ toggled in the article viewer via \fBPag Defines which threading method to use. It's possible to set the threading type on a per group basis by setting the group attribute variable \fBthread_arts\fP to 0 - 4 in the file -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/attributes\fR. (See also "GROUP ATTRIBUTES".) +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fR. (See also "GROUP ATTRIBUTES".) The default is Both Subject and References. The choices are: .RS +.5i @@ -2229,6 +2383,29 @@ represented in the target character set, or several similarly looking characters. On systems where this extension doesn't exist, this option is disabled. Default is OFF. .TP +.B How to treat blank lines (trim_article_body) +Allows you to select how \fBtin\fP treats blank lines in article bodies. +Default is 0. This option does not affect lines within verbatim blocks. +.RS +.5i +.IP 0 3 +\fBDon't trim article body\fP, do nothing. +.IP 1 +\fBSkip leading blank lines\fP. +.IP 2 +\fBSkip trailing blank lines\fP. +.IP 3 +\fBSkip leading and trailing blank l.\fP, skip leading and trailing blank lines. +.IP 4 +\fBCompact multiple between text\fP, replace multiple blank lines between +textblocks with one blank line. +.IP 5 +\fBCompact multiple and skip leading\fP, 4 + 1 +.IP 6 +\fBCompact multiple and skip trailing\fP, 4 + 2 +.IP 7 +\fBCompact mltpl., skip lead. & trai.\fP, 4 + 3 +.RE +.TP .B Regex used to highlight _underline_ (underscores_regex) A regular expression that will be applied when reading articles. All matching words are shown in \fBcol_markdash\fP or \fBmono_markdash\fP. If @@ -2240,7 +2417,7 @@ If ON remove \fI~/.article\fR after post .B Program that opens URL's (url_handler) The program that will be run when launching URL's in the article viewer using \fBPageViewUrl\fP ('\fBU\fP'). The actual URL will be appended to this. -Default is \fBurl_handler.sh %s\fP. +Default is \fBurl_handler.pl %s\fP. .TP .B URL highlighting in message body (url_highlight) Enable highlighting URLs in message body. Default is ON. @@ -2252,7 +2429,7 @@ If enabled \fBtin\fP uses ANSI-colors. D Default is OFF. .TP .B Use mouse in xterm (use_mouse) -Allows the mouse key support in a +Allows the mouse button support in a .BR xterm (1x) to be enabled/disabled. Default is OFF. @@ -2267,6 +2444,19 @@ and .BR slrnface (1) must be in your $\fBPATH\fP. Default is OFF. .TP +.B Use UTF-8 graphics (utf8_graphics) +If ON use UTF-8 characters for indicator ('\->'), thread/attachment tree and +ellipsis ('...'). Default is OFF. +.TP +.B Regex for begin of a verbatim block (verbatim_begin_regex) +A regular expression that tin will use to find the begin of a verbatim block. +.TP +.B Regex for end of a verbatim block (verbatim_end_regex) +A regular expression that tin will use to find the end of a verbatim block. +.TP +.B Detection of verbatim blocks (verbatim_handling) +If ON verbatim blocks will be detected. Default is ON. +.TP .B Wildcard matching (wildcard) Allows you to select how \fBtin\fP matches strings. The default is 0 and uses the wildmat notation, which is how this has traditionally been handled. @@ -2318,15 +2508,13 @@ answering to a crossposting to several g set. .\" .\" -.SS "GROUP ATTRIBUTES" +.SS "ATTRIBUTES MENU AND GROUP ATTRIBUTES" \fBtin\fP allows certain attributes to be set on a per group basis. If it exists, the global attributes file, -\fI${TIN_LIBDIR\-NEWSLIBDIR}/attributes\fR is read. After that, the user's -own attributes file \fI${TIN_HOMEDIR\-"$HOME"}/.tin/attributes\fR is read. +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/attributes\fR is read. After that, the user's +own attributes file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fR is read. The global attributes file is useful for distributing system-wide defaults -to new users who have no private attributes file yet. A later version will -provide a menu interface to set all the attributes. At present you will have -to edit the file with your editor. +to new users who have no private attributes file yet. .PP Note that the \fIscope=\fR line has to be specified before the attributes are specified for that list. All attributes are set to a @@ -2335,6 +2523,34 @@ to change (e.g., savedir). All toggle at ON/OFF. Otherwise, these function exactly the same as their global equivalents. For more details see .BR tin (5). +.PP +Attributes can also be changed from the attributes menu which can be +accessed by \fBConfigToggleAttrib\fP ('\fB\fP') from the options +menu or \fBScopeSelect\fP ('\fB^J\fP' or '\fB\fP') from the scopes menu. +The attributes menu looks and behaves very similar to the options menu. The +title shows the current scope. Attributes set in the current scope are marked +with '\+' to the left of the attributes number. +.PP +Besides the keys for moving around and changing values known from the options +menu the attributes menu provides the following command: +\fBConfigResetAttrib\fP ('\fBr\fP') which resets an attribute to a default +value. +.\" +.\" +.SS "SCOPES MENU" +The scopes menu (accessible from the options menu with \fBConfigScopeMenu\fP +('\fBS\fP')) shows all scopes read from the global and local attributes file. +Scopes from the global attributes file are marked with '!' to the left of the +scope number. Delete/rename/move are not possible with those scopes. +.PP +In addition to the common moving keys the following commands are available: +\fBScopeSelect\fP ('\fB^J\fP' or '\fB\fP') enter the attributes menu for +the current scope, \fBScopeEditAttributesFile\fP ('\fBE\fP') edit the local +attributes file, \fBScopeAdd\fP ('\fBa\fP') add a new scope, \fBScopeDelete\fP +('\fBd\fP') delete the current scope, \fBScopeMove\fP ('\fBm\fP') move the +current scope to a new position, \fBScopeRename\fP ('\fBr\fP') rename the +current scope. \fBToggleHelpDisplay\fP ('\fBH\fP') toggles the help mini +menu at the bottom of the screen. .\" .\" .SS "FILTERING ARTICLES" @@ -2346,7 +2562,7 @@ you specify. This can be anything from t of lines in an article. .PP When \fBtin\fP starts up the user's kill-file -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/filter\fR (see also +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fR (see also .BR tin (5)) is read. Each time a newsgroup is entered the rules are applied and articles killed or selected when they meet certain criteria. @@ -2357,16 +2573,15 @@ setting. By default killed articles will auto-selection rule are marked with a ''*''. .PP Filtering rules can be manually entered into -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/filter\fR (but don't do this whilst running +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/filter\fR (but don't do this whilst running \fBtin\fP else you will lose your changes) or by using an on-screen menu within \fBtin\fP. .PP The filtering capabilities of \fBtin\fP have been significantly enhanced over previous versions to include scoring and better pattern matching. It is recommended that you read the file \fIfiltering\fR in the \fBtin\fP -documentation directory. -.\" FIXME - insert URL -.\" This file can also be read online at http://www.tin.org/FIXME +documentation directory. This file can also be read online at +. .PP .\" FIXME - Next paragraph is out of date The on-screen filtering menu is accessed by pressing '\fB^K\fP' at the Group @@ -2431,7 +2646,7 @@ following variables are expanded if foun .nf .ta \w'%A 'u +\w'Address'u \fB%A\fP Address (Email) -\fB%D\fP Date +\fB%D\fP Date (uses \fBdate_format\fP) \fB%F\fP Full address (%N <%A>) \fB%G\fP Groupname \fB%M\fP Message\-ID @@ -2442,17 +2657,21 @@ following variables are expanded if foun .RE e.g., .RS -.Vb +.ft CW +.nf mail_quote_format=On %D in %G you wrote: news_quote_format=In %M, %F wrote: -.Ve +.ft R +.fi .RE would expand to: .RS -.Vb -On 21 Sep 1993 09:45:51 -0400 in alt.sources you wrote: +.ft CW +.nf +On 21 Sep 1993 09:45:51 \-0400 in alt.sources you wrote: In , Joe Bar wrote: -.Ve +.ft R +.fi .RE The quoted text section of an article is marked by a preceding quote string at the beginning of each quoted line. The default quote string is set to @@ -2496,11 +2715,11 @@ Environment variables can themselves con To save articles to a mailbox enter '=' when asked for the save filename. If you enter just '=' then articles will be saved to a mailbox with the name of the current newsgroup (eg, alt.sources). -See \fBdefault_maildir\fP. +See \fBmaildir\fP. .PP To save in savedir// format enter '+'. Environment variables are allowed within a filename (e.g., -\fI$SOURCES/dir/filename\fR). See \fBdefault_savedir\fP. +\fI$SOURCES/dir/filename\fR). See \fBsavedir\fP. .PP When saving articles you can specify whether the saved files should be post processed. A default process type can be set @@ -2516,10 +2735,14 @@ that expire has removed a whole load of everyday while away, after which you will be mailed a report of which articles were mailed/saved from which newsgroups and the total number of articles mailed/saved. Articles are saved in a private news structure under -your directory (default is \fI${TIN_HOMEDIR\-"$HOME"}/News\fR). Be +your directory (default is \fI${TIN_HOMEDIR:\-"$HOME"}/News\fR). Be careful of using this option if you read a lot of groups because you could overflow your file system. .PP +When using ''\fB\-S\fP'' together with a given directory to save to +(''\fB\-s\fP'' option), the same directory must be specified when reading +the articles by ''\fB\-R\fP''. +.PP If you only want to save some of your groups use the \fBbatch_save\fP tinrc variable. Set to ON or OFF in tinrc to enable/disable saving of all groups and then use the \fBbatch_save\fP attribute to fine tune which groups you @@ -2566,7 +2789,7 @@ prefixed with exclamation points. An exc meaning of a match on this pattern, and can be used to cancel certain matches. Some examples: .sp -\fIalt.config news.*,!news.test\fR +\fIalt.config,news.*,!news.test\fR .sp Matches alt.config and everything in the 'news' hierarchy except news.test .PP @@ -2576,23 +2799,25 @@ examples. .\" .SS SIGNATURES \fBtin\fP will recognize a signature in either -\fI${TIN_HOMEDIR\-"$HOME"}/.signature\fR or \fI${TIN_HOMEDIR\-"$HOME"}/.Sig\fR. -If \fI${TIN_HOMEDIR\-"$HOME"}/.signature\fR exists, then the signature +\fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fR or \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR. +If \fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fR exists, then the signature will be pulled into the editor for mail commands only. A signature in -\fI${TIN_HOMEDIR\-"$HOME"}/.signature\fR will not be pulled into the +\fI${TIN_HOMEDIR:\-"$HOME"}/.signature\fR will not be pulled into the editor for posting commands since .BR inews (1) will append the signature itself. .PP -A signature in \fI${TIN_HOMEDIR\-"$HOME"}/.Sig\fR will be pulled into the +A signature in \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR will be pulled into the editor for both posting and mailing commands. .PP The following is an example of a \fI.Sig\fR file: .RS -.Vb +.ft CW +.nf NAMES Joe Bar SNAIL Musterweg 12, 99999 Notreal, Germany -.Ve +.ft R +.fi .RE .PP \fBtin\fP also has the capability to generate random signatures on a per @@ -2632,7 +2857,7 @@ the is resized. .PP \fBtin\fP will reread the -\fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file at set +\fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file at set intervals (\fBreread_active_file_secs\fP) to show any newly arrived news. .PP If you find large number of new newsgroups cluttering up your screen, @@ -2717,7 +2942,7 @@ Note that this cache can use up large am read a lot of groups and/or high traffic groups. .PP Each user creates/updates his/her own index files that are stored in -\fI${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news/\fR. If +\fI${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news/\fR. If you are reading via NNTP then the news server name will be appended to keep the indexes for different servers separate. If you are reading off the local spool and local overview files already exist @@ -2738,9 +2963,11 @@ the system batcher with the ''\fB\-u\fP'' option: .PP .RS -.Vb +.ft CW +.nf 30 6 * * * /usr/local/bin/tin \-u -.Ve +.ft R +.fi .RE .PP If you are low on local disk space you should consider using @@ -2749,22 +2976,36 @@ manually purge cached data for groups yo with something like: .PP .RS -.Vb -find ${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news* \\ +.ft CW +.nf +find ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news* \\ \-type f \-name "[0\-9]*.[0\-9]" \-atime +28 | xargs rm \-f -.Ve +.ft R +.fi .RE .\" .\" .SH FILES .\" TODO: mention dead.article, dead.articles .\" .article[.$$], .cancel[.$$], .letter[.$$]? +.\" $PWD/trace[.out] (--with-trace) +.\" $TMPDIR/NNTP (-D 1) +.\" $TMPDIR/FILTER (-D 2) +.\" $TMPDIR/ARTS (-D 2) +.\" $TMPDIR/BITMAP (-D 4) +.\" $TMPDIR/REFS.dump (-D 8) +.\" $TMPDIR/REFS.info (-D 8) +.\" $TMPDIR/MALLOC (-D 16) +.\" $TMPDIR/ATTRIBUTES (-D 32) +.\" $TMPDIR/SCOPES-R (-D 32) +.\" $TMPDIR/SCOPES-W (-D 32) +.\" $TMPDIR/ACTIVE (-D 64) For a detailed description see .BR tin (5). .PP .IR $MAILCAPS .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.mailcap +.IR ${TIN_HOMEDIR:\-"$HOME"}/.mailcap .br .IR /etc/mailcap .br @@ -2778,100 +3019,100 @@ For a detailed description see .IR /etc/nntpserver .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.cancelsecret +.IR ${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.mime.types +.IR ${TIN_HOMEDIR:\-"$HOME"}/.mime.types .br .IR /etc/mime.types .br .IR /etc/tin/mime.types .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.newsauth +.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsauth .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.newsrc +.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsrc .PP .nf -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT+":$NNTPPORT"}/.oldnewsrc +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc .fi .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.signature +.IR ${TIN_HOMEDIR:\-"$HOME"}/.signature .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.Sig +.IR ${TIN_HOMEDIR:\-"$HOME"}/.Sig .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.sigfixed +.IR ${TIN_HOMEDIR:\-"$HOME"}/.sigfixed .PP -.IR ${TIN_HOMEDIR-"$HOME"}/.tin/.inputhistory +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory .PP -.IR ${TIN_INDEX_MAILDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.mail/ +.IR ${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/ .PP .nf -.IR ${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news${NNTPSERVER+"\-$NNTPSERVER"}/ +.IR ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/ .fi .PP -.IR ${TIN_INDEX_SAVEDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.save/ +.IR ${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/ .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/active.mail +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/active.save +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save .PP -.\" .IR ${TIN_LIBDIR\-NEWSLIBDIR}/attributes +.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/attributes .IR /etc/tin/attributes .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/attributes +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/filter +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/filter .PP .nf -.IR /etc/tin/keymap${${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}:+".${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}"} +.IR /etc/tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"} .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/keymap${${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}:+".${LC_ALL\-"${LC_CTYPE\-"${LC_MESSAGES\-"$LANG"}"}"}"} +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/keymap${${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}:+".${LC_ALL:\-"${LC_CTYPE:\-"${LC_MESSAGES:\-"$LANG"}"}"}"} .fi .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/mailgroups +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/newsrctable +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/posted +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/posted .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/Mail/posted +.IR ${TIN_HOMEDIR:\-"$HOME"}/Mail/posted .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/postponed.articles +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles .PP .nf -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT+":$NNTPPORT"}/newsgroups +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT:+":$NNTPPORT"}/newsgroups .fi .PP .nf -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT+":$NNTPPORT"}/serverrc +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER:${NNTPPORT:+":$NNTPPORT"}/serverrc .fi .PP -.\" .IR ${TIN_LIBDIR\-NEWSLIBDIR}/tinrc +.\" .IR ${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc .IR /etc/tin/tinrc .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc .PP .IR /etc/tin/tin.defaults @@ -2880,22 +3121,22 @@ For a detailed description see .IR /usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active} +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active} .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/active.times +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/active.times .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/newsgroups +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/organization +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/organization .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/overview.fmt +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/subscriptions +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions .PP .\" .\" @@ -2903,14 +3144,15 @@ For a detailed description see .\" TODO: sort in a useful order, add undocumented env-vars like: .\" .\" .TP -.\" .B TIN_POST (VMS) +.\" .B SHELL (Unix) +.\" The pathname of the user's login shell. .\" +.\" used in xface support .\" .TP -.\" .B TIN_RNG_MIN, TIN_RNG_MAX, TIN_MIN, TIN_MAX, TIN_COUNT, TIN_SEQ -.\" (all used in vNewsrcTestHarness() (-DDEBUG_NEWSRC)) -.\" +.\" .B DISPLAY .\" .TP -.\" .B SHELL (Unix) +.\" .B WINDOWID +.\" .\" .TP .B TINRC @@ -2928,19 +3170,19 @@ Define this variable if you do not want .TP .B TIN_INDEX_NEWSDIR Define this variable if you do not want the \fI.news\fR directory in -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's news index files in \fI/tmp/.news\fR you would set $\fBTIN_INDEX_NEWSDIR\fP to \fI/tmp\fR. .TP .B TIN_INDEX_MAILDIR Define this variable if you do not want the \fI.mail\fR directory in -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's mail index files in \fI/tmp/.mail\fR you would set $\fBTIN_INDEX_MAILDIR\fP to \fI/tmp\fR. .TP .B TIN_INDEX_SAVEDIR Define this variable if you do not want the \fI.save\fR directory in -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/\fR. E.g., if you want all \fBtin\fP's save index files in \fI/tmp/.save\fR you would set $\fBTIN_INDEX_SAVEDIR\fP to \fI/tmp\fR. .TP @@ -2984,6 +3226,26 @@ variable instead of the system default. .B ISO2ASC Set the ISO to ASCII charset decoding table character to use in decoding an article text. Values can range from 0 to 6. +.RS +.5i +.TP +.B 0 +universal table for many languages +.TP +.B 1 +single-spacing universal table +.TP +.B 2 +table for Danish, Dutch, German, Norwegian and Swedish +.TP +.B 3 +table for Danish, Finnish, Norwegian and Swedish using the appropriate ISO 646 variant +.TP +.B 4 +table with RFC 1345 codes in brackets +.TP +.B 5 +table for printers that allow overstriking with backspace +.RE .TP .B ORGANIZATION Set the article header field ''Organization:'' to the contents of the @@ -3009,49 +3271,45 @@ Same as $\fBNAME\fP. .B HOME Pathname of the user's home directory. See .BR environ (5) -for more infos. +for more info. .TP .B MAILER This variable has precedence over the default mailer that is used in all -mailing operations within \fBtin\fP. If reading news on VMS use -$\fBTIN_MAILER\fP instead. -.TP -.B TIN_MAILER (VMS) -VMS specific, same as $\fBMAILER\fP on other OSs (see above). +mailing operations within \fBtin\fP. .TP .B MAIL -Full path to the users mailbox. +Full path to the user's mailbox. .TP .B VISUAL This variable has precedence over the default editor (i.e., .BR vi (1)) that is used in all editing operations within \fBtin\fP (e.g., posting, replying, follow-ups, ...). Evaluation order is -\fI${VISUAL\-"${EDITOR\-vi}"}\fR. See +\fI${VISUAL:\-"${EDITOR:\-vi}"}\fR. See .BR environ (5) -for more infos. +for more info. .TP .B EDITOR If $\fBVISUAL\fP is unset, then this variable is looked up for a default -editor. If $\fBEDITOR\fP and $\fBVISUAL\fP are both unset, \fBtin\fP will -uses the systems default editor (i.e. +editor. If $\fBEDITOR\fP and $\fBVISUAL\fP are both unset, \fBtin\fP uses +the systems default editor (i.e. .BR vi (1)) on UNIX-systems). See .BR environ (5) -for more infos. +for more info. .TP .B AUTOSUBSCRIBE A new group is checked against the list of patterns; if it matches, \fBtin\fP subscribes the user to the group without further query. -See the section "NEWSGROUP LISTS & WILDCARDS" for an explanation of the valid -syntax. For example, setting +See the section "NEWSGROUP LISTS & WILDCARDS" for an explanation of the +valid syntax. For example, setting .sp \fIAUTOSUBSCRIBE=comp.os.unix.*,talk.*,!talk.politics.*\fR .sp will automatically subscribe the user to all new groups in the comp.os.unix hierarchy, and all talk groups other than talk.politics groups (which will -be queried for as usual). Of course this does not work if \fBtin\fP -is started with the ''\fB\-X\fP'' command-line switch. +be queried for as usual). Of course this does not work if \fBtin\fP is +started with the ''\fB\-X\fP'' command-line switch. .TP .B AUTOUNSUBSCRIBE Is handled like the $\fBAUTOSUBSCRIBE\fP variable, but groups matching the @@ -3059,8 +3317,8 @@ list are unsubscribed from without furth .sp \fIAUTOUNSUBSCRIBE=alt.flame.*,u*,!uk.*\fR .sp -will automatically unsubscribe the user from all new alt.flame groups -and all groups starting with u (university groups) other than UK groups (which +will automatically unsubscribe the user from all new alt.flame groups and +all groups starting with u (university groups) other than UK groups (which will be queried for as usual). .TP .B TMPDIR @@ -3150,6 +3408,14 @@ starting with \fB$LC_\fP. It's value sho .BR environ (5) for more information. .TP +.B LANGUAGE +This variable defines a priority list for translations. Whenever a +translation is not available in the language selected via \fB$LC_ALL\fP +or \fB$LANG\fP the next language from the list is tried. It's value should +be of the form \fIlanguage:language[:language]\fR. See +.BR environ (5) +for more information. +.TP .B COLUMNS A decimal integer > 0 used to indicate the user's preferred width in column positions for the terminal screen or window. If this variable is unset or @@ -3177,21 +3443,44 @@ See for more information. .\" .\" +.\" TODO: add missing, sort useful, document in detail +.SH SIGNALS +.B tin +handles a couple of signals: +.TP +.B SIGHUP +Terminate gracefully. +.TP +.B SIGTERM +Terminate gracefully. +.TP +.B SIGUSR1 +Terminate gracefully but do not restore tty. +.TP +.B SIGUSR2 +Write out \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR-file. +.\" +.\" .\" .SH DIAGNOSTICS .\" give an overview of the most common error messages and how to cope with .\" them. .\" .\" -.\" .SH SECURITY -.\" add a note about clear text passwords used by NNTP and in ~/.newsauth +.\" +.SH SECURITY +When \fBtin\fP is started in debug mode (''\fB\-D n\fP'') it will create +world readable files in \fB$TMPDIR\fP which may contain the users NNTP +password in cleartext. On multiuser-systems \fB$TMPDIR\fP should be set +to a safe location before starting tin in debug mode (e.g. +\fBTMPDIR=$HOME tin \-D 1\fP). .\" .\" .SH "CONFORMING TO" .B tin does conform to the Base Definitions volume of IEEE Std 1003.1-2001, Section 12, Utility Conventions (Utility Argument Syntax, Utility Syntax Guidelines). -.\" - RFC1036, RFC2045, RFC2047, RFC2822, RFC2980, RFC3977 -.\" or whatever +.\" - RFC2045, RFC2047, RFC2980, RFC3977, RFC4643, RFC5322 +.\" RFC5536, RFC5537, RFC6048 or whatever .\" .\" .SH NOTES @@ -3208,14 +3497,13 @@ ftp://ftp.csx.cam.ac.uk/pub/software/pro .BR noffle (1) (<= V1.0-pre5) and .BR NewsCache -(<= V1.1.91) can't handle simultaneous GROUP commands. If you run into +(<= V1.1.91) can't handle pipelined GROUP commands. If you run into trouble with any of the mentioned servers define -NUM_SIMULTANEOUS_GROUP_COMMAND to 1 in active.c and recompile. See also -the TODO-file which comes with the source. +DISABLE_PIPELINING in include/autoconf.h and recompile. .br Before mailing a bug-report to please check if you are using the latest (stable) release, and if not, please upgrade -first! Have a look a the doc/TODO file for known bugs. If you still +first! Have a look at the doc/TODO file for known bugs. If you still think you've found a bug, please use the \fBBugReport\fP ('\fBR\fP') function and write in English. Please do NOT enclose a core-file in your bugreport until we request it. @@ -3230,7 +3518,7 @@ March 1991; its first version was releas itself was heavily influenced by notesfiles a public domain UNIX version of PLATO Notes, developed at the University of Illinois by Ray Essick and Rob Kolstad in 1982. For a version overview see - +. .\" .\" .SH CREDITS @@ -3271,8 +3559,6 @@ for and .BR vsnprintf (3) fallbacks. -.IP "Andrew Greer" -for originally porting \fBtin\fP to the VAX/VMS operating system. .\" .\" .SH AUTHOR @@ -3286,7 +3572,7 @@ Urs Janssen .\" .\" .SH "SEE ALSO" -.BR cron (1) +.BR cron (1), .BR elm (1), .BR emacs (1), .BR gpg (1), @@ -3323,13 +3609,15 @@ Urs Janssen .BR mmdf (5), .BR newsoverview (5), .BR tin (5), -.BR RFC977 , -.BR RFC1036 , .BR RFC1524 , .BR RFC2045 , .BR RFC2046 , .BR RFC2047 , .BR RFC2048 , -.BR RFC2822 , -.BR RFC2980 -.\" .BR RFC3977 +.BR RFC2980 , +.BR RFC3977 , +.BR RFC4643 , +.BR RFC5322 , +.BR RFC5536 , +.BR RFC5537 , +.BR RFC6048 diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/tin.5 tin-2.0.0/doc/tin.5 --- tin-1.8.3/doc/tin.5 2007-02-01 14:08:50.000000000 +0100 +++ tin-2.0.0/doc/tin.5 2011-08-22 00:19:04.559647094 +0200 @@ -2,21 +2,11 @@ .\" Module : tin.5 .\" Author : U. Janssen .\" Created : 2000-07-10 -.\" Updated : 2007-02-01 +.\" Updated : 2011-08-23 .\" Notes : needs a some work .\" -.\" Macros -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. .\" -.TH tin 5 "February 1st, 2007" "1.8.3" "A Usenet newsreader" +.TH tin 5 "August 23rd, 2011" "2.0.0" "A Usenet newsreader" .SH NAME tin, rtin \- related files @@ -25,19 +15,31 @@ tin, rtin \- related files This manpage describes the various (config) files and their formats used by the .BR tin (1) -newsreader. +newsreader. All files are expected to have unix style ('\\n' aka LF) line endings. .SH FILES .\" TODO: mention -.\" ${TIN_HOMEDIR\-"$HOME"}/dead.article -.\" ${TIN_HOMEDIR\-"$HOME"}/dead.articles -.\" ${TIN_HOMEDIR\-"$HOME"}/.article[.$$] -.\" ${TIN_HOMEDIR\-"$HOME"}/.cancel[.$$] -.\" ${TIN_HOMEDIR\-"$HOME"}/.letter[.$$] +.\" ${TIN_HOMEDIR:\-"$HOME"}/dead.article +.\" ${TIN_HOMEDIR:\-"$HOME"}/dead.articles +.\" ${TIN_HOMEDIR:\-"$HOME"}/.article[.$$] +.\" ${TIN_HOMEDIR:\-"$HOME"}/.cancel[.$$] +.\" ${TIN_HOMEDIR:\-"$HOME"}/.letter[.$$] +.\" $PWD/trace[.out] (--with-trace) +.\" $TMPDIR/NNTP (-D 1) +.\" $TMPDIR/FILTER (-D 2) +.\" $TMPDIR/ARTS (-D 2) +.\" $TMPDIR/BITMAP (-D 4) +.\" $TMPDIR/REFS.dump (-D 8) +.\" $TMPDIR/REFS.info (-D 8) +.\" $TMPDIR/MALLOC (-D 16) +.\" $TMPDIR/ATTRIBUTES (-D 32) +.\" $TMPDIR/SCOPES-R (-D 32) +.\" $TMPDIR/SCOPES-W (-D 32) +.\" $TMPDIR/ACTIVE (-D 64) .PP .IR $MAILCAPS .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.mailcap +.IR ${TIN_HOMEDIR:\-"$HOME"}/.mailcap .br .IR /etc/mailcap .br @@ -60,7 +62,7 @@ Each individual mailcap entry consists o command to execute, and (possibly) a set of optional "flag" values. .sp The "type" field is simply any legal content type name. It is the string -that will be matched against the "Content\-Type" header to decide if this is +that will be matched against the ''Content\-Type:'' header to decide if this is the mailcap entry that matches the current message. Additionally, the type field may specify a subtype or a wildcard to match all subtypes. .sp @@ -77,7 +79,7 @@ message. If it contains "%t", those two content-type field, including the subtype, if any. If it contains "%{" followed by a parameter name and a closing "}", then all those characters will be replaced by the value of the named parameter, if any, from the -Content\-Type header. Finally, if the field contains "\\%", those two +\&''Content\-Type:'' header. Finally, if the field contains "\\%", those two characters will be replaced by a single "%" character. .\" .\" Two special codes can appear in the viewing command for objects of type @@ -101,12 +103,12 @@ the data. .TP .B composetyped The "composetyped" field is similar to the "compose" field, but is to be -used when the composing program needs to specify the Content\-Type header -field to be applied to the composed data. The "compose" field is simpler, -and is preferred for use with existing (non-mail-oriented) programs for -composing data in a given format. The "composetyped" field is necessary when -the Content\-Type information must include auxiliary parameters, and the -composition program must then know enough about mail formats to produce +used when the composing program needs to specify the ''Content\-Type:'' +header field to be applied to the composed data. The "compose" field is +simpler, and is preferred for use with existing (non-mail-oriented) programs +for composing data in a given format. The "composetyped" field is necessary +when the Content\-Type information must include auxiliary parameters, and +the composition program must then know enough about mail formats to produce output that includes the mail type information. .TP .B edit @@ -191,7 +193,7 @@ xv \-8 \-geometry +0 '%s';\\ .br description=%{name} %t\-Image;\\ .br -test=test "$DISPLAY";\\ +test=test "$DISPLAY" != "";\\ .br nametemplate=%s.IMAGE .in -.3i @@ -199,11 +201,11 @@ nametemplate=%s.IMAGE message/rfc822;\\ .br .in +.3i -${PAGER\-"more"} '%s';\\ +${PAGER:\-"more"} '%s';\\ .br -edit=${EDITOR\-"vi"} '%s';\\ +edit=${EDITOR:\-"vi"} '%s';\\ .br -compose=${EDITOR\-"vi"} '%s';\\ +compose=${EDITOR:\-"vi"} '%s';\\ .br print=a2ps '%s';\\ .br @@ -224,14 +226,14 @@ priority. .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.cancelsecret +.IR ${TIN_HOMEDIR:\-"$HOME"}/.cancelsecret .sp .RS secret to be used for canlocks .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.mime.types +.IR ${TIN_HOMEDIR:\-"$HOME"}/.mime.types .br .IR /etc/mime.types .br @@ -242,36 +244,40 @@ mime type / filename extension pairs .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.newsauth +.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsauth .sp .RS -"\fInntpserver\fR \fIpassword\fR [\fIuser\fR]" pairs for NNTP servers -that require authorization. Any line that starts with "#" is a comment. -Blank lines are ignored. This file should be readable only for the user as -it contains the users uncrypted password for reading news! +"\fInntpserver\fR \fIpassword\fR [\fIuser\fR]" pairs for NNTP servers that +require authorization. If the password contains a space or a tab it must be +enclosed in doublequotes ("). Usernames must not be enclosed in doublequotes +and thus can't contain spaces or tabs. Any line that starts with "#" is a +comment. Blank lines are ignored. This file should be readable only for the +user as it contains the user's uncrypted password for reading news! .TP .B nntpserver full qualified domain name of the newsserver. .TP .B password -users uncrypted password for reading news. +user's uncrypted password for reading news. .TP .B user -username on the newsserver if it differs from the local login. this field is +username on the newsserver if it differs from the local login. This field is optional. .TP Example: .RS # sample .newsauth file .br -news.example.org example +news.example.org secret .br -news.example.net news guest +news.example.net arcane guest +.br +news.example.com "top secret" james.bond@example.com .RE .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.newsrc +.IR ${TIN_HOMEDIR:\-"$HOME"}/.newsrc .sp .RS "\fInewsgroup\fR\fIflag\fR [\fIarticle\fR[,\fIarticle\fR | \-\fIarticle\fR]...]" lines. @@ -300,38 +306,38 @@ news.software.readers: 1\-19567,19571\-1 .PP .nf -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT+":$NNTPPORT"}/.oldnewsrc +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc .fi .sp .RS -backup of \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR +backup of \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.signature +.IR ${TIN_HOMEDIR:\-"$HOME"}/.signature .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.Sig +.IR ${TIN_HOMEDIR:\-"$HOME"}/.Sig .sp .RS signature .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.sigfixed +.IR ${TIN_HOMEDIR:\-"$HOME"}/.sigfixed .sp .RS fixed part of a randomly generated signature .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/.inputhistory +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/.inputhistory .sp .RS history of last used strings .RE .PP -.IR ${TIN_INDEX_MAILDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.mail/ +.IR ${TIN_INDEX_MAILDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.mail/ .sp .RS mailgroups index files @@ -339,7 +345,7 @@ mailgroups index files .PP .nf -.IR ${TIN_INDEX_NEWSDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.news${NNTPSERVER+"\-$NNTPSERVER"}/ +.IR ${TIN_INDEX_NEWSDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.news${NNTPSERVER:+"\-$NNTPSERVER"}/ .fi .sp .RS @@ -347,18 +353,18 @@ newsgroups index files .RE .PP -.IR ${TIN_INDEX_SAVEDIR\-"${TIN_HOMEDIR\-"$HOME"}/.tin"}/.save/ +.IR ${TIN_INDEX_SAVEDIR:\-"${TIN_HOMEDIR:\-"$HOME"}/.tin"}/.save/ .sp .RS saved newsgroups index files .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/active.mail +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.mail .sp .RS active file ("\fImail_group_name\fR \fImaxnum\fR \fIminnum\fR -\fImailspool\fR"-pairs) of user's mailgroups (requires +\fImailspool\fR" quadruples) of user's mailgroups (requires .BR tin (1) to be build with mh-mail-handling support). .TP @@ -388,7 +394,7 @@ They are accessed via /home/foo/Mail/inb .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/active.save +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/active.save .sp .RS active file of user's saved newsgroups, used by \fBtin \-R\fP. @@ -401,18 +407,19 @@ active file of user's saved newsgroups, .\" ${TIN_LIBDIR\-/news/etc"}/attributes .IR /etc/tin/attributes .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/attributes +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes .sp .RS The group attributes files may be used to override some global settings from -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR on a per group basis. Order is -important as last match counts; this allows to refine attributes for +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR on a per group basis. Order is +important as last match counts; this allows one to refine attributes for narrowed scopes. Note that the \fIscope=\fR line has to be -specified before the attributes are specified for that list. All attributes -are set to a reasonable default so you only have to specify the attribute -that you want to change. All toggle attributes are set by specifying ON/OFF. -Otherwise, they function exactly as their global equivalents. The following -group attributes are available: +specified before the attributes are specified for that list and each +attribute can only be set once per scope section. All attributes are set to +a reasonable default so you only have to specify the attribute that you want +to change. All toggle attributes are set by specifying ON/OFF. Otherwise, +they function exactly as their global equivalents. The following group +attributes are available: .TP .B scope This changes the list of groups to which the attributes that follow will be @@ -420,6 +427,24 @@ applied. See the section NEWSGROUP LISTS .BR tin (1) for the types of pattern that can be used here. .TP +.B add_posted_to_filter +Identical to the tinrc variable of the same name +.TP +.B advertising +Identical to the tinrc variable of the same name +.TP +.B alternative_handling +Identical to the tinrc variable of the same name +.TP +.B ask_for_metamail +Identical to the tinrc variable of the same name +.TP +.B auto_cc_bcc +Identical to the tinrc variable of the same name +.TP +.B auto_list_thread +Identical to the tinrc variable of the same name +.TP .B auto_save Identical to the tinrc variable of the same name .TP @@ -433,6 +458,9 @@ per group basis. For more information re SAVING NEW NEWS in .BR tin (1). .TP +.B date_format +Identical to the tinrc variable of the same name +.TP .B delete_tmp_files If this is set to ON, then saved article files that have been post-processed will be automatically deleted, otherwise the user will @@ -440,23 +468,41 @@ be asked whether to delete the post-proc processing of marked articles using \fBGroupAutoSave\fP ('\fBS\fP') will suppress prompting. .TP +.B editor_format +Identical to the tinrc variable of the same name +.TP .B fcc Mailbox to save sent mails. The format of the mailbox is controlled via the tinrc \fBmailbox_format\fP variable. .TP .B followup_to -Set ''Followup\-To:''-header to the specified group(s). +Set ''Followup\-To:'' header to the specified group(s). .TP .B from Identical to the tinrc variable \fBmail_address\fP .TP +.B group_catchup_on_exit +Identical to the tinrc variable of the same name +.TP +.B mail_8bit_header +Identical to the tinrc variable of the same name +.TP +.B mail_mime_encoding +Identical to the tinrc variable of the same name +.TP .B maildir -Identical to the tinrc variable \fBdefault_maildir\fP +Identical to the tinrc variable of the same name .TP .B mailing_list Used when a group is a mailing list. All responses to the group will be directed to this email address instead .TP +.B mark_ignore_tags +Identical to the tinrc variable of the same name +.TP +.B mark_saved_read +Identical to the tinrc variable of the same name +.TP .B mime_forward Determines whether usenet articles are forwarded as attachment or inline. When set to OFF, the forwarded article will be included in @@ -469,16 +515,24 @@ if the receiver should be able to operat article (i.e., view or save it without your comments). On the other hand, if you want to forward only some parts of the article or to insert 'inline' annotations, you might want to disable this option. +Currently mime_forward is forced if the article to be attached is a +multipart MIME article, this may change in a future version. Please note that for this option to have effect, the tinrc variable \fBinteractive_mailer\fP has to be set to 0 (which is the default). .TP .B mime_types_to_save -A comma separated list of MIME major/minor Content-Types that will be +A comma separated list of MIME major/minor Content\-Types that will be saved when using the view/save and save/autosave features. A single * can be used to wildcard the major and/or minor type and a ! as the first character in an entry will negate it, eg: image/*,!image/bmp,!text/html. Default is */* .TP +.B news_headers_to_display +Identical to the tinrc variable of the same name +.TP +.B news_headers_to_not_display +Identical to the tinrc variable of the same name +.TP .B news_quote_format Identical to the tinrc variable of the same name .TP @@ -487,16 +541,37 @@ This can be used to set the article head overrides the setting (if any) of organization in \fI/etc/tin/tin.defaults\fR and $\fBORGANIZATION\fP (or $\fBNEWSORG\fP on Apollo DomainOS). Note that some newsserver might still overwrite the -\&''Organization:''-header. +\&''Organization:'' header. +.TP +.B pos_first_unread +Identical to the tinrc variable of the same name .TP -.B post_proc_type -Identical to the tinrc variable \fBpost_process_type\fP +.B post_8bit_header +Identical to the tinrc variable of the same name +.TP +.B post_mime_encoding +Identical to the tinrc variable of the same name +.TP +.B post_process_type +Identical to the tinrc variable of the same name +.TP +.B post_process_view +Identical to the tinrc variable of the same name +.TP +.B print_header +Identical to the tinrc variable of the same name +.TP +.B process_only_unread +Identical to the tinrc variable of the same name +.TP +.B prompt_followupto +Identical to the tinrc variable of the same name .TP .B quote_chars Identical to the tinrc variable of the same name .TP .B savedir -Identical to the tinrc variable \fBdefault_savedir\fP +Identical to the tinrc variable of the same name .TP .\" TODO: document option .B savefile @@ -507,26 +582,50 @@ Identical to the tinrc variable of the s .B show_info Identical to the tinrc variable of the same name .TP -.B show_only_unread +.B show_only_unread_arts +Identical to the tinrc variable of the same name +.TP +.B show_signatures +Identical to the tinrc variable of the same name +.TP +.B sigdashes Identical to the tinrc variable of the same name .TP .B sigfile -Identical to the tinrc variable \fBdefault_sigfile\fP +Identical to the tinrc variable of the same name +.TP +.B signature_repost +Identical to the tinrc variable of the same name .TP -.B sort_art_type +.B sort_article_type Identical to the tinrc variable \fBsort_article_type\fP .TP .B sort_threads_type Identical to the tinrc variable of the same name .TP +.B start_editor_offset +Identical to the tinrc variable of the same name +.TP .B tex2iso_conv Identical to the tinrc variable of the same name .TP -.B thread_arts -Identical to the tinrc variable \fBthread_articles\fP +.B thread_articles +Identical to the tinrc variable of the same name +.TP +.B thread_catchup_on_exit +Identical to the tinrc variable of the same name .TP .B thread_perc -Identical to the tinrc variable \fBthread_perc\fP +Identical to the tinrc variable of the same name +.TP +.B trim_article_body +Identical to the tinrc variable of the same name +.TP +.B verbatim_handling +Identical to the tinrc variable of the same name +.TP +.B wrap_on_next_unread +Identical to the tinrc variable of the same name .TP .B x_body A piece of text that will be added at the start of a message body. If this @@ -534,7 +633,7 @@ string starts with a / or ~ then it is a containing the text to insert. .TP .B x_comment_to -Insert ''X\-Comment\-To:''-header, this is only useful in FIDO groups. +Insert ''X\-Comment\-To:'' header, this is only useful in FIDO groups. .TP .B x_headers A string including header-name and the contents of the header that will @@ -603,12 +702,12 @@ undeclared_charset=ISO\-8859\-1 # in *sources* set post process type to shar only scope=*sources* -post_proc_type=1 +post_process_type=1 # in *binaries* turn on full post processing, # remove tmp files and set Followup\-To: poster scope=*binaries* -post_proc_type=2 +post_process_type=2 delete_tmp_files=ON followup_to=poster @@ -633,7 +732,7 @@ undeclared_charset=ISO\-2022\-JP\-2 .PP .\" TODO: add missing descriptions and explain things in detail. -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/filter +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/filter .sp .RS The filter file is used to assign scores to certain articles. Based on the @@ -643,7 +742,7 @@ lines beginning with a '#' are ignored. .B comment Every entry (rule) in the filter file might get a comment. Multiple lines are allowed (but only for comments yet). Every line must start -with the "comment="-keyword. Comments must appear first in the rule. +with the "comment=" keyword. Comments must appear first in the rule. Comment lines placed within a rule will be moved to the begin of the next rule. This might be changed in the future. Don't use '#' to mark comments as those lines are ignored and your comments will get lost @@ -665,7 +764,7 @@ Match against ''Subject:'' .B from Match against ''From:''. .BR tin (1) -converts the contents of the ''From:''-header to an old style e-mail address, +converts the contents of the ''From:'' header to an old style e-mail address, e.g. ''some@body.example (John Doe)'' instead of ''John Doe '', before trying to match the patterns in the filter rule. @@ -687,12 +786,12 @@ Match against ''Lines:'', \fBPageUp\fP b ^B ^U -\fBPageDown\fP ^D ^F +\fBPageDown\fP ^D ^F SPACE \fBRedrawScr\fP ^L \fBPostponed\fP ^O \fBMenuFilterSelect\fP ^A \fBMenuFilterKill\fP ^K +\fBMarkFeedRead\fP ^X +\fBMarkFeedUnread\fP ^W +.sp +\fBAttachSelect\fP ^J ^M +\fBAttachPipe\fP p +\fBAttachSave\fP s +\fBAttachTag\fP t +\fBAttachUntag\fP U +\fBAttachTagPattern\fP = +\fBAttachToggleTagged\fP @ .sp +\fBConfigToggleAttrib\fP TAB \fBConfigSelect\fP ^J ^M \fBConfigLastPage\fP G \fBConfigNoSave\fP Q +\fBConfigScopeMenu\fP S \fBConfigFirstPage\fP g +\fBConfigResetAttrib\fP r .sp \fBFeedTag\fP T \fBFeedArt\fP a @@ -800,6 +908,7 @@ their defaults. If a keynames is bound t \fBGroupSelThdIfUnreadSelected\fP ; \fBGroupSelPattern\fP = \fBGroupReverseSel\fP @ +\fBGroupCancel\fP D \fBGroupToggleGetartLimit\fP G \fBGroupMarkThdRead\fP K \fBGroupNextUnreadArt\fP N @@ -826,12 +935,13 @@ their defaults. If a keynames is bound t .sp \fBPageReplyQuoteHeaders\fP ^E \fBPagePGPCheckArticle\fP ^G -\fBPageToggleHeaders\fP ^H +\fBPageToggleRaw\fP ^H \fBPageNextUnread\fP TAB \fBPageNextThd\fP ^J ^M \fBPageToggleTabs\fP ^T \fBPageFollowupQuoteHeaders\fP ^W \fBPageToggleTex2iso\fP " +\fBPageToggleAllHeaders\fP * \fBPageToggleRot\fP % \fBPageToggleUue\fP ( \fBPageReveal\fP ) @@ -912,11 +1022,19 @@ their defaults. If a keynames is bound t \fBSelectYankActive\fP y \fBSelectMarkGrpUnread\fP z Z .sp +\fBScopeSelect\fP ^J ^M +\fBScopeEditAttributesFile\fP E +\fBScopeAdd\fP a +\fBScopeDelete\fP d +\fBScopeMove\fP m +\fBScopeRename\fP r +.sp \fBThreadReadNextArtOrThread\fP TAB \fBThreadReadArt\fP ^J ^M \fBThreadSelArt\fP * \fBThreadToggleArtSel\fP . \fBThreadReverseSel\fP @ +\fBThreadCancel\fP D \fBThreadMarkArtRead\fP K \fBThreadAutoSave\fP S \fBThreadUntag\fP U @@ -925,11 +1043,13 @@ their defaults. If a keynames is bound t \fBThreadSave\fP s \fBThreadTag\fP t \fBThreadUndoSel\fP ~ +.sp +\fBUrlSelect\fP ^J ^M .fi .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/mailgroups +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups .sp .RS This file provides short descriptions of each mailgroup. (requires @@ -945,7 +1065,7 @@ is a short single-line description of th .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/newsrctable +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/newsrctable .sp .RS "\fInntpserver\fR \fInewsrc\fR [\fIshortname\fR [\fI...\fR]]" @@ -966,19 +1086,19 @@ Example: .br news.tin.org .newsrc\-tin.org tinorg .br -news.ka.nu /tmp/nrc\-nu kanu nu +news.example.org /tmp/nrc\-ex example ex .RE .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/posted +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/posted .sp .RS posting history .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/Mail/posted +.IR ${TIN_HOMEDIR:\-"$HOME"}/Mail/posted .sp .RS Copy of all posted articles in @@ -988,7 +1108,7 @@ format. The filename can be changed by s .RE .PP -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/postponed.articles +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/postponed.articles .sp .RS Pool of postponed articles. This file is in @@ -998,7 +1118,7 @@ format. .PP .nf -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT+":$NNTPPORT"}/newsgroups +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups .fi .sp .RS @@ -1018,7 +1138,7 @@ is a short single-line description of th .nf -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT+":$NNTPPORT"}/serverrc +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc .fi .sp .RS @@ -1043,7 +1163,7 @@ to keep track of new newsgroups on the s .\" .IR ${TIN_LIBDIR\-"/news/etc"}/tinrc .IR /etc/tin/tinrc .br -.IR ${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc +.IR ${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc .sp .RS At startup, @@ -1052,11 +1172,17 @@ reads in the configuration file. This co "\fIvariable\fR=\fIvalue\fR" pairs that can be used to configure the way .BR tin (1) works. If it exists, the global configuration file, -\fI${TIN_LIBDIR}\-NEWSLIBDIR}/tinrc\fR is read first. After that, the -users own configuration file \fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR is read. +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR is read first. After that, the +user's own configuration file \fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR is read. The global file is useful for distributing system-wide defaults to new users who have no private tinrc yet (see also \fB/etc/tin/tin.defaults\fP). .TP +.B abbreviate_groupname +If ON abbreviate long newsgroup names at group selection level and article +level (if necessary) like this: +news.software.readers \-> n.software.readers \-> n.s.readers \-> n.s.r. +Default is OFF. +.TP .B add_posted_to_filter If ON add posted articles which start a new thread to filter for highlighting follow-ups. Default is ON. @@ -1104,16 +1230,12 @@ Default is ':'. \fBkill_level\fP must be If ON .BR tin (1) will ask before using a MIME viewer (\fBmetamail_prog\fP) to display -MIME messages. This only occurs if a MIME viewer is set. Default is +MIME messages. This only occurs if a MIME viewer is set. Default is OFF. .TP -.B auto_bcc -If ON automatically put your name in the ''Bcc:'' field when mailing an -article. Default is OFF. -.TP -.B auto_cc -If ON automatically put your name in the ''Cc:'' field when mailing an -article. Default is OFF. +.B auto_cc_bcc +Automatically put your name in the ''Cc:'' and/or ''Bcc:'' field when +mailing an article. Default is No. .TP .B auto_list_thread If ON automatically list thread when entering it using right arrow key. @@ -1209,6 +1331,9 @@ Color of signatures .B col_urls Color of urls highlight .TP +.B col_verbatim +Color of verbatim blocks +.TP .B col_subject Color of article subject .TP @@ -1216,7 +1341,7 @@ Color of article subject Color of text-lines .TP .B col_title -Color of help/main sign +Color of help/mail sign .TP .B confirm_choice .BR tin (1) @@ -1244,7 +1369,7 @@ Format string used for date representation. A description of the different format options can be found at .BR strftime (3). -.BR tin (1). +.BR tin (1) uses .BR strftime (3) when available and supports most format options in his fallback code. @@ -1257,11 +1382,6 @@ Default is "%a, %d %b %Y %H:%M:%S". .B default_config_search The last article/author/config option that was searched for. .TP -.B default_editor_format -The format string used to create the editor start command with parameters. -Default is '%E +%N %F' (e.g., /bin/vi +7 .article). -.\" TODO: document %E, %F, %N -.TP .B default_filter_days Default is 28. .TP @@ -1279,20 +1399,19 @@ OFF=apply to current group. Default is O .TP .B default_filter_kill_header Default for quick (1 key) kill filter header. -.RS +.5i -.IP 0,1 4 - ''Subject:'' -.IP 2,3 - ''From:'' -.IP 4 - ''Message\-ID:'' & full ''References:'' line -.IP 5 - ''Message\-ID:'' & last ''References:'' entry only -.IP 6 - ''Message\-ID:'' entry only -.IP 7 - ''Lines:'' -.RE +.in +.3i +.nf +.ta \w'0,1 'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u +0 ''Subject:'' (case sensitive) +1 ''Subject:'' (ignore case) +2 ''From:'' (case sensitive) +3 ''From:'' (ignore case) +4 ''Message\-ID:'' & full ''References:'' line +5 ''Message\-ID:'' & last ''References:'' entry only +6 ''Message\-ID:'' entry only +7 ''Lines:'' +.fi +.in -.3i .TP .B default_filter_select_case Default for quick (1 key) auto-selection filter case. ON=filter case @@ -1308,20 +1427,19 @@ groups, OFF=apply to current group. Defa .TP .B default_filter_select_header Default for quick (1 key) auto-selection filter header. -.RS +.5i -.IP 0,1 4 - ''Subject:'' -.IP 2,3 - ''From:'' -.IP 4 - ''Message\-ID:'' & full ''References:'' line -.IP 5 - ''Message\-ID:'' & last ''References:'' entry only -.IP 6 - ''Message\-ID:'' entry only -.IP 7 - ''Lines:'' -.RE +.in +.3i +.nf +.ta \w'0,1 'u +\w'\'\'Message\-ID:\'\' & last \'\'References:\'\' entry only'u +0 ''Subject:'' (case sensitive) +1 ''Subject:'' (ignore case) +2 ''From:'' (case sensitive) +3 ''From:'' (ignore case) +4 ''Message\-ID:'' & full ''References:'' line +5 ''Message\-ID:'' & last ''References:'' entry only +6 ''Message\-ID:'' entry only +7 ''Lines:'' +.fi +.in -.3i .TP .B default_goto_group .TP @@ -1329,24 +1447,6 @@ Default for quick (1 key) auto-selection .TP .B default_mail_address .TP -.B default_maildir -The directory where articles/threads are to be saved in -.BR mbox (5) -format. This feature is mainly for use with the -.BR elm (1) -mail program. It allows the user to save articles/threads/groups simply -by giving '=' as the filename to save to. Default is -\fI${TIN_HOMEDIR\-"$HOME"}/Mail\fR. -.TP -.B default_mailer_format -The format string used to create the mailer command with parameters that is -used for mailing articles to other people. Default is '%M "%T" < %F' (e.g., -/bin/mail "iain" < .article). The flexible format allows other mailers with -different command line parameters to be used such as 'elm \-s "%S" "%T" < -"%F"' (e.g., elm \-s "subject" "iain" < .article) or 'sendmail \-oem \-t < %F' -(e.g. sendmail \-oem \-t < .article). -.\" TODO: document %S, %T, %M, %F, %U ... -.TP .B default_move_group .TP .B default_pattern @@ -1357,16 +1457,6 @@ different command line parameters to be .TP .B default_post_subject .TP -.B default_printer -The printer program with options that is to be used to print articles. The -default is -.BR lpr (1) -for BSD machines and -.BR lp (1) -for SysV machines. Printing from -.BR tin (1) -may have been disabled by the System Administrator. -.TP .B default_range_group .TP .B default_range_select @@ -1379,31 +1469,21 @@ may have been disabled by the System Adm .TP .B default_save_mode .TP -.B default_savedir -Directory where articles/threads are saved. Default is -\fI${TIN_HOMEDIR\-"$HOME"}/News\fR. -.TP .B default_select_pattern .TP .B default_shell_command .TP -.B default_sigfile -The path that specifies the signature file to use when posting, following -up to or replying to an article. If the path is a directory then the -signature will be randomly generated from files that are in the specified -directory. If the path starts with a ! the program the path points to will -be executed to generate a signature. -.BR tin (1) -will pass the name of the current newsgroup as argument to the -program. \-\-none will suppress any signature. -Default is \fI${TIN_HOMEDIR\-"$HOME"}/.Sig\fR. -.TP .B default_subject_search .TP .B draw_arrow Allows groups/articles to be selected by an arrow '\->' if set ON or by an highlighted bar if set OFF. .TP +.B editor_format +The format string used to create the editor start command with parameters. +Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename +(e.g., /bin/vi +7 .article). +.TP .B force_screen_redraw Specifies whether a screen redraw should always be done after certain external commands. Default is OFF. @@ -1415,6 +1495,14 @@ are fetched from the server. If \fBgetar will start fetching articles from your first unread minus absolute value of \fBgetart_limit\fP. Default is 0, which means no limit. .TP +.B goto_next_unread +Which keys \fBtin\fP should accept to jump to the next unread article. +Possible is any combination of \fBPageDown\fP and \fBPageNextUnread\fP. +When \fBPageDown\fP is set \fBtin\fP jumps to the next article at the +end of the current one. When \fBPageNextUnread\fP is set \fBtin\fP jumps +immediately to the next article when \fBPageNextUnread\fP ('\fB\fP') +is pressed. Default is PageNextUnread. +.TP .B group_catchup_on_exit If ON catchup group when leaving with the left arrow key. Default is ON. .TP @@ -1449,21 +1537,21 @@ available to display long subjects. Defa If greater than 0 your mailreader will be invoked earlier for reply so you can use more of its features (e.g. MIME, pgp, ...). 1 means include headers, 2 means don't include headers (old use_mailreader_i=ON option). 0 turns off -usage. This option has to suit \fBdefault_mailer_format\fP. Default is 0. +usage. This option has to suit \fBmailer_format\fP. Default is 0. .TP .B inverse_okay If ON use inverse video for page headers and URL highlighting. Default is ON. .TP .B keep_dead_articles -If ON keep all failed postings in \fI${TIN_HOMEDIR\-"$HOME"}/dead.articles\fR +If ON keep all failed postings in \fI${TIN_HOMEDIR:\-"$HOME"}/dead.articles\fR besides keeping the last failed posting in -\fI${TIN_HOMEDIR\-"$HOME"}/dead.article\fR. Default is ON. +\fI${TIN_HOMEDIR:\-"$HOME"}/dead.article\fR. Default is ON. .TP .B kill_level This option controls the processing and display of articles that are -killed. There are 3 options: -.RS +.5i +killed. There are 3 options, default is 0 (\fBKill only unread arts\fP). +.RS +1i .IP 0 3 \fBKill only unread arts\fP is the 'traditional' behavior of .BR tin (1). @@ -1481,13 +1569,12 @@ marked with \fBart_marked_killed\fP. group and therefore there is a processing overhead when using this option. Killed articles simply does not get displayed at all. .RE -Default is 0 (\fBKill only unread arts\fP). .TP .B mail_8bit_header Allows 8bit characters unencoded in the header of mail message. Default is OFF. Turning it ON is effective only if \fBmail_mime_encoding\fP is also set to 8bit. Leaving it OFF is safe for most users and compliant to Internet -Mail Standard (\fBRFC2822\fP and \fBRFC2047\fP). Default is OFF. +Mail Standard (\fBRFC5322\fP and \fBRFC2047\fP). Default is OFF. .TP .B mail_address User's mail address (and full name), if not username@host. This is used when @@ -1497,8 +1584,7 @@ signing. .TP .B mail_mime_encoding MIME encoding of the body in mail message, if necessary (8bit, base64, -quoted-printable, 7bit). Default is 8bit and no encoding (or charset -conversion) is performed (i.e., local charset is used as it is). +quoted\-printable, 7bit). Default is quoted\-printable. .TP .B mail_quote_format Format of quote line when replying (via mail) to an article (%A=Address, @@ -1513,15 +1599,51 @@ for more details on MBOXO and MBOXRD and .BR mmdf (5) for more details about MMDF. .TP +.B maildir +The directory where articles/threads are to be saved in +.BR mbox (5) +format. This feature is mainly for use with the +.BR elm (1) +mail program. It allows the user to save articles/threads/groups simply +by giving '=' as the filename to save to. Default is +\fI${TIN_HOMEDIR:\-"$HOME"}/Mail\fR. +.TP +.B mailer_format +The format string used to create the mailer command with parameters that is +used for mailing articles to other people. Default is '%M "%T" < %F' (e.g., +/bin/mail "iain" < .article). The flexible format allows other mailers with +different command line parameters to be used such as +.in +.3i +.nf +sendmail \-oem \-t < %F +elm \-s "%S" "%T" < "%F" +claws-mail \-\-compose "mailto:%T?subject=%S&insert=%F" +.fi +.in -.3i +\fBinteractive_mailer\fP must be set adequate. The following substitutions +are supported: +.in +.3i +.nf +.ta \w'%S'u +\w'subject-field'u +%F filename +%M default_mailer +%S subject-field +%T to-filed +%U username +%% % +.fi +.in -.3i +.TP .B mark_saved_read If ON mark articles that are saved as read. Default is ON. .TP .B mark_ignore_tags -When this is ON, the \fBGroupMarkThdRead\fP, \fBThreadMarkArtRead\fP -functions ('\fBK\fP') mark just the current article or thread, ignoring -other tagged, unread articles. When OFF, the same function presents a menu -with choices of the current thread or article, all tagged, unread articles, -or nothing. +When this is ON, the \fBGroupMarkThdRead\fP ('\fBK\fP'), +\fBThreadMarkArtRead\fP ('\fBK\fP'), \fBMarkThdUnread\fP ('\fBZ\fP') at +Group level and \fBMarkArtUnread\fP ('\fBz\fP') at Thread level functions +mark just the current article or thread, ignoring other tagged, (un)read +articles. When OFF, the same function presents a menu with choices of the +current thread or article, all tagged, unread articles, or nothing. .TP .B metamail_prog Path, name and options of external @@ -1596,16 +1718,16 @@ what they are for. .TP .B news_headers_to_display Which news headers you wish to see. If you want to see _all_ the headers, -place an '*' as this value. This is the only way a wildcard can be used. -If you enter 'X\-' as the value, you will see all headers beginning -with 'X\-' (like X\-Alan or X\-Pape). You can list more than one by delimiting -with spaces. Not defining anything turns off this option. +place an '*' as this value. This is the only way a wildcard can be used. If +you enter 'X\-' as the value, you will see all headers beginning with 'X\-' +(like X\-Alan or X\-Pape). You can list more than one by delimiting with +spaces. Not defining anything turns off this option. .TP .B news_headers_to_not_display Same as \fBnews_headers_to_display\fP except it denotes the opposite. An -example of using both options might be if you thought X\- headers were A Good -Thing(tm), but thought Alan and Pape were miscreants... well then you would -do something like this: +example of using both options might be if you thought 'X\-' headers were A +Good Thing(tm), but thought Alan and Pape were miscreants... well then you +would do something like this: \fBnews_headers_to_display=X\-\fP \fBnews_headers_to_not_display=X\-Alan X\-Pape\fP Not defining anything turns off this option. @@ -1618,7 +1740,7 @@ Format of quote line when posting/follow .B normalization_form The normalization form which should be used to normalize unicode input. The possible values are: -.RS +.5i +.RS +1i .IP 0 3 \fBNone\fP: no normalization .IP 1 @@ -1635,10 +1757,6 @@ library .BR tin (1) uses to do the normalization. Default is NFKC. .TP -.B pgdn_goto_next -If ON the \fBPageDown\fP keys will go to the next unread article when -pressed at the end of a message. Default is ON. -.TP .B pos_first_unread If ON put cursor at first unread article in group otherwise at last article. Default is ON. @@ -1646,7 +1764,7 @@ Default is ON. .B post_8bit_header Allows 8bit characters unencoded in the header of a news article, if set this also disables the generation of MIME-headers when they are -usualy required. Default is OFF. Only enacted if +usually required. Default is OFF. Only enacted if \fBpost_mime_encoding\fP is also set to 8bit. In a number of local hierarchies where 8bit characters are used, using unencoded (raw) 8bit characters in header is acceptable and sometimes even @@ -1656,8 +1774,8 @@ and \fBpost_mime_encoding\fP. .TP .B post_mime_encoding MIME encoding of the body in news message, if necessary. (8bit, base64, -quoted-printable, 7bit) Default is 8bit, which leads to no encoding. -base64 and quoted-printable are usually undesired on usenet. +quoted\-printable, 7bit). Default is 8bit, which leads to no encoding. +base64 and quoted\-printable are usually undesired on usenet. .TP .B post_process_view If ON, then @@ -1671,7 +1789,7 @@ This specifies whether to perform post p Because the shell archive may contain commands you may not want to be executed, be careful when extracting shell archives. The following values are allowed: -.RS +.8i +.RS +1i .IP 0 3 \fBNo\fP (default), no post processing is done. .IP 1 @@ -1685,7 +1803,7 @@ not want to be executed, be careful with .TP .B posted_articles_file Keep posted articles in -\fI${TIN_HOMEDIR\-"$HOME"}/Mail/\fBposted_articles_file\fP\fR. +\fI${TIN_HOMEDIR:\-"$HOME"}/Mail/\fBposted_articles_file\fP\fR. If no filename is set then postings will not be saved. Default is 'posted'. .TP @@ -1693,6 +1811,16 @@ Default is 'posted'. If ON, then the full article header is sent to the printer. Otherwise only the ''Subject:'' and ''From:'' fields are output. Default is OFF. .TP +.B printer +The printer program with options that is to be used to print articles. The +default is +.BR lpr (1) +for BSD machines and +.BR lp (1) +for SysV machines. Printing from +.BR tin (1) +may have been disabled by the System Administrator. +.TP .B process_only_unread If ON only save/print/pipe/mail unread articles (tagged articles excepted). Default is OFF. @@ -1712,7 +1840,7 @@ This bit coded integer value controls ho following up or replying to them. Any of the following options can be combined by adding all relevant values. Default is 5, which means that quote characters are compressed and empty lines are quoted. -.RS +.5i +.RS +1i .IP 1 3 \fBCompress quotes\fP Compress quote characters together when quoting multiple times (for example, '> > >' will be turned into '>>>'). This @@ -1720,8 +1848,9 @@ option is on by default. .IP 2 \fBQuote Signatures\fP This option is off by default. Signatures are always quoted regardless of this option when you are viewing an article -in raw mode \fBPageToggleHeaders\fP ('\fB^H\fP') and followup or reply -to it. +in raw mode \fBPageToggleRaw\fP ('\fB^H\fP') and followup or reply +to it. Signatures are never quoted regardless of this option when +\fBshow_signatures\fP is off. .IP 4 \fBQuote empty lines\fP This option is on by default. .RE @@ -1756,10 +1885,14 @@ If ON \fBtin\fP does the rendering of bi leaves the rendering of bi-directional text to the terminal. Default is OFF. .TP .B reread_active_file_secs -The news \fI${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active}\fR file +The news \fI${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active}\fR file is reread at regular intervals to show if any new news has arrived. Default is 1200. Setting this to 0 will disable this feature. .TP +.B savedir +Directory where articles/threads are saved. Default is +\fI${TIN_HOMEDIR:\-"$HOME"}/News\fR. +.TP .B score_limit_kill If the score of an article is below or equal this value the article gets marked as killed. @@ -1779,15 +1912,15 @@ Score of an article which should be mark .B scroll_lines The number of lines that will be scrolled up/down in the article pager when using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get -traditional page-by-page scrolling. Set to -1 to get page-by-page +traditional page-by-page scrolling. Set to \-1 to get page-by-page scrolling where the top/bottom line is carried over onto the next page. -This setting supersedes show_last_line_prev_page=ON. Set to -2 to get +This setting supersedes show_last_line_prev_page=ON. Set to \-2 to get half-page scrolling. This setting supersedes full_page_scroll=OFF. .TP .B show_author Which information about the author should be shown. Default is 2, authors full name. -.RS +.5i +.RS +1i .IP 0 3 \fBNone\fP, only the ''Subject:'' line will be displayed. .IP 1 @@ -1805,15 +1938,15 @@ displayed. If ON show a short group description text after newsgroup name at the group selection level. The ''\fB\-d\fP'' command-line flag will override the setting and turn descriptions off. The text used is taken from the -\fI${TIN_LIBDIR\-NEWSLIBDIR}/newsgroups\fR file and if supported (requires +\fI${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups\fR file and if supported (requires .BR tin (1) to be build with mh-mail-handling support) from -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/mailgroups\fR for mailgroups. Default is ON. +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/mailgroups\fR for mailgroups. Default is ON. .TP .B show_info Which information about the thread or article should be shown. Default is 1, show only the line count. -.RS +.5i +.RS +1i .IP 0 3 \fBNone\fP, no information will be displayed. .IP 1 @@ -1842,6 +1975,17 @@ If OFF don't show signatures when displa .B sigdashes If ON prepend the signature with sigdashes. Default is ON. .TP +.B sigfile +The path that specifies the signature file to use when posting, following +up to or replying to an article. If the path is a directory then the +signature will be randomly generated from files that are in the specified +directory. If the path starts with a ! the program the path points to will +be executed to generate a signature. +.BR tin (1) +will pass the name of the current newsgroup as argument to the +program. \-\-none will suppress any signature. +Default is \fI${TIN_HOMEDIR:\-"$HOME"}/.Sig\fR. +.TP .B signature_repost If ON add signature to reposted articles. Default is ON. .TP @@ -1853,9 +1997,9 @@ matching words are shown in \fBcol_marks uses a built-in default. .TP .B sort_article_type -This specifies how articles should be sorted.Sort by ascending Date (6) is +This specifies how articles should be sorted. Sort by ascending Date (6) is the default. The following sort types are allowed: -.RS +.5i +.RS +1i .IP 0 3 \fBNothing\fP, don't sort articles. .IP 1 @@ -1884,7 +2028,7 @@ the default. The following sort types ar .B sort_threads_type This specifies how threads will be sorted. Sort by descending Score (1) is the default. The following sort types are allowed: -.RS +.5i +.RS +1i .IP 0 3 \fBNothing\fP, don't sort threads. .IP 1 @@ -1892,14 +2036,12 @@ the default. The following sort types ar (default). .IP 2 \fBScore (ascending)\fP, sort threads by filtering score ascending. +.IP 3 +\fBLast posting date (descending)\fP, sort threads by date of last posting descending. +.IP 4 +\fBLast posting date (ascending)\fP, sort threads by date of last posting ascending. .RE .TP -.B space_goto_next_unread -SPACE normally acts as a \fBPageDown\fP key and has no effect at the end of -an article. If this option is turned ON the SPACE command will go to the -next unread article when the end of the article is reached (\fBrn\fP -(1)-style pager). -.TP .B spamtrap_warning_addresses Set this option to a list of comma-separated strings to be warned if you are replying to an article by mail where the e-mail address contains one of @@ -1923,7 +2065,7 @@ display when reading on a slow terminal .TP .B strip_bogus Bogus groups are groups that are present in your -\fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file that no longer exist on the news +\fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file that no longer exist on the news server. There are 3 options. 0 means do nothing & always keep bogus groups. 1 means bogus groups will be permanently removed. 2 means that bogus groups will appear on the Group Selection Menu, prefixed with a 'D'. This allows @@ -1931,7 +2073,7 @@ you to unsubscribe from them as and when .TP .B strip_newsrc If ON, then unsubscribed groups will be permanently removed from -your \fI${TIN_HOMEDIR\-"$HOME"}/.newsrc\fR file. Default is OFF. +your \fI${TIN_HOMEDIR:\-"$HOME"}/.newsrc\fR file. Default is OFF. .TP .B strokes_regex A regular expression that will be applied when reading articles. All @@ -1940,11 +2082,6 @@ If \fBstrokes_regex\fP is blank, then .BR tin (1) uses a built-in default. .TP -.B tab_goto_next_unread -If enabled pressing \fBPageNextUnread\fP ('\fB\fP') at the article viewer -level will go to the next unread article immediately instead of first paging -through the current one. Default is ON. -.TP .B tex2iso_conv Decode German style TeX umlaut codes to ISO If ON, show "a as Umlaut-a, etc. Default is OFF. This behavior can also be @@ -1957,8 +2094,8 @@ Defines which threading method to use. T 4) Thread multipart articles on Subject. 5) Thread on Percentage Match of the Subjects It's also possible to set the threading type on a per group basis by setting -the group attribute variable \fBthread_arts\fP to 0 - 5 in the file -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/attributes\fR. +the group attribute variable \fBthread_articles\fP to 0 - 5 in the file +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/attributes\fR. .TP .B thread_perc Defines how close the subjects must match while threading by Percentage @@ -1972,7 +2109,7 @@ ON. .B thread_score How the total score of a thread is computed. Default is 0, the maximum score in this thread. -.RS +.5i +.RS +1i .IP 0 3 \fBMax\fP, the maximum score in this thread. .IP 1 @@ -1989,6 +2126,29 @@ represented in the target character set, or several similarly looking characters. On systems where this extension doesn't exist, this option is disabled. Default is OFF. .TP +.B trim_article_body +Allows you to select how \fBtin\fP treats blank lines in article bodies. +Default is 0. This option does not affect lines within verbatim blocks. +.RS +1i +.IP 0 3 +\fBDon't trim article body\fP, do nothing. +.IP 1 +\fBSkip leading blank lines\fP. +.IP 2 +\fBSkip trailing blank lines\fP. +.IP 3 +\fBSkip leading and trailing blank l.\fP, skip leading and trailing blank lines. +.IP 4 +\fBCompact multiple between text\fP, replace multiple blank lines between +textblocks with one blank line. +.IP 5 +\fBCompact multiple and skip leading\fP, 4 + 1 +.IP 6 +\fBCompact multiple and skip trailing\fP, 4 + 2 +.IP 7 +\fBCompact mltpl., skip lead. & trai.\fP, 4 + 3 +.RE +.TP .B underscores_regex A regular expression that will be applied when reading articles. All matching words are shown in \fBcol_markdash\fP or \fBmono_markdash\fP. If @@ -1997,13 +2157,13 @@ matching words are shown in \fBcol_markd uses a built-in default. .TP .B unlink_article -If ON remove \fI${TIN_HOMEDIR\-"$HOME"}/.article\fR after posting. Default is +If ON remove \fI${TIN_HOMEDIR:\-"$HOME"}/.article\fR after posting. Default is ON. .TP .B url_handler The program that will be run when launching URLs in the article viewer using \fBPageViewUrl\fP ('\fBU\fP'). The actual URL will be appended to -this. Default is \fBurl_handler.sh %s\fP. +this. Default is \fBurl_handler.pl %s\fP. .TP .B url_highlight Enable highlighting URLs in message body. Default is ON. @@ -2017,7 +2177,7 @@ uses ANSI-colors. Default is OFF. Use scroll keys on keypad. Default is OFF. .TP .B use_mouse -Allows the mouse key support in a +Allows the mouse button support in a .BR xterm (1x) to be enabled/disabled. Default is OFF. @@ -2034,6 +2194,22 @@ and .BR slrnface (1) must be in your $\fBPATH\fP. Default is OFF. .TP +.B utf8_graphics +If ON use UTF-8 characters for indicator ('\->'), thread/attachment tree and +ellipsis ('...'). Default is OFF. +.TP +.B verbatim_begin_regex +A regular expression that tin will use to find the begin of a verbatim block. +Default is #v+ +.TP +.B verbatim_end_regex +A regular expression that tin will use to find the end of a verbatim block. +Default is #v- +.TP +.B verbatim_handling +If ON verbatim blocks will be detected. +Default is ON +.TP .B wildcard Allows you to select how .BR tin (1) @@ -2049,7 +2225,7 @@ using the wildmat notation. .B word_h_display_marks Should the leading and ending stars, slashes, strokes and dashes also be displayed, even when they are highlighting marks? -.RS +.5i +.RS +1i .IP 0 3 \fBno\fP .IP 1 @@ -2094,8 +2270,8 @@ set. .RS Yet another global configuration file with "\fIvariable\fR=\fIvalue\fR" pairs. This one is for the more general options which usually can't be -controlled via \fI${TIN_LIBDIR\-NEWSLIBDIR}/tinrc\fR and/or -\fI${TIN_HOMEDIR\-"$HOME"}/.tin/tinrc\fR like resetting (to override the +controlled via \fI${TIN_LIBDIR:\-NEWSLIBDIR}/tinrc\fR and/or +\fI${TIN_HOMEDIR:\-"$HOME"}/.tin/tinrc\fR like resetting (to override the built-in default) the \fInewslibdir\fR. .TP .B domainname @@ -2122,22 +2298,22 @@ Defines the directory containing of the executable .TP .B mm_charset -Default charset to be used in MIME's Content-Type header. $\fBMM_CHARSET\fP +Default charset to be used in MIME's ''Content\-Type:'' header. $\fBMM_CHARSET\fP overrides any specified value. .TP .B post_mime_encoding Default encoding scheme use in MIME articles. 8bit might be the best value. .TP .B mail_mime_encoding -Default encoding scheme use in MIME letters. quoted-printable is a good +Default encoding scheme use in MIME letters. quoted\-printable is a good choice here. .TP .B disable_gnksa_domain_check Allow unregistered top level domains .TP .B disable_sender -Don't generate a ''Sender:''-header. This has no effect if -\fBinews_prog\fP is not set to \-\-internal. +Don't generate a ''Sender:'' header. This has an effect only if +\fBinews_prog\fP is set to \-\-internal. .TP .B spooldir Base of your newsspool (Bnews, Cnews and INN traditional spool style), common @@ -2156,6 +2332,11 @@ overrides any specified value. Name of a single overview file, common values are \fI.overview\fR, \fIover.view\fR. .TP +.B overviewfmtfile +Full pathname of your newssystem's overview.fmt file; usually the +overview.fmt file is in \fInewslibdir\fR, so you only have to change this +setting if your configuration differs. +.TP .B activefile Full pathname of your newssystem's active file; usually the active file resides in \fInewslibdir\fR and is named \fIactive\fR, so you only have @@ -2179,7 +2360,7 @@ setting if your configuration differs. .RE .PP -.IR /usr/local/share/locale/${LC_MESSAGES}/LC_MESSAGES/tin.mo +.IR /usr/local/share/locale/$LC_MESSAGES/LC_MESSAGES/tin.mo .sp .RS translation into language specified in $\fBLC_ALL\fP, $\fBLC_MESSAGES\fP or @@ -2191,7 +2372,7 @@ $\fBLANG\fP .\" as with inn >= 2.2.x getting more and more popular .\" we should think about checking for the new Paths .\" (described shown below). -.IR ${TIN_LIBDIR\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE\-active} +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}"/"${TIN_ACTIVEFILE:\-active} .sp .RS This file lists the newsgroups that the local site receives. Each newsgroup @@ -2247,11 +2428,11 @@ articles are locally filed into the ''fo only tries to read the file if you read directly from the local spool, if you read news via NNTP, .BR tin (1) -uses the LIST (\fBRFC977\fP) command instead. +uses the LIST (\fBRFC3977\fP) command instead. .RE .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/active.times +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/active.times .sp .RS This file provides a chronological record of when newsgroups are created. It @@ -2274,11 +2455,11 @@ is the electronic mail address of the pe only tries to read the file if you read directly from the local spool, if you read news via NNTP, .BR tin (1) -uses the NEWGROUPS (\fBRFC977\fP) command instead. +uses the NEWGROUPS (\fBRFC3977\fP) command instead. .RE .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/newsgroups +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/newsgroups .sp .RS This file provides short descriptions of each newsgroup. It is normally @@ -2297,11 +2478,11 @@ is a short single-line description of th only tries to read the file if you read directly from the local spool, if you read news via NNTP, .BR tin (1) -uses the LIST NEWSGROUPS (\fBRFC2980\fP) command instead. +uses the LIST NEWSGROUPS (\fBRFC3977\fP) command instead. .RE .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/organization +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/organization .sp .RS This file specifies might hold a default organization to be used @@ -2310,7 +2491,7 @@ if set. .RE .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/overview.fmt +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/overview.fmt .\" is the Path correct? or is it /news/etc/overview.fmt .sp .RS @@ -2318,30 +2499,28 @@ This file specifies the organization of also .BR newsoverview (5)). The order of lines in this file is important; it determines the order in -which the fields will appear in the database. -.BR tin (1) -currently only understands the order specified in \fBRFC2980\fP. See also +which the fields will appear in the database. See also .BR overview.fmt (5). .BR tin (1) only tries to read the file if you read directly from the local spool, if you read news via NNTP, .BR tin (1) -uses the LIST OVERVIEW.FMT (\fBRFC2980\fP) command instead. +uses the LIST OVERVIEW.FMT (\fBRFC3977\fP) command instead. .RE .PP -.IR ${TIN_LIBDIR\-NEWSLIBDIR}/subscriptions +.IR ${TIN_LIBDIR:\-NEWSLIBDIR}/subscriptions .\" is the Path correct? or is it /news/etc/subscriptions .sp .RS This file contains a list of newsgroups - one per line - which the client -should subscribe to when the user has no ${TIN_HOMEDIR\-"$HOME"}/.newsrc for +should subscribe to when the user has no ${TIN_HOMEDIR:\-"$HOME"}/.newsrc for the newsserver. .BR tin (1) only tries to read the file if you read directly from the local spool, if you read news via NNTP, .BR tin (1) -uses the LIST SUBSCRIPTIONS (\fBRFC2980\fP) command instead. +uses the LIST SUBSCRIPTIONS (\fBRFC6048\fP) command instead. .RE .PP @@ -2372,12 +2551,15 @@ uses the LIST SUBSCRIPTIONS (\fBRFC2980\ .BR newsoverview (5), .BR overview.fmt (5), .BR innd (8), -.BR RFC977 , -.BR RFC1036 , .BR RFC1524 , .BR RFC2045 , .BR RFC2046 , .BR RFC2047 , .BR RFC2048 , -.BR RFC2822 , -.BR RFC2980 +.BR RFC2980 , +.BR RFC3977 , +.BR RFC4643 , +.BR RFC5322 , +.BR RFC5536 , +.BR RFC5537 , +.BR RFC6048 diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/tin.defaults tin-2.0.0/doc/tin.defaults --- tin-1.8.3/doc/tin.defaults 2005-06-28 10:31:20.000000000 +0200 +++ tin-2.0.0/doc/tin.defaults 2011-05-29 17:32:33.654744288 +0200 @@ -1,5 +1,5 @@ # -# TIN 1.5 - a threaded newsreader +# TIN 1.9.4 - a threaded newsreader # # tin.defaults - set some machine specified options # and override compile time defaults @@ -116,6 +116,14 @@ # #overviewfile=.overview +# overviewfmtfile - the full pathname of your newssystem's +# overview.fmt file +# +# usually the overview.fmt file is in newslibdir, so you only have +# to change this setting if your configuration differs +# +#overviewfmtfile=/usr/lib/news/overview.fmt + # activefile - the full pathname of your newssystem's active file # # usually the active file is in newslibdir, so you only have @@ -140,7 +148,7 @@ # subscriptionsfile - the full pathname of your newssystem's # subscriptions file # -# usually the newsgroups file is in newslibdir, so you only have +# usually the subscriptionsfile file is in newslibdir, so you only have # to change this setting if your configuration differs # #subscriptionsfile=/usr/lib/news/subscriptions diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/tinews.1 tin-2.0.0/doc/tinews.1 --- tin-1.8.3/doc/tinews.1 2005-06-28 10:31:20.000000000 +0200 +++ tin-2.0.0/doc/tinews.1 2011-08-10 09:46:29.727581270 +0200 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13 +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 .\" .\" Standard preamble: .\" ======================================================================== @@ -128,8 +128,8 @@ .rm #[ #] #H #V #F C .\" ======================================================================== .\" -.IX Title "TINEWS 1" -.TH TINEWS 1 "January 30th, 2004" "1.1.6" "Post and sign an article via NNTP" +.IX Title "tinews.pl 1" +.TH tinews.pl 1 "September 23rd, 2007" "1.1.20" "Post and sign an article via NNTP" .SH "NAME" tinews.pl \- Post and sign an article via NNTP .SH "SYNOPSIS" @@ -143,6 +143,9 @@ tinews.pl \- Post and sign an article vi If the article contains To:, Cc: or Bcc: headers and mail-actions are configured it will automatically add a \*(L"Posted\-And\-Mailed: yes\*(R" header to the article and send out the mail\-copies. +.PP +If a Cancel-Lock secret file is defined it will automatically add a +Cancel\-Lock: (and Cancel\-Key: if required) header. .SH "OPTIONS" .IX Header "OPTIONS" .ie n .IP "\-\fBa\fR ""Approved""\fR | \-\-\fBapproved\fR \f(CW""Approved""" 4 @@ -181,6 +184,9 @@ use \f(CW\*(C`port\*(C'\fR as NNTP-port .el .IP "\-\fBr\fR \f(CWReply\-To\fR | \-\-\fBreplyto\fR \f(CWReply\-To\fR" 4 .IX Item "-r Reply-To | --replyto Reply-To" Set the article header field Reply\-To: to the given value. +.IP "\-\fBs\fR \fIdirectory\fR | \-\-\fBsavedir\fR \fIdirectory\fR" 4 +.IX Item "-s directory | --savedir directory" +Save signed article to directory \fIdirectory\fR instead of posting. .ie n .IP "\-\fBt\fR ""Subject""\fR | \-\-\fBsubject\fR \f(CW""Subject""" 4 .el .IP "\-\fBt\fR \f(CWSubject\fR | \-\-\fBsubject\fR \f(CWSubject\fR" 4 .IX Item "-t Subject | --subject Subject" @@ -196,15 +202,21 @@ Set the article header field Path: to th .IP "\-\fBH\fR | \-\-\fBhelp\fR" 4 .IX Item "-H | --help" Show help\-page. +.IP "\-\fBL\fR | \-\-\fBno-canlock\fR" 4 +.IX Item "-L | --no-canlock" +Do not add Cancel\-Lock: / Cancel\-Key: headers. .IP "\-\fBR\fR | \-\-\fBno-control\fR" 4 .IX Item "-R | --no-control" Restricted mode, disallow control\-messages. .IP "\-\fBS\fR | \-\-\fBno-signature\fR" 4 .IX Item "-S | --no-signature" -Do not append \fI$HOME/.signature\fR +Do not append \fI$HOME/.signature\fR. .IP "\-\fBX\fR | \-\-\fBno-sign\fR" 4 .IX Item "-X | --no-sign" Do not sign the article. +.IP "\-\fBY\fR | \-\-\fBforce-auth\fR" 4 +.IX Item "-Y | --force-auth" +Force authentication on connect even if not required by the server. .IP "\-\fBA\fR \-\fBV\fR \-\fBW\fR" 4 .IX Item "-A -V -W" These options are accepted for compatibility reasons but ignored. @@ -220,15 +232,12 @@ These options are accepted but do not ha .SH "EXIT STATUS" .IX Header "EXIT STATUS" The following exit values are returned: -.RS 4 .IP "\ 0" 4 .IX Item "0" Successful completion. .IP "!=0" 4 .IX Item "!=0" An error occurred. -.RE -.RS 4 .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" .IP "\fB$NNTPSERVER\fR" 4 @@ -266,24 +275,35 @@ command-line option overrides \fB$ORGANI Set the article header field Distribution: to the contents of the variable if there isn't already a Distribution: header in the article. The '\-\fBd\fR' command-line option overrides \fB$DISTRIBUTION\fR. -.RE -.RS 4 .SH "FILES" .IX Header "FILES" .IP "\fIpgptmp.txt\fR" 4 .IX Item "pgptmp.txt" -Temporary file used to store the reformatted article +Temporary file used to store the reformatted article. .IP "\fIpgptmp.txt.asc\fR" 4 .IX Item "pgptmp.txt.asc" -Temporary file used to store the reformatted and signed article +Temporary file used to store the reformatted and signed article. .IP "\fI$PGPPASSFILE\fR" 4 .IX Item "$PGPPASSFILE" The passphrase file to be used for \fBpgp\fR(1) or \fBgpg\fR(1). .IP "\fI$HOME/.signature\fR" 4 .IX Item "$HOME/.signature" -Signature-file which will be automatically included. -.RE -.RS 4 +Signature file which will be automatically included. +.IP "\fI$HOME/.cancelsecret\fR" 4 +.IX Item "$HOME/.cancelsecret" +The passphrase file to be used for Cancel\-Locks. This feature is turned +off by default. +.IP "\fI$HOME/.newsauth\fR" 4 +.IX Item "$HOME/.newsauth" +\&\*(L"nntpserver password [user]\*(R" pairs for \s-1NNTP\s0 servers that require +authorization. Any line that starts with \*(L"#\*(R" is a comment. Blank lines are +ignored. This file should be readable only for the user as it contains the +user's uncrypted password for reading news. +.IP "\fI$HOME/.tinewsrc\fR" 4 +.IX Item "$HOME/.tinewsrc" +\&\*(L"option=value\*(R" configuration pairs. Lines that start with \*(L"#\*(R" are ignored. +If the file contains uncrypted passwords (e.g. NNTPPass or PGPPass), it +should be only readable for the user. .SH "SECURITY" .IX Header "SECURITY" If you've configured or entered a password, even if the variable that @@ -294,15 +314,20 @@ security is an issue, don't use this scr .IX Header "NOTES" \&\fBtinews.pl\fR is designed to be used with \fBpgp\fR(1)\-2.6.3, \&\fBpgp\fR(1)\-5 and \fBgpg\fR(1). -.Sp +.PP \&\fBtinews.pl\fR requires the following standard modules to be installed: \&\fBGetopt::Long\fR(3pm), \fBNet::NNTP\fR(3pm), \fBTime::Local\fR(3pm) and \&\fBTerm::Readline\fR(3pm). +.PP +If the Cacenl-Lock feature is enabled the following additional modules +must be installed: \fBMIME::Base64\fR(3pm), \fBDigest::SHA1\fR(3pm) and +\&\fBDigest::HMAC_SHA1\fR(3pm) .SH "AUTHOR" .IX Header "AUTHOR" Urs Janssen , Marc Brockschmidt .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fBpgp\fR(1), \fBgpg\fR(1), \fBpgps\fR(1), \fBGetopt::Long\fR(3pm), \fBNet::NNTP\fR(3pm), -\&\fBTime::Local\fR(3pm), \fBTerm::Readline\fR(3pm) +\&\fBpgp\fR(1), \fBgpg\fR(1), \fBpgps\fR(1), \fBDigest::HMAC_SHA1\fR(3pm), +\&\fBDigest::SHA1\fR(3pm), \fBGetopt::Long\fR(3pm), \fBMIME::Base64\fR(3pm), +\&\fBNet::NNTP\fR(3pm), \fBTime::Local\fR(3pm), \fBTerm::Readline\fR(3pm) diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/tools.txt tin-2.0.0/doc/tools.txt --- tin-1.8.3/doc/tools.txt 2005-06-28 10:31:20.000000000 +0200 +++ tin-2.0.0/doc/tools.txt 2011-04-17 16:04:27.754662463 +0200 @@ -41,9 +41,14 @@ metamutt in version. url_handler.sh - is a shell script (need to be placed in /usr/local/bin/) which - passes the URL selected by the 'U' command to a related - viewer/application. this one is very basic. + is a shell script (need to be placed in $PATH) which passes the URL + selected by the 'U' command to a related viewer/application. this + one is very basic. + +url_handler.pl + is a perl script (need to be placed in $PATH) which passes the URL + selected by the 'U' command to a related viewer/application. the + perl version has full $BROWSER support. expand_aliases.tgz is a small c-source which reads you elm-aliasfile, translates the diff -Nurp --exclude='.bzr*' tin-1.8.3/doc/url_handler.1 tin-2.0.0/doc/url_handler.1 --- tin-1.8.3/doc/url_handler.1 1970-01-01 01:00:00.000000000 +0100 +++ tin-2.0.0/doc/url_handler.1 2011-05-03 15:23:21.231249224 +0200 @@ -0,0 +1,205 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "url_handler.pl 1" +.TH url_handler.pl 1 "May 3rd, 2011" "0.1.0" "Spawn appropriate viewer for a given URL" +.SH "NAME" +url_handler.pl \- Spawn appropriate viewer for a given URL +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBurl_handler.pl\fR \fI\s-1URL\s0\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBurl_handler.pl\fR takes an \s-1URL\s0 as argument and spawns the first executable +viewer found in either \fB$BROWSER_\f(BI\s-1SCHEME\s0\fB\fR or \fB$BROWSER\fR. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +.IP "\fB$BROWSER_\f(BI\s-1SCHEME\s0\fB\fR" 4 +.IX Item "$BROWSER_SCHEME" +The user's preferred utility to browse URLs of tye \fI\s-1SCHEME\s0\fR. May actually +consist of a sequence of colon-separated browser commands to be tried in +order until one succeeds. If a command part contains \f(CW%s\fR, the \s-1URL\s0 is +substituted there, otherwise the browser command is simply called with the +\&\s-1URL\s0 as its last argument. %% is replaced by a single percent sign (%), and +\&\f(CW%c\fR is replaced by a colon (:). +Examples: +.RS 4 +.ie n .IP "$BROWSER_FTP=""wget:ncftp""" 4 +.el .IP "$BROWSER_FTP=``wget:ncftp''" 4 +.IX Item "$BROWSER_FTP=wget:ncftp" +.PD 0 +.ie n .IP "$BROWSER_GOPHER=""lynx:links""" 4 +.el .IP "$BROWSER_GOPHER=``lynx:links''" 4 +.IX Item "$BROWSER_GOPHER=lynx:links" +.ie n .IP "$BROWSER_MAILTO=""mutt:pine \-url""" 4 +.el .IP "$BROWSER_MAILTO=``mutt:pine \-url''" 4 +.IX Item "$BROWSER_MAILTO=mutt:pine -url" +.ie n .IP "$BROWSER_NEWS=""lynx""" 4 +.el .IP "$BROWSER_NEWS=``lynx''" 4 +.IX Item "$BROWSER_NEWS=lynx" +.ie n .IP "$BROWSER_NNTP=""lynx""" 4 +.el .IP "$BROWSER_NNTP=``lynx''" 4 +.IX Item "$BROWSER_NNTP=lynx" +.RE +.RS 4 +.PD +.Sp +\&\& +.RE +.IP "\fB$BROWSER\fR" 4 +.IX Item "$BROWSER" +The user's preferred utility to browse URLs for which there is no special +viewer defined via \fB$BROWSER_\f(BI\s-1SCHEME\s0\fB\fR. Again it may actually consist of a +sequence of colon-separated browser commands to be tried in order until one +succeeds. If a command part contains \f(CW%s\fR, the \s-1URL\s0 is substituted there, +otherwise the browser command is simply called with the \s-1URL\s0 as its last +argument. %% is replaced by a single percent sign (%), and \f(CW%c\fR is replaced +by a colon (:). +Examples: +.RS 4 +.ie n .IP "$BROWSER=""firefox \-a firefox \-remote openURL\e(%s\e):opera:konqueror:links2 \-g:lynx:w3m""" 2 +.el .IP "$BROWSER=``firefox \-a firefox \-remote openURL\e(%s\e):opera:konqueror:links2 \-g:lynx:w3m''" 2 +.IX Item "$BROWSER=firefox -a firefox -remote openURL):opera:konqueror:links2 -g:lynx:w3m" +.RE +.RS 4 +.SH "SECURITY" +.IX Header "SECURITY" +\&\fBurl_handler.pl\fR was designed to work together with \fBtin\fR(1) which only +issues shell escaped absolute URLs thus \fBurl_handler.pl\fR does not try hard +to shell escape its input nor does it convert relative URLs into absolute +ones! If you use \fBurl_handler.pl\fR from other applications be sure to at +least shell escaped its input! +.SH "AUTHOR" +.IX Header "AUTHOR" +Urs Janssen +.SH "SEE ALSO" +.IX Header "SEE ALSO" +http://www.catb.org/~esr/BROWSER/ +http://www.dwheeler.com/browse/secure_browser.html diff -Nurp --exclude='.bzr*' tin-1.8.3/include/autoconf.hin tin-2.0.0/include/autoconf.hin --- tin-1.8.3/include/autoconf.hin 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/autoconf.hin 2011-08-10 21:41:26.116895890 +0200 @@ -3,10 +3,10 @@ * Module : autoconf.hin * Author : Thomas Dickey * Created : 1995-08-24 - * Updated : 2005-07-16 + * Updated : 2011-08-07 * Notes : #include files, #defines & struct's * - * Copyright (c) 1995-2006 Thomas Dickey + * Copyright (c) 1995-2011 Thomas Dickey * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -39,7 +39,7 @@ # define TIN_AUTOCONF_H /* Package and version */ -# undef PACKAGE +# undef NLS_TEXTDOMAIN # undef VERSION # undef SYSTEM_NAME @@ -95,7 +95,6 @@ # undef HAVE_FASCIST_NEWSADMIN # undef INEWSDIR # undef PATH_INEWS -# undef INN_NNTPLIB # undef MIME_BREAK_LONG_LINES # undef MIME_STRICT_CHARSET # undef MM_CHARSET @@ -109,7 +108,6 @@ # undef OVERVIEW_FILE # undef SOCKS # undef SPOOLDIR -# undef USE_INN_NNTPLIB # undef USE_INVERSE_HACK # undef USE_SOCKS4_PREFIX # undef USE_SOCKS5 @@ -127,6 +125,10 @@ # undef HAVE_GPG # undef HAVE_SUM +/* slrnface */ +# undef HAVE_SLRNFACE +# undef PATH_SLRNFACE + /* * Compiler characteristics */ @@ -164,6 +166,7 @@ # undef HAVE_FCNTL_H # undef HAVE_GETOPT_H # undef HAVE_ICONV_H +# undef HAVE_INTTYPES_H # undef HAVE_IOCTL_H # undef HAVE_LANGINFO_H # undef HAVE_LIBC_H @@ -188,6 +191,7 @@ # undef HAVE_STDARG_H # undef HAVE_STDBOOL_H # undef HAVE_STDDEF_H +# undef HAVE_STDINT_H # undef HAVE_STDLIB_H # undef HAVE_STRINGS_H # undef HAVE_STRING_H @@ -228,6 +232,7 @@ * The following are defined by the configure script if the corresponding * function is found in a library. */ +# undef HAVE_ALARM # undef HAVE_ATOI # undef HAVE_ATOL # undef HAVE_BCOPY @@ -240,6 +245,7 @@ # undef HAVE_FORK # undef HAVE_FTIME # undef HAVE_FTRUNCATE +# undef HAVE_FSYNC # undef HAVE_GAI_STRERROR # undef HAVE_GETADDRINFO # undef HAVE_GETCWD @@ -284,6 +290,7 @@ # undef HAVE_STRFTIME # undef HAVE_STRNCASECMP # undef HAVE_STRPBRK +# undef HAVE_STRRCHR # undef HAVE_STRRSTR # undef HAVE_STRSEP # undef HAVE_STRSTR @@ -318,6 +325,7 @@ # undef DECL_STRCASESTR # undef DECL_STRSEP # undef DECL_SYS_ERRLIST +# undef DECL_TMPFILE # undef DECL_TGETSTR # undef DECL_TGOTO # undef DECL_TIGETSTR @@ -326,6 +334,7 @@ * The following are functions that we'll optionally prototype (to stifle * warnings, etc., for development/testing). */ +# undef DECL_ALARM # undef DECL_ATOI # undef DECL_ATOL # undef DECL_BCOPY @@ -348,7 +357,6 @@ # undef DECL_GETCWD # undef DECL_GETHOSTNAME # undef DECL_GETOPT -# undef DECL_GETPASS # undef DECL_GETWD # undef DECL_INET_ADDR # undef DECL_INET_ATON @@ -377,6 +385,7 @@ # undef DECL_STRCHR # undef DECL_STRFTIME # undef DECL_STRNCASECMP +# undef DECL_STRRCHR # undef DECL_STRTOL # undef DECL_SYSTEM # undef DECL_TGETENT @@ -450,7 +459,7 @@ # undef DECL_SIG_CONST -/* FIXME: remove absolut-paths! */ +/* FIXME: remove absolute-paths! */ /* * Program-paths (i.e., the invocation-path) */ @@ -579,7 +588,7 @@ # undef TIN_DEFAULTS_DIR /* - * define if second and thrid argument of setvbuf() are swapped + * define if second and third argument of setvbuf() are swapped * (System V before Release 3) */ # undef SETVBUF_REVERSED @@ -607,6 +616,16 @@ */ # undef IGNORE_SYSTEM_STATUS +/* + * generate Cancel-Locks + */ +# undef USE_CANLOCK + +/* + * use libgsasl for AUTH + */ +# undef USE_SASL + # undef HAVE_COFFEE /* @@ -859,11 +878,22 @@ Added missing headers after gettext upda # undef X_DISPLAY_MISSING /* - * TODO: define if: - * !X_DISPLAY_MISSING && !DONT_HAVE_PIPING && - * HAVE_MKFIFO && HAVE_FORK && HAVE_EXECLP && HAVE_WAITPID - * [&& HAVE_SLRNFACE if we add a check or a configure option for that ] + * define if you don't want to use file-locking (fcntl/flock/lockf/dotlock) + * TODO: add --disable-file-locking switch and rename + */ +# undef NO_LOCKING + +/* + * define if you can't chmod go-r + * TODO: write configure check and find a better name + */ +# undef FILE_MODE_BROKEN + + +/* + * define if newsserver can't handle pipelined (streamed) commands + * TODO: write configure option */ -# undef XFACE_ABLE +# undef DISABLE_PIPELINING #endif /* !TIN_AUTOCONF_H */ diff -Nurp --exclude='.bzr*' tin-1.8.3/include/bool.h tin-2.0.0/include/bool.h --- tin-1.8.3/include/bool.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/bool.h 2011-04-17 16:04:29.338903550 +0200 @@ -3,10 +3,10 @@ * Module : bool.h * Author : Urs Janssen * Created : - * Updated : 2003-05-16 + * Updated : 2009-11-24 * Notes : * - * Copyright (c) 1997-2006 Urs Janssen + * Copyright (c) 1997-2011 Urs Janssen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -75,13 +75,8 @@ # endif /* 0 */ - extern /*@unused@*/ t_bool bool_equal (t_bool, t_bool) /*@*/ ; # define bool_equal(a,b) ((a) ? (b) : !(b)) - - extern /*@unused@*/ t_bool bool_not (t_bool) /*@*/ ; # define bool_not(b) ((b) ? FALSE : TRUE) - - extern /*@unused@*/ /*@observer@*/ char *bool_unparse (t_bool) /*@*/ ; # define bool_unparse(b) ((b) ? "TRUE" : "FALSE") #endif /* !BOOL_H */ diff -Nurp --exclude='.bzr*' tin-1.8.3/include/bugrep.h tin-2.0.0/include/bugrep.h --- tin-1.8.3/include/bugrep.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/bugrep.h 2011-04-17 16:04:29.382910248 +0200 @@ -3,10 +3,10 @@ * Module : bugrep.h * Author : Urs Janssen * Created : 1997-07-30 - * Updated : 2003-09-19 + * Updated : 2006-02-15 * Notes : * - * Copyright (c) 1997-2006 Urs Janssen + * Copyright (c) 1997-2011 Urs Janssen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,10 +42,6 @@ # define BUG_REPORT_ADDRESS "tin-bugs@tin.org" # endif /* M_UNIX */ -# ifdef VMS -# define BUG_REPORT_ADDRESS "stenns@vw.tci.uni-hannover.de" -# endif /* VMS */ - /* fallback */ # ifndef BUG_REPORT_ADDRESS # define BUG_REPORT_ADDRESS "tin-bugs@tin.org" diff -Nurp --exclude='.bzr*' tin-1.8.3/include/debug.h tin-2.0.0/include/debug.h --- tin-1.8.3/include/debug.h 1970-01-01 01:00:00.000000000 +0100 +++ tin-2.0.0/include/debug.h 2011-04-17 16:04:29.422916335 +0200 @@ -0,0 +1,59 @@ +/* + * Project : tin - a Usenet reader + * Module : debug.h + * Author : Urs Janssen + * Created : + * Updated : 2008-12-12 + * Notes : + * + * Copyright (c) 2007-2011 Urs Janssen + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote + * products derived from this software without specific prior written + * permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +#ifndef DEBUG_H +# define DEBUG_H 1 + +# ifdef NNTP_ABLE +# define DEBUG_NNTP 0x01 /* 1 */ +# else +# define DEBUG_NNTP 0x00 /* disabled */ +# endif /* NNTP_ABLE */ +# define DEBUG_FILTER 0x02 /* 2 */ +# define DEBUG_NEWSRC 0x04 /* 4 */ +# define DEBUG_REFS 0x08 /* 8 */ +# define DEBUG_MEM 0x10 /* 16 */ +# define DEBUG_ATTRIB 0x20 /* 32 */ +# define DEBUG_MISC 0x40 /* 64 */ +# define DEBUG_ALL 0x7f /* 127 */ + +# if 0 /* this is very noisy */ +# define DEBUG_IO(x) fprintf x +# else +# define DEBUG_IO(x) /* nothing */ +# endif /* 0 */ +#endif /* !DEBUG_H */ diff -Nurp --exclude='.bzr*' tin-1.8.3/include/extern.h tin-2.0.0/include/extern.h --- tin-1.8.3/include/extern.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/extern.h 2011-08-07 01:31:24.484441710 +0200 @@ -3,10 +3,10 @@ * Module : extern.h * Author : I. Lea * Created : 1991-04-01 - * Updated : 2005-10-19 + * Updated : 2011-08-07 * Notes : * - * Copyright (c) 1997-2006 Iain Lea + * Copyright (c) 1997-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -57,6 +57,9 @@ #ifdef DECL__FLSBUF extern int _flsbuf(int, FILE *); #endif /* DECL__FLSBUF */ +#ifdef DECL_ALARM + extern unsigned alarm(unsigned); +#endif /* DECL_ALARM */ #ifdef DECL_ATOI extern int atoi(const char *); #endif /* DECL_ATOI */ @@ -135,9 +138,6 @@ #ifdef DECL_GETOPT extern int getopt(int, char * const*, const char *); #endif /* DECL_GETOPT */ -#ifdef DECL_GETPASS - extern char *getpass(const char *); -#endif /* DECL_GETPASS */ #ifdef DECL_GETPWNAM extern struct passwd *getpwnam(const char *); #endif /* DECL_GETPWNAM */ @@ -227,20 +227,28 @@ #endif /* DECL_STRCASECMP */ #ifdef DECL_STRCHR extern char *strchr(const char *, int); - extern char *strrchr(const char *, int); #endif /* DECL_STRCHR */ +#ifdef DECL_STRRCHR + extern char *strrchr(const char *, int); +#endif /* DECL_STRRCHR */ #ifdef DECL_STRFTIME extern int strftime(char *, int, char *, struct tm *); #endif /* DECL_STRFTIME */ #ifdef DECL_STRNCASECMP extern int strncasecmp(const char *, const char *, size_t); #endif /* DECL_STRNCASECMP */ +#ifdef DECL_STRSEP + extern char *strsep(char **, const char *); +#endif /* DECL_STRSEP */ #ifdef DECL_STRTOL extern long strtol(const char *, char **, int); #endif /* DECL_STRTOL */ #ifdef DECL_SYSTEM extern int system(const char *); #endif /* DECL_SYSTEM */ +#ifdef DECL_TMPFILE + extern FILE *tmpfile(void); +#endif /* DECL_TMPFILE */ #ifdef DECL_TGETENT extern int tgetent(char *, char *); #endif /* DECL_TGETENT */ @@ -263,7 +271,7 @@ extern int tigetnum(char *); #endif /* DECL_TGETNUM */ #ifdef DECL_TIGETSTR - extern char *tigetstr(char *, char **); + extern char *tigetstr(char *); #endif /* DECL_TIGETSTR */ #ifdef DECL_TIME extern time_t time(time_t *); @@ -299,9 +307,13 @@ #endif /* DECL_VSPRINTF */ #endif /* 0 */ - -extern int optind; -extern char *optarg; +#ifdef __CYGWIN__ + extern int __declspec(dllimport) optind; + extern char __declspec(dllimport) *optarg; +#else + extern int optind; + extern char *optarg; +#endif /* __CYGWIN__ */ /* * Local variables @@ -327,8 +339,6 @@ extern char *optarg; # define txt_help_thd_C txt_help_thd_BIGC #endif /* CASE_PROBLEM */ -extern char **news_headers_to_display_array; -extern char **news_headers_to_not_display_array; extern char *OPT_CHAR_list[]; extern char *OPT_STRING_list[]; extern char *nntp_server; @@ -337,7 +347,6 @@ extern char article_name[PATH_LEN]; extern char bug_addr[LEN]; extern char bug_nntpserver1[PATH_LEN]; extern char bug_nntpserver2[PATH_LEN]; -extern char cmdline_nntpserver[PATH_LEN]; extern char cvers[LEN]; extern char dead_article[PATH_LEN]; extern char dead_articles[PATH_LEN]; @@ -350,7 +359,6 @@ extern char index_maildir[PATH_LEN]; extern char index_newsdir[PATH_LEN]; extern char index_savedir[PATH_LEN]; extern char inewsdir[PATH_LEN]; -extern char libdir[PATH_LEN]; extern char local_attributes_file[PATH_LEN]; extern char local_config_file[PATH_LEN]; extern char filter_file[PATH_LEN]; @@ -381,6 +389,7 @@ extern char rcdir[PATH_LEN]; extern char save_active_file[PATH_LEN]; extern char spooldir[PATH_LEN]; extern char subscriptions_file[PATH_LEN]; +extern char overviewfmt_file[PATH_LEN]; extern char txt_help_bug_report[LEN]; extern char userid[PATH_LEN]; @@ -391,10 +400,12 @@ extern const char base64_alphabet[64]; extern constext *content_encodings[]; extern constext *content_types[]; extern constext *txt_attrs[]; +extern constext *txt_auto_cc_bcc_options[]; #ifdef HAVE_COLOR extern constext *txt_colors[]; #endif /* HAVE_COLOR */ extern constext *txt_confirm_choices[]; +extern constext *txt_goto_next_unread_options[]; extern constext *txt_hide_uue_type[]; extern constext *txt_interactive_mailers[]; extern constext *txt_kill_level_type[]; @@ -409,7 +420,8 @@ extern constext *txt_mime_encodings[]; extern constext *txt_normalization_forms[]; #endif /* HAVE_UNICODE_NORMALIZATION */ extern constext *txt_onoff[]; -extern constext *txt_post_process_type[]; +extern constext *txt_post_process_types[]; +extern constext *txt_quick_ks_header_options[]; extern constext *txt_quote_style_type[]; extern constext *txt_show_from[]; extern constext *txt_show_info_type[]; @@ -418,6 +430,7 @@ extern constext *txt_sort_t_type[]; /* t extern constext *txt_strip_bogus_type[]; extern constext *txt_threading[]; extern constext *txt_thread_score_type[]; +extern constext *txt_trim_article_body_options[]; extern constext *txt_wildcard_type[]; extern constext txt_1_resp[]; extern constext txt_7bit[]; @@ -427,7 +440,6 @@ extern constext txt_all[]; extern constext txt_all_groups[]; extern constext txt_append_overwrite_quit[]; extern constext txt_art_cancel[]; -extern constext txt_art_cannot_cancel[]; extern constext txt_art_newsgroups[]; extern constext txt_art_not_posted[]; extern constext txt_art_not_saved[]; @@ -439,6 +451,7 @@ extern constext txt_art_posted[]; extern constext txt_art_rejected[]; extern constext txt_art_thread_regex_tag[]; extern constext txt_art_unavailable[]; +extern constext txt_art_x_of_n[]; extern constext txt_article_cancelled[]; extern constext txt_article_plural[]; extern constext txt_article_reposted[]; @@ -451,16 +464,31 @@ extern constext txt_articles_mailed[]; extern constext txt_attach[]; extern constext txt_attach_charset[]; extern constext txt_attach_description[]; +extern constext txt_attachment_lines[]; +extern constext txt_attachment_menu[]; +extern constext txt_attachment_menu_com[]; +extern constext txt_attachment_no_name[]; +extern constext txt_attachment_saved[]; +extern constext txt_attachments_saved[]; +extern constext txt_attachment_select[]; +extern constext txt_attachment_tagged[]; +extern constext txt_attachments_tagged[]; +extern constext txt_attachment_untagged[]; +extern constext txt_attach_unsup_charset[]; +extern constext txt_attrib_menu_com[]; extern constext txt_uue[]; extern constext txt_at_s[]; -extern constext txt_auth_failed[]; -extern constext txt_auth_pass[]; -extern constext txt_auth_user[]; -extern constext txt_auth_needed[]; +#ifdef NNTP_ABLE + extern constext txt_auth_failed[]; + extern constext txt_auth_failed_nopass[]; + extern constext txt_auth_pass[]; + extern constext txt_auth_user[]; + extern constext txt_auth_needed[]; + extern constext txt_authorization_fail[]; + extern constext txt_authorization_ok[]; +#endif /* NNTP_ABLE */ extern constext txt_author_search_backwards[]; extern constext txt_author_search_forwards[]; -extern constext txt_authorization_fail[]; -extern constext txt_authorization_ok[]; extern constext txt_autoselecting_articles[]; extern constext txt_autosubscribed[]; extern constext txt_autosubscribing_groups[]; @@ -473,14 +501,19 @@ extern constext txt_base_article[]; extern constext txt_base_article_range[]; extern constext txt_batch_update_unavail[]; extern constext txt_begin_of_art[]; -extern constext txt_caching_off[]; -extern constext txt_caching_on[]; +extern constext txt_begin_of_page[]; +#ifdef NNTP_ABLE + extern constext txt_caching_off[]; + extern constext txt_caching_on[]; +#endif /* NNTP_ABLE */ extern constext txt_cancel_article[]; extern constext txt_cancelling_art[]; extern constext txt_cannot_create[]; extern constext txt_cannot_create_uniq_name[]; extern constext txt_cannot_find_base_art[]; -extern constext txt_cannot_get_nntp_server_name[]; +#ifdef NNTP_ABLE + extern constext txt_cannot_get_nntp_server_name[]; +#endif /* NNTP_ABLE */ #if !defined(USE_CURSES) && defined(M_UNIX) && !defined(USE_TERMINFO) extern constext txt_cannot_get_term_entry[]; #endif /* !USE_CURSES && M_UNIX && !USE_TERMINFO */ @@ -488,7 +521,9 @@ extern constext txt_cannot_open[]; extern constext txt_cannot_open_for_saving[]; extern constext txt_cannot_post[]; extern constext txt_cannot_post_group[]; -extern constext txt_cannot_retrieve[]; +#ifdef NNTP_ABLE + extern constext txt_cannot_retrieve[]; +#endif /* NNTP_ABLE */ extern constext txt_cannot_write_to_directory[]; extern constext txt_catchup[]; extern constext txt_catchup_group[]; @@ -528,11 +563,16 @@ extern constext txt_deleting[]; #endif /* NNTP_ABLE */ extern constext txt_end_of_art[]; extern constext txt_end_of_arts[]; +extern constext txt_end_of_attachments[]; extern constext txt_end_of_groups[]; +extern constext txt_end_of_page[]; +extern constext txt_end_of_scopes[]; extern constext txt_end_of_thread[]; +extern constext txt_end_of_urls[]; extern constext txt_enter_getart_limit[]; extern constext txt_enter_message_id[]; extern constext txt_enter_next_thread[]; +extern constext txt_enter_next_unread_art[]; extern constext txt_enter_next_unread_group[]; extern constext txt_enter_option_num[]; extern constext txt_enter_range[]; @@ -542,12 +582,15 @@ extern constext txt_error_bad_approved[] extern constext txt_error_bad_from[]; extern constext txt_error_bad_replyto[]; extern constext txt_error_bad_msgidfqdn[]; -extern constext txt_error_cant_unlock[]; +#ifndef NO_LOCKING + extern constext txt_error_cant_unlock[]; + extern constext txt_error_couldnt_dotlock[]; + extern constext txt_error_couldnt_lock[]; +#endif /* NO_LOCKING */ extern constext txt_error_copy_fp[]; extern constext txt_error_corrupted_file[]; -extern constext txt_error_couldnt_dotlock[]; -extern constext txt_error_couldnt_lock[]; extern constext txt_error_fseek[]; +extern constext txt_error_followup_poster[]; extern constext txt_error_gnksa_internal[]; extern constext txt_error_gnksa_langle[]; extern constext txt_error_gnksa_lparen[]; @@ -576,27 +619,35 @@ extern constext txt_error_gnksa_rn_paren extern constext txt_error_gnksa_rn_invalid[]; extern constext txt_error_header_and_body_not_separate[]; extern constext txt_error_header_duplicate[]; +extern constext txt_error_header_format[]; extern constext txt_error_header_line_bad_charset[]; extern constext txt_error_header_line_bad_encoding[]; extern constext txt_error_header_line_blank[]; extern constext txt_error_header_line_colon[]; extern constext txt_error_header_line_empty[]; extern constext txt_error_header_line_missing[]; +extern constext txt_error_header_line_not_7bit[]; extern constext txt_error_header_line_space[]; extern constext txt_error_insecure_permissions[]; -extern constext txt_error_invalid_response_to_group[]; -extern constext txt_error_locale[]; +#ifdef NNTP_ABLE + extern constext txt_error_invalid_response_to_group[]; +#endif /* NNTP_ABLE */ +#if defined(HAVE_SETLOCALE) && !defined(NO_LOCALE) + extern constext txt_error_locale[]; +#endif /* HAVE_SETLOCALE && !NO_LOCALE */ extern constext txt_error_mime_end[]; extern constext txt_error_mime_start[]; extern constext txt_error_no_domain_name[]; extern constext txt_error_no_enter_permission[]; -extern constext txt_error_no_from[]; +#ifdef NNTP_INEWS + extern constext txt_error_no_from[]; +#endif /* NNTP_INEWS */ extern constext txt_error_no_read_permission[]; extern constext txt_error_no_such_file[]; extern constext txt_error_no_write_permission[]; +extern constext txt_error_newsgroups_poster[]; extern constext txt_error_passwd_missing[]; extern constext txt_error_plural[]; -extern constext txt_error_sender_in_header_not_allowed[]; extern constext txt_error_server_has_no_listed_groups[]; extern constext txt_error_singular[]; #if defined(NNTP_ABLE) && defined(INET6) @@ -607,9 +658,9 @@ extern constext txt_error_singular[]; extern constext txt_error_topen[]; #endif /* NNTP_ABLE && TLI && !INET6 */ extern constext txt_error_unknown_dlevel[]; -#if defined(NNTP_ABLE) && defined(HAVE_GETSERVBYNAME) +#if defined(NNTP_ABLE) && defined(HAVE_GETSERVBYNAME) && !defined(INET6) extern constext txt_error_unknown_service[]; -#endif /* NNTP_ABLE && HAVE_GETSERVBYNAME */ +#endif /* NNTP_ABLE && HAVE_GETSERVBYNAME && !INET6 */ #ifdef NNTP_ABLE extern constext txt_error_wrong_newsgroupname_in_group_response[]; #endif /* NNTP_ABLE */ @@ -637,7 +688,9 @@ extern constext txt_forwarded_end[]; extern constext txt_from_line_only[]; extern constext txt_from_line_only_case[]; extern constext txt_full[]; -extern constext txt_gethostbyname[]; +#ifdef NNTP_ABLE + extern constext txt_gethostbyname[]; +#endif /* NNTP_ABLE */ #if defined(NNTP_ABLE) && !defined(INET6) extern constext txt_giving_up[]; #endif /* NNTP_ABLE && !INET6 */ @@ -655,13 +708,16 @@ extern constext txt_help_article_autokil extern constext txt_help_article_autoselect[]; extern constext txt_help_article_browse_urls[]; extern constext txt_help_article_by_num[]; -extern constext txt_help_article_cancel[]; +#ifndef NO_POSTING + extern constext txt_help_article_cancel[]; + extern constext txt_help_article_followup[]; + extern constext txt_help_article_followup_no_quote[]; + extern constext txt_help_article_followup_with_header[]; + extern constext txt_help_article_repost[]; +#endif /* !NO_POSTING */ extern constext txt_help_article_edit[]; extern constext txt_help_article_first_in_thread[]; extern constext txt_help_article_first_page[]; -extern constext txt_help_article_followup[]; -extern constext txt_help_article_followup_no_quote[]; -extern constext txt_help_article_followup_with_header[]; extern constext txt_help_article_last_in_thread[]; extern constext txt_help_article_last_page[]; extern constext txt_help_article_mark_thread_read[]; @@ -680,19 +736,51 @@ extern constext txt_help_article_quit_to extern constext txt_help_article_reply[]; extern constext txt_help_article_reply_no_quote[]; extern constext txt_help_article_reply_with_header[]; -extern constext txt_help_article_repost[]; extern constext txt_help_article_search_backwards[]; extern constext txt_help_article_search_forwards[]; extern constext txt_help_article_show_raw[]; extern constext txt_help_article_skip_quote[]; extern constext txt_help_article_toggle_formfeed[]; +extern constext txt_help_article_toggle_headers[]; extern constext txt_help_article_toggle_highlight[]; extern constext txt_help_article_toggle_rot13[]; extern constext txt_help_article_toggle_tabwidth[]; extern constext txt_help_article_toggle_tex2iso[]; extern constext txt_help_article_toggle_uue[]; extern constext txt_help_article_view_attachments[]; +extern constext txt_help_attachment_first[]; +extern constext txt_help_attachment_goto[]; +extern constext txt_help_attachment_last[]; +#ifndef DONT_HAVE_PIPING + extern constext txt_help_attachment_pipe[]; + extern constext txt_help_attachment_pipe_raw[]; +#endif /* !DONT_HAVE_PIPING */ +extern constext txt_help_attachment_save[]; +extern constext txt_help_attachment_search_forwards[]; +extern constext txt_help_attachment_search_backwards[]; +extern constext txt_help_attachment_select[]; +extern constext txt_help_attachment_tag[]; +extern constext txt_help_attachment_tag_pattern[]; +extern constext txt_help_attachment_toggle_tagged[]; +extern constext txt_help_attachment_untag[]; +extern constext txt_help_attachment_toggle_info_line[]; +extern constext txt_help_attrib_first_opt[]; +extern constext txt_help_attrib_goto_opt[]; +extern constext txt_help_attrib_last_opt[]; +extern constext txt_help_attrib_reset_attrib[]; +extern constext txt_help_attrib_search_opt_backwards[]; +extern constext txt_help_attrib_search_opt_forwards[]; +extern constext txt_help_attrib_select[]; +extern constext txt_help_attrib_toggle_attrib[]; extern constext txt_help_bug[]; +extern constext txt_help_config_first_opt[]; +extern constext txt_help_config_goto_opt[]; +extern constext txt_help_config_last_opt[]; +extern constext txt_help_config_scope_menu[]; +extern constext txt_help_config_search_opt_backwards[]; +extern constext txt_help_config_search_opt_forwards[]; +extern constext txt_help_config_select[]; +extern constext txt_help_config_toggle_attrib[]; extern constext txt_help_filter_comment[]; extern constext txt_help_filter_from[]; extern constext txt_help_filter_lines[]; @@ -716,8 +804,10 @@ extern constext txt_help_global_page_up[ #ifndef DONT_HAVE_PIPING extern constext txt_help_global_pipe[]; #endif /* !DONT_HAVE_PIPING */ -extern constext txt_help_global_post[]; -extern constext txt_help_global_post_postponed[]; +#ifndef NO_POSTING + extern constext txt_help_global_post[]; + extern constext txt_help_global_post_postponed[]; +#endif /* !NO_POSTING */ extern constext txt_help_global_posting_history[]; extern constext txt_help_global_previous_menu[]; #ifndef DISABLE_PRINTING @@ -756,6 +846,8 @@ extern constext txt_help_group_list_thre extern constext txt_help_group_mark_article_unread[]; extern constext txt_help_group_mark_thread_read[]; extern constext txt_help_group_mark_thread_unread[]; +extern constext txt_help_mark_feed_read[]; +extern constext txt_help_mark_feed_unread[]; extern constext txt_help_group_mark_unsel_art_read[]; extern constext txt_help_group_next[]; extern constext txt_help_group_prev[]; @@ -773,6 +865,15 @@ extern constext txt_help_group_toggle_th extern constext txt_help_group_undo_thread_selection[]; extern constext txt_help_group_untag_thread[]; extern constext txt_help_kill_scope[]; +extern constext txt_help_scope_add[]; +extern constext txt_help_scope_del[]; +extern constext txt_help_scope_edit_attrib_file[]; +extern constext txt_help_scope_first_scope[]; +extern constext txt_help_scope_goto_scope[]; +extern constext txt_help_scope_last_scope[]; +extern constext txt_help_scope_move[]; +extern constext txt_help_scope_rename[]; +extern constext txt_help_scope_select[]; extern constext txt_help_select_catchup[]; extern constext txt_help_select_catchup_next_unread[]; extern constext txt_help_select_first_group[]; @@ -806,11 +907,25 @@ extern constext txt_help_thread_catchup_ extern constext txt_help_thread_first_article[]; extern constext txt_help_thread_last_article[]; extern constext txt_help_thread_mark_article_read[]; +extern constext txt_help_thread_mark_article_unread[]; +extern constext txt_help_thread_mark_thread_unread[]; extern constext txt_help_thread_read_article[]; extern constext txt_help_title_disp[]; extern constext txt_help_title_misc[]; extern constext txt_help_title_navi[]; extern constext txt_help_title_ops[]; +extern constext txt_help_title_attachment_ops[]; +extern constext txt_help_title_attrib_ops[]; +extern constext txt_help_title_config_ops[]; +extern constext txt_help_title_scope_ops[]; +extern constext txt_help_title_url_ops[]; +extern constext txt_help_url_first_url[]; +extern constext txt_help_url_goto_url[]; +extern constext txt_help_url_last_url[]; +extern constext txt_help_url_search_forwards[]; +extern constext txt_help_url_search_backwards[]; +extern constext txt_help_url_select[]; +extern constext txt_help_url_toggle_info_line[]; extern constext txt_incomplete[]; extern constext txt_index_page_com[]; extern constext txt_info_add_kill[]; @@ -827,7 +942,6 @@ extern constext txt_info_no_previous_exp extern constext txt_info_postponed[]; extern constext txt_info_x_conversion_note[]; extern constext txt_invalid_from[]; -extern constext txt_invalid_sender[]; #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) extern constext txt_invalid_multibyte_sequence[]; #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ @@ -859,14 +973,19 @@ extern constext txt_mail_bug_report_conf extern constext txt_mailed[]; extern constext txt_mailing_to[]; extern constext txt_mail_save_active_head[]; +extern constext txt_mark[]; extern constext txt_mark_arts_read[]; -extern constext txt_mark_art_read_tagged_current[]; +extern constext txt_mark_art_read[]; extern constext txt_mark_group_read[]; extern constext txt_mark_thread_read[]; -extern constext txt_mark_thread_read_tagged_current[]; +extern constext txt_marked_as_read[]; extern constext txt_marked_as_unread[]; -extern constext txt_marked_tagged_arts_as_read[]; +extern constext txt_marked_arts_as_read[]; +extern constext txt_marked_arts_as_unread[]; extern constext txt_matching_cmd_line_groups[]; +extern constext txt_mini_attachment_1[]; +extern constext txt_mini_attachment_2[]; +extern constext txt_mini_attachment_3[]; extern constext txt_mini_group_1[]; extern constext txt_mini_group_2[]; extern constext txt_mini_group_3[]; @@ -875,14 +994,20 @@ extern constext txt_mini_info_2[]; extern constext txt_mini_page_1[]; extern constext txt_mini_page_2[]; extern constext txt_mini_page_3[]; +extern constext txt_mini_scope_1[]; +extern constext txt_mini_scope_2[]; extern constext txt_mini_select_1[]; extern constext txt_mini_select_2[]; extern constext txt_mini_select_3[]; extern constext txt_mini_thread_1[]; extern constext txt_mini_thread_2[]; +extern constext txt_mini_url_1[]; +extern constext txt_mini_url_2[]; extern constext txt_more[]; extern constext txt_moving[]; +extern constext txt_msgid_line_last[]; extern constext txt_msgid_line_only[]; +extern constext txt_msgid_refs_line[]; extern constext txt_name[]; extern constext txt_newsgroup[]; extern constext txt_newsgroup_plural[]; @@ -892,10 +1017,10 @@ extern constext txt_newsrc_again[]; extern constext txt_newsrc_nogroups[]; extern constext txt_newsrc_saved[]; extern constext txt_next_resp[]; -extern constext txt_nntp_authorization_failed[]; extern constext txt_no[]; extern constext txt_no_arts[]; extern constext txt_no_arts_posted[]; +extern constext txt_no_attachments[]; extern constext txt_no_description[]; extern constext txt_no_filename[]; extern constext txt_no_group[]; @@ -909,9 +1034,11 @@ extern constext txt_no_more_groups[]; extern constext txt_no_newsgroups[]; extern constext txt_no_next_unread_art[]; extern constext txt_no_prev_group[]; +extern constext txt_no_prev_search[]; extern constext txt_no_prev_unread_art[]; extern constext txt_no_responses[]; extern constext txt_no_resps_in_thread[]; +extern constext txt_no_scopes[]; extern constext txt_no_search_string[]; extern constext txt_no_subject[]; #ifndef USE_CURSES @@ -922,7 +1049,9 @@ extern constext txt_no_subject[]; extern constext txt_no_term_set[]; #endif /* !USE_CURSES */ extern constext txt_no_viewer_found[]; -extern constext txt_no_xover_support[]; +#ifdef NNTP_ABLE + extern constext txt_no_xover_support[]; +#endif /* NNTP_ABLE */ extern constext txt_not_exist[]; extern constext txt_not_in_active_file[]; extern constext txt_nrctbl_create[]; @@ -931,6 +1060,7 @@ extern constext txt_nrctbl_info[]; extern constext txt_only[]; extern constext txt_option_not_enabled[]; extern constext txt_options_menu[]; +extern constext txt_options_menu_com[]; extern constext txt_out_of_memory[]; extern constext txt_pcre_error_at[]; extern constext txt_pcre_error_num[]; @@ -969,9 +1099,10 @@ extern constext txt_quit_edit_xpost[]; extern constext txt_quit_no_write[]; extern constext txt_quoted_printable[]; extern constext txt_range_invalid[]; -extern constext txt_read_abort[]; -extern constext txt_read_exit[]; -extern constext txt_read_resp[]; +#ifdef NNTP_ABLE + extern constext txt_read_abort[]; + extern constext txt_read_exit[]; +#endif /* NNTP_ABLE */ extern constext txt_reading_article[]; extern constext txt_reading_arts[]; extern constext txt_reading_attributes_file[]; @@ -987,10 +1118,12 @@ extern constext txt_reading_newsrc[]; #ifdef NNTP_ABLE extern constext txt_reconnect_to_news_server[]; #endif /* NNTP_ABLE */ +extern constext txt_refs_line_only[]; #ifdef HAVE_GETTIMEOFDAY extern constext txt_remaining[]; #endif /* HAVE_GETTIMEOFDAY */ extern constext txt_remove_bogus[]; +extern constext txt_removed_rule[]; extern constext txt_rename_error[]; extern constext txt_reply_to_author[]; extern constext txt_repost[]; @@ -999,7 +1132,6 @@ extern constext txt_repost_group[]; extern constext txt_reset_newsrc[]; extern constext txt_resp_redirect[]; extern constext txt_resp_to_poster[]; -extern constext txt_resp_x_of_n[]; extern constext txt_return_key[]; extern constext txt_save[]; extern constext txt_save_attachment[]; @@ -1018,6 +1150,15 @@ extern constext txt_screen_init_failed[] extern constext txt_screen_too_small[]; #endif /* !USE_CURSES */ extern constext txt_screen_too_small_exiting[]; +extern constext txt_scope_delete[]; +extern constext txt_scope_enter[]; +extern constext txt_scope_new_position[]; +extern constext txt_scope_new_position_is_global[]; +extern constext txt_scope_operation_not_allowed[]; +extern constext txt_scope_rename[]; +extern constext txt_scope_select[]; +extern constext txt_scopes_menu[]; +extern constext txt_scopes_menu_com[]; extern constext txt_search_backwards[]; extern constext txt_search_body[]; extern constext txt_search_forwards[]; @@ -1067,7 +1208,6 @@ extern constext txt_thread_marked_as_sel #if 0 /* unused */ extern constext txt_thread_plural[]; #endif /* 0 */ -extern constext txt_thread_range[]; extern constext txt_thread_singular[]; extern constext txt_thread_x_of_n[]; extern constext txt_threading_arts[]; @@ -1081,11 +1221,13 @@ extern constext txt_toggled_high[]; extern constext txt_toggled_rot13[]; extern constext txt_toggled_tex2iso[]; extern constext txt_toggled_tabwidth[]; -#if defined(NNTP_ABLE) && defined(HAVE_INET_NTOA) +#if defined(NNTP_ABLE) && defined(HAVE_INET_NTOA) && !defined(INET6) extern constext txt_trying[]; -#endif /* NNTP_ABLE && HAVE_INET_NTOA */ -extern constext txt_trying_dotlock[]; -extern constext txt_trying_lock[]; +#endif /* NNTP_ABLE && HAVE_INET_NTOA && ! INET6 */ +#ifndef NO_LOCKING + extern constext txt_trying_dotlock[]; + extern constext txt_trying_lock[]; +#endif /* NO_LOCKING */ extern constext txt_type_h_for_help[]; extern constext txt_unlimited_time[]; extern constext txt_unread[]; @@ -1096,7 +1238,10 @@ extern constext txt_unsubscribing[]; extern constext txt_unthreading_arts[]; extern constext txt_updated[]; extern constext txt_updating[]; +extern constext txt_url_menu[]; +extern constext txt_url_menu_com[]; extern constext txt_url_open[]; +extern constext txt_url_select[]; extern constext txt_url_done[]; extern constext txt_usage_catchup[]; extern constext txt_usage_check_for_unread_news[]; @@ -1107,9 +1252,15 @@ extern constext txt_usage_dont_check_new extern constext txt_usage_dont_save_files_on_quit[]; extern constext txt_usage_dont_show_descriptions[]; #ifdef NNTP_ABLE + extern constext txt_unparseable_counts[]; extern constext txt_usage_force_authentication[]; +#ifdef INET6 + extern constext txt_usage_force_ipv4[]; + extern constext txt_usage_force_ipv6[]; +#endif /* INET6 */ extern constext txt_usage_newsserver[]; extern constext txt_usage_port[]; + extern constext txt_usage_read_news_remotely[]; #endif /* NNTP_ABLE */ extern constext txt_usage_getart_limit[]; extern constext txt_usage_help_information[]; @@ -1124,7 +1275,6 @@ extern constext txt_usage_newsrc_file[]; extern constext txt_usage_no_posting[]; extern constext txt_usage_post_article[]; extern constext txt_usage_post_postponed_arts[]; -extern constext txt_usage_read_news_remotely[]; extern constext txt_usage_read_saved_news[]; extern constext txt_usage_savedir[]; extern constext txt_usage_save_new_news[]; @@ -1140,6 +1290,7 @@ extern constext txt_usage_verbose[]; extern constext txt_usage_version[]; extern constext txt_useful_without_batch_mode[]; extern constext txt_useful_with_batch_mode[]; +extern constext txt_useless_combination[]; extern constext txt_use_mime[]; extern constext txt_value_out_of_range[]; extern constext txt_view_attachment[]; @@ -1156,6 +1307,7 @@ extern constext txt_warn_encoding_and_ex extern constext txt_warn_header_line_comma[]; extern constext txt_warn_header_line_groups_contd[]; #endif /* FOLLOW_USEFOR_DRAFT */ +extern constext txt_warn_example_hierarchy[]; extern constext txt_warn_multiple_sigs[]; extern constext txt_warn_newsrc[]; extern constext txt_warn_not_all_arts_saved[]; @@ -1187,6 +1339,7 @@ extern constext txt_you_have_mail[]; #ifndef HAVE_FASCIST_NEWSADMIN extern constext txt_warn_followup_to_several_groups[]; + extern constext txt_warn_grp_renamed[]; extern constext txt_warn_missing_followup_to[]; extern constext txt_warn_not_in_newsrc[]; extern constext txt_warn_not_valid_newsgroup[]; @@ -1215,10 +1368,12 @@ extern constext txt_uu_success[]; extern int *my_group; extern int NOTESLINES; extern int _hp_glitch; +extern int attrib_file_offset; extern int cCOLS; extern int cLINES; extern int curr_line; extern int debug; +extern int filter_file_offset; extern int input_context; extern int iso2asc_supported; extern int last_resp; @@ -1226,13 +1381,13 @@ extern int max_active; extern int max_art; extern int max_newnews; extern int max_save; -extern int num_headers_to_display; -extern int num_headers_to_not_display; +extern int max_scope; extern int need_resize; extern int num_active; extern int num_newnews; extern int num_of_tagged_arts; extern int num_save; +extern int num_scope; extern int signal_context; extern int srch_lineno; extern int system_status; @@ -1248,12 +1403,16 @@ extern long *base; extern signed long int read_newsrc_lines; +extern size_t tabwidth; + extern pid_t process_id; extern struct regex_cache strip_re_regex; extern struct regex_cache strip_was_regex; extern struct regex_cache uubegin_regex; extern struct regex_cache uubody_regex; +extern struct regex_cache verbatim_begin_regex; +extern struct regex_cache verbatim_end_regex; extern struct regex_cache url_regex; extern struct regex_cache mail_regex; extern struct regex_cache news_regex; @@ -1269,7 +1428,8 @@ extern struct regex_cache strokes_regex; #endif /* HAVE_COLOR */ extern struct t_article *arts; -extern struct t_attribute glob_attributes; +extern struct t_scope *scopes; +extern struct t_cmdlineopts cmdline; extern struct t_config tinrc; extern struct t_filters glob_filter; extern struct t_group *active; @@ -1285,28 +1445,35 @@ extern t_bool check_for_new_newsgroups; extern t_bool cmd_line; extern t_bool created_rcdir; extern t_bool dangerous_signal_exit; /* TRUE if SIGHUP, SIGTERM, SIGUSR1 */ +#ifdef NNTP_ABLE + extern t_bool did_reconnect; + extern t_bool reconnected_in_last_get_server; +#endif /* NNTP_ABLE */ extern t_bool disable_gnksa_domain_check; extern t_bool disable_sender; extern t_bool force_no_post; extern t_bool force_reread_active_file; -extern t_bool got_sig_pipe; +#if defined(NNTP_ABLE) && defined(INET6) + extern t_bool force_ipv4; + extern t_bool force_ipv6; +#endif /* NNTP_ABLE && INET6 */ extern t_bool have_linescroll; -extern t_bool filtered_articles; extern t_bool list_active; extern t_bool newsrc_active; extern t_bool no_write; extern t_bool post_article_and_exit; extern t_bool post_postponed_and_exit; +extern t_bool range_active; extern t_bool read_local_newsgroups_file; extern t_bool read_news_via_nntp; extern t_bool read_saved_news; -extern t_bool reconnected_in_last_get_server; extern t_bool reread_active_for_posted_arts; extern t_bool show_description; extern t_bool show_subject; extern t_bool batch_mode; extern t_bool verbose; extern t_bool xref_supported; +extern t_bool expensive_over_parse; extern t_function last_search; @@ -1316,6 +1483,8 @@ extern t_menu *currmenu; extern t_openartinfo pgart; +extern struct t_overview_fmt *ofmt; + enum { HIST_OTHER = 0, HIST_ART_SEARCH, @@ -1396,6 +1565,12 @@ extern char *input_history[HIST_MAXNUM + #ifdef FORGERY extern constext txt_warn_cancel_forgery[]; +#else + extern constext txt_art_cannot_cancel[]; + extern constext txt_error_sender_in_header_not_allowed[]; +# ifdef NNTP_INEWS + extern constext txt_invalid_sender[]; +# endif /* NNTP_INEWS */ #endif /* FORGERY */ extern t_bool word_highlight; @@ -1411,6 +1586,7 @@ extern t_bool word_highlight; #ifdef HAVE_FASCIST_NEWSADMIN extern constext txt_error_followup_to_several_groups[]; + extern constext txt_error_grp_renamed[]; extern constext txt_error_missing_followup_to[]; extern constext txt_error_not_valid_newsgroup[]; #endif /* HAVE_FASCIST_NEWSADMIN */ @@ -1458,6 +1634,7 @@ extern constext txt_processing_saved_art extern t_bool force_auth_on_conn_open; #endif /* NNTP_ABLE */ +extern struct opttxt txt_abbreviate_groupname; extern struct opttxt txt_add_posted_to_filter; extern struct opttxt txt_advertising; extern struct opttxt txt_alternative_handling; @@ -1471,11 +1648,12 @@ extern struct opttxt txt_art_marked_retu extern struct opttxt txt_art_marked_selected; extern struct opttxt txt_art_marked_unread; extern struct opttxt txt_ask_for_metamail; -extern struct opttxt txt_auto_bcc; -extern struct opttxt txt_auto_cc; +extern struct opttxt txt_auto_cc_bcc; extern struct opttxt txt_auto_list_thread; extern struct opttxt txt_auto_reconnect; extern struct opttxt txt_auto_save; +extern struct opttxt txt_auto_select; +extern struct opttxt txt_delete_tmp_files; extern struct opttxt txt_batch_save; extern struct opttxt txt_beginner_level; extern struct opttxt txt_cache_overview_files; @@ -1489,17 +1667,24 @@ extern struct opttxt txt_display_options extern struct opttxt txt_draw_arrow; extern struct opttxt txt_editor_format; extern struct opttxt txt_expert_options; +extern struct opttxt txt_fcc; extern struct opttxt txt_filter_days; extern struct opttxt txt_filtering_options; +extern struct opttxt txt_followup_to; extern struct opttxt txt_force_screen_redraw; +extern struct opttxt txt_from; extern struct opttxt txt_getart_limit; extern struct opttxt txt_getart_limit_options; +extern struct opttxt txt_goto_next_unread; extern struct opttxt txt_group_catchup_on_exit; extern struct opttxt txt_groupname_max_length; extern struct opttxt txt_hide_uue; extern struct opttxt txt_inews_prog; extern struct opttxt txt_interactive_mailer; extern struct opttxt txt_inverse_okay; +#ifdef HAVE_ISPELL + extern struct opttxt txt_ispell; +#endif /* HAVE_ISPELL */ extern struct opttxt txt_keep_dead_articles; extern struct opttxt txt_kill_level; extern struct opttxt txt_mail_8bit_header; @@ -1508,25 +1693,32 @@ extern struct opttxt txt_mail_mime_encod extern struct opttxt txt_mail_quote_format; extern struct opttxt txt_mailbox_format; extern struct opttxt txt_maildir; +extern struct opttxt txt_mailing_list; extern struct opttxt txt_mailer_format; extern struct opttxt txt_mark_ignore_tags; extern struct opttxt txt_mark_saved_read; +extern struct opttxt txt_mime_forward; +extern struct opttxt txt_mime_types_to_save; extern struct opttxt txt_mono_markstar; extern struct opttxt txt_mono_markdash; extern struct opttxt txt_mono_markslash; extern struct opttxt txt_mono_markstroke; #ifndef CHARSET_CONVERSION extern struct opttxt txt_mm_charset; +#else +# ifdef NO_LOCALE + extern struct opttxt txt_mm_local_charset; +# endif /* NO_LOCALE */ #endif /* CHARSET_CONVERSION */ extern struct opttxt txt_metamail_prog; extern struct opttxt txt_news_headers_to_display; extern struct opttxt txt_news_headers_to_not_display; extern struct opttxt txt_news_quote_format; -extern struct opttxt txt_pgdn_goto_next; +extern struct opttxt txt_organization; extern struct opttxt txt_pos_first_unread; extern struct opttxt txt_post_8bit_header; extern struct opttxt txt_post_mime_encoding; -extern struct opttxt txt_post_process; +extern struct opttxt txt_post_process_type; extern struct opttxt txt_post_process_view; extern struct opttxt txt_posted_articles_file; extern struct opttxt txt_posting_options; @@ -1536,11 +1728,20 @@ extern struct opttxt txt_posting_options #endif /* !DISABLE_PRINTING */ extern struct opttxt txt_process_only_unread; extern struct opttxt txt_prompt_followupto; +extern struct opttxt txt_quick_select_scope; +extern struct opttxt txt_quick_select_header; +extern struct opttxt txt_quick_select_case; +extern struct opttxt txt_quick_select_expire; +extern struct opttxt txt_quick_kill_scope; +extern struct opttxt txt_quick_kill_header; +extern struct opttxt txt_quick_kill_case; +extern struct opttxt txt_quick_kill_expire; extern struct opttxt txt_quote_chars; extern struct opttxt txt_quote_style; extern struct opttxt txt_recent_time; extern struct opttxt txt_reread_active_file_secs; extern struct opttxt txt_savedir; +extern struct opttxt txt_savefile; extern struct opttxt txt_saving_options; extern struct opttxt txt_score_limit_kill; extern struct opttxt txt_score_limit_select; @@ -1559,7 +1760,6 @@ extern struct opttxt txt_signature_repos extern struct opttxt txt_slashes_regex; extern struct opttxt txt_sort_article_type; extern struct opttxt txt_sort_threads_type; -extern struct opttxt txt_space_goto_next_unread; extern struct opttxt txt_spamtrap_warning_addresses; extern struct opttxt txt_stars_regex; extern struct opttxt txt_start_editor_offset; @@ -1569,25 +1769,35 @@ extern struct opttxt txt_strip_newsrc; extern struct opttxt txt_strip_re_regex; extern struct opttxt txt_strip_was_regex; extern struct opttxt txt_strokes_regex; -extern struct opttxt txt_tab_goto_next_unread; extern struct opttxt txt_tex2iso_conv; extern struct opttxt txt_thread_articles; extern struct opttxt txt_thread_perc; extern struct opttxt txt_thread_catchup_on_exit; extern struct opttxt txt_thread_score; +extern struct opttxt txt_trim_article_body; extern struct opttxt txt_underscores_regex; extern struct opttxt txt_unlink_article; extern struct opttxt txt_url_handler; extern struct opttxt txt_url_highlight; extern struct opttxt txt_use_mouse; +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + extern struct opttxt txt_utf8_graphics; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ +extern struct opttxt txt_verbatim_begin_regex; +extern struct opttxt txt_verbatim_end_regex; +extern struct opttxt txt_verbatim_handling; extern struct opttxt txt_wildcard; extern struct opttxt txt_word_highlight; extern struct opttxt txt_word_h_display_marks; extern struct opttxt txt_wrap_column; extern struct opttxt txt_wrap_on_next_unread; +extern struct opttxt txt_x_body; +extern struct opttxt txt_x_comment_to; +extern struct opttxt txt_x_headers; extern struct opttxt txt_xpost_quote_format; #ifdef CHARSET_CONVERSION extern struct opttxt txt_mm_network_charset; + extern struct opttxt txt_undeclared_charset; #endif /* CHARSET_CONVERSION */ #ifdef HAVE_COLOR extern struct opttxt txt_quote_regex; @@ -1613,6 +1823,7 @@ extern struct opttxt txt_xpost_quote_for extern struct opttxt txt_col_title; extern struct opttxt txt_col_signature; extern struct opttxt txt_col_urls; + extern struct opttxt txt_col_verbatim; extern struct opttxt txt_col_markstar; extern struct opttxt txt_col_markdash; extern struct opttxt txt_col_markslash; diff -Nurp --exclude='.bzr*' tin-1.8.3/include/keymap.h tin-2.0.0/include/keymap.h --- tin-1.8.3/include/keymap.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/keymap.h 2011-04-17 16:04:29.470923639 +0200 @@ -3,10 +3,10 @@ * Module : keymap.h * Author : J. Faultless, D. Nimmich * Created : 1999 - * Updated : 2005-10-19 + * Updated : 2011-01-25 * Notes : * - * Copyright (c) 1999-2006 Jason Faultless + * Copyright (c) 1999-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -154,16 +154,27 @@ enum defined_functions { DIGIT_7, DIGIT_8, DIGIT_9, + ATTACHMENT_PIPE, + ATTACHMENT_SAVE, + ATTACHMENT_SELECT, + ATTACHMENT_TAG, + ATTACHMENT_TAG_PATTERN, + ATTACHMENT_TOGGLE_TAGGED, + ATTACHMENT_UNTAG, SPECIAL_CATCHUP_LEFT, SPECIAL_MOUSE_TOGGLE, CATCHUP, CATCHUP_NEXT_UNREAD, + CONFIG_RESET_ATTRIB, + CONFIG_SCOPE_MENU, CONFIG_SELECT, CONFIG_NO_SAVE, + CONFIG_TOGGLE_ATTRIB, FEED_ARTICLE, FEED_THREAD, FEED_HOT, FEED_PATTERN, + FEED_RANGE, FEED_TAGGED, FEED_KEY_REPOST, FEED_SUPERSEDE, @@ -207,7 +218,7 @@ enum defined_functions { GLOBAL_SET_RANGE, #ifndef NO_SHELL_ESCAPE GLOBAL_SHELL_ESCAPE, -#endif /* NO_SHELL_ESCAPE */ +#endif /* !NO_SHELL_ESCAPE */ #ifdef HAVE_COLOR GLOBAL_TOGGLE_COLOR, #endif /* HAVE_COLOR */ @@ -216,6 +227,7 @@ enum defined_functions { GLOBAL_TOGGLE_INVERSE_VIDEO, GLOBAL_VERSION, GROUP_AUTOSAVE, + GROUP_CANCEL, GROUP_DO_AUTOSELECT, GROUP_GOTO, GROUP_LIST_THREAD, @@ -244,9 +256,9 @@ enum defined_functions { GROUP_UNDO_SELECTIONS, GROUP_UNTAG, MARK_ARTICLE_UNREAD, - MARK_READ_CURRENT, - MARK_READ_TAGGED, MARK_THREAD_UNREAD, + MARK_FEED_READ, + MARK_FEED_UNREAD, PAGE_AUTOSAVE, PAGE_BOTTOM_THREAD, PAGE_CANCEL, @@ -263,7 +275,6 @@ enum defined_functions { PAGE_NEXT_THREAD, PAGE_NEXT_UNREAD, PAGE_NEXT_UNREAD_ARTICLE, - PAGE_PAGE_DOWN3, /* special handling at page.c */ #ifdef HAVE_PGP_GPG PAGE_PGP_CHECK_ARTICLE, #endif /* HAVE_PGP_GPG */ @@ -279,6 +290,7 @@ enum defined_functions { PAGE_TAG, PAGE_TOGGLE_HEADERS, PAGE_TOGGLE_HIGHLIGHTING, + PAGE_TOGGLE_RAW, PAGE_TOGGLE_ROT13, PAGE_TOGGLE_TABS, PAGE_TOGGLE_TEX2ISO, @@ -286,10 +298,12 @@ enum defined_functions { PAGE_TOP_THREAD, PAGE_VIEW_ATTACHMENTS, PAGE_VIEW_URL, +#ifdef HAVE_PGP_GPG PGP_KEY_ENCRYPT, PGP_KEY_ENCRYPT_SIGN, PGP_INCLUDE_KEY, PGP_KEY_SIGN, +#endif /* HAVE_PGP_GPG */ POST_ABORT, POST_CANCEL, POST_CONTINUE, @@ -314,6 +328,12 @@ enum defined_functions { PROMPT_YES, SAVE_APPEND_FILE, SAVE_OVERWRITE_FILE, + SCOPE_ADD, + SCOPE_DELETE, + SCOPE_EDIT_ATTRIBUTES_FILE, + SCOPE_MOVE, + SCOPE_RENAME, + SCOPE_SELECT, SELECT_ENTER_GROUP, SELECT_ENTER_NEXT_UNREAD_GROUP, SELECT_GOTO, @@ -332,6 +352,7 @@ enum defined_functions { SELECT_QUIT_NO_WRITE, SELECT_YANK_ACTIVE, THREAD_AUTOSAVE, + THREAD_CANCEL, THREAD_MAIL, THREAD_MARK_ARTICLE_READ, THREAD_READ_NEXT_ARTICLE_OR_THREAD, @@ -343,7 +364,8 @@ enum defined_functions { THREAD_TOGGLE_ARTICLE_SELECTION, THREAD_TOGGLE_SUBJECT_DISPLAY, THREAD_UNDO_SELECTIONS, - THREAD_UNTAG + THREAD_UNTAG, + URL_SELECT }; typedef enum defined_functions t_function; @@ -365,13 +387,13 @@ struct keylist { }; +extern struct keylist attachment_keys; extern struct keylist feed_post_process_keys; extern struct keylist feed_supersede_article_keys; extern struct keylist feed_type_keys; extern struct keylist filter_keys; extern struct keylist group_keys; extern struct keylist info_keys; -extern struct keylist mark_read_keys; extern struct keylist option_menu_keys; extern struct keylist page_keys; #ifdef HAVE_PGP_GPG @@ -390,8 +412,10 @@ extern struct keylist post_postpone_keys extern struct keylist post_send_keys; extern struct keylist prompt_keys; extern struct keylist save_append_overwrite_keys; +extern struct keylist scope_keys; extern struct keylist select_keys; extern struct keylist thread_keys; +extern struct keylist url_keys; extern t_function global_mouse_action(t_function (*left_action) (void), t_function (*right_action) (void)); diff -Nurp --exclude='.bzr*' tin-1.8.3/include/newsrc.h tin-2.0.0/include/newsrc.h --- tin-1.8.3/include/newsrc.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/newsrc.h 2011-04-17 16:04:29.498927902 +0200 @@ -6,7 +6,7 @@ * Updated : 2003-11-18 * Notes : newsrc bit handling * - * Copyright (c) 1997-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1997-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -116,23 +116,23 @@ #define NBITMASK(beg,end) (unsigned char) ~(((1 << (((NMAXBIT - beg) - (NMAXBIT - end)) + 1)) - 1) << (NMAXBIT - end)) -#define NTEST(n,b) (n[NOFFSET(b)] & (1 << NBITIDX(b))) +#define NTEST(n,b) (n[NOFFSET(b)] & (1 << NBITIDX(b))) -#define NSETBLK1(n,i) (memset (n, NBITSON, (size_t) NOFFSET(i)+1)) -#define NSETBLK0(n,i) (memset (n, 0, (size_t) NOFFSET(i)+1)) +#define NSETBLK1(n,i) (memset(n, NBITSON, (size_t) NOFFSET(i) + 1)) +#define NSETBLK0(n,i) (memset(n, 0, (size_t) NOFFSET(i) + 1)) /* dbmalloc checks memset() parameters, so we'll use it to check the assignments */ #ifdef USE_DBMALLOC -# define NSET1(n,b) memset(n + NOFFSET(b), n[NOFFSET(b)] | NTEST(n,b), 1) -# define NSET0(n,b) memset(n + NOFFSET(b), n[NOFFSET(b)] & ~NTEST(n,b), 1) -# define BIT_OR(n, b, mask) memset(n + NOFFSET(b), n[NOFFSET(b)] | (mask), 1) -# define BIT_AND(n, b, mask) memset(n + NOFFSET(b), n[NOFFSET(b)] & (mask), 1) +# define NSET1(n,b) memset(n + NOFFSET(b), n[NOFFSET(b)] | NTEST(n,b), 1) +# define NSET0(n,b) memset(n + NOFFSET(b), n[NOFFSET(b)] & ~NTEST(n,b), 1) +# define BIT_OR(n, b, mask) memset(n + NOFFSET(b), n[NOFFSET(b)] | (mask), 1) +# define BIT_AND(n, b, mask) memset(n + NOFFSET(b), n[NOFFSET(b)] & (mask), 1) # include /* dbmalloc 1.4 */ #else -# define NSET1(n,b) (n[NOFFSET(b)] |= (1 << NBITIDX(b))) +# define NSET1(n,b) (n[NOFFSET(b)] |= (1 << NBITIDX(b))) # define NSET0(n,b) (n[NOFFSET(b)] &= ~(1 << NBITIDX(b))) -# define BIT_OR(n, b, mask) n[NOFFSET(b)] |= mask -# define BIT_AND(n, b, mask) n[NOFFSET(b)] &= mask +# define BIT_OR(n, b, mask) n[NOFFSET(b)] |= mask +# define BIT_AND(n, b, mask) n[NOFFSET(b)] &= mask #endif /* USE_DBMALLOC */ #define BITS_TO_BYTES(n) ((size_t) ((n + NBITS - 1) / NBITS)) diff -Nurp --exclude='.bzr*' tin-1.8.3/include/nntplib.h tin-2.0.0/include/nntplib.h --- tin-1.8.3/include/nntplib.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/nntplib.h 2011-04-17 16:04:29.546935209 +0200 @@ -3,10 +3,10 @@ * Module : nntplib.h * Author : I.Lea * Created : 1991-04-01 - * Updated : 2005-07-21 + * Updated : 2010-04-29 * Notes : nntp.h 1.5.11/1.6 with extensions for tin * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -45,13 +45,13 @@ #define NNTP_TCP_NAME "nntp" #define NNTP_TCP_PORT "119" -#if 0 /* unused */ /* * # seconds after which a read from the NNTP will timeout * NB: This is different from the NNTP server timing us out due to inactivity */ -# define NNTP_READ_TIMEOUT 30 -#endif /* 0 */ +#if defined(HAVE_ALARM) && defined(SIGALRM) +# define NNTP_READ_TIMEOUT 120 +#endif /* HAVE_ALARM && SIGALRM */ /* * # times to try and reconnect to server after timeout @@ -69,7 +69,7 @@ * 4xx Command was correct, but couldn't be performed * for some specified reason. * 5xx Command unimplemented, incorrect, or a - * program error has occured. + * program error has occurred. * * Second digit: * @@ -87,79 +87,67 @@ # define CHAR_FATAL '5' #endif /* 0 */ -#define INF_HELP 100 /* Help text on way */ -#define INF_CAPABILITIES 101 /* Capability list follows */ -#define INF_AUTH 180 /* Authorization capabilities */ -#define INF_DEBUG 199 /* Debug output */ - -#define OK_CANPOST 200 /* Hello; you can post */ -#define OK_NOPOST 201 /* Hello; you can't post */ -#define OK_EXTENSIONS 202 /* extensions supported follow */ -#define OK_NOIHAVE 202 /* Hello; you can't IHAVE; discussed on the IETF-mailinglist */ -#define OK_SLAVE 202 /* Slave status noted */ -#define OK_NOPOSTIHAVE 203 /* Hello; you can't POST or IHAVE; iscussed on the IETF-mailinglist */ -#define OK_GOODBYE 205 /* Closing connection */ -#define OK_GROUP 211 /* Group selected */ -#define OK_GROUPS 215 /* Newsgroups follow */ -#define OK_MOTD 215 /* News motd follows */ - -/* obsolete */ -#define OK_XINDEX 218 /* Tin style index follows */ - -#define OK_ARTICLE 220 /* Article (head & body) follows */ -#define OK_HEAD 221 /* Head follows */ -#define OK_BODY 222 /* Body follows */ -#define OK_NOTEXT 223 /* No text sent -- stat, next, last */ -#define OK_XOVER 224 /* .overview data follows */ -#define OK_NEWNEWS 230 /* New articles by message-id follow */ -#define OK_NEWGROUPS 231 /* New newsgroups follow */ -#define OK_XFERED 235 /* Article transferred successfully */ -#define OK_POSTED 240 /* Article posted successfully */ -#define OK_AUTHSYS 280 /* Authorization system ok */ -#define OK_AUTH 281 /* Authorization (user/pass) ok */ -#define OK_BIN 282 /* binary data follows */ -#define OK_LIST 282 /* list follows */ -#define OK_SPLIST 283 /* spooldir list follows */ -#define OK_SPSWITCH 284 /* Switching to a different spooldir */ -#define OK_SPNOCHANGE 285 /* Still using same spooldir */ -#define OK_SPLDIRCUR 286 /* Current spooldir */ -#define OK_SPLDIRAVL 287 /* Available spooldir */ -#define OK_SPLDIRERR 288 /* Unavailable spooldir or invalid entry */ - -#define CONT_XFER 335 /* Continue to send article */ -#define CONT_POST 340 /* Continue to post article */ -#define NEED_AUTHINFO 380 /* authorization is required */ -#define NEED_AUTHDATA 381 /* authorization data required */ - -#define ERR_GOODBYE 400 /* Have to hang up for some reason */ -#define ERR_NOGROUP 411 /* No such newsgroup */ -#define ERR_NCING 412 /* Not currently in newsgroup */ - -#define ERR_XINDEX 418 /* No tin index for this group */ -#define ERR_XOVERVIEW 419 /* No .overview index for this group */ - -#define ERR_NOCRNT 420 /* No current article selected */ -#define ERR_NONEXT 421 /* No next article in this group */ -#define ERR_NOPREV 422 /* No previous article in this group */ -#define ERR_NOARTIG 423 /* No such article in this group */ -#define ERR_NOART 430 /* No such article at all */ -#define ERR_GOTIT 435 /* Already got that article, don't send */ -#define ERR_XFERFAIL 436 /* Transfer failed */ -#define ERR_XFERRJCT 437 /* Article rejected, don't resend */ -#define ERR_NOPOST 440 /* Posting not allowed */ -#define ERR_POSTFAIL 441 /* Posting failed */ -#define ERR_NOAUTH 480 /* authorization required for command */ -#define ERR_AUTHSYS 481 /* Authorization system invalid */ -#define ERR_AUTHREJ 482 /* Authorization data rejected */ -#define ERR_INVALIAS 483 /* Invalid alias on spooldir cmd */ -#define ERR_INVNOSPDIR 484 /* No spooldir file found */ - -#define ERR_COMMAND 500 /* Command not recognized */ -#define ERR_CMDSYN 501 /* Command syntax error */ -#define ERR_ACCESS 502 /* Access to server denied */ -#define ERR_FAULT 503 /* Program fault, command not performed */ -#define ERR_MOTD 503 /* No news motd file */ -#define ERR_AUTHBAD 580 /* Authorization Failed */ +/* TODO: cleanup against RFC 2980, RFC 3977 */ +#define INF_HELP 100 /* Help text on way */ +#define INF_CAPABILITIES 101 /* Capability list follows */ +#define INF_DATE 111 /* yyyymmddhhmmss Server date and time */ + +#define OK_CANPOST 200 /* Hello; you can post */ +#define OK_NOPOST 201 /* Hello; you can't post */ +#define OK_EXTENSIONS 202 /* extensions supported follow */ +#define OK_GOODBYE 205 /* Closing connection */ +#define OK_GROUP 211 /* Group selected */ +#define OK_GROUPS 215 /* Newsgroups follow */ +#define OK_MOTD 215 /* News motd follows */ + +#define OK_ARTICLE 220 /* Article (head & body) follows */ +#define OK_HEAD 221 /* Head follows */ +#define OK_BODY 222 /* Body follows */ +#define OK_NOTEXT 223 /* No text sent -- stat, next, last */ +#define OK_XOVER 224 /* .overview data follows */ +#define OK_HDR 225 /* headers follow */ +#define OK_NEWNEWS 230 /* New articles by message-id follow */ +#define OK_NEWGROUPS 231 /* New newsgroups follow */ +#define OK_XFERED 235 /* Article transferred successfully */ +#define OK_POSTED 240 /* Article posted successfully */ +#define OK_AUTHSYS 280 /* Authorization system ok */ +#define OK_AUTH 281 /* Authorization (user/pass) ok */ +#define OK_BIN 282 /* binary data follows */ +#define OK_LIST 282 /* list follows */ +#define OK_AUTH_SASL 283 /* authentication accepted (with success data) */ + +#define CONT_XFER 335 /* Continue to send article */ +#define CONT_POST 340 /* Continue to post article */ +#define NEED_AUTHINFO 380 /* authorization is required */ +#define NEED_AUTHDATA 381 /* authorization data required */ +#define NEED_AUTHDATA_SASL 383 /* continue with SASL exchange */ + +#define ERR_GOODBYE 400 /* Have to hang up for some reason */ +#define ERR_STATE 401 /* The client must change the state of the connection */ +#define ERR_NOGROUP 411 /* No such newsgroup */ +#define ERR_NCING 412 /* Not currently in newsgroup */ + +#define ERR_NOCRNT 420 /* No current article selected */ +#define ERR_NONEXT 421 /* No next article in this group */ +#define ERR_NOPREV 422 /* No previous article in this group */ +#define ERR_NOARTIG 423 /* No such article in this group */ +#define ERR_NOART 430 /* No such article at all */ +#define ERR_GOTIT 435 /* Already got that article, don't send */ +#define ERR_XFERFAIL 436 /* Transfer failed */ +#define ERR_XFERRJCT 437 /* Article rejected, don't resend */ +#define ERR_NOPOST 440 /* Posting not allowed */ +#define ERR_POSTFAIL 441 /* Posting failed */ +#define ERR_NOAUTH 480 /* authorization required for command */ +#define ERR_AUTHFAIL 481 /* Authentication failed/rejected */ +#define ERR_AUTHSEQ 482 /* Authentication commands issued out of sequence or SASL protocol error */ +#define ERR_ENCRYPT 483 /* encrpytion required */ + +#define ERR_COMMAND 500 /* Command not recognized */ +#define ERR_CMDSYN 501 /* Command syntax error */ +#define ERR_ACCESS 502 /* Access to server denied */ +#define ERR_FAULT 503 /* Program fault, command not performed */ +#define ERR_MOTD 503 /* No news motd file */ +#define ERR_AUTHBAD 580 /* Authorization Failed */ /* * RFC 977 defines this; don't change it. @@ -167,13 +155,25 @@ #define NNTP_STRLEN 512 /* + * OVERVIEW.FMT field types + */ +enum f_type { OVER_T_ERROR, OVER_T_INT, OVER_T_STRING, OVER_T_FSTRING }; + +/* * CAPABILITIES + * remember to update init.c and nntplib.c:check_extensions() if you change + * t_capabilities */ +enum extension_type { NONE, CAPABILITIES, BROKEN }; + +enum sasl_types { SASL_NONE = 0, SASL_PLAIN = 1, SASL_CRAM_MD5 = 2, SASL_DIGEST_MD5 = 4, SASL_GSSAPI = 8, SASL_EXTERNAL = 16, SASL_OTP = 32, SASL_NTLM = 64, SASL_LOGIN = 128 }; +enum c_algorithms { COMPRESS_NONE, COMPRESS_DEFLATE }; + struct t_capabilities { - unsigned int type:3; /* none, LIST EXTENSIONS, CAPABILITIES */ + enum extension_type type; /* NONE, CAPABILITIES, BROKEN */ unsigned int version; /* CAPABILITIES version */ t_bool mode_reader:1; /* MODE-READER: "MODE READER" */ - t_bool reader:1; /* READER: "ARTCILE", "BODY", "LISTGROUP" */ + t_bool reader:1; /* READER: "ARTCILE", "BODY", "DATE", "GROUP", "LAST", "LISTGROUP", "NEWGROUPS", "NEXT" */ t_bool post:1; /* POST */ t_bool list_active:1; /* LIST ACTIVE */ t_bool list_active_times:1; /* LIST ACTIVE.TIMES, optional */ @@ -185,6 +185,7 @@ struct t_capabilities { t_bool list_subscriptions:1; /* LIST SUBSCRIPTIONS, "private" extension, RFC 2980 */ t_bool list_distributions:1; /* LIST DISTRIBUTIONS, "private" extension, RFC 2980 */ t_bool list_moderators:1; /* LIST MODERATORS, "private" extension */ + t_bool list_counts:1; /* LIST COUNTS, "private" extension */ t_bool xpat:1; /* XPAT, "private" extension, RFC 2980 */ t_bool hdr:1; /* HDR: "HDR", "LIST HEADERS" */ const char *hdr_cmd; /* [X]HDR */ @@ -196,15 +197,15 @@ struct t_capabilities { t_bool starttls:1; /* STARTTLS */ t_bool authinfo_user:1; /* AUTHINFO USER/PASS */ t_bool authinfo_sasl:1; /* AUTHINFO SASL */ + t_bool authinfo_state:1; /* AUTHINFO not supported in curent state */ + enum sasl_types sasl; /* SASL_NONE, SASL_PLAIN, SASL_CRAM_MD5, SASL_DIGEST_MD5, SASL_GSSAPI, SASL_EXTERNAL, SASL_OTP, SASL_NTLM, SASL_LOGIN */ + t_bool compress:1; /* COMPRESS */ + enum c_algorithms compress_algorithm; /* COMPRESS_NONE, COMPRESS_DEFLATE */ #if 0 - t_bool sasl_cram_md5:1; /* SASL CRAM-MD5 */ - t_bool sasl_digest_md5:1; /* SASL DIGEST-MD5 */ - t_bool sasl_plain:1; /* SASL PLAIN */ - t_bool sasl_gssapi:1; /* SASL GSSAPI */ - t_bool sasl_external:1; /* SASL EXTERNAL */ t_bool streaming:1; /* STREAMING: "MODE STREAM", "CHECK", "TAKETHIS" */ t_bool ihave:1; /* IHAVE: "IHAVE" */ #endif /* 0 */ + t_bool broken_listgroup:1; /* LISTGROUP doesn't select newsgroup */ }; #endif /* !NNTPLIB_H */ diff -Nurp --exclude='.bzr*' tin-1.8.3/include/oldconfig.h tin-2.0.0/include/oldconfig.h --- tin-1.8.3/include/oldconfig.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/oldconfig.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,422 +0,0 @@ -/* - * Project : tin - a Usenet reader - * Module : config.h - * Author : I.Lea - * Created : 1992-09-03 - * Updated : 2001-07-22 - * Notes : #defines to determine different OS capabilites - * - * Copyright (c) 1995-2006 Iain Lea - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS - * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -/* functions that we'll assume we have unless there's a special reason */ -#define HAVE_GETCWD -#define HAVE_MKDIR -#define HAVE_TZSET -#define HAVE_MEMCMP -#define HAVE_MEMCPY -#define HAVE_MEMSET -#define HAVE_STRCHR -#define HAVE_STRTOL -#define HAVE_STRPBRK -#define HAVE_STRSTR -#define HAVE_STRERROR -#define HAVE_STRFTIME -#define HAVE_ATOL - -/* - * Undef this only for specific platforms - */ -#if !defined(__STDC__) -#define const /*nothing*/ -#endif - -/* VAXC cant tell the difference between 'varA' and 'vara' */ -/* and, what a surprise, suffers from a limit of 31 chars for vars */ - -#if defined(VMS) -# if defined(VAXC) || defined(__DECC) -# define CASE_PROBLEM -# define VAR_LENGTH_PROBLEM -# undef const -# endif -#endif - -#if !defined(M_AMIGA) && !defined(M_OS2) && !defined(M_UNIX) && !defined(WIN32) && !defined(VMS) -# define M_UNIX -#endif - -#ifndef VMS -# define HAVE_UNLINK -#endif - -#ifdef VMS -# define HAVE_IS_XTERM -#endif - -#if defined(M_XENIX) -# define HAVE_PROTOTYPES_H -#endif - -#if defined(AUX) || defined(EPIX) || defined (__hpux) || defined(PTX) -# define HAVE_TERMIO_H -#endif - -#if defined(QNX42) || defined(UMAXV) -# define HAVE_TERMIOS_H -#endif - -#if defined(_POSIX_SOURCE) || defined(__386BSD__) || defined(DGUX) || \ - defined(SVR4) || defined(UMAXV) || defined(__NetBSD__) -# if !defined(M_OS2) -# define HAVE_POSIX_JC -# endif -#endif - -#if defined(M_OS2) || defined(SVR4) || defined(M_AMIGA) -# define HAVE_LOCALE_H -#endif - -#if defined(SVR4) || defined(M_AMIGA) -# define HAVE_SETLOCALE -# undef sinix /* SNI Sinix (nsc32000) */ -#endif - -#if defined(SIGCHLD) || defined(__hpux) -# define HAVE_SYS_WAIT_H -#endif - -#if !defined(M_OS2) && !defined(WIN32) -# define HAVE_PWD_H -#endif - -#if !defined(M_OS2) && !defined(WIN32) && !defined(VMS) -# define HAVE_SYS_PARAM_H -#endif - -#if !defined(gould) && !defined(MACH) && \ - !defined(mips) && !defined(__NeXT__) && !defined(M_OS2) && \ - !defined(WIN32) && !defined(M_AMIGA) -# define HAVE_UNISTD_H -#endif - -#if !defined(COHERENT) && !defined(MINIX) && \ - !defined(M_OS2) && !defined(WIN32) && !defined(VMS) -# define HAVE_SYS_IOCTL_H -#endif - -#if !defined(BSD) && \ - !defined(M_OS2) && !defined(sinix) && \ - !defined(WIN32) && !defined(VMS) && \ - !defined(M_AMIGA) -# define HAVE_SYS_UTSNAME_H -#endif - -#if !defined(EPIX) && !defined(pyr) && \ - !defined(sequent) && !defined(UTS) && \ - !defined(u3b2) -# define HAVE_STDLIB_H -#endif - -/* - * prefer if we can get it, because it's ANSI - */ -#if defined(BSD) && !defined(__STDC__) -# undef HAVE_STRCHR -# define HAVE_STRINGS_H -#else -# define HAVE_STRING_H -#endif - -#if defined(BSD) || defined(EPIX) || \ - defined(M_OS2) || defined(__osf__) || defined(UMAXV) || defined(WIN32) -# define HAVE_FCNTL_H -#endif - -#if !defined(__hpux) -# define HAVE_SYS_STREAM_H -#endif - -#if !defined(COHERENT) && !defined(__hpux) && \ - !defined(M_OS2) && !defined(QNX42) && !defined(sinix) && \ - !defined(UMAXV) && !defined(WIN32) -# define HAVE_SYS_PTEM_H -#endif - -#if !defined(COHERENT) && !defined(M_OS2) && \ - !defined(QNX42) && !defined(SCO_UNIX) && !defined(sinix) && \ - !defined(SVR4) && !defined(WIN32) -# define HAVE_SYS_PTY_H -# define XWIN /* stops ISC bitching */ -#endif - -#if defined(__386BSD__) || defined(BSD) || \ - defined(__hpux) || defined(M_OS2) || \ - defined(__osf__) || defined(sinix) || \ - defined(UMAXV) || defined(M_AMIGA) -# define HAVE_NETDB_H -#endif - -#if defined(M_OS2) || defined(WIN32) -# define HAVE_NETLIB_H -#endif - -#if !defined(pyr) -# define HAVE_TIME_H -#endif - -#if !defined(M_OS2) && !defined(SCO_UNIX) && !defined(u3b2) && \ - !defined(WIN32) && !defined(VMS) -# define HAVE_SYS_TIME_H -#endif - -#if defined(SCO_UNIX) || defined(u3b2) -# define HAVE_SYS_TIMES_H -#endif - -#if !defined(VMS) -# define TIME_WITH_SYS_TIME -#endif - -#if defined(PTX) || defined(QNX42) || defined(SCO_UNIX) -# define HAVE_SYS_SELECT_H -#endif - -#if defined(COHERENT) || defined(M_OS2) || \ - defined(QNX42) || defined(WIN32) || defined(VMS) -# define HAVE_ERRNO_H -#endif - -#ifdef WIN32 -#define USE_CURSES 1 -#endif - -#ifndef VMS -#define DECL_ERRNO -#endif - -#if defined(__GNUC__) || defined(HAVE_POSIX_JC) -# define RETSIGTYPE void -#else -# if defined(sony) -# define RETSIGTYPE int -# else -# if __STDC__ || defined(atthcx) || defined(__hpux) || \ - defined(__osf__) || defined(M_OS2) || defined(PTX) || \ - defined(sinix) || \ - defined(SVR4) || \ - defined(u3b2) || defined(ultrix) || defined(WIN32) -# define RETSIGTYPE void -# else -# define RETSIGTYPE int -# endif -# endif -#endif - -#if defined(M_OS2) || defined(SVR4) || \ - defined(WIN32) -# if !defined(HAVE_COMPTYPE_CHAR) -# define HAVE_COMPTYPE_VOID -# endif -#else -# if !defined(HAVE_COMPTYPE_VOID) -# define HAVE_COMPTYPE_CHAR -# endif -#endif - -#if !defined(__GNUC__) -# define DECL_TGETSTR -#endif - -#undef DONT_HAVE_TM_GMTOFF - -#if defined(AUX) || defined(BSD) || \ - defined(PTX) || defined(QNX42) || \ - defined(sinix) || defined(UMAXV) || \ - defined(WIN32) -# define HAVE_LONG_FILE_NAMES -#endif - -#if defined(M_OS2) || defined(sinix) || \ - defined(UMAXV) || defined(VMS) -# define HAVE_GETHOSTBYNAME -#endif - -/* - * Used in tin.h - */ - -#if defined(M_UNIX) -# define HAVE_COREFILE -#endif - -#if defined(M_UNIX) -# define HAVE_SET_GID_UID -#endif - -#if defined(M_UNIX) && !defined(__386BSD__) && !defined(__NeXT__) -# define HAVE_UNAME -#endif - -#if defined(MACH) || defined(__NeXT__) || \ - defined(M_OS2) || defined(M_AMIGA) -# define DONT_HAVE_SIGWINCH -#endif - -#if defined(BSD) || defined(EPIX) && !defined(__386BSD__) && \ - !defined(sinix) -# undef HAVE_GETCWD -#endif - -#if defined(pyr) || defined(sequent) -# undef HAVE_MEMCMP -#endif - -#if defined(pyr) -# undef HAVE_MEMCPY -#endif - -#if defined(pyr) -# undef HAVE_MEMSET -#endif - -#if (defined(BSD) && defined(sequent)) -# undef HAVE_STRTOL -#endif - -#if defined(__arm) || defined(COHERENT) || defined(pyr) || defined(sequent) -# undef HAVE_TZSET -#endif - -/* - * Used in parsedate.y - */ - -#if defined(__arm) || defined(__convex__) || \ - defined(DGUX) || defined(pyr) || defined(sequent) || !defined(BSD) -# define DONT_HAVE_TM_GMTOFF -#endif - -/* - * Use poll()/select() - */ - -#if defined(SVR4) || defined(__hp9000s700) || defined(__hp9000s900) || \ - defined(HAVE_POLL) -# if !defined(__hpux) -# define HAVE_STROPTS_H -# endif -# define HAVE_POLL_H -# if !defined(HAVE_POLL) -# define HAVE_POLL -# endif -# undef HAVE_SELECT -#endif - -#if !defined(COHERENT) && !defined(M_OS2) && !defined(supermax) && !defined(u3b2) && \ - !defined(HAVE_POLL) && !defined(WIN32) && !defined(M_AMIGA) -# define HAVE_SELECT -#endif - -#if defined(COHERENT) -# define HAVE_SETTZ -#endif - -#if defined(M_UNIX) -# define HAVE_FORK -#endif - -#if defined(M_OS2) || defined(SVR4) -# define HAVE_STRFTIME -#endif - -#if !defined(M_OS2) && !defined(VMS) -# define HAVE_SYS_ERRLIST -#endif - -#if defined(__hpux) -# define HAVE_KEYPAD -#endif - -#if defined(sinix) -# undef HAVE_SYS_STREAM_H -# undef HAVE_MKDIR -#endif - -#if defined(QNX42) -# define HAVE_TCGETATTR -# define HAVE_TCSETATTR -#endif - -#if defined(QNX42) || defined(VMS) || defined(M_AMIGA) -# define HAVE_KEY_PREFIX -#endif - -#if defined(M_UNIX) || defined (M_AMIGA) -# define HAVE_METAMAIL -#endif - -#if defined(BSD) || defined(__osf__) || defined(_POSIX_SOURCE) -# define HAVE_REWINDDIR -#endif - -/* - * Various hacks used to try and get a compile on the strange ones... - */ - -#if defined(u3b2) -# define size_t unsigned long int -#endif - -/* - * Lets try and be a wise ass and make a nntp able binary - * for machines where the netlibs are in the libc library - */ - -#if defined(BSD) -# if !defined(NNTP_ABLE) -# define NNTP_ABLE -# endif -#endif - -/* - * UCX (aka TCP/IP services for OpenVMS doesn't implement getservbyname - */ - -#define HAVE_GETSERVBYNAME -#if defined(VMS) && defined(UCX) -# undef HAVE_GETSERVBYNAME -#endif - -/* - * closedir() on Amiga is of return type void - */ -#ifdef M_AMIGA -# define CLOSEDIR_VOID -#endif /* M_AMIGA */ diff -Nurp --exclude='.bzr*' tin-1.8.3/include/plp_snprintf.h tin-2.0.0/include/plp_snprintf.h --- tin-1.8.3/include/plp_snprintf.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/plp_snprintf.h 2011-04-17 16:04:29.574939469 +0200 @@ -1,6 +1,6 @@ /* * includes/defines/declarations which are already done by tin.h - * but might be needed if you use plp_snprintf() in other programms + * but might be needed if you use plp_snprintf() in other programs */ #ifndef PLP_SNPRINTF_H diff -Nurp --exclude='.bzr*' tin-1.8.3/include/policy.h tin-2.0.0/include/policy.h --- tin-1.8.3/include/policy.h 2006-08-16 16:28:43.000000000 +0200 +++ tin-2.0.0/include/policy.h 2011-08-10 21:43:06.296381505 +0200 @@ -3,10 +3,10 @@ * Module : policy.h * Author : Ralf Doeblitz * Created : 1999-01-12 - * Updated : 2006-08-16 + * Updated : 2011-07-18 * Notes : #defines and static data for policy configuration * - * Copyright (c) 1999-2006 Ralf Doeblitz + * Copyright (c) 1999-2011 Ralf Doeblitz * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -115,6 +115,7 @@ * .ke Kenya .kg Kyrgystan * .kh Cambodia .ki Kiribati * .km Comoros .kn Saint Kitts and Nevis + * .kp Korea, Democratic People's Republic * .kr Korea, Republic of .kw Kuwait * .ky Cayman Islands .kz Kazakhstan * @@ -126,16 +127,16 @@ * .lv Latvia .ly Libyan Arab Jamahiriya * * .ma Morocco .mc Monaco - * .md Moldova, Republic of .mg Madagascar - * .mh Marshall Islands .mk Macedonia - * .ml Mali .mm Myanmar - * .mn Mongolia .mo Macau - * .mp Northern Mariana Islands .mq Martinique - * .mr Mauritania .ms Montserrat - * .mt Malta .mu Mauritius - * .mv Maldives .mw Malawi - * .mx Mexico .my Malaysia - * .mz Mozambique + * .md Moldova, Republic of .me Montenegro + * .mg Madagascar .mh Marshall Islands + * .mk Macedonia .ml Mali + * .mm Myanmar .mn Mongolia + * .mo Macau .mp Northern Mariana Islands + * .mq Martinique .mr Mauritania + * .ms Montserrat .mt Malta + * .mu Mauritius .mv Maldives + * .mw Malawi .mx Mexico + * .my Malaysia .mz Mozambique * * .na Namibia .nc New Caledonia * .ne Niger .nf Norfolk Island @@ -157,7 +158,8 @@ * .qa Qatar * * .re Reunion .ro Romania - * .ru Russian Federation .rw Rwanda + * .rs Republic of Serbia .ru Russian Federation + * .rw Rwanda * * .sa Saudi Arabia .sb Solomon Islands * .sc Seychelles .sd Sudan @@ -182,7 +184,6 @@ * * .ua Ukraine .ug Uganda * .uk United Kingdom - * .um United States Minor Outlying Islands * .us United States .uy Uruguay * .uz Uzbekistan * @@ -194,7 +195,6 @@ * .wf Wallis and Futuna Islands .ws Western Samoa * * .ye Yemen .yt Mayotte - * .yu Yugoslavia * * .za South Africa .zm Zambia * .zw Zimbabwe @@ -205,7 +205,10 @@ * .cs former Czechoslovakia, now .cz and .sk * .dd former German Democratic Republic, now .de * .fx France, Metropolitan + * .oz Australian MHSnet + * .um United States Minor Outlying Islands * .yd Democratic Yemen, now .ye + * .yu Yugoslavia, now .rs and .me * .wg West Bank and Gaza, now .ps * .zr former Zaire, now .cd * @@ -213,22 +216,20 @@ * .aa, .qm, .qz, .xa, .xz, .zz * * unused TLDs: - * .bv Bouvet Island + * .bv Bouvet Island (Norway) * .eh Western Sahara - * .kp Korea, Democratic People's Republic + * .gb United Kingdom, use .uk * .nt Neutral Zone - * .sj Svalbard and Jan Mayen Islands + * .sj Svalbard and Jan Mayen Islands (Norway) * * requested new TLDs: - * .cs Serbia and Montenegro * .ct Catalonia + * .ss South Sudan * * xccTLDs: - * .gb United Kingdom, use .uk * .hk Hong Kong, now .cn * .su former USSR, now .ru * .tp former East Timor, now .tl - * .yu former Yugoslavia */ static char gnksa_country_codes[26*26] = { @@ -239,25 +240,25 @@ static char gnksa_country_codes[26*26] = /* D */ 0,0,0,0,1, 0,0,0,0,1, 1,0,1,0,1, 0,0,0,0,0, 0,0,0,0,0,1, /* E */ 0,0,1,0,1, 0,1,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,0,0,0,0,0, /* F */ 0,0,0,0,0, 0,0,0,1,1, 1,0,1,0,1, 0,0,1,0,0, 0,0,0,0,0,0, -/* G */ 1,1,0,1,1, 1,1,1,1,0, 0,1,1,1,0, 1,1,1,1,1, 1,0,1,0,1,0, +/* G */ 1,0,0,1,1, 1,1,1,1,0, 0,1,1,1,0, 1,1,1,1,1, 1,0,1,0,1,0, /* H */ 0,0,0,0,0, 0,0,0,0,0, 1,0,1,1,0, 0,0,1,0,1, 1,0,0,0,0,0, /* I */ 0,0,0,1,1, 0,0,0,0,0, 0,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0,0, /* J */ 0,0,0,0,1, 0,0,0,0,0, 0,0,1,0,1, 1,0,0,0,0, 0,0,0,0,0,0, -/* K */ 0,0,0,0,1, 0,1,1,1,0, 0,0,1,1,0, 0,0,1,0,0, 0,0,1,0,1,1, +/* K */ 0,0,0,0,1, 0,1,1,1,0, 0,0,1,1,0, 1,0,1,0,0, 0,0,1,0,1,1, /* L */ 1,1,1,0,0, 0,0,0,1,0, 1,0,0,0,0, 0,0,1,1,1, 1,1,0,0,1,0, -/* M */ 1,0,1,1,0, 0,1,1,0,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,1, +/* M */ 1,0,1,1,1, 0,1,1,0,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,1, /* N */ 1,0,1,0,1, 1,1,0,1,0, 0,1,0,0,1, 1,0,1,0,0, 1,0,0,0,0,1, /* O */ 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0,0, /* P */ 1,0,0,0,1, 1,1,1,0,0, 1,1,1,1,0, 0,0,1,1,1, 0,0,1,0,1,0, /* Q */ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,0, -/* R */ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 1,0,1,0,0,0, +/* R */ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,1,0, 1,0,1,0,0,0, /* S */ 1,1,1,1,1, 0,1,1,1,0, 1,1,1,1,1, 0,0,1,0,1, 1,1,0,0,1,1, /* T */ 0,0,1,1,0, 1,1,1,0,1, 1,1,1,1,1, 1,0,1,0,1, 0,1,1,0,0,1, -/* U */ 1,0,0,0,0, 0,1,0,0,0, 1,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1,1, +/* U */ 1,0,0,0,0, 0,1,0,0,0, 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,1,1, /* V */ 1,0,1,0,1, 0,1,0,1,0, 0,0,0,1,0, 0,0,0,0,0, 1,0,0,0,0,0, /* W */ 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0,0, /* X */ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,0, -/* Y */ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 1,0,0,0,0,0, +/* Y */ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,0, /* Z */ 1,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,1,0,0,0 /* A B C D E F G H I J K L M N O P Q R S T U V W X Y Z */ }; @@ -277,8 +278,11 @@ static const char *gnksa_domain_list[] = "net", /* Networks */ "org", /* Organizations */ "pro", /* Accountants, lawyers, and physicians */ + "tel", /* Internet communication */ + "xxx", /* For adult entertainment */ "aero", /* Air-transport industry */ "arpa", /* Address and Routing Parameter Area */ + "asia", /* Asia and the Pacific */ "coop", /* Non-profit cooperatives */ "info", /* Unrestricted use */ "jobs", /* Human resource managers */ @@ -287,13 +291,14 @@ static const char *gnksa_domain_list[] = "museum", /* Museums */ "travel", /* Travel industry */ /* - * more gTLDs to come >=2006, proposed are: - * .asia .mail .kids (.berlin) - * .post .tel .xxx (.sco) + * more gTLDs to come, proposed are: + * .kids .mail .post + * (.berlin) (.sco) (.bzh) (.cym) (.gal) */ # if 0 /* $DEAD */ "nato", "uucp", + "csnet", "bitnet", # endif /* 0 */ /* the next four are defined in RFC 2606 */ @@ -307,6 +312,57 @@ static const char *gnksa_domain_list[] = # ifdef TINC_DNS "bofh", /* There Is No Cabal */ # endif /* TINC_DNS */ + /* active IDN ccTLDs */ + "xn--lgbbat1ad8j", /* Algeria */ + "xn--fiqs8s", /* China, Simplified Chinese */ + "xn--fiqz9s", /* China, Traditional Chinese */ + "xn--wgbh1c", /* Egypt */ + "xn--j6w193g", /* Hong Kong, Han */ + "xn--45brj9c", /* India, Bengali */ + "xn--gecrj9c", /* India, Gujarati */ + "xn--h2brj9c", /* India, Hindi */ + "xn--s9brj9c", /* India, Punjabi */ + "xn--xkc2dl3a5ee0h", /* India, Tamil */ + "xn--fpcrj9c3d", /* India, Telugu */ + "xn--mgbbh1a71e", /* India, Urdu */ + "xn--mgbayh7gpa", /* Jordan */ + "xn--3e0b707e", /* Korea, Republic of */ + "xn--mgbc0a9azcg", /* Morocco */ + "xn--ygbi2ammx", /* Palestinian Territory */ + "xn--wgbl6a", /* Qatar */ + "xn--p1ai", /* Russian Federation */ + "xn--mgberp4a5d4ar", /* Saudi Arabia */ + "xn--90a3ac", /* Serbia */ + "xn--yfro4i67o", /* Singapore, Chinese */ + "xn--clchc0ea0b2g2a9gcd", /* Singapore, Tamil */ + "xn--fzc2c9e2c", /* Sri Lanka, Sinhala */ + "xn--xkc2al3hye2a", /* Sri Lanka, Tamil */ + "xn--ogbpf8fl", /* Syrian Arab Republic */ + "xn--kpry57d", /* Taiwan, Simplified Chinese */ + "xn--kprw13d", /* Taiwan, Traditional Chinese */ + "xn--o3cw4h", /* Thailand */ + "xn--pgbs0dh", /* Tunisia */ + "xn--mgbaam7a8h", /* United Arab Emirates */ +# if 0 + /* purposed IDN ccTLDs */ + "xn--54b7fta0cc", /* Bangladesh */ + "xn--node", /* Georgia */ + "xn--mgba3a4f16a", /* Iran */ + "xn--mgb9awbf", /* Oman */ + "xn--mgbai9azgqp6j", /* Pakistan */ + "xn--j1amh", /* Ukraine */ + "xn--mgb2ddes", /* Yemen */ +# endif /* 0 */ +# if 0 + /* Desired Variant String(s) */ + "xn--mgba3a4fra", /* Iran */ + "xn--mgbai9a5eva00b", /* Pakistan */ + "xn--mgberp4a5d4a87g", /* Saudi Arabia */ + "xn--mgbqly7c0a67fbc", /* Saudi Arabia */ + "xn--mgbqly7cvafr", /* Saudi Arabia */ + "xn--mgbtf8fl", /* Syria */ + "xn--nnx388a", /* Taiwan */ +# endif /* 0 */ /* sentinel */ "" }; diff -Nurp --exclude='.bzr*' tin-1.8.3/include/proto.h tin-2.0.0/include/proto.h --- tin-1.8.3/include/proto.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/proto.h 2011-04-17 17:32:35.295777312 +0200 @@ -3,10 +3,10 @@ * Module : proto.h * Author : Urs Janssen * Created : - * Updated : 2005-10-19 + * Updated : 2011-04-17 * Notes : * - * Copyright (c) 1997-2006 Urs Janssen + * Copyright (c) 1997-2011 Urs Janssen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -54,6 +54,7 @@ /* active.c */ extern char group_flag(char ch); extern int find_newnews_index(const char *cur_newnews_host); +extern int read_news_active_file(void); extern t_bool match_group_list(const char *group, const char *group_list); extern t_bool parse_active_line(char *line, long *max, long *min, char *moderated); extern t_bool process_bogus(char *name); @@ -61,9 +62,9 @@ extern t_bool need_reread_active_file(vo extern t_bool resync_active_file(void); extern void create_save_active_file(void); extern void load_newnews_info(char *info); -extern void read_news_active_file(void); /* art.c */ +extern int find_artnum(long art); extern int global_get_multipart_info(int aindex, MultiPartInfo *setme); extern t_bool index_group(struct t_group *group); extern void do_update(t_bool catchup); @@ -72,10 +73,12 @@ extern void make_threads(struct t_group extern void set_article(struct t_article *art); extern void show_art_msg(const char *group); extern void sort_arts(unsigned /* int */ sort_art_type); -extern void write_overview(struct t_group *group); /* attrib.c */ -extern void read_attributes_files(void); +extern int add_scope(const char *scope); +extern void assign_attributes_to_groups(void); +extern void build_news_headers_array(struct t_attribute *scope, t_bool header_to_display); +extern void read_attributes_file(t_bool global_file); extern void write_attributes_file(const char *file); /* auth.c */ @@ -84,13 +87,12 @@ extern void write_attributes_file(const #endif /* NNTP_ABLE */ /* charset.c */ -extern char *convert_to_printable(char *buf); -extern char *convert_body2printable(char* buf); +extern char *convert_to_printable(char *buf, t_bool keep_tab); extern t_bool is_art_tex_encoded(FILE *fp); -extern void convert_iso2asc(char *iso, char **asc_buffer, int *max_line_len, int t); +extern void convert_iso2asc(char *iso, char **asc_buffer, size_t *max_line_len, int t); extern void convert_tex2iso(char *from, char *to); #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - extern wchar_t *wconvert_to_printable(wchar_t *wbuf); + extern wchar_t *wconvert_to_printable(wchar_t *wbuf, t_bool keep_tab); #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ /* color.c */ @@ -98,6 +100,9 @@ extern void draw_pager_line(const char * #ifdef HAVE_COLOR extern void bcol(int color); extern void fcol(int color); +# ifdef USE_CURSES + extern void free_color_pair_arrays(void); +# endif /* USE_CURSES */ #endif /* HAVE_COLOR */ /* config.c */ @@ -116,8 +121,8 @@ extern void write_config_file(char *file /* cook.c */ extern const char *get_filename(t_param *ptr); -extern t_bool cook_article(t_bool wrap_lines, t_openartinfo *artinfo, int tabs, int hide_uue); -extern t_bool expand_ctrl_chars(char **line, int *length, size_t cook_width); +extern t_bool cook_article(t_bool wrap_lines, t_openartinfo *artinfo, int hide_uue, t_bool show_all_headers); +extern t_bool expand_ctrl_chars(char **line, size_t *length, size_t lcook_width); /* curses.c */ extern OUTC_RETTYPE outchar(OUTC_ARGS); @@ -125,7 +130,9 @@ extern int InitScreen(void); extern int RawState(void); extern int ReadCh(void); extern int get_arrow_key(int prech); -extern int get_termcaps(void); +#if defined(M_UNIX) && !defined(USE_CURSES) + extern int get_termcaps(void); +#endif /* M_UNIX && !USE_CURSES */ extern void EndInverse(void); extern void EndWin(void); extern void InitWin(void); @@ -150,6 +157,9 @@ extern void word_highlight_string(int ro extern void MoveCursor(int row, int col); extern void ScrollScreen(int lines_to_scroll); extern void SetScrollRegion(int topline, int bottomline); +# ifdef HAVE_COLOR + extern void reset_screen_attr(void); +# endif /* HAVE_COLOR */ #endif /* USE_CURSES */ #if 0 extern void ToggleInverse(void); @@ -158,29 +168,21 @@ extern void word_highlight_string(int ro /* debug.c */ #ifdef DEBUG extern void debug_delete_files(void); - extern void debug_nntp(const char *func, const char *fmt, ...); + extern void debug_print_file(const char *fname, const char *fmt, ...); extern void debug_print_active(void); extern void debug_print_arts(void); + extern void debug_print_bitmap(struct t_group *group, struct t_article *art); + extern void debug_print_comment(const char *comment); extern void debug_print_filters(void); extern void debug_print_header(struct t_article *s); extern void debug_print_malloc(int is_malloc, const char *xfile, int line, size_t size); -# ifdef NNTP_ABLE - extern void debug_print_nntp_extensions(void); -# endif /* NNTP_ABLE */ #endif /* DEBUG */ -#ifdef DEBUG_NEWSRC - extern void debug_print_newsrc(struct t_newsrc *NewSrc, FILE *fp); -#endif /* DEBUG_NEWSRC */ -#if defined(DEBUG) || defined(DEBUG_NEWSRC) - extern void debug_print_bitmap(struct t_group *group, struct t_article *art); - extern void debug_print_comment(const char *comment); -#endif /* DEBUG || DEBUG_NEWSRC */ /* envarg.c */ extern void envargs(int *Pargc, char ***Pargv, const char *envstr); /* feed.c */ -extern void feed_articles(int function, int level, struct t_group *group, int respnum); +extern int feed_articles(int function, int level, t_function type, struct t_group *group, int respnum); /* filter.c */ extern t_bool filter_articles(struct t_group *group); @@ -190,7 +192,7 @@ extern t_bool quick_filter_select_posted extern t_bool read_filter_file(const char *file); extern void free_filter_array(struct t_filters *ptr); extern void refresh_filter_menu(void); -extern void unfilter_articles(void); +extern void unfilter_articles(struct t_group *group); extern void write_filter_file(const char *filename); /* getline.c */ @@ -212,8 +214,8 @@ extern void scroll_up(void); extern void set_first_screen_item(void); /* group.c */ -extern int find_new_pos(int old_top, long old_artnum, int cur_pos); extern int group_page(struct t_group *group); +extern t_bool group_mark_postprocess(int function, t_function feed_type, int respnum); extern void clear_note_area(void); extern void mark_screen(int screen_row, int screen_col, const char *value); extern void pos_first_unread_thread(void); @@ -246,11 +248,14 @@ extern void get_user_info(char *user_nam extern void init_selfinfo(void); extern void postinit_regexp(void); #ifdef HAVE_COLOR - extern void postinit_colors(void); + extern void postinit_colors(int last_color); #endif /* HAVE_COLOR */ +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + extern t_bool utf8_pcre(void); +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ /* joinpath.c */ -extern void joinpath(char *result, const char *dir, const char *file); +extern void joinpath(char *result, size_t result_size, const char *dir, const char *file); /* keymap.c */ extern t_bool read_keymap_file(void); @@ -264,9 +269,9 @@ extern void setup_default_keys(void); /* list.c */ extern char *random_organization(char *in_org); -extern int find_group_index(const char *group); +extern int find_group_index(const char *group, t_bool ignore_case); extern struct t_group *group_add(const char *group); -extern struct t_group *group_find(const char *group_name); +extern struct t_group *group_find(const char *group_name, t_bool ignore_case); extern unsigned long hash_groupname(const char *group); extern void group_rehash(t_bool yanked_out); extern void init_group_hash(void); @@ -303,12 +308,12 @@ extern void expand_active(void); extern void expand_art(void); extern void expand_newnews(void); extern void expand_save(void); +extern void expand_scope(void); extern void init_alloc(void); extern void free_all_arrays(void); extern void free_art_array(void); -extern void free_attributes_array(void); -extern void free_if_not_default(char **attrib, char *deflt); extern void free_save_array(void); +extern void free_scope(int num); extern void *my_malloc1(const char *file, int line, size_t size); extern void *my_calloc1(const char *file, int line, size_t nmemb, size_t size); extern void *my_realloc1(const char *file, int line, void *p, size_t size); @@ -336,11 +341,10 @@ extern int gnksa_split_from(const char * extern int get_initials(int respnum, char *s, int maxsize); extern int gnksa_do_check_from(const char *from, char *address, char *realname); extern int my_chdir(char *path); -extern int my_isprint(int c); extern int my_mkdir(char *path, mode_t mode); extern int parse_from(const char *from, char *address, char *realname); extern int strfmailer(const char *mail_prog, char *subject, char *to, const char *filename, char *dest, size_t maxsize, const char *format); -extern int strfpath(const char *format, char *str, size_t maxsize, struct t_group *group); +extern int strfpath(const char *format, char *str, size_t maxsize, struct t_group *group, t_bool expand_all); extern int strfquote(const char *group, int respnum, char *s, size_t maxsize, char *format); extern int tin_version_info(FILE *fp); extern long file_mtime(const char *file); @@ -348,11 +352,11 @@ extern long file_size(const char *file); extern t_bool backup_file(const char *filename, const char *backupname); extern t_bool copy_fp(FILE *fp_ip, FILE *fp_op); extern t_bool invoke_cmd(const char *nam); -extern t_bool invoke_editor(const char *filename, int lineno); +extern t_bool invoke_editor(const char *filename, int lineno, struct t_group *group); extern t_bool mail_check(void); extern void append_file(char *old_filename, char *new_filename); extern void asfail(const char *file, int line, const char *cond); -extern void base_name(const char *fullpath, char *program); +extern void base_name(const char *fullpath, char *file); extern void cleanup_tmp_files(void); extern void copy_body(FILE *fp_ip, FILE *fp_op, char *prefix, char *initl, t_bool raw_data); extern void create_index_lock_file(char *the_lock_file); @@ -361,9 +365,9 @@ extern void draw_mark_selected(int i); extern void draw_percent_mark(long cur_num, long max_num); extern void get_author(t_bool thread, struct t_article *art, char *str, size_t len); extern void get_cwd(char *buf); -extern void make_base_group_path(const char *base_dir, const char *group_name, char *group_path); +extern void make_base_group_path(const char *base_dir, const char *group_name, char *group_path, size_t group_path_len); extern void make_group_path(const char *name, char *path); -extern void process_charsets(char **line, int *max_line_len, const char *network_charset, const char *local_charset, t_bool conv_tex2iso); +extern void process_charsets(char **line, size_t *max_line_len, const char *network_charset, const char *local_charset, t_bool conv_tex2iso); extern void read_input_history_file(void); extern void rename_file(const char *old_filename, const char *new_filename); extern void show_inverse_video_status(void); @@ -373,6 +377,9 @@ extern void toggle_inverse_video(void); #if defined(CHARSET_CONVERSION) || (defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE)) extern char *utf8_valid(char *line); #endif /* CHARSET_CONVERSION || (MULTIBYTE_ABLE && !NO_LOCALE) */ +#if defined(NO_LOCALE) || !defined(MULTIBYTE_ABLE) + extern int my_isprint(int c); +#endif /* NO_LOCALE || !MULTIBYTE_ABLE */ #ifdef CHARSET_CONVERSION extern t_bool buffer_to_network(char *line, int mmnwcharset); #endif /* CHARSET_CONVERSION */ @@ -403,40 +410,38 @@ extern void delete_group(char *group); extern void expand_bitmap(struct t_group *group, long min); extern void grp_mark_read(struct t_group *group, struct t_article *art); extern void grp_mark_unread(struct t_group *group); -extern void parse_unread_arts(struct t_group *group); +extern void parse_unread_arts(struct t_group *group, long min); extern void reset_newsrc(void); extern void subscribe(struct t_group *group, int sub_state, t_bool get_info); extern void thd_mark_read(struct t_group *group, long thread); extern void thd_mark_unread(struct t_group *group, long thread); extern void set_default_bitmap(struct t_group *group); -#ifdef DEBUG_NEWSRC -# if 0 - extern void newsrc_test_harness(void); -# endif /* 0 */ -#endif /* DEBUG_NEWSRC */ /* nntplib.c */ extern FILE *get_nntp_fp(FILE *fp); -extern FILE *get_nntp_wr_fp(FILE *fp); +/* extern FILE *get_nntp_wr_fp(FILE *fp); */ extern char *getserverbyfile(const char *file); -extern char *get_server(char *string, int size); -extern int get_respcode(char *, size_t); -extern int get_only_respcode(char *, size_t); extern int nntp_open(void); extern void nntp_close(void); -extern void put_server(const char *string); -extern void u_put_server(const char *string); #ifdef NNTP_ABLE extern FILE *nntp_command(const char *, int, char *, size_t); + extern char *get_server(char *string, int size); + extern int get_respcode(char *, size_t); + extern int get_only_respcode(char *, size_t); + extern int new_nntp_command(const char *command, int success, char *message, size_t mlen); + extern void put_server(const char *string); + extern void u_put_server(const char *string); #endif /* NNTP_ABLE */ /* nrctbl.c */ -extern int get_newsrcname(char *newsrc_name, const char *nntpserver_name); -extern void get_nntpserver(char *nntpserver_name, char *nick_name); +extern t_bool get_newsrcname(char *newsrc_name, size_t newsrc_name_len, const char *nntpserver_name); +#ifdef NNTP_ABLE + extern void get_nntpserver(char *nntpserver_name, size_t nntpserver_name_len, char *nick_name); +#endif /* NNTP_ABLE */ /* options_menu.c */ extern char *fmt_option_prompt(char *dst, size_t len, t_bool editing, enum option_enum option); -extern int change_config_file(struct t_group *group); +extern void config_page(const char *grpname); extern int option_row(enum option_enum option); extern t_bool option_is_visible(enum option_enum option); extern void check_score_defaults(void); @@ -444,7 +449,7 @@ extern void refresh_config_page(enum opt extern void show_menu_help(const char *help_message); /* page.c */ -extern int show_page(struct t_group *group, int respnum, int *threadnum); +extern int show_page(struct t_group *group, int start_respnum, int *threadnum); extern void display_info_page(int part); extern void draw_page(const char *group, int part); extern void info_pager(FILE *info_fh, const char *title, t_bool wrap_at_ends); @@ -471,7 +476,8 @@ extern time_t parsedate(char *p, TIMEINF #endif /* !HAVE_VSNPRINTF */ /* post.c */ -extern char *checknadd_headers(const char *infile); +extern char *backup_article_name(const char *the_article); +extern char *checknadd_headers(const char *infile, struct t_group *group); extern int count_postponed_articles(void); extern int mail_to_author(const char *group, int respnum, t_bool copy_text, t_bool with_headers, t_bool raw_data); extern int mail_to_someone(const char *address, t_bool confirm_to_mail, t_openartinfo *artinfo, const struct t_group *group); @@ -485,8 +491,9 @@ extern t_bool reread_active_after_postin extern t_bool user_posted_messages(void); extern void init_postinfo(void); extern void quick_post_article(t_bool postponed_only); +extern void refresh_post_screen(int context); #ifdef USE_CANLOCK - extern const char *build_canlock(const char *messageid, const char *secret); + extern char *build_canlock(const char *messageid, const char *secret); extern char *get_secret(void); #endif /* USE_CANLOCK */ @@ -506,6 +513,7 @@ extern t_bool prompt_option_string(enum extern t_bool prompt_string(const char *prompt, char *buf, int which_hist); extern void prompt_continue(void); extern void prompt_slk_redraw(void); +extern void prompt_yn_redraw(void); /* read.c */ extern char *tin_fgets(FILE *fp, t_bool header); @@ -532,14 +540,14 @@ extern t_mailcap *get_mailcap_entry(t_pa extern void free_mailcap(t_mailcap *tmailcap); /* rfc2045.c */ -extern int read_decoded_base64_line(FILE *file, char **line, int *max_line_len, const int max_lines_to_read, char **rest); -extern int read_decoded_qp_line(FILE *file, char **line, int *max_line_len, const int max_lines_to_read); +extern int read_decoded_base64_line(FILE *file, char **line, size_t *max_line_len, const int max_lines_to_read, char **rest); +extern int read_decoded_qp_line(FILE *file, char **line, size_t *max_line_len, const int max_lines_to_read); extern void rfc1521_encode(char *line, FILE *f, int e); /* rfc2046.c */ extern FILE *open_art_fp(struct t_group *group, long art); extern const char *get_param(t_param *list, const char *name); -extern char *parse_header(char *buf, const char *pat, t_bool decode, t_bool structured); +extern char *parse_header(char *buf, const char *pat, t_bool decode, t_bool structured, t_bool keep_tab); extern int art_open(t_bool wrap_lines, struct t_article *art, struct t_group *group, t_openartinfo *artinfo, t_bool show_progress_meter, char *pmesg); extern int content_type(char *type); extern int parse_rfc822_headers(struct t_header *hdr, FILE *from, FILE *to); @@ -561,11 +569,13 @@ extern void compose_mail_text_plain(cons /* save.c */ extern int check_start_save_any_news(int function, t_bool catchup); extern t_bool create_path(const char *path); -extern t_bool expand_save_filename(char *outpath, const char *path); -extern t_bool post_process_files(t_function proc_type_type, t_bool auto_delete); +extern t_bool post_process_files(t_function proc_type_func, t_bool auto_delete); extern t_bool save_and_process_art(t_openartinfo *artinfo, struct t_article *artptr, t_bool is_mailbox, const char *inpath, int max, t_bool post_process); +extern t_part *get_part(int n); +extern t_url *find_url(int n); +extern void attachment_page(t_openartinfo *art); extern void decode_save_mime(t_openartinfo *art, t_bool postproc); -extern void print_art_seperator_line(FILE *fp, t_bool is_mailbox); +extern void print_art_separator_line(FILE *fp, t_bool is_mailbox); /* screen.c */ extern char *fmt_message(const char *fmt, va_list ap); @@ -573,7 +583,7 @@ extern void center_line(int line, t_bool extern void clear_message(void); extern void draw_arrow_mark(int line); extern void erase_arrow(void); -extern void error_message(const char *fmt, ...); +extern void error_message(unsigned int sdelay, const char *fmt, ...); extern void info_message(const char *fmt, ...); extern void perror_message(const char *fmt, ...); extern void ring_bell(void); @@ -590,10 +600,11 @@ extern int search(t_function func, int c extern int search_active(t_bool forward, t_bool repeat); extern int search_article(t_bool forward, t_bool repeat, int start_line, int lines, t_lineinfo *line, int reveal_ctrl_l_lines, FILE *fp); extern int search_body(struct t_group *group, int current_art, t_bool repeat); +extern int generic_search(t_bool forward, t_bool repeat, int current, int last, int level); extern void reset_srch_offsets(void); /* select.c */ -extern int add_my_group(const char *group, t_bool add); +extern int add_my_group(const char *group, t_bool add, t_bool ignore_case); extern int choose_new_group(void); extern int skip_newgroups(void); extern void selection_page(int start_groupnum, int num_cmd_line_groups); @@ -601,7 +612,7 @@ extern void show_selection_page(void); extern void toggle_my_groups(const char *group); /* sigfile.c */ -extern void msg_write_signature(FILE *fp, t_bool flag, struct t_group *thisgroup); +extern void msg_write_signature(FILE *fp, t_bool include_dot_signature, struct t_group *thisgroup); /* signal.c */ extern RETSIGTYPE(*sigdisp (int signum, RETSIGTYPE (*func)(SIG_ARGS))) (SIG_ARGS); @@ -624,6 +635,7 @@ extern char *strunc(const char *message, extern char *tin_ltoa(long value, int digits); extern char *tin_strtok(char *str, const char *delim); extern int sh_format(char *dst, size_t len, const char *fmt, ...); +extern int strwidth(const char *str); extern size_t mystrcat(char **t, const char *s); extern void my_strncpy(char *p, const char *q, size_t n); extern void str_lwr(char *str); @@ -663,11 +675,16 @@ extern void str_lwr(char *str); # define strrstr(s,p) my_strrstr(s,p) #endif /* !HAVE_STRRSTR */ #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + extern char *spart(const char *str, int columns, t_bool pad); extern char *wchar_t2char(const wchar_t *wstr); + extern wchar_t *abbr_wcsgroupname(const wchar_t *grpname, int len); extern wchar_t *char2wchar_t(const char *str); extern wchar_t *wcspart(const wchar_t *wstr, int columns, t_bool pad); + extern wchar_t *wexpand_tab(wchar_t *wstr, size_t tab_width); extern wchar_t *wstrunc(const wchar_t *wmessage, int len); - extern wchar_t *my_wcsdup(const wchar_t *wstr); +#else + extern char *abbr_groupname(const char *grpname, size_t len); + extern char *expand_tab(char *str, size_t tab_width); #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE) extern char *render_bidi(const char *str, t_bool *is_rtl); @@ -678,10 +695,8 @@ extern void str_lwr(char *str); /* tags.c */ extern int line_is_tagged(int n); -extern int mark_tagged_read(struct t_group *group); extern int tag_multipart(int base_index); extern t_bool arts_selected(void); -extern t_bool got_tagged_unread_arts(void); extern t_bool set_range(int level, int min, int max, int curr); extern t_bool tag_article(int art); extern t_bool untag_all_articles(void); @@ -712,11 +727,12 @@ extern int stat_thread(int n, struct t_a extern int which_response(int n); extern int which_thread(int n); extern int thread_page(struct t_group *group, int respnum, int thread_depth, t_pagerinfo *page); +extern t_bool thread_mark_postprocess(int function, t_function feed_type, int respnum); extern void fixup_thread(int respnum, t_bool redraw); /* version.c */ -extern int check_upgrade(char *line, const char *skip, const char *version); -extern void upgrade_prompt_quit(int reason, const char *file); +extern enum rc_state check_upgrade(char *line, const char *skip, const char *version); +extern void upgrade_prompt_quit(enum rc_state reason, const char *file); /* wildmat.c */ extern t_bool wildmat(const char *text, char *p, t_bool icase); diff -Nurp --exclude='.bzr*' tin-1.8.3/include/rfc2046.h tin-2.0.0/include/rfc2046.h --- tin-1.8.3/include/rfc2046.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/rfc2046.h 2011-04-17 16:04:29.626947384 +0200 @@ -3,10 +3,10 @@ * Module : rfc2046.h * Author : Jason Faultless * Created : 2000-02-18 - * Updated : 2003-05-06 + * Updated : 2010-09-26 * Notes : rfc2046 MIME article definitions * - * Copyright (c) 2000-2006 Jason Faultless + * Copyright (c) 2000-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,13 +42,15 @@ /* These must track the array definitions in lang.c */ # define NUM_CONTENT_TYPES 7 -# define NUM_ENCODINGS 6 - # define TYPE_TEXT 0 # define TYPE_MULTIPART 1 # define TYPE_APPLICATION 2 # define TYPE_MESSAGE 3 +# define TYPE_IMAGE 4 +# define TYPE_AUDIO 5 +# define TYPE_VIDEO 6 +# define NUM_ENCODINGS 6 # define ENCODING_7BIT 0 # define ENCODING_QP 1 # define ENCODING_BASE64 2 @@ -99,6 +101,18 @@ typedef struct part /* + * Used in save.c to build a list of attachments to be displayed + * + * TODO: move somewhere else? + */ +typedef struct partlist { + t_part *part; + struct partlist *next; + int tagged; +} t_partl; + + +/* * RFC822 compliant header with RFC2045 MIME extensions */ struct t_header @@ -127,21 +141,22 @@ struct t_header /* flags for lineinfo.flags */ /* Primary colours */ -# define C_HEADER 0x001 -# define C_BODY 0x002 -# define C_SIG 0x004 -# define C_ATTACH 0x008 -# define C_UUE 0x010 +# define C_HEADER 0x0001 +# define C_BODY 0x0002 +# define C_SIG 0x0004 +# define C_ATTACH 0x0008 +# define C_UUE 0x0010 /* Secondary flags */ -# define C_QUOTE1 0x020 -# define C_QUOTE2 0x040 -# define C_QUOTE3 0x080 - -# define C_URL 0x100 /* Contains http|ftp|gopher: */ -# define C_MAIL 0x200 /* Contains mailto: */ -# define C_NEWS 0x400 /* Contains news|nntp: */ -# define C_CTRLL 0x800 /* Contains ^L */ +# define C_QUOTE1 0x0020 +# define C_QUOTE2 0x0040 +# define C_QUOTE3 0x0080 + +# define C_URL 0x0100 /* Contains http|ftp|gopher: */ +# define C_MAIL 0x0200 /* Contains mailto: */ +# define C_NEWS 0x0400 /* Contains news|nntp: */ +# define C_CTRLL 0x0800 /* Contains ^L */ +# define C_VERBATIM 0x1000 /* Verbatim block */ typedef struct lineinfo diff -Nurp --exclude='.bzr*' tin-1.8.3/include/stpwatch.h tin-2.0.0/include/stpwatch.h --- tin-1.8.3/include/stpwatch.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/stpwatch.h 2011-04-17 16:04:29.658952255 +0200 @@ -3,11 +3,11 @@ * Module : stpwatch.h * Author : I. Lea * Created : 1993-08-03 - * Updated : 1997-04-05 + * Updated : 2008-11-22 * Notes : Simple stopwatch routines for timing code using timeb * or gettimeofday structs * - * Copyright (c) 1993-2006 Iain Lea + * Copyright (c) 1993-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -60,7 +60,7 @@ struct timeb end_tb; end_tb.time, end_tb.millitm, \ (((end_tb.time - LSECS) * 1000) + end_tb.millitm) - \ (((beg_tb.time - LSECS) * 1000) + beg_tb.millitm)); \ - error_message (tmp_tb, "");} + error_message(2, tmp_tb, "");} # else /* HAVE_SYS_TIMEB_H && HAVE_FTIME */ @@ -83,7 +83,7 @@ float d_time; d_time = (end_tb.tv_sec*1000.0 + ((float)end_tb.tv_usec)/1000.0);} # define PrintStopWatch() {sprintf (tmp_tb, "StopWatch(%s): %6.3f ms", msg_tb, d_time); \ - error_message (tmp_tb, "");} + error_message(2, tmp_tb, "");} # endif /* HAVE_SYS_TIME_H */ # endif /* HAVE_SYS_TIMEB_H && HAVE_FTIME */ diff -Nurp --exclude='.bzr*' tin-1.8.3/include/tcurses.h tin-2.0.0/include/tcurses.h --- tin-1.8.3/include/tcurses.h 2005-12-02 12:08:13.000000000 +0100 +++ tin-2.0.0/include/tcurses.h 2011-04-17 16:04:29.710960170 +0200 @@ -3,10 +3,10 @@ * Module : tcurses.h * Author : Thomas Dickey * Created : 1997-03-02 - * Updated : 2004-07-19 + * Updated : 2011-04-02 * Notes : curses #include files, #defines & struct's * - * Copyright (c) 1997-2006 Thomas Dickey + * Copyright (c) 1997-2011 Thomas Dickey * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -95,6 +95,7 @@ # define HpGlitch(func) /*nothing*/ extern int cmdReadCh(void); +extern int cmd_get_arrow_key(int prech); extern char *screen_contents(int row, int col, char *buffer); extern void MoveCursor(int row, int col); extern void my_erase(void); @@ -110,15 +111,18 @@ extern void my_fputs(const char *str, FI extern void my_fprintf(FILE *stream, const char *fmt, ...) # if defined(__GNUC__) && !defined(printf) __attribute__((format(printf,2,3))) -# endif /* __GNUC__ */ +# endif /* __GNUC__ && !printf */ ; extern void my_printf(const char *fmt, ...) # if defined(__GNUC__) && !defined(printf) __attribute__((format(printf,1,2))) -# endif /* __GNUC__ */ +# endif /* __GNUC__ && !printf */ ; extern void my_retouch(void); -extern void refresh_color(void); +# ifdef HAVE_COLOR + extern void refresh_color(void); + extern void reset_color(void); +# endif /* HAVE_COLOR */ extern void write_line(int row, char *buffer); # else /* !USE_CURSES */ diff -Nurp --exclude='.bzr*' tin-1.8.3/include/tin.h tin-2.0.0/include/tin.h --- tin-1.8.3/include/tin.h 2006-06-20 15:43:45.000000000 +0200 +++ tin-2.0.0/include/tin.h 2011-08-07 01:33:09.388668319 +0200 @@ -3,10 +3,10 @@ * Module : tin.h * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2006-01-10 + * Updated : 2011-08-07 * Notes : #include files, #defines & struct's * - * Copyright (c) 1997-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1997-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -47,9 +47,7 @@ # include /* FIXME: normally we use 'config.h' */ # endif /* !TIN_AUTOCONF_H */ #else -# ifndef HAVE_CONFDEFS_H -# include "oldconfig.h" -# endif /* !HAVE_CONFDEFS_H */ +# error "configure run missing" #endif /* HAVE_CONFIG_H */ @@ -99,67 +97,11 @@ #include -enum context { cMain, cArt, cConfig, cFilter, cGroup, cHelp, cInfopager, cPage, cSelect, cThread }; -enum icontext { cNone, cGetline, cPromptSLK }; +enum context { cMain, cArt, cAttachment, cAttrib, cConfig, cFilter, cGroup, cHelp, cInfopager, cPage, cPost, cPostCancel, cPostFup, cReconnect, cScope, cSelect, cThread, cURL }; +enum icontext { cNone, cGetline, cPromptCONT, cPromptSLK, cPromptYN }; enum resizer { cNo, cYes, cRedraw }; enum rc_state { RC_IGNORE, RC_CHECK, RC_UPGRADE, RC_DOWNGRADE, RC_ERROR }; -#ifdef VMS -# ifdef __DECC -# include -# else -# ifndef __VMS_VER /* assume old types.h */ - typedef unsigned short mode_t; -# undef HAVE_STRFTIME -# endif /* !__VMS_VER */ -# include -# endif /* __DECC */ -# ifdef SOCKETSHR_TCP -# include -# include -# ifndef SOCKETSHR_HAVE_DUP -# define dup -# endif /* !SOCKETSHR_HAVE_DUP */ -# ifndef SOCKETSHR_HAVE_FERROR -# define ferror(a) (0) -# endif /* !SOCKETSHR_HAVE_FERROR */ -# endif /* SOCKETSHR_TCP */ -# include -# include -# undef HAVE_SELECT -# define XHDR_XREF /* enable crosspost support */ -# define CASE_PROBLEM -# define HAVE_ERRNO_H -# define NNTP_ONLY -# define NNTP_INEWS -# define DONT_HAVE_PIPING -# define NO_SHELL_ESCAPE -# define USE_CLEARSCREEN -# ifndef MM_CHARSET -# define MM_CHARSET "ISO-8859-1" -# endif /* !MM_CHARSET */ - /* - * Apparently this means fileops=create if not already there - no idea - * why this should be needed. Standard fopen() implies this in arg 2 - */ - extern char *get_uaf_fullname(); -# ifdef MULTINET -# include "MULTINET_ROOT:[MULTINET.INCLUDE.SYS]TYPES.H" -# include "MULTINET_ROOT:[MULTINET.INCLUDE.SYS]TIME.H" -# else -# include "select.h" -# ifdef VAXC -# include "vmstimval.h" -# endif /* VAXC */ -# include -# endif /* !MULTINET */ -# define FOPEN_OPTS , "fop=cif" -# define JOINPATH joindir -#else -# define FOPEN_OPTS -# define JOINPATH joinpath -#endif /* VMS */ - #include #ifdef HAVE_ERRNO_H # include @@ -346,32 +288,21 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ /* * Directory handling code */ -#ifdef HAVE_CONFIG_H -# ifdef HAVE_DIRENT_H -# include -# define DIR_BUF struct dirent -# else -# ifdef HAVE_SYS_DIR_H -# include -# endif /* HAVE_SYS_DIR_H */ -# ifdef HAVE_SYS_NDIR_H -# include -# endif /* HAVE_SYS_NDIR_H */ -# define DIR_BUF struct direct -# endif /* HAVE_DIRENT_H */ +#ifdef HAVE_DIRENT_H +# include #else -# ifdef M_XENIX +# ifdef HAVE_SYS_NDIR_H # include -# define DIR_BUF struct direct -# endif /* M_XENIX */ -# ifdef VMS -# include "ndir.h" -# define DIR_BUF struct direct -# endif /* VMS */ -#endif /* !HAVE_CONFIG_H */ +# endif /* HAVE_SYS_NDIR_H */ +# ifdef HAVE_SYS_DIR_H +# include +# endif /* HAVE_SYS_DIR_H */ +# if HAVE_NDIR_H +# include +# endif /* HAVE_NDIR_H */ +#endif /* HAVE_DIRENT_H */ #ifndef DIR_BUF -# include # define DIR_BUF struct dirent #endif /* !DIR_BUF */ @@ -406,7 +337,7 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ /* * any pgp/gpp support possible and wanted - * sort out possible conflicts: gpg is prefered over pgp5 over pgp + * sort out possible conflicts: gpg is preferred over pgp5 over pgp */ #if defined(HAVE_PGP) || defined(HAVE_PGPK) || defined(HAVE_GPG) # define HAVE_PGP_GPG 1 @@ -421,6 +352,12 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ # endif /* HAVE_PGP && HAVE_GPG */ #endif /* HAVE_PGP || HAVE_PGPK || HAVE_GPG */ +/* + * slrnface requires some things + */ +#if defined(HAVE_SLRNFACE) && defined(HAVE_MKFIFO) && defined(HAVE_FORK) && defined(HAVE_EXECLP) && defined(HAVE_WAITPID) && !defined(DONT_HAVE_PIPING) && !defined(X_DISPLAY_MISSING) +# define XFACE_ABLE +#endif /* HAVE_SLRNFACE && HAVE_MKFIFO && HAVE_FORK && HAVE_EXECLP && HAVE_WAITPID && !DONT_HAVE_PIPING && !X_DISPLAY_MISSING */ /* * Setup support for reading from NNTP @@ -455,39 +392,6 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ #define VT_ESCAPE_TIMEOUT 1 /* - * Specify News spool & control directories if not running NNTP_ONLY - * (on machines who can run configure this is not needed) - */ -#ifndef HAVE_CONFIG_H -# ifndef NNTP_ONLY -# ifndef SPOOLDIR -# ifdef VMS -# define SPOOLDIR "NEWSSPOOL:[000000]" -# else -# define SPOOLDIR "/var/spool/news" -# endif /* VMS */ -# endif /* !SPOOLDIR */ -# ifndef NEWSLIBDIR -# ifdef VMS -# define NEWSLIBDIR "NEWSLIB:[000000]" -# else -# define NEWSLIBDIR "/usr/lib/news" -# endif /* VMS */ -# endif /* !NEWSLIBDIR */ -# ifndef NOVROOTDIR -# define NOVROOTDIR SPOOLDIR -# endif /* !NOVROOTDIR */ -# ifndef INEWSDIR -# define INEWSDIR NEWSLIBDIR -# endif /* INEWSDIR */ -# else -# undef SPOOLDIR -# undef NEWSLIBDIR -# undef NOVROOTDIR -# endif /* !NNTP_ONLY */ -#endif /* !HAVE_CONFIG_H */ - -/* * Determine machine configuration for external programs & directories */ #if defined(BSD) @@ -515,8 +419,10 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ # endif /* !HAVE_MEMSET */ # ifndef HAVE_STRCHR # define strchr(str, ch) index(str, ch) -# define strrchr(str, ch) rindex(str, ch) # endif /* !HAVE_STRCHR */ +# ifndef HAVE_STRRCHR +# define strrchr(str, ch) rindex(str, ch) +# endif /* !HAVE_STRRCHR */ # if defined(__386BSD__) || defined(__bsdi__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) # define DEFAULT_PRINTER "/usr/bin/lpr" # define DEFAULT_SUM "/usr/bin/cksum -o 1 <" /* use tailing <, otherwise get filename output too */ @@ -534,15 +440,6 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ # ifdef linux # define DEFAULT_PRINTER "/usr/bin/lpr" # endif /* linux */ -# ifdef VMS -# define DEFAULT_EDITOR "EDIT/TPU" -# define DEFAULT_MAILBOX "SYS$LOGIN:" -# define DEFAULT_MAILER "MAIL" -# define MAILER_FORMAT "MAIL /SUBJECT=\"%S\" %F MX%%\"%T\"" -# define DEFAULT_POSTER "inews %s." -# define DEFAULT_PRINTER "PRINT/DELETE" -# define DEFAULT_UNSHAR "unshar %s." -# endif /* VMS */ # ifdef QNX42 # ifndef DEFAULT_EDITOR # define DEFAULT_EDITOR "/bin/vedit" @@ -642,18 +539,13 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ #endif /* SMALL_MEMORY_MACHINE */ #define DEFAULT_ACTIVE_NUM 1800 #define DEFAULT_NEWNEWS_NUM 5 +#define DEFAULT_MAPKEYS_NUM 100 /* ~remappable keys per level (avoid massiv reallocs) */ +#define DEFAULT_SCOPE_NUM 8 -#ifdef VMS -# define RCDIR "TIN" -# define INDEX_MAILDIR "MAILIDX" -# define INDEX_NEWSDIR "INDEX" -# define INDEX_SAVEDIR "SAVE" -#else -# define RCDIR ".tin" -# define INDEX_MAILDIR ".mail" -# define INDEX_NEWSDIR ".news" -# define INDEX_SAVEDIR ".save" -#endif /* VMS */ +#define RCDIR ".tin" +#define INDEX_MAILDIR ".mail" +#define INDEX_NEWSDIR ".news" +#define INDEX_SAVEDIR ".save" #define ACTIVE_FILE "active" #define ACTIVE_MAIL_FILE "active.mail" @@ -664,12 +556,12 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ #define SERVERCONFIG_FILE "serverrc" #define DEFAULT_MAILDIR "Mail" #define DEFAULT_SAVEDIR "News" -#define DEFAULT_URL_HANDLER "url_handler.sh" +#define DEFAULT_URL_HANDLER "url_handler.pl" /* Prefixes saved attachments with no set filename */ #define SAVEFILE_PREFIX "unknown" -/* MMDF-mailbox seperator */ +/* MMDF-mailbox separator */ #ifndef MMDFHDRTXT # define MMDFHDRTXT "\01\01\01\01\n" #endif /* MMDFHDRTXT */ @@ -699,13 +591,13 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ #endif /* 0 */ /* case sensitive && ^-anchored */ -#define DEFAULT_STRIP_RE_REGEX "(?:R[eE](?:\\^\\d+|\\[\\d\\])?|A[wW]|Odp|Sv):\\s" +#define DEFAULT_STRIP_RE_REGEX "(?:R[eE](?:\\^\\d+|\\[\\d+\\])?|A[wW]|Odp|Sv):\\s" /* case sensitive */ -#define DEFAULT_STRIP_WAS_REGEX ".\\((?:[Ww]a[rs]|[Bb]y[l³]o):.*\\)\\s*$" -#define DEFAULT_U8_STRIP_WAS_REGEX ".\\((?:[Ww]a[rs]|[Bb]y[l\\x{0142}]o):.*\\)\\s*$" +#define DEFAULT_STRIP_WAS_REGEX "(?:(?<=\\S)|\\s)\\((?:[Ww]a[rs]|[Bb]y[l\\xb3]o):.*\\)\\s*$" +#define DEFAULT_U8_STRIP_WAS_REGEX "(?:(?<=\\S)|\\s)\\((?:[Ww]a[rs]|[Bb]y[l\\x{0142}]o):.*\\)\\s*$" /* * overkill regexp for balanced '()': - * #define DEFAULT_STRIP_WAS_REGEX ".\\((?:[Ww]a[rs]|[Bb]y[l³]o):(?:(?:[^)(])*(?:\\([^)(]*\\))*)+\\)\\s*$" + * #define DEFAULT_STRIP_WAS_REGEX "(?:(?<=\\S)|\\s)\\((?:[Ww]a[rs]|[Bb]y[l\xb3]o):(?:(?:[^)(])*(?:\\([^)(]*\\))*)+\\)\\s*$" */ /* case sensitive & ^-anchored */ @@ -716,6 +608,9 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ /* case sensitive & ^-anchored */ #define SHAR_REGEX "\\#(?:!\\s?(?:/usr)?/bin/sh|\\s?(?i)this\\sis\\sa\\sshell\\sarchive)" +/* slrn verbatim marks, case sensitive & ^-anchored */ +#define DEFAULT_VERBATIM_BEGIN_REGEX "#v\\+\\s$" +#define DEFAULT_VERBATIM_END_REGEX "#v-\\s$" /* * URL related regexs: @@ -738,7 +633,7 @@ enum rc_state { RC_IGNORE, RC_CHECK, RC_ # if 0 /* this one is ok for IPv4 */ # define URL_REGEX "\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:(?:[^\\W_](?:(?:-(?!-)|[^\\W_]){0,61}[^\\W_])?|xn--[^\\W_](?:-(?!-)|[^\\W_]){1,57}[^\\W_])\\.)+[a-z]{2,6}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))(?::\\d+)?(?:/[^)\\]\\>\"\\s]*|$|(?=[)\\]\\>\"\\s]))" # else /* this one should be IPv6 safe - test me! */ -# define URL_REGEX "\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:(?:[^\\W_](?:(?:-(?!-)|[^\\W_]){0,61}[^\\W_])?|xn--[^\\W_](?:-(?!-)|[^\\W_]){1,57}[^\\W_])\\.)+[a-z]{2,6}\\.?|localhost|(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)|\\[(?:(?:[0-9A-F]{0,4}:){1,7}[0-9A-F]{1,4}|(?:[0-9A-F]{0,4}:){1,3}(?:(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(?:2[0-4]\\d|25[0-5]|[01]?\\d\\d?))\\])(?::\\d+)?(?:/[^)\\]\\>\"\\s]*|$|(?=[)\\]\\>\"\\s]))" +# define URL_REGEX "\\b(?:https?|ftp|gopher)://(?:[^:@/\\s]*(?::[^:@/\\s]*)?@)?(?:(?:(?:[^\\W_](?:(?:-|[^\\W_]){0,61}(?aaaacb +0 ^ a* +2 ^ ^ b - +2 ^ ^ b - +2 ^ ^ b - +2 ^^ b - +2 ^ b +0 ^ a* +2 ^ ^ b - +2 ^ ^ b - +2 ^^ b - +2 ^ b +0 ^ a* +2 ^ ^ b - +2 ^^ b - +2 ^ b +0 ^ a* +2 ^^ b - +2 ^ b +0 ^ a* +2 ^ b +0 ^ a* @@ -4883,11 +4892,11 @@ Need char = 'b' +3 ^^ 0: b -/a+b/CD +/a+b/ICD ------------------------------------------------------------------ 0 25 Bra 0 3 Callout 255 0 2 - 9 a+ + 9 a++ 11 Callout 255 2 1 17 b 19 Callout 255 3 0 @@ -4915,46 +4924,40 @@ Need char = 'b' --->aaaacb +0 ^ a+ +2 ^ ^ b - +2 ^ ^ b - +2 ^ ^ b - +2 ^^ b +0 ^ a+ +2 ^ ^ b - +2 ^ ^ b - +2 ^^ b +0 ^ a+ +2 ^ ^ b - +2 ^^ b +0 ^ a+ +2 ^^ b No match -/(abc|def)x/CD +/(abc|def)x/ICD ------------------------------------------------------------------ - 0 92 Bra 0 + 0 94 Bra 0 3 Callout 255 0 9 - 9 33 Bra 1 - 12 Callout 255 1 1 - 18 a - 20 Callout 255 2 1 - 26 b - 28 Callout 255 3 1 - 34 c - 36 Callout 255 4 0 - 42 33 Alt - 45 Callout 255 5 1 - 51 d - 53 Callout 255 6 1 - 59 e - 61 Callout 255 7 1 - 67 f - 69 Callout 255 8 0 - 75 66 Ket - 78 Callout 255 9 1 - 84 x - 86 Callout 255 10 0 - 92 92 Ket - 95 End + 9 35 Bra 1 + 14 Callout 255 1 1 + 20 a + 22 Callout 255 2 1 + 28 b + 30 Callout 255 3 1 + 36 c + 38 Callout 255 4 0 + 44 33 Alt + 47 Callout 255 5 1 + 53 d + 55 Callout 255 6 1 + 61 e + 63 Callout 255 7 1 + 69 f + 71 Callout 255 8 0 + 77 68 Ket + 80 Callout 255 9 1 + 86 x + 88 Callout 255 10 0 + 94 94 Ket + 97 End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: @@ -5019,7 +5022,7 @@ Need char = 'x' +5 ^ d No match -/(ab|cd){3,4}/C +/(ab|cd){3,4}/IC Capturing subpattern count = 1 Options: No first char @@ -5083,34 +5086,34 @@ No need char 0: abcdcdcd 1: cd -/([ab]{,4}c|xy)/CD +/([ab]{,4}c|xy)/ICD ------------------------------------------------------------------ - 0 131 Bra 0 + 0 133 Bra 0 3 Callout 255 0 14 - 9 88 Bra 1 - 12 Callout 255 1 4 - 18 [ab] - 51 Callout 255 5 1 - 57 { - 59 Callout 255 6 1 - 65 , - 67 Callout 255 7 1 - 73 4 - 75 Callout 255 8 1 - 81 } - 83 Callout 255 9 1 - 89 c - 91 Callout 255 10 0 - 97 25 Alt -100 Callout 255 11 1 -106 x -108 Callout 255 12 1 -114 y -116 Callout 255 13 0 -122 113 Ket -125 Callout 255 14 0 -131 131 Ket -134 End + 9 90 Bra 1 + 14 Callout 255 1 4 + 20 [ab] + 53 Callout 255 5 1 + 59 { + 61 Callout 255 6 1 + 67 , + 69 Callout 255 7 1 + 75 4 + 77 Callout 255 8 1 + 83 } + 85 Callout 255 9 1 + 91 c + 93 Callout 255 10 0 + 99 25 Alt +102 Callout 255 11 1 +108 x +110 Callout 255 12 1 +116 y +118 Callout 255 13 0 +124 115 Ket +127 Callout 255 14 0 +133 133 Ket +136 End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: @@ -5258,85 +5261,85 @@ No need char +11 ^ x No match -/([ab]{1,4}c|xy){4,5}?123/CD +/([ab]{1,4}c|xy){4,5}?123/ICD ------------------------------------------------------------------ - 0 485 Bra 0 + 0 495 Bra 0 3 Callout 255 0 21 - 9 61 Bra 1 - 12 Callout 255 1 9 - 18 [ab]{1,4} - 56 Callout 255 10 1 - 62 c - 64 Callout 255 11 0 - 70 25 Alt - 73 Callout 255 12 1 - 79 x - 81 Callout 255 13 1 - 87 y - 89 Callout 255 14 0 - 95 86 Ket - 98 61 Bra 1 -101 Callout 255 1 9 -107 [ab]{1,4} -145 Callout 255 10 1 -151 c -153 Callout 255 11 0 -159 25 Alt -162 Callout 255 12 1 -168 x -170 Callout 255 13 1 -176 y -178 Callout 255 14 0 -184 86 Ket -187 61 Bra 1 -190 Callout 255 1 9 -196 [ab]{1,4} -234 Callout 255 10 1 -240 c -242 Callout 255 11 0 -248 25 Alt -251 Callout 255 12 1 -257 x -259 Callout 255 13 1 -265 y -267 Callout 255 14 0 -273 86 Ket -276 61 Bra 1 -279 Callout 255 1 9 -285 [ab]{1,4} -323 Callout 255 10 1 -329 c -331 Callout 255 11 0 -337 25 Alt -340 Callout 255 12 1 -346 x -348 Callout 255 13 1 -354 y -356 Callout 255 14 0 -362 86 Ket -365 Braminzero -366 61 Bra 1 -369 Callout 255 1 9 -375 [ab]{1,4} -413 Callout 255 10 1 -419 c -421 Callout 255 11 0 -427 25 Alt -430 Callout 255 12 1 -436 x -438 Callout 255 13 1 -444 y -446 Callout 255 14 0 -452 86 Ket -455 Callout 255 21 1 -461 1 -463 Callout 255 22 1 -469 2 -471 Callout 255 23 1 -477 3 -479 Callout 255 24 0 -485 485 Ket -488 End + 9 63 Bra 1 + 14 Callout 255 1 9 + 20 [ab]{1,4} + 58 Callout 255 10 1 + 64 c + 66 Callout 255 11 0 + 72 25 Alt + 75 Callout 255 12 1 + 81 x + 83 Callout 255 13 1 + 89 y + 91 Callout 255 14 0 + 97 88 Ket +100 63 Bra 1 +105 Callout 255 1 9 +111 [ab]{1,4} +149 Callout 255 10 1 +155 c +157 Callout 255 11 0 +163 25 Alt +166 Callout 255 12 1 +172 x +174 Callout 255 13 1 +180 y +182 Callout 255 14 0 +188 88 Ket +191 63 Bra 1 +196 Callout 255 1 9 +202 [ab]{1,4} +240 Callout 255 10 1 +246 c +248 Callout 255 11 0 +254 25 Alt +257 Callout 255 12 1 +263 x +265 Callout 255 13 1 +271 y +273 Callout 255 14 0 +279 88 Ket +282 63 Bra 1 +287 Callout 255 1 9 +293 [ab]{1,4} +331 Callout 255 10 1 +337 c +339 Callout 255 11 0 +345 25 Alt +348 Callout 255 12 1 +354 x +356 Callout 255 13 1 +362 y +364 Callout 255 14 0 +370 88 Ket +373 Braminzero +374 63 Bra 1 +379 Callout 255 1 9 +385 [ab]{1,4} +423 Callout 255 10 1 +429 c +431 Callout 255 11 0 +437 25 Alt +440 Callout 255 12 1 +446 x +448 Callout 255 13 1 +454 y +456 Callout 255 14 0 +462 88 Ket +465 Callout 255 21 1 +471 1 +473 Callout 255 22 1 +479 2 +481 Callout 255 23 1 +487 3 +489 Callout 255 24 0 +495 495 Ket +498 End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -5396,7 +5399,7 @@ No need char Xbcd12345 0: bcd12345 -/abcde/ +/abcde/I Capturing subpattern count = 0 No options First char = 'a' @@ -5416,7 +5419,7 @@ No match the quick brown abxyz fox\P No match -"^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$" +"^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I Capturing subpattern count = 3 Options: anchored No first char @@ -5499,7 +5502,7 @@ No options No first char Need char = 'E' -/[abc]?123/ +/[abc]?123/I Capturing subpattern count = 0 No options No first char @@ -5517,7 +5520,7 @@ Partial match c123\P 0: c123 -/^(?:\d){3,5}X/ +/^(?:\d){3,5}X/I Capturing subpattern count = 0 Options: anchored No first char @@ -5543,7 +5546,7 @@ No match 123456\P No match -/abc/>testsavedregex +/abc/I>testsavedregex Capturing subpattern count = 0 No options First char = 'a' @@ -5552,10 +5555,6 @@ Compiled regex written to testsavedregex testsavedregex +/abc/IF>testsavedregex Capturing subpattern count = 0 No options First char = 'a' @@ -5572,10 +5571,6 @@ Compiled regex written to testsavedregex testsavedregex +/(a|b)/IS>testsavedregex Capturing subpattern count = 1 No options No first char @@ -5594,11 +5589,6 @@ Study data written to testsavedregex testsavedregex +/(a|b)/ISF>testsavedregex Capturing subpattern count = 1 No options No first char @@ -5619,11 +5609,6 @@ Study data written to testsavedregex (.)*~smg +~<(\w+)/?>(.)*~smgI Capturing subpattern count = 3 Max back reference = 1 Partial matching not supported @@ -5652,7 +5637,7 @@ Options: anchored No first char No need char -/line\nbreak/ +/line\nbreak/I Capturing subpattern count = 0 No options First char = 'l' @@ -5662,7 +5647,7 @@ Need char = 'k' line one\nthis is a line\nbreak in the second line 0: line\x0abreak -/line\nbreak/f +/line\nbreak/If Capturing subpattern count = 0 Options: firstline First char = 'l' @@ -5674,7 +5659,7 @@ No match line one\nthis is a line\nbreak in the second line No match -/line\nbreak/mf +/line\nbreak/Imf Capturing subpattern count = 0 Options: multiline firstline First char = 'l' @@ -5686,7 +5671,7 @@ No match line one\nthis is a line\nbreak in the second line No match -/ab.cd/P +/ab.cd/IP ab-cd 0: ab-cd ab=cd @@ -5696,7 +5681,7 @@ No match: POSIX code 17: match failed ab\ncd No match: POSIX code 17: match failed -/ab.cd/Ps +/ab.cd/IPs ab-cd 0: ab-cd ab=cd @@ -5704,7 +5689,7 @@ No match: POSIX code 17: match failed ab\ncd 0: ab\x0acd -/(?i)(?-i)AbCd/ +/(?i)(?-i)AbCd/I Capturing subpattern count = 0 No options First char = 'A' @@ -5716,27 +5701,26 @@ No match abcd No match -/a{11111111111111111111}/ +/a{11111111111111111111}/I Failed: number too big in {} quantifier at offset 22 -/(){64294967295}/ +/(){64294967295}/I Failed: number too big in {} quantifier at offset 14 -/(){2,4294967295}/ +/(){2,4294967295}/I Failed: number too big in {} quantifier at offset 15 -"(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B" +"(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I Capturing subpattern count = 1 Max back reference = 1 No options -Case state changes First char = 'a' (caseless) Need char = 'B' abcdefghijklAkB 0: abcdefghijklAkB 1: k -"(?Pa)(?Pb)(?Pc)(?Pd)(?Pe)(?Pf)(?Pg)(?Ph)(?Pi)(?Pj)(?Pk)(?Pl)A\11B" +"(?Pa)(?Pb)(?Pc)(?Pd)(?Pe)(?Pf)(?Pg)(?Ph)(?Pi)(?Pj)(?Pk)(?Pl)A\11B"I Capturing subpattern count = 12 Max back reference = 11 Named capturing subpatterns: @@ -5770,7 +5754,7 @@ Need char = 'B' 11: k 12: l -"(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B" +"(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I Capturing subpattern count = 12 Max back reference = 11 No options @@ -5791,7 +5775,7 @@ Need char = 'B' 11: k 12: l -"(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)" +"(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)(?Pa)"I Capturing subpattern count = 101 Named capturing subpatterns: name0 1 @@ -5916,7 +5900,7 @@ Matched, but too many substrings 13: a 14: a -"(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)" +"(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I Capturing subpattern count = 101 No options First char = 'a' @@ -5939,8 +5923,2207 @@ Matched, but too many substrings 13: a 14: a -/ End of testinput2 / +/[^()]*(?:\((?R)\)[^()]*)*/I +Capturing subpattern count = 0 +Partial matching not supported +No options +No first char +No need char + (this(and)that + 0: + (this(and)that) + 0: (this(and)that) + (this(and)that)stuff + 0: (this(and)that)stuff + +/[^()]*(?:\((?>(?R))\)[^()]*)*/I Capturing subpattern count = 0 +Partial matching not supported No options -First char = ' ' -Need char = ' ' +No first char +No need char + (this(and)that + 0: + (this(and)that) + 0: (this(and)that) + +/[^()]*(?:\((?R)\))*[^()]*/I +Capturing subpattern count = 0 +Partial matching not supported +No options +No first char +No need char + (this(and)that + 0: + (this(and)that) + 0: (this(and)that) + +/(?:\((?R)\))*[^()]*/I +Capturing subpattern count = 0 +Partial matching not supported +No options +No first char +No need char + (this(and)that + 0: + (this(and)that) + 0: + ((this)) + 0: ((this)) + +/(?:\((?R)\))|[^()]*/I +Capturing subpattern count = 0 +Partial matching not supported +No options +No first char +No need char + (this(and)that + 0: + (this(and)that) + 0: + (this) + 0: (this) + ((this)) + 0: ((this)) + +/a(b)c/IPN + abc +Matched with REG_NOSUB + +/a(?Pb)c/IPN + abc +Matched with REG_NOSUB + +/\x{100}/I +Failed: character value in \x{...} sequence is too large at offset 6 + +/\x{0000ff}/I +Capturing subpattern count = 0 +No options +First char = 255 +No need char + +/^((?Pa1)|(?Pa2)b)/I +Failed: two named subpatterns have the same name at offset 17 + +/^((?Pa1)|(?Pa2)b)/IJ +Capturing subpattern count = 3 +Named capturing subpatterns: + A 2 + A 3 +Options: anchored dupnames +No first char +No need char + a1b\CA + 0: a1 + 1: a1 + 2: a1 + C a1 (2) A + a2b\CA + 0: a2b + 1: a2b + 2: + 3: a2 + C a2 (2) A + ** Failers +No match + a1b\CZ\CA +no parentheses with name "Z" + 0: a1 + 1: a1 + 2: a1 +copy substring Z failed -7 + C a1 (2) A + +/^(?Pa)(?Pb)/IJ +Capturing subpattern count = 2 +Named capturing subpatterns: + A 1 + A 2 +Options: anchored dupnames +No first char +No need char + ab\CA + 0: ab + 1: a + 2: b + C a (1) A + +/^(?Pa)(?Pb)|cd/IJ +Capturing subpattern count = 2 +Named capturing subpatterns: + A 1 + A 2 +Options: dupnames +No first char +No need char + ab\CA + 0: ab + 1: a + 2: b + C a (1) A + cd\CA + 0: cd +copy substring A failed -7 + +/^(?Pa)(?Pb)|cd(?Pef)(?Pgh)/IJ +Capturing subpattern count = 4 +Named capturing subpatterns: + A 1 + A 2 + A 3 + A 4 +Options: dupnames +No first char +No need char + cdefgh\CA + 0: cdefgh + 1: + 2: + 3: ef + 4: gh + C ef (2) A + +/^((?Pa1)|(?Pa2)b)/IJ +Capturing subpattern count = 3 +Named capturing subpatterns: + A 2 + A 3 +Options: anchored dupnames +No first char +No need char + a1b\GA + 0: a1 + 1: a1 + 2: a1 + G a1 (2) A + a2b\GA + 0: a2b + 1: a2b + 2: + 3: a2 + G a2 (2) A + ** Failers +No match + a1b\GZ\GA +no parentheses with name "Z" + 0: a1 + 1: a1 + 2: a1 +copy substring Z failed -7 + G a1 (2) A + +/^(?Pa)(?Pb)/IJ +Capturing subpattern count = 2 +Named capturing subpatterns: + A 1 + A 2 +Options: anchored dupnames +No first char +No need char + ab\GA + 0: ab + 1: a + 2: b + G a (1) A + +/^(?Pa)(?Pb)|cd/IJ +Capturing subpattern count = 2 +Named capturing subpatterns: + A 1 + A 2 +Options: dupnames +No first char +No need char + ab\GA + 0: ab + 1: a + 2: b + G a (1) A + cd\GA + 0: cd +copy substring A failed -7 + +/^(?Pa)(?Pb)|cd(?Pef)(?Pgh)/IJ +Capturing subpattern count = 4 +Named capturing subpatterns: + A 1 + A 2 + A 3 + A 4 +Options: dupnames +No first char +No need char + cdefgh\GA + 0: cdefgh + 1: + 2: + 3: ef + 4: gh + G ef (2) A + +/(?J)^((?Pa1)|(?Pa2)b)/I +Capturing subpattern count = 3 +Named capturing subpatterns: + A 2 + A 3 +Options: anchored dupnames +No first char +No need char + a1b\CA + 0: a1 + 1: a1 + 2: a1 + C a1 (2) A + a2b\CA + 0: a2b + 1: a2b + 2: + 3: a2 + C a2 (2) A + +/^(?Pa) (?J:(?Pb)(?Pc)) (?Pd)/I +Failed: two named subpatterns have the same name at offset 37 + +/ In this next test, J is not set at the outer level; consequently it isn't +set in the pattern's options; consequently pcre_get_named_substring() produces +a random value. /Ix +Capturing subpattern count = 1 +Options: extended +First char = 'I' +Need char = 'e' + +/^(?Pa) (?J:(?Pb)(?Pc)) (?Pd)/I +Capturing subpattern count = 4 +Named capturing subpatterns: + A 1 + B 2 + B 3 + C 4 +Options: anchored +No first char +No need char + a bc d\CA\CB\CC + 0: a bc d + 1: a + 2: b + 3: c + 4: d + C a (1) A + C b (1) B + C d (1) C + +/^(?Pa)?(?(A)a|b)/I +Capturing subpattern count = 1 +Named capturing subpatterns: + A 1 +Options: anchored +No first char +No need char + aabc + 0: aa + 1: a + bc + 0: b + ** Failers +No match + abc +No match + +/(?:(?(ZZ)a|b)(?PX))+/I +Capturing subpattern count = 1 +Named capturing subpatterns: + ZZ 1 +No options +No first char +Need char = 'X' + bXaX + 0: bXaX + 1: X + +/(?:(?(2y)a|b)(X))+/I +Failed: reference to non-existent subpattern at offset 9 + +/(?:(?(ZA)a|b)(?PX))+/I +Failed: reference to non-existent subpattern at offset 9 + +/(?:(?(ZZ)a|b)(?(ZZ)a|b)(?PX))+/I +Capturing subpattern count = 1 +Named capturing subpatterns: + ZZ 1 +No options +No first char +Need char = 'X' + bbXaaX + 0: bbXaaX + 1: X + +/(?:(?(ZZ)a|\(b\))\\(?PX))+/I +Capturing subpattern count = 1 +Named capturing subpatterns: + ZZ 1 +No options +No first char +Need char = 'X' + (b)\\Xa\\X + 0: (b)\Xa\X + 1: X + +/(?PX|Y))+/I +Capturing subpattern count = 1 +Max back reference = 1 +Named capturing subpatterns: + A 1 +No options +No first char +No need char + bXXaYYaY + 0: bXXaYYaY + 1: Y + bXYaXXaX + 0: bX + 1: X + +/()()()()()()()()()(?:(?(A)(?P=A)a|b)(?PX|Y))+/I +Capturing subpattern count = 10 +Max back reference = 10 +Named capturing subpatterns: + A 10 +No options +No first char +No need char + bXXaYYaY + 0: bXXaYYaY + 1: + 2: + 3: + 4: + 5: + 6: + 7: + 8: + 9: +10: Y + +/\777/I +Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3 + +/\s*,\s*/IS +Capturing subpattern count = 0 +Partial matching not supported +No options +No first char +Need char = ',' +Starting byte set: \x09 \x0a \x0c \x0d \x20 , + \x0b,\x0b + 0: , + \x0c,\x0d + 0: \x0c,\x0d + +/^abc/Im +Capturing subpattern count = 0 +Options: multiline +First char at start or follows newline +Need char = 'c' + xyz\nabc + 0: abc + xyz\nabc\ + 0: abc + xyz\r\nabc\ + 0: abc + xyz\rabc\ + 0: abc + xyz\r\nabc\ + 0: abc + ** Failers +No match + xyz\nabc\ +No match + xyz\r\nabc\ +No match + xyz\nabc\ +No match + xyz\rabc\ +No match + xyz\rabc\ +No match + +/abc$/Im +Capturing subpattern count = 0 +Options: multiline +Forced newline sequence: LF +First char = 'a' +Need char = 'c' + xyzabc + 0: abc + xyzabc\n + 0: abc + xyzabc\npqr + 0: abc + xyzabc\r\ + 0: abc + xyzabc\rpqr\ + 0: abc + xyzabc\r\n\ + 0: abc + xyzabc\r\npqr\ + 0: abc + ** Failers +No match + xyzabc\r +No match + xyzabc\rpqr +No match + xyzabc\r\n +No match + xyzabc\r\npqr +No match + +/^abc/Im +Capturing subpattern count = 0 +Options: multiline +Forced newline sequence: CR +First char at start or follows newline +Need char = 'c' + xyz\rabcdef + 0: abc + xyz\nabcdef\ + 0: abc + ** Failers +No match + xyz\nabcdef +No match + +/^abc/Im +Capturing subpattern count = 0 +Options: multiline +Forced newline sequence: LF +First char at start or follows newline +Need char = 'c' + xyz\nabcdef + 0: abc + xyz\rabcdef\ + 0: abc + ** Failers +No match + xyz\rabcdef +No match + +/^abc/Im +Capturing subpattern count = 0 +Options: multiline +Forced newline sequence: CRLF +First char at start or follows newline +Need char = 'c' + xyz\r\nabcdef + 0: abc + xyz\rabcdef\ + 0: abc + ** Failers +No match + xyz\rabcdef +No match + +/^abc/Im +Unknown newline type at: + + +/abc/I +Capturing subpattern count = 0 +No options +First char = 'a' +Need char = 'c' + xyz\rabc\ +Unknown newline type at: + abc + 0: abc + +/.*/I +Capturing subpattern count = 0 +Partial matching not supported +Options: +Forced newline sequence: LF +First char at start or follows newline +No need char + abc\ndef + 0: abc + abc\rdef + 0: abc\x0ddef + abc\r\ndef + 0: abc\x0d + \abc\ndef + 0: abc\x0adef + \abc\rdef + 0: abc + \abc\r\ndef + 0: abc + \abc\ndef + 0: abc\x0adef + \abc\rdef + 0: abc\x0ddef + \abc\r\ndef + 0: abc + +/\w+(.)(.)?def/Is +Capturing subpattern count = 2 +Partial matching not supported +Options: dotall +No first char +Need char = 'f' + abc\ndef + 0: abc\x0adef + 1: \x0a + abc\rdef + 0: abc\x0ddef + 1: \x0d + abc\r\ndef + 0: abc\x0d\x0adef + 1: \x0d + 2: \x0a + ++((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I +Capturing subpattern count = 1 +Partial matching not supported +No options +No first char +No need char + /* this is a C style comment */\M +Minimum match() limit = 120 +Minimum match() recursion limit = 6 + 0: /* this is a C style comment */ + 1: /* this is a C style comment */ + +/(?P25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I +Capturing subpattern count = 1 +Named capturing subpatterns: + B 1 +No options +No first char +Need char = '.' + +/()()()()()()()()()()()()()()()()()()()() + ()()()()()()()()()()()()()()()()()()()() + ()()()()()()()()()()()()()()()()()()()() + ()()()()()()()()()()()()()()()()()()()() + ()()()()()()()()()()()()()()()()()()()() + (.(.))/Ix +Capturing subpattern count = 102 +Options: extended +No first char +No need char + XY\O400 + 0: XY + 1: + 2: + 3: + 4: + 5: + 6: + 7: + 8: + 9: +10: +11: +12: +13: +14: +15: +16: +17: +18: +19: +20: +21: +22: +23: +24: +25: +26: +27: +28: +29: +30: +31: +32: +33: +34: +35: +36: +37: +38: +39: +40: +41: +42: +43: +44: +45: +46: +47: +48: +49: +50: +51: +52: +53: +54: +55: +56: +57: +58: +59: +60: +61: +62: +63: +64: +65: +66: +67: +68: +69: +70: +71: +72: +73: +74: +75: +76: +77: +78: +79: +80: +81: +82: +83: +84: +85: +86: +87: +88: +89: +90: +91: +92: +93: +94: +95: +96: +97: +98: +99: +100: +101: XY +102: Y + +/(a*b|(?i:c*(?-i)d))/IS +Capturing subpattern count = 1 +Partial matching not supported +No options +No first char +No need char +Starting byte set: C a b c d + +/()[ab]xyz/IS +Capturing subpattern count = 1 +No options +No first char +Need char = 'z' +Starting byte set: a b + +/(|)[ab]xyz/IS +Capturing subpattern count = 1 +No options +No first char +Need char = 'z' +Starting byte set: a b + +/(|c)[ab]xyz/IS +Capturing subpattern count = 1 +No options +No first char +Need char = 'z' +Starting byte set: a b c + +/(|c?)[ab]xyz/IS +Capturing subpattern count = 1 +No options +No first char +Need char = 'z' +Starting byte set: a b c + +/(d?|c?)[ab]xyz/IS +Capturing subpattern count = 1 +No options +No first char +Need char = 'z' +Starting byte set: a b c d + +/(d?|c)[ab]xyz/IS +Capturing subpattern count = 1 +No options +No first char +Need char = 'z' +Starting byte set: a b c d + +/^a*b\d/D +------------------------------------------------------------------ + 0 9 Bra 0 + 3 ^ + 4 a*+ + 6 b + 8 \d + 9 9 Ket + 12 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: anchored +No first char +Need char = 'b' + +/^a*+b\d/D +------------------------------------------------------------------ + 0 9 Bra 0 + 3 ^ + 4 a*+ + 6 b + 8 \d + 9 9 Ket + 12 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: anchored +No first char +Need char = 'b' + +/^a*?b\d/D +------------------------------------------------------------------ + 0 9 Bra 0 + 3 ^ + 4 a*+ + 6 b + 8 \d + 9 9 Ket + 12 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: anchored +No first char +Need char = 'b' + +/^a+A\d/D +------------------------------------------------------------------ + 0 9 Bra 0 + 3 ^ + 4 a++ + 6 A + 8 \d + 9 9 Ket + 12 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: anchored +No first char +Need char = 'A' + aaaA5 + 0: aaaA5 + ** Failers +No match + aaaa5 +No match + +/^a*A\d/IiD +------------------------------------------------------------------ + 0 9 Bra 0 + 3 ^ + 4 a* + 6 NC A + 8 \d + 9 9 Ket + 12 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: anchored caseless +No first char +Need char = 'A' (caseless) + aaaA5 + 0: aaaA5 + aaaa5 + 0: aaaa5 + +/(a*|b*)[cd]/IS +Capturing subpattern count = 1 +Partial matching not supported +No options +No first char +No need char +Starting byte set: a b c d + +/(a+|b*)[cd]/IS +Capturing subpattern count = 1 +Partial matching not supported +No options +No first char +No need char +Starting byte set: a b c d + +/(a*|b+)[cd]/IS +Capturing subpattern count = 1 +Partial matching not supported +No options +No first char +No need char +Starting byte set: a b c d + +/(a+|b+)[cd]/IS +Capturing subpattern count = 1 +Partial matching not supported +No options +No first char +No need char +Starting byte set: a b + +/(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( + (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( + ((( + a + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) + ))) +/Ix +Capturing subpattern count = 203 +Options: extended +First char = 'a' +No need char + large nest +Matched, but too many substrings + 0: a + 1: a + 2: a + 3: a + 4: a + 5: a + 6: a + 7: a + 8: a + 9: a +10: a +11: a +12: a +13: a +14: a + +/a*\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 a*+ + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/a*\D/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 a* + 5 \D + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/0*\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 0* + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/0*\D/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 0*+ + 5 \D + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/a*\s/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 a*+ + 5 \s + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/a*\S/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 a* + 5 \S + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/ *\s/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 * + 5 \s + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/ *\S/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 *+ + 5 \S + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/a*\w/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 a* + 5 \w + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/a*\W/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 a*+ + 5 \W + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/=*\w/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 =*+ + 5 \w + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/=*\W/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 =* + 5 \W + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\d*a/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \d*+ + 5 a + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\d*2/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \d* + 5 2 + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\d*\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \d* + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\d*\D/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \d*+ + 5 \D + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\d*\s/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \d*+ + 5 \s + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\d*\S/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \d* + 5 \S + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\d*\w/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \d* + 5 \w + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\d*\W/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \d*+ + 5 \W + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\D*a/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \D* + 5 a + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\D*2/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \D*+ + 5 2 + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\D*\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \D*+ + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\D*\D/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \D* + 5 \D + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\D*\s/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \D* + 5 \s + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\D*\S/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \D* + 5 \S + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\D*\w/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \D* + 5 \w + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\D*\W/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \D* + 5 \W + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\s*a/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \s*+ + 5 a + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\s*2/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \s*+ + 5 2 + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\s*\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \s*+ + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\s*\D/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \s* + 5 \D + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\s*\s/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \s* + 5 \s + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\s*\S/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \s*+ + 5 \S + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\s*\w/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \s*+ + 5 \w + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\s*\W/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \s* + 5 \W + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\S*a/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \S* + 5 a + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\S*2/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \S* + 5 2 + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\S*\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \S* + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\S*\D/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \S* + 5 \D + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\S*\s/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \S*+ + 5 \s + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\S*\S/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \S* + 5 \S + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\S*\w/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \S* + 5 \w + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\S*\W/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \S* + 5 \W + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\w*a/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \w* + 5 a + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\w*2/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \w* + 5 2 + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\w*\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \w* + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\w*\D/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \w* + 5 \D + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\w*\s/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \w*+ + 5 \s + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\w*\S/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \w* + 5 \S + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\w*\w/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \w* + 5 \w + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\w*\W/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \w*+ + 5 \W + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\W*a/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \W*+ + 5 a + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\W*2/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \W*+ + 5 2 + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/\W*\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \W*+ + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\W*\D/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \W* + 5 \D + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\W*\s/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \W* + 5 \s + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\W*\S/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \W* + 5 \S + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\W*\w/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \W*+ + 5 \w + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/\W*\W/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 \W* + 5 \W + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/[^a]+a/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 [^a]++ + 5 a + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/[^a]+a/Bi +------------------------------------------------------------------ + 0 7 Bra 0 + 3 [^A]++ + 5 NC a + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/[^a]+A/Bi +------------------------------------------------------------------ + 0 7 Bra 0 + 3 [^A]++ + 5 NC A + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/[^a]+b/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 [^a]+ + 5 b + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/[^a]+\d/B +------------------------------------------------------------------ + 0 6 Bra 0 + 3 [^a]+ + 5 \d + 6 6 Ket + 9 End +------------------------------------------------------------------ + +/a*[^a]/B +------------------------------------------------------------------ + 0 7 Bra 0 + 3 a* + 5 [^a] + 7 7 Ket + 10 End +------------------------------------------------------------------ + +/(?Px)(?Py)/I +Capturing subpattern count = 2 +Named capturing subpatterns: + abc 1 + xyz 2 +No options +First char = 'x' +Need char = 'y' + xy\Cabc\Cxyz + 0: xy + 1: x + 2: y + C x (1) abc + C y (1) xyz + +/(?x)(?'xyz'y)/I +Capturing subpattern count = 2 +Named capturing subpatterns: + abc 1 + xyz 2 +No options +First char = 'x' +Need char = 'y' + xy\Cabc\Cxyz + 0: xy + 1: x + 2: y + C x (1) abc + C y (1) xyz + +/(?x)(?'xyz>y)/I +Failed: syntax error in subpattern name (missing terminator) at offset 15 + +/(?P'abc'x)(?Py)/I +Failed: unrecognized character after (?P at offset 3 + +/^(?:(?(ZZ)a|b)(?X))+/ + bXaX + 0: bXaX + 1: X + bXbX + 0: bX + 1: X + ** Failers +No match + aXaX +No match + aXbX +No match + +/^(?P>abc)(?xxx)/ +Failed: reference to non-existent subpattern at offset 8 + +/^(?P>abc)(?x|y)/ + xx + 0: xx + 1: x + xy + 0: xy + 1: y + yy + 0: yy + 1: y + yx + 0: yx + 1: x + +/^(?P>abc)(?Px|y)/ + xx + 0: xx + 1: x + xy + 0: xy + 1: y + yy + 0: yy + 1: y + yx + 0: yx + 1: x + +/^((?(abc)a|b)(?x|y))+/ + bxay + 0: bxay + 1: ay + 2: y + bxby + 0: bx + 1: bx + 2: x + ** Failers +No match + axby +No match + +/^(((?P=abc)|X)(?x|y))+/ + XxXxxx + 0: XxXxxx + 1: xx + 2: x + 3: x + XxXyyx + 0: XxXyyx + 1: yx + 2: y + 3: x + XxXyxx + 0: XxXy + 1: Xy + 2: X + 3: y + ** Failers +No match + x +No match + +/^(?1)(abc)/ + abcabc + 0: abcabc + 1: abc + +/^(?:(?:\1|X)(a|b))+/ + Xaaa + 0: Xaaa + 1: a + Xaba + 0: Xa + 1: a + +/^[\E\Qa\E-\Qz\E]+/B +------------------------------------------------------------------ + 0 38 Bra 0 + 3 ^ + 4 [a-z]+ + 38 38 Ket + 41 End +------------------------------------------------------------------ + +/^[a\Q]bc\E]/B +------------------------------------------------------------------ + 0 37 Bra 0 + 3 ^ + 4 [\]a-c] + 37 37 Ket + 40 End +------------------------------------------------------------------ + +/^[a-\Q\E]/B +------------------------------------------------------------------ + 0 37 Bra 0 + 3 ^ + 4 [\-a] + 37 37 Ket + 40 End +------------------------------------------------------------------ + +/^(?P>abc)[()](?)/B +------------------------------------------------------------------ + 0 54 Bra 0 + 3 ^ + 4 6 Once + 7 46 Recurse + 10 6 Ket + 13 [()] + 46 5 Bra 1 + 51 5 Ket + 54 54 Ket + 57 End +------------------------------------------------------------------ + +/^((?(abc)y)[()](?Px))+/B +------------------------------------------------------------------ + 0 66 Bra 0 + 3 ^ + 4 59 Bra 1 + 9 8 Cond + 12 2 Cond ref + 15 y + 17 8 Ket + 20 [()] + 53 7 Bra 2 + 58 x + 60 7 Ket + 63 59 KetRmax + 66 66 Ket + 69 End +------------------------------------------------------------------ + (xy)x + 0: (xy)x + 1: y)x + 2: x + +/^(?P>abc)\Q()\E(?)/B +------------------------------------------------------------------ + 0 25 Bra 0 + 3 ^ + 4 6 Once + 7 17 Recurse + 10 6 Ket + 13 () + 17 5 Bra 1 + 22 5 Ket + 25 25 Ket + 28 End +------------------------------------------------------------------ + +/^(?P>abc)[a\Q(]\E(](?)/B +------------------------------------------------------------------ + 0 54 Bra 0 + 3 ^ + 4 6 Once + 7 46 Recurse + 10 6 Ket + 13 [(\]a] + 46 5 Bra 1 + 51 5 Ket + 54 54 Ket + 57 End +------------------------------------------------------------------ + +/^(?P>abc) # this is (a comment) + (?)/Bx +------------------------------------------------------------------ + 0 21 Bra 0 + 3 ^ + 4 6 Once + 7 13 Recurse + 10 6 Ket + 13 5 Bra 1 + 18 5 Ket + 21 21 Ket + 24 End +------------------------------------------------------------------ + +/^\W*(?:(?(?.)\W*(?&one)\W*\k|)|(?(?.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii +Capturing subpattern count = 4 +Max back reference = 4 +Named capturing subpatterns: + four 4 + one 1 + three 3 + two 2 +Partial matching not supported +Options: anchored caseless +No first char +No need char + 1221 + 0: 1221 + 1: 1221 + 2: 1 + Satan, oscillate my metallic sonatas! + 0: Satan, oscillate my metallic sonatas! + 1: + 2: + 3: Satan, oscillate my metallic sonatas + 4: S + A man, a plan, a canal: Panama! + 0: A man, a plan, a canal: Panama! + 1: + 2: + 3: A man, a plan, a canal: Panama + 4: A + Able was I ere I saw Elba. + 0: Able was I ere I saw Elba. + 1: + 2: + 3: Able was I ere I saw Elba + 4: A + *** Failers +No match + The quick brown fox +No match + +/(?=(\w+))\1:/I +Capturing subpattern count = 1 +Max back reference = 1 +Partial matching not supported +No options +No first char +Need char = ':' + abcd: + 0: abcd: + 1: abcd + +/(?=(?'abc'\w+))\k:/I +Capturing subpattern count = 1 +Max back reference = 1 +Named capturing subpatterns: + abc 1 +Partial matching not supported +No options +No first char +Need char = ':' + abcd: + 0: abcd: + 1: abcd + +/(?'abc'\w+):\k{2}/ + a:aaxyz + 0: a:aa + 1: a + ab:ababxyz + 0: ab:abab + 1: ab + ** Failers +No match + a:axyz +No match + ab:abxyz +No match + +/(?'abc'a|b)(?d|e)\k{2}/J + adaa + 0: adaa + 1: a + 2: d + ** Failers +No match + addd +No match + adbb +No match + +/(?'abc'a|b)(?d|e)(?&abc){2}/J + bdaa + 0: bdaa + 1: b + 2: d + bdab + 0: bdab + 1: b + 2: d + ** Failers +No match + bddd +No match + +/^(?a)? (?()b|c) (?('ab')d|e)/x + abd + 0: abd + 1: a + ce + 0: ce + +/(?( (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x + abcabc1Xabc2XabcXabcabc + 0: abcabc1Xabc2XabcX + 1: abcabc1Xabc2XabcX + 2: abcabc1Xabc2XabcX + +/(? (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x +Failed: reference to non-existent subpattern at offset 29 + +/(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x + abcabc1Xabc2XabcXabcabc + 0: abcabc1Xabc2XabcX + 1: abcabc1Xabc2XabcX + 2: abcabc1Xabc2XabcX + +/^(?(DEFINE) (? a) (? b) ) (?&A) (?&B) /x + abcd + 0: ab + 1: + 2: + +/(?(?&NAME_PAT))\s+(?(?&ADDRESS_PAT)) + (?(DEFINE) + (?[a-z]+) + (?\d+) + )/x + metcalfe 33 + 0: metcalfe 33 + 1: metcalfe + 2: 33 + 3: + 4: + +/^(?(DEFINE) abc | xyz ) /x +Failed: DEFINE group contains more than one branch at offset 22 + +/(?(DEFINE) abc) xyz/xI +Capturing subpattern count = 0 +Options: extended +First char = 'x' +Need char = 'z' + +/(?(DEFINE) abc){3} xyz/x +Failed: repeating a DEFINE group is not allowed at offset 17 + +/(a|)*\d/ + \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +No match + \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 +Matched, but too many substrings + +/^a.b/ + a\rb + 0: a\x0db + a\nb\ + 0: a\x0ab + ** Failers +No match + a\nb +No match + a\nb\ +No match + a\rb\ +No match + a\rb\ +No match + +/^abc./mgx + abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK + 0: abc1 + 0: abc2 + 0: abc3 + 0: abc4 + 0: abc5 + 0: abc6 + 0: abc7 + +/abc.$/mgx + abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9 + 0: abc1 + 0: abc2 + 0: abc3 + 0: abc4 + 0: abc5 + 0: abc6 + 0: abc9 + +/a/ +Failed: inconsistent NEWLINE options at offset 0 + +/a/ +Failed: inconsistent NEWLINE options at offset 0 + +/^a\Rb/ + a\nb + 0: a\x0ab + a\rb + 0: a\x0db + a\r\nb + 0: a\x0d\x0ab + a\x0bb + 0: a\x0bb + a\x0cb + 0: a\x0cb + a\x85b + 0: a\x85b + ** Failers +No match + a\n\rb +No match + +/^a\R*b/ + ab + 0: ab + a\nb + 0: a\x0ab + a\rb + 0: a\x0db + a\r\nb + 0: a\x0d\x0ab + a\x0bb + 0: a\x0bb + a\x0cb + 0: a\x0cb + a\x85b + 0: a\x85b + a\n\rb + 0: a\x0a\x0db + a\n\r\x85\x0cb + 0: a\x0a\x0d\x85\x0cb + +/^a\R+b/ + a\nb + 0: a\x0ab + a\rb + 0: a\x0db + a\r\nb + 0: a\x0d\x0ab + a\x0bb + 0: a\x0bb + a\x0cb + 0: a\x0cb + a\x85b + 0: a\x85b + a\n\rb + 0: a\x0a\x0db + a\n\r\x85\x0cb + 0: a\x0a\x0d\x85\x0cb + ** Failers +No match + ab +No match + +/^a\R{1,3}b/ + a\nb + 0: a\x0ab + a\n\rb + 0: a\x0a\x0db + a\n\r\x85b + 0: a\x0a\x0d\x85b + a\r\n\r\nb + 0: a\x0d\x0a\x0d\x0ab + a\r\n\r\n\r\nb + 0: a\x0d\x0a\x0d\x0a\x0d\x0ab + a\n\r\n\rb + 0: a\x0a\x0d\x0a\x0db + a\n\n\r\nb + 0: a\x0a\x0a\x0d\x0ab + ** Failers +No match + a\n\n\n\rb +No match + a\r +No match + +/^a[\R]b/ + aRb + 0: aRb + ** Failers +No match + a\nb +No match + +/(?&abc)X(?P)/I +Capturing subpattern count = 1 +Named capturing subpatterns: + abc 1 +No options +No first char +Need char = 'P' + abcPXP123 + 0: PXP + 1: P + +/(?1)X(?P)/I +Capturing subpattern count = 1 +Named capturing subpatterns: + abc 1 +No options +No first char +Need char = 'P' + abcPXP123 + 0: PXP + 1: P + +/(?(DEFINE)(?2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/ + 1.2.3.4 + 0: 1.2.3.4 + 1: + 2: .4 + 131.111.10.206 + 0: 131.111.10.206 + 1: + 2: .206 + 10.0.0.0 + 0: 10.0.0.0 + 1: + 2: .0 + ** Failers +No match + 10.6 +No match + 455.3.4.5 +No match + +/\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/ + 1.2.3.4 + 0: 1.2.3.4 + 1: .4 + 2: + 131.111.10.206 + 0: 131.111.10.206 + 1: .206 + 2: + 10.0.0.0 + 0: 10.0.0.0 + 1: .0 + 2: + ** Failers +No match + 10.6 +No match + 455.3.4.5 +No match + +/(?:a(?&abc)b)*(?x)/ + 123axbaxbaxbx456 + 0: axbaxbaxbx + 1: x + 123axbaxbaxb456 + 0: x + 1: x + +/(?:a(?&abc)b){1,5}(?x)/ + 123axbaxbaxbx456 + 0: axbaxbaxbx + 1: x + +/(?:a(?&abc)b){2,5}(?x)/ + 123axbaxbaxbx456 + 0: axbaxbaxbx + 1: x + +/(?:a(?&abc)b){2,}(?x)/ + 123axbaxbaxbx456 + 0: axbaxbaxbx + 1: x + +/(abc)(?i:(?1))/ + defabcabcxyz + 0: abcabc + 1: abc + DEFabcABCXYZ +No match + +/(abc)(?:(?i)(?1))/ + defabcabcxyz + 0: abcabc + 1: abc + DEFabcABCXYZ +No match + +/^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/ + ababababbbabZXXXX + 0: ababababbbabZ + 1: ab + 2: b + +/^(a)\g-2/ +Failed: reference to non-existent subpattern at offset 4 + +/^(a)\g/ +Failed: \g is not followed by an (optionally braced) non-zero number at offset 4 + +/^(a)\g{0}/ +Failed: \g is not followed by an (optionally braced) non-zero number at offset 4 + +/^(a)\g{3/ +Failed: \g is not followed by an (optionally braced) non-zero number at offset 4 + +/^(a)\g{4a}/ +Failed: \g is not followed by an (optionally braced) non-zero number at offset 4 + +/^a.b/ + a\rb + 0: a\x0db + *** Failers +No match + a\nb +No match + +/.+foo/ + afoo + 0: afoo + ** Failers +No match + \r\nfoo +No match + \nfoo +No match + +/.+foo/ + afoo + 0: afoo + \nfoo + 0: \x0afoo + ** Failers +No match + \r\nfoo +No match + +/.+foo/ + afoo + 0: afoo + ** Failers +No match + \nfoo +No match + \r\nfoo +No match + +/.+foo/s + afoo + 0: afoo + \r\nfoo + 0: \x0d\x0afoo + \nfoo + 0: \x0afoo + +/ End of testinput2 / diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/testdata/testoutput3 tin-2.0.0/pcre/testdata/testoutput3 --- tin-1.8.3/pcre/testdata/testoutput3 2005-09-12 16:42:33.000000000 +0200 +++ tin-2.0.0/pcre/testdata/testoutput3 2011-04-17 16:04:39.540456009 +0200 @@ -1,5 +1,3 @@ -PCRE version 6.4 05-Sep-2005 - /^[\w]+/ *** Failers No match @@ -95,8 +93,8 @@ No first char No need char Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z - µ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä - å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ + ª µ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â + ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ /^[\xc8-\xc9]/iLfr_FR École @@ -112,4 +110,54 @@ No match école No match +/\W+/Lfr_FR + >>>\xaa<<< + 0: >>> + >>>\xba<<< + 0: >>> + +/[\W]+/Lfr_FR + >>>\xaa<<< + 0: >>> + >>>\xba<<< + 0: >>> + +/[^[:alpha:]]+/Lfr_FR + >>>\xaa<<< + 0: >>> + >>>\xba<<< + 0: >>> + +/\w+/Lfr_FR + >>>\xaa<<< + 0: ª + >>>\xba<<< + 0: º + +/[\w]+/Lfr_FR + >>>\xaa<<< + 0: ª + >>>\xba<<< + 0: º + +/[[:alpha:]]+/Lfr_FR + >>>\xaa<<< + 0: ª + >>>\xba<<< + 0: º + +/[[:alpha:]][[:lower:]][[:upper:]]/DLfr_FR +------------------------------------------------------------------ + 0 102 Bra 0 + 3 [A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\xff] + 36 [a-z\xb5\xdf-\xf6\xf8-\xff] + 69 [A-Z\xc0-\xd6\xd8-\xde] +102 102 Ket +105 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +No options +No first char +No need char + / End of testinput3 / diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/testdata/testoutput4 tin-2.0.0/pcre/testdata/testoutput4 --- tin-1.8.3/pcre/testdata/testoutput4 2005-09-12 16:42:33.000000000 +0200 +++ tin-2.0.0/pcre/testdata/testoutput4 2011-04-17 16:04:39.588463316 +0200 @@ -1,5 +1,3 @@ -PCRE version 6.4 05-Sep-2005 - /-- Do not use the \x{} construct except with patterns that have the --/ /-- /8 option set, because PCRE doesn't recognize them as UTF-8 unless --/ No match @@ -900,4 +898,24 @@ No match \x{85} 0: \x{85} +/^ሴ/8 + ሴ + 0: \x{1234} + +/^\ሴ/8 + ሴ + 0: \x{1234} + +"(?s)(.{1,5})"8 + abcdefg + 0: abcde + 1: abcde + ab + 0: ab + 1: ab + +/a*\x{100}*\w/8 + a + 0: a + / End of testinput4 / diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/testdata/testoutput5 tin-2.0.0/pcre/testdata/testoutput5 --- tin-1.8.3/pcre/testdata/testoutput5 2005-09-12 16:42:33.000000000 +0200 +++ tin-2.0.0/pcre/testdata/testoutput5 2011-04-17 16:04:39.656473664 +0200 @@ -1,5 +1,3 @@ -PCRE version 6.4 05-Sep-2005 - /\x{100}/8DM Memory allocation (code space): 10 ------------------------------------------------------------------ @@ -105,7 +103,7 @@ First char = 195 Need char = 191 /[\x{100}]/8DM -Memory allocation (code space): 47 +Memory allocation (code space): 15 ------------------------------------------------------------------ 0 11 Bra 0 3 [\x{100}] @@ -431,11 +429,11 @@ No match /Ä€{3,4}/8SD ------------------------------------------------------------------ - 0 13 Bra 0 + 0 11 Bra 0 3 \x{100}{3} - 8 \x{100}{,1} - 13 13 Ket - 16 End + 8 \x{100}? + 11 11 Ket + 14 End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -448,28 +446,9 @@ Study returned NULL /(\x{100}+|x)/8SD ------------------------------------------------------------------ - 0 17 Bra 0 - 3 6 Bra 1 - 6 \x{100}+ - 9 5 Alt - 12 x - 14 11 Ket - 17 17 Ket - 20 End ------------------------------------------------------------------- -Capturing subpattern count = 1 -Partial matching not supported -Options: utf8 -No first char -No need char -Starting byte set: x \xc4 - -/(\x{100}*a|x)/8SD ------------------------------------------------------------------- 0 19 Bra 0 3 8 Bra 1 - 6 \x{100}* - 9 a + 8 \x{100}+ 11 5 Alt 14 x 16 13 Ket @@ -481,13 +460,13 @@ Partial matching not supported Options: utf8 No first char No need char -Starting byte set: a x \xc4 +Starting byte set: x \xc4 -/(\x{100}{0,2}a|x)/8SD +/(\x{100}*a|x)/8SD ------------------------------------------------------------------ 0 21 Bra 0 3 10 Bra 1 - 6 \x{100}{,2} + 8 \x{100}*+ 11 a 13 5 Alt 16 x @@ -502,18 +481,37 @@ No first char No need char Starting byte set: a x \xc4 +/(\x{100}{0,2}a|x)/8SD +------------------------------------------------------------------ + 0 23 Bra 0 + 3 12 Bra 1 + 8 \x{100}{0,2} + 13 a + 15 5 Alt + 18 x + 20 17 Ket + 23 23 Ket + 26 End +------------------------------------------------------------------ +Capturing subpattern count = 1 +Partial matching not supported +Options: utf8 +No first char +No need char +Starting byte set: a x \xc4 + /(\x{100}{1,2}a|x)/8SD ------------------------------------------------------------------ - 0 24 Bra 0 - 3 13 Bra 1 - 6 \x{100} - 9 \x{100}{,1} - 14 a - 16 5 Alt - 19 x - 21 18 Ket - 24 24 Ket - 27 End + 0 26 Bra 0 + 3 15 Bra 1 + 8 \x{100} + 11 \x{100}{0,1} + 16 a + 18 5 Alt + 21 x + 23 20 Ket + 26 26 Ket + 29 End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -630,7 +628,7 @@ Need char = 129 /\x{100}*A/8D ------------------------------------------------------------------ 0 8 Bra 0 - 3 \x{100}* + 3 \x{100}*+ 6 A 8 8 Ket 11 End @@ -645,12 +643,14 @@ Need char = 'A' /\x{100}*\d(?R)/8D ------------------------------------------------------------------ - 0 10 Bra 0 - 3 \x{100}* + 0 16 Bra 0 + 3 \x{100}*+ 6 \d - 7 0 Recurse - 10 10 Ket - 13 End + 7 6 Once + 10 0 Recurse + 13 6 Ket + 16 16 Ket + 19 End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -660,10 +660,10 @@ No need char /[^\x{c4}]/D ------------------------------------------------------------------ - 0 36 Bra 0 - 3 [\x01-35-bd-z|~-\xff] (neg) - 36 36 Ket - 39 End + 0 5 Bra 0 + 3 [^\xc4] + 5 5 Ket + 8 End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -683,7 +683,7 @@ No first char No need char /[\x{100}]/8DM -Memory allocation (code space): 47 +Memory allocation (code space): 15 ------------------------------------------------------------------ 0 11 Bra 0 3 [\x{100}] @@ -912,14 +912,16 @@ No match /\x{100}abc(xyz(?1))/8D ------------------------------------------------------------------ - 0 27 Bra 0 + 0 35 Bra 0 3 \x{100}abc - 12 12 Bra 1 - 15 xyz - 21 12 Recurse - 24 12 Ket - 27 27 Ket - 30 End + 12 20 Bra 1 + 17 xyz + 23 6 Once + 26 12 Recurse + 29 6 Ket + 32 20 Ket + 35 35 Ket + 38 End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 @@ -928,15 +930,17 @@ Need char = 'z' /[^\x{100}]abc(xyz(?1))/8D ------------------------------------------------------------------ - 0 32 Bra 0 + 0 40 Bra 0 3 [^\x{100}] 11 abc - 17 12 Bra 1 - 20 xyz - 26 17 Recurse - 29 12 Ket - 32 32 Ket - 35 End + 17 20 Bra 1 + 22 xyz + 28 6 Once + 31 17 Recurse + 34 6 Ket + 37 20 Ket + 40 40 Ket + 43 End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 @@ -945,15 +949,17 @@ Need char = 'z' /[ab\x{100}]abc(xyz(?1))/8D ------------------------------------------------------------------ - 0 64 Bra 0 + 0 72 Bra 0 3 [ab\x{100}] 43 abc - 49 12 Bra 1 - 52 xyz - 58 49 Recurse - 61 12 Ket - 64 64 Ket - 67 End + 49 20 Bra 1 + 54 xyz + 60 6 Once + 63 49 Recurse + 66 6 Ket + 69 20 Ket + 72 72 Ket + 75 End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 @@ -962,18 +968,20 @@ Need char = 'z' /(\x{100}(b(?2)c))?/D8 ------------------------------------------------------------------ - 0 26 Bra 0 + 0 36 Bra 0 3 Brazero - 4 19 Bra 1 - 7 \x{100} - 10 10 Bra 2 - 13 b - 15 10 Recurse - 18 c - 20 10 Ket - 23 19 Ket - 26 26 Ket - 29 End + 4 29 Bra 1 + 9 \x{100} + 12 18 Bra 2 + 17 b + 19 6 Once + 22 12 Recurse + 25 6 Ket + 28 c + 30 18 Ket + 33 29 Ket + 36 36 Ket + 39 End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 @@ -982,29 +990,33 @@ No need char /(\x{100}(b(?2)c)){0,2}/D8 ------------------------------------------------------------------ - 0 55 Bra 0 + 0 75 Bra 0 3 Brazero - 4 48 Bra 0 - 7 19 Bra 1 - 10 \x{100} - 13 10 Bra 2 - 16 b - 18 13 Recurse - 21 c - 23 10 Ket - 26 19 Ket - 29 Brazero - 30 19 Bra 1 - 33 \x{100} - 36 10 Bra 2 - 39 b - 41 13 Recurse - 44 c - 46 10 Ket - 49 19 Ket - 52 48 Ket - 55 55 Ket - 58 End + 4 68 Bra 0 + 7 29 Bra 1 + 12 \x{100} + 15 18 Bra 2 + 20 b + 22 6 Once + 25 15 Recurse + 28 6 Ket + 31 c + 33 18 Ket + 36 29 Ket + 39 Brazero + 40 29 Bra 1 + 45 \x{100} + 48 18 Bra 2 + 53 b + 55 6 Once + 58 15 Recurse + 61 6 Ket + 64 c + 66 18 Ket + 69 29 Ket + 72 68 Ket + 75 75 Ket + 78 End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 @@ -1013,18 +1025,20 @@ No need char /(\x{100}(b(?1)c))?/D8 ------------------------------------------------------------------ - 0 26 Bra 0 + 0 36 Bra 0 3 Brazero - 4 19 Bra 1 - 7 \x{100} - 10 10 Bra 2 - 13 b - 15 4 Recurse - 18 c - 20 10 Ket - 23 19 Ket - 26 26 Ket - 29 End + 4 29 Bra 1 + 9 \x{100} + 12 18 Bra 2 + 17 b + 19 6 Once + 22 4 Recurse + 25 6 Ket + 28 c + 30 18 Ket + 33 29 Ket + 36 36 Ket + 39 End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 @@ -1033,29 +1047,33 @@ No need char /(\x{100}(b(?1)c)){0,2}/D8 ------------------------------------------------------------------ - 0 55 Bra 0 + 0 75 Bra 0 3 Brazero - 4 48 Bra 0 - 7 19 Bra 1 - 10 \x{100} - 13 10 Bra 2 - 16 b - 18 7 Recurse - 21 c - 23 10 Ket - 26 19 Ket - 29 Brazero - 30 19 Bra 1 - 33 \x{100} - 36 10 Bra 2 - 39 b - 41 7 Recurse - 44 c - 46 10 Ket - 49 19 Ket - 52 48 Ket - 55 55 Ket - 58 End + 4 68 Bra 0 + 7 29 Bra 1 + 12 \x{100} + 15 18 Bra 2 + 20 b + 22 6 Once + 25 7 Recurse + 28 6 Ket + 31 c + 33 18 Ket + 36 29 Ket + 39 Brazero + 40 29 Bra 1 + 45 \x{100} + 48 18 Bra 2 + 53 b + 55 6 Once + 58 7 Recurse + 61 6 Ket + 64 c + 66 18 Ket + 69 29 Ket + 72 68 Ket + 75 75 Ket + 78 End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 @@ -1072,4 +1090,314 @@ No need char \x{100}X 0: X +/a\x{1234}b/P8 + a\x{1234}b + 0: a\x{1234}b + +/^\ሴ/8D +------------------------------------------------------------------ + 0 8 Bra 0 + 3 ^ + 4 \x{1234} + 8 8 Ket + 11 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Options: anchored utf8 +No first char +No need char + +/\777/I +Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3 + +/\777/8I +Capturing subpattern count = 0 +Options: utf8 +First char = 199 +Need char = 191 + \x{1ff} + 0: \x{1ff} + \777 + 0: \x{1ff} + +/\x{100}*\d/8D +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \x{100}*+ + 6 \d + 7 7 Ket + 10 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +No first char +No need char + +/\x{100}*\s/8D +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \x{100}*+ + 6 \s + 7 7 Ket + 10 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +No first char +No need char + +/\x{100}*\w/8D +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \x{100}*+ + 6 \w + 7 7 Ket + 10 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +No first char +No need char + +/\x{100}*\D/8D +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \x{100}* + 6 \D + 7 7 Ket + 10 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +No first char +No need char + +/\x{100}*\S/8D +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \x{100}* + 6 \S + 7 7 Ket + 10 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +No first char +No need char + +/\x{100}*\W/8D +------------------------------------------------------------------ + 0 7 Bra 0 + 3 \x{100}* + 6 \W + 7 7 Ket + 10 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +No first char +No need char + +/\x{100}+\x{200}/8D +------------------------------------------------------------------ + 0 9 Bra 0 + 3 \x{100}++ + 6 \x{200} + 9 9 Ket + 12 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +First char = 196 +Need char = 128 + +/\x{100}+X/8D +------------------------------------------------------------------ + 0 8 Bra 0 + 3 \x{100}++ + 6 X + 8 8 Ket + 11 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +First char = 196 +Need char = 'X' + +/X+\x{200}/8D +------------------------------------------------------------------ + 0 8 Bra 0 + 3 X++ + 5 \x{200} + 8 8 Ket + 11 End +------------------------------------------------------------------ +Capturing subpattern count = 0 +Partial matching not supported +Options: utf8 +First char = 'X' +Need char = 128 + +/()()()()()()()()()() + ()()()()()()()()()() + ()()()()()()()()()() + ()()()()()()()()()() + A (x) (?41) B/8x + AxxB +Matched, but too many substrings + 0: AxxB + 1: + 2: + 3: + 4: + 5: + 6: + 7: + 8: + 9: +10: +11: +12: +13: +14: + +/^[\x{100}\E-\Q\E\x{150}]/B8 +------------------------------------------------------------------ + 0 14 Bra 0 + 3 ^ + 4 [\x{100}-\x{150}] + 14 14 Ket + 17 End +------------------------------------------------------------------ + +/^[\QÄ€\E-\QÅ\E]/B8 +------------------------------------------------------------------ + 0 14 Bra 0 + 3 ^ + 4 [\x{100}-\x{150}] + 14 14 Ket + 17 End +------------------------------------------------------------------ + +/^[\QÄ€\E-\QÅ\E/B8 +Failed: missing terminating ] for character class at offset 15 + +/^abc./mgx8 + abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK + 0: abc1 + 0: abc2 + 0: abc3 + 0: abc4 + 0: abc5 + 0: abc6 + 0: abc7 + 0: abc8 + 0: abc9 + +/abc.$/mgx8 + abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 + 0: abc1 + 0: abc2 + 0: abc3 + 0: abc4 + 0: abc5 + 0: abc6 + 0: abc7 + 0: abc8 + 0: abc9 + +/^a\Rb/8 + a\nb + 0: a\x{0a}b + a\rb + 0: a\x{0d}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x0bb + 0: a\x{0b}b + a\x0cb + 0: a\x{0c}b + a\x{85}b + 0: a\x{85}b + a\x{2028}b + 0: a\x{2028}b + a\x{2029}b + 0: a\x{2029}b + ** Failers +No match + a\n\rb +No match + +/^a\R*b/8 + ab + 0: ab + a\nb + 0: a\x{0a}b + a\rb + 0: a\x{0d}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x0bb + 0: a\x{0b}b + a\x0c\x{2028}\x{2029}b + 0: a\x{0c}\x{2028}\x{2029}b + a\x{85}b + 0: a\x{85}b + a\n\rb + 0: a\x{0a}\x{0d}b + a\n\r\x{85}\x0cb + 0: a\x{0a}\x{0d}\x{85}\x{0c}b + +/^a\R+b/8 + a\nb + 0: a\x{0a}b + a\rb + 0: a\x{0d}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x0bb + 0: a\x{0b}b + a\x0c\x{2028}\x{2029}b + 0: a\x{0c}\x{2028}\x{2029}b + a\x{85}b + 0: a\x{85}b + a\n\rb + 0: a\x{0a}\x{0d}b + a\n\r\x{85}\x0cb + 0: a\x{0a}\x{0d}\x{85}\x{0c}b + ** Failers +No match + ab +No match + +/^a\R{1,3}b/8 + a\nb + 0: a\x{0a}b + a\n\rb + 0: a\x{0a}\x{0d}b + a\n\r\x{85}b + 0: a\x{0a}\x{0d}\x{85}b + a\r\n\r\nb + 0: a\x{0d}\x{0a}\x{0d}\x{0a}b + a\r\n\r\n\r\nb + 0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b + a\n\r\n\rb + 0: a\x{0a}\x{0d}\x{0a}\x{0d}b + a\n\n\r\nb + 0: a\x{0a}\x{0a}\x{0d}\x{0a}b + ** Failers +No match + a\n\n\n\rb +No match + a\r +No match + / End of testinput5 / diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/testdata/testoutput6 tin-2.0.0/pcre/testdata/testoutput6 --- tin-1.8.3/pcre/testdata/testoutput6 2005-09-12 16:42:33.000000000 +0200 +++ tin-2.0.0/pcre/testdata/testoutput6 2011-04-17 16:04:39.724484014 +0200 @@ -1,5 +1,3 @@ -PCRE version 6.4 05-Sep-2005 - /^\pC\pL\pM\pN\pP\pS\pZ2 + foob\P\>2 Partial match: b foobar...\R\P\>4 0: ar xyzfo\P No match - foobar\R\>2 + foobar\>2 0: bar *** Failers No match @@ -2738,7 +2735,7 @@ No match No match /^a b - c/x + c/x abc 0: abc @@ -2976,7 +2973,7 @@ No match {4,5a}bc 0: {4,5a}bc -/^a.b/ +/^a.b/ a\rb 0: a\x0db *** Failers @@ -3006,13 +3003,13 @@ No match abc\xd3 0: abc\xd3 -/(abc)\500/ +/(abc)\100/ abc\x40 0: abc@ abc\100 0: abc@ -/(abc)\5000/ +/(abc)\1000/ abc\x400 0: abc@0 abc\x40\x30 @@ -3042,9 +3039,9 @@ No match abcdefghijk\12S 0: abcdefghijk\x0aS -/ab\gdef/ - abgdef - 0: abgdef +/ab\hdef/ + abhdef + 0: abhdef /a{0}bc/ bc @@ -6513,4 +6510,446 @@ No match line one\nthis is a line\nbreak in the second line No match +/1234/ + 123\P +Partial match: 123 + a4\P\R +No match + +/1234/ + 123\P +Partial match: 123 + 4\P\R + 0: 4 + +/^/mg + a\nb\nc\n + 0: + 0: + 0: + \ + 0: + +/(?<=C\n)^/mg + A\nC\nC\n + 0: + +/(?s)A?B/ + AB + 0: AB + aB + 0: B + +/(?s)A*B/ + AB + 0: AB + aB + 0: B + +/(?m)A?B/ + AB + 0: AB + aB + 0: B + +/(?m)A*B/ + AB + 0: AB + aB + 0: B + +/Content-Type\x3A[^\r\n]{6,}/ + Content-Type:xxxxxyyy + 0: Content-Type:xxxxxyyy + 1: Content-Type:xxxxxyy + 2: Content-Type:xxxxxy + +/Content-Type\x3A[^\r\n]{6,}z/ + Content-Type:xxxxxyyyz + 0: Content-Type:xxxxxyyyz + +/Content-Type\x3A[^a]{6,}/ + Content-Type:xxxyyy + 0: Content-Type:xxxyyy + +/Content-Type\x3A[^a]{6,}z/ + Content-Type:xxxyyyz + 0: Content-Type:xxxyyyz + +/^abc/m + xyz\nabc + 0: abc + xyz\nabc\ + 0: abc + xyz\r\nabc\ + 0: abc + xyz\rabc\ + 0: abc + xyz\r\nabc\ + 0: abc + ** Failers +No match + xyz\nabc\ +No match + xyz\r\nabc\ +No match + xyz\nabc\ +No match + xyz\rabc\ +No match + xyz\rabc\ +No match + +/abc$/m + xyzabc + 0: abc + xyzabc\n + 0: abc + xyzabc\npqr + 0: abc + xyzabc\r\ + 0: abc + xyzabc\rpqr\ + 0: abc + xyzabc\r\n\ + 0: abc + xyzabc\r\npqr\ + 0: abc + ** Failers +No match + xyzabc\r +No match + xyzabc\rpqr +No match + xyzabc\r\n +No match + xyzabc\r\npqr +No match + +/^abc/m + xyz\rabcdef + 0: abc + xyz\nabcdef\ + 0: abc + ** Failers +No match + xyz\nabcdef +No match + +/^abc/m + xyz\nabcdef + 0: abc + xyz\rabcdef\ + 0: abc + ** Failers +No match + xyz\rabcdef +No match + +/^abc/m + xyz\r\nabcdef + 0: abc + xyz\rabcdef\ + 0: abc + ** Failers +No match + xyz\rabcdef +No match + +/.*/ + abc\ndef + 0: abc + 1: ab + 2: a + 3: + abc\rdef + 0: abc\x0ddef + 1: abc\x0dde + 2: abc\x0dd + 3: abc\x0d + 4: abc + 5: ab + 6: a + 7: + abc\r\ndef + 0: abc\x0d + 1: abc + 2: ab + 3: a + 4: + \abc\ndef + 0: abc\x0adef + 1: abc\x0ade + 2: abc\x0ad + 3: abc\x0a + 4: abc + 5: ab + 6: a + 7: + \abc\rdef + 0: abc + 1: ab + 2: a + 3: + \abc\r\ndef + 0: abc + 1: ab + 2: a + 3: + \abc\ndef + 0: abc\x0adef + 1: abc\x0ade + 2: abc\x0ad + 3: abc\x0a + 4: abc + 5: ab + 6: a + 7: + \abc\rdef + 0: abc\x0ddef + 1: abc\x0dde + 2: abc\x0dd + 3: abc\x0d + 4: abc + 5: ab + 6: a + 7: + \abc\r\ndef + 0: abc + 1: ab + 2: a + 3: + +/\w+(.)(.)?def/s + abc\ndef + 0: abc\x0adef + abc\rdef + 0: abc\x0ddef + abc\r\ndef + 0: abc\x0d\x0adef + +/^\w+=.*(\\\n.*)*/ + abc=xyz\\\npqr + 0: abc=xyz\\x0apqr + 1: abc=xyz\\x0apq + 2: abc=xyz\\x0ap + 3: abc=xyz\\x0a + 4: abc=xyz\ + 5: abc=xyz + 6: abc=xy + 7: abc=x + 8: abc= + +/^(a()*)*/ + aaaa + 0: aaaa + 1: aaa + 2: aa + 3: a + 4: + +/^(?:a(?:(?:))*)*/ + aaaa + 0: aaaa + 1: aaa + 2: aa + 3: a + 4: + +/^(a()+)+/ + aaaa + 0: aaaa + 1: aaa + 2: aa + 3: a + +/^(?:a(?:(?:))+)+/ + aaaa + 0: aaaa + 1: aaa + 2: aa + 3: a + +/(a|)*\d/ + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +No match + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 + 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 + +/(?>a|)*\d/ + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +No match + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 + 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 + +/(?:a|)*\d/ + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +No match + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 + 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4 + +/^a.b/ + a\rb + 0: a\x0db + a\nb\ + 0: a\x0ab + ** Failers +No match + a\nb +No match + a\nb\ +No match + a\rb\ +No match + a\rb\ +No match + +/^abc./mgx + abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK + 0: abc1 + 0: abc2 + 0: abc3 + 0: abc4 + 0: abc5 + 0: abc6 + 0: abc7 + +/abc.$/mgx + abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9 + 0: abc1 + 0: abc2 + 0: abc3 + 0: abc4 + 0: abc5 + 0: abc6 + 0: abc9 + +/^a\Rb/ + a\nb + 0: a\x0ab + a\rb + 0: a\x0db + a\r\nb + 0: a\x0d\x0ab + a\x0bb + 0: a\x0bb + a\x0cb + 0: a\x0cb + a\x85b + 0: a\x85b + ** Failers +No match + a\n\rb +No match + +/^a\R*b/ + ab + 0: ab + a\nb + 0: a\x0ab + a\rb + 0: a\x0db + a\r\nb + 0: a\x0d\x0ab + a\x0bb + 0: a\x0bb + a\x0cb + 0: a\x0cb + a\x85b + 0: a\x85b + a\n\rb + 0: a\x0a\x0db + a\n\r\x85\x0cb + 0: a\x0a\x0d\x85\x0cb + +/^a\R+b/ + a\nb + 0: a\x0ab + a\rb + 0: a\x0db + a\r\nb + 0: a\x0d\x0ab + a\x0bb + 0: a\x0bb + a\x0cb + 0: a\x0cb + a\x85b + 0: a\x85b + a\n\rb + 0: a\x0a\x0db + a\n\r\x85\x0cb + 0: a\x0a\x0d\x85\x0cb + ** Failers +No match + ab +No match + +/^a\R{1,3}b/ + a\nb + 0: a\x0ab + a\n\rb + 0: a\x0a\x0db + a\n\r\x85b + 0: a\x0a\x0d\x85b + a\r\n\r\nb + 0: a\x0d\x0a\x0d\x0ab + a\r\n\r\n\r\nb + 0: a\x0d\x0a\x0d\x0a\x0d\x0ab + a\n\r\n\rb + 0: a\x0a\x0d\x0a\x0db + a\n\n\r\nb + 0: a\x0a\x0a\x0d\x0ab + ** Failers +No match + a\n\n\n\rb +No match + a\r +No match + +/^a[\R]b/ + aRb + 0: aRb + ** Failers +No match + a\nb +No match + +/.+foo/ + afoo + 0: afoo + ** Failers +No match + \r\nfoo +No match + \nfoo +No match + +/.+foo/ + afoo + 0: afoo + \nfoo + 0: \x0afoo + ** Failers +No match + \r\nfoo +No match + +/.+foo/ + afoo + 0: afoo + ** Failers +No match + \nfoo +No match + \r\nfoo +No match + +/.+foo/s + afoo + 0: afoo + \r\nfoo + 0: \x0d\x0afoo + \nfoo + 0: \x0afoo + / End of testinput7 / diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/testdata/testoutput8 tin-2.0.0/pcre/testdata/testoutput8 --- tin-1.8.3/pcre/testdata/testoutput8 2005-09-12 16:42:33.000000000 +0200 +++ tin-2.0.0/pcre/testdata/testoutput8 2011-04-17 16:04:39.880507758 +0200 @@ -1,5 +1,3 @@ -PCRE version 6.4 05-Sep-2005 - /-- Do not use the \x{} construct except with patterns that have the --/ /-- /8 option set, because PCRE doesn't recognize them as UTF-8 unless --/ No match @@ -1030,4 +1028,114 @@ No match \x{85} 0: \x{85} +/^abc./mgx8 + abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK + 0: abc1 + 0: abc2 + 0: abc3 + 0: abc4 + 0: abc5 + 0: abc6 + 0: abc7 + 0: abc8 + 0: abc9 + +/abc.$/mgx8 + abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 + 0: abc1 + 0: abc2 + 0: abc3 + 0: abc4 + 0: abc5 + 0: abc6 + 0: abc7 + 0: abc8 + 0: abc9 + +/^a\Rb/8 + a\nb + 0: a\x{0a}b + a\rb + 0: a\x{0d}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x0bb + 0: a\x{0b}b + a\x0cb + 0: a\x{0c}b + a\x{85}b + 0: a\x{85}b + a\x{2028}b + 0: a\x{2028}b + a\x{2029}b + 0: a\x{2029}b + ** Failers +No match + a\n\rb +No match + +/^a\R*b/8 + ab + 0: ab + a\nb + 0: a\x{0a}b + a\rb + 0: a\x{0d}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x0bb + 0: a\x{0b}b + a\x0c\x{2028}\x{2029}b + 0: a\x{0c}\x{2028}\x{2029}b + a\x{85}b + 0: a\x{85}b + a\n\rb + 0: a\x{0a}\x{0d}b + a\n\r\x{85}\x0cb + 0: a\x{0a}\x{0d}\x{85}\x{0c}b + +/^a\R+b/8 + a\nb + 0: a\x{0a}b + a\rb + 0: a\x{0d}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x0bb + 0: a\x{0b}b + a\x0c\x{2028}\x{2029}b + 0: a\x{0c}\x{2028}\x{2029}b + a\x{85}b + 0: a\x{85}b + a\n\rb + 0: a\x{0a}\x{0d}b + a\n\r\x{85}\x0cb + 0: a\x{0a}\x{0d}\x{85}\x{0c}b + ** Failers +No match + ab +No match + +/^a\R{1,3}b/8 + a\nb + 0: a\x{0a}b + a\n\rb + 0: a\x{0a}\x{0d}b + a\n\r\x{85}b + 0: a\x{0a}\x{0d}\x{85}b + a\r\n\r\nb + 0: a\x{0d}\x{0a}\x{0d}\x{0a}b + a\r\n\r\n\r\nb + 0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b + a\n\r\n\rb + 0: a\x{0a}\x{0d}\x{0a}\x{0d}b + a\n\n\r\nb + 0: a\x{0a}\x{0a}\x{0d}\x{0a}b + ** Failers +No match + a\n\n\n\rb +No match + a\r +No match + / End of testinput 8 / diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/testdata/testoutput9 tin-2.0.0/pcre/testdata/testoutput9 --- tin-1.8.3/pcre/testdata/testoutput9 2005-09-12 16:42:33.000000000 +0200 +++ tin-2.0.0/pcre/testdata/testoutput9 2011-04-17 16:04:39.932515673 +0200 @@ -1,5 +1,3 @@ -PCRE version 6.4 05-Sep-2005 - /\pL\P{Nd}/8 AB 0: AB @@ -1231,4 +1229,399 @@ No match \x{101} 0: \x{101} +/^\p{Han}+/8 + \x{2e81}\x{3007}\x{2f804}\x{31a0} + 0: \x{2e81}\x{3007}\x{2f804} + 1: \x{2e81}\x{3007} + 2: \x{2e81} + ** Failers +No match + \x{2e7f} +No match + +/^\P{Katakana}+/8 + \x{3105} + 0: \x{3105} + ** Failers + 0: ** Failers + 1: ** Failer + 2: ** Faile + 3: ** Fail + 4: ** Fai + 5: ** Fa + 6: ** F + 7: ** + 8: ** + 9: * + \x{30ff} +No match + +/^[\p{Arabic}]/8 + \x{06e9} + 0: \x{6e9} + \x{060b} + 0: \x{60b} + ** Failers +No match + X\x{06e9} +No match + +/^[\P{Yi}]/8 + \x{2f800} + 0: \x{2f800} + ** Failers + 0: * + \x{a014} +No match + \x{a4c6} +No match + +/^\p{Any}X/8 + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + ** Failers +No match + X +No match + +/^\P{Any}X/8 + ** Failers +No match + AX +No match + +/^\p{Any}?X/8 + XYZ + 0: X + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + ** Failers +No match + ABXYZ +No match + +/^\P{Any}?X/8 + XYZ + 0: X + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + ABXYZ +No match + +/^\p{Any}+X/8 + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + A\x{1234}XYZ + 0: A\x{1234}X + ** Failers +No match + XYZ +No match + +/^\P{Any}+X/8 + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + A\x{1234}XYZ +No match + XYZ +No match + +/^\p{Any}*X/8 + XYZ + 0: X + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + A\x{1234}XYZ + 0: A\x{1234}X + ** Failers +No match + +/^\P{Any}*X/8 + XYZ + 0: X + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + A\x{1234}XYZ +No match + +/^[\p{Any}]X/8 + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + ** Failers +No match + X +No match + +/^[\P{Any}]X/8 + ** Failers +No match + AX +No match + +/^[\p{Any}]?X/8 + XYZ + 0: X + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + ** Failers +No match + ABXYZ +No match + +/^[\P{Any}]?X/8 + XYZ + 0: X + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + ABXYZ +No match + +/^[\p{Any}]+X/8 + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + A\x{1234}XYZ + 0: A\x{1234}X + ** Failers +No match + XYZ +No match + +/^[\P{Any}]+X/8 + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + A\x{1234}XYZ +No match + XYZ +No match + +/^[\p{Any}]*X/8 + XYZ + 0: X + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + A\x{1234}XYZ + 0: A\x{1234}X + ** Failers +No match + +/^[\P{Any}]*X/8 + XYZ + 0: X + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + A\x{1234}XYZ +No match + +/^\p{Any}{3,5}?/8 + abcdefgh + 0: abcde + 1: abcd + 2: abc + \x{1234}\n\r\x{3456}xyz + 0: \x{1234}\x{0a}\x{0d}\x{3456}x + 1: \x{1234}\x{0a}\x{0d}\x{3456} + 2: \x{1234}\x{0a}\x{0d} + +/^\p{Any}{3,5}/8 + abcdefgh + 0: abcde + 1: abcd + 2: abc + \x{1234}\n\r\x{3456}xyz + 0: \x{1234}\x{0a}\x{0d}\x{3456}x + 1: \x{1234}\x{0a}\x{0d}\x{3456} + 2: \x{1234}\x{0a}\x{0d} + +/^\P{Any}{3,5}?/8 + ** Failers +No match + abcdefgh +No match + \x{1234}\n\r\x{3456}xyz +No match + +/^\p{L&}X/8 + AXY + 0: AX + aXY + 0: aX + \x{1c5}XY + 0: \x{1c5}X + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^[\p{L&}]X/8 + AXY + 0: AX + aXY + 0: aX + \x{1c5}XY + 0: \x{1c5}X + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^\p{L&}+X/8 + AXY + 0: AX + aXY + 0: aX + AbcdeXyz + 0: AbcdeX + \x{1c5}AbXY + 0: \x{1c5}AbX + abcDEXypqreXlmn + 0: abcDEXypqreX + 1: abcDEX + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^[\p{L&}]+X/8 + AXY + 0: AX + aXY + 0: aX + AbcdeXyz + 0: AbcdeX + \x{1c5}AbXY + 0: \x{1c5}AbX + abcDEXypqreXlmn + 0: abcDEXypqreX + 1: abcDEX + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^\p{L&}+?X/8 + AXY + 0: AX + aXY + 0: aX + AbcdeXyz + 0: AbcdeX + \x{1c5}AbXY + 0: \x{1c5}AbX + abcDEXypqreXlmn + 0: abcDEXypqreX + 1: abcDEX + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^[\p{L&}]+?X/8 + AXY + 0: AX + aXY + 0: aX + AbcdeXyz + 0: AbcdeX + \x{1c5}AbXY + 0: \x{1c5}AbX + abcDEXypqreXlmn + 0: abcDEXypqreX + 1: abcDEX + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^\P{L&}X/8 + !XY + 0: !X + \x{1bb}XY + 0: \x{1bb}X + \x{2b0}XY + 0: \x{2b0}X + ** Failers +No match + \x{1c5}XY +No match + AXY +No match + +/^[\P{L&}]X/8 + !XY + 0: !X + \x{1bb}XY + 0: \x{1bb}X + \x{2b0}XY + 0: \x{2b0}X + ** Failers +No match + \x{1c5}XY +No match + AXY +No match + / End / diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/ucp.h tin-2.0.0/pcre/ucp.h --- tin-1.8.3/pcre/ucp.h 2005-09-12 16:42:51.000000000 +0200 +++ tin-2.0.0/pcre/ucp.h 2011-04-17 16:04:38.508298937 +0200 @@ -1,12 +1,16 @@ /************************************************* -* libucp - Unicode Property Table handler * +* Unicode Property Table handler * *************************************************/ - #ifndef _UCP_H #define _UCP_H -/* These are the character categories that are returned by ucp_findchar */ +/* This file contains definitions of the property values that are returned by +the function _pcre_ucp_findprop(). New values that are added for new releases +of Unicode should always be at the end of each enum, for backwards +compatibility. */ + +/* These are the general character categories. */ enum { ucp_C, /* Other */ @@ -18,7 +22,7 @@ enum { ucp_Z /* Separator */ }; -/* These are the detailed character types that are returned by ucp_findchar */ +/* These are the particular character types. */ enum { ucp_Cc, /* Control */ @@ -53,6 +57,77 @@ enum { ucp_Zs /* Space separator */ }; +/* These are the script identifications. */ + +enum { + ucp_Arabic, + ucp_Armenian, + ucp_Bengali, + ucp_Bopomofo, + ucp_Braille, + ucp_Buginese, + ucp_Buhid, + ucp_Canadian_Aboriginal, + ucp_Cherokee, + ucp_Common, + ucp_Coptic, + ucp_Cypriot, + ucp_Cyrillic, + ucp_Deseret, + ucp_Devanagari, + ucp_Ethiopic, + ucp_Georgian, + ucp_Glagolitic, + ucp_Gothic, + ucp_Greek, + ucp_Gujarati, + ucp_Gurmukhi, + ucp_Han, + ucp_Hangul, + ucp_Hanunoo, + ucp_Hebrew, + ucp_Hiragana, + ucp_Inherited, + ucp_Kannada, + ucp_Katakana, + ucp_Kharoshthi, + ucp_Khmer, + ucp_Lao, + ucp_Latin, + ucp_Limbu, + ucp_Linear_B, + ucp_Malayalam, + ucp_Mongolian, + ucp_Myanmar, + ucp_New_Tai_Lue, + ucp_Ogham, + ucp_Old_Italic, + ucp_Old_Persian, + ucp_Oriya, + ucp_Osmanya, + ucp_Runic, + ucp_Shavian, + ucp_Sinhala, + ucp_Syloti_Nagri, + ucp_Syriac, + ucp_Tagalog, + ucp_Tagbanwa, + ucp_Tai_Le, + ucp_Tamil, + ucp_Telugu, + ucp_Thaana, + ucp_Thai, + ucp_Tibetan, + ucp_Tifinagh, + ucp_Ugaritic, + ucp_Yi, + ucp_Balinese, /* New for Unicode 5.0.0 */ + ucp_Cuneiform, /* New for Unicode 5.0.0 */ + ucp_Nko, /* New for Unicode 5.0.0 */ + ucp_Phags_Pa, /* New for Unicode 5.0.0 */ + ucp_Phoenician /* New for Unicode 5.0.0 */ +}; + #endif /* End of ucp.h */ diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/ucpinternal.h tin-2.0.0/pcre/ucpinternal.h --- tin-1.8.3/pcre/ucpinternal.h 2005-06-28 10:31:26.000000000 +0200 +++ tin-2.0.0/pcre/ucpinternal.h 2011-04-17 16:04:38.540303808 +0200 @@ -1,91 +1,92 @@ /************************************************* -* libucp - Unicode Property Table handler * +* Unicode Property Table handler * *************************************************/ -/* Internal header file defining the layout of compact nodes in the tree. */ +#ifndef _UCPINTERNAL_H +#define _UCPINTERNAL_H + +/* Internal header file defining the layout of the bits in each pair of 32-bit +words that form a data item in the table. */ typedef struct cnode { - unsigned short int f0; - unsigned short int f1; - unsigned short int f2; + pcre_uint32 f0; + pcre_uint32 f1; } cnode; /* Things for the f0 field */ -#define f0_leftexists 0x8000 /* Left child exists */ -#define f0_typemask 0x3f00 /* Type bits */ -#define f0_typeshift 8 /* Type shift */ -#define f0_chhmask 0x00ff /* Character high bits */ - -/* Things for the f2 field */ - -#define f2_rightmask 0xf000 /* Mask for right offset bits */ -#define f2_rightshift 12 /* Shift for right offset */ -#define f2_casemask 0x0fff /* Mask for case offset */ - -/* The tree consists of a vector of structures of type cnode, with the root -node as the first element. The three short ints (16-bits) are used as follows: - -(f0) (1) The 0x8000 bit of f0 is set if a left child exists. The child's node - is the next node in the vector. - (2) The 0x4000 bits of f0 is spare. - (3) The 0x3f00 bits of f0 contain the character type; this is a number - defined by the enumeration in ucp.h (e.g. ucp_Lu). - (4) The bottom 8 bits of f0 contain the most significant byte of the - character's 24-bit codepoint. - -(f1) (1) The f1 field contains the two least significant bytes of the - codepoint. - -(f2) (1) The 0xf000 bits of f2 contain zero if there is no right child of this - node. Otherwise, they contain one plus the exponent of the power of - two of the offset to the right node (e.g. a value of 3 means 8). The - units of the offset are node items. - - (2) The 0x0fff bits of f2 contain the signed offset from this character to - its alternate cased value. They are zero if there is no such - character. - - ------------------------------------------------------------------------------ -||.|.| type (6) | ms char (8) || ls char (16) ||....| case offset (12) || ------------------------------------------------------------------------------ - | | | - | |-> spare | - | exponent of right - |-> left child exists child offset - +#define f0_scriptmask 0xff000000 /* Mask for script field */ +#define f0_scriptshift 24 /* Shift for script value */ +#define f0_rangeflag 0x00f00000 /* Flag for a range item */ +#define f0_charmask 0x001fffff /* Mask for code point value */ + +/* Things for the f1 field */ + +#define f1_typemask 0xfc000000 /* Mask for char type field */ +#define f1_typeshift 26 /* Shift for the type field */ +#define f1_rangemask 0x0000ffff /* Mask for a range offset */ +#define f1_casemask 0x0000ffff /* Mask for a case offset */ +#define f1_caseneg 0xffff8000 /* Bits for negation */ + +/* The data consists of a vector of structures of type cnode. The two unsigned +32-bit integers are used as follows: + +(f0) (1) The most significant byte holds the script number. The numbers are + defined by the enum in ucp.h. + + (2) The 0x00800000 bit is set if this entry defines a range of characters. + It is not set if this entry defines a single character + + (3) The 0x00600000 bits are spare. + + (4) The 0x001fffff bits contain the code point. No Unicode code point will + ever be greater than 0x0010ffff, so this should be OK for ever. + +(f1) (1) The 0xfc000000 bits contain the character type number. The numbers are + defined by an enum in ucp.h. + + (2) The 0x03ff0000 bits are spare. + + (3) The 0x0000ffff bits contain EITHER the unsigned offset to the top of + range if this entry defines a range, OR the *signed* offset to the + character's "other case" partner if this entry defines a single + character. There is no partner if the value is zero. + +------------------------------------------------------------------------------- +| script (8) |.|.|.| codepoint (21) || type (6) |.|.| spare (8) | offset (16) | +------------------------------------------------------------------------------- + | | | | | + | | |-> spare | |-> spare + | | | + | |-> spare |-> spare + | + |-> range flag The upper/lower casing information is set only for characters that come in -pairs. There are (at present) four non-one-to-one mappings in the Unicode data. -These are ignored. They are: - - 1FBE Greek Prosgegrammeni (lower, with upper -> capital iota) - 2126 Ohm - 212A Kelvin - 212B Angstrom +pairs. The non-one-to-one mappings in the Unicode data are ignored. -Certainly for the last three, having an alternate case would seem to be a -mistake. I don't know any Greek, so cannot comment on the first one. +When searching the data, proceed as follows: +(1) Set up for a binary chop search. -When searching the tree, proceed as follows: +(2) If the top is not greater than the bottom, the character is not in the + table. Its type must therefore be "Cn" ("Undefined"). -(1) Start at the first node. +(3) Find the middle vector element. -(2) Extract the character value from f1 and the bottom 8 bits of f0; +(4) Extract the code point and compare. If equal, we are done. -(3) Compare with the character being sought. If equal, we are done. +(5) If the test character is smaller, set the top to the current point, and + goto (2). -(4) If the test character is smaller, inspect the f0_leftexists flag. If it is - not set, the character is not in the tree. If it is set, move to the next - node, and go to (2). +(6) If the current entry defines a range, compute the last character by adding + the offset, and see if the test character is within the range. If it is, + we are done. -(5) If the test character is bigger, extract the f2_rightmask bits from f2, and - shift them right by f2_rightshift. If the result is zero, the character is - not in the tree. Otherwise, calculate the number of nodes to skip by - shifting the value 1 left by this number minus one. Go to (2). +(7) Otherwise, set the bottom to one element past the current point and goto + (2). */ +#endif /* _UCPINTERNAL_H */ -/* End of internal.h */ +/* End of ucpinternal.h */ diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/ucptable.c tin-2.0.0/pcre/ucptable.c --- tin-1.8.3/pcre/ucptable.c 2005-06-28 10:31:26.000000000 +0200 +++ tin-2.0.0/pcre/ucptable.c 2011-04-17 16:04:38.608314156 +0200 @@ -1,15105 +1,3068 @@ /* This source module is automatically generated from the Unicode -property table. See internal.h for a description of the layout. */ +property table. See ucpinternal.h for a description of the layout. +This version was made from the Unicode 5.0.0 tables. */ static cnode ucp_table[] = { - { 0x9a00, 0x2f1f, 0xe000 }, - { 0x8700, 0x1558, 0xd000 }, - { 0x8700, 0x0a99, 0xc000 }, - { 0x8500, 0x0435, 0xbfe0 }, - { 0x8500, 0x01ff, 0xafff }, - { 0x8500, 0x00ff, 0x9079 }, - { 0x8000, 0x007f, 0x8000 }, - { 0x9500, 0x003f, 0x7000 }, - { 0x8000, 0x001f, 0x6000 }, - { 0x8000, 0x000f, 0x5000 }, - { 0x8000, 0x0007, 0x4000 }, - { 0x8000, 0x0003, 0x3000 }, - { 0x8000, 0x0001, 0x2000 }, - { 0x0000, 0x0000, 0x0000 }, - { 0x0000, 0x0002, 0x0000 }, - { 0x8000, 0x0005, 0x2000 }, - { 0x0000, 0x0004, 0x0000 }, - { 0x0000, 0x0006, 0x0000 }, - { 0x8000, 0x000b, 0x3000 }, - { 0x8000, 0x0009, 0x2000 }, - { 0x0000, 0x0008, 0x0000 }, - { 0x0000, 0x000a, 0x0000 }, - { 0x8000, 0x000d, 0x2000 }, - { 0x0000, 0x000c, 0x0000 }, - { 0x0000, 0x000e, 0x0000 }, - { 0x8000, 0x0017, 0x4000 }, - { 0x8000, 0x0013, 0x3000 }, - { 0x8000, 0x0011, 0x2000 }, - { 0x0000, 0x0010, 0x0000 }, - { 0x0000, 0x0012, 0x0000 }, - { 0x8000, 0x0015, 0x2000 }, - { 0x0000, 0x0014, 0x0000 }, - { 0x0000, 0x0016, 0x0000 }, - { 0x8000, 0x001b, 0x3000 }, - { 0x8000, 0x0019, 0x2000 }, - { 0x0000, 0x0018, 0x0000 }, - { 0x0000, 0x001a, 0x0000 }, - { 0x8000, 0x001d, 0x2000 }, - { 0x0000, 0x001c, 0x0000 }, - { 0x0000, 0x001e, 0x0000 }, - { 0x9500, 0x002f, 0x5000 }, - { 0x9500, 0x0027, 0x4000 }, - { 0x9500, 0x0023, 0x3000 }, - { 0x9500, 0x0021, 0x2000 }, - { 0x1d00, 0x0020, 0x0000 }, - { 0x1500, 0x0022, 0x0000 }, - { 0x9500, 0x0025, 0x2000 }, - { 0x1700, 0x0024, 0x0000 }, - { 0x1500, 0x0026, 0x0000 }, - { 0x9900, 0x002b, 0x3000 }, - { 0x9200, 0x0029, 0x2000 }, - { 0x1600, 0x0028, 0x0000 }, - { 0x1500, 0x002a, 0x0000 }, - { 0x9100, 0x002d, 0x2000 }, - { 0x1500, 0x002c, 0x0000 }, - { 0x1500, 0x002e, 0x0000 }, - { 0x8d00, 0x0037, 0x4000 }, - { 0x8d00, 0x0033, 0x3000 }, - { 0x8d00, 0x0031, 0x2000 }, - { 0x0d00, 0x0030, 0x0000 }, - { 0x0d00, 0x0032, 0x0000 }, - { 0x8d00, 0x0035, 0x2000 }, - { 0x0d00, 0x0034, 0x0000 }, - { 0x0d00, 0x0036, 0x0000 }, - { 0x9500, 0x003b, 0x3000 }, - { 0x8d00, 0x0039, 0x2000 }, - { 0x0d00, 0x0038, 0x0000 }, - { 0x1500, 0x003a, 0x0000 }, - { 0x9900, 0x003d, 0x2000 }, - { 0x1900, 0x003c, 0x0000 }, - { 0x1900, 0x003e, 0x0000 }, - { 0x9000, 0x005f, 0x6000 }, - { 0x8900, 0x004f, 0x5020 }, - { 0x8900, 0x0047, 0x4020 }, - { 0x8900, 0x0043, 0x3020 }, - { 0x8900, 0x0041, 0x2020 }, - { 0x1500, 0x0040, 0x0000 }, - { 0x0900, 0x0042, 0x0020 }, - { 0x8900, 0x0045, 0x2020 }, - { 0x0900, 0x0044, 0x0020 }, - { 0x0900, 0x0046, 0x0020 }, - { 0x8900, 0x004b, 0x3020 }, - { 0x8900, 0x0049, 0x2020 }, - { 0x0900, 0x0048, 0x0020 }, - { 0x0900, 0x004a, 0x0020 }, - { 0x8900, 0x004d, 0x2020 }, - { 0x0900, 0x004c, 0x0020 }, - { 0x0900, 0x004e, 0x0020 }, - { 0x8900, 0x0057, 0x4020 }, - { 0x8900, 0x0053, 0x3020 }, - { 0x8900, 0x0051, 0x2020 }, - { 0x0900, 0x0050, 0x0020 }, - { 0x0900, 0x0052, 0x0020 }, - { 0x8900, 0x0055, 0x2020 }, - { 0x0900, 0x0054, 0x0020 }, - { 0x0900, 0x0056, 0x0020 }, - { 0x9600, 0x005b, 0x3000 }, - { 0x8900, 0x0059, 0x2020 }, - { 0x0900, 0x0058, 0x0020 }, - { 0x0900, 0x005a, 0x0020 }, - { 0x9200, 0x005d, 0x2000 }, - { 0x1500, 0x005c, 0x0000 }, - { 0x1800, 0x005e, 0x0000 }, - { 0x8500, 0x006f, 0x5fe0 }, - { 0x8500, 0x0067, 0x4fe0 }, - { 0x8500, 0x0063, 0x3fe0 }, - { 0x8500, 0x0061, 0x2fe0 }, - { 0x1800, 0x0060, 0x0000 }, - { 0x0500, 0x0062, 0x0fe0 }, - { 0x8500, 0x0065, 0x2fe0 }, - { 0x0500, 0x0064, 0x0fe0 }, - { 0x0500, 0x0066, 0x0fe0 }, - { 0x8500, 0x006b, 0x3fe0 }, - { 0x8500, 0x0069, 0x2fe0 }, - { 0x0500, 0x0068, 0x0fe0 }, - { 0x0500, 0x006a, 0x0fe0 }, - { 0x8500, 0x006d, 0x2fe0 }, - { 0x0500, 0x006c, 0x0fe0 }, - { 0x0500, 0x006e, 0x0fe0 }, - { 0x8500, 0x0077, 0x4fe0 }, - { 0x8500, 0x0073, 0x3fe0 }, - { 0x8500, 0x0071, 0x2fe0 }, - { 0x0500, 0x0070, 0x0fe0 }, - { 0x0500, 0x0072, 0x0fe0 }, - { 0x8500, 0x0075, 0x2fe0 }, - { 0x0500, 0x0074, 0x0fe0 }, - { 0x0500, 0x0076, 0x0fe0 }, - { 0x9600, 0x007b, 0x3000 }, - { 0x8500, 0x0079, 0x2fe0 }, - { 0x0500, 0x0078, 0x0fe0 }, - { 0x0500, 0x007a, 0x0fe0 }, - { 0x9200, 0x007d, 0x2000 }, - { 0x1900, 0x007c, 0x0000 }, - { 0x1900, 0x007e, 0x0000 }, - { 0x9500, 0x00bf, 0x7000 }, - { 0x8000, 0x009f, 0x6000 }, - { 0x8000, 0x008f, 0x5000 }, - { 0x8000, 0x0087, 0x4000 }, - { 0x8000, 0x0083, 0x3000 }, - { 0x8000, 0x0081, 0x2000 }, - { 0x0000, 0x0080, 0x0000 }, - { 0x0000, 0x0082, 0x0000 }, - { 0x8000, 0x0085, 0x2000 }, - { 0x0000, 0x0084, 0x0000 }, - { 0x0000, 0x0086, 0x0000 }, - { 0x8000, 0x008b, 0x3000 }, - { 0x8000, 0x0089, 0x2000 }, - { 0x0000, 0x0088, 0x0000 }, - { 0x0000, 0x008a, 0x0000 }, - { 0x8000, 0x008d, 0x2000 }, - { 0x0000, 0x008c, 0x0000 }, - { 0x0000, 0x008e, 0x0000 }, - { 0x8000, 0x0097, 0x4000 }, - { 0x8000, 0x0093, 0x3000 }, - { 0x8000, 0x0091, 0x2000 }, - { 0x0000, 0x0090, 0x0000 }, - { 0x0000, 0x0092, 0x0000 }, - { 0x8000, 0x0095, 0x2000 }, - { 0x0000, 0x0094, 0x0000 }, - { 0x0000, 0x0096, 0x0000 }, - { 0x8000, 0x009b, 0x3000 }, - { 0x8000, 0x0099, 0x2000 }, - { 0x0000, 0x0098, 0x0000 }, - { 0x0000, 0x009a, 0x0000 }, - { 0x8000, 0x009d, 0x2000 }, - { 0x0000, 0x009c, 0x0000 }, - { 0x0000, 0x009e, 0x0000 }, - { 0x9800, 0x00af, 0x5000 }, - { 0x9a00, 0x00a7, 0x4000 }, - { 0x9700, 0x00a3, 0x3000 }, - { 0x9500, 0x00a1, 0x2000 }, - { 0x1d00, 0x00a0, 0x0000 }, - { 0x1700, 0x00a2, 0x0000 }, - { 0x9700, 0x00a5, 0x2000 }, - { 0x1700, 0x00a4, 0x0000 }, - { 0x1a00, 0x00a6, 0x0000 }, - { 0x9400, 0x00ab, 0x3000 }, - { 0x9a00, 0x00a9, 0x2000 }, - { 0x1800, 0x00a8, 0x0000 }, - { 0x0500, 0x00aa, 0x0000 }, - { 0x8100, 0x00ad, 0x2000 }, - { 0x1900, 0x00ac, 0x0000 }, - { 0x1a00, 0x00ae, 0x0000 }, - { 0x9500, 0x00b7, 0x4000 }, - { 0x8f00, 0x00b3, 0x3000 }, - { 0x9900, 0x00b1, 0x2000 }, - { 0x1a00, 0x00b0, 0x0000 }, - { 0x0f00, 0x00b2, 0x0000 }, - { 0x8500, 0x00b5, 0x22e7 }, - { 0x1800, 0x00b4, 0x0000 }, - { 0x1a00, 0x00b6, 0x0000 }, - { 0x9300, 0x00bb, 0x3000 }, - { 0x8f00, 0x00b9, 0x2000 }, - { 0x1800, 0x00b8, 0x0000 }, - { 0x0500, 0x00ba, 0x0000 }, - { 0x8f00, 0x00bd, 0x2000 }, - { 0x0f00, 0x00bc, 0x0000 }, - { 0x0f00, 0x00be, 0x0000 }, - { 0x8500, 0x00df, 0x6000 }, - { 0x8900, 0x00cf, 0x5020 }, - { 0x8900, 0x00c7, 0x4020 }, - { 0x8900, 0x00c3, 0x3020 }, - { 0x8900, 0x00c1, 0x2020 }, - { 0x0900, 0x00c0, 0x0020 }, - { 0x0900, 0x00c2, 0x0020 }, - { 0x8900, 0x00c5, 0x2020 }, - { 0x0900, 0x00c4, 0x0020 }, - { 0x0900, 0x00c6, 0x0020 }, - { 0x8900, 0x00cb, 0x3020 }, - { 0x8900, 0x00c9, 0x2020 }, - { 0x0900, 0x00c8, 0x0020 }, - { 0x0900, 0x00ca, 0x0020 }, - { 0x8900, 0x00cd, 0x2020 }, - { 0x0900, 0x00cc, 0x0020 }, - { 0x0900, 0x00ce, 0x0020 }, - { 0x9900, 0x00d7, 0x4000 }, - { 0x8900, 0x00d3, 0x3020 }, - { 0x8900, 0x00d1, 0x2020 }, - { 0x0900, 0x00d0, 0x0020 }, - { 0x0900, 0x00d2, 0x0020 }, - { 0x8900, 0x00d5, 0x2020 }, - { 0x0900, 0x00d4, 0x0020 }, - { 0x0900, 0x00d6, 0x0020 }, - { 0x8900, 0x00db, 0x3020 }, - { 0x8900, 0x00d9, 0x2020 }, - { 0x0900, 0x00d8, 0x0020 }, - { 0x0900, 0x00da, 0x0020 }, - { 0x8900, 0x00dd, 0x2020 }, - { 0x0900, 0x00dc, 0x0020 }, - { 0x0900, 0x00de, 0x0020 }, - { 0x8500, 0x00ef, 0x5fe0 }, - { 0x8500, 0x00e7, 0x4fe0 }, - { 0x8500, 0x00e3, 0x3fe0 }, - { 0x8500, 0x00e1, 0x2fe0 }, - { 0x0500, 0x00e0, 0x0fe0 }, - { 0x0500, 0x00e2, 0x0fe0 }, - { 0x8500, 0x00e5, 0x2fe0 }, - { 0x0500, 0x00e4, 0x0fe0 }, - { 0x0500, 0x00e6, 0x0fe0 }, - { 0x8500, 0x00eb, 0x3fe0 }, - { 0x8500, 0x00e9, 0x2fe0 }, - { 0x0500, 0x00e8, 0x0fe0 }, - { 0x0500, 0x00ea, 0x0fe0 }, - { 0x8500, 0x00ed, 0x2fe0 }, - { 0x0500, 0x00ec, 0x0fe0 }, - { 0x0500, 0x00ee, 0x0fe0 }, - { 0x9900, 0x00f7, 0x4000 }, - { 0x8500, 0x00f3, 0x3fe0 }, - { 0x8500, 0x00f1, 0x2fe0 }, - { 0x0500, 0x00f0, 0x0fe0 }, - { 0x0500, 0x00f2, 0x0fe0 }, - { 0x8500, 0x00f5, 0x2fe0 }, - { 0x0500, 0x00f4, 0x0fe0 }, - { 0x0500, 0x00f6, 0x0fe0 }, - { 0x8500, 0x00fb, 0x3fe0 }, - { 0x8500, 0x00f9, 0x2fe0 }, - { 0x0500, 0x00f8, 0x0fe0 }, - { 0x0500, 0x00fa, 0x0fe0 }, - { 0x8500, 0x00fd, 0x2fe0 }, - { 0x0500, 0x00fc, 0x0fe0 }, - { 0x0500, 0x00fe, 0x0fe0 }, - { 0x8500, 0x017f, 0x8ed4 }, - { 0x8900, 0x013f, 0x7001 }, - { 0x8500, 0x011f, 0x6fff }, - { 0x8500, 0x010f, 0x5fff }, - { 0x8500, 0x0107, 0x4fff }, - { 0x8500, 0x0103, 0x3fff }, - { 0x8500, 0x0101, 0x2fff }, - { 0x0900, 0x0100, 0x0001 }, - { 0x0900, 0x0102, 0x0001 }, - { 0x8500, 0x0105, 0x2fff }, - { 0x0900, 0x0104, 0x0001 }, - { 0x0900, 0x0106, 0x0001 }, - { 0x8500, 0x010b, 0x3fff }, - { 0x8500, 0x0109, 0x2fff }, - { 0x0900, 0x0108, 0x0001 }, - { 0x0900, 0x010a, 0x0001 }, - { 0x8500, 0x010d, 0x2fff }, - { 0x0900, 0x010c, 0x0001 }, - { 0x0900, 0x010e, 0x0001 }, - { 0x8500, 0x0117, 0x4fff }, - { 0x8500, 0x0113, 0x3fff }, - { 0x8500, 0x0111, 0x2fff }, - { 0x0900, 0x0110, 0x0001 }, - { 0x0900, 0x0112, 0x0001 }, - { 0x8500, 0x0115, 0x2fff }, - { 0x0900, 0x0114, 0x0001 }, - { 0x0900, 0x0116, 0x0001 }, - { 0x8500, 0x011b, 0x3fff }, - { 0x8500, 0x0119, 0x2fff }, - { 0x0900, 0x0118, 0x0001 }, - { 0x0900, 0x011a, 0x0001 }, - { 0x8500, 0x011d, 0x2fff }, - { 0x0900, 0x011c, 0x0001 }, - { 0x0900, 0x011e, 0x0001 }, - { 0x8500, 0x012f, 0x5fff }, - { 0x8500, 0x0127, 0x4fff }, - { 0x8500, 0x0123, 0x3fff }, - { 0x8500, 0x0121, 0x2fff }, - { 0x0900, 0x0120, 0x0001 }, - { 0x0900, 0x0122, 0x0001 }, - { 0x8500, 0x0125, 0x2fff }, - { 0x0900, 0x0124, 0x0001 }, - { 0x0900, 0x0126, 0x0001 }, - { 0x8500, 0x012b, 0x3fff }, - { 0x8500, 0x0129, 0x2fff }, - { 0x0900, 0x0128, 0x0001 }, - { 0x0900, 0x012a, 0x0001 }, - { 0x8500, 0x012d, 0x2fff }, - { 0x0900, 0x012c, 0x0001 }, - { 0x0900, 0x012e, 0x0001 }, - { 0x8500, 0x0137, 0x4fff }, - { 0x8500, 0x0133, 0x3fff }, - { 0x8500, 0x0131, 0x2f18 }, - { 0x0900, 0x0130, 0x0f39 }, - { 0x0900, 0x0132, 0x0001 }, - { 0x8500, 0x0135, 0x2fff }, - { 0x0900, 0x0134, 0x0001 }, - { 0x0900, 0x0136, 0x0001 }, - { 0x8900, 0x013b, 0x3001 }, - { 0x8900, 0x0139, 0x2001 }, - { 0x0500, 0x0138, 0x0000 }, - { 0x0500, 0x013a, 0x0fff }, - { 0x8900, 0x013d, 0x2001 }, - { 0x0500, 0x013c, 0x0fff }, - { 0x0500, 0x013e, 0x0fff }, - { 0x8500, 0x015f, 0x6fff }, - { 0x8500, 0x014f, 0x5fff }, - { 0x8900, 0x0147, 0x4001 }, - { 0x8900, 0x0143, 0x3001 }, - { 0x8900, 0x0141, 0x2001 }, - { 0x0500, 0x0140, 0x0fff }, - { 0x0500, 0x0142, 0x0fff }, - { 0x8900, 0x0145, 0x2001 }, - { 0x0500, 0x0144, 0x0fff }, - { 0x0500, 0x0146, 0x0fff }, - { 0x8500, 0x014b, 0x3fff }, - { 0x8500, 0x0149, 0x2000 }, - { 0x0500, 0x0148, 0x0fff }, - { 0x0900, 0x014a, 0x0001 }, - { 0x8500, 0x014d, 0x2fff }, - { 0x0900, 0x014c, 0x0001 }, - { 0x0900, 0x014e, 0x0001 }, - { 0x8500, 0x0157, 0x4fff }, - { 0x8500, 0x0153, 0x3fff }, - { 0x8500, 0x0151, 0x2fff }, - { 0x0900, 0x0150, 0x0001 }, - { 0x0900, 0x0152, 0x0001 }, - { 0x8500, 0x0155, 0x2fff }, - { 0x0900, 0x0154, 0x0001 }, - { 0x0900, 0x0156, 0x0001 }, - { 0x8500, 0x015b, 0x3fff }, - { 0x8500, 0x0159, 0x2fff }, - { 0x0900, 0x0158, 0x0001 }, - { 0x0900, 0x015a, 0x0001 }, - { 0x8500, 0x015d, 0x2fff }, - { 0x0900, 0x015c, 0x0001 }, - { 0x0900, 0x015e, 0x0001 }, - { 0x8500, 0x016f, 0x5fff }, - { 0x8500, 0x0167, 0x4fff }, - { 0x8500, 0x0163, 0x3fff }, - { 0x8500, 0x0161, 0x2fff }, - { 0x0900, 0x0160, 0x0001 }, - { 0x0900, 0x0162, 0x0001 }, - { 0x8500, 0x0165, 0x2fff }, - { 0x0900, 0x0164, 0x0001 }, - { 0x0900, 0x0166, 0x0001 }, - { 0x8500, 0x016b, 0x3fff }, - { 0x8500, 0x0169, 0x2fff }, - { 0x0900, 0x0168, 0x0001 }, - { 0x0900, 0x016a, 0x0001 }, - { 0x8500, 0x016d, 0x2fff }, - { 0x0900, 0x016c, 0x0001 }, - { 0x0900, 0x016e, 0x0001 }, - { 0x8500, 0x0177, 0x4fff }, - { 0x8500, 0x0173, 0x3fff }, - { 0x8500, 0x0171, 0x2fff }, - { 0x0900, 0x0170, 0x0001 }, - { 0x0900, 0x0172, 0x0001 }, - { 0x8500, 0x0175, 0x2fff }, - { 0x0900, 0x0174, 0x0001 }, - { 0x0900, 0x0176, 0x0001 }, - { 0x8900, 0x017b, 0x3001 }, - { 0x8900, 0x0179, 0x2001 }, - { 0x0900, 0x0178, 0x0f87 }, - { 0x0500, 0x017a, 0x0fff }, - { 0x8900, 0x017d, 0x2001 }, - { 0x0500, 0x017c, 0x0fff }, - { 0x0500, 0x017e, 0x0fff }, - { 0x8500, 0x01bf, 0x7038 }, - { 0x8900, 0x019f, 0x60d6 }, - { 0x8900, 0x018f, 0x50ca }, - { 0x8900, 0x0187, 0x4001 }, - { 0x8500, 0x0183, 0x3fff }, - { 0x8900, 0x0181, 0x20d2 }, - { 0x0500, 0x0180, 0x0000 }, - { 0x0900, 0x0182, 0x0001 }, - { 0x8500, 0x0185, 0x2fff }, - { 0x0900, 0x0184, 0x0001 }, - { 0x0900, 0x0186, 0x00ce }, - { 0x8900, 0x018b, 0x3001 }, - { 0x8900, 0x0189, 0x20cd }, - { 0x0500, 0x0188, 0x0fff }, - { 0x0900, 0x018a, 0x00cd }, - { 0x8500, 0x018d, 0x2000 }, - { 0x0500, 0x018c, 0x0fff }, - { 0x0900, 0x018e, 0x004f }, - { 0x8900, 0x0197, 0x40d1 }, - { 0x8900, 0x0193, 0x30cd }, - { 0x8900, 0x0191, 0x2001 }, - { 0x0900, 0x0190, 0x00cb }, - { 0x0500, 0x0192, 0x0fff }, - { 0x8500, 0x0195, 0x2061 }, - { 0x0900, 0x0194, 0x00cf }, - { 0x0900, 0x0196, 0x00d3 }, - { 0x8500, 0x019b, 0x3000 }, - { 0x8500, 0x0199, 0x2fff }, - { 0x0900, 0x0198, 0x0001 }, - { 0x0500, 0x019a, 0x0000 }, - { 0x8900, 0x019d, 0x20d5 }, - { 0x0900, 0x019c, 0x00d3 }, - { 0x0500, 0x019e, 0x0082 }, - { 0x8900, 0x01af, 0x5001 }, - { 0x8900, 0x01a7, 0x4001 }, - { 0x8500, 0x01a3, 0x3fff }, - { 0x8500, 0x01a1, 0x2fff }, - { 0x0900, 0x01a0, 0x0001 }, - { 0x0900, 0x01a2, 0x0001 }, - { 0x8500, 0x01a5, 0x2fff }, - { 0x0900, 0x01a4, 0x0001 }, - { 0x0900, 0x01a6, 0x00da }, - { 0x8500, 0x01ab, 0x3000 }, - { 0x8900, 0x01a9, 0x20da }, - { 0x0500, 0x01a8, 0x0fff }, - { 0x0500, 0x01aa, 0x0000 }, - { 0x8500, 0x01ad, 0x2fff }, - { 0x0900, 0x01ac, 0x0001 }, - { 0x0900, 0x01ae, 0x00da }, - { 0x8900, 0x01b7, 0x40db }, - { 0x8900, 0x01b3, 0x3001 }, - { 0x8900, 0x01b1, 0x20d9 }, - { 0x0500, 0x01b0, 0x0fff }, - { 0x0900, 0x01b2, 0x00d9 }, - { 0x8900, 0x01b5, 0x2001 }, - { 0x0500, 0x01b4, 0x0fff }, - { 0x0500, 0x01b6, 0x0fff }, - { 0x8700, 0x01bb, 0x3000 }, - { 0x8500, 0x01b9, 0x2fff }, - { 0x0900, 0x01b8, 0x0001 }, - { 0x0500, 0x01ba, 0x0000 }, - { 0x8500, 0x01bd, 0x2fff }, - { 0x0900, 0x01bc, 0x0001 }, - { 0x0500, 0x01be, 0x0000 }, - { 0x8500, 0x01df, 0x6fff }, - { 0x8900, 0x01cf, 0x5001 }, - { 0x8900, 0x01c7, 0x4002 }, - { 0x8700, 0x01c3, 0x3000 }, - { 0x8700, 0x01c1, 0x2000 }, - { 0x0700, 0x01c0, 0x0000 }, - { 0x0700, 0x01c2, 0x0000 }, - { 0x8800, 0x01c5, 0x2000 }, - { 0x0900, 0x01c4, 0x0002 }, - { 0x0500, 0x01c6, 0x0ffe }, - { 0x8800, 0x01cb, 0x3000 }, - { 0x8500, 0x01c9, 0x2ffe }, - { 0x0800, 0x01c8, 0x0000 }, - { 0x0900, 0x01ca, 0x0002 }, - { 0x8900, 0x01cd, 0x2001 }, - { 0x0500, 0x01cc, 0x0ffe }, - { 0x0500, 0x01ce, 0x0fff }, - { 0x8900, 0x01d7, 0x4001 }, - { 0x8900, 0x01d3, 0x3001 }, - { 0x8900, 0x01d1, 0x2001 }, - { 0x0500, 0x01d0, 0x0fff }, - { 0x0500, 0x01d2, 0x0fff }, - { 0x8900, 0x01d5, 0x2001 }, - { 0x0500, 0x01d4, 0x0fff }, - { 0x0500, 0x01d6, 0x0fff }, - { 0x8900, 0x01db, 0x3001 }, - { 0x8900, 0x01d9, 0x2001 }, - { 0x0500, 0x01d8, 0x0fff }, - { 0x0500, 0x01da, 0x0fff }, - { 0x8500, 0x01dd, 0x2fb1 }, - { 0x0500, 0x01dc, 0x0fff }, - { 0x0900, 0x01de, 0x0001 }, - { 0x8500, 0x01ef, 0x5fff }, - { 0x8500, 0x01e7, 0x4fff }, - { 0x8500, 0x01e3, 0x3fff }, - { 0x8500, 0x01e1, 0x2fff }, - { 0x0900, 0x01e0, 0x0001 }, - { 0x0900, 0x01e2, 0x0001 }, - { 0x8500, 0x01e5, 0x2fff }, - { 0x0900, 0x01e4, 0x0001 }, - { 0x0900, 0x01e6, 0x0001 }, - { 0x8500, 0x01eb, 0x3fff }, - { 0x8500, 0x01e9, 0x2fff }, - { 0x0900, 0x01e8, 0x0001 }, - { 0x0900, 0x01ea, 0x0001 }, - { 0x8500, 0x01ed, 0x2fff }, - { 0x0900, 0x01ec, 0x0001 }, - { 0x0900, 0x01ee, 0x0001 }, - { 0x8900, 0x01f7, 0x4fc8 }, - { 0x8500, 0x01f3, 0x3ffe }, - { 0x8900, 0x01f1, 0x2002 }, - { 0x0500, 0x01f0, 0x0000 }, - { 0x0800, 0x01f2, 0x0000 }, - { 0x8500, 0x01f5, 0x2fff }, - { 0x0900, 0x01f4, 0x0001 }, - { 0x0900, 0x01f6, 0x0f9f }, - { 0x8500, 0x01fb, 0x3fff }, - { 0x8500, 0x01f9, 0x2fff }, - { 0x0900, 0x01f8, 0x0001 }, - { 0x0900, 0x01fa, 0x0001 }, - { 0x8500, 0x01fd, 0x2fff }, - { 0x0900, 0x01fc, 0x0001 }, - { 0x0900, 0x01fe, 0x0001 }, - { 0x8c00, 0x0318, 0x9000 }, - { 0x8500, 0x0298, 0x8000 }, - { 0x8500, 0x0258, 0x7000 }, - { 0x8500, 0x021f, 0x6fff }, - { 0x8500, 0x020f, 0x5fff }, - { 0x8500, 0x0207, 0x4fff }, - { 0x8500, 0x0203, 0x3fff }, - { 0x8500, 0x0201, 0x2fff }, - { 0x0900, 0x0200, 0x0001 }, - { 0x0900, 0x0202, 0x0001 }, - { 0x8500, 0x0205, 0x2fff }, - { 0x0900, 0x0204, 0x0001 }, - { 0x0900, 0x0206, 0x0001 }, - { 0x8500, 0x020b, 0x3fff }, - { 0x8500, 0x0209, 0x2fff }, - { 0x0900, 0x0208, 0x0001 }, - { 0x0900, 0x020a, 0x0001 }, - { 0x8500, 0x020d, 0x2fff }, - { 0x0900, 0x020c, 0x0001 }, - { 0x0900, 0x020e, 0x0001 }, - { 0x8500, 0x0217, 0x4fff }, - { 0x8500, 0x0213, 0x3fff }, - { 0x8500, 0x0211, 0x2fff }, - { 0x0900, 0x0210, 0x0001 }, - { 0x0900, 0x0212, 0x0001 }, - { 0x8500, 0x0215, 0x2fff }, - { 0x0900, 0x0214, 0x0001 }, - { 0x0900, 0x0216, 0x0001 }, - { 0x8500, 0x021b, 0x3fff }, - { 0x8500, 0x0219, 0x2fff }, - { 0x0900, 0x0218, 0x0001 }, - { 0x0900, 0x021a, 0x0001 }, - { 0x8500, 0x021d, 0x2fff }, - { 0x0900, 0x021c, 0x0001 }, - { 0x0900, 0x021e, 0x0001 }, - { 0x8500, 0x022f, 0x5fff }, - { 0x8500, 0x0227, 0x4fff }, - { 0x8500, 0x0223, 0x3fff }, - { 0x8500, 0x0221, 0x2000 }, - { 0x0900, 0x0220, 0x0f7e }, - { 0x0900, 0x0222, 0x0001 }, - { 0x8500, 0x0225, 0x2fff }, - { 0x0900, 0x0224, 0x0001 }, - { 0x0900, 0x0226, 0x0001 }, - { 0x8500, 0x022b, 0x3fff }, - { 0x8500, 0x0229, 0x2fff }, - { 0x0900, 0x0228, 0x0001 }, - { 0x0900, 0x022a, 0x0001 }, - { 0x8500, 0x022d, 0x2fff }, - { 0x0900, 0x022c, 0x0001 }, - { 0x0900, 0x022e, 0x0001 }, - { 0x8500, 0x0250, 0x4000 }, - { 0x8500, 0x0233, 0x3fff }, - { 0x8500, 0x0231, 0x2fff }, - { 0x0900, 0x0230, 0x0001 }, - { 0x0900, 0x0232, 0x0001 }, - { 0x8500, 0x0235, 0x2000 }, - { 0x0500, 0x0234, 0x0000 }, - { 0x0500, 0x0236, 0x0000 }, - { 0x8500, 0x0254, 0x3f32 }, - { 0x8500, 0x0252, 0x2000 }, - { 0x0500, 0x0251, 0x0000 }, - { 0x0500, 0x0253, 0x0f2e }, - { 0x8500, 0x0256, 0x2f33 }, - { 0x0500, 0x0255, 0x0000 }, - { 0x0500, 0x0257, 0x0f33 }, - { 0x8500, 0x0278, 0x6000 }, - { 0x8500, 0x0268, 0x5f2f }, - { 0x8500, 0x0260, 0x4f33 }, - { 0x8500, 0x025c, 0x3000 }, - { 0x8500, 0x025a, 0x2000 }, - { 0x0500, 0x0259, 0x0f36 }, - { 0x0500, 0x025b, 0x0f35 }, - { 0x8500, 0x025e, 0x2000 }, - { 0x0500, 0x025d, 0x0000 }, - { 0x0500, 0x025f, 0x0000 }, - { 0x8500, 0x0264, 0x3000 }, - { 0x8500, 0x0262, 0x2000 }, - { 0x0500, 0x0261, 0x0000 }, - { 0x0500, 0x0263, 0x0f31 }, - { 0x8500, 0x0266, 0x2000 }, - { 0x0500, 0x0265, 0x0000 }, - { 0x0500, 0x0267, 0x0000 }, - { 0x8500, 0x0270, 0x4000 }, - { 0x8500, 0x026c, 0x3000 }, - { 0x8500, 0x026a, 0x2000 }, - { 0x0500, 0x0269, 0x0f2d }, - { 0x0500, 0x026b, 0x0000 }, - { 0x8500, 0x026e, 0x2000 }, - { 0x0500, 0x026d, 0x0000 }, - { 0x0500, 0x026f, 0x0f2d }, - { 0x8500, 0x0274, 0x3000 }, - { 0x8500, 0x0272, 0x2f2b }, - { 0x0500, 0x0271, 0x0000 }, - { 0x0500, 0x0273, 0x0000 }, - { 0x8500, 0x0276, 0x2000 }, - { 0x0500, 0x0275, 0x0f2a }, - { 0x0500, 0x0277, 0x0000 }, - { 0x8500, 0x0288, 0x5f26 }, - { 0x8500, 0x0280, 0x4f26 }, - { 0x8500, 0x027c, 0x3000 }, - { 0x8500, 0x027a, 0x2000 }, - { 0x0500, 0x0279, 0x0000 }, - { 0x0500, 0x027b, 0x0000 }, - { 0x8500, 0x027e, 0x2000 }, - { 0x0500, 0x027d, 0x0000 }, - { 0x0500, 0x027f, 0x0000 }, - { 0x8500, 0x0284, 0x3000 }, - { 0x8500, 0x0282, 0x2000 }, - { 0x0500, 0x0281, 0x0000 }, - { 0x0500, 0x0283, 0x0f26 }, - { 0x8500, 0x0286, 0x2000 }, - { 0x0500, 0x0285, 0x0000 }, - { 0x0500, 0x0287, 0x0000 }, - { 0x8500, 0x0290, 0x4000 }, - { 0x8500, 0x028c, 0x3000 }, - { 0x8500, 0x028a, 0x2f27 }, - { 0x0500, 0x0289, 0x0000 }, - { 0x0500, 0x028b, 0x0f27 }, - { 0x8500, 0x028e, 0x2000 }, - { 0x0500, 0x028d, 0x0000 }, - { 0x0500, 0x028f, 0x0000 }, - { 0x8500, 0x0294, 0x3000 }, - { 0x8500, 0x0292, 0x2f25 }, - { 0x0500, 0x0291, 0x0000 }, - { 0x0500, 0x0293, 0x0000 }, - { 0x8500, 0x0296, 0x2000 }, - { 0x0500, 0x0295, 0x0000 }, - { 0x0500, 0x0297, 0x0000 }, - { 0x9800, 0x02d8, 0x7000 }, - { 0x8600, 0x02b8, 0x6000 }, - { 0x8500, 0x02a8, 0x5000 }, - { 0x8500, 0x02a0, 0x4000 }, - { 0x8500, 0x029c, 0x3000 }, - { 0x8500, 0x029a, 0x2000 }, - { 0x0500, 0x0299, 0x0000 }, - { 0x0500, 0x029b, 0x0000 }, - { 0x8500, 0x029e, 0x2000 }, - { 0x0500, 0x029d, 0x0000 }, - { 0x0500, 0x029f, 0x0000 }, - { 0x8500, 0x02a4, 0x3000 }, - { 0x8500, 0x02a2, 0x2000 }, - { 0x0500, 0x02a1, 0x0000 }, - { 0x0500, 0x02a3, 0x0000 }, - { 0x8500, 0x02a6, 0x2000 }, - { 0x0500, 0x02a5, 0x0000 }, - { 0x0500, 0x02a7, 0x0000 }, - { 0x8600, 0x02b0, 0x4000 }, - { 0x8500, 0x02ac, 0x3000 }, - { 0x8500, 0x02aa, 0x2000 }, - { 0x0500, 0x02a9, 0x0000 }, - { 0x0500, 0x02ab, 0x0000 }, - { 0x8500, 0x02ae, 0x2000 }, - { 0x0500, 0x02ad, 0x0000 }, - { 0x0500, 0x02af, 0x0000 }, - { 0x8600, 0x02b4, 0x3000 }, - { 0x8600, 0x02b2, 0x2000 }, - { 0x0600, 0x02b1, 0x0000 }, - { 0x0600, 0x02b3, 0x0000 }, - { 0x8600, 0x02b6, 0x2000 }, - { 0x0600, 0x02b5, 0x0000 }, - { 0x0600, 0x02b7, 0x0000 }, - { 0x8600, 0x02c8, 0x5000 }, - { 0x8600, 0x02c0, 0x4000 }, - { 0x8600, 0x02bc, 0x3000 }, - { 0x8600, 0x02ba, 0x2000 }, - { 0x0600, 0x02b9, 0x0000 }, - { 0x0600, 0x02bb, 0x0000 }, - { 0x8600, 0x02be, 0x2000 }, - { 0x0600, 0x02bd, 0x0000 }, - { 0x0600, 0x02bf, 0x0000 }, - { 0x9800, 0x02c4, 0x3000 }, - { 0x9800, 0x02c2, 0x2000 }, - { 0x0600, 0x02c1, 0x0000 }, - { 0x1800, 0x02c3, 0x0000 }, - { 0x8600, 0x02c6, 0x2000 }, - { 0x1800, 0x02c5, 0x0000 }, - { 0x0600, 0x02c7, 0x0000 }, - { 0x8600, 0x02d0, 0x4000 }, - { 0x8600, 0x02cc, 0x3000 }, - { 0x8600, 0x02ca, 0x2000 }, - { 0x0600, 0x02c9, 0x0000 }, - { 0x0600, 0x02cb, 0x0000 }, - { 0x8600, 0x02ce, 0x2000 }, - { 0x0600, 0x02cd, 0x0000 }, - { 0x0600, 0x02cf, 0x0000 }, - { 0x9800, 0x02d4, 0x3000 }, - { 0x9800, 0x02d2, 0x2000 }, - { 0x0600, 0x02d1, 0x0000 }, - { 0x1800, 0x02d3, 0x0000 }, - { 0x9800, 0x02d6, 0x2000 }, - { 0x1800, 0x02d5, 0x0000 }, - { 0x1800, 0x02d7, 0x0000 }, - { 0x9800, 0x02f8, 0x6000 }, - { 0x9800, 0x02e8, 0x5000 }, - { 0x8600, 0x02e0, 0x4000 }, - { 0x9800, 0x02dc, 0x3000 }, - { 0x9800, 0x02da, 0x2000 }, - { 0x1800, 0x02d9, 0x0000 }, - { 0x1800, 0x02db, 0x0000 }, - { 0x9800, 0x02de, 0x2000 }, - { 0x1800, 0x02dd, 0x0000 }, - { 0x1800, 0x02df, 0x0000 }, - { 0x8600, 0x02e4, 0x3000 }, - { 0x8600, 0x02e2, 0x2000 }, - { 0x0600, 0x02e1, 0x0000 }, - { 0x0600, 0x02e3, 0x0000 }, - { 0x9800, 0x02e6, 0x2000 }, - { 0x1800, 0x02e5, 0x0000 }, - { 0x1800, 0x02e7, 0x0000 }, - { 0x9800, 0x02f0, 0x4000 }, - { 0x9800, 0x02ec, 0x3000 }, - { 0x9800, 0x02ea, 0x2000 }, - { 0x1800, 0x02e9, 0x0000 }, - { 0x1800, 0x02eb, 0x0000 }, - { 0x8600, 0x02ee, 0x2000 }, - { 0x1800, 0x02ed, 0x0000 }, - { 0x1800, 0x02ef, 0x0000 }, - { 0x9800, 0x02f4, 0x3000 }, - { 0x9800, 0x02f2, 0x2000 }, - { 0x1800, 0x02f1, 0x0000 }, - { 0x1800, 0x02f3, 0x0000 }, - { 0x9800, 0x02f6, 0x2000 }, - { 0x1800, 0x02f5, 0x0000 }, - { 0x1800, 0x02f7, 0x0000 }, - { 0x8c00, 0x0308, 0x5000 }, - { 0x8c00, 0x0300, 0x4000 }, - { 0x9800, 0x02fc, 0x3000 }, - { 0x9800, 0x02fa, 0x2000 }, - { 0x1800, 0x02f9, 0x0000 }, - { 0x1800, 0x02fb, 0x0000 }, - { 0x9800, 0x02fe, 0x2000 }, - { 0x1800, 0x02fd, 0x0000 }, - { 0x1800, 0x02ff, 0x0000 }, - { 0x8c00, 0x0304, 0x3000 }, - { 0x8c00, 0x0302, 0x2000 }, - { 0x0c00, 0x0301, 0x0000 }, - { 0x0c00, 0x0303, 0x0000 }, - { 0x8c00, 0x0306, 0x2000 }, - { 0x0c00, 0x0305, 0x0000 }, - { 0x0c00, 0x0307, 0x0000 }, - { 0x8c00, 0x0310, 0x4000 }, - { 0x8c00, 0x030c, 0x3000 }, - { 0x8c00, 0x030a, 0x2000 }, - { 0x0c00, 0x0309, 0x0000 }, - { 0x0c00, 0x030b, 0x0000 }, - { 0x8c00, 0x030e, 0x2000 }, - { 0x0c00, 0x030d, 0x0000 }, - { 0x0c00, 0x030f, 0x0000 }, - { 0x8c00, 0x0314, 0x3000 }, - { 0x8c00, 0x0312, 0x2000 }, - { 0x0c00, 0x0311, 0x0000 }, - { 0x0c00, 0x0313, 0x0000 }, - { 0x8c00, 0x0316, 0x2000 }, - { 0x0c00, 0x0315, 0x0000 }, - { 0x0c00, 0x0317, 0x0000 }, - { 0x8500, 0x03b0, 0x8000 }, - { 0x8c00, 0x035d, 0x7000 }, - { 0x8c00, 0x0338, 0x6000 }, - { 0x8c00, 0x0328, 0x5000 }, - { 0x8c00, 0x0320, 0x4000 }, - { 0x8c00, 0x031c, 0x3000 }, - { 0x8c00, 0x031a, 0x2000 }, - { 0x0c00, 0x0319, 0x0000 }, - { 0x0c00, 0x031b, 0x0000 }, - { 0x8c00, 0x031e, 0x2000 }, - { 0x0c00, 0x031d, 0x0000 }, - { 0x0c00, 0x031f, 0x0000 }, - { 0x8c00, 0x0324, 0x3000 }, - { 0x8c00, 0x0322, 0x2000 }, - { 0x0c00, 0x0321, 0x0000 }, - { 0x0c00, 0x0323, 0x0000 }, - { 0x8c00, 0x0326, 0x2000 }, - { 0x0c00, 0x0325, 0x0000 }, - { 0x0c00, 0x0327, 0x0000 }, - { 0x8c00, 0x0330, 0x4000 }, - { 0x8c00, 0x032c, 0x3000 }, - { 0x8c00, 0x032a, 0x2000 }, - { 0x0c00, 0x0329, 0x0000 }, - { 0x0c00, 0x032b, 0x0000 }, - { 0x8c00, 0x032e, 0x2000 }, - { 0x0c00, 0x032d, 0x0000 }, - { 0x0c00, 0x032f, 0x0000 }, - { 0x8c00, 0x0334, 0x3000 }, - { 0x8c00, 0x0332, 0x2000 }, - { 0x0c00, 0x0331, 0x0000 }, - { 0x0c00, 0x0333, 0x0000 }, - { 0x8c00, 0x0336, 0x2000 }, - { 0x0c00, 0x0335, 0x0000 }, - { 0x0c00, 0x0337, 0x0000 }, - { 0x8c00, 0x0348, 0x5000 }, - { 0x8c00, 0x0340, 0x4000 }, - { 0x8c00, 0x033c, 0x3000 }, - { 0x8c00, 0x033a, 0x2000 }, - { 0x0c00, 0x0339, 0x0000 }, - { 0x0c00, 0x033b, 0x0000 }, - { 0x8c00, 0x033e, 0x2000 }, - { 0x0c00, 0x033d, 0x0000 }, - { 0x0c00, 0x033f, 0x0000 }, - { 0x8c00, 0x0344, 0x3000 }, - { 0x8c00, 0x0342, 0x2000 }, - { 0x0c00, 0x0341, 0x0000 }, - { 0x0c00, 0x0343, 0x0000 }, - { 0x8c00, 0x0346, 0x2000 }, - { 0x0c00, 0x0345, 0x0000 }, - { 0x0c00, 0x0347, 0x0000 }, - { 0x8c00, 0x0350, 0x4000 }, - { 0x8c00, 0x034c, 0x3000 }, - { 0x8c00, 0x034a, 0x2000 }, - { 0x0c00, 0x0349, 0x0000 }, - { 0x0c00, 0x034b, 0x0000 }, - { 0x8c00, 0x034e, 0x2000 }, - { 0x0c00, 0x034d, 0x0000 }, - { 0x0c00, 0x034f, 0x0000 }, - { 0x8c00, 0x0354, 0x3000 }, - { 0x8c00, 0x0352, 0x2000 }, - { 0x0c00, 0x0351, 0x0000 }, - { 0x0c00, 0x0353, 0x0000 }, - { 0x8c00, 0x0356, 0x2000 }, - { 0x0c00, 0x0355, 0x0000 }, - { 0x0c00, 0x0357, 0x0000 }, - { 0x8900, 0x038f, 0x603f }, - { 0x8c00, 0x036d, 0x5000 }, - { 0x8c00, 0x0365, 0x4000 }, - { 0x8c00, 0x0361, 0x3000 }, - { 0x8c00, 0x035f, 0x2000 }, - { 0x0c00, 0x035e, 0x0000 }, - { 0x0c00, 0x0360, 0x0000 }, - { 0x8c00, 0x0363, 0x2000 }, - { 0x0c00, 0x0362, 0x0000 }, - { 0x0c00, 0x0364, 0x0000 }, - { 0x8c00, 0x0369, 0x3000 }, - { 0x8c00, 0x0367, 0x2000 }, - { 0x0c00, 0x0366, 0x0000 }, - { 0x0c00, 0x0368, 0x0000 }, - { 0x8c00, 0x036b, 0x2000 }, - { 0x0c00, 0x036a, 0x0000 }, - { 0x0c00, 0x036c, 0x0000 }, - { 0x9800, 0x0385, 0x4000 }, - { 0x9800, 0x0375, 0x3000 }, - { 0x8c00, 0x036f, 0x2000 }, - { 0x0c00, 0x036e, 0x0000 }, - { 0x1800, 0x0374, 0x0000 }, - { 0x9500, 0x037e, 0x2000 }, - { 0x0600, 0x037a, 0x0000 }, - { 0x1800, 0x0384, 0x0000 }, - { 0x8900, 0x0389, 0x3025 }, - { 0x9500, 0x0387, 0x2000 }, - { 0x0900, 0x0386, 0x0026 }, - { 0x0900, 0x0388, 0x0025 }, - { 0x8900, 0x038c, 0x2040 }, - { 0x0900, 0x038a, 0x0025 }, - { 0x0900, 0x038e, 0x003f }, - { 0x8900, 0x039f, 0x5020 }, - { 0x8900, 0x0397, 0x4020 }, - { 0x8900, 0x0393, 0x3020 }, - { 0x8900, 0x0391, 0x2020 }, - { 0x0500, 0x0390, 0x0000 }, - { 0x0900, 0x0392, 0x0020 }, - { 0x8900, 0x0395, 0x2020 }, - { 0x0900, 0x0394, 0x0020 }, - { 0x0900, 0x0396, 0x0020 }, - { 0x8900, 0x039b, 0x3020 }, - { 0x8900, 0x0399, 0x2020 }, - { 0x0900, 0x0398, 0x0020 }, - { 0x0900, 0x039a, 0x0020 }, - { 0x8900, 0x039d, 0x2020 }, - { 0x0900, 0x039c, 0x0020 }, - { 0x0900, 0x039e, 0x0020 }, - { 0x8900, 0x03a8, 0x4020 }, - { 0x8900, 0x03a4, 0x3020 }, - { 0x8900, 0x03a1, 0x2020 }, - { 0x0900, 0x03a0, 0x0020 }, - { 0x0900, 0x03a3, 0x0020 }, - { 0x8900, 0x03a6, 0x2020 }, - { 0x0900, 0x03a5, 0x0020 }, - { 0x0900, 0x03a7, 0x0020 }, - { 0x8500, 0x03ac, 0x3fda }, - { 0x8900, 0x03aa, 0x2020 }, - { 0x0900, 0x03a9, 0x0020 }, - { 0x0900, 0x03ab, 0x0020 }, - { 0x8500, 0x03ae, 0x2fdb }, - { 0x0500, 0x03ad, 0x0fdb }, - { 0x0500, 0x03af, 0x0fdb }, - { 0x8500, 0x03f1, 0x7fb0 }, - { 0x8500, 0x03d1, 0x6fc7 }, - { 0x8500, 0x03c0, 0x5fe0 }, - { 0x8500, 0x03b8, 0x4fe0 }, - { 0x8500, 0x03b4, 0x3fe0 }, - { 0x8500, 0x03b2, 0x2fe0 }, - { 0x0500, 0x03b1, 0x0fe0 }, - { 0x0500, 0x03b3, 0x0fe0 }, - { 0x8500, 0x03b6, 0x2fe0 }, - { 0x0500, 0x03b5, 0x0fe0 }, - { 0x0500, 0x03b7, 0x0fe0 }, - { 0x8500, 0x03bc, 0x3fe0 }, - { 0x8500, 0x03ba, 0x2fe0 }, - { 0x0500, 0x03b9, 0x0fe0 }, - { 0x0500, 0x03bb, 0x0fe0 }, - { 0x8500, 0x03be, 0x2fe0 }, - { 0x0500, 0x03bd, 0x0fe0 }, - { 0x0500, 0x03bf, 0x0fe0 }, - { 0x8500, 0x03c8, 0x4fe0 }, - { 0x8500, 0x03c4, 0x3fe0 }, - { 0x8500, 0x03c2, 0x2fe1 }, - { 0x0500, 0x03c1, 0x0fe0 }, - { 0x0500, 0x03c3, 0x0fe0 }, - { 0x8500, 0x03c6, 0x2fe0 }, - { 0x0500, 0x03c5, 0x0fe0 }, - { 0x0500, 0x03c7, 0x0fe0 }, - { 0x8500, 0x03cc, 0x3fc0 }, - { 0x8500, 0x03ca, 0x2fe0 }, - { 0x0500, 0x03c9, 0x0fe0 }, - { 0x0500, 0x03cb, 0x0fe0 }, - { 0x8500, 0x03ce, 0x2fc1 }, - { 0x0500, 0x03cd, 0x0fc1 }, - { 0x0500, 0x03d0, 0x0fc2 }, - { 0x8500, 0x03e1, 0x5fff }, - { 0x8500, 0x03d9, 0x4fff }, - { 0x8500, 0x03d5, 0x3fd1 }, - { 0x8900, 0x03d3, 0x2000 }, - { 0x0900, 0x03d2, 0x0000 }, - { 0x0900, 0x03d4, 0x0000 }, - { 0x8500, 0x03d7, 0x2000 }, - { 0x0500, 0x03d6, 0x0fca }, - { 0x0900, 0x03d8, 0x0001 }, - { 0x8500, 0x03dd, 0x3fff }, - { 0x8500, 0x03db, 0x2fff }, - { 0x0900, 0x03da, 0x0001 }, - { 0x0900, 0x03dc, 0x0001 }, - { 0x8500, 0x03df, 0x2fff }, - { 0x0900, 0x03de, 0x0001 }, - { 0x0900, 0x03e0, 0x0001 }, - { 0x8500, 0x03e9, 0x4fff }, - { 0x8500, 0x03e5, 0x3fff }, - { 0x8500, 0x03e3, 0x2fff }, - { 0x0900, 0x03e2, 0x0001 }, - { 0x0900, 0x03e4, 0x0001 }, - { 0x8500, 0x03e7, 0x2fff }, - { 0x0900, 0x03e6, 0x0001 }, - { 0x0900, 0x03e8, 0x0001 }, - { 0x8500, 0x03ed, 0x3fff }, - { 0x8500, 0x03eb, 0x2fff }, - { 0x0900, 0x03ea, 0x0001 }, - { 0x0900, 0x03ec, 0x0001 }, - { 0x8500, 0x03ef, 0x2fff }, - { 0x0900, 0x03ee, 0x0001 }, - { 0x0500, 0x03f0, 0x0faa }, - { 0x8900, 0x0415, 0x6020 }, - { 0x8900, 0x0405, 0x5050 }, - { 0x8900, 0x03f9, 0x4ff9 }, - { 0x8500, 0x03f5, 0x3fa0 }, - { 0x8500, 0x03f3, 0x2000 }, - { 0x0500, 0x03f2, 0x0007 }, - { 0x0900, 0x03f4, 0x0fc4 }, - { 0x8900, 0x03f7, 0x2001 }, - { 0x1900, 0x03f6, 0x0000 }, - { 0x0500, 0x03f8, 0x0fff }, - { 0x8900, 0x0401, 0x3050 }, - { 0x8500, 0x03fb, 0x2fff }, - { 0x0900, 0x03fa, 0x0001 }, - { 0x0900, 0x0400, 0x0050 }, - { 0x8900, 0x0403, 0x2050 }, - { 0x0900, 0x0402, 0x0050 }, - { 0x0900, 0x0404, 0x0050 }, - { 0x8900, 0x040d, 0x4050 }, - { 0x8900, 0x0409, 0x3050 }, - { 0x8900, 0x0407, 0x2050 }, - { 0x0900, 0x0406, 0x0050 }, - { 0x0900, 0x0408, 0x0050 }, - { 0x8900, 0x040b, 0x2050 }, - { 0x0900, 0x040a, 0x0050 }, - { 0x0900, 0x040c, 0x0050 }, - { 0x8900, 0x0411, 0x3020 }, - { 0x8900, 0x040f, 0x2050 }, - { 0x0900, 0x040e, 0x0050 }, - { 0x0900, 0x0410, 0x0020 }, - { 0x8900, 0x0413, 0x2020 }, - { 0x0900, 0x0412, 0x0020 }, - { 0x0900, 0x0414, 0x0020 }, - { 0x8900, 0x0425, 0x5020 }, - { 0x8900, 0x041d, 0x4020 }, - { 0x8900, 0x0419, 0x3020 }, - { 0x8900, 0x0417, 0x2020 }, - { 0x0900, 0x0416, 0x0020 }, - { 0x0900, 0x0418, 0x0020 }, - { 0x8900, 0x041b, 0x2020 }, - { 0x0900, 0x041a, 0x0020 }, - { 0x0900, 0x041c, 0x0020 }, - { 0x8900, 0x0421, 0x3020 }, - { 0x8900, 0x041f, 0x2020 }, - { 0x0900, 0x041e, 0x0020 }, - { 0x0900, 0x0420, 0x0020 }, - { 0x8900, 0x0423, 0x2020 }, - { 0x0900, 0x0422, 0x0020 }, - { 0x0900, 0x0424, 0x0020 }, - { 0x8900, 0x042d, 0x4020 }, - { 0x8900, 0x0429, 0x3020 }, - { 0x8900, 0x0427, 0x2020 }, - { 0x0900, 0x0426, 0x0020 }, - { 0x0900, 0x0428, 0x0020 }, - { 0x8900, 0x042b, 0x2020 }, - { 0x0900, 0x042a, 0x0020 }, - { 0x0900, 0x042c, 0x0020 }, - { 0x8500, 0x0431, 0x3fe0 }, - { 0x8900, 0x042f, 0x2020 }, - { 0x0900, 0x042e, 0x0020 }, - { 0x0500, 0x0430, 0x0fe0 }, - { 0x8500, 0x0433, 0x2fe0 }, - { 0x0500, 0x0432, 0x0fe0 }, - { 0x0500, 0x0434, 0x0fe0 }, - { 0x8700, 0x06a4, 0xa000 }, - { 0x8500, 0x0563, 0x9fd0 }, - { 0x8900, 0x04b6, 0x8001 }, - { 0x8500, 0x0475, 0x7fff }, - { 0x8500, 0x0455, 0x6fb0 }, - { 0x8500, 0x0445, 0x5fe0 }, - { 0x8500, 0x043d, 0x4fe0 }, - { 0x8500, 0x0439, 0x3fe0 }, - { 0x8500, 0x0437, 0x2fe0 }, - { 0x0500, 0x0436, 0x0fe0 }, - { 0x0500, 0x0438, 0x0fe0 }, - { 0x8500, 0x043b, 0x2fe0 }, - { 0x0500, 0x043a, 0x0fe0 }, - { 0x0500, 0x043c, 0x0fe0 }, - { 0x8500, 0x0441, 0x3fe0 }, - { 0x8500, 0x043f, 0x2fe0 }, - { 0x0500, 0x043e, 0x0fe0 }, - { 0x0500, 0x0440, 0x0fe0 }, - { 0x8500, 0x0443, 0x2fe0 }, - { 0x0500, 0x0442, 0x0fe0 }, - { 0x0500, 0x0444, 0x0fe0 }, - { 0x8500, 0x044d, 0x4fe0 }, - { 0x8500, 0x0449, 0x3fe0 }, - { 0x8500, 0x0447, 0x2fe0 }, - { 0x0500, 0x0446, 0x0fe0 }, - { 0x0500, 0x0448, 0x0fe0 }, - { 0x8500, 0x044b, 0x2fe0 }, - { 0x0500, 0x044a, 0x0fe0 }, - { 0x0500, 0x044c, 0x0fe0 }, - { 0x8500, 0x0451, 0x3fb0 }, - { 0x8500, 0x044f, 0x2fe0 }, - { 0x0500, 0x044e, 0x0fe0 }, - { 0x0500, 0x0450, 0x0fb0 }, - { 0x8500, 0x0453, 0x2fb0 }, - { 0x0500, 0x0452, 0x0fb0 }, - { 0x0500, 0x0454, 0x0fb0 }, - { 0x8500, 0x0465, 0x5fff }, - { 0x8500, 0x045d, 0x4fb0 }, - { 0x8500, 0x0459, 0x3fb0 }, - { 0x8500, 0x0457, 0x2fb0 }, - { 0x0500, 0x0456, 0x0fb0 }, - { 0x0500, 0x0458, 0x0fb0 }, - { 0x8500, 0x045b, 0x2fb0 }, - { 0x0500, 0x045a, 0x0fb0 }, - { 0x0500, 0x045c, 0x0fb0 }, - { 0x8500, 0x0461, 0x3fff }, - { 0x8500, 0x045f, 0x2fb0 }, - { 0x0500, 0x045e, 0x0fb0 }, - { 0x0900, 0x0460, 0x0001 }, - { 0x8500, 0x0463, 0x2fff }, - { 0x0900, 0x0462, 0x0001 }, - { 0x0900, 0x0464, 0x0001 }, - { 0x8500, 0x046d, 0x4fff }, - { 0x8500, 0x0469, 0x3fff }, - { 0x8500, 0x0467, 0x2fff }, - { 0x0900, 0x0466, 0x0001 }, - { 0x0900, 0x0468, 0x0001 }, - { 0x8500, 0x046b, 0x2fff }, - { 0x0900, 0x046a, 0x0001 }, - { 0x0900, 0x046c, 0x0001 }, - { 0x8500, 0x0471, 0x3fff }, - { 0x8500, 0x046f, 0x2fff }, - { 0x0900, 0x046e, 0x0001 }, - { 0x0900, 0x0470, 0x0001 }, - { 0x8500, 0x0473, 0x2fff }, - { 0x0900, 0x0472, 0x0001 }, - { 0x0900, 0x0474, 0x0001 }, - { 0x8900, 0x0496, 0x6001 }, - { 0x8c00, 0x0485, 0x5000 }, - { 0x8500, 0x047d, 0x4fff }, - { 0x8500, 0x0479, 0x3fff }, - { 0x8500, 0x0477, 0x2fff }, - { 0x0900, 0x0476, 0x0001 }, - { 0x0900, 0x0478, 0x0001 }, - { 0x8500, 0x047b, 0x2fff }, - { 0x0900, 0x047a, 0x0001 }, - { 0x0900, 0x047c, 0x0001 }, - { 0x8500, 0x0481, 0x3fff }, - { 0x8500, 0x047f, 0x2fff }, - { 0x0900, 0x047e, 0x0001 }, - { 0x0900, 0x0480, 0x0001 }, - { 0x8c00, 0x0483, 0x2000 }, - { 0x1a00, 0x0482, 0x0000 }, - { 0x0c00, 0x0484, 0x0000 }, - { 0x8900, 0x048e, 0x4001 }, - { 0x8900, 0x048a, 0x3001 }, - { 0x8b00, 0x0488, 0x2000 }, - { 0x0c00, 0x0486, 0x0000 }, - { 0x0b00, 0x0489, 0x0000 }, - { 0x8900, 0x048c, 0x2001 }, - { 0x0500, 0x048b, 0x0fff }, - { 0x0500, 0x048d, 0x0fff }, - { 0x8900, 0x0492, 0x3001 }, - { 0x8900, 0x0490, 0x2001 }, - { 0x0500, 0x048f, 0x0fff }, - { 0x0500, 0x0491, 0x0fff }, - { 0x8900, 0x0494, 0x2001 }, - { 0x0500, 0x0493, 0x0fff }, - { 0x0500, 0x0495, 0x0fff }, - { 0x8900, 0x04a6, 0x5001 }, - { 0x8900, 0x049e, 0x4001 }, - { 0x8900, 0x049a, 0x3001 }, - { 0x8900, 0x0498, 0x2001 }, - { 0x0500, 0x0497, 0x0fff }, - { 0x0500, 0x0499, 0x0fff }, - { 0x8900, 0x049c, 0x2001 }, - { 0x0500, 0x049b, 0x0fff }, - { 0x0500, 0x049d, 0x0fff }, - { 0x8900, 0x04a2, 0x3001 }, - { 0x8900, 0x04a0, 0x2001 }, - { 0x0500, 0x049f, 0x0fff }, - { 0x0500, 0x04a1, 0x0fff }, - { 0x8900, 0x04a4, 0x2001 }, - { 0x0500, 0x04a3, 0x0fff }, - { 0x0500, 0x04a5, 0x0fff }, - { 0x8900, 0x04ae, 0x4001 }, - { 0x8900, 0x04aa, 0x3001 }, - { 0x8900, 0x04a8, 0x2001 }, - { 0x0500, 0x04a7, 0x0fff }, - { 0x0500, 0x04a9, 0x0fff }, - { 0x8900, 0x04ac, 0x2001 }, - { 0x0500, 0x04ab, 0x0fff }, - { 0x0500, 0x04ad, 0x0fff }, - { 0x8900, 0x04b2, 0x3001 }, - { 0x8900, 0x04b0, 0x2001 }, - { 0x0500, 0x04af, 0x0fff }, - { 0x0500, 0x04b1, 0x0fff }, - { 0x8900, 0x04b4, 0x2001 }, - { 0x0500, 0x04b3, 0x0fff }, - { 0x0500, 0x04b5, 0x0fff }, - { 0x8500, 0x04f9, 0x7fff }, - { 0x8500, 0x04d7, 0x6fff }, - { 0x8500, 0x04c6, 0x5fff }, - { 0x8900, 0x04be, 0x4001 }, - { 0x8900, 0x04ba, 0x3001 }, - { 0x8900, 0x04b8, 0x2001 }, - { 0x0500, 0x04b7, 0x0fff }, - { 0x0500, 0x04b9, 0x0fff }, - { 0x8900, 0x04bc, 0x2001 }, - { 0x0500, 0x04bb, 0x0fff }, - { 0x0500, 0x04bd, 0x0fff }, - { 0x8500, 0x04c2, 0x3fff }, - { 0x8900, 0x04c0, 0x2000 }, - { 0x0500, 0x04bf, 0x0fff }, - { 0x0900, 0x04c1, 0x0001 }, - { 0x8500, 0x04c4, 0x2fff }, - { 0x0900, 0x04c3, 0x0001 }, - { 0x0900, 0x04c5, 0x0001 }, - { 0x8500, 0x04ce, 0x4fff }, - { 0x8500, 0x04ca, 0x3fff }, - { 0x8500, 0x04c8, 0x2fff }, - { 0x0900, 0x04c7, 0x0001 }, - { 0x0900, 0x04c9, 0x0001 }, - { 0x8500, 0x04cc, 0x2fff }, - { 0x0900, 0x04cb, 0x0001 }, - { 0x0900, 0x04cd, 0x0001 }, - { 0x8500, 0x04d3, 0x3fff }, - { 0x8500, 0x04d1, 0x2fff }, - { 0x0900, 0x04d0, 0x0001 }, - { 0x0900, 0x04d2, 0x0001 }, - { 0x8500, 0x04d5, 0x2fff }, - { 0x0900, 0x04d4, 0x0001 }, - { 0x0900, 0x04d6, 0x0001 }, - { 0x8500, 0x04e7, 0x5fff }, - { 0x8500, 0x04df, 0x4fff }, - { 0x8500, 0x04db, 0x3fff }, - { 0x8500, 0x04d9, 0x2fff }, - { 0x0900, 0x04d8, 0x0001 }, - { 0x0900, 0x04da, 0x0001 }, - { 0x8500, 0x04dd, 0x2fff }, - { 0x0900, 0x04dc, 0x0001 }, - { 0x0900, 0x04de, 0x0001 }, - { 0x8500, 0x04e3, 0x3fff }, - { 0x8500, 0x04e1, 0x2fff }, - { 0x0900, 0x04e0, 0x0001 }, - { 0x0900, 0x04e2, 0x0001 }, - { 0x8500, 0x04e5, 0x2fff }, - { 0x0900, 0x04e4, 0x0001 }, - { 0x0900, 0x04e6, 0x0001 }, - { 0x8500, 0x04ef, 0x4fff }, - { 0x8500, 0x04eb, 0x3fff }, - { 0x8500, 0x04e9, 0x2fff }, - { 0x0900, 0x04e8, 0x0001 }, - { 0x0900, 0x04ea, 0x0001 }, - { 0x8500, 0x04ed, 0x2fff }, - { 0x0900, 0x04ec, 0x0001 }, - { 0x0900, 0x04ee, 0x0001 }, - { 0x8500, 0x04f3, 0x3fff }, - { 0x8500, 0x04f1, 0x2fff }, - { 0x0900, 0x04f0, 0x0001 }, - { 0x0900, 0x04f2, 0x0001 }, - { 0x8500, 0x04f5, 0x2fff }, - { 0x0900, 0x04f4, 0x0001 }, - { 0x0900, 0x04f8, 0x0001 }, - { 0x8900, 0x0540, 0x6030 }, - { 0x8500, 0x050f, 0x5fff }, - { 0x8500, 0x0507, 0x4fff }, - { 0x8500, 0x0503, 0x3fff }, - { 0x8500, 0x0501, 0x2fff }, - { 0x0900, 0x0500, 0x0001 }, - { 0x0900, 0x0502, 0x0001 }, - { 0x8500, 0x0505, 0x2fff }, - { 0x0900, 0x0504, 0x0001 }, - { 0x0900, 0x0506, 0x0001 }, - { 0x8500, 0x050b, 0x3fff }, - { 0x8500, 0x0509, 0x2fff }, - { 0x0900, 0x0508, 0x0001 }, - { 0x0900, 0x050a, 0x0001 }, - { 0x8500, 0x050d, 0x2fff }, - { 0x0900, 0x050c, 0x0001 }, - { 0x0900, 0x050e, 0x0001 }, - { 0x8900, 0x0538, 0x4030 }, - { 0x8900, 0x0534, 0x3030 }, - { 0x8900, 0x0532, 0x2030 }, - { 0x0900, 0x0531, 0x0030 }, - { 0x0900, 0x0533, 0x0030 }, - { 0x8900, 0x0536, 0x2030 }, - { 0x0900, 0x0535, 0x0030 }, - { 0x0900, 0x0537, 0x0030 }, - { 0x8900, 0x053c, 0x3030 }, - { 0x8900, 0x053a, 0x2030 }, - { 0x0900, 0x0539, 0x0030 }, - { 0x0900, 0x053b, 0x0030 }, - { 0x8900, 0x053e, 0x2030 }, - { 0x0900, 0x053d, 0x0030 }, - { 0x0900, 0x053f, 0x0030 }, - { 0x8900, 0x0550, 0x5030 }, - { 0x8900, 0x0548, 0x4030 }, - { 0x8900, 0x0544, 0x3030 }, - { 0x8900, 0x0542, 0x2030 }, - { 0x0900, 0x0541, 0x0030 }, - { 0x0900, 0x0543, 0x0030 }, - { 0x8900, 0x0546, 0x2030 }, - { 0x0900, 0x0545, 0x0030 }, - { 0x0900, 0x0547, 0x0030 }, - { 0x8900, 0x054c, 0x3030 }, - { 0x8900, 0x054a, 0x2030 }, - { 0x0900, 0x0549, 0x0030 }, - { 0x0900, 0x054b, 0x0030 }, - { 0x8900, 0x054e, 0x2030 }, - { 0x0900, 0x054d, 0x0030 }, - { 0x0900, 0x054f, 0x0030 }, - { 0x9500, 0x055a, 0x4000 }, - { 0x8900, 0x0554, 0x3030 }, - { 0x8900, 0x0552, 0x2030 }, - { 0x0900, 0x0551, 0x0030 }, - { 0x0900, 0x0553, 0x0030 }, - { 0x8900, 0x0556, 0x2030 }, - { 0x0900, 0x0555, 0x0030 }, - { 0x0600, 0x0559, 0x0000 }, - { 0x9500, 0x055e, 0x3000 }, - { 0x9500, 0x055c, 0x2000 }, - { 0x1500, 0x055b, 0x0000 }, - { 0x1500, 0x055d, 0x0000 }, - { 0x8500, 0x0561, 0x2fd0 }, - { 0x1500, 0x055f, 0x0000 }, - { 0x0500, 0x0562, 0x0fd0 }, - { 0x9a00, 0x060f, 0x8000 }, - { 0x8c00, 0x05ab, 0x7000 }, - { 0x8500, 0x0583, 0x6fd0 }, - { 0x8500, 0x0573, 0x5fd0 }, - { 0x8500, 0x056b, 0x4fd0 }, - { 0x8500, 0x0567, 0x3fd0 }, - { 0x8500, 0x0565, 0x2fd0 }, - { 0x0500, 0x0564, 0x0fd0 }, - { 0x0500, 0x0566, 0x0fd0 }, - { 0x8500, 0x0569, 0x2fd0 }, - { 0x0500, 0x0568, 0x0fd0 }, - { 0x0500, 0x056a, 0x0fd0 }, - { 0x8500, 0x056f, 0x3fd0 }, - { 0x8500, 0x056d, 0x2fd0 }, - { 0x0500, 0x056c, 0x0fd0 }, - { 0x0500, 0x056e, 0x0fd0 }, - { 0x8500, 0x0571, 0x2fd0 }, - { 0x0500, 0x0570, 0x0fd0 }, - { 0x0500, 0x0572, 0x0fd0 }, - { 0x8500, 0x057b, 0x4fd0 }, - { 0x8500, 0x0577, 0x3fd0 }, - { 0x8500, 0x0575, 0x2fd0 }, - { 0x0500, 0x0574, 0x0fd0 }, - { 0x0500, 0x0576, 0x0fd0 }, - { 0x8500, 0x0579, 0x2fd0 }, - { 0x0500, 0x0578, 0x0fd0 }, - { 0x0500, 0x057a, 0x0fd0 }, - { 0x8500, 0x057f, 0x3fd0 }, - { 0x8500, 0x057d, 0x2fd0 }, - { 0x0500, 0x057c, 0x0fd0 }, - { 0x0500, 0x057e, 0x0fd0 }, - { 0x8500, 0x0581, 0x2fd0 }, - { 0x0500, 0x0580, 0x0fd0 }, - { 0x0500, 0x0582, 0x0fd0 }, - { 0x8c00, 0x059a, 0x5000 }, - { 0x8c00, 0x0592, 0x4000 }, - { 0x8500, 0x0587, 0x3000 }, - { 0x8500, 0x0585, 0x2fd0 }, - { 0x0500, 0x0584, 0x0fd0 }, - { 0x0500, 0x0586, 0x0fd0 }, - { 0x9100, 0x058a, 0x2000 }, - { 0x1500, 0x0589, 0x0000 }, - { 0x0c00, 0x0591, 0x0000 }, - { 0x8c00, 0x0596, 0x3000 }, - { 0x8c00, 0x0594, 0x2000 }, - { 0x0c00, 0x0593, 0x0000 }, - { 0x0c00, 0x0595, 0x0000 }, - { 0x8c00, 0x0598, 0x2000 }, - { 0x0c00, 0x0597, 0x0000 }, - { 0x0c00, 0x0599, 0x0000 }, - { 0x8c00, 0x05a3, 0x4000 }, - { 0x8c00, 0x059e, 0x3000 }, - { 0x8c00, 0x059c, 0x2000 }, - { 0x0c00, 0x059b, 0x0000 }, - { 0x0c00, 0x059d, 0x0000 }, - { 0x8c00, 0x05a0, 0x2000 }, - { 0x0c00, 0x059f, 0x0000 }, - { 0x0c00, 0x05a1, 0x0000 }, - { 0x8c00, 0x05a7, 0x3000 }, - { 0x8c00, 0x05a5, 0x2000 }, - { 0x0c00, 0x05a4, 0x0000 }, - { 0x0c00, 0x05a6, 0x0000 }, - { 0x8c00, 0x05a9, 0x2000 }, - { 0x0c00, 0x05a8, 0x0000 }, - { 0x0c00, 0x05aa, 0x0000 }, - { 0x8700, 0x05d7, 0x6000 }, - { 0x8c00, 0x05bc, 0x5000 }, - { 0x8c00, 0x05b3, 0x4000 }, - { 0x8c00, 0x05af, 0x3000 }, - { 0x8c00, 0x05ad, 0x2000 }, - { 0x0c00, 0x05ac, 0x0000 }, - { 0x0c00, 0x05ae, 0x0000 }, - { 0x8c00, 0x05b1, 0x2000 }, - { 0x0c00, 0x05b0, 0x0000 }, - { 0x0c00, 0x05b2, 0x0000 }, - { 0x8c00, 0x05b7, 0x3000 }, - { 0x8c00, 0x05b5, 0x2000 }, - { 0x0c00, 0x05b4, 0x0000 }, - { 0x0c00, 0x05b6, 0x0000 }, - { 0x8c00, 0x05b9, 0x2000 }, - { 0x0c00, 0x05b8, 0x0000 }, - { 0x0c00, 0x05bb, 0x0000 }, - { 0x8c00, 0x05c4, 0x4000 }, - { 0x9500, 0x05c0, 0x3000 }, - { 0x9500, 0x05be, 0x2000 }, - { 0x0c00, 0x05bd, 0x0000 }, - { 0x0c00, 0x05bf, 0x0000 }, - { 0x8c00, 0x05c2, 0x2000 }, - { 0x0c00, 0x05c1, 0x0000 }, - { 0x1500, 0x05c3, 0x0000 }, - { 0x8700, 0x05d3, 0x3000 }, - { 0x8700, 0x05d1, 0x2000 }, - { 0x0700, 0x05d0, 0x0000 }, - { 0x0700, 0x05d2, 0x0000 }, - { 0x8700, 0x05d5, 0x2000 }, - { 0x0700, 0x05d4, 0x0000 }, - { 0x0700, 0x05d6, 0x0000 }, - { 0x8700, 0x05e7, 0x5000 }, - { 0x8700, 0x05df, 0x4000 }, - { 0x8700, 0x05db, 0x3000 }, - { 0x8700, 0x05d9, 0x2000 }, - { 0x0700, 0x05d8, 0x0000 }, - { 0x0700, 0x05da, 0x0000 }, - { 0x8700, 0x05dd, 0x2000 }, - { 0x0700, 0x05dc, 0x0000 }, - { 0x0700, 0x05de, 0x0000 }, - { 0x8700, 0x05e3, 0x3000 }, - { 0x8700, 0x05e1, 0x2000 }, - { 0x0700, 0x05e0, 0x0000 }, - { 0x0700, 0x05e2, 0x0000 }, - { 0x8700, 0x05e5, 0x2000 }, - { 0x0700, 0x05e4, 0x0000 }, - { 0x0700, 0x05e6, 0x0000 }, - { 0x9500, 0x05f4, 0x4000 }, - { 0x8700, 0x05f0, 0x3000 }, - { 0x8700, 0x05e9, 0x2000 }, - { 0x0700, 0x05e8, 0x0000 }, - { 0x0700, 0x05ea, 0x0000 }, - { 0x8700, 0x05f2, 0x2000 }, - { 0x0700, 0x05f1, 0x0000 }, - { 0x1500, 0x05f3, 0x0000 }, - { 0x8100, 0x0603, 0x3000 }, - { 0x8100, 0x0601, 0x2000 }, - { 0x0100, 0x0600, 0x0000 }, - { 0x0100, 0x0602, 0x0000 }, - { 0x9500, 0x060d, 0x2000 }, - { 0x1500, 0x060c, 0x0000 }, - { 0x1a00, 0x060e, 0x0000 }, - { 0x8d00, 0x0664, 0x7000 }, - { 0x8700, 0x0638, 0x6000 }, - { 0x8700, 0x0628, 0x5000 }, - { 0x9500, 0x061f, 0x4000 }, - { 0x8c00, 0x0613, 0x3000 }, - { 0x8c00, 0x0611, 0x2000 }, - { 0x0c00, 0x0610, 0x0000 }, - { 0x0c00, 0x0612, 0x0000 }, - { 0x8c00, 0x0615, 0x2000 }, - { 0x0c00, 0x0614, 0x0000 }, - { 0x1500, 0x061b, 0x0000 }, - { 0x8700, 0x0624, 0x3000 }, - { 0x8700, 0x0622, 0x2000 }, - { 0x0700, 0x0621, 0x0000 }, - { 0x0700, 0x0623, 0x0000 }, - { 0x8700, 0x0626, 0x2000 }, - { 0x0700, 0x0625, 0x0000 }, - { 0x0700, 0x0627, 0x0000 }, - { 0x8700, 0x0630, 0x4000 }, - { 0x8700, 0x062c, 0x3000 }, - { 0x8700, 0x062a, 0x2000 }, - { 0x0700, 0x0629, 0x0000 }, - { 0x0700, 0x062b, 0x0000 }, - { 0x8700, 0x062e, 0x2000 }, - { 0x0700, 0x062d, 0x0000 }, - { 0x0700, 0x062f, 0x0000 }, - { 0x8700, 0x0634, 0x3000 }, - { 0x8700, 0x0632, 0x2000 }, - { 0x0700, 0x0631, 0x0000 }, - { 0x0700, 0x0633, 0x0000 }, - { 0x8700, 0x0636, 0x2000 }, - { 0x0700, 0x0635, 0x0000 }, - { 0x0700, 0x0637, 0x0000 }, - { 0x8c00, 0x064d, 0x5000 }, - { 0x8700, 0x0645, 0x4000 }, - { 0x8700, 0x0641, 0x3000 }, - { 0x8700, 0x063a, 0x2000 }, - { 0x0700, 0x0639, 0x0000 }, - { 0x0600, 0x0640, 0x0000 }, - { 0x8700, 0x0643, 0x2000 }, - { 0x0700, 0x0642, 0x0000 }, - { 0x0700, 0x0644, 0x0000 }, - { 0x8700, 0x0649, 0x3000 }, - { 0x8700, 0x0647, 0x2000 }, - { 0x0700, 0x0646, 0x0000 }, - { 0x0700, 0x0648, 0x0000 }, - { 0x8c00, 0x064b, 0x2000 }, - { 0x0700, 0x064a, 0x0000 }, - { 0x0c00, 0x064c, 0x0000 }, - { 0x8c00, 0x0655, 0x4000 }, - { 0x8c00, 0x0651, 0x3000 }, - { 0x8c00, 0x064f, 0x2000 }, - { 0x0c00, 0x064e, 0x0000 }, - { 0x0c00, 0x0650, 0x0000 }, - { 0x8c00, 0x0653, 0x2000 }, - { 0x0c00, 0x0652, 0x0000 }, - { 0x0c00, 0x0654, 0x0000 }, - { 0x8d00, 0x0660, 0x3000 }, - { 0x8c00, 0x0657, 0x2000 }, - { 0x0c00, 0x0656, 0x0000 }, - { 0x0c00, 0x0658, 0x0000 }, - { 0x8d00, 0x0662, 0x2000 }, - { 0x0d00, 0x0661, 0x0000 }, - { 0x0d00, 0x0663, 0x0000 }, - { 0x8700, 0x0684, 0x6000 }, - { 0x8700, 0x0674, 0x5000 }, - { 0x9500, 0x066c, 0x4000 }, - { 0x8d00, 0x0668, 0x3000 }, - { 0x8d00, 0x0666, 0x2000 }, - { 0x0d00, 0x0665, 0x0000 }, - { 0x0d00, 0x0667, 0x0000 }, - { 0x9500, 0x066a, 0x2000 }, - { 0x0d00, 0x0669, 0x0000 }, - { 0x1500, 0x066b, 0x0000 }, - { 0x8c00, 0x0670, 0x3000 }, - { 0x8700, 0x066e, 0x2000 }, - { 0x1500, 0x066d, 0x0000 }, - { 0x0700, 0x066f, 0x0000 }, - { 0x8700, 0x0672, 0x2000 }, - { 0x0700, 0x0671, 0x0000 }, - { 0x0700, 0x0673, 0x0000 }, - { 0x8700, 0x067c, 0x4000 }, - { 0x8700, 0x0678, 0x3000 }, - { 0x8700, 0x0676, 0x2000 }, - { 0x0700, 0x0675, 0x0000 }, - { 0x0700, 0x0677, 0x0000 }, - { 0x8700, 0x067a, 0x2000 }, - { 0x0700, 0x0679, 0x0000 }, - { 0x0700, 0x067b, 0x0000 }, - { 0x8700, 0x0680, 0x3000 }, - { 0x8700, 0x067e, 0x2000 }, - { 0x0700, 0x067d, 0x0000 }, - { 0x0700, 0x067f, 0x0000 }, - { 0x8700, 0x0682, 0x2000 }, - { 0x0700, 0x0681, 0x0000 }, - { 0x0700, 0x0683, 0x0000 }, - { 0x8700, 0x0694, 0x5000 }, - { 0x8700, 0x068c, 0x4000 }, - { 0x8700, 0x0688, 0x3000 }, - { 0x8700, 0x0686, 0x2000 }, - { 0x0700, 0x0685, 0x0000 }, - { 0x0700, 0x0687, 0x0000 }, - { 0x8700, 0x068a, 0x2000 }, - { 0x0700, 0x0689, 0x0000 }, - { 0x0700, 0x068b, 0x0000 }, - { 0x8700, 0x0690, 0x3000 }, - { 0x8700, 0x068e, 0x2000 }, - { 0x0700, 0x068d, 0x0000 }, - { 0x0700, 0x068f, 0x0000 }, - { 0x8700, 0x0692, 0x2000 }, - { 0x0700, 0x0691, 0x0000 }, - { 0x0700, 0x0693, 0x0000 }, - { 0x8700, 0x069c, 0x4000 }, - { 0x8700, 0x0698, 0x3000 }, - { 0x8700, 0x0696, 0x2000 }, - { 0x0700, 0x0695, 0x0000 }, - { 0x0700, 0x0697, 0x0000 }, - { 0x8700, 0x069a, 0x2000 }, - { 0x0700, 0x0699, 0x0000 }, - { 0x0700, 0x069b, 0x0000 }, - { 0x8700, 0x06a0, 0x3000 }, - { 0x8700, 0x069e, 0x2000 }, - { 0x0700, 0x069d, 0x0000 }, - { 0x0700, 0x069f, 0x0000 }, - { 0x8700, 0x06a2, 0x2000 }, - { 0x0700, 0x06a1, 0x0000 }, - { 0x0700, 0x06a3, 0x0000 }, - { 0x8700, 0x0926, 0x9000 }, - { 0x8700, 0x0725, 0x8000 }, - { 0x8c00, 0x06e4, 0x7000 }, - { 0x8700, 0x06c4, 0x6000 }, - { 0x8700, 0x06b4, 0x5000 }, - { 0x8700, 0x06ac, 0x4000 }, - { 0x8700, 0x06a8, 0x3000 }, - { 0x8700, 0x06a6, 0x2000 }, - { 0x0700, 0x06a5, 0x0000 }, - { 0x0700, 0x06a7, 0x0000 }, - { 0x8700, 0x06aa, 0x2000 }, - { 0x0700, 0x06a9, 0x0000 }, - { 0x0700, 0x06ab, 0x0000 }, - { 0x8700, 0x06b0, 0x3000 }, - { 0x8700, 0x06ae, 0x2000 }, - { 0x0700, 0x06ad, 0x0000 }, - { 0x0700, 0x06af, 0x0000 }, - { 0x8700, 0x06b2, 0x2000 }, - { 0x0700, 0x06b1, 0x0000 }, - { 0x0700, 0x06b3, 0x0000 }, - { 0x8700, 0x06bc, 0x4000 }, - { 0x8700, 0x06b8, 0x3000 }, - { 0x8700, 0x06b6, 0x2000 }, - { 0x0700, 0x06b5, 0x0000 }, - { 0x0700, 0x06b7, 0x0000 }, - { 0x8700, 0x06ba, 0x2000 }, - { 0x0700, 0x06b9, 0x0000 }, - { 0x0700, 0x06bb, 0x0000 }, - { 0x8700, 0x06c0, 0x3000 }, - { 0x8700, 0x06be, 0x2000 }, - { 0x0700, 0x06bd, 0x0000 }, - { 0x0700, 0x06bf, 0x0000 }, - { 0x8700, 0x06c2, 0x2000 }, - { 0x0700, 0x06c1, 0x0000 }, - { 0x0700, 0x06c3, 0x0000 }, - { 0x9500, 0x06d4, 0x5000 }, - { 0x8700, 0x06cc, 0x4000 }, - { 0x8700, 0x06c8, 0x3000 }, - { 0x8700, 0x06c6, 0x2000 }, - { 0x0700, 0x06c5, 0x0000 }, - { 0x0700, 0x06c7, 0x0000 }, - { 0x8700, 0x06ca, 0x2000 }, - { 0x0700, 0x06c9, 0x0000 }, - { 0x0700, 0x06cb, 0x0000 }, - { 0x8700, 0x06d0, 0x3000 }, - { 0x8700, 0x06ce, 0x2000 }, - { 0x0700, 0x06cd, 0x0000 }, - { 0x0700, 0x06cf, 0x0000 }, - { 0x8700, 0x06d2, 0x2000 }, - { 0x0700, 0x06d1, 0x0000 }, - { 0x0700, 0x06d3, 0x0000 }, - { 0x8c00, 0x06dc, 0x4000 }, - { 0x8c00, 0x06d8, 0x3000 }, - { 0x8c00, 0x06d6, 0x2000 }, - { 0x0700, 0x06d5, 0x0000 }, - { 0x0c00, 0x06d7, 0x0000 }, - { 0x8c00, 0x06da, 0x2000 }, - { 0x0c00, 0x06d9, 0x0000 }, - { 0x0c00, 0x06db, 0x0000 }, - { 0x8c00, 0x06e0, 0x3000 }, - { 0x8b00, 0x06de, 0x2000 }, - { 0x0100, 0x06dd, 0x0000 }, - { 0x0c00, 0x06df, 0x0000 }, - { 0x8c00, 0x06e2, 0x2000 }, - { 0x0c00, 0x06e1, 0x0000 }, - { 0x0c00, 0x06e3, 0x0000 }, - { 0x9500, 0x0704, 0x6000 }, - { 0x8d00, 0x06f4, 0x5000 }, - { 0x8c00, 0x06ec, 0x4000 }, - { 0x8c00, 0x06e8, 0x3000 }, - { 0x8600, 0x06e6, 0x2000 }, - { 0x0600, 0x06e5, 0x0000 }, - { 0x0c00, 0x06e7, 0x0000 }, - { 0x8c00, 0x06ea, 0x2000 }, - { 0x1a00, 0x06e9, 0x0000 }, - { 0x0c00, 0x06eb, 0x0000 }, - { 0x8d00, 0x06f0, 0x3000 }, - { 0x8700, 0x06ee, 0x2000 }, - { 0x0c00, 0x06ed, 0x0000 }, - { 0x0700, 0x06ef, 0x0000 }, - { 0x8d00, 0x06f2, 0x2000 }, - { 0x0d00, 0x06f1, 0x0000 }, - { 0x0d00, 0x06f3, 0x0000 }, - { 0x8700, 0x06fc, 0x4000 }, - { 0x8d00, 0x06f8, 0x3000 }, - { 0x8d00, 0x06f6, 0x2000 }, - { 0x0d00, 0x06f5, 0x0000 }, - { 0x0d00, 0x06f7, 0x0000 }, - { 0x8700, 0x06fa, 0x2000 }, - { 0x0d00, 0x06f9, 0x0000 }, - { 0x0700, 0x06fb, 0x0000 }, - { 0x9500, 0x0700, 0x3000 }, - { 0x9a00, 0x06fe, 0x2000 }, - { 0x1a00, 0x06fd, 0x0000 }, - { 0x0700, 0x06ff, 0x0000 }, - { 0x9500, 0x0702, 0x2000 }, - { 0x1500, 0x0701, 0x0000 }, - { 0x1500, 0x0703, 0x0000 }, - { 0x8700, 0x0715, 0x5000 }, - { 0x9500, 0x070c, 0x4000 }, - { 0x9500, 0x0708, 0x3000 }, - { 0x9500, 0x0706, 0x2000 }, - { 0x1500, 0x0705, 0x0000 }, - { 0x1500, 0x0707, 0x0000 }, - { 0x9500, 0x070a, 0x2000 }, - { 0x1500, 0x0709, 0x0000 }, - { 0x1500, 0x070b, 0x0000 }, - { 0x8c00, 0x0711, 0x3000 }, - { 0x8100, 0x070f, 0x2000 }, - { 0x1500, 0x070d, 0x0000 }, - { 0x0700, 0x0710, 0x0000 }, - { 0x8700, 0x0713, 0x2000 }, - { 0x0700, 0x0712, 0x0000 }, - { 0x0700, 0x0714, 0x0000 }, - { 0x8700, 0x071d, 0x4000 }, - { 0x8700, 0x0719, 0x3000 }, - { 0x8700, 0x0717, 0x2000 }, - { 0x0700, 0x0716, 0x0000 }, - { 0x0700, 0x0718, 0x0000 }, - { 0x8700, 0x071b, 0x2000 }, - { 0x0700, 0x071a, 0x0000 }, - { 0x0700, 0x071c, 0x0000 }, - { 0x8700, 0x0721, 0x3000 }, - { 0x8700, 0x071f, 0x2000 }, - { 0x0700, 0x071e, 0x0000 }, - { 0x0700, 0x0720, 0x0000 }, - { 0x8700, 0x0723, 0x2000 }, - { 0x0700, 0x0722, 0x0000 }, - { 0x0700, 0x0724, 0x0000 }, - { 0x8700, 0x0797, 0x7000 }, - { 0x8c00, 0x0745, 0x6000 }, - { 0x8c00, 0x0735, 0x5000 }, - { 0x8700, 0x072d, 0x4000 }, - { 0x8700, 0x0729, 0x3000 }, - { 0x8700, 0x0727, 0x2000 }, - { 0x0700, 0x0726, 0x0000 }, - { 0x0700, 0x0728, 0x0000 }, - { 0x8700, 0x072b, 0x2000 }, - { 0x0700, 0x072a, 0x0000 }, - { 0x0700, 0x072c, 0x0000 }, - { 0x8c00, 0x0731, 0x3000 }, - { 0x8700, 0x072f, 0x2000 }, - { 0x0700, 0x072e, 0x0000 }, - { 0x0c00, 0x0730, 0x0000 }, - { 0x8c00, 0x0733, 0x2000 }, - { 0x0c00, 0x0732, 0x0000 }, - { 0x0c00, 0x0734, 0x0000 }, - { 0x8c00, 0x073d, 0x4000 }, - { 0x8c00, 0x0739, 0x3000 }, - { 0x8c00, 0x0737, 0x2000 }, - { 0x0c00, 0x0736, 0x0000 }, - { 0x0c00, 0x0738, 0x0000 }, - { 0x8c00, 0x073b, 0x2000 }, - { 0x0c00, 0x073a, 0x0000 }, - { 0x0c00, 0x073c, 0x0000 }, - { 0x8c00, 0x0741, 0x3000 }, - { 0x8c00, 0x073f, 0x2000 }, - { 0x0c00, 0x073e, 0x0000 }, - { 0x0c00, 0x0740, 0x0000 }, - { 0x8c00, 0x0743, 0x2000 }, - { 0x0c00, 0x0742, 0x0000 }, - { 0x0c00, 0x0744, 0x0000 }, - { 0x8700, 0x0787, 0x5000 }, - { 0x8700, 0x074f, 0x4000 }, - { 0x8c00, 0x0749, 0x3000 }, - { 0x8c00, 0x0747, 0x2000 }, - { 0x0c00, 0x0746, 0x0000 }, - { 0x0c00, 0x0748, 0x0000 }, - { 0x8700, 0x074d, 0x2000 }, - { 0x0c00, 0x074a, 0x0000 }, - { 0x0700, 0x074e, 0x0000 }, - { 0x8700, 0x0783, 0x3000 }, - { 0x8700, 0x0781, 0x2000 }, - { 0x0700, 0x0780, 0x0000 }, - { 0x0700, 0x0782, 0x0000 }, - { 0x8700, 0x0785, 0x2000 }, - { 0x0700, 0x0784, 0x0000 }, - { 0x0700, 0x0786, 0x0000 }, - { 0x8700, 0x078f, 0x4000 }, - { 0x8700, 0x078b, 0x3000 }, - { 0x8700, 0x0789, 0x2000 }, - { 0x0700, 0x0788, 0x0000 }, - { 0x0700, 0x078a, 0x0000 }, - { 0x8700, 0x078d, 0x2000 }, - { 0x0700, 0x078c, 0x0000 }, - { 0x0700, 0x078e, 0x0000 }, - { 0x8700, 0x0793, 0x3000 }, - { 0x8700, 0x0791, 0x2000 }, - { 0x0700, 0x0790, 0x0000 }, - { 0x0700, 0x0792, 0x0000 }, - { 0x8700, 0x0795, 0x2000 }, - { 0x0700, 0x0794, 0x0000 }, - { 0x0700, 0x0796, 0x0000 }, - { 0x8700, 0x0906, 0x6000 }, - { 0x8c00, 0x07a7, 0x5000 }, - { 0x8700, 0x079f, 0x4000 }, - { 0x8700, 0x079b, 0x3000 }, - { 0x8700, 0x0799, 0x2000 }, - { 0x0700, 0x0798, 0x0000 }, - { 0x0700, 0x079a, 0x0000 }, - { 0x8700, 0x079d, 0x2000 }, - { 0x0700, 0x079c, 0x0000 }, - { 0x0700, 0x079e, 0x0000 }, - { 0x8700, 0x07a3, 0x3000 }, - { 0x8700, 0x07a1, 0x2000 }, - { 0x0700, 0x07a0, 0x0000 }, - { 0x0700, 0x07a2, 0x0000 }, - { 0x8700, 0x07a5, 0x2000 }, - { 0x0700, 0x07a4, 0x0000 }, - { 0x0c00, 0x07a6, 0x0000 }, - { 0x8c00, 0x07af, 0x4000 }, - { 0x8c00, 0x07ab, 0x3000 }, - { 0x8c00, 0x07a9, 0x2000 }, - { 0x0c00, 0x07a8, 0x0000 }, - { 0x0c00, 0x07aa, 0x0000 }, - { 0x8c00, 0x07ad, 0x2000 }, - { 0x0c00, 0x07ac, 0x0000 }, - { 0x0c00, 0x07ae, 0x0000 }, - { 0x8c00, 0x0902, 0x3000 }, - { 0x8700, 0x07b1, 0x2000 }, - { 0x0c00, 0x07b0, 0x0000 }, - { 0x0c00, 0x0901, 0x0000 }, - { 0x8700, 0x0904, 0x2000 }, - { 0x0a00, 0x0903, 0x0000 }, - { 0x0700, 0x0905, 0x0000 }, - { 0x8700, 0x0916, 0x5000 }, - { 0x8700, 0x090e, 0x4000 }, - { 0x8700, 0x090a, 0x3000 }, - { 0x8700, 0x0908, 0x2000 }, - { 0x0700, 0x0907, 0x0000 }, - { 0x0700, 0x0909, 0x0000 }, - { 0x8700, 0x090c, 0x2000 }, - { 0x0700, 0x090b, 0x0000 }, - { 0x0700, 0x090d, 0x0000 }, - { 0x8700, 0x0912, 0x3000 }, - { 0x8700, 0x0910, 0x2000 }, - { 0x0700, 0x090f, 0x0000 }, - { 0x0700, 0x0911, 0x0000 }, - { 0x8700, 0x0914, 0x2000 }, - { 0x0700, 0x0913, 0x0000 }, - { 0x0700, 0x0915, 0x0000 }, - { 0x8700, 0x091e, 0x4000 }, - { 0x8700, 0x091a, 0x3000 }, - { 0x8700, 0x0918, 0x2000 }, - { 0x0700, 0x0917, 0x0000 }, - { 0x0700, 0x0919, 0x0000 }, - { 0x8700, 0x091c, 0x2000 }, - { 0x0700, 0x091b, 0x0000 }, - { 0x0700, 0x091d, 0x0000 }, - { 0x8700, 0x0922, 0x3000 }, - { 0x8700, 0x0920, 0x2000 }, - { 0x0700, 0x091f, 0x0000 }, - { 0x0700, 0x0921, 0x0000 }, - { 0x8700, 0x0924, 0x2000 }, - { 0x0700, 0x0923, 0x0000 }, - { 0x0700, 0x0925, 0x0000 }, - { 0x8c00, 0x09cd, 0x8000 }, - { 0x8d00, 0x096d, 0x7000 }, - { 0x8c00, 0x0948, 0x6000 }, - { 0x8700, 0x0936, 0x5000 }, - { 0x8700, 0x092e, 0x4000 }, - { 0x8700, 0x092a, 0x3000 }, - { 0x8700, 0x0928, 0x2000 }, - { 0x0700, 0x0927, 0x0000 }, - { 0x0700, 0x0929, 0x0000 }, - { 0x8700, 0x092c, 0x2000 }, - { 0x0700, 0x092b, 0x0000 }, - { 0x0700, 0x092d, 0x0000 }, - { 0x8700, 0x0932, 0x3000 }, - { 0x8700, 0x0930, 0x2000 }, - { 0x0700, 0x092f, 0x0000 }, - { 0x0700, 0x0931, 0x0000 }, - { 0x8700, 0x0934, 0x2000 }, - { 0x0700, 0x0933, 0x0000 }, - { 0x0700, 0x0935, 0x0000 }, - { 0x8a00, 0x0940, 0x4000 }, - { 0x8c00, 0x093c, 0x3000 }, - { 0x8700, 0x0938, 0x2000 }, - { 0x0700, 0x0937, 0x0000 }, - { 0x0700, 0x0939, 0x0000 }, - { 0x8a00, 0x093e, 0x2000 }, - { 0x0700, 0x093d, 0x0000 }, - { 0x0a00, 0x093f, 0x0000 }, - { 0x8c00, 0x0944, 0x3000 }, - { 0x8c00, 0x0942, 0x2000 }, - { 0x0c00, 0x0941, 0x0000 }, - { 0x0c00, 0x0943, 0x0000 }, - { 0x8c00, 0x0946, 0x2000 }, - { 0x0c00, 0x0945, 0x0000 }, - { 0x0c00, 0x0947, 0x0000 }, - { 0x8700, 0x095d, 0x5000 }, - { 0x8c00, 0x0952, 0x4000 }, - { 0x8a00, 0x094c, 0x3000 }, - { 0x8a00, 0x094a, 0x2000 }, - { 0x0a00, 0x0949, 0x0000 }, - { 0x0a00, 0x094b, 0x0000 }, - { 0x8700, 0x0950, 0x2000 }, - { 0x0c00, 0x094d, 0x0000 }, - { 0x0c00, 0x0951, 0x0000 }, - { 0x8700, 0x0959, 0x3000 }, - { 0x8c00, 0x0954, 0x2000 }, - { 0x0c00, 0x0953, 0x0000 }, - { 0x0700, 0x0958, 0x0000 }, - { 0x8700, 0x095b, 0x2000 }, - { 0x0700, 0x095a, 0x0000 }, - { 0x0700, 0x095c, 0x0000 }, - { 0x9500, 0x0965, 0x4000 }, - { 0x8700, 0x0961, 0x3000 }, - { 0x8700, 0x095f, 0x2000 }, - { 0x0700, 0x095e, 0x0000 }, - { 0x0700, 0x0960, 0x0000 }, - { 0x8c00, 0x0963, 0x2000 }, - { 0x0c00, 0x0962, 0x0000 }, - { 0x1500, 0x0964, 0x0000 }, - { 0x8d00, 0x0969, 0x3000 }, - { 0x8d00, 0x0967, 0x2000 }, - { 0x0d00, 0x0966, 0x0000 }, - { 0x0d00, 0x0968, 0x0000 }, - { 0x8d00, 0x096b, 0x2000 }, - { 0x0d00, 0x096a, 0x0000 }, - { 0x0d00, 0x096c, 0x0000 }, - { 0x8700, 0x09a2, 0x6000 }, - { 0x8700, 0x0990, 0x5000 }, - { 0x8700, 0x0986, 0x4000 }, - { 0x8c00, 0x0981, 0x3000 }, - { 0x8d00, 0x096f, 0x2000 }, - { 0x0d00, 0x096e, 0x0000 }, - { 0x1500, 0x0970, 0x0000 }, - { 0x8a00, 0x0983, 0x2000 }, - { 0x0a00, 0x0982, 0x0000 }, - { 0x0700, 0x0985, 0x0000 }, - { 0x8700, 0x098a, 0x3000 }, - { 0x8700, 0x0988, 0x2000 }, - { 0x0700, 0x0987, 0x0000 }, - { 0x0700, 0x0989, 0x0000 }, - { 0x8700, 0x098c, 0x2000 }, - { 0x0700, 0x098b, 0x0000 }, - { 0x0700, 0x098f, 0x0000 }, - { 0x8700, 0x099a, 0x4000 }, - { 0x8700, 0x0996, 0x3000 }, - { 0x8700, 0x0994, 0x2000 }, - { 0x0700, 0x0993, 0x0000 }, - { 0x0700, 0x0995, 0x0000 }, - { 0x8700, 0x0998, 0x2000 }, - { 0x0700, 0x0997, 0x0000 }, - { 0x0700, 0x0999, 0x0000 }, - { 0x8700, 0x099e, 0x3000 }, - { 0x8700, 0x099c, 0x2000 }, - { 0x0700, 0x099b, 0x0000 }, - { 0x0700, 0x099d, 0x0000 }, - { 0x8700, 0x09a0, 0x2000 }, - { 0x0700, 0x099f, 0x0000 }, - { 0x0700, 0x09a1, 0x0000 }, - { 0x8700, 0x09b7, 0x5000 }, - { 0x8700, 0x09ab, 0x4000 }, - { 0x8700, 0x09a6, 0x3000 }, - { 0x8700, 0x09a4, 0x2000 }, - { 0x0700, 0x09a3, 0x0000 }, - { 0x0700, 0x09a5, 0x0000 }, - { 0x8700, 0x09a8, 0x2000 }, - { 0x0700, 0x09a7, 0x0000 }, - { 0x0700, 0x09aa, 0x0000 }, - { 0x8700, 0x09af, 0x3000 }, - { 0x8700, 0x09ad, 0x2000 }, - { 0x0700, 0x09ac, 0x0000 }, - { 0x0700, 0x09ae, 0x0000 }, - { 0x8700, 0x09b2, 0x2000 }, - { 0x0700, 0x09b0, 0x0000 }, - { 0x0700, 0x09b6, 0x0000 }, - { 0x8c00, 0x09c1, 0x4000 }, - { 0x8700, 0x09bd, 0x3000 }, - { 0x8700, 0x09b9, 0x2000 }, - { 0x0700, 0x09b8, 0x0000 }, - { 0x0c00, 0x09bc, 0x0000 }, - { 0x8a00, 0x09bf, 0x2000 }, - { 0x0a00, 0x09be, 0x0000 }, - { 0x0a00, 0x09c0, 0x0000 }, - { 0x8a00, 0x09c7, 0x3000 }, - { 0x8c00, 0x09c3, 0x2000 }, - { 0x0c00, 0x09c2, 0x0000 }, - { 0x0c00, 0x09c4, 0x0000 }, - { 0x8a00, 0x09cb, 0x2000 }, - { 0x0a00, 0x09c8, 0x0000 }, - { 0x0a00, 0x09cc, 0x0000 }, - { 0x8700, 0x0a2b, 0x7000 }, - { 0x8a00, 0x0a03, 0x6000 }, - { 0x8d00, 0x09ed, 0x5000 }, - { 0x8c00, 0x09e3, 0x4000 }, - { 0x8700, 0x09df, 0x3000 }, - { 0x8700, 0x09dc, 0x2000 }, - { 0x0a00, 0x09d7, 0x0000 }, - { 0x0700, 0x09dd, 0x0000 }, - { 0x8700, 0x09e1, 0x2000 }, - { 0x0700, 0x09e0, 0x0000 }, - { 0x0c00, 0x09e2, 0x0000 }, - { 0x8d00, 0x09e9, 0x3000 }, - { 0x8d00, 0x09e7, 0x2000 }, - { 0x0d00, 0x09e6, 0x0000 }, - { 0x0d00, 0x09e8, 0x0000 }, - { 0x8d00, 0x09eb, 0x2000 }, - { 0x0d00, 0x09ea, 0x0000 }, - { 0x0d00, 0x09ec, 0x0000 }, - { 0x8f00, 0x09f5, 0x4000 }, - { 0x8700, 0x09f1, 0x3000 }, - { 0x8d00, 0x09ef, 0x2000 }, - { 0x0d00, 0x09ee, 0x0000 }, - { 0x0700, 0x09f0, 0x0000 }, - { 0x9700, 0x09f3, 0x2000 }, - { 0x1700, 0x09f2, 0x0000 }, - { 0x0f00, 0x09f4, 0x0000 }, - { 0x8f00, 0x09f9, 0x3000 }, - { 0x8f00, 0x09f7, 0x2000 }, - { 0x0f00, 0x09f6, 0x0000 }, - { 0x0f00, 0x09f8, 0x0000 }, - { 0x8c00, 0x0a01, 0x2000 }, - { 0x1a00, 0x09fa, 0x0000 }, - { 0x0c00, 0x0a02, 0x0000 }, - { 0x8700, 0x0a1a, 0x5000 }, - { 0x8700, 0x0a10, 0x4000 }, - { 0x8700, 0x0a08, 0x3000 }, - { 0x8700, 0x0a06, 0x2000 }, - { 0x0700, 0x0a05, 0x0000 }, - { 0x0700, 0x0a07, 0x0000 }, - { 0x8700, 0x0a0a, 0x2000 }, - { 0x0700, 0x0a09, 0x0000 }, - { 0x0700, 0x0a0f, 0x0000 }, - { 0x8700, 0x0a16, 0x3000 }, - { 0x8700, 0x0a14, 0x2000 }, - { 0x0700, 0x0a13, 0x0000 }, - { 0x0700, 0x0a15, 0x0000 }, - { 0x8700, 0x0a18, 0x2000 }, - { 0x0700, 0x0a17, 0x0000 }, - { 0x0700, 0x0a19, 0x0000 }, - { 0x8700, 0x0a22, 0x4000 }, - { 0x8700, 0x0a1e, 0x3000 }, - { 0x8700, 0x0a1c, 0x2000 }, - { 0x0700, 0x0a1b, 0x0000 }, - { 0x0700, 0x0a1d, 0x0000 }, - { 0x8700, 0x0a20, 0x2000 }, - { 0x0700, 0x0a1f, 0x0000 }, - { 0x0700, 0x0a21, 0x0000 }, - { 0x8700, 0x0a26, 0x3000 }, - { 0x8700, 0x0a24, 0x2000 }, - { 0x0700, 0x0a23, 0x0000 }, - { 0x0700, 0x0a25, 0x0000 }, - { 0x8700, 0x0a28, 0x2000 }, - { 0x0700, 0x0a27, 0x0000 }, - { 0x0700, 0x0a2a, 0x0000 }, - { 0x8d00, 0x0a6a, 0x6000 }, - { 0x8c00, 0x0a41, 0x5000 }, - { 0x8700, 0x0a35, 0x4000 }, - { 0x8700, 0x0a2f, 0x3000 }, - { 0x8700, 0x0a2d, 0x2000 }, - { 0x0700, 0x0a2c, 0x0000 }, - { 0x0700, 0x0a2e, 0x0000 }, - { 0x8700, 0x0a32, 0x2000 }, - { 0x0700, 0x0a30, 0x0000 }, - { 0x0700, 0x0a33, 0x0000 }, - { 0x8c00, 0x0a3c, 0x3000 }, - { 0x8700, 0x0a38, 0x2000 }, - { 0x0700, 0x0a36, 0x0000 }, - { 0x0700, 0x0a39, 0x0000 }, - { 0x8a00, 0x0a3f, 0x2000 }, - { 0x0a00, 0x0a3e, 0x0000 }, - { 0x0a00, 0x0a40, 0x0000 }, - { 0x8700, 0x0a5a, 0x4000 }, - { 0x8c00, 0x0a4b, 0x3000 }, - { 0x8c00, 0x0a47, 0x2000 }, - { 0x0c00, 0x0a42, 0x0000 }, - { 0x0c00, 0x0a48, 0x0000 }, - { 0x8c00, 0x0a4d, 0x2000 }, - { 0x0c00, 0x0a4c, 0x0000 }, - { 0x0700, 0x0a59, 0x0000 }, - { 0x8d00, 0x0a66, 0x3000 }, - { 0x8700, 0x0a5c, 0x2000 }, - { 0x0700, 0x0a5b, 0x0000 }, - { 0x0700, 0x0a5e, 0x0000 }, - { 0x8d00, 0x0a68, 0x2000 }, - { 0x0d00, 0x0a67, 0x0000 }, - { 0x0d00, 0x0a69, 0x0000 }, - { 0x8700, 0x0a87, 0x5000 }, - { 0x8700, 0x0a72, 0x4000 }, - { 0x8d00, 0x0a6e, 0x3000 }, - { 0x8d00, 0x0a6c, 0x2000 }, - { 0x0d00, 0x0a6b, 0x0000 }, - { 0x0d00, 0x0a6d, 0x0000 }, - { 0x8c00, 0x0a70, 0x2000 }, - { 0x0d00, 0x0a6f, 0x0000 }, - { 0x0c00, 0x0a71, 0x0000 }, - { 0x8c00, 0x0a82, 0x3000 }, - { 0x8700, 0x0a74, 0x2000 }, - { 0x0700, 0x0a73, 0x0000 }, - { 0x0c00, 0x0a81, 0x0000 }, - { 0x8700, 0x0a85, 0x2000 }, - { 0x0a00, 0x0a83, 0x0000 }, - { 0x0700, 0x0a86, 0x0000 }, - { 0x8700, 0x0a90, 0x4000 }, - { 0x8700, 0x0a8b, 0x3000 }, - { 0x8700, 0x0a89, 0x2000 }, - { 0x0700, 0x0a88, 0x0000 }, - { 0x0700, 0x0a8a, 0x0000 }, - { 0x8700, 0x0a8d, 0x2000 }, - { 0x0700, 0x0a8c, 0x0000 }, - { 0x0700, 0x0a8f, 0x0000 }, - { 0x8700, 0x0a95, 0x3000 }, - { 0x8700, 0x0a93, 0x2000 }, - { 0x0700, 0x0a91, 0x0000 }, - { 0x0700, 0x0a94, 0x0000 }, - { 0x8700, 0x0a97, 0x2000 }, - { 0x0700, 0x0a96, 0x0000 }, - { 0x0700, 0x0a98, 0x0000 }, - { 0x8700, 0x10ef, 0xb000 }, - { 0x8700, 0x0dc6, 0xa000 }, - { 0x8700, 0x0c31, 0x9000 }, - { 0x8700, 0x0b5f, 0x8000 }, - { 0x8a00, 0x0b03, 0x7000 }, - { 0x8a00, 0x0abe, 0x6000 }, - { 0x8700, 0x0aaa, 0x5000 }, - { 0x8700, 0x0aa1, 0x4000 }, - { 0x8700, 0x0a9d, 0x3000 }, - { 0x8700, 0x0a9b, 0x2000 }, - { 0x0700, 0x0a9a, 0x0000 }, - { 0x0700, 0x0a9c, 0x0000 }, - { 0x8700, 0x0a9f, 0x2000 }, - { 0x0700, 0x0a9e, 0x0000 }, - { 0x0700, 0x0aa0, 0x0000 }, - { 0x8700, 0x0aa5, 0x3000 }, - { 0x8700, 0x0aa3, 0x2000 }, - { 0x0700, 0x0aa2, 0x0000 }, - { 0x0700, 0x0aa4, 0x0000 }, - { 0x8700, 0x0aa7, 0x2000 }, - { 0x0700, 0x0aa6, 0x0000 }, - { 0x0700, 0x0aa8, 0x0000 }, - { 0x8700, 0x0ab3, 0x4000 }, - { 0x8700, 0x0aae, 0x3000 }, - { 0x8700, 0x0aac, 0x2000 }, - { 0x0700, 0x0aab, 0x0000 }, - { 0x0700, 0x0aad, 0x0000 }, - { 0x8700, 0x0ab0, 0x2000 }, - { 0x0700, 0x0aaf, 0x0000 }, - { 0x0700, 0x0ab2, 0x0000 }, - { 0x8700, 0x0ab8, 0x3000 }, - { 0x8700, 0x0ab6, 0x2000 }, - { 0x0700, 0x0ab5, 0x0000 }, - { 0x0700, 0x0ab7, 0x0000 }, - { 0x8c00, 0x0abc, 0x2000 }, - { 0x0700, 0x0ab9, 0x0000 }, - { 0x0700, 0x0abd, 0x0000 }, - { 0x8700, 0x0ae1, 0x5000 }, - { 0x8c00, 0x0ac7, 0x4000 }, - { 0x8c00, 0x0ac2, 0x3000 }, - { 0x8a00, 0x0ac0, 0x2000 }, - { 0x0a00, 0x0abf, 0x0000 }, - { 0x0c00, 0x0ac1, 0x0000 }, - { 0x8c00, 0x0ac4, 0x2000 }, - { 0x0c00, 0x0ac3, 0x0000 }, - { 0x0c00, 0x0ac5, 0x0000 }, - { 0x8a00, 0x0acc, 0x3000 }, - { 0x8a00, 0x0ac9, 0x2000 }, - { 0x0c00, 0x0ac8, 0x0000 }, - { 0x0a00, 0x0acb, 0x0000 }, - { 0x8700, 0x0ad0, 0x2000 }, - { 0x0c00, 0x0acd, 0x0000 }, - { 0x0700, 0x0ae0, 0x0000 }, - { 0x8d00, 0x0aeb, 0x4000 }, - { 0x8d00, 0x0ae7, 0x3000 }, - { 0x8c00, 0x0ae3, 0x2000 }, - { 0x0c00, 0x0ae2, 0x0000 }, - { 0x0d00, 0x0ae6, 0x0000 }, - { 0x8d00, 0x0ae9, 0x2000 }, - { 0x0d00, 0x0ae8, 0x0000 }, - { 0x0d00, 0x0aea, 0x0000 }, - { 0x8d00, 0x0aef, 0x3000 }, - { 0x8d00, 0x0aed, 0x2000 }, - { 0x0d00, 0x0aec, 0x0000 }, - { 0x0d00, 0x0aee, 0x0000 }, - { 0x8c00, 0x0b01, 0x2000 }, - { 0x1700, 0x0af1, 0x0000 }, - { 0x0a00, 0x0b02, 0x0000 }, - { 0x8700, 0x0b28, 0x6000 }, - { 0x8700, 0x0b18, 0x5000 }, - { 0x8700, 0x0b0c, 0x4000 }, - { 0x8700, 0x0b08, 0x3000 }, - { 0x8700, 0x0b06, 0x2000 }, - { 0x0700, 0x0b05, 0x0000 }, - { 0x0700, 0x0b07, 0x0000 }, - { 0x8700, 0x0b0a, 0x2000 }, - { 0x0700, 0x0b09, 0x0000 }, - { 0x0700, 0x0b0b, 0x0000 }, - { 0x8700, 0x0b14, 0x3000 }, - { 0x8700, 0x0b10, 0x2000 }, - { 0x0700, 0x0b0f, 0x0000 }, - { 0x0700, 0x0b13, 0x0000 }, - { 0x8700, 0x0b16, 0x2000 }, - { 0x0700, 0x0b15, 0x0000 }, - { 0x0700, 0x0b17, 0x0000 }, - { 0x8700, 0x0b20, 0x4000 }, - { 0x8700, 0x0b1c, 0x3000 }, - { 0x8700, 0x0b1a, 0x2000 }, - { 0x0700, 0x0b19, 0x0000 }, - { 0x0700, 0x0b1b, 0x0000 }, - { 0x8700, 0x0b1e, 0x2000 }, - { 0x0700, 0x0b1d, 0x0000 }, - { 0x0700, 0x0b1f, 0x0000 }, - { 0x8700, 0x0b24, 0x3000 }, - { 0x8700, 0x0b22, 0x2000 }, - { 0x0700, 0x0b21, 0x0000 }, - { 0x0700, 0x0b23, 0x0000 }, - { 0x8700, 0x0b26, 0x2000 }, - { 0x0700, 0x0b25, 0x0000 }, - { 0x0700, 0x0b27, 0x0000 }, - { 0x8700, 0x0b3d, 0x5000 }, - { 0x8700, 0x0b32, 0x4000 }, - { 0x8700, 0x0b2d, 0x3000 }, - { 0x8700, 0x0b2b, 0x2000 }, - { 0x0700, 0x0b2a, 0x0000 }, - { 0x0700, 0x0b2c, 0x0000 }, - { 0x8700, 0x0b2f, 0x2000 }, - { 0x0700, 0x0b2e, 0x0000 }, - { 0x0700, 0x0b30, 0x0000 }, - { 0x8700, 0x0b37, 0x3000 }, - { 0x8700, 0x0b35, 0x2000 }, - { 0x0700, 0x0b33, 0x0000 }, - { 0x0700, 0x0b36, 0x0000 }, - { 0x8700, 0x0b39, 0x2000 }, - { 0x0700, 0x0b38, 0x0000 }, - { 0x0c00, 0x0b3c, 0x0000 }, - { 0x8a00, 0x0b48, 0x4000 }, - { 0x8c00, 0x0b41, 0x3000 }, - { 0x8c00, 0x0b3f, 0x2000 }, - { 0x0a00, 0x0b3e, 0x0000 }, - { 0x0a00, 0x0b40, 0x0000 }, - { 0x8c00, 0x0b43, 0x2000 }, - { 0x0c00, 0x0b42, 0x0000 }, - { 0x0a00, 0x0b47, 0x0000 }, - { 0x8c00, 0x0b56, 0x3000 }, - { 0x8a00, 0x0b4c, 0x2000 }, - { 0x0a00, 0x0b4b, 0x0000 }, - { 0x0c00, 0x0b4d, 0x0000 }, - { 0x8700, 0x0b5c, 0x2000 }, - { 0x0a00, 0x0b57, 0x0000 }, - { 0x0700, 0x0b5d, 0x0000 }, - { 0x8d00, 0x0be7, 0x7000 }, - { 0x8700, 0x0b9c, 0x6000 }, - { 0x8700, 0x0b83, 0x5000 }, - { 0x8d00, 0x0b6b, 0x4000 }, - { 0x8d00, 0x0b67, 0x3000 }, - { 0x8700, 0x0b61, 0x2000 }, - { 0x0700, 0x0b60, 0x0000 }, - { 0x0d00, 0x0b66, 0x0000 }, - { 0x8d00, 0x0b69, 0x2000 }, - { 0x0d00, 0x0b68, 0x0000 }, - { 0x0d00, 0x0b6a, 0x0000 }, - { 0x8d00, 0x0b6f, 0x3000 }, - { 0x8d00, 0x0b6d, 0x2000 }, - { 0x0d00, 0x0b6c, 0x0000 }, - { 0x0d00, 0x0b6e, 0x0000 }, - { 0x8700, 0x0b71, 0x2000 }, - { 0x1a00, 0x0b70, 0x0000 }, - { 0x0c00, 0x0b82, 0x0000 }, - { 0x8700, 0x0b8f, 0x4000 }, - { 0x8700, 0x0b88, 0x3000 }, - { 0x8700, 0x0b86, 0x2000 }, - { 0x0700, 0x0b85, 0x0000 }, - { 0x0700, 0x0b87, 0x0000 }, - { 0x8700, 0x0b8a, 0x2000 }, - { 0x0700, 0x0b89, 0x0000 }, - { 0x0700, 0x0b8e, 0x0000 }, - { 0x8700, 0x0b94, 0x3000 }, - { 0x8700, 0x0b92, 0x2000 }, - { 0x0700, 0x0b90, 0x0000 }, - { 0x0700, 0x0b93, 0x0000 }, - { 0x8700, 0x0b99, 0x2000 }, - { 0x0700, 0x0b95, 0x0000 }, - { 0x0700, 0x0b9a, 0x0000 }, - { 0x8700, 0x0bb7, 0x5000 }, - { 0x8700, 0x0bae, 0x4000 }, - { 0x8700, 0x0ba4, 0x3000 }, - { 0x8700, 0x0b9f, 0x2000 }, - { 0x0700, 0x0b9e, 0x0000 }, - { 0x0700, 0x0ba3, 0x0000 }, - { 0x8700, 0x0ba9, 0x2000 }, - { 0x0700, 0x0ba8, 0x0000 }, - { 0x0700, 0x0baa, 0x0000 }, - { 0x8700, 0x0bb2, 0x3000 }, - { 0x8700, 0x0bb0, 0x2000 }, - { 0x0700, 0x0baf, 0x0000 }, - { 0x0700, 0x0bb1, 0x0000 }, - { 0x8700, 0x0bb4, 0x2000 }, - { 0x0700, 0x0bb3, 0x0000 }, - { 0x0700, 0x0bb5, 0x0000 }, - { 0x8a00, 0x0bc6, 0x4000 }, - { 0x8a00, 0x0bbf, 0x3000 }, - { 0x8700, 0x0bb9, 0x2000 }, - { 0x0700, 0x0bb8, 0x0000 }, - { 0x0a00, 0x0bbe, 0x0000 }, - { 0x8a00, 0x0bc1, 0x2000 }, - { 0x0c00, 0x0bc0, 0x0000 }, - { 0x0a00, 0x0bc2, 0x0000 }, - { 0x8a00, 0x0bcb, 0x3000 }, - { 0x8a00, 0x0bc8, 0x2000 }, - { 0x0a00, 0x0bc7, 0x0000 }, - { 0x0a00, 0x0bca, 0x0000 }, - { 0x8c00, 0x0bcd, 0x2000 }, - { 0x0a00, 0x0bcc, 0x0000 }, - { 0x0a00, 0x0bd7, 0x0000 }, - { 0x8700, 0x0c0f, 0x6000 }, - { 0x9a00, 0x0bf7, 0x5000 }, - { 0x8d00, 0x0bef, 0x4000 }, - { 0x8d00, 0x0beb, 0x3000 }, - { 0x8d00, 0x0be9, 0x2000 }, - { 0x0d00, 0x0be8, 0x0000 }, - { 0x0d00, 0x0bea, 0x0000 }, - { 0x8d00, 0x0bed, 0x2000 }, - { 0x0d00, 0x0bec, 0x0000 }, - { 0x0d00, 0x0bee, 0x0000 }, - { 0x9a00, 0x0bf3, 0x3000 }, - { 0x8f00, 0x0bf1, 0x2000 }, - { 0x0f00, 0x0bf0, 0x0000 }, - { 0x0f00, 0x0bf2, 0x0000 }, - { 0x9a00, 0x0bf5, 0x2000 }, - { 0x1a00, 0x0bf4, 0x0000 }, - { 0x1a00, 0x0bf6, 0x0000 }, - { 0x8700, 0x0c06, 0x4000 }, - { 0x8a00, 0x0c01, 0x3000 }, - { 0x9700, 0x0bf9, 0x2000 }, - { 0x1a00, 0x0bf8, 0x0000 }, - { 0x1a00, 0x0bfa, 0x0000 }, - { 0x8a00, 0x0c03, 0x2000 }, - { 0x0a00, 0x0c02, 0x0000 }, - { 0x0700, 0x0c05, 0x0000 }, - { 0x8700, 0x0c0a, 0x3000 }, - { 0x8700, 0x0c08, 0x2000 }, - { 0x0700, 0x0c07, 0x0000 }, - { 0x0700, 0x0c09, 0x0000 }, - { 0x8700, 0x0c0c, 0x2000 }, - { 0x0700, 0x0c0b, 0x0000 }, - { 0x0700, 0x0c0e, 0x0000 }, - { 0x8700, 0x0c20, 0x5000 }, - { 0x8700, 0x0c18, 0x4000 }, - { 0x8700, 0x0c14, 0x3000 }, - { 0x8700, 0x0c12, 0x2000 }, - { 0x0700, 0x0c10, 0x0000 }, - { 0x0700, 0x0c13, 0x0000 }, - { 0x8700, 0x0c16, 0x2000 }, - { 0x0700, 0x0c15, 0x0000 }, - { 0x0700, 0x0c17, 0x0000 }, - { 0x8700, 0x0c1c, 0x3000 }, - { 0x8700, 0x0c1a, 0x2000 }, - { 0x0700, 0x0c19, 0x0000 }, - { 0x0700, 0x0c1b, 0x0000 }, - { 0x8700, 0x0c1e, 0x2000 }, - { 0x0700, 0x0c1d, 0x0000 }, - { 0x0700, 0x0c1f, 0x0000 }, - { 0x8700, 0x0c28, 0x4000 }, - { 0x8700, 0x0c24, 0x3000 }, - { 0x8700, 0x0c22, 0x2000 }, - { 0x0700, 0x0c21, 0x0000 }, - { 0x0700, 0x0c23, 0x0000 }, - { 0x8700, 0x0c26, 0x2000 }, - { 0x0700, 0x0c25, 0x0000 }, - { 0x0700, 0x0c27, 0x0000 }, - { 0x8700, 0x0c2d, 0x3000 }, - { 0x8700, 0x0c2b, 0x2000 }, - { 0x0700, 0x0c2a, 0x0000 }, - { 0x0700, 0x0c2c, 0x0000 }, - { 0x8700, 0x0c2f, 0x2000 }, - { 0x0700, 0x0c2e, 0x0000 }, - { 0x0700, 0x0c30, 0x0000 }, - { 0x8700, 0x0d0e, 0x8000 }, - { 0x8700, 0x0ca1, 0x7000 }, - { 0x8d00, 0x0c6c, 0x6000 }, - { 0x8c00, 0x0c47, 0x5000 }, - { 0x8c00, 0x0c3e, 0x4000 }, - { 0x8700, 0x0c36, 0x3000 }, - { 0x8700, 0x0c33, 0x2000 }, - { 0x0700, 0x0c32, 0x0000 }, - { 0x0700, 0x0c35, 0x0000 }, - { 0x8700, 0x0c38, 0x2000 }, - { 0x0700, 0x0c37, 0x0000 }, - { 0x0700, 0x0c39, 0x0000 }, - { 0x8a00, 0x0c42, 0x3000 }, - { 0x8c00, 0x0c40, 0x2000 }, - { 0x0c00, 0x0c3f, 0x0000 }, - { 0x0a00, 0x0c41, 0x0000 }, - { 0x8a00, 0x0c44, 0x2000 }, - { 0x0a00, 0x0c43, 0x0000 }, - { 0x0c00, 0x0c46, 0x0000 }, - { 0x8700, 0x0c60, 0x4000 }, - { 0x8c00, 0x0c4c, 0x3000 }, - { 0x8c00, 0x0c4a, 0x2000 }, - { 0x0c00, 0x0c48, 0x0000 }, - { 0x0c00, 0x0c4b, 0x0000 }, - { 0x8c00, 0x0c55, 0x2000 }, - { 0x0c00, 0x0c4d, 0x0000 }, - { 0x0c00, 0x0c56, 0x0000 }, - { 0x8d00, 0x0c68, 0x3000 }, - { 0x8d00, 0x0c66, 0x2000 }, - { 0x0700, 0x0c61, 0x0000 }, - { 0x0d00, 0x0c67, 0x0000 }, - { 0x8d00, 0x0c6a, 0x2000 }, - { 0x0d00, 0x0c69, 0x0000 }, - { 0x0d00, 0x0c6b, 0x0000 }, - { 0x8700, 0x0c90, 0x5000 }, - { 0x8700, 0x0c87, 0x4000 }, - { 0x8a00, 0x0c82, 0x3000 }, - { 0x8d00, 0x0c6e, 0x2000 }, - { 0x0d00, 0x0c6d, 0x0000 }, - { 0x0d00, 0x0c6f, 0x0000 }, - { 0x8700, 0x0c85, 0x2000 }, - { 0x0a00, 0x0c83, 0x0000 }, - { 0x0700, 0x0c86, 0x0000 }, - { 0x8700, 0x0c8b, 0x3000 }, - { 0x8700, 0x0c89, 0x2000 }, - { 0x0700, 0x0c88, 0x0000 }, - { 0x0700, 0x0c8a, 0x0000 }, - { 0x8700, 0x0c8e, 0x2000 }, - { 0x0700, 0x0c8c, 0x0000 }, - { 0x0700, 0x0c8f, 0x0000 }, - { 0x8700, 0x0c99, 0x4000 }, - { 0x8700, 0x0c95, 0x3000 }, - { 0x8700, 0x0c93, 0x2000 }, - { 0x0700, 0x0c92, 0x0000 }, - { 0x0700, 0x0c94, 0x0000 }, - { 0x8700, 0x0c97, 0x2000 }, - { 0x0700, 0x0c96, 0x0000 }, - { 0x0700, 0x0c98, 0x0000 }, - { 0x8700, 0x0c9d, 0x3000 }, - { 0x8700, 0x0c9b, 0x2000 }, - { 0x0700, 0x0c9a, 0x0000 }, - { 0x0700, 0x0c9c, 0x0000 }, - { 0x8700, 0x0c9f, 0x2000 }, - { 0x0700, 0x0c9e, 0x0000 }, - { 0x0700, 0x0ca0, 0x0000 }, - { 0x8c00, 0x0cc6, 0x6000 }, - { 0x8700, 0x0cb2, 0x5000 }, - { 0x8700, 0x0caa, 0x4000 }, - { 0x8700, 0x0ca5, 0x3000 }, - { 0x8700, 0x0ca3, 0x2000 }, - { 0x0700, 0x0ca2, 0x0000 }, - { 0x0700, 0x0ca4, 0x0000 }, - { 0x8700, 0x0ca7, 0x2000 }, - { 0x0700, 0x0ca6, 0x0000 }, - { 0x0700, 0x0ca8, 0x0000 }, - { 0x8700, 0x0cae, 0x3000 }, - { 0x8700, 0x0cac, 0x2000 }, - { 0x0700, 0x0cab, 0x0000 }, - { 0x0700, 0x0cad, 0x0000 }, - { 0x8700, 0x0cb0, 0x2000 }, - { 0x0700, 0x0caf, 0x0000 }, - { 0x0700, 0x0cb1, 0x0000 }, - { 0x8700, 0x0cbd, 0x4000 }, - { 0x8700, 0x0cb7, 0x3000 }, - { 0x8700, 0x0cb5, 0x2000 }, - { 0x0700, 0x0cb3, 0x0000 }, - { 0x0700, 0x0cb6, 0x0000 }, - { 0x8700, 0x0cb9, 0x2000 }, - { 0x0700, 0x0cb8, 0x0000 }, - { 0x0c00, 0x0cbc, 0x0000 }, - { 0x8a00, 0x0cc1, 0x3000 }, - { 0x8c00, 0x0cbf, 0x2000 }, - { 0x0a00, 0x0cbe, 0x0000 }, - { 0x0a00, 0x0cc0, 0x0000 }, - { 0x8a00, 0x0cc3, 0x2000 }, - { 0x0a00, 0x0cc2, 0x0000 }, - { 0x0a00, 0x0cc4, 0x0000 }, - { 0x8d00, 0x0cea, 0x5000 }, - { 0x8a00, 0x0cd6, 0x4000 }, - { 0x8a00, 0x0ccb, 0x3000 }, - { 0x8a00, 0x0cc8, 0x2000 }, - { 0x0a00, 0x0cc7, 0x0000 }, - { 0x0a00, 0x0cca, 0x0000 }, - { 0x8c00, 0x0ccd, 0x2000 }, - { 0x0c00, 0x0ccc, 0x0000 }, - { 0x0a00, 0x0cd5, 0x0000 }, - { 0x8d00, 0x0ce6, 0x3000 }, - { 0x8700, 0x0ce0, 0x2000 }, - { 0x0700, 0x0cde, 0x0000 }, - { 0x0700, 0x0ce1, 0x0000 }, - { 0x8d00, 0x0ce8, 0x2000 }, - { 0x0d00, 0x0ce7, 0x0000 }, - { 0x0d00, 0x0ce9, 0x0000 }, - { 0x8700, 0x0d05, 0x4000 }, - { 0x8d00, 0x0cee, 0x3000 }, - { 0x8d00, 0x0cec, 0x2000 }, - { 0x0d00, 0x0ceb, 0x0000 }, - { 0x0d00, 0x0ced, 0x0000 }, - { 0x8a00, 0x0d02, 0x2000 }, - { 0x0d00, 0x0cef, 0x0000 }, - { 0x0a00, 0x0d03, 0x0000 }, - { 0x8700, 0x0d09, 0x3000 }, - { 0x8700, 0x0d07, 0x2000 }, - { 0x0700, 0x0d06, 0x0000 }, - { 0x0700, 0x0d08, 0x0000 }, - { 0x8700, 0x0d0b, 0x2000 }, - { 0x0700, 0x0d0a, 0x0000 }, - { 0x0700, 0x0d0c, 0x0000 }, - { 0x8d00, 0x0d6c, 0x7000 }, - { 0x8700, 0x0d30, 0x6000 }, - { 0x8700, 0x0d1f, 0x5000 }, - { 0x8700, 0x0d17, 0x4000 }, - { 0x8700, 0x0d13, 0x3000 }, - { 0x8700, 0x0d10, 0x2000 }, - { 0x0700, 0x0d0f, 0x0000 }, - { 0x0700, 0x0d12, 0x0000 }, - { 0x8700, 0x0d15, 0x2000 }, - { 0x0700, 0x0d14, 0x0000 }, - { 0x0700, 0x0d16, 0x0000 }, - { 0x8700, 0x0d1b, 0x3000 }, - { 0x8700, 0x0d19, 0x2000 }, - { 0x0700, 0x0d18, 0x0000 }, - { 0x0700, 0x0d1a, 0x0000 }, - { 0x8700, 0x0d1d, 0x2000 }, - { 0x0700, 0x0d1c, 0x0000 }, - { 0x0700, 0x0d1e, 0x0000 }, - { 0x8700, 0x0d27, 0x4000 }, - { 0x8700, 0x0d23, 0x3000 }, - { 0x8700, 0x0d21, 0x2000 }, - { 0x0700, 0x0d20, 0x0000 }, - { 0x0700, 0x0d22, 0x0000 }, - { 0x8700, 0x0d25, 0x2000 }, - { 0x0700, 0x0d24, 0x0000 }, - { 0x0700, 0x0d26, 0x0000 }, - { 0x8700, 0x0d2c, 0x3000 }, - { 0x8700, 0x0d2a, 0x2000 }, - { 0x0700, 0x0d28, 0x0000 }, - { 0x0700, 0x0d2b, 0x0000 }, - { 0x8700, 0x0d2e, 0x2000 }, - { 0x0700, 0x0d2d, 0x0000 }, - { 0x0700, 0x0d2f, 0x0000 }, - { 0x8a00, 0x0d46, 0x5000 }, - { 0x8700, 0x0d38, 0x4000 }, - { 0x8700, 0x0d34, 0x3000 }, - { 0x8700, 0x0d32, 0x2000 }, - { 0x0700, 0x0d31, 0x0000 }, - { 0x0700, 0x0d33, 0x0000 }, - { 0x8700, 0x0d36, 0x2000 }, - { 0x0700, 0x0d35, 0x0000 }, - { 0x0700, 0x0d37, 0x0000 }, - { 0x8a00, 0x0d40, 0x3000 }, - { 0x8a00, 0x0d3e, 0x2000 }, - { 0x0700, 0x0d39, 0x0000 }, - { 0x0a00, 0x0d3f, 0x0000 }, - { 0x8c00, 0x0d42, 0x2000 }, - { 0x0c00, 0x0d41, 0x0000 }, - { 0x0c00, 0x0d43, 0x0000 }, - { 0x8700, 0x0d60, 0x4000 }, - { 0x8a00, 0x0d4b, 0x3000 }, - { 0x8a00, 0x0d48, 0x2000 }, - { 0x0a00, 0x0d47, 0x0000 }, - { 0x0a00, 0x0d4a, 0x0000 }, - { 0x8c00, 0x0d4d, 0x2000 }, - { 0x0a00, 0x0d4c, 0x0000 }, - { 0x0a00, 0x0d57, 0x0000 }, - { 0x8d00, 0x0d68, 0x3000 }, - { 0x8d00, 0x0d66, 0x2000 }, - { 0x0700, 0x0d61, 0x0000 }, - { 0x0d00, 0x0d67, 0x0000 }, - { 0x8d00, 0x0d6a, 0x2000 }, - { 0x0d00, 0x0d69, 0x0000 }, - { 0x0d00, 0x0d6b, 0x0000 }, - { 0x8700, 0x0da2, 0x6000 }, - { 0x8700, 0x0d8f, 0x5000 }, - { 0x8700, 0x0d87, 0x4000 }, - { 0x8a00, 0x0d82, 0x3000 }, - { 0x8d00, 0x0d6e, 0x2000 }, - { 0x0d00, 0x0d6d, 0x0000 }, - { 0x0d00, 0x0d6f, 0x0000 }, - { 0x8700, 0x0d85, 0x2000 }, - { 0x0a00, 0x0d83, 0x0000 }, - { 0x0700, 0x0d86, 0x0000 }, - { 0x8700, 0x0d8b, 0x3000 }, - { 0x8700, 0x0d89, 0x2000 }, - { 0x0700, 0x0d88, 0x0000 }, - { 0x0700, 0x0d8a, 0x0000 }, - { 0x8700, 0x0d8d, 0x2000 }, - { 0x0700, 0x0d8c, 0x0000 }, - { 0x0700, 0x0d8e, 0x0000 }, - { 0x8700, 0x0d9a, 0x4000 }, - { 0x8700, 0x0d93, 0x3000 }, - { 0x8700, 0x0d91, 0x2000 }, - { 0x0700, 0x0d90, 0x0000 }, - { 0x0700, 0x0d92, 0x0000 }, - { 0x8700, 0x0d95, 0x2000 }, - { 0x0700, 0x0d94, 0x0000 }, - { 0x0700, 0x0d96, 0x0000 }, - { 0x8700, 0x0d9e, 0x3000 }, - { 0x8700, 0x0d9c, 0x2000 }, - { 0x0700, 0x0d9b, 0x0000 }, - { 0x0700, 0x0d9d, 0x0000 }, - { 0x8700, 0x0da0, 0x2000 }, - { 0x0700, 0x0d9f, 0x0000 }, - { 0x0700, 0x0da1, 0x0000 }, - { 0x8700, 0x0db3, 0x5000 }, - { 0x8700, 0x0daa, 0x4000 }, - { 0x8700, 0x0da6, 0x3000 }, - { 0x8700, 0x0da4, 0x2000 }, - { 0x0700, 0x0da3, 0x0000 }, - { 0x0700, 0x0da5, 0x0000 }, - { 0x8700, 0x0da8, 0x2000 }, - { 0x0700, 0x0da7, 0x0000 }, - { 0x0700, 0x0da9, 0x0000 }, - { 0x8700, 0x0dae, 0x3000 }, - { 0x8700, 0x0dac, 0x2000 }, - { 0x0700, 0x0dab, 0x0000 }, - { 0x0700, 0x0dad, 0x0000 }, - { 0x8700, 0x0db0, 0x2000 }, - { 0x0700, 0x0daf, 0x0000 }, - { 0x0700, 0x0db1, 0x0000 }, - { 0x8700, 0x0dbb, 0x4000 }, - { 0x8700, 0x0db7, 0x3000 }, - { 0x8700, 0x0db5, 0x2000 }, - { 0x0700, 0x0db4, 0x0000 }, - { 0x0700, 0x0db6, 0x0000 }, - { 0x8700, 0x0db9, 0x2000 }, - { 0x0700, 0x0db8, 0x0000 }, - { 0x0700, 0x0dba, 0x0000 }, - { 0x8700, 0x0dc2, 0x3000 }, - { 0x8700, 0x0dc0, 0x2000 }, - { 0x0700, 0x0dbd, 0x0000 }, - { 0x0700, 0x0dc1, 0x0000 }, - { 0x8700, 0x0dc4, 0x2000 }, - { 0x0700, 0x0dc3, 0x0000 }, - { 0x0700, 0x0dc5, 0x0000 }, - { 0x8700, 0x0f55, 0x9000 }, - { 0x8700, 0x0ea5, 0x8000 }, - { 0x8700, 0x0e2d, 0x7000 }, - { 0x8700, 0x0e0d, 0x6000 }, - { 0x8a00, 0x0ddf, 0x5000 }, - { 0x8c00, 0x0dd6, 0x4000 }, - { 0x8a00, 0x0dd1, 0x3000 }, - { 0x8a00, 0x0dcf, 0x2000 }, - { 0x0c00, 0x0dca, 0x0000 }, - { 0x0a00, 0x0dd0, 0x0000 }, - { 0x8c00, 0x0dd3, 0x2000 }, - { 0x0c00, 0x0dd2, 0x0000 }, - { 0x0c00, 0x0dd4, 0x0000 }, - { 0x8a00, 0x0ddb, 0x3000 }, - { 0x8a00, 0x0dd9, 0x2000 }, - { 0x0a00, 0x0dd8, 0x0000 }, - { 0x0a00, 0x0dda, 0x0000 }, - { 0x8a00, 0x0ddd, 0x2000 }, - { 0x0a00, 0x0ddc, 0x0000 }, - { 0x0a00, 0x0dde, 0x0000 }, - { 0x8700, 0x0e05, 0x4000 }, - { 0x8700, 0x0e01, 0x3000 }, - { 0x8a00, 0x0df3, 0x2000 }, - { 0x0a00, 0x0df2, 0x0000 }, - { 0x1500, 0x0df4, 0x0000 }, - { 0x8700, 0x0e03, 0x2000 }, - { 0x0700, 0x0e02, 0x0000 }, - { 0x0700, 0x0e04, 0x0000 }, - { 0x8700, 0x0e09, 0x3000 }, - { 0x8700, 0x0e07, 0x2000 }, - { 0x0700, 0x0e06, 0x0000 }, - { 0x0700, 0x0e08, 0x0000 }, - { 0x8700, 0x0e0b, 0x2000 }, - { 0x0700, 0x0e0a, 0x0000 }, - { 0x0700, 0x0e0c, 0x0000 }, - { 0x8700, 0x0e1d, 0x5000 }, - { 0x8700, 0x0e15, 0x4000 }, - { 0x8700, 0x0e11, 0x3000 }, - { 0x8700, 0x0e0f, 0x2000 }, - { 0x0700, 0x0e0e, 0x0000 }, - { 0x0700, 0x0e10, 0x0000 }, - { 0x8700, 0x0e13, 0x2000 }, - { 0x0700, 0x0e12, 0x0000 }, - { 0x0700, 0x0e14, 0x0000 }, - { 0x8700, 0x0e19, 0x3000 }, - { 0x8700, 0x0e17, 0x2000 }, - { 0x0700, 0x0e16, 0x0000 }, - { 0x0700, 0x0e18, 0x0000 }, - { 0x8700, 0x0e1b, 0x2000 }, - { 0x0700, 0x0e1a, 0x0000 }, - { 0x0700, 0x0e1c, 0x0000 }, - { 0x8700, 0x0e25, 0x4000 }, - { 0x8700, 0x0e21, 0x3000 }, - { 0x8700, 0x0e1f, 0x2000 }, - { 0x0700, 0x0e1e, 0x0000 }, - { 0x0700, 0x0e20, 0x0000 }, - { 0x8700, 0x0e23, 0x2000 }, - { 0x0700, 0x0e22, 0x0000 }, - { 0x0700, 0x0e24, 0x0000 }, - { 0x8700, 0x0e29, 0x3000 }, - { 0x8700, 0x0e27, 0x2000 }, - { 0x0700, 0x0e26, 0x0000 }, - { 0x0700, 0x0e28, 0x0000 }, - { 0x8700, 0x0e2b, 0x2000 }, - { 0x0700, 0x0e2a, 0x0000 }, - { 0x0700, 0x0e2c, 0x0000 }, - { 0x8d00, 0x0e51, 0x6000 }, - { 0x8700, 0x0e41, 0x5000 }, - { 0x8c00, 0x0e35, 0x4000 }, - { 0x8c00, 0x0e31, 0x3000 }, - { 0x8700, 0x0e2f, 0x2000 }, - { 0x0700, 0x0e2e, 0x0000 }, - { 0x0700, 0x0e30, 0x0000 }, - { 0x8700, 0x0e33, 0x2000 }, - { 0x0700, 0x0e32, 0x0000 }, - { 0x0c00, 0x0e34, 0x0000 }, - { 0x8c00, 0x0e39, 0x3000 }, - { 0x8c00, 0x0e37, 0x2000 }, - { 0x0c00, 0x0e36, 0x0000 }, - { 0x0c00, 0x0e38, 0x0000 }, - { 0x9700, 0x0e3f, 0x2000 }, - { 0x0c00, 0x0e3a, 0x0000 }, - { 0x0700, 0x0e40, 0x0000 }, - { 0x8c00, 0x0e49, 0x4000 }, - { 0x8700, 0x0e45, 0x3000 }, - { 0x8700, 0x0e43, 0x2000 }, - { 0x0700, 0x0e42, 0x0000 }, - { 0x0700, 0x0e44, 0x0000 }, - { 0x8c00, 0x0e47, 0x2000 }, - { 0x0600, 0x0e46, 0x0000 }, - { 0x0c00, 0x0e48, 0x0000 }, - { 0x8c00, 0x0e4d, 0x3000 }, - { 0x8c00, 0x0e4b, 0x2000 }, - { 0x0c00, 0x0e4a, 0x0000 }, - { 0x0c00, 0x0e4c, 0x0000 }, - { 0x9500, 0x0e4f, 0x2000 }, - { 0x0c00, 0x0e4e, 0x0000 }, - { 0x0d00, 0x0e50, 0x0000 }, - { 0x8700, 0x0e8a, 0x5000 }, - { 0x8d00, 0x0e59, 0x4000 }, - { 0x8d00, 0x0e55, 0x3000 }, - { 0x8d00, 0x0e53, 0x2000 }, - { 0x0d00, 0x0e52, 0x0000 }, - { 0x0d00, 0x0e54, 0x0000 }, - { 0x8d00, 0x0e57, 0x2000 }, - { 0x0d00, 0x0e56, 0x0000 }, - { 0x0d00, 0x0e58, 0x0000 }, - { 0x8700, 0x0e82, 0x3000 }, - { 0x9500, 0x0e5b, 0x2000 }, - { 0x1500, 0x0e5a, 0x0000 }, - { 0x0700, 0x0e81, 0x0000 }, - { 0x8700, 0x0e87, 0x2000 }, - { 0x0700, 0x0e84, 0x0000 }, - { 0x0700, 0x0e88, 0x0000 }, - { 0x8700, 0x0e9b, 0x4000 }, - { 0x8700, 0x0e96, 0x3000 }, - { 0x8700, 0x0e94, 0x2000 }, - { 0x0700, 0x0e8d, 0x0000 }, - { 0x0700, 0x0e95, 0x0000 }, - { 0x8700, 0x0e99, 0x2000 }, - { 0x0700, 0x0e97, 0x0000 }, - { 0x0700, 0x0e9a, 0x0000 }, - { 0x8700, 0x0e9f, 0x3000 }, - { 0x8700, 0x0e9d, 0x2000 }, - { 0x0700, 0x0e9c, 0x0000 }, - { 0x0700, 0x0e9e, 0x0000 }, - { 0x8700, 0x0ea2, 0x2000 }, - { 0x0700, 0x0ea1, 0x0000 }, - { 0x0700, 0x0ea3, 0x0000 }, - { 0x9a00, 0x0f14, 0x7000 }, - { 0x8d00, 0x0ed0, 0x6000 }, - { 0x8c00, 0x0eb9, 0x5000 }, - { 0x8c00, 0x0eb1, 0x4000 }, - { 0x8700, 0x0ead, 0x3000 }, - { 0x8700, 0x0eaa, 0x2000 }, - { 0x0700, 0x0ea7, 0x0000 }, - { 0x0700, 0x0eab, 0x0000 }, - { 0x8700, 0x0eaf, 0x2000 }, - { 0x0700, 0x0eae, 0x0000 }, - { 0x0700, 0x0eb0, 0x0000 }, - { 0x8c00, 0x0eb5, 0x3000 }, - { 0x8700, 0x0eb3, 0x2000 }, - { 0x0700, 0x0eb2, 0x0000 }, - { 0x0c00, 0x0eb4, 0x0000 }, - { 0x8c00, 0x0eb7, 0x2000 }, - { 0x0c00, 0x0eb6, 0x0000 }, - { 0x0c00, 0x0eb8, 0x0000 }, - { 0x8700, 0x0ec4, 0x4000 }, - { 0x8700, 0x0ec0, 0x3000 }, - { 0x8c00, 0x0ebc, 0x2000 }, - { 0x0c00, 0x0ebb, 0x0000 }, - { 0x0700, 0x0ebd, 0x0000 }, - { 0x8700, 0x0ec2, 0x2000 }, - { 0x0700, 0x0ec1, 0x0000 }, - { 0x0700, 0x0ec3, 0x0000 }, - { 0x8c00, 0x0eca, 0x3000 }, - { 0x8c00, 0x0ec8, 0x2000 }, - { 0x0600, 0x0ec6, 0x0000 }, - { 0x0c00, 0x0ec9, 0x0000 }, - { 0x8c00, 0x0ecc, 0x2000 }, - { 0x0c00, 0x0ecb, 0x0000 }, - { 0x0c00, 0x0ecd, 0x0000 }, - { 0x9500, 0x0f04, 0x5000 }, - { 0x8d00, 0x0ed8, 0x4000 }, - { 0x8d00, 0x0ed4, 0x3000 }, - { 0x8d00, 0x0ed2, 0x2000 }, - { 0x0d00, 0x0ed1, 0x0000 }, - { 0x0d00, 0x0ed3, 0x0000 }, - { 0x8d00, 0x0ed6, 0x2000 }, - { 0x0d00, 0x0ed5, 0x0000 }, - { 0x0d00, 0x0ed7, 0x0000 }, - { 0x8700, 0x0f00, 0x3000 }, - { 0x8700, 0x0edc, 0x2000 }, - { 0x0d00, 0x0ed9, 0x0000 }, - { 0x0700, 0x0edd, 0x0000 }, - { 0x9a00, 0x0f02, 0x2000 }, - { 0x1a00, 0x0f01, 0x0000 }, - { 0x1a00, 0x0f03, 0x0000 }, - { 0x9500, 0x0f0c, 0x4000 }, - { 0x9500, 0x0f08, 0x3000 }, - { 0x9500, 0x0f06, 0x2000 }, - { 0x1500, 0x0f05, 0x0000 }, - { 0x1500, 0x0f07, 0x0000 }, - { 0x9500, 0x0f0a, 0x2000 }, - { 0x1500, 0x0f09, 0x0000 }, - { 0x1500, 0x0f0b, 0x0000 }, - { 0x9500, 0x0f10, 0x3000 }, - { 0x9500, 0x0f0e, 0x2000 }, - { 0x1500, 0x0f0d, 0x0000 }, - { 0x1500, 0x0f0f, 0x0000 }, - { 0x9500, 0x0f12, 0x2000 }, - { 0x1500, 0x0f11, 0x0000 }, - { 0x1a00, 0x0f13, 0x0000 }, - { 0x9a00, 0x0f34, 0x6000 }, - { 0x8d00, 0x0f24, 0x5000 }, - { 0x9a00, 0x0f1c, 0x4000 }, - { 0x8c00, 0x0f18, 0x3000 }, - { 0x9a00, 0x0f16, 0x2000 }, - { 0x1a00, 0x0f15, 0x0000 }, - { 0x1a00, 0x0f17, 0x0000 }, - { 0x9a00, 0x0f1a, 0x2000 }, - { 0x0c00, 0x0f19, 0x0000 }, - { 0x1a00, 0x0f1b, 0x0000 }, - { 0x8d00, 0x0f20, 0x3000 }, - { 0x9a00, 0x0f1e, 0x2000 }, - { 0x1a00, 0x0f1d, 0x0000 }, - { 0x1a00, 0x0f1f, 0x0000 }, - { 0x8d00, 0x0f22, 0x2000 }, - { 0x0d00, 0x0f21, 0x0000 }, - { 0x0d00, 0x0f23, 0x0000 }, - { 0x8f00, 0x0f2c, 0x4000 }, - { 0x8d00, 0x0f28, 0x3000 }, - { 0x8d00, 0x0f26, 0x2000 }, - { 0x0d00, 0x0f25, 0x0000 }, - { 0x0d00, 0x0f27, 0x0000 }, - { 0x8f00, 0x0f2a, 0x2000 }, - { 0x0d00, 0x0f29, 0x0000 }, - { 0x0f00, 0x0f2b, 0x0000 }, - { 0x8f00, 0x0f30, 0x3000 }, - { 0x8f00, 0x0f2e, 0x2000 }, - { 0x0f00, 0x0f2d, 0x0000 }, - { 0x0f00, 0x0f2f, 0x0000 }, - { 0x8f00, 0x0f32, 0x2000 }, - { 0x0f00, 0x0f31, 0x0000 }, - { 0x0f00, 0x0f33, 0x0000 }, - { 0x8700, 0x0f44, 0x5000 }, - { 0x9600, 0x0f3c, 0x4000 }, - { 0x9a00, 0x0f38, 0x3000 }, - { 0x9a00, 0x0f36, 0x2000 }, - { 0x0c00, 0x0f35, 0x0000 }, - { 0x0c00, 0x0f37, 0x0000 }, - { 0x9600, 0x0f3a, 0x2000 }, - { 0x0c00, 0x0f39, 0x0000 }, - { 0x1200, 0x0f3b, 0x0000 }, - { 0x8700, 0x0f40, 0x3000 }, - { 0x8a00, 0x0f3e, 0x2000 }, - { 0x1200, 0x0f3d, 0x0000 }, - { 0x0a00, 0x0f3f, 0x0000 }, - { 0x8700, 0x0f42, 0x2000 }, - { 0x0700, 0x0f41, 0x0000 }, - { 0x0700, 0x0f43, 0x0000 }, - { 0x8700, 0x0f4d, 0x4000 }, - { 0x8700, 0x0f49, 0x3000 }, - { 0x8700, 0x0f46, 0x2000 }, - { 0x0700, 0x0f45, 0x0000 }, - { 0x0700, 0x0f47, 0x0000 }, - { 0x8700, 0x0f4b, 0x2000 }, - { 0x0700, 0x0f4a, 0x0000 }, - { 0x0700, 0x0f4c, 0x0000 }, - { 0x8700, 0x0f51, 0x3000 }, - { 0x8700, 0x0f4f, 0x2000 }, - { 0x0700, 0x0f4e, 0x0000 }, - { 0x0700, 0x0f50, 0x0000 }, - { 0x8700, 0x0f53, 0x2000 }, - { 0x0700, 0x0f52, 0x0000 }, - { 0x0700, 0x0f54, 0x0000 }, - { 0x8700, 0x1013, 0x8000 }, - { 0x8c00, 0x0fa0, 0x7000 }, - { 0x8c00, 0x0f7b, 0x6000 }, - { 0x8700, 0x0f65, 0x5000 }, - { 0x8700, 0x0f5d, 0x4000 }, - { 0x8700, 0x0f59, 0x3000 }, - { 0x8700, 0x0f57, 0x2000 }, - { 0x0700, 0x0f56, 0x0000 }, - { 0x0700, 0x0f58, 0x0000 }, - { 0x8700, 0x0f5b, 0x2000 }, - { 0x0700, 0x0f5a, 0x0000 }, - { 0x0700, 0x0f5c, 0x0000 }, - { 0x8700, 0x0f61, 0x3000 }, - { 0x8700, 0x0f5f, 0x2000 }, - { 0x0700, 0x0f5e, 0x0000 }, - { 0x0700, 0x0f60, 0x0000 }, - { 0x8700, 0x0f63, 0x2000 }, - { 0x0700, 0x0f62, 0x0000 }, - { 0x0700, 0x0f64, 0x0000 }, - { 0x8c00, 0x0f73, 0x4000 }, - { 0x8700, 0x0f69, 0x3000 }, - { 0x8700, 0x0f67, 0x2000 }, - { 0x0700, 0x0f66, 0x0000 }, - { 0x0700, 0x0f68, 0x0000 }, - { 0x8c00, 0x0f71, 0x2000 }, - { 0x0700, 0x0f6a, 0x0000 }, - { 0x0c00, 0x0f72, 0x0000 }, - { 0x8c00, 0x0f77, 0x3000 }, - { 0x8c00, 0x0f75, 0x2000 }, - { 0x0c00, 0x0f74, 0x0000 }, - { 0x0c00, 0x0f76, 0x0000 }, - { 0x8c00, 0x0f79, 0x2000 }, - { 0x0c00, 0x0f78, 0x0000 }, - { 0x0c00, 0x0f7a, 0x0000 }, - { 0x8700, 0x0f8b, 0x5000 }, - { 0x8c00, 0x0f83, 0x4000 }, - { 0x8a00, 0x0f7f, 0x3000 }, - { 0x8c00, 0x0f7d, 0x2000 }, - { 0x0c00, 0x0f7c, 0x0000 }, - { 0x0c00, 0x0f7e, 0x0000 }, - { 0x8c00, 0x0f81, 0x2000 }, - { 0x0c00, 0x0f80, 0x0000 }, - { 0x0c00, 0x0f82, 0x0000 }, - { 0x8c00, 0x0f87, 0x3000 }, - { 0x9500, 0x0f85, 0x2000 }, - { 0x0c00, 0x0f84, 0x0000 }, - { 0x0c00, 0x0f86, 0x0000 }, - { 0x8700, 0x0f89, 0x2000 }, - { 0x0700, 0x0f88, 0x0000 }, - { 0x0700, 0x0f8a, 0x0000 }, - { 0x8c00, 0x0f97, 0x4000 }, - { 0x8c00, 0x0f93, 0x3000 }, - { 0x8c00, 0x0f91, 0x2000 }, - { 0x0c00, 0x0f90, 0x0000 }, - { 0x0c00, 0x0f92, 0x0000 }, - { 0x8c00, 0x0f95, 0x2000 }, - { 0x0c00, 0x0f94, 0x0000 }, - { 0x0c00, 0x0f96, 0x0000 }, - { 0x8c00, 0x0f9c, 0x3000 }, - { 0x8c00, 0x0f9a, 0x2000 }, - { 0x0c00, 0x0f99, 0x0000 }, - { 0x0c00, 0x0f9b, 0x0000 }, - { 0x8c00, 0x0f9e, 0x2000 }, - { 0x0c00, 0x0f9d, 0x0000 }, - { 0x0c00, 0x0f9f, 0x0000 }, - { 0x9a00, 0x0fc1, 0x6000 }, - { 0x8c00, 0x0fb0, 0x5000 }, - { 0x8c00, 0x0fa8, 0x4000 }, - { 0x8c00, 0x0fa4, 0x3000 }, - { 0x8c00, 0x0fa2, 0x2000 }, - { 0x0c00, 0x0fa1, 0x0000 }, - { 0x0c00, 0x0fa3, 0x0000 }, - { 0x8c00, 0x0fa6, 0x2000 }, - { 0x0c00, 0x0fa5, 0x0000 }, - { 0x0c00, 0x0fa7, 0x0000 }, - { 0x8c00, 0x0fac, 0x3000 }, - { 0x8c00, 0x0faa, 0x2000 }, - { 0x0c00, 0x0fa9, 0x0000 }, - { 0x0c00, 0x0fab, 0x0000 }, - { 0x8c00, 0x0fae, 0x2000 }, - { 0x0c00, 0x0fad, 0x0000 }, - { 0x0c00, 0x0faf, 0x0000 }, - { 0x8c00, 0x0fb8, 0x4000 }, - { 0x8c00, 0x0fb4, 0x3000 }, - { 0x8c00, 0x0fb2, 0x2000 }, - { 0x0c00, 0x0fb1, 0x0000 }, - { 0x0c00, 0x0fb3, 0x0000 }, - { 0x8c00, 0x0fb6, 0x2000 }, - { 0x0c00, 0x0fb5, 0x0000 }, - { 0x0c00, 0x0fb7, 0x0000 }, - { 0x8c00, 0x0fbc, 0x3000 }, - { 0x8c00, 0x0fba, 0x2000 }, - { 0x0c00, 0x0fb9, 0x0000 }, - { 0x0c00, 0x0fbb, 0x0000 }, - { 0x9a00, 0x0fbf, 0x2000 }, - { 0x1a00, 0x0fbe, 0x0000 }, - { 0x1a00, 0x0fc0, 0x0000 }, - { 0x8700, 0x1003, 0x5000 }, - { 0x9a00, 0x0fc9, 0x4000 }, - { 0x9a00, 0x0fc5, 0x3000 }, - { 0x9a00, 0x0fc3, 0x2000 }, - { 0x1a00, 0x0fc2, 0x0000 }, - { 0x1a00, 0x0fc4, 0x0000 }, - { 0x9a00, 0x0fc7, 0x2000 }, - { 0x0c00, 0x0fc6, 0x0000 }, - { 0x1a00, 0x0fc8, 0x0000 }, - { 0x9a00, 0x0fcf, 0x3000 }, - { 0x9a00, 0x0fcb, 0x2000 }, - { 0x1a00, 0x0fca, 0x0000 }, - { 0x1a00, 0x0fcc, 0x0000 }, - { 0x8700, 0x1001, 0x2000 }, - { 0x0700, 0x1000, 0x0000 }, - { 0x0700, 0x1002, 0x0000 }, - { 0x8700, 0x100b, 0x4000 }, - { 0x8700, 0x1007, 0x3000 }, - { 0x8700, 0x1005, 0x2000 }, - { 0x0700, 0x1004, 0x0000 }, - { 0x0700, 0x1006, 0x0000 }, - { 0x8700, 0x1009, 0x2000 }, - { 0x0700, 0x1008, 0x0000 }, - { 0x0700, 0x100a, 0x0000 }, - { 0x8700, 0x100f, 0x3000 }, - { 0x8700, 0x100d, 0x2000 }, - { 0x0700, 0x100c, 0x0000 }, - { 0x0700, 0x100e, 0x0000 }, - { 0x8700, 0x1011, 0x2000 }, - { 0x0700, 0x1010, 0x0000 }, - { 0x0700, 0x1012, 0x0000 }, - { 0x8900, 0x10a5, 0x7000 }, - { 0x8c00, 0x1039, 0x6000 }, - { 0x8700, 0x1024, 0x5000 }, - { 0x8700, 0x101b, 0x4000 }, - { 0x8700, 0x1017, 0x3000 }, - { 0x8700, 0x1015, 0x2000 }, - { 0x0700, 0x1014, 0x0000 }, - { 0x0700, 0x1016, 0x0000 }, - { 0x8700, 0x1019, 0x2000 }, - { 0x0700, 0x1018, 0x0000 }, - { 0x0700, 0x101a, 0x0000 }, - { 0x8700, 0x101f, 0x3000 }, - { 0x8700, 0x101d, 0x2000 }, - { 0x0700, 0x101c, 0x0000 }, - { 0x0700, 0x101e, 0x0000 }, - { 0x8700, 0x1021, 0x2000 }, - { 0x0700, 0x1020, 0x0000 }, - { 0x0700, 0x1023, 0x0000 }, - { 0x8c00, 0x102e, 0x4000 }, - { 0x8700, 0x1029, 0x3000 }, - { 0x8700, 0x1026, 0x2000 }, - { 0x0700, 0x1025, 0x0000 }, - { 0x0700, 0x1027, 0x0000 }, - { 0x8a00, 0x102c, 0x2000 }, - { 0x0700, 0x102a, 0x0000 }, - { 0x0c00, 0x102d, 0x0000 }, - { 0x8c00, 0x1032, 0x3000 }, - { 0x8c00, 0x1030, 0x2000 }, - { 0x0c00, 0x102f, 0x0000 }, - { 0x0a00, 0x1031, 0x0000 }, - { 0x8c00, 0x1037, 0x2000 }, - { 0x0c00, 0x1036, 0x0000 }, - { 0x0a00, 0x1038, 0x0000 }, - { 0x9500, 0x104f, 0x5000 }, - { 0x8d00, 0x1047, 0x4000 }, - { 0x8d00, 0x1043, 0x3000 }, - { 0x8d00, 0x1041, 0x2000 }, - { 0x0d00, 0x1040, 0x0000 }, - { 0x0d00, 0x1042, 0x0000 }, - { 0x8d00, 0x1045, 0x2000 }, - { 0x0d00, 0x1044, 0x0000 }, - { 0x0d00, 0x1046, 0x0000 }, - { 0x9500, 0x104b, 0x3000 }, - { 0x8d00, 0x1049, 0x2000 }, - { 0x0d00, 0x1048, 0x0000 }, - { 0x1500, 0x104a, 0x0000 }, - { 0x9500, 0x104d, 0x2000 }, - { 0x1500, 0x104c, 0x0000 }, - { 0x1500, 0x104e, 0x0000 }, - { 0x8a00, 0x1057, 0x4000 }, - { 0x8700, 0x1053, 0x3000 }, - { 0x8700, 0x1051, 0x2000 }, - { 0x0700, 0x1050, 0x0000 }, - { 0x0700, 0x1052, 0x0000 }, - { 0x8700, 0x1055, 0x2000 }, - { 0x0700, 0x1054, 0x0000 }, - { 0x0a00, 0x1056, 0x0000 }, - { 0x8900, 0x10a1, 0x3000 }, - { 0x8c00, 0x1059, 0x2000 }, - { 0x0c00, 0x1058, 0x0000 }, - { 0x0900, 0x10a0, 0x0000 }, - { 0x8900, 0x10a3, 0x2000 }, - { 0x0900, 0x10a2, 0x0000 }, - { 0x0900, 0x10a4, 0x0000 }, - { 0x8900, 0x10c5, 0x6000 }, - { 0x8900, 0x10b5, 0x5000 }, - { 0x8900, 0x10ad, 0x4000 }, - { 0x8900, 0x10a9, 0x3000 }, - { 0x8900, 0x10a7, 0x2000 }, - { 0x0900, 0x10a6, 0x0000 }, - { 0x0900, 0x10a8, 0x0000 }, - { 0x8900, 0x10ab, 0x2000 }, - { 0x0900, 0x10aa, 0x0000 }, - { 0x0900, 0x10ac, 0x0000 }, - { 0x8900, 0x10b1, 0x3000 }, - { 0x8900, 0x10af, 0x2000 }, - { 0x0900, 0x10ae, 0x0000 }, - { 0x0900, 0x10b0, 0x0000 }, - { 0x8900, 0x10b3, 0x2000 }, - { 0x0900, 0x10b2, 0x0000 }, - { 0x0900, 0x10b4, 0x0000 }, - { 0x8900, 0x10bd, 0x4000 }, - { 0x8900, 0x10b9, 0x3000 }, - { 0x8900, 0x10b7, 0x2000 }, - { 0x0900, 0x10b6, 0x0000 }, - { 0x0900, 0x10b8, 0x0000 }, - { 0x8900, 0x10bb, 0x2000 }, - { 0x0900, 0x10ba, 0x0000 }, - { 0x0900, 0x10bc, 0x0000 }, - { 0x8900, 0x10c1, 0x3000 }, - { 0x8900, 0x10bf, 0x2000 }, - { 0x0900, 0x10be, 0x0000 }, - { 0x0900, 0x10c0, 0x0000 }, - { 0x8900, 0x10c3, 0x2000 }, - { 0x0900, 0x10c2, 0x0000 }, - { 0x0900, 0x10c4, 0x0000 }, - { 0x8700, 0x10df, 0x5000 }, - { 0x8700, 0x10d7, 0x4000 }, - { 0x8700, 0x10d3, 0x3000 }, - { 0x8700, 0x10d1, 0x2000 }, - { 0x0700, 0x10d0, 0x0000 }, - { 0x0700, 0x10d2, 0x0000 }, - { 0x8700, 0x10d5, 0x2000 }, - { 0x0700, 0x10d4, 0x0000 }, - { 0x0700, 0x10d6, 0x0000 }, - { 0x8700, 0x10db, 0x3000 }, - { 0x8700, 0x10d9, 0x2000 }, - { 0x0700, 0x10d8, 0x0000 }, - { 0x0700, 0x10da, 0x0000 }, - { 0x8700, 0x10dd, 0x2000 }, - { 0x0700, 0x10dc, 0x0000 }, - { 0x0700, 0x10de, 0x0000 }, - { 0x8700, 0x10e7, 0x4000 }, - { 0x8700, 0x10e3, 0x3000 }, - { 0x8700, 0x10e1, 0x2000 }, - { 0x0700, 0x10e0, 0x0000 }, - { 0x0700, 0x10e2, 0x0000 }, - { 0x8700, 0x10e5, 0x2000 }, - { 0x0700, 0x10e4, 0x0000 }, - { 0x0700, 0x10e6, 0x0000 }, - { 0x8700, 0x10eb, 0x3000 }, - { 0x8700, 0x10e9, 0x2000 }, - { 0x0700, 0x10e8, 0x0000 }, - { 0x0700, 0x10ea, 0x0000 }, - { 0x8700, 0x10ed, 0x2000 }, - { 0x0700, 0x10ec, 0x0000 }, - { 0x0700, 0x10ee, 0x0000 }, - { 0x8700, 0x1322, 0xa000 }, - { 0x8700, 0x1205, 0x9000 }, - { 0x8700, 0x117a, 0x8000 }, - { 0x8700, 0x1135, 0x7000 }, - { 0x8700, 0x1115, 0x6000 }, - { 0x8700, 0x1105, 0x5000 }, - { 0x8700, 0x10f7, 0x4000 }, - { 0x8700, 0x10f3, 0x3000 }, - { 0x8700, 0x10f1, 0x2000 }, - { 0x0700, 0x10f0, 0x0000 }, - { 0x0700, 0x10f2, 0x0000 }, - { 0x8700, 0x10f5, 0x2000 }, - { 0x0700, 0x10f4, 0x0000 }, - { 0x0700, 0x10f6, 0x0000 }, - { 0x8700, 0x1101, 0x3000 }, - { 0x9500, 0x10fb, 0x2000 }, - { 0x0700, 0x10f8, 0x0000 }, - { 0x0700, 0x1100, 0x0000 }, - { 0x8700, 0x1103, 0x2000 }, - { 0x0700, 0x1102, 0x0000 }, - { 0x0700, 0x1104, 0x0000 }, - { 0x8700, 0x110d, 0x4000 }, - { 0x8700, 0x1109, 0x3000 }, - { 0x8700, 0x1107, 0x2000 }, - { 0x0700, 0x1106, 0x0000 }, - { 0x0700, 0x1108, 0x0000 }, - { 0x8700, 0x110b, 0x2000 }, - { 0x0700, 0x110a, 0x0000 }, - { 0x0700, 0x110c, 0x0000 }, - { 0x8700, 0x1111, 0x3000 }, - { 0x8700, 0x110f, 0x2000 }, - { 0x0700, 0x110e, 0x0000 }, - { 0x0700, 0x1110, 0x0000 }, - { 0x8700, 0x1113, 0x2000 }, - { 0x0700, 0x1112, 0x0000 }, - { 0x0700, 0x1114, 0x0000 }, - { 0x8700, 0x1125, 0x5000 }, - { 0x8700, 0x111d, 0x4000 }, - { 0x8700, 0x1119, 0x3000 }, - { 0x8700, 0x1117, 0x2000 }, - { 0x0700, 0x1116, 0x0000 }, - { 0x0700, 0x1118, 0x0000 }, - { 0x8700, 0x111b, 0x2000 }, - { 0x0700, 0x111a, 0x0000 }, - { 0x0700, 0x111c, 0x0000 }, - { 0x8700, 0x1121, 0x3000 }, - { 0x8700, 0x111f, 0x2000 }, - { 0x0700, 0x111e, 0x0000 }, - { 0x0700, 0x1120, 0x0000 }, - { 0x8700, 0x1123, 0x2000 }, - { 0x0700, 0x1122, 0x0000 }, - { 0x0700, 0x1124, 0x0000 }, - { 0x8700, 0x112d, 0x4000 }, - { 0x8700, 0x1129, 0x3000 }, - { 0x8700, 0x1127, 0x2000 }, - { 0x0700, 0x1126, 0x0000 }, - { 0x0700, 0x1128, 0x0000 }, - { 0x8700, 0x112b, 0x2000 }, - { 0x0700, 0x112a, 0x0000 }, - { 0x0700, 0x112c, 0x0000 }, - { 0x8700, 0x1131, 0x3000 }, - { 0x8700, 0x112f, 0x2000 }, - { 0x0700, 0x112e, 0x0000 }, - { 0x0700, 0x1130, 0x0000 }, - { 0x8700, 0x1133, 0x2000 }, - { 0x0700, 0x1132, 0x0000 }, - { 0x0700, 0x1134, 0x0000 }, - { 0x8700, 0x1155, 0x6000 }, - { 0x8700, 0x1145, 0x5000 }, - { 0x8700, 0x113d, 0x4000 }, - { 0x8700, 0x1139, 0x3000 }, - { 0x8700, 0x1137, 0x2000 }, - { 0x0700, 0x1136, 0x0000 }, - { 0x0700, 0x1138, 0x0000 }, - { 0x8700, 0x113b, 0x2000 }, - { 0x0700, 0x113a, 0x0000 }, - { 0x0700, 0x113c, 0x0000 }, - { 0x8700, 0x1141, 0x3000 }, - { 0x8700, 0x113f, 0x2000 }, - { 0x0700, 0x113e, 0x0000 }, - { 0x0700, 0x1140, 0x0000 }, - { 0x8700, 0x1143, 0x2000 }, - { 0x0700, 0x1142, 0x0000 }, - { 0x0700, 0x1144, 0x0000 }, - { 0x8700, 0x114d, 0x4000 }, - { 0x8700, 0x1149, 0x3000 }, - { 0x8700, 0x1147, 0x2000 }, - { 0x0700, 0x1146, 0x0000 }, - { 0x0700, 0x1148, 0x0000 }, - { 0x8700, 0x114b, 0x2000 }, - { 0x0700, 0x114a, 0x0000 }, - { 0x0700, 0x114c, 0x0000 }, - { 0x8700, 0x1151, 0x3000 }, - { 0x8700, 0x114f, 0x2000 }, - { 0x0700, 0x114e, 0x0000 }, - { 0x0700, 0x1150, 0x0000 }, - { 0x8700, 0x1153, 0x2000 }, - { 0x0700, 0x1152, 0x0000 }, - { 0x0700, 0x1154, 0x0000 }, - { 0x8700, 0x116a, 0x5000 }, - { 0x8700, 0x1162, 0x4000 }, - { 0x8700, 0x1159, 0x3000 }, - { 0x8700, 0x1157, 0x2000 }, - { 0x0700, 0x1156, 0x0000 }, - { 0x0700, 0x1158, 0x0000 }, - { 0x8700, 0x1160, 0x2000 }, - { 0x0700, 0x115f, 0x0000 }, - { 0x0700, 0x1161, 0x0000 }, - { 0x8700, 0x1166, 0x3000 }, - { 0x8700, 0x1164, 0x2000 }, - { 0x0700, 0x1163, 0x0000 }, - { 0x0700, 0x1165, 0x0000 }, - { 0x8700, 0x1168, 0x2000 }, - { 0x0700, 0x1167, 0x0000 }, - { 0x0700, 0x1169, 0x0000 }, - { 0x8700, 0x1172, 0x4000 }, - { 0x8700, 0x116e, 0x3000 }, - { 0x8700, 0x116c, 0x2000 }, - { 0x0700, 0x116b, 0x0000 }, - { 0x0700, 0x116d, 0x0000 }, - { 0x8700, 0x1170, 0x2000 }, - { 0x0700, 0x116f, 0x0000 }, - { 0x0700, 0x1171, 0x0000 }, - { 0x8700, 0x1176, 0x3000 }, - { 0x8700, 0x1174, 0x2000 }, - { 0x0700, 0x1173, 0x0000 }, - { 0x0700, 0x1175, 0x0000 }, - { 0x8700, 0x1178, 0x2000 }, - { 0x0700, 0x1177, 0x0000 }, - { 0x0700, 0x1179, 0x0000 }, - { 0x8700, 0x11bf, 0x7000 }, - { 0x8700, 0x119a, 0x6000 }, - { 0x8700, 0x118a, 0x5000 }, - { 0x8700, 0x1182, 0x4000 }, - { 0x8700, 0x117e, 0x3000 }, - { 0x8700, 0x117c, 0x2000 }, - { 0x0700, 0x117b, 0x0000 }, - { 0x0700, 0x117d, 0x0000 }, - { 0x8700, 0x1180, 0x2000 }, - { 0x0700, 0x117f, 0x0000 }, - { 0x0700, 0x1181, 0x0000 }, - { 0x8700, 0x1186, 0x3000 }, - { 0x8700, 0x1184, 0x2000 }, - { 0x0700, 0x1183, 0x0000 }, - { 0x0700, 0x1185, 0x0000 }, - { 0x8700, 0x1188, 0x2000 }, - { 0x0700, 0x1187, 0x0000 }, - { 0x0700, 0x1189, 0x0000 }, - { 0x8700, 0x1192, 0x4000 }, - { 0x8700, 0x118e, 0x3000 }, - { 0x8700, 0x118c, 0x2000 }, - { 0x0700, 0x118b, 0x0000 }, - { 0x0700, 0x118d, 0x0000 }, - { 0x8700, 0x1190, 0x2000 }, - { 0x0700, 0x118f, 0x0000 }, - { 0x0700, 0x1191, 0x0000 }, - { 0x8700, 0x1196, 0x3000 }, - { 0x8700, 0x1194, 0x2000 }, - { 0x0700, 0x1193, 0x0000 }, - { 0x0700, 0x1195, 0x0000 }, - { 0x8700, 0x1198, 0x2000 }, - { 0x0700, 0x1197, 0x0000 }, - { 0x0700, 0x1199, 0x0000 }, - { 0x8700, 0x11af, 0x5000 }, - { 0x8700, 0x11a2, 0x4000 }, - { 0x8700, 0x119e, 0x3000 }, - { 0x8700, 0x119c, 0x2000 }, - { 0x0700, 0x119b, 0x0000 }, - { 0x0700, 0x119d, 0x0000 }, - { 0x8700, 0x11a0, 0x2000 }, - { 0x0700, 0x119f, 0x0000 }, - { 0x0700, 0x11a1, 0x0000 }, - { 0x8700, 0x11ab, 0x3000 }, - { 0x8700, 0x11a9, 0x2000 }, - { 0x0700, 0x11a8, 0x0000 }, - { 0x0700, 0x11aa, 0x0000 }, - { 0x8700, 0x11ad, 0x2000 }, - { 0x0700, 0x11ac, 0x0000 }, - { 0x0700, 0x11ae, 0x0000 }, - { 0x8700, 0x11b7, 0x4000 }, - { 0x8700, 0x11b3, 0x3000 }, - { 0x8700, 0x11b1, 0x2000 }, - { 0x0700, 0x11b0, 0x0000 }, - { 0x0700, 0x11b2, 0x0000 }, - { 0x8700, 0x11b5, 0x2000 }, - { 0x0700, 0x11b4, 0x0000 }, - { 0x0700, 0x11b6, 0x0000 }, - { 0x8700, 0x11bb, 0x3000 }, - { 0x8700, 0x11b9, 0x2000 }, - { 0x0700, 0x11b8, 0x0000 }, - { 0x0700, 0x11ba, 0x0000 }, - { 0x8700, 0x11bd, 0x2000 }, - { 0x0700, 0x11bc, 0x0000 }, - { 0x0700, 0x11be, 0x0000 }, - { 0x8700, 0x11df, 0x6000 }, - { 0x8700, 0x11cf, 0x5000 }, - { 0x8700, 0x11c7, 0x4000 }, - { 0x8700, 0x11c3, 0x3000 }, - { 0x8700, 0x11c1, 0x2000 }, - { 0x0700, 0x11c0, 0x0000 }, - { 0x0700, 0x11c2, 0x0000 }, - { 0x8700, 0x11c5, 0x2000 }, - { 0x0700, 0x11c4, 0x0000 }, - { 0x0700, 0x11c6, 0x0000 }, - { 0x8700, 0x11cb, 0x3000 }, - { 0x8700, 0x11c9, 0x2000 }, - { 0x0700, 0x11c8, 0x0000 }, - { 0x0700, 0x11ca, 0x0000 }, - { 0x8700, 0x11cd, 0x2000 }, - { 0x0700, 0x11cc, 0x0000 }, - { 0x0700, 0x11ce, 0x0000 }, - { 0x8700, 0x11d7, 0x4000 }, - { 0x8700, 0x11d3, 0x3000 }, - { 0x8700, 0x11d1, 0x2000 }, - { 0x0700, 0x11d0, 0x0000 }, - { 0x0700, 0x11d2, 0x0000 }, - { 0x8700, 0x11d5, 0x2000 }, - { 0x0700, 0x11d4, 0x0000 }, - { 0x0700, 0x11d6, 0x0000 }, - { 0x8700, 0x11db, 0x3000 }, - { 0x8700, 0x11d9, 0x2000 }, - { 0x0700, 0x11d8, 0x0000 }, - { 0x0700, 0x11da, 0x0000 }, - { 0x8700, 0x11dd, 0x2000 }, - { 0x0700, 0x11dc, 0x0000 }, - { 0x0700, 0x11de, 0x0000 }, - { 0x8700, 0x11ef, 0x5000 }, - { 0x8700, 0x11e7, 0x4000 }, - { 0x8700, 0x11e3, 0x3000 }, - { 0x8700, 0x11e1, 0x2000 }, - { 0x0700, 0x11e0, 0x0000 }, - { 0x0700, 0x11e2, 0x0000 }, - { 0x8700, 0x11e5, 0x2000 }, - { 0x0700, 0x11e4, 0x0000 }, - { 0x0700, 0x11e6, 0x0000 }, - { 0x8700, 0x11eb, 0x3000 }, - { 0x8700, 0x11e9, 0x2000 }, - { 0x0700, 0x11e8, 0x0000 }, - { 0x0700, 0x11ea, 0x0000 }, - { 0x8700, 0x11ed, 0x2000 }, - { 0x0700, 0x11ec, 0x0000 }, - { 0x0700, 0x11ee, 0x0000 }, - { 0x8700, 0x11f7, 0x4000 }, - { 0x8700, 0x11f3, 0x3000 }, - { 0x8700, 0x11f1, 0x2000 }, - { 0x0700, 0x11f0, 0x0000 }, - { 0x0700, 0x11f2, 0x0000 }, - { 0x8700, 0x11f5, 0x2000 }, - { 0x0700, 0x11f4, 0x0000 }, - { 0x0700, 0x11f6, 0x0000 }, - { 0x8700, 0x1201, 0x3000 }, - { 0x8700, 0x11f9, 0x2000 }, - { 0x0700, 0x11f8, 0x0000 }, - { 0x0700, 0x1200, 0x0000 }, - { 0x8700, 0x1203, 0x2000 }, - { 0x0700, 0x1202, 0x0000 }, - { 0x0700, 0x1204, 0x0000 }, - { 0x8700, 0x1292, 0x8000 }, - { 0x8700, 0x1246, 0x7000 }, - { 0x8700, 0x1226, 0x6000 }, - { 0x8700, 0x1216, 0x5000 }, - { 0x8700, 0x120e, 0x4000 }, - { 0x8700, 0x120a, 0x3000 }, - { 0x8700, 0x1208, 0x2000 }, - { 0x0700, 0x1206, 0x0000 }, - { 0x0700, 0x1209, 0x0000 }, - { 0x8700, 0x120c, 0x2000 }, - { 0x0700, 0x120b, 0x0000 }, - { 0x0700, 0x120d, 0x0000 }, - { 0x8700, 0x1212, 0x3000 }, - { 0x8700, 0x1210, 0x2000 }, - { 0x0700, 0x120f, 0x0000 }, - { 0x0700, 0x1211, 0x0000 }, - { 0x8700, 0x1214, 0x2000 }, - { 0x0700, 0x1213, 0x0000 }, - { 0x0700, 0x1215, 0x0000 }, - { 0x8700, 0x121e, 0x4000 }, - { 0x8700, 0x121a, 0x3000 }, - { 0x8700, 0x1218, 0x2000 }, - { 0x0700, 0x1217, 0x0000 }, - { 0x0700, 0x1219, 0x0000 }, - { 0x8700, 0x121c, 0x2000 }, - { 0x0700, 0x121b, 0x0000 }, - { 0x0700, 0x121d, 0x0000 }, - { 0x8700, 0x1222, 0x3000 }, - { 0x8700, 0x1220, 0x2000 }, - { 0x0700, 0x121f, 0x0000 }, - { 0x0700, 0x1221, 0x0000 }, - { 0x8700, 0x1224, 0x2000 }, - { 0x0700, 0x1223, 0x0000 }, - { 0x0700, 0x1225, 0x0000 }, - { 0x8700, 0x1236, 0x5000 }, - { 0x8700, 0x122e, 0x4000 }, - { 0x8700, 0x122a, 0x3000 }, - { 0x8700, 0x1228, 0x2000 }, - { 0x0700, 0x1227, 0x0000 }, - { 0x0700, 0x1229, 0x0000 }, - { 0x8700, 0x122c, 0x2000 }, - { 0x0700, 0x122b, 0x0000 }, - { 0x0700, 0x122d, 0x0000 }, - { 0x8700, 0x1232, 0x3000 }, - { 0x8700, 0x1230, 0x2000 }, - { 0x0700, 0x122f, 0x0000 }, - { 0x0700, 0x1231, 0x0000 }, - { 0x8700, 0x1234, 0x2000 }, - { 0x0700, 0x1233, 0x0000 }, - { 0x0700, 0x1235, 0x0000 }, - { 0x8700, 0x123e, 0x4000 }, - { 0x8700, 0x123a, 0x3000 }, - { 0x8700, 0x1238, 0x2000 }, - { 0x0700, 0x1237, 0x0000 }, - { 0x0700, 0x1239, 0x0000 }, - { 0x8700, 0x123c, 0x2000 }, - { 0x0700, 0x123b, 0x0000 }, - { 0x0700, 0x123d, 0x0000 }, - { 0x8700, 0x1242, 0x3000 }, - { 0x8700, 0x1240, 0x2000 }, - { 0x0700, 0x123f, 0x0000 }, - { 0x0700, 0x1241, 0x0000 }, - { 0x8700, 0x1244, 0x2000 }, - { 0x0700, 0x1243, 0x0000 }, - { 0x0700, 0x1245, 0x0000 }, - { 0x8700, 0x126e, 0x6000 }, - { 0x8700, 0x125c, 0x5000 }, - { 0x8700, 0x1252, 0x4000 }, - { 0x8700, 0x124c, 0x3000 }, - { 0x8700, 0x124a, 0x2000 }, - { 0x0700, 0x1248, 0x0000 }, - { 0x0700, 0x124b, 0x0000 }, - { 0x8700, 0x1250, 0x2000 }, - { 0x0700, 0x124d, 0x0000 }, - { 0x0700, 0x1251, 0x0000 }, - { 0x8700, 0x1256, 0x3000 }, - { 0x8700, 0x1254, 0x2000 }, - { 0x0700, 0x1253, 0x0000 }, - { 0x0700, 0x1255, 0x0000 }, - { 0x8700, 0x125a, 0x2000 }, - { 0x0700, 0x1258, 0x0000 }, - { 0x0700, 0x125b, 0x0000 }, - { 0x8700, 0x1266, 0x4000 }, - { 0x8700, 0x1262, 0x3000 }, - { 0x8700, 0x1260, 0x2000 }, - { 0x0700, 0x125d, 0x0000 }, - { 0x0700, 0x1261, 0x0000 }, - { 0x8700, 0x1264, 0x2000 }, - { 0x0700, 0x1263, 0x0000 }, - { 0x0700, 0x1265, 0x0000 }, - { 0x8700, 0x126a, 0x3000 }, - { 0x8700, 0x1268, 0x2000 }, - { 0x0700, 0x1267, 0x0000 }, - { 0x0700, 0x1269, 0x0000 }, - { 0x8700, 0x126c, 0x2000 }, - { 0x0700, 0x126b, 0x0000 }, - { 0x0700, 0x126d, 0x0000 }, - { 0x8700, 0x127e, 0x5000 }, - { 0x8700, 0x1276, 0x4000 }, - { 0x8700, 0x1272, 0x3000 }, - { 0x8700, 0x1270, 0x2000 }, - { 0x0700, 0x126f, 0x0000 }, - { 0x0700, 0x1271, 0x0000 }, - { 0x8700, 0x1274, 0x2000 }, - { 0x0700, 0x1273, 0x0000 }, - { 0x0700, 0x1275, 0x0000 }, - { 0x8700, 0x127a, 0x3000 }, - { 0x8700, 0x1278, 0x2000 }, - { 0x0700, 0x1277, 0x0000 }, - { 0x0700, 0x1279, 0x0000 }, - { 0x8700, 0x127c, 0x2000 }, - { 0x0700, 0x127b, 0x0000 }, - { 0x0700, 0x127d, 0x0000 }, - { 0x8700, 0x1286, 0x4000 }, - { 0x8700, 0x1282, 0x3000 }, - { 0x8700, 0x1280, 0x2000 }, - { 0x0700, 0x127f, 0x0000 }, - { 0x0700, 0x1281, 0x0000 }, - { 0x8700, 0x1284, 0x2000 }, - { 0x0700, 0x1283, 0x0000 }, - { 0x0700, 0x1285, 0x0000 }, - { 0x8700, 0x128c, 0x3000 }, - { 0x8700, 0x128a, 0x2000 }, - { 0x0700, 0x1288, 0x0000 }, - { 0x0700, 0x128b, 0x0000 }, - { 0x8700, 0x1290, 0x2000 }, - { 0x0700, 0x128d, 0x0000 }, - { 0x0700, 0x1291, 0x0000 }, - { 0x8700, 0x12dc, 0x7000 }, - { 0x8700, 0x12b4, 0x6000 }, - { 0x8700, 0x12a2, 0x5000 }, - { 0x8700, 0x129a, 0x4000 }, - { 0x8700, 0x1296, 0x3000 }, - { 0x8700, 0x1294, 0x2000 }, - { 0x0700, 0x1293, 0x0000 }, - { 0x0700, 0x1295, 0x0000 }, - { 0x8700, 0x1298, 0x2000 }, - { 0x0700, 0x1297, 0x0000 }, - { 0x0700, 0x1299, 0x0000 }, - { 0x8700, 0x129e, 0x3000 }, - { 0x8700, 0x129c, 0x2000 }, - { 0x0700, 0x129b, 0x0000 }, - { 0x0700, 0x129d, 0x0000 }, - { 0x8700, 0x12a0, 0x2000 }, - { 0x0700, 0x129f, 0x0000 }, - { 0x0700, 0x12a1, 0x0000 }, - { 0x8700, 0x12aa, 0x4000 }, - { 0x8700, 0x12a6, 0x3000 }, - { 0x8700, 0x12a4, 0x2000 }, - { 0x0700, 0x12a3, 0x0000 }, - { 0x0700, 0x12a5, 0x0000 }, - { 0x8700, 0x12a8, 0x2000 }, - { 0x0700, 0x12a7, 0x0000 }, - { 0x0700, 0x12a9, 0x0000 }, - { 0x8700, 0x12ae, 0x3000 }, - { 0x8700, 0x12ac, 0x2000 }, - { 0x0700, 0x12ab, 0x0000 }, - { 0x0700, 0x12ad, 0x0000 }, - { 0x8700, 0x12b2, 0x2000 }, - { 0x0700, 0x12b0, 0x0000 }, - { 0x0700, 0x12b3, 0x0000 }, - { 0x8700, 0x12ca, 0x5000 }, - { 0x8700, 0x12be, 0x4000 }, - { 0x8700, 0x12ba, 0x3000 }, - { 0x8700, 0x12b8, 0x2000 }, - { 0x0700, 0x12b5, 0x0000 }, - { 0x0700, 0x12b9, 0x0000 }, - { 0x8700, 0x12bc, 0x2000 }, - { 0x0700, 0x12bb, 0x0000 }, - { 0x0700, 0x12bd, 0x0000 }, - { 0x8700, 0x12c4, 0x3000 }, - { 0x8700, 0x12c2, 0x2000 }, - { 0x0700, 0x12c0, 0x0000 }, - { 0x0700, 0x12c3, 0x0000 }, - { 0x8700, 0x12c8, 0x2000 }, - { 0x0700, 0x12c5, 0x0000 }, - { 0x0700, 0x12c9, 0x0000 }, - { 0x8700, 0x12d3, 0x4000 }, - { 0x8700, 0x12ce, 0x3000 }, - { 0x8700, 0x12cc, 0x2000 }, - { 0x0700, 0x12cb, 0x0000 }, - { 0x0700, 0x12cd, 0x0000 }, - { 0x8700, 0x12d1, 0x2000 }, - { 0x0700, 0x12d0, 0x0000 }, - { 0x0700, 0x12d2, 0x0000 }, - { 0x8700, 0x12d8, 0x3000 }, - { 0x8700, 0x12d5, 0x2000 }, - { 0x0700, 0x12d4, 0x0000 }, - { 0x0700, 0x12d6, 0x0000 }, - { 0x8700, 0x12da, 0x2000 }, - { 0x0700, 0x12d9, 0x0000 }, - { 0x0700, 0x12db, 0x0000 }, - { 0x8700, 0x12fd, 0x6000 }, - { 0x8700, 0x12ec, 0x5000 }, - { 0x8700, 0x12e4, 0x4000 }, - { 0x8700, 0x12e0, 0x3000 }, - { 0x8700, 0x12de, 0x2000 }, - { 0x0700, 0x12dd, 0x0000 }, - { 0x0700, 0x12df, 0x0000 }, - { 0x8700, 0x12e2, 0x2000 }, - { 0x0700, 0x12e1, 0x0000 }, - { 0x0700, 0x12e3, 0x0000 }, - { 0x8700, 0x12e8, 0x3000 }, - { 0x8700, 0x12e6, 0x2000 }, - { 0x0700, 0x12e5, 0x0000 }, - { 0x0700, 0x12e7, 0x0000 }, - { 0x8700, 0x12ea, 0x2000 }, - { 0x0700, 0x12e9, 0x0000 }, - { 0x0700, 0x12eb, 0x0000 }, - { 0x8700, 0x12f5, 0x4000 }, - { 0x8700, 0x12f1, 0x3000 }, - { 0x8700, 0x12ee, 0x2000 }, - { 0x0700, 0x12ed, 0x0000 }, - { 0x0700, 0x12f0, 0x0000 }, - { 0x8700, 0x12f3, 0x2000 }, - { 0x0700, 0x12f2, 0x0000 }, - { 0x0700, 0x12f4, 0x0000 }, - { 0x8700, 0x12f9, 0x3000 }, - { 0x8700, 0x12f7, 0x2000 }, - { 0x0700, 0x12f6, 0x0000 }, - { 0x0700, 0x12f8, 0x0000 }, - { 0x8700, 0x12fb, 0x2000 }, - { 0x0700, 0x12fa, 0x0000 }, - { 0x0700, 0x12fc, 0x0000 }, - { 0x8700, 0x130d, 0x5000 }, - { 0x8700, 0x1305, 0x4000 }, - { 0x8700, 0x1301, 0x3000 }, - { 0x8700, 0x12ff, 0x2000 }, - { 0x0700, 0x12fe, 0x0000 }, - { 0x0700, 0x1300, 0x0000 }, - { 0x8700, 0x1303, 0x2000 }, - { 0x0700, 0x1302, 0x0000 }, - { 0x0700, 0x1304, 0x0000 }, - { 0x8700, 0x1309, 0x3000 }, - { 0x8700, 0x1307, 0x2000 }, - { 0x0700, 0x1306, 0x0000 }, - { 0x0700, 0x1308, 0x0000 }, - { 0x8700, 0x130b, 0x2000 }, - { 0x0700, 0x130a, 0x0000 }, - { 0x0700, 0x130c, 0x0000 }, - { 0x8700, 0x1319, 0x4000 }, - { 0x8700, 0x1313, 0x3000 }, - { 0x8700, 0x1310, 0x2000 }, - { 0x0700, 0x130e, 0x0000 }, - { 0x0700, 0x1312, 0x0000 }, - { 0x8700, 0x1315, 0x2000 }, - { 0x0700, 0x1314, 0x0000 }, - { 0x0700, 0x1318, 0x0000 }, - { 0x8700, 0x131d, 0x3000 }, - { 0x8700, 0x131b, 0x2000 }, - { 0x0700, 0x131a, 0x0000 }, - { 0x0700, 0x131c, 0x0000 }, - { 0x8700, 0x1320, 0x2000 }, - { 0x0700, 0x131e, 0x0000 }, - { 0x0700, 0x1321, 0x0000 }, - { 0x8700, 0x1458, 0x9000 }, - { 0x8700, 0x13cc, 0x8000 }, - { 0x8d00, 0x1369, 0x7000 }, - { 0x8700, 0x1342, 0x6000 }, - { 0x8700, 0x1332, 0x5000 }, - { 0x8700, 0x132a, 0x4000 }, - { 0x8700, 0x1326, 0x3000 }, - { 0x8700, 0x1324, 0x2000 }, - { 0x0700, 0x1323, 0x0000 }, - { 0x0700, 0x1325, 0x0000 }, - { 0x8700, 0x1328, 0x2000 }, - { 0x0700, 0x1327, 0x0000 }, - { 0x0700, 0x1329, 0x0000 }, - { 0x8700, 0x132e, 0x3000 }, - { 0x8700, 0x132c, 0x2000 }, - { 0x0700, 0x132b, 0x0000 }, - { 0x0700, 0x132d, 0x0000 }, - { 0x8700, 0x1330, 0x2000 }, - { 0x0700, 0x132f, 0x0000 }, - { 0x0700, 0x1331, 0x0000 }, - { 0x8700, 0x133a, 0x4000 }, - { 0x8700, 0x1336, 0x3000 }, - { 0x8700, 0x1334, 0x2000 }, - { 0x0700, 0x1333, 0x0000 }, - { 0x0700, 0x1335, 0x0000 }, - { 0x8700, 0x1338, 0x2000 }, - { 0x0700, 0x1337, 0x0000 }, - { 0x0700, 0x1339, 0x0000 }, - { 0x8700, 0x133e, 0x3000 }, - { 0x8700, 0x133c, 0x2000 }, - { 0x0700, 0x133b, 0x0000 }, - { 0x0700, 0x133d, 0x0000 }, - { 0x8700, 0x1340, 0x2000 }, - { 0x0700, 0x133f, 0x0000 }, - { 0x0700, 0x1341, 0x0000 }, - { 0x8700, 0x1353, 0x5000 }, - { 0x8700, 0x134b, 0x4000 }, - { 0x8700, 0x1346, 0x3000 }, - { 0x8700, 0x1344, 0x2000 }, - { 0x0700, 0x1343, 0x0000 }, - { 0x0700, 0x1345, 0x0000 }, - { 0x8700, 0x1349, 0x2000 }, - { 0x0700, 0x1348, 0x0000 }, - { 0x0700, 0x134a, 0x0000 }, - { 0x8700, 0x134f, 0x3000 }, - { 0x8700, 0x134d, 0x2000 }, - { 0x0700, 0x134c, 0x0000 }, - { 0x0700, 0x134e, 0x0000 }, - { 0x8700, 0x1351, 0x2000 }, - { 0x0700, 0x1350, 0x0000 }, - { 0x0700, 0x1352, 0x0000 }, - { 0x9500, 0x1361, 0x4000 }, - { 0x8700, 0x1357, 0x3000 }, - { 0x8700, 0x1355, 0x2000 }, - { 0x0700, 0x1354, 0x0000 }, - { 0x0700, 0x1356, 0x0000 }, - { 0x8700, 0x1359, 0x2000 }, - { 0x0700, 0x1358, 0x0000 }, - { 0x0700, 0x135a, 0x0000 }, - { 0x9500, 0x1365, 0x3000 }, - { 0x9500, 0x1363, 0x2000 }, - { 0x1500, 0x1362, 0x0000 }, - { 0x1500, 0x1364, 0x0000 }, - { 0x9500, 0x1367, 0x2000 }, - { 0x1500, 0x1366, 0x0000 }, - { 0x1500, 0x1368, 0x0000 }, - { 0x8700, 0x13ac, 0x6000 }, - { 0x8f00, 0x1379, 0x5000 }, - { 0x8d00, 0x1371, 0x4000 }, - { 0x8d00, 0x136d, 0x3000 }, - { 0x8d00, 0x136b, 0x2000 }, - { 0x0d00, 0x136a, 0x0000 }, - { 0x0d00, 0x136c, 0x0000 }, - { 0x8d00, 0x136f, 0x2000 }, - { 0x0d00, 0x136e, 0x0000 }, - { 0x0d00, 0x1370, 0x0000 }, - { 0x8f00, 0x1375, 0x3000 }, - { 0x8f00, 0x1373, 0x2000 }, - { 0x0f00, 0x1372, 0x0000 }, - { 0x0f00, 0x1374, 0x0000 }, - { 0x8f00, 0x1377, 0x2000 }, - { 0x0f00, 0x1376, 0x0000 }, - { 0x0f00, 0x1378, 0x0000 }, - { 0x8700, 0x13a4, 0x4000 }, - { 0x8700, 0x13a0, 0x3000 }, - { 0x8f00, 0x137b, 0x2000 }, - { 0x0f00, 0x137a, 0x0000 }, - { 0x0f00, 0x137c, 0x0000 }, - { 0x8700, 0x13a2, 0x2000 }, - { 0x0700, 0x13a1, 0x0000 }, - { 0x0700, 0x13a3, 0x0000 }, - { 0x8700, 0x13a8, 0x3000 }, - { 0x8700, 0x13a6, 0x2000 }, - { 0x0700, 0x13a5, 0x0000 }, - { 0x0700, 0x13a7, 0x0000 }, - { 0x8700, 0x13aa, 0x2000 }, - { 0x0700, 0x13a9, 0x0000 }, - { 0x0700, 0x13ab, 0x0000 }, - { 0x8700, 0x13bc, 0x5000 }, - { 0x8700, 0x13b4, 0x4000 }, - { 0x8700, 0x13b0, 0x3000 }, - { 0x8700, 0x13ae, 0x2000 }, - { 0x0700, 0x13ad, 0x0000 }, - { 0x0700, 0x13af, 0x0000 }, - { 0x8700, 0x13b2, 0x2000 }, - { 0x0700, 0x13b1, 0x0000 }, - { 0x0700, 0x13b3, 0x0000 }, - { 0x8700, 0x13b8, 0x3000 }, - { 0x8700, 0x13b6, 0x2000 }, - { 0x0700, 0x13b5, 0x0000 }, - { 0x0700, 0x13b7, 0x0000 }, - { 0x8700, 0x13ba, 0x2000 }, - { 0x0700, 0x13b9, 0x0000 }, - { 0x0700, 0x13bb, 0x0000 }, - { 0x8700, 0x13c4, 0x4000 }, - { 0x8700, 0x13c0, 0x3000 }, - { 0x8700, 0x13be, 0x2000 }, - { 0x0700, 0x13bd, 0x0000 }, - { 0x0700, 0x13bf, 0x0000 }, - { 0x8700, 0x13c2, 0x2000 }, - { 0x0700, 0x13c1, 0x0000 }, - { 0x0700, 0x13c3, 0x0000 }, - { 0x8700, 0x13c8, 0x3000 }, - { 0x8700, 0x13c6, 0x2000 }, - { 0x0700, 0x13c5, 0x0000 }, - { 0x0700, 0x13c7, 0x0000 }, - { 0x8700, 0x13ca, 0x2000 }, - { 0x0700, 0x13c9, 0x0000 }, - { 0x0700, 0x13cb, 0x0000 }, - { 0x8700, 0x1418, 0x7000 }, - { 0x8700, 0x13ec, 0x6000 }, - { 0x8700, 0x13dc, 0x5000 }, - { 0x8700, 0x13d4, 0x4000 }, - { 0x8700, 0x13d0, 0x3000 }, - { 0x8700, 0x13ce, 0x2000 }, - { 0x0700, 0x13cd, 0x0000 }, - { 0x0700, 0x13cf, 0x0000 }, - { 0x8700, 0x13d2, 0x2000 }, - { 0x0700, 0x13d1, 0x0000 }, - { 0x0700, 0x13d3, 0x0000 }, - { 0x8700, 0x13d8, 0x3000 }, - { 0x8700, 0x13d6, 0x2000 }, - { 0x0700, 0x13d5, 0x0000 }, - { 0x0700, 0x13d7, 0x0000 }, - { 0x8700, 0x13da, 0x2000 }, - { 0x0700, 0x13d9, 0x0000 }, - { 0x0700, 0x13db, 0x0000 }, - { 0x8700, 0x13e4, 0x4000 }, - { 0x8700, 0x13e0, 0x3000 }, - { 0x8700, 0x13de, 0x2000 }, - { 0x0700, 0x13dd, 0x0000 }, - { 0x0700, 0x13df, 0x0000 }, - { 0x8700, 0x13e2, 0x2000 }, - { 0x0700, 0x13e1, 0x0000 }, - { 0x0700, 0x13e3, 0x0000 }, - { 0x8700, 0x13e8, 0x3000 }, - { 0x8700, 0x13e6, 0x2000 }, - { 0x0700, 0x13e5, 0x0000 }, - { 0x0700, 0x13e7, 0x0000 }, - { 0x8700, 0x13ea, 0x2000 }, - { 0x0700, 0x13e9, 0x0000 }, - { 0x0700, 0x13eb, 0x0000 }, - { 0x8700, 0x1408, 0x5000 }, - { 0x8700, 0x13f4, 0x4000 }, - { 0x8700, 0x13f0, 0x3000 }, - { 0x8700, 0x13ee, 0x2000 }, - { 0x0700, 0x13ed, 0x0000 }, - { 0x0700, 0x13ef, 0x0000 }, - { 0x8700, 0x13f2, 0x2000 }, - { 0x0700, 0x13f1, 0x0000 }, - { 0x0700, 0x13f3, 0x0000 }, - { 0x8700, 0x1404, 0x3000 }, - { 0x8700, 0x1402, 0x2000 }, - { 0x0700, 0x1401, 0x0000 }, - { 0x0700, 0x1403, 0x0000 }, - { 0x8700, 0x1406, 0x2000 }, - { 0x0700, 0x1405, 0x0000 }, - { 0x0700, 0x1407, 0x0000 }, - { 0x8700, 0x1410, 0x4000 }, - { 0x8700, 0x140c, 0x3000 }, - { 0x8700, 0x140a, 0x2000 }, - { 0x0700, 0x1409, 0x0000 }, - { 0x0700, 0x140b, 0x0000 }, - { 0x8700, 0x140e, 0x2000 }, - { 0x0700, 0x140d, 0x0000 }, - { 0x0700, 0x140f, 0x0000 }, - { 0x8700, 0x1414, 0x3000 }, - { 0x8700, 0x1412, 0x2000 }, - { 0x0700, 0x1411, 0x0000 }, - { 0x0700, 0x1413, 0x0000 }, - { 0x8700, 0x1416, 0x2000 }, - { 0x0700, 0x1415, 0x0000 }, - { 0x0700, 0x1417, 0x0000 }, - { 0x8700, 0x1438, 0x6000 }, - { 0x8700, 0x1428, 0x5000 }, - { 0x8700, 0x1420, 0x4000 }, - { 0x8700, 0x141c, 0x3000 }, - { 0x8700, 0x141a, 0x2000 }, - { 0x0700, 0x1419, 0x0000 }, - { 0x0700, 0x141b, 0x0000 }, - { 0x8700, 0x141e, 0x2000 }, - { 0x0700, 0x141d, 0x0000 }, - { 0x0700, 0x141f, 0x0000 }, - { 0x8700, 0x1424, 0x3000 }, - { 0x8700, 0x1422, 0x2000 }, - { 0x0700, 0x1421, 0x0000 }, - { 0x0700, 0x1423, 0x0000 }, - { 0x8700, 0x1426, 0x2000 }, - { 0x0700, 0x1425, 0x0000 }, - { 0x0700, 0x1427, 0x0000 }, - { 0x8700, 0x1430, 0x4000 }, - { 0x8700, 0x142c, 0x3000 }, - { 0x8700, 0x142a, 0x2000 }, - { 0x0700, 0x1429, 0x0000 }, - { 0x0700, 0x142b, 0x0000 }, - { 0x8700, 0x142e, 0x2000 }, - { 0x0700, 0x142d, 0x0000 }, - { 0x0700, 0x142f, 0x0000 }, - { 0x8700, 0x1434, 0x3000 }, - { 0x8700, 0x1432, 0x2000 }, - { 0x0700, 0x1431, 0x0000 }, - { 0x0700, 0x1433, 0x0000 }, - { 0x8700, 0x1436, 0x2000 }, - { 0x0700, 0x1435, 0x0000 }, - { 0x0700, 0x1437, 0x0000 }, - { 0x8700, 0x1448, 0x5000 }, - { 0x8700, 0x1440, 0x4000 }, - { 0x8700, 0x143c, 0x3000 }, - { 0x8700, 0x143a, 0x2000 }, - { 0x0700, 0x1439, 0x0000 }, - { 0x0700, 0x143b, 0x0000 }, - { 0x8700, 0x143e, 0x2000 }, - { 0x0700, 0x143d, 0x0000 }, - { 0x0700, 0x143f, 0x0000 }, - { 0x8700, 0x1444, 0x3000 }, - { 0x8700, 0x1442, 0x2000 }, - { 0x0700, 0x1441, 0x0000 }, - { 0x0700, 0x1443, 0x0000 }, - { 0x8700, 0x1446, 0x2000 }, - { 0x0700, 0x1445, 0x0000 }, - { 0x0700, 0x1447, 0x0000 }, - { 0x8700, 0x1450, 0x4000 }, - { 0x8700, 0x144c, 0x3000 }, - { 0x8700, 0x144a, 0x2000 }, - { 0x0700, 0x1449, 0x0000 }, - { 0x0700, 0x144b, 0x0000 }, - { 0x8700, 0x144e, 0x2000 }, - { 0x0700, 0x144d, 0x0000 }, - { 0x0700, 0x144f, 0x0000 }, - { 0x8700, 0x1454, 0x3000 }, - { 0x8700, 0x1452, 0x2000 }, - { 0x0700, 0x1451, 0x0000 }, - { 0x0700, 0x1453, 0x0000 }, - { 0x8700, 0x1456, 0x2000 }, - { 0x0700, 0x1455, 0x0000 }, - { 0x0700, 0x1457, 0x0000 }, - { 0x8700, 0x14d8, 0x8000 }, - { 0x8700, 0x1498, 0x7000 }, - { 0x8700, 0x1478, 0x6000 }, - { 0x8700, 0x1468, 0x5000 }, - { 0x8700, 0x1460, 0x4000 }, - { 0x8700, 0x145c, 0x3000 }, - { 0x8700, 0x145a, 0x2000 }, - { 0x0700, 0x1459, 0x0000 }, - { 0x0700, 0x145b, 0x0000 }, - { 0x8700, 0x145e, 0x2000 }, - { 0x0700, 0x145d, 0x0000 }, - { 0x0700, 0x145f, 0x0000 }, - { 0x8700, 0x1464, 0x3000 }, - { 0x8700, 0x1462, 0x2000 }, - { 0x0700, 0x1461, 0x0000 }, - { 0x0700, 0x1463, 0x0000 }, - { 0x8700, 0x1466, 0x2000 }, - { 0x0700, 0x1465, 0x0000 }, - { 0x0700, 0x1467, 0x0000 }, - { 0x8700, 0x1470, 0x4000 }, - { 0x8700, 0x146c, 0x3000 }, - { 0x8700, 0x146a, 0x2000 }, - { 0x0700, 0x1469, 0x0000 }, - { 0x0700, 0x146b, 0x0000 }, - { 0x8700, 0x146e, 0x2000 }, - { 0x0700, 0x146d, 0x0000 }, - { 0x0700, 0x146f, 0x0000 }, - { 0x8700, 0x1474, 0x3000 }, - { 0x8700, 0x1472, 0x2000 }, - { 0x0700, 0x1471, 0x0000 }, - { 0x0700, 0x1473, 0x0000 }, - { 0x8700, 0x1476, 0x2000 }, - { 0x0700, 0x1475, 0x0000 }, - { 0x0700, 0x1477, 0x0000 }, - { 0x8700, 0x1488, 0x5000 }, - { 0x8700, 0x1480, 0x4000 }, - { 0x8700, 0x147c, 0x3000 }, - { 0x8700, 0x147a, 0x2000 }, - { 0x0700, 0x1479, 0x0000 }, - { 0x0700, 0x147b, 0x0000 }, - { 0x8700, 0x147e, 0x2000 }, - { 0x0700, 0x147d, 0x0000 }, - { 0x0700, 0x147f, 0x0000 }, - { 0x8700, 0x1484, 0x3000 }, - { 0x8700, 0x1482, 0x2000 }, - { 0x0700, 0x1481, 0x0000 }, - { 0x0700, 0x1483, 0x0000 }, - { 0x8700, 0x1486, 0x2000 }, - { 0x0700, 0x1485, 0x0000 }, - { 0x0700, 0x1487, 0x0000 }, - { 0x8700, 0x1490, 0x4000 }, - { 0x8700, 0x148c, 0x3000 }, - { 0x8700, 0x148a, 0x2000 }, - { 0x0700, 0x1489, 0x0000 }, - { 0x0700, 0x148b, 0x0000 }, - { 0x8700, 0x148e, 0x2000 }, - { 0x0700, 0x148d, 0x0000 }, - { 0x0700, 0x148f, 0x0000 }, - { 0x8700, 0x1494, 0x3000 }, - { 0x8700, 0x1492, 0x2000 }, - { 0x0700, 0x1491, 0x0000 }, - { 0x0700, 0x1493, 0x0000 }, - { 0x8700, 0x1496, 0x2000 }, - { 0x0700, 0x1495, 0x0000 }, - { 0x0700, 0x1497, 0x0000 }, - { 0x8700, 0x14b8, 0x6000 }, - { 0x8700, 0x14a8, 0x5000 }, - { 0x8700, 0x14a0, 0x4000 }, - { 0x8700, 0x149c, 0x3000 }, - { 0x8700, 0x149a, 0x2000 }, - { 0x0700, 0x1499, 0x0000 }, - { 0x0700, 0x149b, 0x0000 }, - { 0x8700, 0x149e, 0x2000 }, - { 0x0700, 0x149d, 0x0000 }, - { 0x0700, 0x149f, 0x0000 }, - { 0x8700, 0x14a4, 0x3000 }, - { 0x8700, 0x14a2, 0x2000 }, - { 0x0700, 0x14a1, 0x0000 }, - { 0x0700, 0x14a3, 0x0000 }, - { 0x8700, 0x14a6, 0x2000 }, - { 0x0700, 0x14a5, 0x0000 }, - { 0x0700, 0x14a7, 0x0000 }, - { 0x8700, 0x14b0, 0x4000 }, - { 0x8700, 0x14ac, 0x3000 }, - { 0x8700, 0x14aa, 0x2000 }, - { 0x0700, 0x14a9, 0x0000 }, - { 0x0700, 0x14ab, 0x0000 }, - { 0x8700, 0x14ae, 0x2000 }, - { 0x0700, 0x14ad, 0x0000 }, - { 0x0700, 0x14af, 0x0000 }, - { 0x8700, 0x14b4, 0x3000 }, - { 0x8700, 0x14b2, 0x2000 }, - { 0x0700, 0x14b1, 0x0000 }, - { 0x0700, 0x14b3, 0x0000 }, - { 0x8700, 0x14b6, 0x2000 }, - { 0x0700, 0x14b5, 0x0000 }, - { 0x0700, 0x14b7, 0x0000 }, - { 0x8700, 0x14c8, 0x5000 }, - { 0x8700, 0x14c0, 0x4000 }, - { 0x8700, 0x14bc, 0x3000 }, - { 0x8700, 0x14ba, 0x2000 }, - { 0x0700, 0x14b9, 0x0000 }, - { 0x0700, 0x14bb, 0x0000 }, - { 0x8700, 0x14be, 0x2000 }, - { 0x0700, 0x14bd, 0x0000 }, - { 0x0700, 0x14bf, 0x0000 }, - { 0x8700, 0x14c4, 0x3000 }, - { 0x8700, 0x14c2, 0x2000 }, - { 0x0700, 0x14c1, 0x0000 }, - { 0x0700, 0x14c3, 0x0000 }, - { 0x8700, 0x14c6, 0x2000 }, - { 0x0700, 0x14c5, 0x0000 }, - { 0x0700, 0x14c7, 0x0000 }, - { 0x8700, 0x14d0, 0x4000 }, - { 0x8700, 0x14cc, 0x3000 }, - { 0x8700, 0x14ca, 0x2000 }, - { 0x0700, 0x14c9, 0x0000 }, - { 0x0700, 0x14cb, 0x0000 }, - { 0x8700, 0x14ce, 0x2000 }, - { 0x0700, 0x14cd, 0x0000 }, - { 0x0700, 0x14cf, 0x0000 }, - { 0x8700, 0x14d4, 0x3000 }, - { 0x8700, 0x14d2, 0x2000 }, - { 0x0700, 0x14d1, 0x0000 }, - { 0x0700, 0x14d3, 0x0000 }, - { 0x8700, 0x14d6, 0x2000 }, - { 0x0700, 0x14d5, 0x0000 }, - { 0x0700, 0x14d7, 0x0000 }, - { 0x8700, 0x1518, 0x7000 }, - { 0x8700, 0x14f8, 0x6000 }, - { 0x8700, 0x14e8, 0x5000 }, - { 0x8700, 0x14e0, 0x4000 }, - { 0x8700, 0x14dc, 0x3000 }, - { 0x8700, 0x14da, 0x2000 }, - { 0x0700, 0x14d9, 0x0000 }, - { 0x0700, 0x14db, 0x0000 }, - { 0x8700, 0x14de, 0x2000 }, - { 0x0700, 0x14dd, 0x0000 }, - { 0x0700, 0x14df, 0x0000 }, - { 0x8700, 0x14e4, 0x3000 }, - { 0x8700, 0x14e2, 0x2000 }, - { 0x0700, 0x14e1, 0x0000 }, - { 0x0700, 0x14e3, 0x0000 }, - { 0x8700, 0x14e6, 0x2000 }, - { 0x0700, 0x14e5, 0x0000 }, - { 0x0700, 0x14e7, 0x0000 }, - { 0x8700, 0x14f0, 0x4000 }, - { 0x8700, 0x14ec, 0x3000 }, - { 0x8700, 0x14ea, 0x2000 }, - { 0x0700, 0x14e9, 0x0000 }, - { 0x0700, 0x14eb, 0x0000 }, - { 0x8700, 0x14ee, 0x2000 }, - { 0x0700, 0x14ed, 0x0000 }, - { 0x0700, 0x14ef, 0x0000 }, - { 0x8700, 0x14f4, 0x3000 }, - { 0x8700, 0x14f2, 0x2000 }, - { 0x0700, 0x14f1, 0x0000 }, - { 0x0700, 0x14f3, 0x0000 }, - { 0x8700, 0x14f6, 0x2000 }, - { 0x0700, 0x14f5, 0x0000 }, - { 0x0700, 0x14f7, 0x0000 }, - { 0x8700, 0x1508, 0x5000 }, - { 0x8700, 0x1500, 0x4000 }, - { 0x8700, 0x14fc, 0x3000 }, - { 0x8700, 0x14fa, 0x2000 }, - { 0x0700, 0x14f9, 0x0000 }, - { 0x0700, 0x14fb, 0x0000 }, - { 0x8700, 0x14fe, 0x2000 }, - { 0x0700, 0x14fd, 0x0000 }, - { 0x0700, 0x14ff, 0x0000 }, - { 0x8700, 0x1504, 0x3000 }, - { 0x8700, 0x1502, 0x2000 }, - { 0x0700, 0x1501, 0x0000 }, - { 0x0700, 0x1503, 0x0000 }, - { 0x8700, 0x1506, 0x2000 }, - { 0x0700, 0x1505, 0x0000 }, - { 0x0700, 0x1507, 0x0000 }, - { 0x8700, 0x1510, 0x4000 }, - { 0x8700, 0x150c, 0x3000 }, - { 0x8700, 0x150a, 0x2000 }, - { 0x0700, 0x1509, 0x0000 }, - { 0x0700, 0x150b, 0x0000 }, - { 0x8700, 0x150e, 0x2000 }, - { 0x0700, 0x150d, 0x0000 }, - { 0x0700, 0x150f, 0x0000 }, - { 0x8700, 0x1514, 0x3000 }, - { 0x8700, 0x1512, 0x2000 }, - { 0x0700, 0x1511, 0x0000 }, - { 0x0700, 0x1513, 0x0000 }, - { 0x8700, 0x1516, 0x2000 }, - { 0x0700, 0x1515, 0x0000 }, - { 0x0700, 0x1517, 0x0000 }, - { 0x8700, 0x1538, 0x6000 }, - { 0x8700, 0x1528, 0x5000 }, - { 0x8700, 0x1520, 0x4000 }, - { 0x8700, 0x151c, 0x3000 }, - { 0x8700, 0x151a, 0x2000 }, - { 0x0700, 0x1519, 0x0000 }, - { 0x0700, 0x151b, 0x0000 }, - { 0x8700, 0x151e, 0x2000 }, - { 0x0700, 0x151d, 0x0000 }, - { 0x0700, 0x151f, 0x0000 }, - { 0x8700, 0x1524, 0x3000 }, - { 0x8700, 0x1522, 0x2000 }, - { 0x0700, 0x1521, 0x0000 }, - { 0x0700, 0x1523, 0x0000 }, - { 0x8700, 0x1526, 0x2000 }, - { 0x0700, 0x1525, 0x0000 }, - { 0x0700, 0x1527, 0x0000 }, - { 0x8700, 0x1530, 0x4000 }, - { 0x8700, 0x152c, 0x3000 }, - { 0x8700, 0x152a, 0x2000 }, - { 0x0700, 0x1529, 0x0000 }, - { 0x0700, 0x152b, 0x0000 }, - { 0x8700, 0x152e, 0x2000 }, - { 0x0700, 0x152d, 0x0000 }, - { 0x0700, 0x152f, 0x0000 }, - { 0x8700, 0x1534, 0x3000 }, - { 0x8700, 0x1532, 0x2000 }, - { 0x0700, 0x1531, 0x0000 }, - { 0x0700, 0x1533, 0x0000 }, - { 0x8700, 0x1536, 0x2000 }, - { 0x0700, 0x1535, 0x0000 }, - { 0x0700, 0x1537, 0x0000 }, - { 0x8700, 0x1548, 0x5000 }, - { 0x8700, 0x1540, 0x4000 }, - { 0x8700, 0x153c, 0x3000 }, - { 0x8700, 0x153a, 0x2000 }, - { 0x0700, 0x1539, 0x0000 }, - { 0x0700, 0x153b, 0x0000 }, - { 0x8700, 0x153e, 0x2000 }, - { 0x0700, 0x153d, 0x0000 }, - { 0x0700, 0x153f, 0x0000 }, - { 0x8700, 0x1544, 0x3000 }, - { 0x8700, 0x1542, 0x2000 }, - { 0x0700, 0x1541, 0x0000 }, - { 0x0700, 0x1543, 0x0000 }, - { 0x8700, 0x1546, 0x2000 }, - { 0x0700, 0x1545, 0x0000 }, - { 0x0700, 0x1547, 0x0000 }, - { 0x8700, 0x1550, 0x4000 }, - { 0x8700, 0x154c, 0x3000 }, - { 0x8700, 0x154a, 0x2000 }, - { 0x0700, 0x1549, 0x0000 }, - { 0x0700, 0x154b, 0x0000 }, - { 0x8700, 0x154e, 0x2000 }, - { 0x0700, 0x154d, 0x0000 }, - { 0x0700, 0x154f, 0x0000 }, - { 0x8700, 0x1554, 0x3000 }, - { 0x8700, 0x1552, 0x2000 }, - { 0x0700, 0x1551, 0x0000 }, - { 0x0700, 0x1553, 0x0000 }, - { 0x8700, 0x1556, 0x2000 }, - { 0x0700, 0x1555, 0x0000 }, - { 0x0700, 0x1557, 0x0000 }, - { 0x9900, 0x22ae, 0xc000 }, - { 0x8900, 0x1e24, 0xb001 }, - { 0x8700, 0x17a2, 0xa000 }, - { 0x8700, 0x1658, 0x9000 }, - { 0x8700, 0x15d8, 0x8000 }, - { 0x8700, 0x1598, 0x7000 }, - { 0x8700, 0x1578, 0x6000 }, - { 0x8700, 0x1568, 0x5000 }, - { 0x8700, 0x1560, 0x4000 }, - { 0x8700, 0x155c, 0x3000 }, - { 0x8700, 0x155a, 0x2000 }, - { 0x0700, 0x1559, 0x0000 }, - { 0x0700, 0x155b, 0x0000 }, - { 0x8700, 0x155e, 0x2000 }, - { 0x0700, 0x155d, 0x0000 }, - { 0x0700, 0x155f, 0x0000 }, - { 0x8700, 0x1564, 0x3000 }, - { 0x8700, 0x1562, 0x2000 }, - { 0x0700, 0x1561, 0x0000 }, - { 0x0700, 0x1563, 0x0000 }, - { 0x8700, 0x1566, 0x2000 }, - { 0x0700, 0x1565, 0x0000 }, - { 0x0700, 0x1567, 0x0000 }, - { 0x8700, 0x1570, 0x4000 }, - { 0x8700, 0x156c, 0x3000 }, - { 0x8700, 0x156a, 0x2000 }, - { 0x0700, 0x1569, 0x0000 }, - { 0x0700, 0x156b, 0x0000 }, - { 0x8700, 0x156e, 0x2000 }, - { 0x0700, 0x156d, 0x0000 }, - { 0x0700, 0x156f, 0x0000 }, - { 0x8700, 0x1574, 0x3000 }, - { 0x8700, 0x1572, 0x2000 }, - { 0x0700, 0x1571, 0x0000 }, - { 0x0700, 0x1573, 0x0000 }, - { 0x8700, 0x1576, 0x2000 }, - { 0x0700, 0x1575, 0x0000 }, - { 0x0700, 0x1577, 0x0000 }, - { 0x8700, 0x1588, 0x5000 }, - { 0x8700, 0x1580, 0x4000 }, - { 0x8700, 0x157c, 0x3000 }, - { 0x8700, 0x157a, 0x2000 }, - { 0x0700, 0x1579, 0x0000 }, - { 0x0700, 0x157b, 0x0000 }, - { 0x8700, 0x157e, 0x2000 }, - { 0x0700, 0x157d, 0x0000 }, - { 0x0700, 0x157f, 0x0000 }, - { 0x8700, 0x1584, 0x3000 }, - { 0x8700, 0x1582, 0x2000 }, - { 0x0700, 0x1581, 0x0000 }, - { 0x0700, 0x1583, 0x0000 }, - { 0x8700, 0x1586, 0x2000 }, - { 0x0700, 0x1585, 0x0000 }, - { 0x0700, 0x1587, 0x0000 }, - { 0x8700, 0x1590, 0x4000 }, - { 0x8700, 0x158c, 0x3000 }, - { 0x8700, 0x158a, 0x2000 }, - { 0x0700, 0x1589, 0x0000 }, - { 0x0700, 0x158b, 0x0000 }, - { 0x8700, 0x158e, 0x2000 }, - { 0x0700, 0x158d, 0x0000 }, - { 0x0700, 0x158f, 0x0000 }, - { 0x8700, 0x1594, 0x3000 }, - { 0x8700, 0x1592, 0x2000 }, - { 0x0700, 0x1591, 0x0000 }, - { 0x0700, 0x1593, 0x0000 }, - { 0x8700, 0x1596, 0x2000 }, - { 0x0700, 0x1595, 0x0000 }, - { 0x0700, 0x1597, 0x0000 }, - { 0x8700, 0x15b8, 0x6000 }, - { 0x8700, 0x15a8, 0x5000 }, - { 0x8700, 0x15a0, 0x4000 }, - { 0x8700, 0x159c, 0x3000 }, - { 0x8700, 0x159a, 0x2000 }, - { 0x0700, 0x1599, 0x0000 }, - { 0x0700, 0x159b, 0x0000 }, - { 0x8700, 0x159e, 0x2000 }, - { 0x0700, 0x159d, 0x0000 }, - { 0x0700, 0x159f, 0x0000 }, - { 0x8700, 0x15a4, 0x3000 }, - { 0x8700, 0x15a2, 0x2000 }, - { 0x0700, 0x15a1, 0x0000 }, - { 0x0700, 0x15a3, 0x0000 }, - { 0x8700, 0x15a6, 0x2000 }, - { 0x0700, 0x15a5, 0x0000 }, - { 0x0700, 0x15a7, 0x0000 }, - { 0x8700, 0x15b0, 0x4000 }, - { 0x8700, 0x15ac, 0x3000 }, - { 0x8700, 0x15aa, 0x2000 }, - { 0x0700, 0x15a9, 0x0000 }, - { 0x0700, 0x15ab, 0x0000 }, - { 0x8700, 0x15ae, 0x2000 }, - { 0x0700, 0x15ad, 0x0000 }, - { 0x0700, 0x15af, 0x0000 }, - { 0x8700, 0x15b4, 0x3000 }, - { 0x8700, 0x15b2, 0x2000 }, - { 0x0700, 0x15b1, 0x0000 }, - { 0x0700, 0x15b3, 0x0000 }, - { 0x8700, 0x15b6, 0x2000 }, - { 0x0700, 0x15b5, 0x0000 }, - { 0x0700, 0x15b7, 0x0000 }, - { 0x8700, 0x15c8, 0x5000 }, - { 0x8700, 0x15c0, 0x4000 }, - { 0x8700, 0x15bc, 0x3000 }, - { 0x8700, 0x15ba, 0x2000 }, - { 0x0700, 0x15b9, 0x0000 }, - { 0x0700, 0x15bb, 0x0000 }, - { 0x8700, 0x15be, 0x2000 }, - { 0x0700, 0x15bd, 0x0000 }, - { 0x0700, 0x15bf, 0x0000 }, - { 0x8700, 0x15c4, 0x3000 }, - { 0x8700, 0x15c2, 0x2000 }, - { 0x0700, 0x15c1, 0x0000 }, - { 0x0700, 0x15c3, 0x0000 }, - { 0x8700, 0x15c6, 0x2000 }, - { 0x0700, 0x15c5, 0x0000 }, - { 0x0700, 0x15c7, 0x0000 }, - { 0x8700, 0x15d0, 0x4000 }, - { 0x8700, 0x15cc, 0x3000 }, - { 0x8700, 0x15ca, 0x2000 }, - { 0x0700, 0x15c9, 0x0000 }, - { 0x0700, 0x15cb, 0x0000 }, - { 0x8700, 0x15ce, 0x2000 }, - { 0x0700, 0x15cd, 0x0000 }, - { 0x0700, 0x15cf, 0x0000 }, - { 0x8700, 0x15d4, 0x3000 }, - { 0x8700, 0x15d2, 0x2000 }, - { 0x0700, 0x15d1, 0x0000 }, - { 0x0700, 0x15d3, 0x0000 }, - { 0x8700, 0x15d6, 0x2000 }, - { 0x0700, 0x15d5, 0x0000 }, - { 0x0700, 0x15d7, 0x0000 }, - { 0x8700, 0x1618, 0x7000 }, - { 0x8700, 0x15f8, 0x6000 }, - { 0x8700, 0x15e8, 0x5000 }, - { 0x8700, 0x15e0, 0x4000 }, - { 0x8700, 0x15dc, 0x3000 }, - { 0x8700, 0x15da, 0x2000 }, - { 0x0700, 0x15d9, 0x0000 }, - { 0x0700, 0x15db, 0x0000 }, - { 0x8700, 0x15de, 0x2000 }, - { 0x0700, 0x15dd, 0x0000 }, - { 0x0700, 0x15df, 0x0000 }, - { 0x8700, 0x15e4, 0x3000 }, - { 0x8700, 0x15e2, 0x2000 }, - { 0x0700, 0x15e1, 0x0000 }, - { 0x0700, 0x15e3, 0x0000 }, - { 0x8700, 0x15e6, 0x2000 }, - { 0x0700, 0x15e5, 0x0000 }, - { 0x0700, 0x15e7, 0x0000 }, - { 0x8700, 0x15f0, 0x4000 }, - { 0x8700, 0x15ec, 0x3000 }, - { 0x8700, 0x15ea, 0x2000 }, - { 0x0700, 0x15e9, 0x0000 }, - { 0x0700, 0x15eb, 0x0000 }, - { 0x8700, 0x15ee, 0x2000 }, - { 0x0700, 0x15ed, 0x0000 }, - { 0x0700, 0x15ef, 0x0000 }, - { 0x8700, 0x15f4, 0x3000 }, - { 0x8700, 0x15f2, 0x2000 }, - { 0x0700, 0x15f1, 0x0000 }, - { 0x0700, 0x15f3, 0x0000 }, - { 0x8700, 0x15f6, 0x2000 }, - { 0x0700, 0x15f5, 0x0000 }, - { 0x0700, 0x15f7, 0x0000 }, - { 0x8700, 0x1608, 0x5000 }, - { 0x8700, 0x1600, 0x4000 }, - { 0x8700, 0x15fc, 0x3000 }, - { 0x8700, 0x15fa, 0x2000 }, - { 0x0700, 0x15f9, 0x0000 }, - { 0x0700, 0x15fb, 0x0000 }, - { 0x8700, 0x15fe, 0x2000 }, - { 0x0700, 0x15fd, 0x0000 }, - { 0x0700, 0x15ff, 0x0000 }, - { 0x8700, 0x1604, 0x3000 }, - { 0x8700, 0x1602, 0x2000 }, - { 0x0700, 0x1601, 0x0000 }, - { 0x0700, 0x1603, 0x0000 }, - { 0x8700, 0x1606, 0x2000 }, - { 0x0700, 0x1605, 0x0000 }, - { 0x0700, 0x1607, 0x0000 }, - { 0x8700, 0x1610, 0x4000 }, - { 0x8700, 0x160c, 0x3000 }, - { 0x8700, 0x160a, 0x2000 }, - { 0x0700, 0x1609, 0x0000 }, - { 0x0700, 0x160b, 0x0000 }, - { 0x8700, 0x160e, 0x2000 }, - { 0x0700, 0x160d, 0x0000 }, - { 0x0700, 0x160f, 0x0000 }, - { 0x8700, 0x1614, 0x3000 }, - { 0x8700, 0x1612, 0x2000 }, - { 0x0700, 0x1611, 0x0000 }, - { 0x0700, 0x1613, 0x0000 }, - { 0x8700, 0x1616, 0x2000 }, - { 0x0700, 0x1615, 0x0000 }, - { 0x0700, 0x1617, 0x0000 }, - { 0x8700, 0x1638, 0x6000 }, - { 0x8700, 0x1628, 0x5000 }, - { 0x8700, 0x1620, 0x4000 }, - { 0x8700, 0x161c, 0x3000 }, - { 0x8700, 0x161a, 0x2000 }, - { 0x0700, 0x1619, 0x0000 }, - { 0x0700, 0x161b, 0x0000 }, - { 0x8700, 0x161e, 0x2000 }, - { 0x0700, 0x161d, 0x0000 }, - { 0x0700, 0x161f, 0x0000 }, - { 0x8700, 0x1624, 0x3000 }, - { 0x8700, 0x1622, 0x2000 }, - { 0x0700, 0x1621, 0x0000 }, - { 0x0700, 0x1623, 0x0000 }, - { 0x8700, 0x1626, 0x2000 }, - { 0x0700, 0x1625, 0x0000 }, - { 0x0700, 0x1627, 0x0000 }, - { 0x8700, 0x1630, 0x4000 }, - { 0x8700, 0x162c, 0x3000 }, - { 0x8700, 0x162a, 0x2000 }, - { 0x0700, 0x1629, 0x0000 }, - { 0x0700, 0x162b, 0x0000 }, - { 0x8700, 0x162e, 0x2000 }, - { 0x0700, 0x162d, 0x0000 }, - { 0x0700, 0x162f, 0x0000 }, - { 0x8700, 0x1634, 0x3000 }, - { 0x8700, 0x1632, 0x2000 }, - { 0x0700, 0x1631, 0x0000 }, - { 0x0700, 0x1633, 0x0000 }, - { 0x8700, 0x1636, 0x2000 }, - { 0x0700, 0x1635, 0x0000 }, - { 0x0700, 0x1637, 0x0000 }, - { 0x8700, 0x1648, 0x5000 }, - { 0x8700, 0x1640, 0x4000 }, - { 0x8700, 0x163c, 0x3000 }, - { 0x8700, 0x163a, 0x2000 }, - { 0x0700, 0x1639, 0x0000 }, - { 0x0700, 0x163b, 0x0000 }, - { 0x8700, 0x163e, 0x2000 }, - { 0x0700, 0x163d, 0x0000 }, - { 0x0700, 0x163f, 0x0000 }, - { 0x8700, 0x1644, 0x3000 }, - { 0x8700, 0x1642, 0x2000 }, - { 0x0700, 0x1641, 0x0000 }, - { 0x0700, 0x1643, 0x0000 }, - { 0x8700, 0x1646, 0x2000 }, - { 0x0700, 0x1645, 0x0000 }, - { 0x0700, 0x1647, 0x0000 }, - { 0x8700, 0x1650, 0x4000 }, - { 0x8700, 0x164c, 0x3000 }, - { 0x8700, 0x164a, 0x2000 }, - { 0x0700, 0x1649, 0x0000 }, - { 0x0700, 0x164b, 0x0000 }, - { 0x8700, 0x164e, 0x2000 }, - { 0x0700, 0x164d, 0x0000 }, - { 0x0700, 0x164f, 0x0000 }, - { 0x8700, 0x1654, 0x3000 }, - { 0x8700, 0x1652, 0x2000 }, - { 0x0700, 0x1651, 0x0000 }, - { 0x0700, 0x1653, 0x0000 }, - { 0x8700, 0x1656, 0x2000 }, - { 0x0700, 0x1655, 0x0000 }, - { 0x0700, 0x1657, 0x0000 }, - { 0x8700, 0x16e4, 0x8000 }, - { 0x8700, 0x16a4, 0x7000 }, - { 0x8700, 0x1681, 0x6000 }, - { 0x8700, 0x1668, 0x5000 }, - { 0x8700, 0x1660, 0x4000 }, - { 0x8700, 0x165c, 0x3000 }, - { 0x8700, 0x165a, 0x2000 }, - { 0x0700, 0x1659, 0x0000 }, - { 0x0700, 0x165b, 0x0000 }, - { 0x8700, 0x165e, 0x2000 }, - { 0x0700, 0x165d, 0x0000 }, - { 0x0700, 0x165f, 0x0000 }, - { 0x8700, 0x1664, 0x3000 }, - { 0x8700, 0x1662, 0x2000 }, - { 0x0700, 0x1661, 0x0000 }, - { 0x0700, 0x1663, 0x0000 }, - { 0x8700, 0x1666, 0x2000 }, - { 0x0700, 0x1665, 0x0000 }, - { 0x0700, 0x1667, 0x0000 }, - { 0x8700, 0x1670, 0x4000 }, - { 0x8700, 0x166c, 0x3000 }, - { 0x8700, 0x166a, 0x2000 }, - { 0x0700, 0x1669, 0x0000 }, - { 0x0700, 0x166b, 0x0000 }, - { 0x9500, 0x166e, 0x2000 }, - { 0x1500, 0x166d, 0x0000 }, - { 0x0700, 0x166f, 0x0000 }, - { 0x8700, 0x1674, 0x3000 }, - { 0x8700, 0x1672, 0x2000 }, - { 0x0700, 0x1671, 0x0000 }, - { 0x0700, 0x1673, 0x0000 }, - { 0x8700, 0x1676, 0x2000 }, - { 0x0700, 0x1675, 0x0000 }, - { 0x1d00, 0x1680, 0x0000 }, - { 0x8700, 0x1691, 0x5000 }, - { 0x8700, 0x1689, 0x4000 }, - { 0x8700, 0x1685, 0x3000 }, - { 0x8700, 0x1683, 0x2000 }, - { 0x0700, 0x1682, 0x0000 }, - { 0x0700, 0x1684, 0x0000 }, - { 0x8700, 0x1687, 0x2000 }, - { 0x0700, 0x1686, 0x0000 }, - { 0x0700, 0x1688, 0x0000 }, - { 0x8700, 0x168d, 0x3000 }, - { 0x8700, 0x168b, 0x2000 }, - { 0x0700, 0x168a, 0x0000 }, - { 0x0700, 0x168c, 0x0000 }, - { 0x8700, 0x168f, 0x2000 }, - { 0x0700, 0x168e, 0x0000 }, - { 0x0700, 0x1690, 0x0000 }, - { 0x8700, 0x1699, 0x4000 }, - { 0x8700, 0x1695, 0x3000 }, - { 0x8700, 0x1693, 0x2000 }, - { 0x0700, 0x1692, 0x0000 }, - { 0x0700, 0x1694, 0x0000 }, - { 0x8700, 0x1697, 0x2000 }, - { 0x0700, 0x1696, 0x0000 }, - { 0x0700, 0x1698, 0x0000 }, - { 0x8700, 0x16a0, 0x3000 }, - { 0x9600, 0x169b, 0x2000 }, - { 0x0700, 0x169a, 0x0000 }, - { 0x1200, 0x169c, 0x0000 }, - { 0x8700, 0x16a2, 0x2000 }, - { 0x0700, 0x16a1, 0x0000 }, - { 0x0700, 0x16a3, 0x0000 }, - { 0x8700, 0x16c4, 0x6000 }, - { 0x8700, 0x16b4, 0x5000 }, - { 0x8700, 0x16ac, 0x4000 }, - { 0x8700, 0x16a8, 0x3000 }, - { 0x8700, 0x16a6, 0x2000 }, - { 0x0700, 0x16a5, 0x0000 }, - { 0x0700, 0x16a7, 0x0000 }, - { 0x8700, 0x16aa, 0x2000 }, - { 0x0700, 0x16a9, 0x0000 }, - { 0x0700, 0x16ab, 0x0000 }, - { 0x8700, 0x16b0, 0x3000 }, - { 0x8700, 0x16ae, 0x2000 }, - { 0x0700, 0x16ad, 0x0000 }, - { 0x0700, 0x16af, 0x0000 }, - { 0x8700, 0x16b2, 0x2000 }, - { 0x0700, 0x16b1, 0x0000 }, - { 0x0700, 0x16b3, 0x0000 }, - { 0x8700, 0x16bc, 0x4000 }, - { 0x8700, 0x16b8, 0x3000 }, - { 0x8700, 0x16b6, 0x2000 }, - { 0x0700, 0x16b5, 0x0000 }, - { 0x0700, 0x16b7, 0x0000 }, - { 0x8700, 0x16ba, 0x2000 }, - { 0x0700, 0x16b9, 0x0000 }, - { 0x0700, 0x16bb, 0x0000 }, - { 0x8700, 0x16c0, 0x3000 }, - { 0x8700, 0x16be, 0x2000 }, - { 0x0700, 0x16bd, 0x0000 }, - { 0x0700, 0x16bf, 0x0000 }, - { 0x8700, 0x16c2, 0x2000 }, - { 0x0700, 0x16c1, 0x0000 }, - { 0x0700, 0x16c3, 0x0000 }, - { 0x8700, 0x16d4, 0x5000 }, - { 0x8700, 0x16cc, 0x4000 }, - { 0x8700, 0x16c8, 0x3000 }, - { 0x8700, 0x16c6, 0x2000 }, - { 0x0700, 0x16c5, 0x0000 }, - { 0x0700, 0x16c7, 0x0000 }, - { 0x8700, 0x16ca, 0x2000 }, - { 0x0700, 0x16c9, 0x0000 }, - { 0x0700, 0x16cb, 0x0000 }, - { 0x8700, 0x16d0, 0x3000 }, - { 0x8700, 0x16ce, 0x2000 }, - { 0x0700, 0x16cd, 0x0000 }, - { 0x0700, 0x16cf, 0x0000 }, - { 0x8700, 0x16d2, 0x2000 }, - { 0x0700, 0x16d1, 0x0000 }, - { 0x0700, 0x16d3, 0x0000 }, - { 0x8700, 0x16dc, 0x4000 }, - { 0x8700, 0x16d8, 0x3000 }, - { 0x8700, 0x16d6, 0x2000 }, - { 0x0700, 0x16d5, 0x0000 }, - { 0x0700, 0x16d7, 0x0000 }, - { 0x8700, 0x16da, 0x2000 }, - { 0x0700, 0x16d9, 0x0000 }, - { 0x0700, 0x16db, 0x0000 }, - { 0x8700, 0x16e0, 0x3000 }, - { 0x8700, 0x16de, 0x2000 }, - { 0x0700, 0x16dd, 0x0000 }, - { 0x0700, 0x16df, 0x0000 }, - { 0x8700, 0x16e2, 0x2000 }, - { 0x0700, 0x16e1, 0x0000 }, - { 0x0700, 0x16e3, 0x0000 }, - { 0x8700, 0x1748, 0x7000 }, - { 0x8c00, 0x1714, 0x6000 }, - { 0x8700, 0x1703, 0x5000 }, - { 0x9500, 0x16ec, 0x4000 }, - { 0x8700, 0x16e8, 0x3000 }, - { 0x8700, 0x16e6, 0x2000 }, - { 0x0700, 0x16e5, 0x0000 }, - { 0x0700, 0x16e7, 0x0000 }, - { 0x8700, 0x16ea, 0x2000 }, - { 0x0700, 0x16e9, 0x0000 }, - { 0x1500, 0x16eb, 0x0000 }, - { 0x8e00, 0x16f0, 0x3000 }, - { 0x8e00, 0x16ee, 0x2000 }, - { 0x1500, 0x16ed, 0x0000 }, - { 0x0e00, 0x16ef, 0x0000 }, - { 0x8700, 0x1701, 0x2000 }, - { 0x0700, 0x1700, 0x0000 }, - { 0x0700, 0x1702, 0x0000 }, - { 0x8700, 0x170b, 0x4000 }, - { 0x8700, 0x1707, 0x3000 }, - { 0x8700, 0x1705, 0x2000 }, - { 0x0700, 0x1704, 0x0000 }, - { 0x0700, 0x1706, 0x0000 }, - { 0x8700, 0x1709, 0x2000 }, - { 0x0700, 0x1708, 0x0000 }, - { 0x0700, 0x170a, 0x0000 }, - { 0x8700, 0x1710, 0x3000 }, - { 0x8700, 0x170e, 0x2000 }, - { 0x0700, 0x170c, 0x0000 }, - { 0x0700, 0x170f, 0x0000 }, - { 0x8c00, 0x1712, 0x2000 }, - { 0x0700, 0x1711, 0x0000 }, - { 0x0c00, 0x1713, 0x0000 }, - { 0x8700, 0x172f, 0x5000 }, - { 0x8700, 0x1727, 0x4000 }, - { 0x8700, 0x1723, 0x3000 }, - { 0x8700, 0x1721, 0x2000 }, - { 0x0700, 0x1720, 0x0000 }, - { 0x0700, 0x1722, 0x0000 }, - { 0x8700, 0x1725, 0x2000 }, - { 0x0700, 0x1724, 0x0000 }, - { 0x0700, 0x1726, 0x0000 }, - { 0x8700, 0x172b, 0x3000 }, - { 0x8700, 0x1729, 0x2000 }, - { 0x0700, 0x1728, 0x0000 }, - { 0x0700, 0x172a, 0x0000 }, - { 0x8700, 0x172d, 0x2000 }, - { 0x0700, 0x172c, 0x0000 }, - { 0x0700, 0x172e, 0x0000 }, - { 0x8700, 0x1740, 0x4000 }, - { 0x8c00, 0x1733, 0x3000 }, - { 0x8700, 0x1731, 0x2000 }, - { 0x0700, 0x1730, 0x0000 }, - { 0x0c00, 0x1732, 0x0000 }, - { 0x9500, 0x1735, 0x2000 }, - { 0x0c00, 0x1734, 0x0000 }, - { 0x1500, 0x1736, 0x0000 }, - { 0x8700, 0x1744, 0x3000 }, - { 0x8700, 0x1742, 0x2000 }, - { 0x0700, 0x1741, 0x0000 }, - { 0x0700, 0x1743, 0x0000 }, - { 0x8700, 0x1746, 0x2000 }, - { 0x0700, 0x1745, 0x0000 }, - { 0x0700, 0x1747, 0x0000 }, - { 0x8700, 0x1782, 0x6000 }, - { 0x8700, 0x1764, 0x5000 }, - { 0x8700, 0x1750, 0x4000 }, - { 0x8700, 0x174c, 0x3000 }, - { 0x8700, 0x174a, 0x2000 }, - { 0x0700, 0x1749, 0x0000 }, - { 0x0700, 0x174b, 0x0000 }, - { 0x8700, 0x174e, 0x2000 }, - { 0x0700, 0x174d, 0x0000 }, - { 0x0700, 0x174f, 0x0000 }, - { 0x8700, 0x1760, 0x3000 }, - { 0x8c00, 0x1752, 0x2000 }, - { 0x0700, 0x1751, 0x0000 }, - { 0x0c00, 0x1753, 0x0000 }, - { 0x8700, 0x1762, 0x2000 }, - { 0x0700, 0x1761, 0x0000 }, - { 0x0700, 0x1763, 0x0000 }, - { 0x8700, 0x176c, 0x4000 }, - { 0x8700, 0x1768, 0x3000 }, - { 0x8700, 0x1766, 0x2000 }, - { 0x0700, 0x1765, 0x0000 }, - { 0x0700, 0x1767, 0x0000 }, - { 0x8700, 0x176a, 0x2000 }, - { 0x0700, 0x1769, 0x0000 }, - { 0x0700, 0x176b, 0x0000 }, - { 0x8c00, 0x1772, 0x3000 }, - { 0x8700, 0x176f, 0x2000 }, - { 0x0700, 0x176e, 0x0000 }, - { 0x0700, 0x1770, 0x0000 }, - { 0x8700, 0x1780, 0x2000 }, - { 0x0c00, 0x1773, 0x0000 }, - { 0x0700, 0x1781, 0x0000 }, - { 0x8700, 0x1792, 0x5000 }, - { 0x8700, 0x178a, 0x4000 }, - { 0x8700, 0x1786, 0x3000 }, - { 0x8700, 0x1784, 0x2000 }, - { 0x0700, 0x1783, 0x0000 }, - { 0x0700, 0x1785, 0x0000 }, - { 0x8700, 0x1788, 0x2000 }, - { 0x0700, 0x1787, 0x0000 }, - { 0x0700, 0x1789, 0x0000 }, - { 0x8700, 0x178e, 0x3000 }, - { 0x8700, 0x178c, 0x2000 }, - { 0x0700, 0x178b, 0x0000 }, - { 0x0700, 0x178d, 0x0000 }, - { 0x8700, 0x1790, 0x2000 }, - { 0x0700, 0x178f, 0x0000 }, - { 0x0700, 0x1791, 0x0000 }, - { 0x8700, 0x179a, 0x4000 }, - { 0x8700, 0x1796, 0x3000 }, - { 0x8700, 0x1794, 0x2000 }, - { 0x0700, 0x1793, 0x0000 }, - { 0x0700, 0x1795, 0x0000 }, - { 0x8700, 0x1798, 0x2000 }, - { 0x0700, 0x1797, 0x0000 }, - { 0x0700, 0x1799, 0x0000 }, - { 0x8700, 0x179e, 0x3000 }, - { 0x8700, 0x179c, 0x2000 }, - { 0x0700, 0x179b, 0x0000 }, - { 0x0700, 0x179d, 0x0000 }, - { 0x8700, 0x17a0, 0x2000 }, - { 0x0700, 0x179f, 0x0000 }, - { 0x0700, 0x17a1, 0x0000 }, - { 0x8700, 0x1915, 0x9000 }, - { 0x8700, 0x1837, 0x8000 }, - { 0x8d00, 0x17e4, 0x7000 }, - { 0x8a00, 0x17c2, 0x6000 }, - { 0x8700, 0x17b2, 0x5000 }, - { 0x8700, 0x17aa, 0x4000 }, - { 0x8700, 0x17a6, 0x3000 }, - { 0x8700, 0x17a4, 0x2000 }, - { 0x0700, 0x17a3, 0x0000 }, - { 0x0700, 0x17a5, 0x0000 }, - { 0x8700, 0x17a8, 0x2000 }, - { 0x0700, 0x17a7, 0x0000 }, - { 0x0700, 0x17a9, 0x0000 }, - { 0x8700, 0x17ae, 0x3000 }, - { 0x8700, 0x17ac, 0x2000 }, - { 0x0700, 0x17ab, 0x0000 }, - { 0x0700, 0x17ad, 0x0000 }, - { 0x8700, 0x17b0, 0x2000 }, - { 0x0700, 0x17af, 0x0000 }, - { 0x0700, 0x17b1, 0x0000 }, - { 0x8c00, 0x17ba, 0x4000 }, - { 0x8a00, 0x17b6, 0x3000 }, - { 0x8100, 0x17b4, 0x2000 }, - { 0x0700, 0x17b3, 0x0000 }, - { 0x0100, 0x17b5, 0x0000 }, - { 0x8c00, 0x17b8, 0x2000 }, - { 0x0c00, 0x17b7, 0x0000 }, - { 0x0c00, 0x17b9, 0x0000 }, - { 0x8a00, 0x17be, 0x3000 }, - { 0x8c00, 0x17bc, 0x2000 }, - { 0x0c00, 0x17bb, 0x0000 }, - { 0x0c00, 0x17bd, 0x0000 }, - { 0x8a00, 0x17c0, 0x2000 }, - { 0x0a00, 0x17bf, 0x0000 }, - { 0x0a00, 0x17c1, 0x0000 }, - { 0x8c00, 0x17d2, 0x5000 }, - { 0x8c00, 0x17ca, 0x4000 }, - { 0x8c00, 0x17c6, 0x3000 }, - { 0x8a00, 0x17c4, 0x2000 }, - { 0x0a00, 0x17c3, 0x0000 }, - { 0x0a00, 0x17c5, 0x0000 }, - { 0x8a00, 0x17c8, 0x2000 }, - { 0x0a00, 0x17c7, 0x0000 }, - { 0x0c00, 0x17c9, 0x0000 }, - { 0x8c00, 0x17ce, 0x3000 }, - { 0x8c00, 0x17cc, 0x2000 }, - { 0x0c00, 0x17cb, 0x0000 }, - { 0x0c00, 0x17cd, 0x0000 }, - { 0x8c00, 0x17d0, 0x2000 }, - { 0x0c00, 0x17cf, 0x0000 }, - { 0x0c00, 0x17d1, 0x0000 }, - { 0x9500, 0x17da, 0x4000 }, - { 0x9500, 0x17d6, 0x3000 }, - { 0x9500, 0x17d4, 0x2000 }, - { 0x0c00, 0x17d3, 0x0000 }, - { 0x1500, 0x17d5, 0x0000 }, - { 0x9500, 0x17d8, 0x2000 }, - { 0x0600, 0x17d7, 0x0000 }, - { 0x1500, 0x17d9, 0x0000 }, - { 0x8d00, 0x17e0, 0x3000 }, - { 0x8700, 0x17dc, 0x2000 }, - { 0x1700, 0x17db, 0x0000 }, - { 0x0c00, 0x17dd, 0x0000 }, - { 0x8d00, 0x17e2, 0x2000 }, - { 0x0d00, 0x17e1, 0x0000 }, - { 0x0d00, 0x17e3, 0x0000 }, - { 0x8d00, 0x1811, 0x6000 }, - { 0x9500, 0x1800, 0x5000 }, - { 0x8f00, 0x17f2, 0x4000 }, - { 0x8d00, 0x17e8, 0x3000 }, - { 0x8d00, 0x17e6, 0x2000 }, - { 0x0d00, 0x17e5, 0x0000 }, - { 0x0d00, 0x17e7, 0x0000 }, - { 0x8f00, 0x17f0, 0x2000 }, - { 0x0d00, 0x17e9, 0x0000 }, - { 0x0f00, 0x17f1, 0x0000 }, - { 0x8f00, 0x17f6, 0x3000 }, - { 0x8f00, 0x17f4, 0x2000 }, - { 0x0f00, 0x17f3, 0x0000 }, - { 0x0f00, 0x17f5, 0x0000 }, - { 0x8f00, 0x17f8, 0x2000 }, - { 0x0f00, 0x17f7, 0x0000 }, - { 0x0f00, 0x17f9, 0x0000 }, - { 0x9500, 0x1808, 0x4000 }, - { 0x9500, 0x1804, 0x3000 }, - { 0x9500, 0x1802, 0x2000 }, - { 0x1500, 0x1801, 0x0000 }, - { 0x1500, 0x1803, 0x0000 }, - { 0x9100, 0x1806, 0x2000 }, - { 0x1500, 0x1805, 0x0000 }, - { 0x1500, 0x1807, 0x0000 }, - { 0x8c00, 0x180c, 0x3000 }, - { 0x9500, 0x180a, 0x2000 }, - { 0x1500, 0x1809, 0x0000 }, - { 0x0c00, 0x180b, 0x0000 }, - { 0x9d00, 0x180e, 0x2000 }, - { 0x0c00, 0x180d, 0x0000 }, - { 0x0d00, 0x1810, 0x0000 }, - { 0x8700, 0x1827, 0x5000 }, - { 0x8d00, 0x1819, 0x4000 }, - { 0x8d00, 0x1815, 0x3000 }, - { 0x8d00, 0x1813, 0x2000 }, - { 0x0d00, 0x1812, 0x0000 }, - { 0x0d00, 0x1814, 0x0000 }, - { 0x8d00, 0x1817, 0x2000 }, - { 0x0d00, 0x1816, 0x0000 }, - { 0x0d00, 0x1818, 0x0000 }, - { 0x8700, 0x1823, 0x3000 }, - { 0x8700, 0x1821, 0x2000 }, - { 0x0700, 0x1820, 0x0000 }, - { 0x0700, 0x1822, 0x0000 }, - { 0x8700, 0x1825, 0x2000 }, - { 0x0700, 0x1824, 0x0000 }, - { 0x0700, 0x1826, 0x0000 }, - { 0x8700, 0x182f, 0x4000 }, - { 0x8700, 0x182b, 0x3000 }, - { 0x8700, 0x1829, 0x2000 }, - { 0x0700, 0x1828, 0x0000 }, - { 0x0700, 0x182a, 0x0000 }, - { 0x8700, 0x182d, 0x2000 }, - { 0x0700, 0x182c, 0x0000 }, - { 0x0700, 0x182e, 0x0000 }, - { 0x8700, 0x1833, 0x3000 }, - { 0x8700, 0x1831, 0x2000 }, - { 0x0700, 0x1830, 0x0000 }, - { 0x0700, 0x1832, 0x0000 }, - { 0x8700, 0x1835, 0x2000 }, - { 0x0700, 0x1834, 0x0000 }, - { 0x0700, 0x1836, 0x0000 }, - { 0x8700, 0x1877, 0x7000 }, - { 0x8700, 0x1857, 0x6000 }, - { 0x8700, 0x1847, 0x5000 }, - { 0x8700, 0x183f, 0x4000 }, - { 0x8700, 0x183b, 0x3000 }, - { 0x8700, 0x1839, 0x2000 }, - { 0x0700, 0x1838, 0x0000 }, - { 0x0700, 0x183a, 0x0000 }, - { 0x8700, 0x183d, 0x2000 }, - { 0x0700, 0x183c, 0x0000 }, - { 0x0700, 0x183e, 0x0000 }, - { 0x8600, 0x1843, 0x3000 }, - { 0x8700, 0x1841, 0x2000 }, - { 0x0700, 0x1840, 0x0000 }, - { 0x0700, 0x1842, 0x0000 }, - { 0x8700, 0x1845, 0x2000 }, - { 0x0700, 0x1844, 0x0000 }, - { 0x0700, 0x1846, 0x0000 }, - { 0x8700, 0x184f, 0x4000 }, - { 0x8700, 0x184b, 0x3000 }, - { 0x8700, 0x1849, 0x2000 }, - { 0x0700, 0x1848, 0x0000 }, - { 0x0700, 0x184a, 0x0000 }, - { 0x8700, 0x184d, 0x2000 }, - { 0x0700, 0x184c, 0x0000 }, - { 0x0700, 0x184e, 0x0000 }, - { 0x8700, 0x1853, 0x3000 }, - { 0x8700, 0x1851, 0x2000 }, - { 0x0700, 0x1850, 0x0000 }, - { 0x0700, 0x1852, 0x0000 }, - { 0x8700, 0x1855, 0x2000 }, - { 0x0700, 0x1854, 0x0000 }, - { 0x0700, 0x1856, 0x0000 }, - { 0x8700, 0x1867, 0x5000 }, - { 0x8700, 0x185f, 0x4000 }, - { 0x8700, 0x185b, 0x3000 }, - { 0x8700, 0x1859, 0x2000 }, - { 0x0700, 0x1858, 0x0000 }, - { 0x0700, 0x185a, 0x0000 }, - { 0x8700, 0x185d, 0x2000 }, - { 0x0700, 0x185c, 0x0000 }, - { 0x0700, 0x185e, 0x0000 }, - { 0x8700, 0x1863, 0x3000 }, - { 0x8700, 0x1861, 0x2000 }, - { 0x0700, 0x1860, 0x0000 }, - { 0x0700, 0x1862, 0x0000 }, - { 0x8700, 0x1865, 0x2000 }, - { 0x0700, 0x1864, 0x0000 }, - { 0x0700, 0x1866, 0x0000 }, - { 0x8700, 0x186f, 0x4000 }, - { 0x8700, 0x186b, 0x3000 }, - { 0x8700, 0x1869, 0x2000 }, - { 0x0700, 0x1868, 0x0000 }, - { 0x0700, 0x186a, 0x0000 }, - { 0x8700, 0x186d, 0x2000 }, - { 0x0700, 0x186c, 0x0000 }, - { 0x0700, 0x186e, 0x0000 }, - { 0x8700, 0x1873, 0x3000 }, - { 0x8700, 0x1871, 0x2000 }, - { 0x0700, 0x1870, 0x0000 }, - { 0x0700, 0x1872, 0x0000 }, - { 0x8700, 0x1875, 0x2000 }, - { 0x0700, 0x1874, 0x0000 }, - { 0x0700, 0x1876, 0x0000 }, - { 0x8700, 0x189f, 0x6000 }, - { 0x8700, 0x188f, 0x5000 }, - { 0x8700, 0x1887, 0x4000 }, - { 0x8700, 0x1883, 0x3000 }, - { 0x8700, 0x1881, 0x2000 }, - { 0x0700, 0x1880, 0x0000 }, - { 0x0700, 0x1882, 0x0000 }, - { 0x8700, 0x1885, 0x2000 }, - { 0x0700, 0x1884, 0x0000 }, - { 0x0700, 0x1886, 0x0000 }, - { 0x8700, 0x188b, 0x3000 }, - { 0x8700, 0x1889, 0x2000 }, - { 0x0700, 0x1888, 0x0000 }, - { 0x0700, 0x188a, 0x0000 }, - { 0x8700, 0x188d, 0x2000 }, - { 0x0700, 0x188c, 0x0000 }, - { 0x0700, 0x188e, 0x0000 }, - { 0x8700, 0x1897, 0x4000 }, - { 0x8700, 0x1893, 0x3000 }, - { 0x8700, 0x1891, 0x2000 }, - { 0x0700, 0x1890, 0x0000 }, - { 0x0700, 0x1892, 0x0000 }, - { 0x8700, 0x1895, 0x2000 }, - { 0x0700, 0x1894, 0x0000 }, - { 0x0700, 0x1896, 0x0000 }, - { 0x8700, 0x189b, 0x3000 }, - { 0x8700, 0x1899, 0x2000 }, - { 0x0700, 0x1898, 0x0000 }, - { 0x0700, 0x189a, 0x0000 }, - { 0x8700, 0x189d, 0x2000 }, - { 0x0700, 0x189c, 0x0000 }, - { 0x0700, 0x189e, 0x0000 }, - { 0x8700, 0x1905, 0x5000 }, - { 0x8700, 0x18a7, 0x4000 }, - { 0x8700, 0x18a3, 0x3000 }, - { 0x8700, 0x18a1, 0x2000 }, - { 0x0700, 0x18a0, 0x0000 }, - { 0x0700, 0x18a2, 0x0000 }, - { 0x8700, 0x18a5, 0x2000 }, - { 0x0700, 0x18a4, 0x0000 }, - { 0x0700, 0x18a6, 0x0000 }, - { 0x8700, 0x1901, 0x3000 }, - { 0x8c00, 0x18a9, 0x2000 }, - { 0x0700, 0x18a8, 0x0000 }, - { 0x0700, 0x1900, 0x0000 }, - { 0x8700, 0x1903, 0x2000 }, - { 0x0700, 0x1902, 0x0000 }, - { 0x0700, 0x1904, 0x0000 }, - { 0x8700, 0x190d, 0x4000 }, - { 0x8700, 0x1909, 0x3000 }, - { 0x8700, 0x1907, 0x2000 }, - { 0x0700, 0x1906, 0x0000 }, - { 0x0700, 0x1908, 0x0000 }, - { 0x8700, 0x190b, 0x2000 }, - { 0x0700, 0x190a, 0x0000 }, - { 0x0700, 0x190c, 0x0000 }, - { 0x8700, 0x1911, 0x3000 }, - { 0x8700, 0x190f, 0x2000 }, - { 0x0700, 0x190e, 0x0000 }, - { 0x0700, 0x1910, 0x0000 }, - { 0x8700, 0x1913, 0x2000 }, - { 0x0700, 0x1912, 0x0000 }, - { 0x0700, 0x1914, 0x0000 }, - { 0x8500, 0x1d10, 0x8000 }, - { 0x8700, 0x1963, 0x7000 }, - { 0x9a00, 0x1940, 0x6000 }, - { 0x8c00, 0x1928, 0x5000 }, - { 0x8c00, 0x1920, 0x4000 }, - { 0x8700, 0x1919, 0x3000 }, - { 0x8700, 0x1917, 0x2000 }, - { 0x0700, 0x1916, 0x0000 }, - { 0x0700, 0x1918, 0x0000 }, - { 0x8700, 0x191b, 0x2000 }, - { 0x0700, 0x191a, 0x0000 }, - { 0x0700, 0x191c, 0x0000 }, - { 0x8a00, 0x1924, 0x3000 }, - { 0x8c00, 0x1922, 0x2000 }, - { 0x0c00, 0x1921, 0x0000 }, - { 0x0a00, 0x1923, 0x0000 }, - { 0x8a00, 0x1926, 0x2000 }, - { 0x0a00, 0x1925, 0x0000 }, - { 0x0c00, 0x1927, 0x0000 }, - { 0x8a00, 0x1934, 0x4000 }, - { 0x8a00, 0x1930, 0x3000 }, - { 0x8a00, 0x192a, 0x2000 }, - { 0x0a00, 0x1929, 0x0000 }, - { 0x0a00, 0x192b, 0x0000 }, - { 0x8c00, 0x1932, 0x2000 }, - { 0x0a00, 0x1931, 0x0000 }, - { 0x0a00, 0x1933, 0x0000 }, - { 0x8a00, 0x1938, 0x3000 }, - { 0x8a00, 0x1936, 0x2000 }, - { 0x0a00, 0x1935, 0x0000 }, - { 0x0a00, 0x1937, 0x0000 }, - { 0x8c00, 0x193a, 0x2000 }, - { 0x0c00, 0x1939, 0x0000 }, - { 0x0c00, 0x193b, 0x0000 }, - { 0x8700, 0x1953, 0x5000 }, - { 0x8d00, 0x194b, 0x4000 }, - { 0x8d00, 0x1947, 0x3000 }, - { 0x9500, 0x1945, 0x2000 }, - { 0x1500, 0x1944, 0x0000 }, - { 0x0d00, 0x1946, 0x0000 }, - { 0x8d00, 0x1949, 0x2000 }, - { 0x0d00, 0x1948, 0x0000 }, - { 0x0d00, 0x194a, 0x0000 }, - { 0x8d00, 0x194f, 0x3000 }, - { 0x8d00, 0x194d, 0x2000 }, - { 0x0d00, 0x194c, 0x0000 }, - { 0x0d00, 0x194e, 0x0000 }, - { 0x8700, 0x1951, 0x2000 }, - { 0x0700, 0x1950, 0x0000 }, - { 0x0700, 0x1952, 0x0000 }, - { 0x8700, 0x195b, 0x4000 }, - { 0x8700, 0x1957, 0x3000 }, - { 0x8700, 0x1955, 0x2000 }, - { 0x0700, 0x1954, 0x0000 }, - { 0x0700, 0x1956, 0x0000 }, - { 0x8700, 0x1959, 0x2000 }, - { 0x0700, 0x1958, 0x0000 }, - { 0x0700, 0x195a, 0x0000 }, - { 0x8700, 0x195f, 0x3000 }, - { 0x8700, 0x195d, 0x2000 }, - { 0x0700, 0x195c, 0x0000 }, - { 0x0700, 0x195e, 0x0000 }, - { 0x8700, 0x1961, 0x2000 }, - { 0x0700, 0x1960, 0x0000 }, - { 0x0700, 0x1962, 0x0000 }, - { 0x9a00, 0x19f0, 0x6000 }, - { 0x9a00, 0x19e0, 0x5000 }, - { 0x8700, 0x196b, 0x4000 }, - { 0x8700, 0x1967, 0x3000 }, - { 0x8700, 0x1965, 0x2000 }, - { 0x0700, 0x1964, 0x0000 }, - { 0x0700, 0x1966, 0x0000 }, - { 0x8700, 0x1969, 0x2000 }, - { 0x0700, 0x1968, 0x0000 }, - { 0x0700, 0x196a, 0x0000 }, - { 0x8700, 0x1971, 0x3000 }, - { 0x8700, 0x196d, 0x2000 }, - { 0x0700, 0x196c, 0x0000 }, - { 0x0700, 0x1970, 0x0000 }, - { 0x8700, 0x1973, 0x2000 }, - { 0x0700, 0x1972, 0x0000 }, - { 0x0700, 0x1974, 0x0000 }, - { 0x9a00, 0x19e8, 0x4000 }, - { 0x9a00, 0x19e4, 0x3000 }, - { 0x9a00, 0x19e2, 0x2000 }, - { 0x1a00, 0x19e1, 0x0000 }, - { 0x1a00, 0x19e3, 0x0000 }, - { 0x9a00, 0x19e6, 0x2000 }, - { 0x1a00, 0x19e5, 0x0000 }, - { 0x1a00, 0x19e7, 0x0000 }, - { 0x9a00, 0x19ec, 0x3000 }, - { 0x9a00, 0x19ea, 0x2000 }, - { 0x1a00, 0x19e9, 0x0000 }, - { 0x1a00, 0x19eb, 0x0000 }, - { 0x9a00, 0x19ee, 0x2000 }, - { 0x1a00, 0x19ed, 0x0000 }, - { 0x1a00, 0x19ef, 0x0000 }, - { 0x8500, 0x1d00, 0x5000 }, - { 0x9a00, 0x19f8, 0x4000 }, - { 0x9a00, 0x19f4, 0x3000 }, - { 0x9a00, 0x19f2, 0x2000 }, - { 0x1a00, 0x19f1, 0x0000 }, - { 0x1a00, 0x19f3, 0x0000 }, - { 0x9a00, 0x19f6, 0x2000 }, - { 0x1a00, 0x19f5, 0x0000 }, - { 0x1a00, 0x19f7, 0x0000 }, - { 0x9a00, 0x19fc, 0x3000 }, - { 0x9a00, 0x19fa, 0x2000 }, - { 0x1a00, 0x19f9, 0x0000 }, - { 0x1a00, 0x19fb, 0x0000 }, - { 0x9a00, 0x19fe, 0x2000 }, - { 0x1a00, 0x19fd, 0x0000 }, - { 0x1a00, 0x19ff, 0x0000 }, - { 0x8500, 0x1d08, 0x4000 }, - { 0x8500, 0x1d04, 0x3000 }, - { 0x8500, 0x1d02, 0x2000 }, - { 0x0500, 0x1d01, 0x0000 }, - { 0x0500, 0x1d03, 0x0000 }, - { 0x8500, 0x1d06, 0x2000 }, - { 0x0500, 0x1d05, 0x0000 }, - { 0x0500, 0x1d07, 0x0000 }, - { 0x8500, 0x1d0c, 0x3000 }, - { 0x8500, 0x1d0a, 0x2000 }, - { 0x0500, 0x1d09, 0x0000 }, - { 0x0500, 0x1d0b, 0x0000 }, - { 0x8500, 0x1d0e, 0x2000 }, - { 0x0500, 0x1d0d, 0x0000 }, - { 0x0500, 0x1d0f, 0x0000 }, - { 0x8600, 0x1d50, 0x7000 }, - { 0x8600, 0x1d30, 0x6000 }, - { 0x8500, 0x1d20, 0x5000 }, - { 0x8500, 0x1d18, 0x4000 }, - { 0x8500, 0x1d14, 0x3000 }, - { 0x8500, 0x1d12, 0x2000 }, - { 0x0500, 0x1d11, 0x0000 }, - { 0x0500, 0x1d13, 0x0000 }, - { 0x8500, 0x1d16, 0x2000 }, - { 0x0500, 0x1d15, 0x0000 }, - { 0x0500, 0x1d17, 0x0000 }, - { 0x8500, 0x1d1c, 0x3000 }, - { 0x8500, 0x1d1a, 0x2000 }, - { 0x0500, 0x1d19, 0x0000 }, - { 0x0500, 0x1d1b, 0x0000 }, - { 0x8500, 0x1d1e, 0x2000 }, - { 0x0500, 0x1d1d, 0x0000 }, - { 0x0500, 0x1d1f, 0x0000 }, - { 0x8500, 0x1d28, 0x4000 }, - { 0x8500, 0x1d24, 0x3000 }, - { 0x8500, 0x1d22, 0x2000 }, - { 0x0500, 0x1d21, 0x0000 }, - { 0x0500, 0x1d23, 0x0000 }, - { 0x8500, 0x1d26, 0x2000 }, - { 0x0500, 0x1d25, 0x0000 }, - { 0x0500, 0x1d27, 0x0000 }, - { 0x8600, 0x1d2c, 0x3000 }, - { 0x8500, 0x1d2a, 0x2000 }, - { 0x0500, 0x1d29, 0x0000 }, - { 0x0500, 0x1d2b, 0x0000 }, - { 0x8600, 0x1d2e, 0x2000 }, - { 0x0600, 0x1d2d, 0x0000 }, - { 0x0600, 0x1d2f, 0x0000 }, - { 0x8600, 0x1d40, 0x5000 }, - { 0x8600, 0x1d38, 0x4000 }, - { 0x8600, 0x1d34, 0x3000 }, - { 0x8600, 0x1d32, 0x2000 }, - { 0x0600, 0x1d31, 0x0000 }, - { 0x0600, 0x1d33, 0x0000 }, - { 0x8600, 0x1d36, 0x2000 }, - { 0x0600, 0x1d35, 0x0000 }, - { 0x0600, 0x1d37, 0x0000 }, - { 0x8600, 0x1d3c, 0x3000 }, - { 0x8600, 0x1d3a, 0x2000 }, - { 0x0600, 0x1d39, 0x0000 }, - { 0x0600, 0x1d3b, 0x0000 }, - { 0x8600, 0x1d3e, 0x2000 }, - { 0x0600, 0x1d3d, 0x0000 }, - { 0x0600, 0x1d3f, 0x0000 }, - { 0x8600, 0x1d48, 0x4000 }, - { 0x8600, 0x1d44, 0x3000 }, - { 0x8600, 0x1d42, 0x2000 }, - { 0x0600, 0x1d41, 0x0000 }, - { 0x0600, 0x1d43, 0x0000 }, - { 0x8600, 0x1d46, 0x2000 }, - { 0x0600, 0x1d45, 0x0000 }, - { 0x0600, 0x1d47, 0x0000 }, - { 0x8600, 0x1d4c, 0x3000 }, - { 0x8600, 0x1d4a, 0x2000 }, - { 0x0600, 0x1d49, 0x0000 }, - { 0x0600, 0x1d4b, 0x0000 }, - { 0x8600, 0x1d4e, 0x2000 }, - { 0x0600, 0x1d4d, 0x0000 }, - { 0x0600, 0x1d4f, 0x0000 }, - { 0x8900, 0x1e04, 0x6001 }, - { 0x8600, 0x1d60, 0x5000 }, - { 0x8600, 0x1d58, 0x4000 }, - { 0x8600, 0x1d54, 0x3000 }, - { 0x8600, 0x1d52, 0x2000 }, - { 0x0600, 0x1d51, 0x0000 }, - { 0x0600, 0x1d53, 0x0000 }, - { 0x8600, 0x1d56, 0x2000 }, - { 0x0600, 0x1d55, 0x0000 }, - { 0x0600, 0x1d57, 0x0000 }, - { 0x8600, 0x1d5c, 0x3000 }, - { 0x8600, 0x1d5a, 0x2000 }, - { 0x0600, 0x1d59, 0x0000 }, - { 0x0600, 0x1d5b, 0x0000 }, - { 0x8600, 0x1d5e, 0x2000 }, - { 0x0600, 0x1d5d, 0x0000 }, - { 0x0600, 0x1d5f, 0x0000 }, - { 0x8500, 0x1d68, 0x4000 }, - { 0x8500, 0x1d64, 0x3000 }, - { 0x8500, 0x1d62, 0x2000 }, - { 0x0600, 0x1d61, 0x0000 }, - { 0x0500, 0x1d63, 0x0000 }, - { 0x8500, 0x1d66, 0x2000 }, - { 0x0500, 0x1d65, 0x0000 }, - { 0x0500, 0x1d67, 0x0000 }, - { 0x8900, 0x1e00, 0x3001 }, - { 0x8500, 0x1d6a, 0x2000 }, - { 0x0500, 0x1d69, 0x0000 }, - { 0x0500, 0x1d6b, 0x0000 }, - { 0x8900, 0x1e02, 0x2001 }, - { 0x0500, 0x1e01, 0x0fff }, - { 0x0500, 0x1e03, 0x0fff }, - { 0x8900, 0x1e14, 0x5001 }, - { 0x8900, 0x1e0c, 0x4001 }, - { 0x8900, 0x1e08, 0x3001 }, - { 0x8900, 0x1e06, 0x2001 }, - { 0x0500, 0x1e05, 0x0fff }, - { 0x0500, 0x1e07, 0x0fff }, - { 0x8900, 0x1e0a, 0x2001 }, - { 0x0500, 0x1e09, 0x0fff }, - { 0x0500, 0x1e0b, 0x0fff }, - { 0x8900, 0x1e10, 0x3001 }, - { 0x8900, 0x1e0e, 0x2001 }, - { 0x0500, 0x1e0d, 0x0fff }, - { 0x0500, 0x1e0f, 0x0fff }, - { 0x8900, 0x1e12, 0x2001 }, - { 0x0500, 0x1e11, 0x0fff }, - { 0x0500, 0x1e13, 0x0fff }, - { 0x8900, 0x1e1c, 0x4001 }, - { 0x8900, 0x1e18, 0x3001 }, - { 0x8900, 0x1e16, 0x2001 }, - { 0x0500, 0x1e15, 0x0fff }, - { 0x0500, 0x1e17, 0x0fff }, - { 0x8900, 0x1e1a, 0x2001 }, - { 0x0500, 0x1e19, 0x0fff }, - { 0x0500, 0x1e1b, 0x0fff }, - { 0x8900, 0x1e20, 0x3001 }, - { 0x8900, 0x1e1e, 0x2001 }, - { 0x0500, 0x1e1d, 0x0fff }, - { 0x0500, 0x1e1f, 0x0fff }, - { 0x8900, 0x1e22, 0x2001 }, - { 0x0500, 0x1e21, 0x0fff }, - { 0x0500, 0x1e23, 0x0fff }, - { 0x9600, 0x2045, 0xa000 }, - { 0x8500, 0x1f32, 0x9008 }, - { 0x8900, 0x1ea8, 0x8001 }, - { 0x8900, 0x1e64, 0x7001 }, - { 0x8900, 0x1e44, 0x6001 }, - { 0x8900, 0x1e34, 0x5001 }, - { 0x8900, 0x1e2c, 0x4001 }, - { 0x8900, 0x1e28, 0x3001 }, - { 0x8900, 0x1e26, 0x2001 }, - { 0x0500, 0x1e25, 0x0fff }, - { 0x0500, 0x1e27, 0x0fff }, - { 0x8900, 0x1e2a, 0x2001 }, - { 0x0500, 0x1e29, 0x0fff }, - { 0x0500, 0x1e2b, 0x0fff }, - { 0x8900, 0x1e30, 0x3001 }, - { 0x8900, 0x1e2e, 0x2001 }, - { 0x0500, 0x1e2d, 0x0fff }, - { 0x0500, 0x1e2f, 0x0fff }, - { 0x8900, 0x1e32, 0x2001 }, - { 0x0500, 0x1e31, 0x0fff }, - { 0x0500, 0x1e33, 0x0fff }, - { 0x8900, 0x1e3c, 0x4001 }, - { 0x8900, 0x1e38, 0x3001 }, - { 0x8900, 0x1e36, 0x2001 }, - { 0x0500, 0x1e35, 0x0fff }, - { 0x0500, 0x1e37, 0x0fff }, - { 0x8900, 0x1e3a, 0x2001 }, - { 0x0500, 0x1e39, 0x0fff }, - { 0x0500, 0x1e3b, 0x0fff }, - { 0x8900, 0x1e40, 0x3001 }, - { 0x8900, 0x1e3e, 0x2001 }, - { 0x0500, 0x1e3d, 0x0fff }, - { 0x0500, 0x1e3f, 0x0fff }, - { 0x8900, 0x1e42, 0x2001 }, - { 0x0500, 0x1e41, 0x0fff }, - { 0x0500, 0x1e43, 0x0fff }, - { 0x8900, 0x1e54, 0x5001 }, - { 0x8900, 0x1e4c, 0x4001 }, - { 0x8900, 0x1e48, 0x3001 }, - { 0x8900, 0x1e46, 0x2001 }, - { 0x0500, 0x1e45, 0x0fff }, - { 0x0500, 0x1e47, 0x0fff }, - { 0x8900, 0x1e4a, 0x2001 }, - { 0x0500, 0x1e49, 0x0fff }, - { 0x0500, 0x1e4b, 0x0fff }, - { 0x8900, 0x1e50, 0x3001 }, - { 0x8900, 0x1e4e, 0x2001 }, - { 0x0500, 0x1e4d, 0x0fff }, - { 0x0500, 0x1e4f, 0x0fff }, - { 0x8900, 0x1e52, 0x2001 }, - { 0x0500, 0x1e51, 0x0fff }, - { 0x0500, 0x1e53, 0x0fff }, - { 0x8900, 0x1e5c, 0x4001 }, - { 0x8900, 0x1e58, 0x3001 }, - { 0x8900, 0x1e56, 0x2001 }, - { 0x0500, 0x1e55, 0x0fff }, - { 0x0500, 0x1e57, 0x0fff }, - { 0x8900, 0x1e5a, 0x2001 }, - { 0x0500, 0x1e59, 0x0fff }, - { 0x0500, 0x1e5b, 0x0fff }, - { 0x8900, 0x1e60, 0x3001 }, - { 0x8900, 0x1e5e, 0x2001 }, - { 0x0500, 0x1e5d, 0x0fff }, - { 0x0500, 0x1e5f, 0x0fff }, - { 0x8900, 0x1e62, 0x2001 }, - { 0x0500, 0x1e61, 0x0fff }, - { 0x0500, 0x1e63, 0x0fff }, - { 0x8900, 0x1e84, 0x6001 }, - { 0x8900, 0x1e74, 0x5001 }, - { 0x8900, 0x1e6c, 0x4001 }, - { 0x8900, 0x1e68, 0x3001 }, - { 0x8900, 0x1e66, 0x2001 }, - { 0x0500, 0x1e65, 0x0fff }, - { 0x0500, 0x1e67, 0x0fff }, - { 0x8900, 0x1e6a, 0x2001 }, - { 0x0500, 0x1e69, 0x0fff }, - { 0x0500, 0x1e6b, 0x0fff }, - { 0x8900, 0x1e70, 0x3001 }, - { 0x8900, 0x1e6e, 0x2001 }, - { 0x0500, 0x1e6d, 0x0fff }, - { 0x0500, 0x1e6f, 0x0fff }, - { 0x8900, 0x1e72, 0x2001 }, - { 0x0500, 0x1e71, 0x0fff }, - { 0x0500, 0x1e73, 0x0fff }, - { 0x8900, 0x1e7c, 0x4001 }, - { 0x8900, 0x1e78, 0x3001 }, - { 0x8900, 0x1e76, 0x2001 }, - { 0x0500, 0x1e75, 0x0fff }, - { 0x0500, 0x1e77, 0x0fff }, - { 0x8900, 0x1e7a, 0x2001 }, - { 0x0500, 0x1e79, 0x0fff }, - { 0x0500, 0x1e7b, 0x0fff }, - { 0x8900, 0x1e80, 0x3001 }, - { 0x8900, 0x1e7e, 0x2001 }, - { 0x0500, 0x1e7d, 0x0fff }, - { 0x0500, 0x1e7f, 0x0fff }, - { 0x8900, 0x1e82, 0x2001 }, - { 0x0500, 0x1e81, 0x0fff }, - { 0x0500, 0x1e83, 0x0fff }, - { 0x8900, 0x1e94, 0x5001 }, - { 0x8900, 0x1e8c, 0x4001 }, - { 0x8900, 0x1e88, 0x3001 }, - { 0x8900, 0x1e86, 0x2001 }, - { 0x0500, 0x1e85, 0x0fff }, - { 0x0500, 0x1e87, 0x0fff }, - { 0x8900, 0x1e8a, 0x2001 }, - { 0x0500, 0x1e89, 0x0fff }, - { 0x0500, 0x1e8b, 0x0fff }, - { 0x8900, 0x1e90, 0x3001 }, - { 0x8900, 0x1e8e, 0x2001 }, - { 0x0500, 0x1e8d, 0x0fff }, - { 0x0500, 0x1e8f, 0x0fff }, - { 0x8900, 0x1e92, 0x2001 }, - { 0x0500, 0x1e91, 0x0fff }, - { 0x0500, 0x1e93, 0x0fff }, - { 0x8900, 0x1ea0, 0x4001 }, - { 0x8500, 0x1e98, 0x3000 }, - { 0x8500, 0x1e96, 0x2000 }, - { 0x0500, 0x1e95, 0x0fff }, - { 0x0500, 0x1e97, 0x0000 }, - { 0x8500, 0x1e9a, 0x2000 }, - { 0x0500, 0x1e99, 0x0000 }, - { 0x0500, 0x1e9b, 0x0fc5 }, - { 0x8900, 0x1ea4, 0x3001 }, - { 0x8900, 0x1ea2, 0x2001 }, - { 0x0500, 0x1ea1, 0x0fff }, - { 0x0500, 0x1ea3, 0x0fff }, - { 0x8900, 0x1ea6, 0x2001 }, - { 0x0500, 0x1ea5, 0x0fff }, - { 0x0500, 0x1ea7, 0x0fff }, - { 0x8900, 0x1ee8, 0x7001 }, - { 0x8900, 0x1ec8, 0x6001 }, - { 0x8900, 0x1eb8, 0x5001 }, - { 0x8900, 0x1eb0, 0x4001 }, - { 0x8900, 0x1eac, 0x3001 }, - { 0x8900, 0x1eaa, 0x2001 }, - { 0x0500, 0x1ea9, 0x0fff }, - { 0x0500, 0x1eab, 0x0fff }, - { 0x8900, 0x1eae, 0x2001 }, - { 0x0500, 0x1ead, 0x0fff }, - { 0x0500, 0x1eaf, 0x0fff }, - { 0x8900, 0x1eb4, 0x3001 }, - { 0x8900, 0x1eb2, 0x2001 }, - { 0x0500, 0x1eb1, 0x0fff }, - { 0x0500, 0x1eb3, 0x0fff }, - { 0x8900, 0x1eb6, 0x2001 }, - { 0x0500, 0x1eb5, 0x0fff }, - { 0x0500, 0x1eb7, 0x0fff }, - { 0x8900, 0x1ec0, 0x4001 }, - { 0x8900, 0x1ebc, 0x3001 }, - { 0x8900, 0x1eba, 0x2001 }, - { 0x0500, 0x1eb9, 0x0fff }, - { 0x0500, 0x1ebb, 0x0fff }, - { 0x8900, 0x1ebe, 0x2001 }, - { 0x0500, 0x1ebd, 0x0fff }, - { 0x0500, 0x1ebf, 0x0fff }, - { 0x8900, 0x1ec4, 0x3001 }, - { 0x8900, 0x1ec2, 0x2001 }, - { 0x0500, 0x1ec1, 0x0fff }, - { 0x0500, 0x1ec3, 0x0fff }, - { 0x8900, 0x1ec6, 0x2001 }, - { 0x0500, 0x1ec5, 0x0fff }, - { 0x0500, 0x1ec7, 0x0fff }, - { 0x8900, 0x1ed8, 0x5001 }, - { 0x8900, 0x1ed0, 0x4001 }, - { 0x8900, 0x1ecc, 0x3001 }, - { 0x8900, 0x1eca, 0x2001 }, - { 0x0500, 0x1ec9, 0x0fff }, - { 0x0500, 0x1ecb, 0x0fff }, - { 0x8900, 0x1ece, 0x2001 }, - { 0x0500, 0x1ecd, 0x0fff }, - { 0x0500, 0x1ecf, 0x0fff }, - { 0x8900, 0x1ed4, 0x3001 }, - { 0x8900, 0x1ed2, 0x2001 }, - { 0x0500, 0x1ed1, 0x0fff }, - { 0x0500, 0x1ed3, 0x0fff }, - { 0x8900, 0x1ed6, 0x2001 }, - { 0x0500, 0x1ed5, 0x0fff }, - { 0x0500, 0x1ed7, 0x0fff }, - { 0x8900, 0x1ee0, 0x4001 }, - { 0x8900, 0x1edc, 0x3001 }, - { 0x8900, 0x1eda, 0x2001 }, - { 0x0500, 0x1ed9, 0x0fff }, - { 0x0500, 0x1edb, 0x0fff }, - { 0x8900, 0x1ede, 0x2001 }, - { 0x0500, 0x1edd, 0x0fff }, - { 0x0500, 0x1edf, 0x0fff }, - { 0x8900, 0x1ee4, 0x3001 }, - { 0x8900, 0x1ee2, 0x2001 }, - { 0x0500, 0x1ee1, 0x0fff }, - { 0x0500, 0x1ee3, 0x0fff }, - { 0x8900, 0x1ee6, 0x2001 }, - { 0x0500, 0x1ee5, 0x0fff }, - { 0x0500, 0x1ee7, 0x0fff }, - { 0x8900, 0x1f0e, 0x6ff8 }, - { 0x8900, 0x1ef8, 0x5001 }, - { 0x8900, 0x1ef0, 0x4001 }, - { 0x8900, 0x1eec, 0x3001 }, - { 0x8900, 0x1eea, 0x2001 }, - { 0x0500, 0x1ee9, 0x0fff }, - { 0x0500, 0x1eeb, 0x0fff }, - { 0x8900, 0x1eee, 0x2001 }, - { 0x0500, 0x1eed, 0x0fff }, - { 0x0500, 0x1eef, 0x0fff }, - { 0x8900, 0x1ef4, 0x3001 }, - { 0x8900, 0x1ef2, 0x2001 }, - { 0x0500, 0x1ef1, 0x0fff }, - { 0x0500, 0x1ef3, 0x0fff }, - { 0x8900, 0x1ef6, 0x2001 }, - { 0x0500, 0x1ef5, 0x0fff }, - { 0x0500, 0x1ef7, 0x0fff }, - { 0x8500, 0x1f06, 0x4008 }, - { 0x8500, 0x1f02, 0x3008 }, - { 0x8500, 0x1f00, 0x2008 }, - { 0x0500, 0x1ef9, 0x0fff }, - { 0x0500, 0x1f01, 0x0008 }, - { 0x8500, 0x1f04, 0x2008 }, - { 0x0500, 0x1f03, 0x0008 }, - { 0x0500, 0x1f05, 0x0008 }, - { 0x8900, 0x1f0a, 0x3ff8 }, - { 0x8900, 0x1f08, 0x2ff8 }, - { 0x0500, 0x1f07, 0x0008 }, - { 0x0900, 0x1f09, 0x0ff8 }, - { 0x8900, 0x1f0c, 0x2ff8 }, - { 0x0900, 0x1f0b, 0x0ff8 }, - { 0x0900, 0x1f0d, 0x0ff8 }, - { 0x8500, 0x1f22, 0x5008 }, - { 0x8900, 0x1f18, 0x4ff8 }, - { 0x8500, 0x1f12, 0x3008 }, - { 0x8500, 0x1f10, 0x2008 }, - { 0x0900, 0x1f0f, 0x0ff8 }, - { 0x0500, 0x1f11, 0x0008 }, - { 0x8500, 0x1f14, 0x2008 }, - { 0x0500, 0x1f13, 0x0008 }, - { 0x0500, 0x1f15, 0x0008 }, - { 0x8900, 0x1f1c, 0x3ff8 }, - { 0x8900, 0x1f1a, 0x2ff8 }, - { 0x0900, 0x1f19, 0x0ff8 }, - { 0x0900, 0x1f1b, 0x0ff8 }, - { 0x8500, 0x1f20, 0x2008 }, - { 0x0900, 0x1f1d, 0x0ff8 }, - { 0x0500, 0x1f21, 0x0008 }, - { 0x8900, 0x1f2a, 0x4ff8 }, - { 0x8500, 0x1f26, 0x3008 }, - { 0x8500, 0x1f24, 0x2008 }, - { 0x0500, 0x1f23, 0x0008 }, - { 0x0500, 0x1f25, 0x0008 }, - { 0x8900, 0x1f28, 0x2ff8 }, - { 0x0500, 0x1f27, 0x0008 }, - { 0x0900, 0x1f29, 0x0ff8 }, - { 0x8900, 0x1f2e, 0x3ff8 }, - { 0x8900, 0x1f2c, 0x2ff8 }, - { 0x0900, 0x1f2b, 0x0ff8 }, - { 0x0900, 0x1f2d, 0x0ff8 }, - { 0x8500, 0x1f30, 0x2008 }, - { 0x0900, 0x1f2f, 0x0ff8 }, - { 0x0500, 0x1f31, 0x0008 }, - { 0x9800, 0x1fbd, 0x8000 }, - { 0x8500, 0x1f7a, 0x7070 }, - { 0x8500, 0x1f56, 0x6000 }, - { 0x8500, 0x1f42, 0x5008 }, - { 0x8900, 0x1f3a, 0x4ff8 }, - { 0x8500, 0x1f36, 0x3008 }, - { 0x8500, 0x1f34, 0x2008 }, - { 0x0500, 0x1f33, 0x0008 }, - { 0x0500, 0x1f35, 0x0008 }, - { 0x8900, 0x1f38, 0x2ff8 }, - { 0x0500, 0x1f37, 0x0008 }, - { 0x0900, 0x1f39, 0x0ff8 }, - { 0x8900, 0x1f3e, 0x3ff8 }, - { 0x8900, 0x1f3c, 0x2ff8 }, - { 0x0900, 0x1f3b, 0x0ff8 }, - { 0x0900, 0x1f3d, 0x0ff8 }, - { 0x8500, 0x1f40, 0x2008 }, - { 0x0900, 0x1f3f, 0x0ff8 }, - { 0x0500, 0x1f41, 0x0008 }, - { 0x8900, 0x1f4c, 0x4ff8 }, - { 0x8900, 0x1f48, 0x3ff8 }, - { 0x8500, 0x1f44, 0x2008 }, - { 0x0500, 0x1f43, 0x0008 }, - { 0x0500, 0x1f45, 0x0008 }, - { 0x8900, 0x1f4a, 0x2ff8 }, - { 0x0900, 0x1f49, 0x0ff8 }, - { 0x0900, 0x1f4b, 0x0ff8 }, - { 0x8500, 0x1f52, 0x3000 }, - { 0x8500, 0x1f50, 0x2000 }, - { 0x0900, 0x1f4d, 0x0ff8 }, - { 0x0500, 0x1f51, 0x0008 }, - { 0x8500, 0x1f54, 0x2000 }, - { 0x0500, 0x1f53, 0x0008 }, - { 0x0500, 0x1f55, 0x0008 }, - { 0x8900, 0x1f6a, 0x5ff8 }, - { 0x8500, 0x1f62, 0x4008 }, - { 0x8900, 0x1f5d, 0x3ff8 }, - { 0x8900, 0x1f59, 0x2ff8 }, - { 0x0500, 0x1f57, 0x0008 }, - { 0x0900, 0x1f5b, 0x0ff8 }, - { 0x8500, 0x1f60, 0x2008 }, - { 0x0900, 0x1f5f, 0x0ff8 }, - { 0x0500, 0x1f61, 0x0008 }, - { 0x8500, 0x1f66, 0x3008 }, - { 0x8500, 0x1f64, 0x2008 }, - { 0x0500, 0x1f63, 0x0008 }, - { 0x0500, 0x1f65, 0x0008 }, - { 0x8900, 0x1f68, 0x2ff8 }, - { 0x0500, 0x1f67, 0x0008 }, - { 0x0900, 0x1f69, 0x0ff8 }, - { 0x8500, 0x1f72, 0x4056 }, - { 0x8900, 0x1f6e, 0x3ff8 }, - { 0x8900, 0x1f6c, 0x2ff8 }, - { 0x0900, 0x1f6b, 0x0ff8 }, - { 0x0900, 0x1f6d, 0x0ff8 }, - { 0x8500, 0x1f70, 0x204a }, - { 0x0900, 0x1f6f, 0x0ff8 }, - { 0x0500, 0x1f71, 0x004a }, - { 0x8500, 0x1f76, 0x3064 }, - { 0x8500, 0x1f74, 0x2056 }, - { 0x0500, 0x1f73, 0x0056 }, - { 0x0500, 0x1f75, 0x0056 }, - { 0x8500, 0x1f78, 0x2080 }, - { 0x0500, 0x1f77, 0x0064 }, - { 0x0500, 0x1f79, 0x0080 }, - { 0x8800, 0x1f9c, 0x6000 }, - { 0x8800, 0x1f8c, 0x5000 }, - { 0x8500, 0x1f84, 0x4008 }, - { 0x8500, 0x1f80, 0x3008 }, - { 0x8500, 0x1f7c, 0x207e }, - { 0x0500, 0x1f7b, 0x0070 }, - { 0x0500, 0x1f7d, 0x007e }, - { 0x8500, 0x1f82, 0x2008 }, - { 0x0500, 0x1f81, 0x0008 }, - { 0x0500, 0x1f83, 0x0008 }, - { 0x8800, 0x1f88, 0x3000 }, - { 0x8500, 0x1f86, 0x2008 }, - { 0x0500, 0x1f85, 0x0008 }, - { 0x0500, 0x1f87, 0x0008 }, - { 0x8800, 0x1f8a, 0x2000 }, - { 0x0800, 0x1f89, 0x0000 }, - { 0x0800, 0x1f8b, 0x0000 }, - { 0x8500, 0x1f94, 0x4008 }, - { 0x8500, 0x1f90, 0x3008 }, - { 0x8800, 0x1f8e, 0x2000 }, - { 0x0800, 0x1f8d, 0x0000 }, - { 0x0800, 0x1f8f, 0x0000 }, - { 0x8500, 0x1f92, 0x2008 }, - { 0x0500, 0x1f91, 0x0008 }, - { 0x0500, 0x1f93, 0x0008 }, - { 0x8800, 0x1f98, 0x3000 }, - { 0x8500, 0x1f96, 0x2008 }, - { 0x0500, 0x1f95, 0x0008 }, - { 0x0500, 0x1f97, 0x0008 }, - { 0x8800, 0x1f9a, 0x2000 }, - { 0x0800, 0x1f99, 0x0000 }, - { 0x0800, 0x1f9b, 0x0000 }, - { 0x8800, 0x1fac, 0x5000 }, - { 0x8500, 0x1fa4, 0x4008 }, - { 0x8500, 0x1fa0, 0x3008 }, - { 0x8800, 0x1f9e, 0x2000 }, - { 0x0800, 0x1f9d, 0x0000 }, - { 0x0800, 0x1f9f, 0x0000 }, - { 0x8500, 0x1fa2, 0x2008 }, - { 0x0500, 0x1fa1, 0x0008 }, - { 0x0500, 0x1fa3, 0x0008 }, - { 0x8800, 0x1fa8, 0x3000 }, - { 0x8500, 0x1fa6, 0x2008 }, - { 0x0500, 0x1fa5, 0x0008 }, - { 0x0500, 0x1fa7, 0x0008 }, - { 0x8800, 0x1faa, 0x2000 }, - { 0x0800, 0x1fa9, 0x0000 }, - { 0x0800, 0x1fab, 0x0000 }, - { 0x8500, 0x1fb4, 0x4000 }, - { 0x8500, 0x1fb0, 0x3008 }, - { 0x8800, 0x1fae, 0x2000 }, - { 0x0800, 0x1fad, 0x0000 }, - { 0x0800, 0x1faf, 0x0000 }, - { 0x8500, 0x1fb2, 0x2000 }, - { 0x0500, 0x1fb1, 0x0008 }, - { 0x0500, 0x1fb3, 0x0009 }, - { 0x8900, 0x1fb9, 0x3ff8 }, - { 0x8500, 0x1fb7, 0x2000 }, - { 0x0500, 0x1fb6, 0x0000 }, - { 0x0900, 0x1fb8, 0x0ff8 }, - { 0x8900, 0x1fbb, 0x2fb6 }, - { 0x0900, 0x1fba, 0x0fb6 }, - { 0x0800, 0x1fbc, 0x0000 }, - { 0x9d00, 0x2005, 0x7000 }, - { 0x8500, 0x1fe1, 0x6008 }, - { 0x9800, 0x1fce, 0x5000 }, - { 0x8500, 0x1fc6, 0x4000 }, - { 0x9800, 0x1fc1, 0x3000 }, - { 0x9800, 0x1fbf, 0x2000 }, - { 0x0500, 0x1fbe, 0x0000 }, - { 0x1800, 0x1fc0, 0x0000 }, - { 0x8500, 0x1fc3, 0x2009 }, - { 0x0500, 0x1fc2, 0x0000 }, - { 0x0500, 0x1fc4, 0x0000 }, - { 0x8900, 0x1fca, 0x3faa }, - { 0x8900, 0x1fc8, 0x2faa }, - { 0x0500, 0x1fc7, 0x0000 }, - { 0x0900, 0x1fc9, 0x0faa }, - { 0x8800, 0x1fcc, 0x2000 }, - { 0x0900, 0x1fcb, 0x0faa }, - { 0x1800, 0x1fcd, 0x0000 }, - { 0x8900, 0x1fd8, 0x4ff8 }, - { 0x8500, 0x1fd2, 0x3000 }, - { 0x8500, 0x1fd0, 0x2008 }, - { 0x1800, 0x1fcf, 0x0000 }, - { 0x0500, 0x1fd1, 0x0008 }, - { 0x8500, 0x1fd6, 0x2000 }, - { 0x0500, 0x1fd3, 0x0000 }, - { 0x0500, 0x1fd7, 0x0000 }, - { 0x9800, 0x1fdd, 0x3000 }, - { 0x8900, 0x1fda, 0x2f9c }, - { 0x0900, 0x1fd9, 0x0ff8 }, - { 0x0900, 0x1fdb, 0x0f9c }, - { 0x9800, 0x1fdf, 0x2000 }, - { 0x1800, 0x1fde, 0x0000 }, - { 0x0500, 0x1fe0, 0x0008 }, - { 0x8500, 0x1ff3, 0x5009 }, - { 0x8900, 0x1fe9, 0x4ff8 }, - { 0x8500, 0x1fe5, 0x3007 }, - { 0x8500, 0x1fe3, 0x2000 }, - { 0x0500, 0x1fe2, 0x0000 }, - { 0x0500, 0x1fe4, 0x0000 }, - { 0x8500, 0x1fe7, 0x2000 }, - { 0x0500, 0x1fe6, 0x0000 }, - { 0x0900, 0x1fe8, 0x0ff8 }, - { 0x9800, 0x1fed, 0x3000 }, - { 0x8900, 0x1feb, 0x2f90 }, - { 0x0900, 0x1fea, 0x0f90 }, - { 0x0900, 0x1fec, 0x0ff9 }, - { 0x9800, 0x1fef, 0x2000 }, - { 0x1800, 0x1fee, 0x0000 }, - { 0x0500, 0x1ff2, 0x0000 }, - { 0x8800, 0x1ffc, 0x4000 }, - { 0x8900, 0x1ff8, 0x3f80 }, - { 0x8500, 0x1ff6, 0x2000 }, - { 0x0500, 0x1ff4, 0x0000 }, - { 0x0500, 0x1ff7, 0x0000 }, - { 0x8900, 0x1ffa, 0x2f82 }, - { 0x0900, 0x1ff9, 0x0f80 }, - { 0x0900, 0x1ffb, 0x0f82 }, - { 0x9d00, 0x2001, 0x3000 }, - { 0x9800, 0x1ffe, 0x2000 }, - { 0x1800, 0x1ffd, 0x0000 }, - { 0x1d00, 0x2000, 0x0000 }, - { 0x9d00, 0x2003, 0x2000 }, - { 0x1d00, 0x2002, 0x0000 }, - { 0x1d00, 0x2004, 0x0000 }, - { 0x9500, 0x2025, 0x6000 }, - { 0x9100, 0x2015, 0x5000 }, - { 0x8100, 0x200d, 0x4000 }, - { 0x9d00, 0x2009, 0x3000 }, - { 0x9d00, 0x2007, 0x2000 }, - { 0x1d00, 0x2006, 0x0000 }, - { 0x1d00, 0x2008, 0x0000 }, - { 0x9d00, 0x200b, 0x2000 }, - { 0x1d00, 0x200a, 0x0000 }, - { 0x0100, 0x200c, 0x0000 }, - { 0x9100, 0x2011, 0x3000 }, - { 0x8100, 0x200f, 0x2000 }, - { 0x0100, 0x200e, 0x0000 }, - { 0x1100, 0x2010, 0x0000 }, - { 0x9100, 0x2013, 0x2000 }, - { 0x1100, 0x2012, 0x0000 }, - { 0x1100, 0x2014, 0x0000 }, - { 0x9300, 0x201d, 0x4000 }, - { 0x9300, 0x2019, 0x3000 }, - { 0x9500, 0x2017, 0x2000 }, - { 0x1500, 0x2016, 0x0000 }, - { 0x1400, 0x2018, 0x0000 }, - { 0x9400, 0x201b, 0x2000 }, - { 0x1600, 0x201a, 0x0000 }, - { 0x1400, 0x201c, 0x0000 }, - { 0x9500, 0x2021, 0x3000 }, - { 0x9400, 0x201f, 0x2000 }, - { 0x1600, 0x201e, 0x0000 }, - { 0x1500, 0x2020, 0x0000 }, - { 0x9500, 0x2023, 0x2000 }, - { 0x1500, 0x2022, 0x0000 }, - { 0x1500, 0x2024, 0x0000 }, - { 0x9500, 0x2035, 0x5000 }, - { 0x8100, 0x202d, 0x4000 }, - { 0x9c00, 0x2029, 0x3000 }, - { 0x9500, 0x2027, 0x2000 }, - { 0x1500, 0x2026, 0x0000 }, - { 0x1b00, 0x2028, 0x0000 }, - { 0x8100, 0x202b, 0x2000 }, - { 0x0100, 0x202a, 0x0000 }, - { 0x0100, 0x202c, 0x0000 }, - { 0x9500, 0x2031, 0x3000 }, - { 0x9d00, 0x202f, 0x2000 }, - { 0x0100, 0x202e, 0x0000 }, - { 0x1500, 0x2030, 0x0000 }, - { 0x9500, 0x2033, 0x2000 }, - { 0x1500, 0x2032, 0x0000 }, - { 0x1500, 0x2034, 0x0000 }, - { 0x9500, 0x203d, 0x4000 }, - { 0x9400, 0x2039, 0x3000 }, - { 0x9500, 0x2037, 0x2000 }, - { 0x1500, 0x2036, 0x0000 }, - { 0x1500, 0x2038, 0x0000 }, - { 0x9500, 0x203b, 0x2000 }, - { 0x1300, 0x203a, 0x0000 }, - { 0x1500, 0x203c, 0x0000 }, - { 0x9500, 0x2041, 0x3000 }, - { 0x9000, 0x203f, 0x2000 }, - { 0x1500, 0x203e, 0x0000 }, - { 0x1000, 0x2040, 0x0000 }, - { 0x9500, 0x2043, 0x2000 }, - { 0x1500, 0x2042, 0x0000 }, - { 0x1900, 0x2044, 0x0000 }, - { 0x9900, 0x21ae, 0x9000 }, - { 0x8900, 0x211a, 0x8000 }, - { 0x9700, 0x20a7, 0x7000 }, - { 0x8f00, 0x2076, 0x6000 }, - { 0x9500, 0x2057, 0x5000 }, - { 0x9500, 0x204d, 0x4000 }, - { 0x9500, 0x2049, 0x3000 }, - { 0x9500, 0x2047, 0x2000 }, - { 0x1200, 0x2046, 0x0000 }, - { 0x1500, 0x2048, 0x0000 }, - { 0x9500, 0x204b, 0x2000 }, - { 0x1500, 0x204a, 0x0000 }, - { 0x1500, 0x204c, 0x0000 }, - { 0x9500, 0x2051, 0x3000 }, - { 0x9500, 0x204f, 0x2000 }, - { 0x1500, 0x204e, 0x0000 }, - { 0x1500, 0x2050, 0x0000 }, - { 0x9500, 0x2053, 0x2000 }, - { 0x1900, 0x2052, 0x0000 }, - { 0x1000, 0x2054, 0x0000 }, - { 0x8100, 0x206c, 0x4000 }, - { 0x8100, 0x2062, 0x3000 }, - { 0x8100, 0x2060, 0x2000 }, - { 0x1d00, 0x205f, 0x0000 }, - { 0x0100, 0x2061, 0x0000 }, - { 0x8100, 0x206a, 0x2000 }, - { 0x0100, 0x2063, 0x0000 }, - { 0x0100, 0x206b, 0x0000 }, - { 0x8f00, 0x2070, 0x3000 }, - { 0x8100, 0x206e, 0x2000 }, - { 0x0100, 0x206d, 0x0000 }, - { 0x0100, 0x206f, 0x0000 }, - { 0x8f00, 0x2074, 0x2000 }, - { 0x0500, 0x2071, 0x0000 }, - { 0x0f00, 0x2075, 0x0000 }, - { 0x8f00, 0x2086, 0x5000 }, - { 0x9200, 0x207e, 0x4000 }, - { 0x9900, 0x207a, 0x3000 }, - { 0x8f00, 0x2078, 0x2000 }, - { 0x0f00, 0x2077, 0x0000 }, - { 0x0f00, 0x2079, 0x0000 }, - { 0x9900, 0x207c, 0x2000 }, - { 0x1900, 0x207b, 0x0000 }, - { 0x1600, 0x207d, 0x0000 }, - { 0x8f00, 0x2082, 0x3000 }, - { 0x8f00, 0x2080, 0x2000 }, - { 0x0500, 0x207f, 0x0000 }, - { 0x0f00, 0x2081, 0x0000 }, - { 0x8f00, 0x2084, 0x2000 }, - { 0x0f00, 0x2083, 0x0000 }, - { 0x0f00, 0x2085, 0x0000 }, - { 0x9200, 0x208e, 0x4000 }, - { 0x9900, 0x208a, 0x3000 }, - { 0x8f00, 0x2088, 0x2000 }, - { 0x0f00, 0x2087, 0x0000 }, - { 0x0f00, 0x2089, 0x0000 }, - { 0x9900, 0x208c, 0x2000 }, - { 0x1900, 0x208b, 0x0000 }, - { 0x1600, 0x208d, 0x0000 }, - { 0x9700, 0x20a3, 0x3000 }, - { 0x9700, 0x20a1, 0x2000 }, - { 0x1700, 0x20a0, 0x0000 }, - { 0x1700, 0x20a2, 0x0000 }, - { 0x9700, 0x20a5, 0x2000 }, - { 0x1700, 0x20a4, 0x0000 }, - { 0x1700, 0x20a6, 0x0000 }, - { 0x8c00, 0x20e5, 0x6000 }, - { 0x8c00, 0x20d5, 0x5000 }, - { 0x9700, 0x20af, 0x4000 }, - { 0x9700, 0x20ab, 0x3000 }, - { 0x9700, 0x20a9, 0x2000 }, - { 0x1700, 0x20a8, 0x0000 }, - { 0x1700, 0x20aa, 0x0000 }, - { 0x9700, 0x20ad, 0x2000 }, - { 0x1700, 0x20ac, 0x0000 }, - { 0x1700, 0x20ae, 0x0000 }, - { 0x8c00, 0x20d1, 0x3000 }, - { 0x9700, 0x20b1, 0x2000 }, - { 0x1700, 0x20b0, 0x0000 }, - { 0x0c00, 0x20d0, 0x0000 }, - { 0x8c00, 0x20d3, 0x2000 }, - { 0x0c00, 0x20d2, 0x0000 }, - { 0x0c00, 0x20d4, 0x0000 }, - { 0x8b00, 0x20dd, 0x4000 }, - { 0x8c00, 0x20d9, 0x3000 }, - { 0x8c00, 0x20d7, 0x2000 }, - { 0x0c00, 0x20d6, 0x0000 }, - { 0x0c00, 0x20d8, 0x0000 }, - { 0x8c00, 0x20db, 0x2000 }, - { 0x0c00, 0x20da, 0x0000 }, - { 0x0c00, 0x20dc, 0x0000 }, - { 0x8c00, 0x20e1, 0x3000 }, - { 0x8b00, 0x20df, 0x2000 }, - { 0x0b00, 0x20de, 0x0000 }, - { 0x0b00, 0x20e0, 0x0000 }, - { 0x8b00, 0x20e3, 0x2000 }, - { 0x0b00, 0x20e2, 0x0000 }, - { 0x0b00, 0x20e4, 0x0000 }, - { 0x8500, 0x210a, 0x5000 }, - { 0x8900, 0x2102, 0x4000 }, - { 0x8c00, 0x20e9, 0x3000 }, - { 0x8c00, 0x20e7, 0x2000 }, - { 0x0c00, 0x20e6, 0x0000 }, - { 0x0c00, 0x20e8, 0x0000 }, - { 0x9a00, 0x2100, 0x2000 }, - { 0x0c00, 0x20ea, 0x0000 }, - { 0x1a00, 0x2101, 0x0000 }, - { 0x9a00, 0x2106, 0x3000 }, - { 0x9a00, 0x2104, 0x2000 }, - { 0x1a00, 0x2103, 0x0000 }, - { 0x1a00, 0x2105, 0x0000 }, - { 0x9a00, 0x2108, 0x2000 }, - { 0x0900, 0x2107, 0x0000 }, - { 0x1a00, 0x2109, 0x0000 }, - { 0x8900, 0x2112, 0x4000 }, - { 0x8500, 0x210e, 0x3000 }, - { 0x8900, 0x210c, 0x2000 }, - { 0x0900, 0x210b, 0x0000 }, - { 0x0900, 0x210d, 0x0000 }, - { 0x8900, 0x2110, 0x2000 }, - { 0x0500, 0x210f, 0x0000 }, - { 0x0900, 0x2111, 0x0000 }, - { 0x9a00, 0x2116, 0x3000 }, - { 0x9a00, 0x2114, 0x2000 }, - { 0x0500, 0x2113, 0x0000 }, - { 0x0900, 0x2115, 0x0000 }, - { 0x9a00, 0x2118, 0x2000 }, - { 0x1a00, 0x2117, 0x0000 }, - { 0x0900, 0x2119, 0x0000 }, - { 0x8e00, 0x2162, 0x7000 }, - { 0x9a00, 0x213a, 0x6000 }, - { 0x8900, 0x212a, 0x5000 }, - { 0x9a00, 0x2122, 0x4000 }, - { 0x9a00, 0x211e, 0x3000 }, - { 0x8900, 0x211c, 0x2000 }, - { 0x0900, 0x211b, 0x0000 }, - { 0x0900, 0x211d, 0x0000 }, - { 0x9a00, 0x2120, 0x2000 }, - { 0x1a00, 0x211f, 0x0000 }, - { 0x1a00, 0x2121, 0x0000 }, - { 0x8900, 0x2126, 0x3000 }, - { 0x8900, 0x2124, 0x2000 }, - { 0x1a00, 0x2123, 0x0000 }, - { 0x1a00, 0x2125, 0x0000 }, - { 0x8900, 0x2128, 0x2000 }, - { 0x1a00, 0x2127, 0x0000 }, - { 0x1a00, 0x2129, 0x0000 }, - { 0x9a00, 0x2132, 0x4000 }, - { 0x9a00, 0x212e, 0x3000 }, - { 0x8900, 0x212c, 0x2000 }, - { 0x0900, 0x212b, 0x0000 }, - { 0x0900, 0x212d, 0x0000 }, - { 0x8900, 0x2130, 0x2000 }, - { 0x0500, 0x212f, 0x0000 }, - { 0x0900, 0x2131, 0x0000 }, - { 0x8700, 0x2136, 0x3000 }, - { 0x8500, 0x2134, 0x2000 }, - { 0x0900, 0x2133, 0x0000 }, - { 0x0700, 0x2135, 0x0000 }, - { 0x8700, 0x2138, 0x2000 }, - { 0x0700, 0x2137, 0x0000 }, - { 0x0500, 0x2139, 0x0000 }, - { 0x9900, 0x214b, 0x5000 }, - { 0x9900, 0x2143, 0x4000 }, - { 0x8900, 0x213f, 0x3000 }, - { 0x8500, 0x213d, 0x2000 }, - { 0x1a00, 0x213b, 0x0000 }, - { 0x0900, 0x213e, 0x0000 }, - { 0x9900, 0x2141, 0x2000 }, - { 0x1900, 0x2140, 0x0000 }, - { 0x1900, 0x2142, 0x0000 }, - { 0x8500, 0x2147, 0x3000 }, - { 0x8900, 0x2145, 0x2000 }, - { 0x1900, 0x2144, 0x0000 }, - { 0x0500, 0x2146, 0x0000 }, - { 0x8500, 0x2149, 0x2000 }, - { 0x0500, 0x2148, 0x0000 }, - { 0x1a00, 0x214a, 0x0000 }, - { 0x8f00, 0x215a, 0x4000 }, - { 0x8f00, 0x2156, 0x3000 }, - { 0x8f00, 0x2154, 0x2000 }, - { 0x0f00, 0x2153, 0x0000 }, - { 0x0f00, 0x2155, 0x0000 }, - { 0x8f00, 0x2158, 0x2000 }, - { 0x0f00, 0x2157, 0x0000 }, - { 0x0f00, 0x2159, 0x0000 }, - { 0x8f00, 0x215e, 0x3000 }, - { 0x8f00, 0x215c, 0x2000 }, - { 0x0f00, 0x215b, 0x0000 }, - { 0x0f00, 0x215d, 0x0000 }, - { 0x8e00, 0x2160, 0x2000 }, - { 0x0f00, 0x215f, 0x0000 }, - { 0x0e00, 0x2161, 0x0000 }, - { 0x8e00, 0x2182, 0x6000 }, - { 0x8e00, 0x2172, 0x5000 }, - { 0x8e00, 0x216a, 0x4000 }, - { 0x8e00, 0x2166, 0x3000 }, - { 0x8e00, 0x2164, 0x2000 }, - { 0x0e00, 0x2163, 0x0000 }, - { 0x0e00, 0x2165, 0x0000 }, - { 0x8e00, 0x2168, 0x2000 }, - { 0x0e00, 0x2167, 0x0000 }, - { 0x0e00, 0x2169, 0x0000 }, - { 0x8e00, 0x216e, 0x3000 }, - { 0x8e00, 0x216c, 0x2000 }, - { 0x0e00, 0x216b, 0x0000 }, - { 0x0e00, 0x216d, 0x0000 }, - { 0x8e00, 0x2170, 0x2000 }, - { 0x0e00, 0x216f, 0x0000 }, - { 0x0e00, 0x2171, 0x0000 }, - { 0x8e00, 0x217a, 0x4000 }, - { 0x8e00, 0x2176, 0x3000 }, - { 0x8e00, 0x2174, 0x2000 }, - { 0x0e00, 0x2173, 0x0000 }, - { 0x0e00, 0x2175, 0x0000 }, - { 0x8e00, 0x2178, 0x2000 }, - { 0x0e00, 0x2177, 0x0000 }, - { 0x0e00, 0x2179, 0x0000 }, - { 0x8e00, 0x217e, 0x3000 }, - { 0x8e00, 0x217c, 0x2000 }, - { 0x0e00, 0x217b, 0x0000 }, - { 0x0e00, 0x217d, 0x0000 }, - { 0x8e00, 0x2180, 0x2000 }, - { 0x0e00, 0x217f, 0x0000 }, - { 0x0e00, 0x2181, 0x0000 }, - { 0x9a00, 0x219e, 0x5000 }, - { 0x9a00, 0x2196, 0x4000 }, - { 0x9900, 0x2192, 0x3000 }, - { 0x9900, 0x2190, 0x2000 }, - { 0x0e00, 0x2183, 0x0000 }, - { 0x1900, 0x2191, 0x0000 }, - { 0x9900, 0x2194, 0x2000 }, - { 0x1900, 0x2193, 0x0000 }, - { 0x1a00, 0x2195, 0x0000 }, - { 0x9900, 0x219a, 0x3000 }, - { 0x9a00, 0x2198, 0x2000 }, - { 0x1a00, 0x2197, 0x0000 }, - { 0x1a00, 0x2199, 0x0000 }, - { 0x9a00, 0x219c, 0x2000 }, - { 0x1900, 0x219b, 0x0000 }, - { 0x1a00, 0x219d, 0x0000 }, - { 0x9900, 0x21a6, 0x4000 }, - { 0x9a00, 0x21a2, 0x3000 }, - { 0x9900, 0x21a0, 0x2000 }, - { 0x1a00, 0x219f, 0x0000 }, - { 0x1a00, 0x21a1, 0x0000 }, - { 0x9a00, 0x21a4, 0x2000 }, - { 0x1900, 0x21a3, 0x0000 }, - { 0x1a00, 0x21a5, 0x0000 }, - { 0x9a00, 0x21aa, 0x3000 }, - { 0x9a00, 0x21a8, 0x2000 }, - { 0x1a00, 0x21a7, 0x0000 }, - { 0x1a00, 0x21a9, 0x0000 }, - { 0x9a00, 0x21ac, 0x2000 }, - { 0x1a00, 0x21ab, 0x0000 }, - { 0x1a00, 0x21ad, 0x0000 }, - { 0x9900, 0x222e, 0x8000 }, - { 0x9a00, 0x21ee, 0x7000 }, - { 0x9900, 0x21ce, 0x6000 }, - { 0x9a00, 0x21be, 0x5000 }, - { 0x9a00, 0x21b6, 0x4000 }, - { 0x9a00, 0x21b2, 0x3000 }, - { 0x9a00, 0x21b0, 0x2000 }, - { 0x1a00, 0x21af, 0x0000 }, - { 0x1a00, 0x21b1, 0x0000 }, - { 0x9a00, 0x21b4, 0x2000 }, - { 0x1a00, 0x21b3, 0x0000 }, - { 0x1a00, 0x21b5, 0x0000 }, - { 0x9a00, 0x21ba, 0x3000 }, - { 0x9a00, 0x21b8, 0x2000 }, - { 0x1a00, 0x21b7, 0x0000 }, - { 0x1a00, 0x21b9, 0x0000 }, - { 0x9a00, 0x21bc, 0x2000 }, - { 0x1a00, 0x21bb, 0x0000 }, - { 0x1a00, 0x21bd, 0x0000 }, - { 0x9a00, 0x21c6, 0x4000 }, - { 0x9a00, 0x21c2, 0x3000 }, - { 0x9a00, 0x21c0, 0x2000 }, - { 0x1a00, 0x21bf, 0x0000 }, - { 0x1a00, 0x21c1, 0x0000 }, - { 0x9a00, 0x21c4, 0x2000 }, - { 0x1a00, 0x21c3, 0x0000 }, - { 0x1a00, 0x21c5, 0x0000 }, - { 0x9a00, 0x21ca, 0x3000 }, - { 0x9a00, 0x21c8, 0x2000 }, - { 0x1a00, 0x21c7, 0x0000 }, - { 0x1a00, 0x21c9, 0x0000 }, - { 0x9a00, 0x21cc, 0x2000 }, - { 0x1a00, 0x21cb, 0x0000 }, - { 0x1a00, 0x21cd, 0x0000 }, - { 0x9a00, 0x21de, 0x5000 }, - { 0x9a00, 0x21d6, 0x4000 }, - { 0x9900, 0x21d2, 0x3000 }, - { 0x9a00, 0x21d0, 0x2000 }, - { 0x1900, 0x21cf, 0x0000 }, - { 0x1a00, 0x21d1, 0x0000 }, - { 0x9900, 0x21d4, 0x2000 }, - { 0x1a00, 0x21d3, 0x0000 }, - { 0x1a00, 0x21d5, 0x0000 }, - { 0x9a00, 0x21da, 0x3000 }, - { 0x9a00, 0x21d8, 0x2000 }, - { 0x1a00, 0x21d7, 0x0000 }, - { 0x1a00, 0x21d9, 0x0000 }, - { 0x9a00, 0x21dc, 0x2000 }, - { 0x1a00, 0x21db, 0x0000 }, - { 0x1a00, 0x21dd, 0x0000 }, - { 0x9a00, 0x21e6, 0x4000 }, - { 0x9a00, 0x21e2, 0x3000 }, - { 0x9a00, 0x21e0, 0x2000 }, - { 0x1a00, 0x21df, 0x0000 }, - { 0x1a00, 0x21e1, 0x0000 }, - { 0x9a00, 0x21e4, 0x2000 }, - { 0x1a00, 0x21e3, 0x0000 }, - { 0x1a00, 0x21e5, 0x0000 }, - { 0x9a00, 0x21ea, 0x3000 }, - { 0x9a00, 0x21e8, 0x2000 }, - { 0x1a00, 0x21e7, 0x0000 }, - { 0x1a00, 0x21e9, 0x0000 }, - { 0x9a00, 0x21ec, 0x2000 }, - { 0x1a00, 0x21eb, 0x0000 }, - { 0x1a00, 0x21ed, 0x0000 }, - { 0x9900, 0x220e, 0x6000 }, - { 0x9900, 0x21fe, 0x5000 }, - { 0x9900, 0x21f6, 0x4000 }, - { 0x9a00, 0x21f2, 0x3000 }, - { 0x9a00, 0x21f0, 0x2000 }, - { 0x1a00, 0x21ef, 0x0000 }, - { 0x1a00, 0x21f1, 0x0000 }, - { 0x9900, 0x21f4, 0x2000 }, - { 0x1a00, 0x21f3, 0x0000 }, - { 0x1900, 0x21f5, 0x0000 }, - { 0x9900, 0x21fa, 0x3000 }, - { 0x9900, 0x21f8, 0x2000 }, - { 0x1900, 0x21f7, 0x0000 }, - { 0x1900, 0x21f9, 0x0000 }, - { 0x9900, 0x21fc, 0x2000 }, - { 0x1900, 0x21fb, 0x0000 }, - { 0x1900, 0x21fd, 0x0000 }, - { 0x9900, 0x2206, 0x4000 }, - { 0x9900, 0x2202, 0x3000 }, - { 0x9900, 0x2200, 0x2000 }, - { 0x1900, 0x21ff, 0x0000 }, - { 0x1900, 0x2201, 0x0000 }, - { 0x9900, 0x2204, 0x2000 }, - { 0x1900, 0x2203, 0x0000 }, - { 0x1900, 0x2205, 0x0000 }, - { 0x9900, 0x220a, 0x3000 }, - { 0x9900, 0x2208, 0x2000 }, - { 0x1900, 0x2207, 0x0000 }, - { 0x1900, 0x2209, 0x0000 }, - { 0x9900, 0x220c, 0x2000 }, - { 0x1900, 0x220b, 0x0000 }, - { 0x1900, 0x220d, 0x0000 }, - { 0x9900, 0x221e, 0x5000 }, - { 0x9900, 0x2216, 0x4000 }, - { 0x9900, 0x2212, 0x3000 }, - { 0x9900, 0x2210, 0x2000 }, - { 0x1900, 0x220f, 0x0000 }, - { 0x1900, 0x2211, 0x0000 }, - { 0x9900, 0x2214, 0x2000 }, - { 0x1900, 0x2213, 0x0000 }, - { 0x1900, 0x2215, 0x0000 }, - { 0x9900, 0x221a, 0x3000 }, - { 0x9900, 0x2218, 0x2000 }, - { 0x1900, 0x2217, 0x0000 }, - { 0x1900, 0x2219, 0x0000 }, - { 0x9900, 0x221c, 0x2000 }, - { 0x1900, 0x221b, 0x0000 }, - { 0x1900, 0x221d, 0x0000 }, - { 0x9900, 0x2226, 0x4000 }, - { 0x9900, 0x2222, 0x3000 }, - { 0x9900, 0x2220, 0x2000 }, - { 0x1900, 0x221f, 0x0000 }, - { 0x1900, 0x2221, 0x0000 }, - { 0x9900, 0x2224, 0x2000 }, - { 0x1900, 0x2223, 0x0000 }, - { 0x1900, 0x2225, 0x0000 }, - { 0x9900, 0x222a, 0x3000 }, - { 0x9900, 0x2228, 0x2000 }, - { 0x1900, 0x2227, 0x0000 }, - { 0x1900, 0x2229, 0x0000 }, - { 0x9900, 0x222c, 0x2000 }, - { 0x1900, 0x222b, 0x0000 }, - { 0x1900, 0x222d, 0x0000 }, - { 0x9900, 0x226e, 0x7000 }, - { 0x9900, 0x224e, 0x6000 }, - { 0x9900, 0x223e, 0x5000 }, - { 0x9900, 0x2236, 0x4000 }, - { 0x9900, 0x2232, 0x3000 }, - { 0x9900, 0x2230, 0x2000 }, - { 0x1900, 0x222f, 0x0000 }, - { 0x1900, 0x2231, 0x0000 }, - { 0x9900, 0x2234, 0x2000 }, - { 0x1900, 0x2233, 0x0000 }, - { 0x1900, 0x2235, 0x0000 }, - { 0x9900, 0x223a, 0x3000 }, - { 0x9900, 0x2238, 0x2000 }, - { 0x1900, 0x2237, 0x0000 }, - { 0x1900, 0x2239, 0x0000 }, - { 0x9900, 0x223c, 0x2000 }, - { 0x1900, 0x223b, 0x0000 }, - { 0x1900, 0x223d, 0x0000 }, - { 0x9900, 0x2246, 0x4000 }, - { 0x9900, 0x2242, 0x3000 }, - { 0x9900, 0x2240, 0x2000 }, - { 0x1900, 0x223f, 0x0000 }, - { 0x1900, 0x2241, 0x0000 }, - { 0x9900, 0x2244, 0x2000 }, - { 0x1900, 0x2243, 0x0000 }, - { 0x1900, 0x2245, 0x0000 }, - { 0x9900, 0x224a, 0x3000 }, - { 0x9900, 0x2248, 0x2000 }, - { 0x1900, 0x2247, 0x0000 }, - { 0x1900, 0x2249, 0x0000 }, - { 0x9900, 0x224c, 0x2000 }, - { 0x1900, 0x224b, 0x0000 }, - { 0x1900, 0x224d, 0x0000 }, - { 0x9900, 0x225e, 0x5000 }, - { 0x9900, 0x2256, 0x4000 }, - { 0x9900, 0x2252, 0x3000 }, - { 0x9900, 0x2250, 0x2000 }, - { 0x1900, 0x224f, 0x0000 }, - { 0x1900, 0x2251, 0x0000 }, - { 0x9900, 0x2254, 0x2000 }, - { 0x1900, 0x2253, 0x0000 }, - { 0x1900, 0x2255, 0x0000 }, - { 0x9900, 0x225a, 0x3000 }, - { 0x9900, 0x2258, 0x2000 }, - { 0x1900, 0x2257, 0x0000 }, - { 0x1900, 0x2259, 0x0000 }, - { 0x9900, 0x225c, 0x2000 }, - { 0x1900, 0x225b, 0x0000 }, - { 0x1900, 0x225d, 0x0000 }, - { 0x9900, 0x2266, 0x4000 }, - { 0x9900, 0x2262, 0x3000 }, - { 0x9900, 0x2260, 0x2000 }, - { 0x1900, 0x225f, 0x0000 }, - { 0x1900, 0x2261, 0x0000 }, - { 0x9900, 0x2264, 0x2000 }, - { 0x1900, 0x2263, 0x0000 }, - { 0x1900, 0x2265, 0x0000 }, - { 0x9900, 0x226a, 0x3000 }, - { 0x9900, 0x2268, 0x2000 }, - { 0x1900, 0x2267, 0x0000 }, - { 0x1900, 0x2269, 0x0000 }, - { 0x9900, 0x226c, 0x2000 }, - { 0x1900, 0x226b, 0x0000 }, - { 0x1900, 0x226d, 0x0000 }, - { 0x9900, 0x228e, 0x6000 }, - { 0x9900, 0x227e, 0x5000 }, - { 0x9900, 0x2276, 0x4000 }, - { 0x9900, 0x2272, 0x3000 }, - { 0x9900, 0x2270, 0x2000 }, - { 0x1900, 0x226f, 0x0000 }, - { 0x1900, 0x2271, 0x0000 }, - { 0x9900, 0x2274, 0x2000 }, - { 0x1900, 0x2273, 0x0000 }, - { 0x1900, 0x2275, 0x0000 }, - { 0x9900, 0x227a, 0x3000 }, - { 0x9900, 0x2278, 0x2000 }, - { 0x1900, 0x2277, 0x0000 }, - { 0x1900, 0x2279, 0x0000 }, - { 0x9900, 0x227c, 0x2000 }, - { 0x1900, 0x227b, 0x0000 }, - { 0x1900, 0x227d, 0x0000 }, - { 0x9900, 0x2286, 0x4000 }, - { 0x9900, 0x2282, 0x3000 }, - { 0x9900, 0x2280, 0x2000 }, - { 0x1900, 0x227f, 0x0000 }, - { 0x1900, 0x2281, 0x0000 }, - { 0x9900, 0x2284, 0x2000 }, - { 0x1900, 0x2283, 0x0000 }, - { 0x1900, 0x2285, 0x0000 }, - { 0x9900, 0x228a, 0x3000 }, - { 0x9900, 0x2288, 0x2000 }, - { 0x1900, 0x2287, 0x0000 }, - { 0x1900, 0x2289, 0x0000 }, - { 0x9900, 0x228c, 0x2000 }, - { 0x1900, 0x228b, 0x0000 }, - { 0x1900, 0x228d, 0x0000 }, - { 0x9900, 0x229e, 0x5000 }, - { 0x9900, 0x2296, 0x4000 }, - { 0x9900, 0x2292, 0x3000 }, - { 0x9900, 0x2290, 0x2000 }, - { 0x1900, 0x228f, 0x0000 }, - { 0x1900, 0x2291, 0x0000 }, - { 0x9900, 0x2294, 0x2000 }, - { 0x1900, 0x2293, 0x0000 }, - { 0x1900, 0x2295, 0x0000 }, - { 0x9900, 0x229a, 0x3000 }, - { 0x9900, 0x2298, 0x2000 }, - { 0x1900, 0x2297, 0x0000 }, - { 0x1900, 0x2299, 0x0000 }, - { 0x9900, 0x229c, 0x2000 }, - { 0x1900, 0x229b, 0x0000 }, - { 0x1900, 0x229d, 0x0000 }, - { 0x9900, 0x22a6, 0x4000 }, - { 0x9900, 0x22a2, 0x3000 }, - { 0x9900, 0x22a0, 0x2000 }, - { 0x1900, 0x229f, 0x0000 }, - { 0x1900, 0x22a1, 0x0000 }, - { 0x9900, 0x22a4, 0x2000 }, - { 0x1900, 0x22a3, 0x0000 }, - { 0x1900, 0x22a5, 0x0000 }, - { 0x9900, 0x22aa, 0x3000 }, - { 0x9900, 0x22a8, 0x2000 }, - { 0x1900, 0x22a7, 0x0000 }, - { 0x1900, 0x22a9, 0x0000 }, - { 0x9900, 0x22ac, 0x2000 }, - { 0x1900, 0x22ab, 0x0000 }, - { 0x1900, 0x22ad, 0x0000 }, - { 0x8f00, 0x2787, 0xb000 }, - { 0x9a00, 0x250b, 0xa000 }, - { 0x9900, 0x23ae, 0x9000 }, - { 0x9a00, 0x232e, 0x8000 }, - { 0x9900, 0x22ee, 0x7000 }, - { 0x9900, 0x22ce, 0x6000 }, - { 0x9900, 0x22be, 0x5000 }, - { 0x9900, 0x22b6, 0x4000 }, - { 0x9900, 0x22b2, 0x3000 }, - { 0x9900, 0x22b0, 0x2000 }, - { 0x1900, 0x22af, 0x0000 }, - { 0x1900, 0x22b1, 0x0000 }, - { 0x9900, 0x22b4, 0x2000 }, - { 0x1900, 0x22b3, 0x0000 }, - { 0x1900, 0x22b5, 0x0000 }, - { 0x9900, 0x22ba, 0x3000 }, - { 0x9900, 0x22b8, 0x2000 }, - { 0x1900, 0x22b7, 0x0000 }, - { 0x1900, 0x22b9, 0x0000 }, - { 0x9900, 0x22bc, 0x2000 }, - { 0x1900, 0x22bb, 0x0000 }, - { 0x1900, 0x22bd, 0x0000 }, - { 0x9900, 0x22c6, 0x4000 }, - { 0x9900, 0x22c2, 0x3000 }, - { 0x9900, 0x22c0, 0x2000 }, - { 0x1900, 0x22bf, 0x0000 }, - { 0x1900, 0x22c1, 0x0000 }, - { 0x9900, 0x22c4, 0x2000 }, - { 0x1900, 0x22c3, 0x0000 }, - { 0x1900, 0x22c5, 0x0000 }, - { 0x9900, 0x22ca, 0x3000 }, - { 0x9900, 0x22c8, 0x2000 }, - { 0x1900, 0x22c7, 0x0000 }, - { 0x1900, 0x22c9, 0x0000 }, - { 0x9900, 0x22cc, 0x2000 }, - { 0x1900, 0x22cb, 0x0000 }, - { 0x1900, 0x22cd, 0x0000 }, - { 0x9900, 0x22de, 0x5000 }, - { 0x9900, 0x22d6, 0x4000 }, - { 0x9900, 0x22d2, 0x3000 }, - { 0x9900, 0x22d0, 0x2000 }, - { 0x1900, 0x22cf, 0x0000 }, - { 0x1900, 0x22d1, 0x0000 }, - { 0x9900, 0x22d4, 0x2000 }, - { 0x1900, 0x22d3, 0x0000 }, - { 0x1900, 0x22d5, 0x0000 }, - { 0x9900, 0x22da, 0x3000 }, - { 0x9900, 0x22d8, 0x2000 }, - { 0x1900, 0x22d7, 0x0000 }, - { 0x1900, 0x22d9, 0x0000 }, - { 0x9900, 0x22dc, 0x2000 }, - { 0x1900, 0x22db, 0x0000 }, - { 0x1900, 0x22dd, 0x0000 }, - { 0x9900, 0x22e6, 0x4000 }, - { 0x9900, 0x22e2, 0x3000 }, - { 0x9900, 0x22e0, 0x2000 }, - { 0x1900, 0x22df, 0x0000 }, - { 0x1900, 0x22e1, 0x0000 }, - { 0x9900, 0x22e4, 0x2000 }, - { 0x1900, 0x22e3, 0x0000 }, - { 0x1900, 0x22e5, 0x0000 }, - { 0x9900, 0x22ea, 0x3000 }, - { 0x9900, 0x22e8, 0x2000 }, - { 0x1900, 0x22e7, 0x0000 }, - { 0x1900, 0x22e9, 0x0000 }, - { 0x9900, 0x22ec, 0x2000 }, - { 0x1900, 0x22eb, 0x0000 }, - { 0x1900, 0x22ed, 0x0000 }, - { 0x9a00, 0x230e, 0x6000 }, - { 0x9900, 0x22fe, 0x5000 }, - { 0x9900, 0x22f6, 0x4000 }, - { 0x9900, 0x22f2, 0x3000 }, - { 0x9900, 0x22f0, 0x2000 }, - { 0x1900, 0x22ef, 0x0000 }, - { 0x1900, 0x22f1, 0x0000 }, - { 0x9900, 0x22f4, 0x2000 }, - { 0x1900, 0x22f3, 0x0000 }, - { 0x1900, 0x22f5, 0x0000 }, - { 0x9900, 0x22fa, 0x3000 }, - { 0x9900, 0x22f8, 0x2000 }, - { 0x1900, 0x22f7, 0x0000 }, - { 0x1900, 0x22f9, 0x0000 }, - { 0x9900, 0x22fc, 0x2000 }, - { 0x1900, 0x22fb, 0x0000 }, - { 0x1900, 0x22fd, 0x0000 }, - { 0x9a00, 0x2306, 0x4000 }, - { 0x9a00, 0x2302, 0x3000 }, - { 0x9a00, 0x2300, 0x2000 }, - { 0x1900, 0x22ff, 0x0000 }, - { 0x1a00, 0x2301, 0x0000 }, - { 0x9a00, 0x2304, 0x2000 }, - { 0x1a00, 0x2303, 0x0000 }, - { 0x1a00, 0x2305, 0x0000 }, - { 0x9900, 0x230a, 0x3000 }, - { 0x9900, 0x2308, 0x2000 }, - { 0x1a00, 0x2307, 0x0000 }, - { 0x1900, 0x2309, 0x0000 }, - { 0x9a00, 0x230c, 0x2000 }, - { 0x1900, 0x230b, 0x0000 }, - { 0x1a00, 0x230d, 0x0000 }, - { 0x9a00, 0x231e, 0x5000 }, - { 0x9a00, 0x2316, 0x4000 }, - { 0x9a00, 0x2312, 0x3000 }, - { 0x9a00, 0x2310, 0x2000 }, - { 0x1a00, 0x230f, 0x0000 }, - { 0x1a00, 0x2311, 0x0000 }, - { 0x9a00, 0x2314, 0x2000 }, - { 0x1a00, 0x2313, 0x0000 }, - { 0x1a00, 0x2315, 0x0000 }, - { 0x9a00, 0x231a, 0x3000 }, - { 0x9a00, 0x2318, 0x2000 }, - { 0x1a00, 0x2317, 0x0000 }, - { 0x1a00, 0x2319, 0x0000 }, - { 0x9a00, 0x231c, 0x2000 }, - { 0x1a00, 0x231b, 0x0000 }, - { 0x1a00, 0x231d, 0x0000 }, - { 0x9a00, 0x2326, 0x4000 }, - { 0x9a00, 0x2322, 0x3000 }, - { 0x9900, 0x2320, 0x2000 }, - { 0x1a00, 0x231f, 0x0000 }, - { 0x1900, 0x2321, 0x0000 }, - { 0x9a00, 0x2324, 0x2000 }, - { 0x1a00, 0x2323, 0x0000 }, - { 0x1a00, 0x2325, 0x0000 }, - { 0x9200, 0x232a, 0x3000 }, - { 0x9a00, 0x2328, 0x2000 }, - { 0x1a00, 0x2327, 0x0000 }, - { 0x1600, 0x2329, 0x0000 }, - { 0x9a00, 0x232c, 0x2000 }, - { 0x1a00, 0x232b, 0x0000 }, - { 0x1a00, 0x232d, 0x0000 }, - { 0x9a00, 0x236e, 0x7000 }, - { 0x9a00, 0x234e, 0x6000 }, - { 0x9a00, 0x233e, 0x5000 }, - { 0x9a00, 0x2336, 0x4000 }, - { 0x9a00, 0x2332, 0x3000 }, - { 0x9a00, 0x2330, 0x2000 }, - { 0x1a00, 0x232f, 0x0000 }, - { 0x1a00, 0x2331, 0x0000 }, - { 0x9a00, 0x2334, 0x2000 }, - { 0x1a00, 0x2333, 0x0000 }, - { 0x1a00, 0x2335, 0x0000 }, - { 0x9a00, 0x233a, 0x3000 }, - { 0x9a00, 0x2338, 0x2000 }, - { 0x1a00, 0x2337, 0x0000 }, - { 0x1a00, 0x2339, 0x0000 }, - { 0x9a00, 0x233c, 0x2000 }, - { 0x1a00, 0x233b, 0x0000 }, - { 0x1a00, 0x233d, 0x0000 }, - { 0x9a00, 0x2346, 0x4000 }, - { 0x9a00, 0x2342, 0x3000 }, - { 0x9a00, 0x2340, 0x2000 }, - { 0x1a00, 0x233f, 0x0000 }, - { 0x1a00, 0x2341, 0x0000 }, - { 0x9a00, 0x2344, 0x2000 }, - { 0x1a00, 0x2343, 0x0000 }, - { 0x1a00, 0x2345, 0x0000 }, - { 0x9a00, 0x234a, 0x3000 }, - { 0x9a00, 0x2348, 0x2000 }, - { 0x1a00, 0x2347, 0x0000 }, - { 0x1a00, 0x2349, 0x0000 }, - { 0x9a00, 0x234c, 0x2000 }, - { 0x1a00, 0x234b, 0x0000 }, - { 0x1a00, 0x234d, 0x0000 }, - { 0x9a00, 0x235e, 0x5000 }, - { 0x9a00, 0x2356, 0x4000 }, - { 0x9a00, 0x2352, 0x3000 }, - { 0x9a00, 0x2350, 0x2000 }, - { 0x1a00, 0x234f, 0x0000 }, - { 0x1a00, 0x2351, 0x0000 }, - { 0x9a00, 0x2354, 0x2000 }, - { 0x1a00, 0x2353, 0x0000 }, - { 0x1a00, 0x2355, 0x0000 }, - { 0x9a00, 0x235a, 0x3000 }, - { 0x9a00, 0x2358, 0x2000 }, - { 0x1a00, 0x2357, 0x0000 }, - { 0x1a00, 0x2359, 0x0000 }, - { 0x9a00, 0x235c, 0x2000 }, - { 0x1a00, 0x235b, 0x0000 }, - { 0x1a00, 0x235d, 0x0000 }, - { 0x9a00, 0x2366, 0x4000 }, - { 0x9a00, 0x2362, 0x3000 }, - { 0x9a00, 0x2360, 0x2000 }, - { 0x1a00, 0x235f, 0x0000 }, - { 0x1a00, 0x2361, 0x0000 }, - { 0x9a00, 0x2364, 0x2000 }, - { 0x1a00, 0x2363, 0x0000 }, - { 0x1a00, 0x2365, 0x0000 }, - { 0x9a00, 0x236a, 0x3000 }, - { 0x9a00, 0x2368, 0x2000 }, - { 0x1a00, 0x2367, 0x0000 }, - { 0x1a00, 0x2369, 0x0000 }, - { 0x9a00, 0x236c, 0x2000 }, - { 0x1a00, 0x236b, 0x0000 }, - { 0x1a00, 0x236d, 0x0000 }, - { 0x9a00, 0x238e, 0x6000 }, - { 0x9a00, 0x237e, 0x5000 }, - { 0x9a00, 0x2376, 0x4000 }, - { 0x9a00, 0x2372, 0x3000 }, - { 0x9a00, 0x2370, 0x2000 }, - { 0x1a00, 0x236f, 0x0000 }, - { 0x1a00, 0x2371, 0x0000 }, - { 0x9a00, 0x2374, 0x2000 }, - { 0x1a00, 0x2373, 0x0000 }, - { 0x1a00, 0x2375, 0x0000 }, - { 0x9a00, 0x237a, 0x3000 }, - { 0x9a00, 0x2378, 0x2000 }, - { 0x1a00, 0x2377, 0x0000 }, - { 0x1a00, 0x2379, 0x0000 }, - { 0x9900, 0x237c, 0x2000 }, - { 0x1a00, 0x237b, 0x0000 }, - { 0x1a00, 0x237d, 0x0000 }, - { 0x9a00, 0x2386, 0x4000 }, - { 0x9a00, 0x2382, 0x3000 }, - { 0x9a00, 0x2380, 0x2000 }, - { 0x1a00, 0x237f, 0x0000 }, - { 0x1a00, 0x2381, 0x0000 }, - { 0x9a00, 0x2384, 0x2000 }, - { 0x1a00, 0x2383, 0x0000 }, - { 0x1a00, 0x2385, 0x0000 }, - { 0x9a00, 0x238a, 0x3000 }, - { 0x9a00, 0x2388, 0x2000 }, - { 0x1a00, 0x2387, 0x0000 }, - { 0x1a00, 0x2389, 0x0000 }, - { 0x9a00, 0x238c, 0x2000 }, - { 0x1a00, 0x238b, 0x0000 }, - { 0x1a00, 0x238d, 0x0000 }, - { 0x9900, 0x239e, 0x5000 }, - { 0x9a00, 0x2396, 0x4000 }, - { 0x9a00, 0x2392, 0x3000 }, - { 0x9a00, 0x2390, 0x2000 }, - { 0x1a00, 0x238f, 0x0000 }, - { 0x1a00, 0x2391, 0x0000 }, - { 0x9a00, 0x2394, 0x2000 }, - { 0x1a00, 0x2393, 0x0000 }, - { 0x1a00, 0x2395, 0x0000 }, - { 0x9a00, 0x239a, 0x3000 }, - { 0x9a00, 0x2398, 0x2000 }, - { 0x1a00, 0x2397, 0x0000 }, - { 0x1a00, 0x2399, 0x0000 }, - { 0x9900, 0x239c, 0x2000 }, - { 0x1900, 0x239b, 0x0000 }, - { 0x1900, 0x239d, 0x0000 }, - { 0x9900, 0x23a6, 0x4000 }, - { 0x9900, 0x23a2, 0x3000 }, - { 0x9900, 0x23a0, 0x2000 }, - { 0x1900, 0x239f, 0x0000 }, - { 0x1900, 0x23a1, 0x0000 }, - { 0x9900, 0x23a4, 0x2000 }, - { 0x1900, 0x23a3, 0x0000 }, - { 0x1900, 0x23a5, 0x0000 }, - { 0x9900, 0x23aa, 0x3000 }, - { 0x9900, 0x23a8, 0x2000 }, - { 0x1900, 0x23a7, 0x0000 }, - { 0x1900, 0x23a9, 0x0000 }, - { 0x9900, 0x23ac, 0x2000 }, - { 0x1900, 0x23ab, 0x0000 }, - { 0x1900, 0x23ad, 0x0000 }, - { 0x8f00, 0x248b, 0x8000 }, - { 0x9a00, 0x241d, 0x7000 }, - { 0x9a00, 0x23ce, 0x6000 }, - { 0x9a00, 0x23be, 0x5000 }, - { 0x9500, 0x23b6, 0x4000 }, - { 0x9900, 0x23b2, 0x3000 }, - { 0x9900, 0x23b0, 0x2000 }, - { 0x1900, 0x23af, 0x0000 }, - { 0x1900, 0x23b1, 0x0000 }, - { 0x9600, 0x23b4, 0x2000 }, - { 0x1900, 0x23b3, 0x0000 }, - { 0x1200, 0x23b5, 0x0000 }, - { 0x9a00, 0x23ba, 0x3000 }, - { 0x9a00, 0x23b8, 0x2000 }, - { 0x1a00, 0x23b7, 0x0000 }, - { 0x1a00, 0x23b9, 0x0000 }, - { 0x9a00, 0x23bc, 0x2000 }, - { 0x1a00, 0x23bb, 0x0000 }, - { 0x1a00, 0x23bd, 0x0000 }, - { 0x9a00, 0x23c6, 0x4000 }, - { 0x9a00, 0x23c2, 0x3000 }, - { 0x9a00, 0x23c0, 0x2000 }, - { 0x1a00, 0x23bf, 0x0000 }, - { 0x1a00, 0x23c1, 0x0000 }, - { 0x9a00, 0x23c4, 0x2000 }, - { 0x1a00, 0x23c3, 0x0000 }, - { 0x1a00, 0x23c5, 0x0000 }, - { 0x9a00, 0x23ca, 0x3000 }, - { 0x9a00, 0x23c8, 0x2000 }, - { 0x1a00, 0x23c7, 0x0000 }, - { 0x1a00, 0x23c9, 0x0000 }, - { 0x9a00, 0x23cc, 0x2000 }, - { 0x1a00, 0x23cb, 0x0000 }, - { 0x1a00, 0x23cd, 0x0000 }, - { 0x9a00, 0x240d, 0x5000 }, - { 0x9a00, 0x2405, 0x4000 }, - { 0x9a00, 0x2401, 0x3000 }, - { 0x9a00, 0x23d0, 0x2000 }, - { 0x1a00, 0x23cf, 0x0000 }, - { 0x1a00, 0x2400, 0x0000 }, - { 0x9a00, 0x2403, 0x2000 }, - { 0x1a00, 0x2402, 0x0000 }, - { 0x1a00, 0x2404, 0x0000 }, - { 0x9a00, 0x2409, 0x3000 }, - { 0x9a00, 0x2407, 0x2000 }, - { 0x1a00, 0x2406, 0x0000 }, - { 0x1a00, 0x2408, 0x0000 }, - { 0x9a00, 0x240b, 0x2000 }, - { 0x1a00, 0x240a, 0x0000 }, - { 0x1a00, 0x240c, 0x0000 }, - { 0x9a00, 0x2415, 0x4000 }, - { 0x9a00, 0x2411, 0x3000 }, - { 0x9a00, 0x240f, 0x2000 }, - { 0x1a00, 0x240e, 0x0000 }, - { 0x1a00, 0x2410, 0x0000 }, - { 0x9a00, 0x2413, 0x2000 }, - { 0x1a00, 0x2412, 0x0000 }, - { 0x1a00, 0x2414, 0x0000 }, - { 0x9a00, 0x2419, 0x3000 }, - { 0x9a00, 0x2417, 0x2000 }, - { 0x1a00, 0x2416, 0x0000 }, - { 0x1a00, 0x2418, 0x0000 }, - { 0x9a00, 0x241b, 0x2000 }, - { 0x1a00, 0x241a, 0x0000 }, - { 0x1a00, 0x241c, 0x0000 }, - { 0x8f00, 0x246b, 0x6000 }, - { 0x9a00, 0x2446, 0x5000 }, - { 0x9a00, 0x2425, 0x4000 }, - { 0x9a00, 0x2421, 0x3000 }, - { 0x9a00, 0x241f, 0x2000 }, - { 0x1a00, 0x241e, 0x0000 }, - { 0x1a00, 0x2420, 0x0000 }, - { 0x9a00, 0x2423, 0x2000 }, - { 0x1a00, 0x2422, 0x0000 }, - { 0x1a00, 0x2424, 0x0000 }, - { 0x9a00, 0x2442, 0x3000 }, - { 0x9a00, 0x2440, 0x2000 }, - { 0x1a00, 0x2426, 0x0000 }, - { 0x1a00, 0x2441, 0x0000 }, - { 0x9a00, 0x2444, 0x2000 }, - { 0x1a00, 0x2443, 0x0000 }, - { 0x1a00, 0x2445, 0x0000 }, - { 0x8f00, 0x2463, 0x4000 }, - { 0x9a00, 0x244a, 0x3000 }, - { 0x9a00, 0x2448, 0x2000 }, - { 0x1a00, 0x2447, 0x0000 }, - { 0x1a00, 0x2449, 0x0000 }, - { 0x8f00, 0x2461, 0x2000 }, - { 0x0f00, 0x2460, 0x0000 }, - { 0x0f00, 0x2462, 0x0000 }, - { 0x8f00, 0x2467, 0x3000 }, - { 0x8f00, 0x2465, 0x2000 }, - { 0x0f00, 0x2464, 0x0000 }, - { 0x0f00, 0x2466, 0x0000 }, - { 0x8f00, 0x2469, 0x2000 }, - { 0x0f00, 0x2468, 0x0000 }, - { 0x0f00, 0x246a, 0x0000 }, - { 0x8f00, 0x247b, 0x5000 }, - { 0x8f00, 0x2473, 0x4000 }, - { 0x8f00, 0x246f, 0x3000 }, - { 0x8f00, 0x246d, 0x2000 }, - { 0x0f00, 0x246c, 0x0000 }, - { 0x0f00, 0x246e, 0x0000 }, - { 0x8f00, 0x2471, 0x2000 }, - { 0x0f00, 0x2470, 0x0000 }, - { 0x0f00, 0x2472, 0x0000 }, - { 0x8f00, 0x2477, 0x3000 }, - { 0x8f00, 0x2475, 0x2000 }, - { 0x0f00, 0x2474, 0x0000 }, - { 0x0f00, 0x2476, 0x0000 }, - { 0x8f00, 0x2479, 0x2000 }, - { 0x0f00, 0x2478, 0x0000 }, - { 0x0f00, 0x247a, 0x0000 }, - { 0x8f00, 0x2483, 0x4000 }, - { 0x8f00, 0x247f, 0x3000 }, - { 0x8f00, 0x247d, 0x2000 }, - { 0x0f00, 0x247c, 0x0000 }, - { 0x0f00, 0x247e, 0x0000 }, - { 0x8f00, 0x2481, 0x2000 }, - { 0x0f00, 0x2480, 0x0000 }, - { 0x0f00, 0x2482, 0x0000 }, - { 0x8f00, 0x2487, 0x3000 }, - { 0x8f00, 0x2485, 0x2000 }, - { 0x0f00, 0x2484, 0x0000 }, - { 0x0f00, 0x2486, 0x0000 }, - { 0x8f00, 0x2489, 0x2000 }, - { 0x0f00, 0x2488, 0x0000 }, - { 0x0f00, 0x248a, 0x0000 }, - { 0x9a00, 0x24cb, 0x7000 }, - { 0x9a00, 0x24ab, 0x6000 }, - { 0x8f00, 0x249b, 0x5000 }, - { 0x8f00, 0x2493, 0x4000 }, - { 0x8f00, 0x248f, 0x3000 }, - { 0x8f00, 0x248d, 0x2000 }, - { 0x0f00, 0x248c, 0x0000 }, - { 0x0f00, 0x248e, 0x0000 }, - { 0x8f00, 0x2491, 0x2000 }, - { 0x0f00, 0x2490, 0x0000 }, - { 0x0f00, 0x2492, 0x0000 }, - { 0x8f00, 0x2497, 0x3000 }, - { 0x8f00, 0x2495, 0x2000 }, - { 0x0f00, 0x2494, 0x0000 }, - { 0x0f00, 0x2496, 0x0000 }, - { 0x8f00, 0x2499, 0x2000 }, - { 0x0f00, 0x2498, 0x0000 }, - { 0x0f00, 0x249a, 0x0000 }, - { 0x9a00, 0x24a3, 0x4000 }, - { 0x9a00, 0x249f, 0x3000 }, - { 0x9a00, 0x249d, 0x2000 }, - { 0x1a00, 0x249c, 0x0000 }, - { 0x1a00, 0x249e, 0x0000 }, - { 0x9a00, 0x24a1, 0x2000 }, - { 0x1a00, 0x24a0, 0x0000 }, - { 0x1a00, 0x24a2, 0x0000 }, - { 0x9a00, 0x24a7, 0x3000 }, - { 0x9a00, 0x24a5, 0x2000 }, - { 0x1a00, 0x24a4, 0x0000 }, - { 0x1a00, 0x24a6, 0x0000 }, - { 0x9a00, 0x24a9, 0x2000 }, - { 0x1a00, 0x24a8, 0x0000 }, - { 0x1a00, 0x24aa, 0x0000 }, - { 0x9a00, 0x24bb, 0x5000 }, - { 0x9a00, 0x24b3, 0x4000 }, - { 0x9a00, 0x24af, 0x3000 }, - { 0x9a00, 0x24ad, 0x2000 }, - { 0x1a00, 0x24ac, 0x0000 }, - { 0x1a00, 0x24ae, 0x0000 }, - { 0x9a00, 0x24b1, 0x2000 }, - { 0x1a00, 0x24b0, 0x0000 }, - { 0x1a00, 0x24b2, 0x0000 }, - { 0x9a00, 0x24b7, 0x3000 }, - { 0x9a00, 0x24b5, 0x2000 }, - { 0x1a00, 0x24b4, 0x0000 }, - { 0x1a00, 0x24b6, 0x0000 }, - { 0x9a00, 0x24b9, 0x2000 }, - { 0x1a00, 0x24b8, 0x0000 }, - { 0x1a00, 0x24ba, 0x0000 }, - { 0x9a00, 0x24c3, 0x4000 }, - { 0x9a00, 0x24bf, 0x3000 }, - { 0x9a00, 0x24bd, 0x2000 }, - { 0x1a00, 0x24bc, 0x0000 }, - { 0x1a00, 0x24be, 0x0000 }, - { 0x9a00, 0x24c1, 0x2000 }, - { 0x1a00, 0x24c0, 0x0000 }, - { 0x1a00, 0x24c2, 0x0000 }, - { 0x9a00, 0x24c7, 0x3000 }, - { 0x9a00, 0x24c5, 0x2000 }, - { 0x1a00, 0x24c4, 0x0000 }, - { 0x1a00, 0x24c6, 0x0000 }, - { 0x9a00, 0x24c9, 0x2000 }, - { 0x1a00, 0x24c8, 0x0000 }, - { 0x1a00, 0x24ca, 0x0000 }, - { 0x8f00, 0x24eb, 0x6000 }, - { 0x9a00, 0x24db, 0x5000 }, - { 0x9a00, 0x24d3, 0x4000 }, - { 0x9a00, 0x24cf, 0x3000 }, - { 0x9a00, 0x24cd, 0x2000 }, - { 0x1a00, 0x24cc, 0x0000 }, - { 0x1a00, 0x24ce, 0x0000 }, - { 0x9a00, 0x24d1, 0x2000 }, - { 0x1a00, 0x24d0, 0x0000 }, - { 0x1a00, 0x24d2, 0x0000 }, - { 0x9a00, 0x24d7, 0x3000 }, - { 0x9a00, 0x24d5, 0x2000 }, - { 0x1a00, 0x24d4, 0x0000 }, - { 0x1a00, 0x24d6, 0x0000 }, - { 0x9a00, 0x24d9, 0x2000 }, - { 0x1a00, 0x24d8, 0x0000 }, - { 0x1a00, 0x24da, 0x0000 }, - { 0x9a00, 0x24e3, 0x4000 }, - { 0x9a00, 0x24df, 0x3000 }, - { 0x9a00, 0x24dd, 0x2000 }, - { 0x1a00, 0x24dc, 0x0000 }, - { 0x1a00, 0x24de, 0x0000 }, - { 0x9a00, 0x24e1, 0x2000 }, - { 0x1a00, 0x24e0, 0x0000 }, - { 0x1a00, 0x24e2, 0x0000 }, - { 0x9a00, 0x24e7, 0x3000 }, - { 0x9a00, 0x24e5, 0x2000 }, - { 0x1a00, 0x24e4, 0x0000 }, - { 0x1a00, 0x24e6, 0x0000 }, - { 0x9a00, 0x24e9, 0x2000 }, - { 0x1a00, 0x24e8, 0x0000 }, - { 0x0f00, 0x24ea, 0x0000 }, - { 0x8f00, 0x24fb, 0x5000 }, - { 0x8f00, 0x24f3, 0x4000 }, - { 0x8f00, 0x24ef, 0x3000 }, - { 0x8f00, 0x24ed, 0x2000 }, - { 0x0f00, 0x24ec, 0x0000 }, - { 0x0f00, 0x24ee, 0x0000 }, - { 0x8f00, 0x24f1, 0x2000 }, - { 0x0f00, 0x24f0, 0x0000 }, - { 0x0f00, 0x24f2, 0x0000 }, - { 0x8f00, 0x24f7, 0x3000 }, - { 0x8f00, 0x24f5, 0x2000 }, - { 0x0f00, 0x24f4, 0x0000 }, - { 0x0f00, 0x24f6, 0x0000 }, - { 0x8f00, 0x24f9, 0x2000 }, - { 0x0f00, 0x24f8, 0x0000 }, - { 0x0f00, 0x24fa, 0x0000 }, - { 0x9a00, 0x2503, 0x4000 }, - { 0x8f00, 0x24ff, 0x3000 }, - { 0x8f00, 0x24fd, 0x2000 }, - { 0x0f00, 0x24fc, 0x0000 }, - { 0x0f00, 0x24fe, 0x0000 }, - { 0x9a00, 0x2501, 0x2000 }, - { 0x1a00, 0x2500, 0x0000 }, - { 0x1a00, 0x2502, 0x0000 }, - { 0x9a00, 0x2507, 0x3000 }, - { 0x9a00, 0x2505, 0x2000 }, - { 0x1a00, 0x2504, 0x0000 }, - { 0x1a00, 0x2506, 0x0000 }, - { 0x9a00, 0x2509, 0x2000 }, - { 0x1a00, 0x2508, 0x0000 }, - { 0x1a00, 0x250a, 0x0000 }, - { 0x9a00, 0x260b, 0x9000 }, - { 0x9a00, 0x258b, 0x8000 }, - { 0x9a00, 0x254b, 0x7000 }, - { 0x9a00, 0x252b, 0x6000 }, - { 0x9a00, 0x251b, 0x5000 }, - { 0x9a00, 0x2513, 0x4000 }, - { 0x9a00, 0x250f, 0x3000 }, - { 0x9a00, 0x250d, 0x2000 }, - { 0x1a00, 0x250c, 0x0000 }, - { 0x1a00, 0x250e, 0x0000 }, - { 0x9a00, 0x2511, 0x2000 }, - { 0x1a00, 0x2510, 0x0000 }, - { 0x1a00, 0x2512, 0x0000 }, - { 0x9a00, 0x2517, 0x3000 }, - { 0x9a00, 0x2515, 0x2000 }, - { 0x1a00, 0x2514, 0x0000 }, - { 0x1a00, 0x2516, 0x0000 }, - { 0x9a00, 0x2519, 0x2000 }, - { 0x1a00, 0x2518, 0x0000 }, - { 0x1a00, 0x251a, 0x0000 }, - { 0x9a00, 0x2523, 0x4000 }, - { 0x9a00, 0x251f, 0x3000 }, - { 0x9a00, 0x251d, 0x2000 }, - { 0x1a00, 0x251c, 0x0000 }, - { 0x1a00, 0x251e, 0x0000 }, - { 0x9a00, 0x2521, 0x2000 }, - { 0x1a00, 0x2520, 0x0000 }, - { 0x1a00, 0x2522, 0x0000 }, - { 0x9a00, 0x2527, 0x3000 }, - { 0x9a00, 0x2525, 0x2000 }, - { 0x1a00, 0x2524, 0x0000 }, - { 0x1a00, 0x2526, 0x0000 }, - { 0x9a00, 0x2529, 0x2000 }, - { 0x1a00, 0x2528, 0x0000 }, - { 0x1a00, 0x252a, 0x0000 }, - { 0x9a00, 0x253b, 0x5000 }, - { 0x9a00, 0x2533, 0x4000 }, - { 0x9a00, 0x252f, 0x3000 }, - { 0x9a00, 0x252d, 0x2000 }, - { 0x1a00, 0x252c, 0x0000 }, - { 0x1a00, 0x252e, 0x0000 }, - { 0x9a00, 0x2531, 0x2000 }, - { 0x1a00, 0x2530, 0x0000 }, - { 0x1a00, 0x2532, 0x0000 }, - { 0x9a00, 0x2537, 0x3000 }, - { 0x9a00, 0x2535, 0x2000 }, - { 0x1a00, 0x2534, 0x0000 }, - { 0x1a00, 0x2536, 0x0000 }, - { 0x9a00, 0x2539, 0x2000 }, - { 0x1a00, 0x2538, 0x0000 }, - { 0x1a00, 0x253a, 0x0000 }, - { 0x9a00, 0x2543, 0x4000 }, - { 0x9a00, 0x253f, 0x3000 }, - { 0x9a00, 0x253d, 0x2000 }, - { 0x1a00, 0x253c, 0x0000 }, - { 0x1a00, 0x253e, 0x0000 }, - { 0x9a00, 0x2541, 0x2000 }, - { 0x1a00, 0x2540, 0x0000 }, - { 0x1a00, 0x2542, 0x0000 }, - { 0x9a00, 0x2547, 0x3000 }, - { 0x9a00, 0x2545, 0x2000 }, - { 0x1a00, 0x2544, 0x0000 }, - { 0x1a00, 0x2546, 0x0000 }, - { 0x9a00, 0x2549, 0x2000 }, - { 0x1a00, 0x2548, 0x0000 }, - { 0x1a00, 0x254a, 0x0000 }, - { 0x9a00, 0x256b, 0x6000 }, - { 0x9a00, 0x255b, 0x5000 }, - { 0x9a00, 0x2553, 0x4000 }, - { 0x9a00, 0x254f, 0x3000 }, - { 0x9a00, 0x254d, 0x2000 }, - { 0x1a00, 0x254c, 0x0000 }, - { 0x1a00, 0x254e, 0x0000 }, - { 0x9a00, 0x2551, 0x2000 }, - { 0x1a00, 0x2550, 0x0000 }, - { 0x1a00, 0x2552, 0x0000 }, - { 0x9a00, 0x2557, 0x3000 }, - { 0x9a00, 0x2555, 0x2000 }, - { 0x1a00, 0x2554, 0x0000 }, - { 0x1a00, 0x2556, 0x0000 }, - { 0x9a00, 0x2559, 0x2000 }, - { 0x1a00, 0x2558, 0x0000 }, - { 0x1a00, 0x255a, 0x0000 }, - { 0x9a00, 0x2563, 0x4000 }, - { 0x9a00, 0x255f, 0x3000 }, - { 0x9a00, 0x255d, 0x2000 }, - { 0x1a00, 0x255c, 0x0000 }, - { 0x1a00, 0x255e, 0x0000 }, - { 0x9a00, 0x2561, 0x2000 }, - { 0x1a00, 0x2560, 0x0000 }, - { 0x1a00, 0x2562, 0x0000 }, - { 0x9a00, 0x2567, 0x3000 }, - { 0x9a00, 0x2565, 0x2000 }, - { 0x1a00, 0x2564, 0x0000 }, - { 0x1a00, 0x2566, 0x0000 }, - { 0x9a00, 0x2569, 0x2000 }, - { 0x1a00, 0x2568, 0x0000 }, - { 0x1a00, 0x256a, 0x0000 }, - { 0x9a00, 0x257b, 0x5000 }, - { 0x9a00, 0x2573, 0x4000 }, - { 0x9a00, 0x256f, 0x3000 }, - { 0x9a00, 0x256d, 0x2000 }, - { 0x1a00, 0x256c, 0x0000 }, - { 0x1a00, 0x256e, 0x0000 }, - { 0x9a00, 0x2571, 0x2000 }, - { 0x1a00, 0x2570, 0x0000 }, - { 0x1a00, 0x2572, 0x0000 }, - { 0x9a00, 0x2577, 0x3000 }, - { 0x9a00, 0x2575, 0x2000 }, - { 0x1a00, 0x2574, 0x0000 }, - { 0x1a00, 0x2576, 0x0000 }, - { 0x9a00, 0x2579, 0x2000 }, - { 0x1a00, 0x2578, 0x0000 }, - { 0x1a00, 0x257a, 0x0000 }, - { 0x9a00, 0x2583, 0x4000 }, - { 0x9a00, 0x257f, 0x3000 }, - { 0x9a00, 0x257d, 0x2000 }, - { 0x1a00, 0x257c, 0x0000 }, - { 0x1a00, 0x257e, 0x0000 }, - { 0x9a00, 0x2581, 0x2000 }, - { 0x1a00, 0x2580, 0x0000 }, - { 0x1a00, 0x2582, 0x0000 }, - { 0x9a00, 0x2587, 0x3000 }, - { 0x9a00, 0x2585, 0x2000 }, - { 0x1a00, 0x2584, 0x0000 }, - { 0x1a00, 0x2586, 0x0000 }, - { 0x9a00, 0x2589, 0x2000 }, - { 0x1a00, 0x2588, 0x0000 }, - { 0x1a00, 0x258a, 0x0000 }, - { 0x9a00, 0x25cb, 0x7000 }, - { 0x9a00, 0x25ab, 0x6000 }, - { 0x9a00, 0x259b, 0x5000 }, - { 0x9a00, 0x2593, 0x4000 }, - { 0x9a00, 0x258f, 0x3000 }, - { 0x9a00, 0x258d, 0x2000 }, - { 0x1a00, 0x258c, 0x0000 }, - { 0x1a00, 0x258e, 0x0000 }, - { 0x9a00, 0x2591, 0x2000 }, - { 0x1a00, 0x2590, 0x0000 }, - { 0x1a00, 0x2592, 0x0000 }, - { 0x9a00, 0x2597, 0x3000 }, - { 0x9a00, 0x2595, 0x2000 }, - { 0x1a00, 0x2594, 0x0000 }, - { 0x1a00, 0x2596, 0x0000 }, - { 0x9a00, 0x2599, 0x2000 }, - { 0x1a00, 0x2598, 0x0000 }, - { 0x1a00, 0x259a, 0x0000 }, - { 0x9a00, 0x25a3, 0x4000 }, - { 0x9a00, 0x259f, 0x3000 }, - { 0x9a00, 0x259d, 0x2000 }, - { 0x1a00, 0x259c, 0x0000 }, - { 0x1a00, 0x259e, 0x0000 }, - { 0x9a00, 0x25a1, 0x2000 }, - { 0x1a00, 0x25a0, 0x0000 }, - { 0x1a00, 0x25a2, 0x0000 }, - { 0x9a00, 0x25a7, 0x3000 }, - { 0x9a00, 0x25a5, 0x2000 }, - { 0x1a00, 0x25a4, 0x0000 }, - { 0x1a00, 0x25a6, 0x0000 }, - { 0x9a00, 0x25a9, 0x2000 }, - { 0x1a00, 0x25a8, 0x0000 }, - { 0x1a00, 0x25aa, 0x0000 }, - { 0x9a00, 0x25bb, 0x5000 }, - { 0x9a00, 0x25b3, 0x4000 }, - { 0x9a00, 0x25af, 0x3000 }, - { 0x9a00, 0x25ad, 0x2000 }, - { 0x1a00, 0x25ac, 0x0000 }, - { 0x1a00, 0x25ae, 0x0000 }, - { 0x9a00, 0x25b1, 0x2000 }, - { 0x1a00, 0x25b0, 0x0000 }, - { 0x1a00, 0x25b2, 0x0000 }, - { 0x9900, 0x25b7, 0x3000 }, - { 0x9a00, 0x25b5, 0x2000 }, - { 0x1a00, 0x25b4, 0x0000 }, - { 0x1a00, 0x25b6, 0x0000 }, - { 0x9a00, 0x25b9, 0x2000 }, - { 0x1a00, 0x25b8, 0x0000 }, - { 0x1a00, 0x25ba, 0x0000 }, - { 0x9a00, 0x25c3, 0x4000 }, - { 0x9a00, 0x25bf, 0x3000 }, - { 0x9a00, 0x25bd, 0x2000 }, - { 0x1a00, 0x25bc, 0x0000 }, - { 0x1a00, 0x25be, 0x0000 }, - { 0x9900, 0x25c1, 0x2000 }, - { 0x1a00, 0x25c0, 0x0000 }, - { 0x1a00, 0x25c2, 0x0000 }, - { 0x9a00, 0x25c7, 0x3000 }, - { 0x9a00, 0x25c5, 0x2000 }, - { 0x1a00, 0x25c4, 0x0000 }, - { 0x1a00, 0x25c6, 0x0000 }, - { 0x9a00, 0x25c9, 0x2000 }, - { 0x1a00, 0x25c8, 0x0000 }, - { 0x1a00, 0x25ca, 0x0000 }, - { 0x9a00, 0x25eb, 0x6000 }, - { 0x9a00, 0x25db, 0x5000 }, - { 0x9a00, 0x25d3, 0x4000 }, - { 0x9a00, 0x25cf, 0x3000 }, - { 0x9a00, 0x25cd, 0x2000 }, - { 0x1a00, 0x25cc, 0x0000 }, - { 0x1a00, 0x25ce, 0x0000 }, - { 0x9a00, 0x25d1, 0x2000 }, - { 0x1a00, 0x25d0, 0x0000 }, - { 0x1a00, 0x25d2, 0x0000 }, - { 0x9a00, 0x25d7, 0x3000 }, - { 0x9a00, 0x25d5, 0x2000 }, - { 0x1a00, 0x25d4, 0x0000 }, - { 0x1a00, 0x25d6, 0x0000 }, - { 0x9a00, 0x25d9, 0x2000 }, - { 0x1a00, 0x25d8, 0x0000 }, - { 0x1a00, 0x25da, 0x0000 }, - { 0x9a00, 0x25e3, 0x4000 }, - { 0x9a00, 0x25df, 0x3000 }, - { 0x9a00, 0x25dd, 0x2000 }, - { 0x1a00, 0x25dc, 0x0000 }, - { 0x1a00, 0x25de, 0x0000 }, - { 0x9a00, 0x25e1, 0x2000 }, - { 0x1a00, 0x25e0, 0x0000 }, - { 0x1a00, 0x25e2, 0x0000 }, - { 0x9a00, 0x25e7, 0x3000 }, - { 0x9a00, 0x25e5, 0x2000 }, - { 0x1a00, 0x25e4, 0x0000 }, - { 0x1a00, 0x25e6, 0x0000 }, - { 0x9a00, 0x25e9, 0x2000 }, - { 0x1a00, 0x25e8, 0x0000 }, - { 0x1a00, 0x25ea, 0x0000 }, - { 0x9900, 0x25fb, 0x5000 }, - { 0x9a00, 0x25f3, 0x4000 }, - { 0x9a00, 0x25ef, 0x3000 }, - { 0x9a00, 0x25ed, 0x2000 }, - { 0x1a00, 0x25ec, 0x0000 }, - { 0x1a00, 0x25ee, 0x0000 }, - { 0x9a00, 0x25f1, 0x2000 }, - { 0x1a00, 0x25f0, 0x0000 }, - { 0x1a00, 0x25f2, 0x0000 }, - { 0x9a00, 0x25f7, 0x3000 }, - { 0x9a00, 0x25f5, 0x2000 }, - { 0x1a00, 0x25f4, 0x0000 }, - { 0x1a00, 0x25f6, 0x0000 }, - { 0x9900, 0x25f9, 0x2000 }, - { 0x1900, 0x25f8, 0x0000 }, - { 0x1900, 0x25fa, 0x0000 }, - { 0x9a00, 0x2603, 0x4000 }, - { 0x9900, 0x25ff, 0x3000 }, - { 0x9900, 0x25fd, 0x2000 }, - { 0x1900, 0x25fc, 0x0000 }, - { 0x1900, 0x25fe, 0x0000 }, - { 0x9a00, 0x2601, 0x2000 }, - { 0x1a00, 0x2600, 0x0000 }, - { 0x1a00, 0x2602, 0x0000 }, - { 0x9a00, 0x2607, 0x3000 }, - { 0x9a00, 0x2605, 0x2000 }, - { 0x1a00, 0x2604, 0x0000 }, - { 0x1a00, 0x2606, 0x0000 }, - { 0x9a00, 0x2609, 0x2000 }, - { 0x1a00, 0x2608, 0x0000 }, - { 0x1a00, 0x260a, 0x0000 }, - { 0x9a00, 0x268e, 0x8000 }, - { 0x9a00, 0x264c, 0x7000 }, - { 0x9a00, 0x262c, 0x6000 }, - { 0x9a00, 0x261c, 0x5000 }, - { 0x9a00, 0x2613, 0x4000 }, - { 0x9a00, 0x260f, 0x3000 }, - { 0x9a00, 0x260d, 0x2000 }, - { 0x1a00, 0x260c, 0x0000 }, - { 0x1a00, 0x260e, 0x0000 }, - { 0x9a00, 0x2611, 0x2000 }, - { 0x1a00, 0x2610, 0x0000 }, - { 0x1a00, 0x2612, 0x0000 }, - { 0x9a00, 0x2617, 0x3000 }, - { 0x9a00, 0x2615, 0x2000 }, - { 0x1a00, 0x2614, 0x0000 }, - { 0x1a00, 0x2616, 0x0000 }, - { 0x9a00, 0x261a, 0x2000 }, - { 0x1a00, 0x2619, 0x0000 }, - { 0x1a00, 0x261b, 0x0000 }, - { 0x9a00, 0x2624, 0x4000 }, - { 0x9a00, 0x2620, 0x3000 }, - { 0x9a00, 0x261e, 0x2000 }, - { 0x1a00, 0x261d, 0x0000 }, - { 0x1a00, 0x261f, 0x0000 }, - { 0x9a00, 0x2622, 0x2000 }, - { 0x1a00, 0x2621, 0x0000 }, - { 0x1a00, 0x2623, 0x0000 }, - { 0x9a00, 0x2628, 0x3000 }, - { 0x9a00, 0x2626, 0x2000 }, - { 0x1a00, 0x2625, 0x0000 }, - { 0x1a00, 0x2627, 0x0000 }, - { 0x9a00, 0x262a, 0x2000 }, - { 0x1a00, 0x2629, 0x0000 }, - { 0x1a00, 0x262b, 0x0000 }, - { 0x9a00, 0x263c, 0x5000 }, - { 0x9a00, 0x2634, 0x4000 }, - { 0x9a00, 0x2630, 0x3000 }, - { 0x9a00, 0x262e, 0x2000 }, - { 0x1a00, 0x262d, 0x0000 }, - { 0x1a00, 0x262f, 0x0000 }, - { 0x9a00, 0x2632, 0x2000 }, - { 0x1a00, 0x2631, 0x0000 }, - { 0x1a00, 0x2633, 0x0000 }, - { 0x9a00, 0x2638, 0x3000 }, - { 0x9a00, 0x2636, 0x2000 }, - { 0x1a00, 0x2635, 0x0000 }, - { 0x1a00, 0x2637, 0x0000 }, - { 0x9a00, 0x263a, 0x2000 }, - { 0x1a00, 0x2639, 0x0000 }, - { 0x1a00, 0x263b, 0x0000 }, - { 0x9a00, 0x2644, 0x4000 }, - { 0x9a00, 0x2640, 0x3000 }, - { 0x9a00, 0x263e, 0x2000 }, - { 0x1a00, 0x263d, 0x0000 }, - { 0x1a00, 0x263f, 0x0000 }, - { 0x9a00, 0x2642, 0x2000 }, - { 0x1a00, 0x2641, 0x0000 }, - { 0x1a00, 0x2643, 0x0000 }, - { 0x9a00, 0x2648, 0x3000 }, - { 0x9a00, 0x2646, 0x2000 }, - { 0x1a00, 0x2645, 0x0000 }, - { 0x1a00, 0x2647, 0x0000 }, - { 0x9a00, 0x264a, 0x2000 }, - { 0x1a00, 0x2649, 0x0000 }, - { 0x1a00, 0x264b, 0x0000 }, - { 0x9a00, 0x266c, 0x6000 }, - { 0x9a00, 0x265c, 0x5000 }, - { 0x9a00, 0x2654, 0x4000 }, - { 0x9a00, 0x2650, 0x3000 }, - { 0x9a00, 0x264e, 0x2000 }, - { 0x1a00, 0x264d, 0x0000 }, - { 0x1a00, 0x264f, 0x0000 }, - { 0x9a00, 0x2652, 0x2000 }, - { 0x1a00, 0x2651, 0x0000 }, - { 0x1a00, 0x2653, 0x0000 }, - { 0x9a00, 0x2658, 0x3000 }, - { 0x9a00, 0x2656, 0x2000 }, - { 0x1a00, 0x2655, 0x0000 }, - { 0x1a00, 0x2657, 0x0000 }, - { 0x9a00, 0x265a, 0x2000 }, - { 0x1a00, 0x2659, 0x0000 }, - { 0x1a00, 0x265b, 0x0000 }, - { 0x9a00, 0x2664, 0x4000 }, - { 0x9a00, 0x2660, 0x3000 }, - { 0x9a00, 0x265e, 0x2000 }, - { 0x1a00, 0x265d, 0x0000 }, - { 0x1a00, 0x265f, 0x0000 }, - { 0x9a00, 0x2662, 0x2000 }, - { 0x1a00, 0x2661, 0x0000 }, - { 0x1a00, 0x2663, 0x0000 }, - { 0x9a00, 0x2668, 0x3000 }, - { 0x9a00, 0x2666, 0x2000 }, - { 0x1a00, 0x2665, 0x0000 }, - { 0x1a00, 0x2667, 0x0000 }, - { 0x9a00, 0x266a, 0x2000 }, - { 0x1a00, 0x2669, 0x0000 }, - { 0x1a00, 0x266b, 0x0000 }, - { 0x9a00, 0x267c, 0x5000 }, - { 0x9a00, 0x2674, 0x4000 }, - { 0x9a00, 0x2670, 0x3000 }, - { 0x9a00, 0x266e, 0x2000 }, - { 0x1a00, 0x266d, 0x0000 }, - { 0x1900, 0x266f, 0x0000 }, - { 0x9a00, 0x2672, 0x2000 }, - { 0x1a00, 0x2671, 0x0000 }, - { 0x1a00, 0x2673, 0x0000 }, - { 0x9a00, 0x2678, 0x3000 }, - { 0x9a00, 0x2676, 0x2000 }, - { 0x1a00, 0x2675, 0x0000 }, - { 0x1a00, 0x2677, 0x0000 }, - { 0x9a00, 0x267a, 0x2000 }, - { 0x1a00, 0x2679, 0x0000 }, - { 0x1a00, 0x267b, 0x0000 }, - { 0x9a00, 0x2686, 0x4000 }, - { 0x9a00, 0x2682, 0x3000 }, - { 0x9a00, 0x2680, 0x2000 }, - { 0x1a00, 0x267d, 0x0000 }, - { 0x1a00, 0x2681, 0x0000 }, - { 0x9a00, 0x2684, 0x2000 }, - { 0x1a00, 0x2683, 0x0000 }, - { 0x1a00, 0x2685, 0x0000 }, - { 0x9a00, 0x268a, 0x3000 }, - { 0x9a00, 0x2688, 0x2000 }, - { 0x1a00, 0x2687, 0x0000 }, - { 0x1a00, 0x2689, 0x0000 }, - { 0x9a00, 0x268c, 0x2000 }, - { 0x1a00, 0x268b, 0x0000 }, - { 0x1a00, 0x268d, 0x0000 }, - { 0x9a00, 0x273f, 0x7000 }, - { 0x9a00, 0x271e, 0x6000 }, - { 0x9a00, 0x270e, 0x5000 }, - { 0x9a00, 0x2703, 0x4000 }, - { 0x9a00, 0x26a0, 0x3000 }, - { 0x9a00, 0x2690, 0x2000 }, - { 0x1a00, 0x268f, 0x0000 }, - { 0x1a00, 0x2691, 0x0000 }, - { 0x9a00, 0x2701, 0x2000 }, - { 0x1a00, 0x26a1, 0x0000 }, - { 0x1a00, 0x2702, 0x0000 }, - { 0x9a00, 0x2708, 0x3000 }, - { 0x9a00, 0x2706, 0x2000 }, - { 0x1a00, 0x2704, 0x0000 }, - { 0x1a00, 0x2707, 0x0000 }, - { 0x9a00, 0x270c, 0x2000 }, - { 0x1a00, 0x2709, 0x0000 }, - { 0x1a00, 0x270d, 0x0000 }, - { 0x9a00, 0x2716, 0x4000 }, - { 0x9a00, 0x2712, 0x3000 }, - { 0x9a00, 0x2710, 0x2000 }, - { 0x1a00, 0x270f, 0x0000 }, - { 0x1a00, 0x2711, 0x0000 }, - { 0x9a00, 0x2714, 0x2000 }, - { 0x1a00, 0x2713, 0x0000 }, - { 0x1a00, 0x2715, 0x0000 }, - { 0x9a00, 0x271a, 0x3000 }, - { 0x9a00, 0x2718, 0x2000 }, - { 0x1a00, 0x2717, 0x0000 }, - { 0x1a00, 0x2719, 0x0000 }, - { 0x9a00, 0x271c, 0x2000 }, - { 0x1a00, 0x271b, 0x0000 }, - { 0x1a00, 0x271d, 0x0000 }, - { 0x9a00, 0x272f, 0x5000 }, - { 0x9a00, 0x2726, 0x4000 }, - { 0x9a00, 0x2722, 0x3000 }, - { 0x9a00, 0x2720, 0x2000 }, - { 0x1a00, 0x271f, 0x0000 }, - { 0x1a00, 0x2721, 0x0000 }, - { 0x9a00, 0x2724, 0x2000 }, - { 0x1a00, 0x2723, 0x0000 }, - { 0x1a00, 0x2725, 0x0000 }, - { 0x9a00, 0x272b, 0x3000 }, - { 0x9a00, 0x2729, 0x2000 }, - { 0x1a00, 0x2727, 0x0000 }, - { 0x1a00, 0x272a, 0x0000 }, - { 0x9a00, 0x272d, 0x2000 }, - { 0x1a00, 0x272c, 0x0000 }, - { 0x1a00, 0x272e, 0x0000 }, - { 0x9a00, 0x2737, 0x4000 }, - { 0x9a00, 0x2733, 0x3000 }, - { 0x9a00, 0x2731, 0x2000 }, - { 0x1a00, 0x2730, 0x0000 }, - { 0x1a00, 0x2732, 0x0000 }, - { 0x9a00, 0x2735, 0x2000 }, - { 0x1a00, 0x2734, 0x0000 }, - { 0x1a00, 0x2736, 0x0000 }, - { 0x9a00, 0x273b, 0x3000 }, - { 0x9a00, 0x2739, 0x2000 }, - { 0x1a00, 0x2738, 0x0000 }, - { 0x1a00, 0x273a, 0x0000 }, - { 0x9a00, 0x273d, 0x2000 }, - { 0x1a00, 0x273c, 0x0000 }, - { 0x1a00, 0x273e, 0x0000 }, - { 0x9a00, 0x2767, 0x6000 }, - { 0x9a00, 0x2751, 0x5000 }, - { 0x9a00, 0x2747, 0x4000 }, - { 0x9a00, 0x2743, 0x3000 }, - { 0x9a00, 0x2741, 0x2000 }, - { 0x1a00, 0x2740, 0x0000 }, - { 0x1a00, 0x2742, 0x0000 }, - { 0x9a00, 0x2745, 0x2000 }, - { 0x1a00, 0x2744, 0x0000 }, - { 0x1a00, 0x2746, 0x0000 }, - { 0x9a00, 0x274b, 0x3000 }, - { 0x9a00, 0x2749, 0x2000 }, - { 0x1a00, 0x2748, 0x0000 }, - { 0x1a00, 0x274a, 0x0000 }, - { 0x9a00, 0x274f, 0x2000 }, - { 0x1a00, 0x274d, 0x0000 }, - { 0x1a00, 0x2750, 0x0000 }, - { 0x9a00, 0x275d, 0x4000 }, - { 0x9a00, 0x2759, 0x3000 }, - { 0x9a00, 0x2756, 0x2000 }, - { 0x1a00, 0x2752, 0x0000 }, - { 0x1a00, 0x2758, 0x0000 }, - { 0x9a00, 0x275b, 0x2000 }, - { 0x1a00, 0x275a, 0x0000 }, - { 0x1a00, 0x275c, 0x0000 }, - { 0x9a00, 0x2763, 0x3000 }, - { 0x9a00, 0x2761, 0x2000 }, - { 0x1a00, 0x275e, 0x0000 }, - { 0x1a00, 0x2762, 0x0000 }, - { 0x9a00, 0x2765, 0x2000 }, - { 0x1a00, 0x2764, 0x0000 }, - { 0x1a00, 0x2766, 0x0000 }, - { 0x8f00, 0x2777, 0x5000 }, - { 0x9200, 0x276f, 0x4000 }, - { 0x9200, 0x276b, 0x3000 }, - { 0x9200, 0x2769, 0x2000 }, - { 0x1600, 0x2768, 0x0000 }, - { 0x1600, 0x276a, 0x0000 }, - { 0x9200, 0x276d, 0x2000 }, - { 0x1600, 0x276c, 0x0000 }, - { 0x1600, 0x276e, 0x0000 }, - { 0x9200, 0x2773, 0x3000 }, - { 0x9200, 0x2771, 0x2000 }, - { 0x1600, 0x2770, 0x0000 }, - { 0x1600, 0x2772, 0x0000 }, - { 0x9200, 0x2775, 0x2000 }, - { 0x1600, 0x2774, 0x0000 }, - { 0x0f00, 0x2776, 0x0000 }, - { 0x8f00, 0x277f, 0x4000 }, - { 0x8f00, 0x277b, 0x3000 }, - { 0x8f00, 0x2779, 0x2000 }, - { 0x0f00, 0x2778, 0x0000 }, - { 0x0f00, 0x277a, 0x0000 }, - { 0x8f00, 0x277d, 0x2000 }, - { 0x0f00, 0x277c, 0x0000 }, - { 0x0f00, 0x277e, 0x0000 }, - { 0x8f00, 0x2783, 0x3000 }, - { 0x8f00, 0x2781, 0x2000 }, - { 0x0f00, 0x2780, 0x0000 }, - { 0x0f00, 0x2782, 0x0000 }, - { 0x8f00, 0x2785, 0x2000 }, - { 0x0f00, 0x2784, 0x0000 }, - { 0x0f00, 0x2786, 0x0000 }, - { 0x9900, 0x29a0, 0xa000 }, - { 0x9a00, 0x28a0, 0x9000 }, - { 0x9a00, 0x2820, 0x8000 }, - { 0x9900, 0x27dc, 0x7000 }, - { 0x9a00, 0x27aa, 0x6000 }, - { 0x9a00, 0x279a, 0x5000 }, - { 0x8f00, 0x278f, 0x4000 }, - { 0x8f00, 0x278b, 0x3000 }, - { 0x8f00, 0x2789, 0x2000 }, - { 0x0f00, 0x2788, 0x0000 }, - { 0x0f00, 0x278a, 0x0000 }, - { 0x8f00, 0x278d, 0x2000 }, - { 0x0f00, 0x278c, 0x0000 }, - { 0x0f00, 0x278e, 0x0000 }, - { 0x8f00, 0x2793, 0x3000 }, - { 0x8f00, 0x2791, 0x2000 }, - { 0x0f00, 0x2790, 0x0000 }, - { 0x0f00, 0x2792, 0x0000 }, - { 0x9a00, 0x2798, 0x2000 }, - { 0x1a00, 0x2794, 0x0000 }, - { 0x1a00, 0x2799, 0x0000 }, - { 0x9a00, 0x27a2, 0x4000 }, - { 0x9a00, 0x279e, 0x3000 }, - { 0x9a00, 0x279c, 0x2000 }, - { 0x1a00, 0x279b, 0x0000 }, - { 0x1a00, 0x279d, 0x0000 }, - { 0x9a00, 0x27a0, 0x2000 }, - { 0x1a00, 0x279f, 0x0000 }, - { 0x1a00, 0x27a1, 0x0000 }, - { 0x9a00, 0x27a6, 0x3000 }, - { 0x9a00, 0x27a4, 0x2000 }, - { 0x1a00, 0x27a3, 0x0000 }, - { 0x1a00, 0x27a5, 0x0000 }, - { 0x9a00, 0x27a8, 0x2000 }, - { 0x1a00, 0x27a7, 0x0000 }, - { 0x1a00, 0x27a9, 0x0000 }, - { 0x9a00, 0x27bb, 0x5000 }, - { 0x9a00, 0x27b3, 0x4000 }, - { 0x9a00, 0x27ae, 0x3000 }, - { 0x9a00, 0x27ac, 0x2000 }, - { 0x1a00, 0x27ab, 0x0000 }, - { 0x1a00, 0x27ad, 0x0000 }, - { 0x9a00, 0x27b1, 0x2000 }, - { 0x1a00, 0x27af, 0x0000 }, - { 0x1a00, 0x27b2, 0x0000 }, - { 0x9a00, 0x27b7, 0x3000 }, - { 0x9a00, 0x27b5, 0x2000 }, - { 0x1a00, 0x27b4, 0x0000 }, - { 0x1a00, 0x27b6, 0x0000 }, - { 0x9a00, 0x27b9, 0x2000 }, - { 0x1a00, 0x27b8, 0x0000 }, - { 0x1a00, 0x27ba, 0x0000 }, - { 0x9900, 0x27d4, 0x4000 }, - { 0x9900, 0x27d0, 0x3000 }, - { 0x9a00, 0x27bd, 0x2000 }, - { 0x1a00, 0x27bc, 0x0000 }, - { 0x1a00, 0x27be, 0x0000 }, - { 0x9900, 0x27d2, 0x2000 }, - { 0x1900, 0x27d1, 0x0000 }, - { 0x1900, 0x27d3, 0x0000 }, - { 0x9900, 0x27d8, 0x3000 }, - { 0x9900, 0x27d6, 0x2000 }, - { 0x1900, 0x27d5, 0x0000 }, - { 0x1900, 0x27d7, 0x0000 }, - { 0x9900, 0x27da, 0x2000 }, - { 0x1900, 0x27d9, 0x0000 }, - { 0x1900, 0x27db, 0x0000 }, - { 0x9a00, 0x2800, 0x6000 }, - { 0x9900, 0x27f0, 0x5000 }, - { 0x9900, 0x27e4, 0x4000 }, - { 0x9900, 0x27e0, 0x3000 }, - { 0x9900, 0x27de, 0x2000 }, - { 0x1900, 0x27dd, 0x0000 }, - { 0x1900, 0x27df, 0x0000 }, - { 0x9900, 0x27e2, 0x2000 }, - { 0x1900, 0x27e1, 0x0000 }, - { 0x1900, 0x27e3, 0x0000 }, - { 0x9600, 0x27e8, 0x3000 }, - { 0x9600, 0x27e6, 0x2000 }, - { 0x1900, 0x27e5, 0x0000 }, - { 0x1200, 0x27e7, 0x0000 }, - { 0x9600, 0x27ea, 0x2000 }, - { 0x1200, 0x27e9, 0x0000 }, - { 0x1200, 0x27eb, 0x0000 }, - { 0x9900, 0x27f8, 0x4000 }, - { 0x9900, 0x27f4, 0x3000 }, - { 0x9900, 0x27f2, 0x2000 }, - { 0x1900, 0x27f1, 0x0000 }, - { 0x1900, 0x27f3, 0x0000 }, - { 0x9900, 0x27f6, 0x2000 }, - { 0x1900, 0x27f5, 0x0000 }, - { 0x1900, 0x27f7, 0x0000 }, - { 0x9900, 0x27fc, 0x3000 }, - { 0x9900, 0x27fa, 0x2000 }, - { 0x1900, 0x27f9, 0x0000 }, - { 0x1900, 0x27fb, 0x0000 }, - { 0x9900, 0x27fe, 0x2000 }, - { 0x1900, 0x27fd, 0x0000 }, - { 0x1900, 0x27ff, 0x0000 }, - { 0x9a00, 0x2810, 0x5000 }, - { 0x9a00, 0x2808, 0x4000 }, - { 0x9a00, 0x2804, 0x3000 }, - { 0x9a00, 0x2802, 0x2000 }, - { 0x1a00, 0x2801, 0x0000 }, - { 0x1a00, 0x2803, 0x0000 }, - { 0x9a00, 0x2806, 0x2000 }, - { 0x1a00, 0x2805, 0x0000 }, - { 0x1a00, 0x2807, 0x0000 }, - { 0x9a00, 0x280c, 0x3000 }, - { 0x9a00, 0x280a, 0x2000 }, - { 0x1a00, 0x2809, 0x0000 }, - { 0x1a00, 0x280b, 0x0000 }, - { 0x9a00, 0x280e, 0x2000 }, - { 0x1a00, 0x280d, 0x0000 }, - { 0x1a00, 0x280f, 0x0000 }, - { 0x9a00, 0x2818, 0x4000 }, - { 0x9a00, 0x2814, 0x3000 }, - { 0x9a00, 0x2812, 0x2000 }, - { 0x1a00, 0x2811, 0x0000 }, - { 0x1a00, 0x2813, 0x0000 }, - { 0x9a00, 0x2816, 0x2000 }, - { 0x1a00, 0x2815, 0x0000 }, - { 0x1a00, 0x2817, 0x0000 }, - { 0x9a00, 0x281c, 0x3000 }, - { 0x9a00, 0x281a, 0x2000 }, - { 0x1a00, 0x2819, 0x0000 }, - { 0x1a00, 0x281b, 0x0000 }, - { 0x9a00, 0x281e, 0x2000 }, - { 0x1a00, 0x281d, 0x0000 }, - { 0x1a00, 0x281f, 0x0000 }, - { 0x9a00, 0x2860, 0x7000 }, - { 0x9a00, 0x2840, 0x6000 }, - { 0x9a00, 0x2830, 0x5000 }, - { 0x9a00, 0x2828, 0x4000 }, - { 0x9a00, 0x2824, 0x3000 }, - { 0x9a00, 0x2822, 0x2000 }, - { 0x1a00, 0x2821, 0x0000 }, - { 0x1a00, 0x2823, 0x0000 }, - { 0x9a00, 0x2826, 0x2000 }, - { 0x1a00, 0x2825, 0x0000 }, - { 0x1a00, 0x2827, 0x0000 }, - { 0x9a00, 0x282c, 0x3000 }, - { 0x9a00, 0x282a, 0x2000 }, - { 0x1a00, 0x2829, 0x0000 }, - { 0x1a00, 0x282b, 0x0000 }, - { 0x9a00, 0x282e, 0x2000 }, - { 0x1a00, 0x282d, 0x0000 }, - { 0x1a00, 0x282f, 0x0000 }, - { 0x9a00, 0x2838, 0x4000 }, - { 0x9a00, 0x2834, 0x3000 }, - { 0x9a00, 0x2832, 0x2000 }, - { 0x1a00, 0x2831, 0x0000 }, - { 0x1a00, 0x2833, 0x0000 }, - { 0x9a00, 0x2836, 0x2000 }, - { 0x1a00, 0x2835, 0x0000 }, - { 0x1a00, 0x2837, 0x0000 }, - { 0x9a00, 0x283c, 0x3000 }, - { 0x9a00, 0x283a, 0x2000 }, - { 0x1a00, 0x2839, 0x0000 }, - { 0x1a00, 0x283b, 0x0000 }, - { 0x9a00, 0x283e, 0x2000 }, - { 0x1a00, 0x283d, 0x0000 }, - { 0x1a00, 0x283f, 0x0000 }, - { 0x9a00, 0x2850, 0x5000 }, - { 0x9a00, 0x2848, 0x4000 }, - { 0x9a00, 0x2844, 0x3000 }, - { 0x9a00, 0x2842, 0x2000 }, - { 0x1a00, 0x2841, 0x0000 }, - { 0x1a00, 0x2843, 0x0000 }, - { 0x9a00, 0x2846, 0x2000 }, - { 0x1a00, 0x2845, 0x0000 }, - { 0x1a00, 0x2847, 0x0000 }, - { 0x9a00, 0x284c, 0x3000 }, - { 0x9a00, 0x284a, 0x2000 }, - { 0x1a00, 0x2849, 0x0000 }, - { 0x1a00, 0x284b, 0x0000 }, - { 0x9a00, 0x284e, 0x2000 }, - { 0x1a00, 0x284d, 0x0000 }, - { 0x1a00, 0x284f, 0x0000 }, - { 0x9a00, 0x2858, 0x4000 }, - { 0x9a00, 0x2854, 0x3000 }, - { 0x9a00, 0x2852, 0x2000 }, - { 0x1a00, 0x2851, 0x0000 }, - { 0x1a00, 0x2853, 0x0000 }, - { 0x9a00, 0x2856, 0x2000 }, - { 0x1a00, 0x2855, 0x0000 }, - { 0x1a00, 0x2857, 0x0000 }, - { 0x9a00, 0x285c, 0x3000 }, - { 0x9a00, 0x285a, 0x2000 }, - { 0x1a00, 0x2859, 0x0000 }, - { 0x1a00, 0x285b, 0x0000 }, - { 0x9a00, 0x285e, 0x2000 }, - { 0x1a00, 0x285d, 0x0000 }, - { 0x1a00, 0x285f, 0x0000 }, - { 0x9a00, 0x2880, 0x6000 }, - { 0x9a00, 0x2870, 0x5000 }, - { 0x9a00, 0x2868, 0x4000 }, - { 0x9a00, 0x2864, 0x3000 }, - { 0x9a00, 0x2862, 0x2000 }, - { 0x1a00, 0x2861, 0x0000 }, - { 0x1a00, 0x2863, 0x0000 }, - { 0x9a00, 0x2866, 0x2000 }, - { 0x1a00, 0x2865, 0x0000 }, - { 0x1a00, 0x2867, 0x0000 }, - { 0x9a00, 0x286c, 0x3000 }, - { 0x9a00, 0x286a, 0x2000 }, - { 0x1a00, 0x2869, 0x0000 }, - { 0x1a00, 0x286b, 0x0000 }, - { 0x9a00, 0x286e, 0x2000 }, - { 0x1a00, 0x286d, 0x0000 }, - { 0x1a00, 0x286f, 0x0000 }, - { 0x9a00, 0x2878, 0x4000 }, - { 0x9a00, 0x2874, 0x3000 }, - { 0x9a00, 0x2872, 0x2000 }, - { 0x1a00, 0x2871, 0x0000 }, - { 0x1a00, 0x2873, 0x0000 }, - { 0x9a00, 0x2876, 0x2000 }, - { 0x1a00, 0x2875, 0x0000 }, - { 0x1a00, 0x2877, 0x0000 }, - { 0x9a00, 0x287c, 0x3000 }, - { 0x9a00, 0x287a, 0x2000 }, - { 0x1a00, 0x2879, 0x0000 }, - { 0x1a00, 0x287b, 0x0000 }, - { 0x9a00, 0x287e, 0x2000 }, - { 0x1a00, 0x287d, 0x0000 }, - { 0x1a00, 0x287f, 0x0000 }, - { 0x9a00, 0x2890, 0x5000 }, - { 0x9a00, 0x2888, 0x4000 }, - { 0x9a00, 0x2884, 0x3000 }, - { 0x9a00, 0x2882, 0x2000 }, - { 0x1a00, 0x2881, 0x0000 }, - { 0x1a00, 0x2883, 0x0000 }, - { 0x9a00, 0x2886, 0x2000 }, - { 0x1a00, 0x2885, 0x0000 }, - { 0x1a00, 0x2887, 0x0000 }, - { 0x9a00, 0x288c, 0x3000 }, - { 0x9a00, 0x288a, 0x2000 }, - { 0x1a00, 0x2889, 0x0000 }, - { 0x1a00, 0x288b, 0x0000 }, - { 0x9a00, 0x288e, 0x2000 }, - { 0x1a00, 0x288d, 0x0000 }, - { 0x1a00, 0x288f, 0x0000 }, - { 0x9a00, 0x2898, 0x4000 }, - { 0x9a00, 0x2894, 0x3000 }, - { 0x9a00, 0x2892, 0x2000 }, - { 0x1a00, 0x2891, 0x0000 }, - { 0x1a00, 0x2893, 0x0000 }, - { 0x9a00, 0x2896, 0x2000 }, - { 0x1a00, 0x2895, 0x0000 }, - { 0x1a00, 0x2897, 0x0000 }, - { 0x9a00, 0x289c, 0x3000 }, - { 0x9a00, 0x289a, 0x2000 }, - { 0x1a00, 0x2899, 0x0000 }, - { 0x1a00, 0x289b, 0x0000 }, - { 0x9a00, 0x289e, 0x2000 }, - { 0x1a00, 0x289d, 0x0000 }, - { 0x1a00, 0x289f, 0x0000 }, - { 0x9900, 0x2920, 0x8000 }, - { 0x9a00, 0x28e0, 0x7000 }, - { 0x9a00, 0x28c0, 0x6000 }, - { 0x9a00, 0x28b0, 0x5000 }, - { 0x9a00, 0x28a8, 0x4000 }, - { 0x9a00, 0x28a4, 0x3000 }, - { 0x9a00, 0x28a2, 0x2000 }, - { 0x1a00, 0x28a1, 0x0000 }, - { 0x1a00, 0x28a3, 0x0000 }, - { 0x9a00, 0x28a6, 0x2000 }, - { 0x1a00, 0x28a5, 0x0000 }, - { 0x1a00, 0x28a7, 0x0000 }, - { 0x9a00, 0x28ac, 0x3000 }, - { 0x9a00, 0x28aa, 0x2000 }, - { 0x1a00, 0x28a9, 0x0000 }, - { 0x1a00, 0x28ab, 0x0000 }, - { 0x9a00, 0x28ae, 0x2000 }, - { 0x1a00, 0x28ad, 0x0000 }, - { 0x1a00, 0x28af, 0x0000 }, - { 0x9a00, 0x28b8, 0x4000 }, - { 0x9a00, 0x28b4, 0x3000 }, - { 0x9a00, 0x28b2, 0x2000 }, - { 0x1a00, 0x28b1, 0x0000 }, - { 0x1a00, 0x28b3, 0x0000 }, - { 0x9a00, 0x28b6, 0x2000 }, - { 0x1a00, 0x28b5, 0x0000 }, - { 0x1a00, 0x28b7, 0x0000 }, - { 0x9a00, 0x28bc, 0x3000 }, - { 0x9a00, 0x28ba, 0x2000 }, - { 0x1a00, 0x28b9, 0x0000 }, - { 0x1a00, 0x28bb, 0x0000 }, - { 0x9a00, 0x28be, 0x2000 }, - { 0x1a00, 0x28bd, 0x0000 }, - { 0x1a00, 0x28bf, 0x0000 }, - { 0x9a00, 0x28d0, 0x5000 }, - { 0x9a00, 0x28c8, 0x4000 }, - { 0x9a00, 0x28c4, 0x3000 }, - { 0x9a00, 0x28c2, 0x2000 }, - { 0x1a00, 0x28c1, 0x0000 }, - { 0x1a00, 0x28c3, 0x0000 }, - { 0x9a00, 0x28c6, 0x2000 }, - { 0x1a00, 0x28c5, 0x0000 }, - { 0x1a00, 0x28c7, 0x0000 }, - { 0x9a00, 0x28cc, 0x3000 }, - { 0x9a00, 0x28ca, 0x2000 }, - { 0x1a00, 0x28c9, 0x0000 }, - { 0x1a00, 0x28cb, 0x0000 }, - { 0x9a00, 0x28ce, 0x2000 }, - { 0x1a00, 0x28cd, 0x0000 }, - { 0x1a00, 0x28cf, 0x0000 }, - { 0x9a00, 0x28d8, 0x4000 }, - { 0x9a00, 0x28d4, 0x3000 }, - { 0x9a00, 0x28d2, 0x2000 }, - { 0x1a00, 0x28d1, 0x0000 }, - { 0x1a00, 0x28d3, 0x0000 }, - { 0x9a00, 0x28d6, 0x2000 }, - { 0x1a00, 0x28d5, 0x0000 }, - { 0x1a00, 0x28d7, 0x0000 }, - { 0x9a00, 0x28dc, 0x3000 }, - { 0x9a00, 0x28da, 0x2000 }, - { 0x1a00, 0x28d9, 0x0000 }, - { 0x1a00, 0x28db, 0x0000 }, - { 0x9a00, 0x28de, 0x2000 }, - { 0x1a00, 0x28dd, 0x0000 }, - { 0x1a00, 0x28df, 0x0000 }, - { 0x9900, 0x2900, 0x6000 }, - { 0x9a00, 0x28f0, 0x5000 }, - { 0x9a00, 0x28e8, 0x4000 }, - { 0x9a00, 0x28e4, 0x3000 }, - { 0x9a00, 0x28e2, 0x2000 }, - { 0x1a00, 0x28e1, 0x0000 }, - { 0x1a00, 0x28e3, 0x0000 }, - { 0x9a00, 0x28e6, 0x2000 }, - { 0x1a00, 0x28e5, 0x0000 }, - { 0x1a00, 0x28e7, 0x0000 }, - { 0x9a00, 0x28ec, 0x3000 }, - { 0x9a00, 0x28ea, 0x2000 }, - { 0x1a00, 0x28e9, 0x0000 }, - { 0x1a00, 0x28eb, 0x0000 }, - { 0x9a00, 0x28ee, 0x2000 }, - { 0x1a00, 0x28ed, 0x0000 }, - { 0x1a00, 0x28ef, 0x0000 }, - { 0x9a00, 0x28f8, 0x4000 }, - { 0x9a00, 0x28f4, 0x3000 }, - { 0x9a00, 0x28f2, 0x2000 }, - { 0x1a00, 0x28f1, 0x0000 }, - { 0x1a00, 0x28f3, 0x0000 }, - { 0x9a00, 0x28f6, 0x2000 }, - { 0x1a00, 0x28f5, 0x0000 }, - { 0x1a00, 0x28f7, 0x0000 }, - { 0x9a00, 0x28fc, 0x3000 }, - { 0x9a00, 0x28fa, 0x2000 }, - { 0x1a00, 0x28f9, 0x0000 }, - { 0x1a00, 0x28fb, 0x0000 }, - { 0x9a00, 0x28fe, 0x2000 }, - { 0x1a00, 0x28fd, 0x0000 }, - { 0x1a00, 0x28ff, 0x0000 }, - { 0x9900, 0x2910, 0x5000 }, - { 0x9900, 0x2908, 0x4000 }, - { 0x9900, 0x2904, 0x3000 }, - { 0x9900, 0x2902, 0x2000 }, - { 0x1900, 0x2901, 0x0000 }, - { 0x1900, 0x2903, 0x0000 }, - { 0x9900, 0x2906, 0x2000 }, - { 0x1900, 0x2905, 0x0000 }, - { 0x1900, 0x2907, 0x0000 }, - { 0x9900, 0x290c, 0x3000 }, - { 0x9900, 0x290a, 0x2000 }, - { 0x1900, 0x2909, 0x0000 }, - { 0x1900, 0x290b, 0x0000 }, - { 0x9900, 0x290e, 0x2000 }, - { 0x1900, 0x290d, 0x0000 }, - { 0x1900, 0x290f, 0x0000 }, - { 0x9900, 0x2918, 0x4000 }, - { 0x9900, 0x2914, 0x3000 }, - { 0x9900, 0x2912, 0x2000 }, - { 0x1900, 0x2911, 0x0000 }, - { 0x1900, 0x2913, 0x0000 }, - { 0x9900, 0x2916, 0x2000 }, - { 0x1900, 0x2915, 0x0000 }, - { 0x1900, 0x2917, 0x0000 }, - { 0x9900, 0x291c, 0x3000 }, - { 0x9900, 0x291a, 0x2000 }, - { 0x1900, 0x2919, 0x0000 }, - { 0x1900, 0x291b, 0x0000 }, - { 0x9900, 0x291e, 0x2000 }, - { 0x1900, 0x291d, 0x0000 }, - { 0x1900, 0x291f, 0x0000 }, - { 0x9900, 0x2960, 0x7000 }, - { 0x9900, 0x2940, 0x6000 }, - { 0x9900, 0x2930, 0x5000 }, - { 0x9900, 0x2928, 0x4000 }, - { 0x9900, 0x2924, 0x3000 }, - { 0x9900, 0x2922, 0x2000 }, - { 0x1900, 0x2921, 0x0000 }, - { 0x1900, 0x2923, 0x0000 }, - { 0x9900, 0x2926, 0x2000 }, - { 0x1900, 0x2925, 0x0000 }, - { 0x1900, 0x2927, 0x0000 }, - { 0x9900, 0x292c, 0x3000 }, - { 0x9900, 0x292a, 0x2000 }, - { 0x1900, 0x2929, 0x0000 }, - { 0x1900, 0x292b, 0x0000 }, - { 0x9900, 0x292e, 0x2000 }, - { 0x1900, 0x292d, 0x0000 }, - { 0x1900, 0x292f, 0x0000 }, - { 0x9900, 0x2938, 0x4000 }, - { 0x9900, 0x2934, 0x3000 }, - { 0x9900, 0x2932, 0x2000 }, - { 0x1900, 0x2931, 0x0000 }, - { 0x1900, 0x2933, 0x0000 }, - { 0x9900, 0x2936, 0x2000 }, - { 0x1900, 0x2935, 0x0000 }, - { 0x1900, 0x2937, 0x0000 }, - { 0x9900, 0x293c, 0x3000 }, - { 0x9900, 0x293a, 0x2000 }, - { 0x1900, 0x2939, 0x0000 }, - { 0x1900, 0x293b, 0x0000 }, - { 0x9900, 0x293e, 0x2000 }, - { 0x1900, 0x293d, 0x0000 }, - { 0x1900, 0x293f, 0x0000 }, - { 0x9900, 0x2950, 0x5000 }, - { 0x9900, 0x2948, 0x4000 }, - { 0x9900, 0x2944, 0x3000 }, - { 0x9900, 0x2942, 0x2000 }, - { 0x1900, 0x2941, 0x0000 }, - { 0x1900, 0x2943, 0x0000 }, - { 0x9900, 0x2946, 0x2000 }, - { 0x1900, 0x2945, 0x0000 }, - { 0x1900, 0x2947, 0x0000 }, - { 0x9900, 0x294c, 0x3000 }, - { 0x9900, 0x294a, 0x2000 }, - { 0x1900, 0x2949, 0x0000 }, - { 0x1900, 0x294b, 0x0000 }, - { 0x9900, 0x294e, 0x2000 }, - { 0x1900, 0x294d, 0x0000 }, - { 0x1900, 0x294f, 0x0000 }, - { 0x9900, 0x2958, 0x4000 }, - { 0x9900, 0x2954, 0x3000 }, - { 0x9900, 0x2952, 0x2000 }, - { 0x1900, 0x2951, 0x0000 }, - { 0x1900, 0x2953, 0x0000 }, - { 0x9900, 0x2956, 0x2000 }, - { 0x1900, 0x2955, 0x0000 }, - { 0x1900, 0x2957, 0x0000 }, - { 0x9900, 0x295c, 0x3000 }, - { 0x9900, 0x295a, 0x2000 }, - { 0x1900, 0x2959, 0x0000 }, - { 0x1900, 0x295b, 0x0000 }, - { 0x9900, 0x295e, 0x2000 }, - { 0x1900, 0x295d, 0x0000 }, - { 0x1900, 0x295f, 0x0000 }, - { 0x9900, 0x2980, 0x6000 }, - { 0x9900, 0x2970, 0x5000 }, - { 0x9900, 0x2968, 0x4000 }, - { 0x9900, 0x2964, 0x3000 }, - { 0x9900, 0x2962, 0x2000 }, - { 0x1900, 0x2961, 0x0000 }, - { 0x1900, 0x2963, 0x0000 }, - { 0x9900, 0x2966, 0x2000 }, - { 0x1900, 0x2965, 0x0000 }, - { 0x1900, 0x2967, 0x0000 }, - { 0x9900, 0x296c, 0x3000 }, - { 0x9900, 0x296a, 0x2000 }, - { 0x1900, 0x2969, 0x0000 }, - { 0x1900, 0x296b, 0x0000 }, - { 0x9900, 0x296e, 0x2000 }, - { 0x1900, 0x296d, 0x0000 }, - { 0x1900, 0x296f, 0x0000 }, - { 0x9900, 0x2978, 0x4000 }, - { 0x9900, 0x2974, 0x3000 }, - { 0x9900, 0x2972, 0x2000 }, - { 0x1900, 0x2971, 0x0000 }, - { 0x1900, 0x2973, 0x0000 }, - { 0x9900, 0x2976, 0x2000 }, - { 0x1900, 0x2975, 0x0000 }, - { 0x1900, 0x2977, 0x0000 }, - { 0x9900, 0x297c, 0x3000 }, - { 0x9900, 0x297a, 0x2000 }, - { 0x1900, 0x2979, 0x0000 }, - { 0x1900, 0x297b, 0x0000 }, - { 0x9900, 0x297e, 0x2000 }, - { 0x1900, 0x297d, 0x0000 }, - { 0x1900, 0x297f, 0x0000 }, - { 0x9200, 0x2990, 0x5000 }, - { 0x9200, 0x2988, 0x4000 }, - { 0x9200, 0x2984, 0x3000 }, - { 0x9900, 0x2982, 0x2000 }, - { 0x1900, 0x2981, 0x0000 }, - { 0x1600, 0x2983, 0x0000 }, - { 0x9200, 0x2986, 0x2000 }, - { 0x1600, 0x2985, 0x0000 }, - { 0x1600, 0x2987, 0x0000 }, - { 0x9200, 0x298c, 0x3000 }, - { 0x9200, 0x298a, 0x2000 }, - { 0x1600, 0x2989, 0x0000 }, - { 0x1600, 0x298b, 0x0000 }, - { 0x9200, 0x298e, 0x2000 }, - { 0x1600, 0x298d, 0x0000 }, - { 0x1600, 0x298f, 0x0000 }, - { 0x9200, 0x2998, 0x4000 }, - { 0x9200, 0x2994, 0x3000 }, - { 0x9200, 0x2992, 0x2000 }, - { 0x1600, 0x2991, 0x0000 }, - { 0x1600, 0x2993, 0x0000 }, - { 0x9200, 0x2996, 0x2000 }, - { 0x1600, 0x2995, 0x0000 }, - { 0x1600, 0x2997, 0x0000 }, - { 0x9900, 0x299c, 0x3000 }, - { 0x9900, 0x299a, 0x2000 }, - { 0x1900, 0x2999, 0x0000 }, - { 0x1900, 0x299b, 0x0000 }, - { 0x9900, 0x299e, 0x2000 }, - { 0x1900, 0x299d, 0x0000 }, - { 0x1900, 0x299f, 0x0000 }, - { 0x9900, 0x2aa0, 0x9000 }, - { 0x9900, 0x2a20, 0x8000 }, - { 0x9900, 0x29e0, 0x7000 }, - { 0x9900, 0x29c0, 0x6000 }, - { 0x9900, 0x29b0, 0x5000 }, - { 0x9900, 0x29a8, 0x4000 }, - { 0x9900, 0x29a4, 0x3000 }, - { 0x9900, 0x29a2, 0x2000 }, - { 0x1900, 0x29a1, 0x0000 }, - { 0x1900, 0x29a3, 0x0000 }, - { 0x9900, 0x29a6, 0x2000 }, - { 0x1900, 0x29a5, 0x0000 }, - { 0x1900, 0x29a7, 0x0000 }, - { 0x9900, 0x29ac, 0x3000 }, - { 0x9900, 0x29aa, 0x2000 }, - { 0x1900, 0x29a9, 0x0000 }, - { 0x1900, 0x29ab, 0x0000 }, - { 0x9900, 0x29ae, 0x2000 }, - { 0x1900, 0x29ad, 0x0000 }, - { 0x1900, 0x29af, 0x0000 }, - { 0x9900, 0x29b8, 0x4000 }, - { 0x9900, 0x29b4, 0x3000 }, - { 0x9900, 0x29b2, 0x2000 }, - { 0x1900, 0x29b1, 0x0000 }, - { 0x1900, 0x29b3, 0x0000 }, - { 0x9900, 0x29b6, 0x2000 }, - { 0x1900, 0x29b5, 0x0000 }, - { 0x1900, 0x29b7, 0x0000 }, - { 0x9900, 0x29bc, 0x3000 }, - { 0x9900, 0x29ba, 0x2000 }, - { 0x1900, 0x29b9, 0x0000 }, - { 0x1900, 0x29bb, 0x0000 }, - { 0x9900, 0x29be, 0x2000 }, - { 0x1900, 0x29bd, 0x0000 }, - { 0x1900, 0x29bf, 0x0000 }, - { 0x9900, 0x29d0, 0x5000 }, - { 0x9900, 0x29c8, 0x4000 }, - { 0x9900, 0x29c4, 0x3000 }, - { 0x9900, 0x29c2, 0x2000 }, - { 0x1900, 0x29c1, 0x0000 }, - { 0x1900, 0x29c3, 0x0000 }, - { 0x9900, 0x29c6, 0x2000 }, - { 0x1900, 0x29c5, 0x0000 }, - { 0x1900, 0x29c7, 0x0000 }, - { 0x9900, 0x29cc, 0x3000 }, - { 0x9900, 0x29ca, 0x2000 }, - { 0x1900, 0x29c9, 0x0000 }, - { 0x1900, 0x29cb, 0x0000 }, - { 0x9900, 0x29ce, 0x2000 }, - { 0x1900, 0x29cd, 0x0000 }, - { 0x1900, 0x29cf, 0x0000 }, - { 0x9600, 0x29d8, 0x4000 }, - { 0x9900, 0x29d4, 0x3000 }, - { 0x9900, 0x29d2, 0x2000 }, - { 0x1900, 0x29d1, 0x0000 }, - { 0x1900, 0x29d3, 0x0000 }, - { 0x9900, 0x29d6, 0x2000 }, - { 0x1900, 0x29d5, 0x0000 }, - { 0x1900, 0x29d7, 0x0000 }, - { 0x9900, 0x29dc, 0x3000 }, - { 0x9600, 0x29da, 0x2000 }, - { 0x1200, 0x29d9, 0x0000 }, - { 0x1200, 0x29db, 0x0000 }, - { 0x9900, 0x29de, 0x2000 }, - { 0x1900, 0x29dd, 0x0000 }, - { 0x1900, 0x29df, 0x0000 }, - { 0x9900, 0x2a00, 0x6000 }, - { 0x9900, 0x29f0, 0x5000 }, - { 0x9900, 0x29e8, 0x4000 }, - { 0x9900, 0x29e4, 0x3000 }, - { 0x9900, 0x29e2, 0x2000 }, - { 0x1900, 0x29e1, 0x0000 }, - { 0x1900, 0x29e3, 0x0000 }, - { 0x9900, 0x29e6, 0x2000 }, - { 0x1900, 0x29e5, 0x0000 }, - { 0x1900, 0x29e7, 0x0000 }, - { 0x9900, 0x29ec, 0x3000 }, - { 0x9900, 0x29ea, 0x2000 }, - { 0x1900, 0x29e9, 0x0000 }, - { 0x1900, 0x29eb, 0x0000 }, - { 0x9900, 0x29ee, 0x2000 }, - { 0x1900, 0x29ed, 0x0000 }, - { 0x1900, 0x29ef, 0x0000 }, - { 0x9900, 0x29f8, 0x4000 }, - { 0x9900, 0x29f4, 0x3000 }, - { 0x9900, 0x29f2, 0x2000 }, - { 0x1900, 0x29f1, 0x0000 }, - { 0x1900, 0x29f3, 0x0000 }, - { 0x9900, 0x29f6, 0x2000 }, - { 0x1900, 0x29f5, 0x0000 }, - { 0x1900, 0x29f7, 0x0000 }, - { 0x9600, 0x29fc, 0x3000 }, - { 0x9900, 0x29fa, 0x2000 }, - { 0x1900, 0x29f9, 0x0000 }, - { 0x1900, 0x29fb, 0x0000 }, - { 0x9900, 0x29fe, 0x2000 }, - { 0x1200, 0x29fd, 0x0000 }, - { 0x1900, 0x29ff, 0x0000 }, - { 0x9900, 0x2a10, 0x5000 }, - { 0x9900, 0x2a08, 0x4000 }, - { 0x9900, 0x2a04, 0x3000 }, - { 0x9900, 0x2a02, 0x2000 }, - { 0x1900, 0x2a01, 0x0000 }, - { 0x1900, 0x2a03, 0x0000 }, - { 0x9900, 0x2a06, 0x2000 }, - { 0x1900, 0x2a05, 0x0000 }, - { 0x1900, 0x2a07, 0x0000 }, - { 0x9900, 0x2a0c, 0x3000 }, - { 0x9900, 0x2a0a, 0x2000 }, - { 0x1900, 0x2a09, 0x0000 }, - { 0x1900, 0x2a0b, 0x0000 }, - { 0x9900, 0x2a0e, 0x2000 }, - { 0x1900, 0x2a0d, 0x0000 }, - { 0x1900, 0x2a0f, 0x0000 }, - { 0x9900, 0x2a18, 0x4000 }, - { 0x9900, 0x2a14, 0x3000 }, - { 0x9900, 0x2a12, 0x2000 }, - { 0x1900, 0x2a11, 0x0000 }, - { 0x1900, 0x2a13, 0x0000 }, - { 0x9900, 0x2a16, 0x2000 }, - { 0x1900, 0x2a15, 0x0000 }, - { 0x1900, 0x2a17, 0x0000 }, - { 0x9900, 0x2a1c, 0x3000 }, - { 0x9900, 0x2a1a, 0x2000 }, - { 0x1900, 0x2a19, 0x0000 }, - { 0x1900, 0x2a1b, 0x0000 }, - { 0x9900, 0x2a1e, 0x2000 }, - { 0x1900, 0x2a1d, 0x0000 }, - { 0x1900, 0x2a1f, 0x0000 }, - { 0x9900, 0x2a60, 0x7000 }, - { 0x9900, 0x2a40, 0x6000 }, - { 0x9900, 0x2a30, 0x5000 }, - { 0x9900, 0x2a28, 0x4000 }, - { 0x9900, 0x2a24, 0x3000 }, - { 0x9900, 0x2a22, 0x2000 }, - { 0x1900, 0x2a21, 0x0000 }, - { 0x1900, 0x2a23, 0x0000 }, - { 0x9900, 0x2a26, 0x2000 }, - { 0x1900, 0x2a25, 0x0000 }, - { 0x1900, 0x2a27, 0x0000 }, - { 0x9900, 0x2a2c, 0x3000 }, - { 0x9900, 0x2a2a, 0x2000 }, - { 0x1900, 0x2a29, 0x0000 }, - { 0x1900, 0x2a2b, 0x0000 }, - { 0x9900, 0x2a2e, 0x2000 }, - { 0x1900, 0x2a2d, 0x0000 }, - { 0x1900, 0x2a2f, 0x0000 }, - { 0x9900, 0x2a38, 0x4000 }, - { 0x9900, 0x2a34, 0x3000 }, - { 0x9900, 0x2a32, 0x2000 }, - { 0x1900, 0x2a31, 0x0000 }, - { 0x1900, 0x2a33, 0x0000 }, - { 0x9900, 0x2a36, 0x2000 }, - { 0x1900, 0x2a35, 0x0000 }, - { 0x1900, 0x2a37, 0x0000 }, - { 0x9900, 0x2a3c, 0x3000 }, - { 0x9900, 0x2a3a, 0x2000 }, - { 0x1900, 0x2a39, 0x0000 }, - { 0x1900, 0x2a3b, 0x0000 }, - { 0x9900, 0x2a3e, 0x2000 }, - { 0x1900, 0x2a3d, 0x0000 }, - { 0x1900, 0x2a3f, 0x0000 }, - { 0x9900, 0x2a50, 0x5000 }, - { 0x9900, 0x2a48, 0x4000 }, - { 0x9900, 0x2a44, 0x3000 }, - { 0x9900, 0x2a42, 0x2000 }, - { 0x1900, 0x2a41, 0x0000 }, - { 0x1900, 0x2a43, 0x0000 }, - { 0x9900, 0x2a46, 0x2000 }, - { 0x1900, 0x2a45, 0x0000 }, - { 0x1900, 0x2a47, 0x0000 }, - { 0x9900, 0x2a4c, 0x3000 }, - { 0x9900, 0x2a4a, 0x2000 }, - { 0x1900, 0x2a49, 0x0000 }, - { 0x1900, 0x2a4b, 0x0000 }, - { 0x9900, 0x2a4e, 0x2000 }, - { 0x1900, 0x2a4d, 0x0000 }, - { 0x1900, 0x2a4f, 0x0000 }, - { 0x9900, 0x2a58, 0x4000 }, - { 0x9900, 0x2a54, 0x3000 }, - { 0x9900, 0x2a52, 0x2000 }, - { 0x1900, 0x2a51, 0x0000 }, - { 0x1900, 0x2a53, 0x0000 }, - { 0x9900, 0x2a56, 0x2000 }, - { 0x1900, 0x2a55, 0x0000 }, - { 0x1900, 0x2a57, 0x0000 }, - { 0x9900, 0x2a5c, 0x3000 }, - { 0x9900, 0x2a5a, 0x2000 }, - { 0x1900, 0x2a59, 0x0000 }, - { 0x1900, 0x2a5b, 0x0000 }, - { 0x9900, 0x2a5e, 0x2000 }, - { 0x1900, 0x2a5d, 0x0000 }, - { 0x1900, 0x2a5f, 0x0000 }, - { 0x9900, 0x2a80, 0x6000 }, - { 0x9900, 0x2a70, 0x5000 }, - { 0x9900, 0x2a68, 0x4000 }, - { 0x9900, 0x2a64, 0x3000 }, - { 0x9900, 0x2a62, 0x2000 }, - { 0x1900, 0x2a61, 0x0000 }, - { 0x1900, 0x2a63, 0x0000 }, - { 0x9900, 0x2a66, 0x2000 }, - { 0x1900, 0x2a65, 0x0000 }, - { 0x1900, 0x2a67, 0x0000 }, - { 0x9900, 0x2a6c, 0x3000 }, - { 0x9900, 0x2a6a, 0x2000 }, - { 0x1900, 0x2a69, 0x0000 }, - { 0x1900, 0x2a6b, 0x0000 }, - { 0x9900, 0x2a6e, 0x2000 }, - { 0x1900, 0x2a6d, 0x0000 }, - { 0x1900, 0x2a6f, 0x0000 }, - { 0x9900, 0x2a78, 0x4000 }, - { 0x9900, 0x2a74, 0x3000 }, - { 0x9900, 0x2a72, 0x2000 }, - { 0x1900, 0x2a71, 0x0000 }, - { 0x1900, 0x2a73, 0x0000 }, - { 0x9900, 0x2a76, 0x2000 }, - { 0x1900, 0x2a75, 0x0000 }, - { 0x1900, 0x2a77, 0x0000 }, - { 0x9900, 0x2a7c, 0x3000 }, - { 0x9900, 0x2a7a, 0x2000 }, - { 0x1900, 0x2a79, 0x0000 }, - { 0x1900, 0x2a7b, 0x0000 }, - { 0x9900, 0x2a7e, 0x2000 }, - { 0x1900, 0x2a7d, 0x0000 }, - { 0x1900, 0x2a7f, 0x0000 }, - { 0x9900, 0x2a90, 0x5000 }, - { 0x9900, 0x2a88, 0x4000 }, - { 0x9900, 0x2a84, 0x3000 }, - { 0x9900, 0x2a82, 0x2000 }, - { 0x1900, 0x2a81, 0x0000 }, - { 0x1900, 0x2a83, 0x0000 }, - { 0x9900, 0x2a86, 0x2000 }, - { 0x1900, 0x2a85, 0x0000 }, - { 0x1900, 0x2a87, 0x0000 }, - { 0x9900, 0x2a8c, 0x3000 }, - { 0x9900, 0x2a8a, 0x2000 }, - { 0x1900, 0x2a89, 0x0000 }, - { 0x1900, 0x2a8b, 0x0000 }, - { 0x9900, 0x2a8e, 0x2000 }, - { 0x1900, 0x2a8d, 0x0000 }, - { 0x1900, 0x2a8f, 0x0000 }, - { 0x9900, 0x2a98, 0x4000 }, - { 0x9900, 0x2a94, 0x3000 }, - { 0x9900, 0x2a92, 0x2000 }, - { 0x1900, 0x2a91, 0x0000 }, - { 0x1900, 0x2a93, 0x0000 }, - { 0x9900, 0x2a96, 0x2000 }, - { 0x1900, 0x2a95, 0x0000 }, - { 0x1900, 0x2a97, 0x0000 }, - { 0x9900, 0x2a9c, 0x3000 }, - { 0x9900, 0x2a9a, 0x2000 }, - { 0x1900, 0x2a99, 0x0000 }, - { 0x1900, 0x2a9b, 0x0000 }, - { 0x9900, 0x2a9e, 0x2000 }, - { 0x1900, 0x2a9d, 0x0000 }, - { 0x1900, 0x2a9f, 0x0000 }, - { 0x9a00, 0x2e92, 0x8000 }, - { 0x9900, 0x2ae0, 0x7000 }, - { 0x9900, 0x2ac0, 0x6000 }, - { 0x9900, 0x2ab0, 0x5000 }, - { 0x9900, 0x2aa8, 0x4000 }, - { 0x9900, 0x2aa4, 0x3000 }, - { 0x9900, 0x2aa2, 0x2000 }, - { 0x1900, 0x2aa1, 0x0000 }, - { 0x1900, 0x2aa3, 0x0000 }, - { 0x9900, 0x2aa6, 0x2000 }, - { 0x1900, 0x2aa5, 0x0000 }, - { 0x1900, 0x2aa7, 0x0000 }, - { 0x9900, 0x2aac, 0x3000 }, - { 0x9900, 0x2aaa, 0x2000 }, - { 0x1900, 0x2aa9, 0x0000 }, - { 0x1900, 0x2aab, 0x0000 }, - { 0x9900, 0x2aae, 0x2000 }, - { 0x1900, 0x2aad, 0x0000 }, - { 0x1900, 0x2aaf, 0x0000 }, - { 0x9900, 0x2ab8, 0x4000 }, - { 0x9900, 0x2ab4, 0x3000 }, - { 0x9900, 0x2ab2, 0x2000 }, - { 0x1900, 0x2ab1, 0x0000 }, - { 0x1900, 0x2ab3, 0x0000 }, - { 0x9900, 0x2ab6, 0x2000 }, - { 0x1900, 0x2ab5, 0x0000 }, - { 0x1900, 0x2ab7, 0x0000 }, - { 0x9900, 0x2abc, 0x3000 }, - { 0x9900, 0x2aba, 0x2000 }, - { 0x1900, 0x2ab9, 0x0000 }, - { 0x1900, 0x2abb, 0x0000 }, - { 0x9900, 0x2abe, 0x2000 }, - { 0x1900, 0x2abd, 0x0000 }, - { 0x1900, 0x2abf, 0x0000 }, - { 0x9900, 0x2ad0, 0x5000 }, - { 0x9900, 0x2ac8, 0x4000 }, - { 0x9900, 0x2ac4, 0x3000 }, - { 0x9900, 0x2ac2, 0x2000 }, - { 0x1900, 0x2ac1, 0x0000 }, - { 0x1900, 0x2ac3, 0x0000 }, - { 0x9900, 0x2ac6, 0x2000 }, - { 0x1900, 0x2ac5, 0x0000 }, - { 0x1900, 0x2ac7, 0x0000 }, - { 0x9900, 0x2acc, 0x3000 }, - { 0x9900, 0x2aca, 0x2000 }, - { 0x1900, 0x2ac9, 0x0000 }, - { 0x1900, 0x2acb, 0x0000 }, - { 0x9900, 0x2ace, 0x2000 }, - { 0x1900, 0x2acd, 0x0000 }, - { 0x1900, 0x2acf, 0x0000 }, - { 0x9900, 0x2ad8, 0x4000 }, - { 0x9900, 0x2ad4, 0x3000 }, - { 0x9900, 0x2ad2, 0x2000 }, - { 0x1900, 0x2ad1, 0x0000 }, - { 0x1900, 0x2ad3, 0x0000 }, - { 0x9900, 0x2ad6, 0x2000 }, - { 0x1900, 0x2ad5, 0x0000 }, - { 0x1900, 0x2ad7, 0x0000 }, - { 0x9900, 0x2adc, 0x3000 }, - { 0x9900, 0x2ada, 0x2000 }, - { 0x1900, 0x2ad9, 0x0000 }, - { 0x1900, 0x2adb, 0x0000 }, - { 0x9900, 0x2ade, 0x2000 }, - { 0x1900, 0x2add, 0x0000 }, - { 0x1900, 0x2adf, 0x0000 }, - { 0x9a00, 0x2b00, 0x6000 }, - { 0x9900, 0x2af0, 0x5000 }, - { 0x9900, 0x2ae8, 0x4000 }, - { 0x9900, 0x2ae4, 0x3000 }, - { 0x9900, 0x2ae2, 0x2000 }, - { 0x1900, 0x2ae1, 0x0000 }, - { 0x1900, 0x2ae3, 0x0000 }, - { 0x9900, 0x2ae6, 0x2000 }, - { 0x1900, 0x2ae5, 0x0000 }, - { 0x1900, 0x2ae7, 0x0000 }, - { 0x9900, 0x2aec, 0x3000 }, - { 0x9900, 0x2aea, 0x2000 }, - { 0x1900, 0x2ae9, 0x0000 }, - { 0x1900, 0x2aeb, 0x0000 }, - { 0x9900, 0x2aee, 0x2000 }, - { 0x1900, 0x2aed, 0x0000 }, - { 0x1900, 0x2aef, 0x0000 }, - { 0x9900, 0x2af8, 0x4000 }, - { 0x9900, 0x2af4, 0x3000 }, - { 0x9900, 0x2af2, 0x2000 }, - { 0x1900, 0x2af1, 0x0000 }, - { 0x1900, 0x2af3, 0x0000 }, - { 0x9900, 0x2af6, 0x2000 }, - { 0x1900, 0x2af5, 0x0000 }, - { 0x1900, 0x2af7, 0x0000 }, - { 0x9900, 0x2afc, 0x3000 }, - { 0x9900, 0x2afa, 0x2000 }, - { 0x1900, 0x2af9, 0x0000 }, - { 0x1900, 0x2afb, 0x0000 }, - { 0x9900, 0x2afe, 0x2000 }, - { 0x1900, 0x2afd, 0x0000 }, - { 0x1900, 0x2aff, 0x0000 }, - { 0x9a00, 0x2e82, 0x5000 }, - { 0x9a00, 0x2b08, 0x4000 }, - { 0x9a00, 0x2b04, 0x3000 }, - { 0x9a00, 0x2b02, 0x2000 }, - { 0x1a00, 0x2b01, 0x0000 }, - { 0x1a00, 0x2b03, 0x0000 }, - { 0x9a00, 0x2b06, 0x2000 }, - { 0x1a00, 0x2b05, 0x0000 }, - { 0x1a00, 0x2b07, 0x0000 }, - { 0x9a00, 0x2b0c, 0x3000 }, - { 0x9a00, 0x2b0a, 0x2000 }, - { 0x1a00, 0x2b09, 0x0000 }, - { 0x1a00, 0x2b0b, 0x0000 }, - { 0x9a00, 0x2e80, 0x2000 }, - { 0x1a00, 0x2b0d, 0x0000 }, - { 0x1a00, 0x2e81, 0x0000 }, - { 0x9a00, 0x2e8a, 0x4000 }, - { 0x9a00, 0x2e86, 0x3000 }, - { 0x9a00, 0x2e84, 0x2000 }, - { 0x1a00, 0x2e83, 0x0000 }, - { 0x1a00, 0x2e85, 0x0000 }, - { 0x9a00, 0x2e88, 0x2000 }, - { 0x1a00, 0x2e87, 0x0000 }, - { 0x1a00, 0x2e89, 0x0000 }, - { 0x9a00, 0x2e8e, 0x3000 }, - { 0x9a00, 0x2e8c, 0x2000 }, - { 0x1a00, 0x2e8b, 0x0000 }, - { 0x1a00, 0x2e8d, 0x0000 }, - { 0x9a00, 0x2e90, 0x2000 }, - { 0x1a00, 0x2e8f, 0x0000 }, - { 0x1a00, 0x2e91, 0x0000 }, - { 0x9a00, 0x2ed3, 0x7000 }, - { 0x9a00, 0x2eb3, 0x6000 }, - { 0x9a00, 0x2ea3, 0x5000 }, - { 0x9a00, 0x2e9b, 0x4000 }, - { 0x9a00, 0x2e96, 0x3000 }, - { 0x9a00, 0x2e94, 0x2000 }, - { 0x1a00, 0x2e93, 0x0000 }, - { 0x1a00, 0x2e95, 0x0000 }, - { 0x9a00, 0x2e98, 0x2000 }, - { 0x1a00, 0x2e97, 0x0000 }, - { 0x1a00, 0x2e99, 0x0000 }, - { 0x9a00, 0x2e9f, 0x3000 }, - { 0x9a00, 0x2e9d, 0x2000 }, - { 0x1a00, 0x2e9c, 0x0000 }, - { 0x1a00, 0x2e9e, 0x0000 }, - { 0x9a00, 0x2ea1, 0x2000 }, - { 0x1a00, 0x2ea0, 0x0000 }, - { 0x1a00, 0x2ea2, 0x0000 }, - { 0x9a00, 0x2eab, 0x4000 }, - { 0x9a00, 0x2ea7, 0x3000 }, - { 0x9a00, 0x2ea5, 0x2000 }, - { 0x1a00, 0x2ea4, 0x0000 }, - { 0x1a00, 0x2ea6, 0x0000 }, - { 0x9a00, 0x2ea9, 0x2000 }, - { 0x1a00, 0x2ea8, 0x0000 }, - { 0x1a00, 0x2eaa, 0x0000 }, - { 0x9a00, 0x2eaf, 0x3000 }, - { 0x9a00, 0x2ead, 0x2000 }, - { 0x1a00, 0x2eac, 0x0000 }, - { 0x1a00, 0x2eae, 0x0000 }, - { 0x9a00, 0x2eb1, 0x2000 }, - { 0x1a00, 0x2eb0, 0x0000 }, - { 0x1a00, 0x2eb2, 0x0000 }, - { 0x9a00, 0x2ec3, 0x5000 }, - { 0x9a00, 0x2ebb, 0x4000 }, - { 0x9a00, 0x2eb7, 0x3000 }, - { 0x9a00, 0x2eb5, 0x2000 }, - { 0x1a00, 0x2eb4, 0x0000 }, - { 0x1a00, 0x2eb6, 0x0000 }, - { 0x9a00, 0x2eb9, 0x2000 }, - { 0x1a00, 0x2eb8, 0x0000 }, - { 0x1a00, 0x2eba, 0x0000 }, - { 0x9a00, 0x2ebf, 0x3000 }, - { 0x9a00, 0x2ebd, 0x2000 }, - { 0x1a00, 0x2ebc, 0x0000 }, - { 0x1a00, 0x2ebe, 0x0000 }, - { 0x9a00, 0x2ec1, 0x2000 }, - { 0x1a00, 0x2ec0, 0x0000 }, - { 0x1a00, 0x2ec2, 0x0000 }, - { 0x9a00, 0x2ecb, 0x4000 }, - { 0x9a00, 0x2ec7, 0x3000 }, - { 0x9a00, 0x2ec5, 0x2000 }, - { 0x1a00, 0x2ec4, 0x0000 }, - { 0x1a00, 0x2ec6, 0x0000 }, - { 0x9a00, 0x2ec9, 0x2000 }, - { 0x1a00, 0x2ec8, 0x0000 }, - { 0x1a00, 0x2eca, 0x0000 }, - { 0x9a00, 0x2ecf, 0x3000 }, - { 0x9a00, 0x2ecd, 0x2000 }, - { 0x1a00, 0x2ecc, 0x0000 }, - { 0x1a00, 0x2ece, 0x0000 }, - { 0x9a00, 0x2ed1, 0x2000 }, - { 0x1a00, 0x2ed0, 0x0000 }, - { 0x1a00, 0x2ed2, 0x0000 }, - { 0x9a00, 0x2ef3, 0x6000 }, - { 0x9a00, 0x2ee3, 0x5000 }, - { 0x9a00, 0x2edb, 0x4000 }, - { 0x9a00, 0x2ed7, 0x3000 }, - { 0x9a00, 0x2ed5, 0x2000 }, - { 0x1a00, 0x2ed4, 0x0000 }, - { 0x1a00, 0x2ed6, 0x0000 }, - { 0x9a00, 0x2ed9, 0x2000 }, - { 0x1a00, 0x2ed8, 0x0000 }, - { 0x1a00, 0x2eda, 0x0000 }, - { 0x9a00, 0x2edf, 0x3000 }, - { 0x9a00, 0x2edd, 0x2000 }, - { 0x1a00, 0x2edc, 0x0000 }, - { 0x1a00, 0x2ede, 0x0000 }, - { 0x9a00, 0x2ee1, 0x2000 }, - { 0x1a00, 0x2ee0, 0x0000 }, - { 0x1a00, 0x2ee2, 0x0000 }, - { 0x9a00, 0x2eeb, 0x4000 }, - { 0x9a00, 0x2ee7, 0x3000 }, - { 0x9a00, 0x2ee5, 0x2000 }, - { 0x1a00, 0x2ee4, 0x0000 }, - { 0x1a00, 0x2ee6, 0x0000 }, - { 0x9a00, 0x2ee9, 0x2000 }, - { 0x1a00, 0x2ee8, 0x0000 }, - { 0x1a00, 0x2eea, 0x0000 }, - { 0x9a00, 0x2eef, 0x3000 }, - { 0x9a00, 0x2eed, 0x2000 }, - { 0x1a00, 0x2eec, 0x0000 }, - { 0x1a00, 0x2eee, 0x0000 }, - { 0x9a00, 0x2ef1, 0x2000 }, - { 0x1a00, 0x2ef0, 0x0000 }, - { 0x1a00, 0x2ef2, 0x0000 }, - { 0x9a00, 0x2f0f, 0x5000 }, - { 0x9a00, 0x2f07, 0x4000 }, - { 0x9a00, 0x2f03, 0x3000 }, - { 0x9a00, 0x2f01, 0x2000 }, - { 0x1a00, 0x2f00, 0x0000 }, - { 0x1a00, 0x2f02, 0x0000 }, - { 0x9a00, 0x2f05, 0x2000 }, - { 0x1a00, 0x2f04, 0x0000 }, - { 0x1a00, 0x2f06, 0x0000 }, - { 0x9a00, 0x2f0b, 0x3000 }, - { 0x9a00, 0x2f09, 0x2000 }, - { 0x1a00, 0x2f08, 0x0000 }, - { 0x1a00, 0x2f0a, 0x0000 }, - { 0x9a00, 0x2f0d, 0x2000 }, - { 0x1a00, 0x2f0c, 0x0000 }, - { 0x1a00, 0x2f0e, 0x0000 }, - { 0x9a00, 0x2f17, 0x4000 }, - { 0x9a00, 0x2f13, 0x3000 }, - { 0x9a00, 0x2f11, 0x2000 }, - { 0x1a00, 0x2f10, 0x0000 }, - { 0x1a00, 0x2f12, 0x0000 }, - { 0x9a00, 0x2f15, 0x2000 }, - { 0x1a00, 0x2f14, 0x0000 }, - { 0x1a00, 0x2f16, 0x0000 }, - { 0x9a00, 0x2f1b, 0x3000 }, - { 0x9a00, 0x2f19, 0x2000 }, - { 0x1a00, 0x2f18, 0x0000 }, - { 0x1a00, 0x2f1a, 0x0000 }, - { 0x9a00, 0x2f1d, 0x2000 }, - { 0x1a00, 0x2f1c, 0x0000 }, - { 0x1a00, 0x2f1e, 0x0000 }, - { 0x8701, 0x00f0, 0xd000 }, - { 0x8700, 0xa34d, 0xc000 }, - { 0x9a00, 0x3391, 0xb000 }, - { 0x8700, 0x3149, 0xa000 }, - { 0x9500, 0x303d, 0x9000 }, - { 0x9a00, 0x2f9f, 0x8000 }, - { 0x9a00, 0x2f5f, 0x7000 }, - { 0x9a00, 0x2f3f, 0x6000 }, - { 0x9a00, 0x2f2f, 0x5000 }, - { 0x9a00, 0x2f27, 0x4000 }, - { 0x9a00, 0x2f23, 0x3000 }, - { 0x9a00, 0x2f21, 0x2000 }, - { 0x1a00, 0x2f20, 0x0000 }, - { 0x1a00, 0x2f22, 0x0000 }, - { 0x9a00, 0x2f25, 0x2000 }, - { 0x1a00, 0x2f24, 0x0000 }, - { 0x1a00, 0x2f26, 0x0000 }, - { 0x9a00, 0x2f2b, 0x3000 }, - { 0x9a00, 0x2f29, 0x2000 }, - { 0x1a00, 0x2f28, 0x0000 }, - { 0x1a00, 0x2f2a, 0x0000 }, - { 0x9a00, 0x2f2d, 0x2000 }, - { 0x1a00, 0x2f2c, 0x0000 }, - { 0x1a00, 0x2f2e, 0x0000 }, - { 0x9a00, 0x2f37, 0x4000 }, - { 0x9a00, 0x2f33, 0x3000 }, - { 0x9a00, 0x2f31, 0x2000 }, - { 0x1a00, 0x2f30, 0x0000 }, - { 0x1a00, 0x2f32, 0x0000 }, - { 0x9a00, 0x2f35, 0x2000 }, - { 0x1a00, 0x2f34, 0x0000 }, - { 0x1a00, 0x2f36, 0x0000 }, - { 0x9a00, 0x2f3b, 0x3000 }, - { 0x9a00, 0x2f39, 0x2000 }, - { 0x1a00, 0x2f38, 0x0000 }, - { 0x1a00, 0x2f3a, 0x0000 }, - { 0x9a00, 0x2f3d, 0x2000 }, - { 0x1a00, 0x2f3c, 0x0000 }, - { 0x1a00, 0x2f3e, 0x0000 }, - { 0x9a00, 0x2f4f, 0x5000 }, - { 0x9a00, 0x2f47, 0x4000 }, - { 0x9a00, 0x2f43, 0x3000 }, - { 0x9a00, 0x2f41, 0x2000 }, - { 0x1a00, 0x2f40, 0x0000 }, - { 0x1a00, 0x2f42, 0x0000 }, - { 0x9a00, 0x2f45, 0x2000 }, - { 0x1a00, 0x2f44, 0x0000 }, - { 0x1a00, 0x2f46, 0x0000 }, - { 0x9a00, 0x2f4b, 0x3000 }, - { 0x9a00, 0x2f49, 0x2000 }, - { 0x1a00, 0x2f48, 0x0000 }, - { 0x1a00, 0x2f4a, 0x0000 }, - { 0x9a00, 0x2f4d, 0x2000 }, - { 0x1a00, 0x2f4c, 0x0000 }, - { 0x1a00, 0x2f4e, 0x0000 }, - { 0x9a00, 0x2f57, 0x4000 }, - { 0x9a00, 0x2f53, 0x3000 }, - { 0x9a00, 0x2f51, 0x2000 }, - { 0x1a00, 0x2f50, 0x0000 }, - { 0x1a00, 0x2f52, 0x0000 }, - { 0x9a00, 0x2f55, 0x2000 }, - { 0x1a00, 0x2f54, 0x0000 }, - { 0x1a00, 0x2f56, 0x0000 }, - { 0x9a00, 0x2f5b, 0x3000 }, - { 0x9a00, 0x2f59, 0x2000 }, - { 0x1a00, 0x2f58, 0x0000 }, - { 0x1a00, 0x2f5a, 0x0000 }, - { 0x9a00, 0x2f5d, 0x2000 }, - { 0x1a00, 0x2f5c, 0x0000 }, - { 0x1a00, 0x2f5e, 0x0000 }, - { 0x9a00, 0x2f7f, 0x6000 }, - { 0x9a00, 0x2f6f, 0x5000 }, - { 0x9a00, 0x2f67, 0x4000 }, - { 0x9a00, 0x2f63, 0x3000 }, - { 0x9a00, 0x2f61, 0x2000 }, - { 0x1a00, 0x2f60, 0x0000 }, - { 0x1a00, 0x2f62, 0x0000 }, - { 0x9a00, 0x2f65, 0x2000 }, - { 0x1a00, 0x2f64, 0x0000 }, - { 0x1a00, 0x2f66, 0x0000 }, - { 0x9a00, 0x2f6b, 0x3000 }, - { 0x9a00, 0x2f69, 0x2000 }, - { 0x1a00, 0x2f68, 0x0000 }, - { 0x1a00, 0x2f6a, 0x0000 }, - { 0x9a00, 0x2f6d, 0x2000 }, - { 0x1a00, 0x2f6c, 0x0000 }, - { 0x1a00, 0x2f6e, 0x0000 }, - { 0x9a00, 0x2f77, 0x4000 }, - { 0x9a00, 0x2f73, 0x3000 }, - { 0x9a00, 0x2f71, 0x2000 }, - { 0x1a00, 0x2f70, 0x0000 }, - { 0x1a00, 0x2f72, 0x0000 }, - { 0x9a00, 0x2f75, 0x2000 }, - { 0x1a00, 0x2f74, 0x0000 }, - { 0x1a00, 0x2f76, 0x0000 }, - { 0x9a00, 0x2f7b, 0x3000 }, - { 0x9a00, 0x2f79, 0x2000 }, - { 0x1a00, 0x2f78, 0x0000 }, - { 0x1a00, 0x2f7a, 0x0000 }, - { 0x9a00, 0x2f7d, 0x2000 }, - { 0x1a00, 0x2f7c, 0x0000 }, - { 0x1a00, 0x2f7e, 0x0000 }, - { 0x9a00, 0x2f8f, 0x5000 }, - { 0x9a00, 0x2f87, 0x4000 }, - { 0x9a00, 0x2f83, 0x3000 }, - { 0x9a00, 0x2f81, 0x2000 }, - { 0x1a00, 0x2f80, 0x0000 }, - { 0x1a00, 0x2f82, 0x0000 }, - { 0x9a00, 0x2f85, 0x2000 }, - { 0x1a00, 0x2f84, 0x0000 }, - { 0x1a00, 0x2f86, 0x0000 }, - { 0x9a00, 0x2f8b, 0x3000 }, - { 0x9a00, 0x2f89, 0x2000 }, - { 0x1a00, 0x2f88, 0x0000 }, - { 0x1a00, 0x2f8a, 0x0000 }, - { 0x9a00, 0x2f8d, 0x2000 }, - { 0x1a00, 0x2f8c, 0x0000 }, - { 0x1a00, 0x2f8e, 0x0000 }, - { 0x9a00, 0x2f97, 0x4000 }, - { 0x9a00, 0x2f93, 0x3000 }, - { 0x9a00, 0x2f91, 0x2000 }, - { 0x1a00, 0x2f90, 0x0000 }, - { 0x1a00, 0x2f92, 0x0000 }, - { 0x9a00, 0x2f95, 0x2000 }, - { 0x1a00, 0x2f94, 0x0000 }, - { 0x1a00, 0x2f96, 0x0000 }, - { 0x9a00, 0x2f9b, 0x3000 }, - { 0x9a00, 0x2f99, 0x2000 }, - { 0x1a00, 0x2f98, 0x0000 }, - { 0x1a00, 0x2f9a, 0x0000 }, - { 0x9a00, 0x2f9d, 0x2000 }, - { 0x1a00, 0x2f9c, 0x0000 }, - { 0x1a00, 0x2f9e, 0x0000 }, - { 0x9a00, 0x2ff9, 0x7000 }, - { 0x9a00, 0x2fbf, 0x6000 }, - { 0x9a00, 0x2faf, 0x5000 }, - { 0x9a00, 0x2fa7, 0x4000 }, - { 0x9a00, 0x2fa3, 0x3000 }, - { 0x9a00, 0x2fa1, 0x2000 }, - { 0x1a00, 0x2fa0, 0x0000 }, - { 0x1a00, 0x2fa2, 0x0000 }, - { 0x9a00, 0x2fa5, 0x2000 }, - { 0x1a00, 0x2fa4, 0x0000 }, - { 0x1a00, 0x2fa6, 0x0000 }, - { 0x9a00, 0x2fab, 0x3000 }, - { 0x9a00, 0x2fa9, 0x2000 }, - { 0x1a00, 0x2fa8, 0x0000 }, - { 0x1a00, 0x2faa, 0x0000 }, - { 0x9a00, 0x2fad, 0x2000 }, - { 0x1a00, 0x2fac, 0x0000 }, - { 0x1a00, 0x2fae, 0x0000 }, - { 0x9a00, 0x2fb7, 0x4000 }, - { 0x9a00, 0x2fb3, 0x3000 }, - { 0x9a00, 0x2fb1, 0x2000 }, - { 0x1a00, 0x2fb0, 0x0000 }, - { 0x1a00, 0x2fb2, 0x0000 }, - { 0x9a00, 0x2fb5, 0x2000 }, - { 0x1a00, 0x2fb4, 0x0000 }, - { 0x1a00, 0x2fb6, 0x0000 }, - { 0x9a00, 0x2fbb, 0x3000 }, - { 0x9a00, 0x2fb9, 0x2000 }, - { 0x1a00, 0x2fb8, 0x0000 }, - { 0x1a00, 0x2fba, 0x0000 }, - { 0x9a00, 0x2fbd, 0x2000 }, - { 0x1a00, 0x2fbc, 0x0000 }, - { 0x1a00, 0x2fbe, 0x0000 }, - { 0x9a00, 0x2fcf, 0x5000 }, - { 0x9a00, 0x2fc7, 0x4000 }, - { 0x9a00, 0x2fc3, 0x3000 }, - { 0x9a00, 0x2fc1, 0x2000 }, - { 0x1a00, 0x2fc0, 0x0000 }, - { 0x1a00, 0x2fc2, 0x0000 }, - { 0x9a00, 0x2fc5, 0x2000 }, - { 0x1a00, 0x2fc4, 0x0000 }, - { 0x1a00, 0x2fc6, 0x0000 }, - { 0x9a00, 0x2fcb, 0x3000 }, - { 0x9a00, 0x2fc9, 0x2000 }, - { 0x1a00, 0x2fc8, 0x0000 }, - { 0x1a00, 0x2fca, 0x0000 }, - { 0x9a00, 0x2fcd, 0x2000 }, - { 0x1a00, 0x2fcc, 0x0000 }, - { 0x1a00, 0x2fce, 0x0000 }, - { 0x9a00, 0x2ff1, 0x4000 }, - { 0x9a00, 0x2fd3, 0x3000 }, - { 0x9a00, 0x2fd1, 0x2000 }, - { 0x1a00, 0x2fd0, 0x0000 }, - { 0x1a00, 0x2fd2, 0x0000 }, - { 0x9a00, 0x2fd5, 0x2000 }, - { 0x1a00, 0x2fd4, 0x0000 }, - { 0x1a00, 0x2ff0, 0x0000 }, - { 0x9a00, 0x2ff5, 0x3000 }, - { 0x9a00, 0x2ff3, 0x2000 }, - { 0x1a00, 0x2ff2, 0x0000 }, - { 0x1a00, 0x2ff4, 0x0000 }, - { 0x9a00, 0x2ff7, 0x2000 }, - { 0x1a00, 0x2ff6, 0x0000 }, - { 0x1a00, 0x2ff8, 0x0000 }, - { 0x9600, 0x301d, 0x6000 }, - { 0x9200, 0x300d, 0x5000 }, - { 0x8600, 0x3005, 0x4000 }, - { 0x9500, 0x3001, 0x3000 }, - { 0x9a00, 0x2ffb, 0x2000 }, - { 0x1a00, 0x2ffa, 0x0000 }, - { 0x1d00, 0x3000, 0x0000 }, - { 0x9500, 0x3003, 0x2000 }, - { 0x1500, 0x3002, 0x0000 }, - { 0x1a00, 0x3004, 0x0000 }, - { 0x9200, 0x3009, 0x3000 }, - { 0x8e00, 0x3007, 0x2000 }, - { 0x0700, 0x3006, 0x0000 }, - { 0x1600, 0x3008, 0x0000 }, - { 0x9200, 0x300b, 0x2000 }, - { 0x1600, 0x300a, 0x0000 }, - { 0x1600, 0x300c, 0x0000 }, - { 0x9200, 0x3015, 0x4000 }, - { 0x9200, 0x3011, 0x3000 }, - { 0x9200, 0x300f, 0x2000 }, - { 0x1600, 0x300e, 0x0000 }, - { 0x1600, 0x3010, 0x0000 }, - { 0x9a00, 0x3013, 0x2000 }, - { 0x1a00, 0x3012, 0x0000 }, - { 0x1600, 0x3014, 0x0000 }, - { 0x9200, 0x3019, 0x3000 }, - { 0x9200, 0x3017, 0x2000 }, - { 0x1600, 0x3016, 0x0000 }, - { 0x1600, 0x3018, 0x0000 }, - { 0x9200, 0x301b, 0x2000 }, - { 0x1600, 0x301a, 0x0000 }, - { 0x1100, 0x301c, 0x0000 }, - { 0x8c00, 0x302d, 0x5000 }, - { 0x8e00, 0x3025, 0x4000 }, - { 0x8e00, 0x3021, 0x3000 }, - { 0x9200, 0x301f, 0x2000 }, - { 0x1200, 0x301e, 0x0000 }, - { 0x1a00, 0x3020, 0x0000 }, - { 0x8e00, 0x3023, 0x2000 }, - { 0x0e00, 0x3022, 0x0000 }, - { 0x0e00, 0x3024, 0x0000 }, - { 0x8e00, 0x3029, 0x3000 }, - { 0x8e00, 0x3027, 0x2000 }, - { 0x0e00, 0x3026, 0x0000 }, - { 0x0e00, 0x3028, 0x0000 }, - { 0x8c00, 0x302b, 0x2000 }, - { 0x0c00, 0x302a, 0x0000 }, - { 0x0c00, 0x302c, 0x0000 }, - { 0x8600, 0x3035, 0x4000 }, - { 0x8600, 0x3031, 0x3000 }, - { 0x8c00, 0x302f, 0x2000 }, - { 0x0c00, 0x302e, 0x0000 }, - { 0x1100, 0x3030, 0x0000 }, - { 0x8600, 0x3033, 0x2000 }, - { 0x0600, 0x3032, 0x0000 }, - { 0x0600, 0x3034, 0x0000 }, - { 0x8e00, 0x3039, 0x3000 }, - { 0x9a00, 0x3037, 0x2000 }, - { 0x1a00, 0x3036, 0x0000 }, - { 0x0e00, 0x3038, 0x0000 }, - { 0x8600, 0x303b, 0x2000 }, - { 0x0e00, 0x303a, 0x0000 }, - { 0x0700, 0x303c, 0x0000 }, - { 0x8700, 0x30c0, 0x8000 }, - { 0x8700, 0x307e, 0x7000 }, - { 0x8700, 0x305e, 0x6000 }, - { 0x8700, 0x304e, 0x5000 }, - { 0x8700, 0x3046, 0x4000 }, - { 0x8700, 0x3042, 0x3000 }, - { 0x9a00, 0x303f, 0x2000 }, - { 0x1a00, 0x303e, 0x0000 }, - { 0x0700, 0x3041, 0x0000 }, - { 0x8700, 0x3044, 0x2000 }, - { 0x0700, 0x3043, 0x0000 }, - { 0x0700, 0x3045, 0x0000 }, - { 0x8700, 0x304a, 0x3000 }, - { 0x8700, 0x3048, 0x2000 }, - { 0x0700, 0x3047, 0x0000 }, - { 0x0700, 0x3049, 0x0000 }, - { 0x8700, 0x304c, 0x2000 }, - { 0x0700, 0x304b, 0x0000 }, - { 0x0700, 0x304d, 0x0000 }, - { 0x8700, 0x3056, 0x4000 }, - { 0x8700, 0x3052, 0x3000 }, - { 0x8700, 0x3050, 0x2000 }, - { 0x0700, 0x304f, 0x0000 }, - { 0x0700, 0x3051, 0x0000 }, - { 0x8700, 0x3054, 0x2000 }, - { 0x0700, 0x3053, 0x0000 }, - { 0x0700, 0x3055, 0x0000 }, - { 0x8700, 0x305a, 0x3000 }, - { 0x8700, 0x3058, 0x2000 }, - { 0x0700, 0x3057, 0x0000 }, - { 0x0700, 0x3059, 0x0000 }, - { 0x8700, 0x305c, 0x2000 }, - { 0x0700, 0x305b, 0x0000 }, - { 0x0700, 0x305d, 0x0000 }, - { 0x8700, 0x306e, 0x5000 }, - { 0x8700, 0x3066, 0x4000 }, - { 0x8700, 0x3062, 0x3000 }, - { 0x8700, 0x3060, 0x2000 }, - { 0x0700, 0x305f, 0x0000 }, - { 0x0700, 0x3061, 0x0000 }, - { 0x8700, 0x3064, 0x2000 }, - { 0x0700, 0x3063, 0x0000 }, - { 0x0700, 0x3065, 0x0000 }, - { 0x8700, 0x306a, 0x3000 }, - { 0x8700, 0x3068, 0x2000 }, - { 0x0700, 0x3067, 0x0000 }, - { 0x0700, 0x3069, 0x0000 }, - { 0x8700, 0x306c, 0x2000 }, - { 0x0700, 0x306b, 0x0000 }, - { 0x0700, 0x306d, 0x0000 }, - { 0x8700, 0x3076, 0x4000 }, - { 0x8700, 0x3072, 0x3000 }, - { 0x8700, 0x3070, 0x2000 }, - { 0x0700, 0x306f, 0x0000 }, - { 0x0700, 0x3071, 0x0000 }, - { 0x8700, 0x3074, 0x2000 }, - { 0x0700, 0x3073, 0x0000 }, - { 0x0700, 0x3075, 0x0000 }, - { 0x8700, 0x307a, 0x3000 }, - { 0x8700, 0x3078, 0x2000 }, - { 0x0700, 0x3077, 0x0000 }, - { 0x0700, 0x3079, 0x0000 }, - { 0x8700, 0x307c, 0x2000 }, - { 0x0700, 0x307b, 0x0000 }, - { 0x0700, 0x307d, 0x0000 }, - { 0x9100, 0x30a0, 0x6000 }, - { 0x8700, 0x308e, 0x5000 }, - { 0x8700, 0x3086, 0x4000 }, - { 0x8700, 0x3082, 0x3000 }, - { 0x8700, 0x3080, 0x2000 }, - { 0x0700, 0x307f, 0x0000 }, - { 0x0700, 0x3081, 0x0000 }, - { 0x8700, 0x3084, 0x2000 }, - { 0x0700, 0x3083, 0x0000 }, - { 0x0700, 0x3085, 0x0000 }, - { 0x8700, 0x308a, 0x3000 }, - { 0x8700, 0x3088, 0x2000 }, - { 0x0700, 0x3087, 0x0000 }, - { 0x0700, 0x3089, 0x0000 }, - { 0x8700, 0x308c, 0x2000 }, - { 0x0700, 0x308b, 0x0000 }, - { 0x0700, 0x308d, 0x0000 }, - { 0x8700, 0x3096, 0x4000 }, - { 0x8700, 0x3092, 0x3000 }, - { 0x8700, 0x3090, 0x2000 }, - { 0x0700, 0x308f, 0x0000 }, - { 0x0700, 0x3091, 0x0000 }, - { 0x8700, 0x3094, 0x2000 }, - { 0x0700, 0x3093, 0x0000 }, - { 0x0700, 0x3095, 0x0000 }, - { 0x9800, 0x309c, 0x3000 }, - { 0x8c00, 0x309a, 0x2000 }, - { 0x0c00, 0x3099, 0x0000 }, - { 0x1800, 0x309b, 0x0000 }, - { 0x8600, 0x309e, 0x2000 }, - { 0x0600, 0x309d, 0x0000 }, - { 0x0700, 0x309f, 0x0000 }, - { 0x8700, 0x30b0, 0x5000 }, - { 0x8700, 0x30a8, 0x4000 }, - { 0x8700, 0x30a4, 0x3000 }, - { 0x8700, 0x30a2, 0x2000 }, - { 0x0700, 0x30a1, 0x0000 }, - { 0x0700, 0x30a3, 0x0000 }, - { 0x8700, 0x30a6, 0x2000 }, - { 0x0700, 0x30a5, 0x0000 }, - { 0x0700, 0x30a7, 0x0000 }, - { 0x8700, 0x30ac, 0x3000 }, - { 0x8700, 0x30aa, 0x2000 }, - { 0x0700, 0x30a9, 0x0000 }, - { 0x0700, 0x30ab, 0x0000 }, - { 0x8700, 0x30ae, 0x2000 }, - { 0x0700, 0x30ad, 0x0000 }, - { 0x0700, 0x30af, 0x0000 }, - { 0x8700, 0x30b8, 0x4000 }, - { 0x8700, 0x30b4, 0x3000 }, - { 0x8700, 0x30b2, 0x2000 }, - { 0x0700, 0x30b1, 0x0000 }, - { 0x0700, 0x30b3, 0x0000 }, - { 0x8700, 0x30b6, 0x2000 }, - { 0x0700, 0x30b5, 0x0000 }, - { 0x0700, 0x30b7, 0x0000 }, - { 0x8700, 0x30bc, 0x3000 }, - { 0x8700, 0x30ba, 0x2000 }, - { 0x0700, 0x30b9, 0x0000 }, - { 0x0700, 0x30bb, 0x0000 }, - { 0x8700, 0x30be, 0x2000 }, - { 0x0700, 0x30bd, 0x0000 }, - { 0x0700, 0x30bf, 0x0000 }, - { 0x8700, 0x3105, 0x7000 }, - { 0x8700, 0x30e0, 0x6000 }, - { 0x8700, 0x30d0, 0x5000 }, - { 0x8700, 0x30c8, 0x4000 }, - { 0x8700, 0x30c4, 0x3000 }, - { 0x8700, 0x30c2, 0x2000 }, - { 0x0700, 0x30c1, 0x0000 }, - { 0x0700, 0x30c3, 0x0000 }, - { 0x8700, 0x30c6, 0x2000 }, - { 0x0700, 0x30c5, 0x0000 }, - { 0x0700, 0x30c7, 0x0000 }, - { 0x8700, 0x30cc, 0x3000 }, - { 0x8700, 0x30ca, 0x2000 }, - { 0x0700, 0x30c9, 0x0000 }, - { 0x0700, 0x30cb, 0x0000 }, - { 0x8700, 0x30ce, 0x2000 }, - { 0x0700, 0x30cd, 0x0000 }, - { 0x0700, 0x30cf, 0x0000 }, - { 0x8700, 0x30d8, 0x4000 }, - { 0x8700, 0x30d4, 0x3000 }, - { 0x8700, 0x30d2, 0x2000 }, - { 0x0700, 0x30d1, 0x0000 }, - { 0x0700, 0x30d3, 0x0000 }, - { 0x8700, 0x30d6, 0x2000 }, - { 0x0700, 0x30d5, 0x0000 }, - { 0x0700, 0x30d7, 0x0000 }, - { 0x8700, 0x30dc, 0x3000 }, - { 0x8700, 0x30da, 0x2000 }, - { 0x0700, 0x30d9, 0x0000 }, - { 0x0700, 0x30db, 0x0000 }, - { 0x8700, 0x30de, 0x2000 }, - { 0x0700, 0x30dd, 0x0000 }, - { 0x0700, 0x30df, 0x0000 }, - { 0x8700, 0x30f0, 0x5000 }, - { 0x8700, 0x30e8, 0x4000 }, - { 0x8700, 0x30e4, 0x3000 }, - { 0x8700, 0x30e2, 0x2000 }, - { 0x0700, 0x30e1, 0x0000 }, - { 0x0700, 0x30e3, 0x0000 }, - { 0x8700, 0x30e6, 0x2000 }, - { 0x0700, 0x30e5, 0x0000 }, - { 0x0700, 0x30e7, 0x0000 }, - { 0x8700, 0x30ec, 0x3000 }, - { 0x8700, 0x30ea, 0x2000 }, - { 0x0700, 0x30e9, 0x0000 }, - { 0x0700, 0x30eb, 0x0000 }, - { 0x8700, 0x30ee, 0x2000 }, - { 0x0700, 0x30ed, 0x0000 }, - { 0x0700, 0x30ef, 0x0000 }, - { 0x8700, 0x30f8, 0x4000 }, - { 0x8700, 0x30f4, 0x3000 }, - { 0x8700, 0x30f2, 0x2000 }, - { 0x0700, 0x30f1, 0x0000 }, - { 0x0700, 0x30f3, 0x0000 }, - { 0x8700, 0x30f6, 0x2000 }, - { 0x0700, 0x30f5, 0x0000 }, - { 0x0700, 0x30f7, 0x0000 }, - { 0x8600, 0x30fc, 0x3000 }, - { 0x8700, 0x30fa, 0x2000 }, - { 0x0700, 0x30f9, 0x0000 }, - { 0x1000, 0x30fb, 0x0000 }, - { 0x8600, 0x30fe, 0x2000 }, - { 0x0600, 0x30fd, 0x0000 }, - { 0x0700, 0x30ff, 0x0000 }, - { 0x8700, 0x3125, 0x6000 }, - { 0x8700, 0x3115, 0x5000 }, - { 0x8700, 0x310d, 0x4000 }, - { 0x8700, 0x3109, 0x3000 }, - { 0x8700, 0x3107, 0x2000 }, - { 0x0700, 0x3106, 0x0000 }, - { 0x0700, 0x3108, 0x0000 }, - { 0x8700, 0x310b, 0x2000 }, - { 0x0700, 0x310a, 0x0000 }, - { 0x0700, 0x310c, 0x0000 }, - { 0x8700, 0x3111, 0x3000 }, - { 0x8700, 0x310f, 0x2000 }, - { 0x0700, 0x310e, 0x0000 }, - { 0x0700, 0x3110, 0x0000 }, - { 0x8700, 0x3113, 0x2000 }, - { 0x0700, 0x3112, 0x0000 }, - { 0x0700, 0x3114, 0x0000 }, - { 0x8700, 0x311d, 0x4000 }, - { 0x8700, 0x3119, 0x3000 }, - { 0x8700, 0x3117, 0x2000 }, - { 0x0700, 0x3116, 0x0000 }, - { 0x0700, 0x3118, 0x0000 }, - { 0x8700, 0x311b, 0x2000 }, - { 0x0700, 0x311a, 0x0000 }, - { 0x0700, 0x311c, 0x0000 }, - { 0x8700, 0x3121, 0x3000 }, - { 0x8700, 0x311f, 0x2000 }, - { 0x0700, 0x311e, 0x0000 }, - { 0x0700, 0x3120, 0x0000 }, - { 0x8700, 0x3123, 0x2000 }, - { 0x0700, 0x3122, 0x0000 }, - { 0x0700, 0x3124, 0x0000 }, - { 0x8700, 0x3139, 0x5000 }, - { 0x8700, 0x3131, 0x4000 }, - { 0x8700, 0x3129, 0x3000 }, - { 0x8700, 0x3127, 0x2000 }, - { 0x0700, 0x3126, 0x0000 }, - { 0x0700, 0x3128, 0x0000 }, - { 0x8700, 0x312b, 0x2000 }, - { 0x0700, 0x312a, 0x0000 }, - { 0x0700, 0x312c, 0x0000 }, - { 0x8700, 0x3135, 0x3000 }, - { 0x8700, 0x3133, 0x2000 }, - { 0x0700, 0x3132, 0x0000 }, - { 0x0700, 0x3134, 0x0000 }, - { 0x8700, 0x3137, 0x2000 }, - { 0x0700, 0x3136, 0x0000 }, - { 0x0700, 0x3138, 0x0000 }, - { 0x8700, 0x3141, 0x4000 }, - { 0x8700, 0x313d, 0x3000 }, - { 0x8700, 0x313b, 0x2000 }, - { 0x0700, 0x313a, 0x0000 }, - { 0x0700, 0x313c, 0x0000 }, - { 0x8700, 0x313f, 0x2000 }, - { 0x0700, 0x313e, 0x0000 }, - { 0x0700, 0x3140, 0x0000 }, - { 0x8700, 0x3145, 0x3000 }, - { 0x8700, 0x3143, 0x2000 }, - { 0x0700, 0x3142, 0x0000 }, - { 0x0700, 0x3144, 0x0000 }, - { 0x8700, 0x3147, 0x2000 }, - { 0x0700, 0x3146, 0x0000 }, - { 0x0700, 0x3148, 0x0000 }, - { 0x9a00, 0x3290, 0x9000 }, - { 0x9a00, 0x3202, 0x8000 }, - { 0x8700, 0x3189, 0x7000 }, - { 0x8700, 0x3169, 0x6000 }, - { 0x8700, 0x3159, 0x5000 }, - { 0x8700, 0x3151, 0x4000 }, - { 0x8700, 0x314d, 0x3000 }, - { 0x8700, 0x314b, 0x2000 }, - { 0x0700, 0x314a, 0x0000 }, - { 0x0700, 0x314c, 0x0000 }, - { 0x8700, 0x314f, 0x2000 }, - { 0x0700, 0x314e, 0x0000 }, - { 0x0700, 0x3150, 0x0000 }, - { 0x8700, 0x3155, 0x3000 }, - { 0x8700, 0x3153, 0x2000 }, - { 0x0700, 0x3152, 0x0000 }, - { 0x0700, 0x3154, 0x0000 }, - { 0x8700, 0x3157, 0x2000 }, - { 0x0700, 0x3156, 0x0000 }, - { 0x0700, 0x3158, 0x0000 }, - { 0x8700, 0x3161, 0x4000 }, - { 0x8700, 0x315d, 0x3000 }, - { 0x8700, 0x315b, 0x2000 }, - { 0x0700, 0x315a, 0x0000 }, - { 0x0700, 0x315c, 0x0000 }, - { 0x8700, 0x315f, 0x2000 }, - { 0x0700, 0x315e, 0x0000 }, - { 0x0700, 0x3160, 0x0000 }, - { 0x8700, 0x3165, 0x3000 }, - { 0x8700, 0x3163, 0x2000 }, - { 0x0700, 0x3162, 0x0000 }, - { 0x0700, 0x3164, 0x0000 }, - { 0x8700, 0x3167, 0x2000 }, - { 0x0700, 0x3166, 0x0000 }, - { 0x0700, 0x3168, 0x0000 }, - { 0x8700, 0x3179, 0x5000 }, - { 0x8700, 0x3171, 0x4000 }, - { 0x8700, 0x316d, 0x3000 }, - { 0x8700, 0x316b, 0x2000 }, - { 0x0700, 0x316a, 0x0000 }, - { 0x0700, 0x316c, 0x0000 }, - { 0x8700, 0x316f, 0x2000 }, - { 0x0700, 0x316e, 0x0000 }, - { 0x0700, 0x3170, 0x0000 }, - { 0x8700, 0x3175, 0x3000 }, - { 0x8700, 0x3173, 0x2000 }, - { 0x0700, 0x3172, 0x0000 }, - { 0x0700, 0x3174, 0x0000 }, - { 0x8700, 0x3177, 0x2000 }, - { 0x0700, 0x3176, 0x0000 }, - { 0x0700, 0x3178, 0x0000 }, - { 0x8700, 0x3181, 0x4000 }, - { 0x8700, 0x317d, 0x3000 }, - { 0x8700, 0x317b, 0x2000 }, - { 0x0700, 0x317a, 0x0000 }, - { 0x0700, 0x317c, 0x0000 }, - { 0x8700, 0x317f, 0x2000 }, - { 0x0700, 0x317e, 0x0000 }, - { 0x0700, 0x3180, 0x0000 }, - { 0x8700, 0x3185, 0x3000 }, - { 0x8700, 0x3183, 0x2000 }, - { 0x0700, 0x3182, 0x0000 }, - { 0x0700, 0x3184, 0x0000 }, - { 0x8700, 0x3187, 0x2000 }, - { 0x0700, 0x3186, 0x0000 }, - { 0x0700, 0x3188, 0x0000 }, - { 0x8700, 0x31aa, 0x6000 }, - { 0x9a00, 0x319a, 0x5000 }, - { 0x8f00, 0x3192, 0x4000 }, - { 0x8700, 0x318d, 0x3000 }, - { 0x8700, 0x318b, 0x2000 }, - { 0x0700, 0x318a, 0x0000 }, - { 0x0700, 0x318c, 0x0000 }, - { 0x9a00, 0x3190, 0x2000 }, - { 0x0700, 0x318e, 0x0000 }, - { 0x1a00, 0x3191, 0x0000 }, - { 0x9a00, 0x3196, 0x3000 }, - { 0x8f00, 0x3194, 0x2000 }, - { 0x0f00, 0x3193, 0x0000 }, - { 0x0f00, 0x3195, 0x0000 }, - { 0x9a00, 0x3198, 0x2000 }, - { 0x1a00, 0x3197, 0x0000 }, - { 0x1a00, 0x3199, 0x0000 }, - { 0x8700, 0x31a2, 0x4000 }, - { 0x9a00, 0x319e, 0x3000 }, - { 0x9a00, 0x319c, 0x2000 }, - { 0x1a00, 0x319b, 0x0000 }, - { 0x1a00, 0x319d, 0x0000 }, - { 0x8700, 0x31a0, 0x2000 }, - { 0x1a00, 0x319f, 0x0000 }, - { 0x0700, 0x31a1, 0x0000 }, - { 0x8700, 0x31a6, 0x3000 }, - { 0x8700, 0x31a4, 0x2000 }, - { 0x0700, 0x31a3, 0x0000 }, - { 0x0700, 0x31a5, 0x0000 }, - { 0x8700, 0x31a8, 0x2000 }, - { 0x0700, 0x31a7, 0x0000 }, - { 0x0700, 0x31a9, 0x0000 }, - { 0x8700, 0x31f2, 0x5000 }, - { 0x8700, 0x31b2, 0x4000 }, - { 0x8700, 0x31ae, 0x3000 }, - { 0x8700, 0x31ac, 0x2000 }, - { 0x0700, 0x31ab, 0x0000 }, - { 0x0700, 0x31ad, 0x0000 }, - { 0x8700, 0x31b0, 0x2000 }, - { 0x0700, 0x31af, 0x0000 }, - { 0x0700, 0x31b1, 0x0000 }, - { 0x8700, 0x31b6, 0x3000 }, - { 0x8700, 0x31b4, 0x2000 }, - { 0x0700, 0x31b3, 0x0000 }, - { 0x0700, 0x31b5, 0x0000 }, - { 0x8700, 0x31f0, 0x2000 }, - { 0x0700, 0x31b7, 0x0000 }, - { 0x0700, 0x31f1, 0x0000 }, - { 0x8700, 0x31fa, 0x4000 }, - { 0x8700, 0x31f6, 0x3000 }, - { 0x8700, 0x31f4, 0x2000 }, - { 0x0700, 0x31f3, 0x0000 }, - { 0x0700, 0x31f5, 0x0000 }, - { 0x8700, 0x31f8, 0x2000 }, - { 0x0700, 0x31f7, 0x0000 }, - { 0x0700, 0x31f9, 0x0000 }, - { 0x8700, 0x31fe, 0x3000 }, - { 0x8700, 0x31fc, 0x2000 }, - { 0x0700, 0x31fb, 0x0000 }, - { 0x0700, 0x31fd, 0x0000 }, - { 0x9a00, 0x3200, 0x2000 }, - { 0x0700, 0x31ff, 0x0000 }, - { 0x1a00, 0x3201, 0x0000 }, - { 0x9a00, 0x3243, 0x7000 }, - { 0x8f00, 0x3223, 0x6000 }, - { 0x9a00, 0x3212, 0x5000 }, - { 0x9a00, 0x320a, 0x4000 }, - { 0x9a00, 0x3206, 0x3000 }, - { 0x9a00, 0x3204, 0x2000 }, - { 0x1a00, 0x3203, 0x0000 }, - { 0x1a00, 0x3205, 0x0000 }, - { 0x9a00, 0x3208, 0x2000 }, - { 0x1a00, 0x3207, 0x0000 }, - { 0x1a00, 0x3209, 0x0000 }, - { 0x9a00, 0x320e, 0x3000 }, - { 0x9a00, 0x320c, 0x2000 }, - { 0x1a00, 0x320b, 0x0000 }, - { 0x1a00, 0x320d, 0x0000 }, - { 0x9a00, 0x3210, 0x2000 }, - { 0x1a00, 0x320f, 0x0000 }, - { 0x1a00, 0x3211, 0x0000 }, - { 0x9a00, 0x321a, 0x4000 }, - { 0x9a00, 0x3216, 0x3000 }, - { 0x9a00, 0x3214, 0x2000 }, - { 0x1a00, 0x3213, 0x0000 }, - { 0x1a00, 0x3215, 0x0000 }, - { 0x9a00, 0x3218, 0x2000 }, - { 0x1a00, 0x3217, 0x0000 }, - { 0x1a00, 0x3219, 0x0000 }, - { 0x9a00, 0x321e, 0x3000 }, - { 0x9a00, 0x321c, 0x2000 }, - { 0x1a00, 0x321b, 0x0000 }, - { 0x1a00, 0x321d, 0x0000 }, - { 0x8f00, 0x3221, 0x2000 }, - { 0x0f00, 0x3220, 0x0000 }, - { 0x0f00, 0x3222, 0x0000 }, - { 0x9a00, 0x3233, 0x5000 }, - { 0x9a00, 0x322b, 0x4000 }, - { 0x8f00, 0x3227, 0x3000 }, - { 0x8f00, 0x3225, 0x2000 }, - { 0x0f00, 0x3224, 0x0000 }, - { 0x0f00, 0x3226, 0x0000 }, - { 0x8f00, 0x3229, 0x2000 }, - { 0x0f00, 0x3228, 0x0000 }, - { 0x1a00, 0x322a, 0x0000 }, - { 0x9a00, 0x322f, 0x3000 }, - { 0x9a00, 0x322d, 0x2000 }, - { 0x1a00, 0x322c, 0x0000 }, - { 0x1a00, 0x322e, 0x0000 }, - { 0x9a00, 0x3231, 0x2000 }, - { 0x1a00, 0x3230, 0x0000 }, - { 0x1a00, 0x3232, 0x0000 }, - { 0x9a00, 0x323b, 0x4000 }, - { 0x9a00, 0x3237, 0x3000 }, - { 0x9a00, 0x3235, 0x2000 }, - { 0x1a00, 0x3234, 0x0000 }, - { 0x1a00, 0x3236, 0x0000 }, - { 0x9a00, 0x3239, 0x2000 }, - { 0x1a00, 0x3238, 0x0000 }, - { 0x1a00, 0x323a, 0x0000 }, - { 0x9a00, 0x323f, 0x3000 }, - { 0x9a00, 0x323d, 0x2000 }, - { 0x1a00, 0x323c, 0x0000 }, - { 0x1a00, 0x323e, 0x0000 }, - { 0x9a00, 0x3241, 0x2000 }, - { 0x1a00, 0x3240, 0x0000 }, - { 0x1a00, 0x3242, 0x0000 }, - { 0x9a00, 0x326f, 0x6000 }, - { 0x8f00, 0x325f, 0x5000 }, - { 0x8f00, 0x3257, 0x4000 }, - { 0x8f00, 0x3253, 0x3000 }, - { 0x8f00, 0x3251, 0x2000 }, - { 0x1a00, 0x3250, 0x0000 }, - { 0x0f00, 0x3252, 0x0000 }, - { 0x8f00, 0x3255, 0x2000 }, - { 0x0f00, 0x3254, 0x0000 }, - { 0x0f00, 0x3256, 0x0000 }, - { 0x8f00, 0x325b, 0x3000 }, - { 0x8f00, 0x3259, 0x2000 }, - { 0x0f00, 0x3258, 0x0000 }, - { 0x0f00, 0x325a, 0x0000 }, - { 0x8f00, 0x325d, 0x2000 }, - { 0x0f00, 0x325c, 0x0000 }, - { 0x0f00, 0x325e, 0x0000 }, - { 0x9a00, 0x3267, 0x4000 }, - { 0x9a00, 0x3263, 0x3000 }, - { 0x9a00, 0x3261, 0x2000 }, - { 0x1a00, 0x3260, 0x0000 }, - { 0x1a00, 0x3262, 0x0000 }, - { 0x9a00, 0x3265, 0x2000 }, - { 0x1a00, 0x3264, 0x0000 }, - { 0x1a00, 0x3266, 0x0000 }, - { 0x9a00, 0x326b, 0x3000 }, - { 0x9a00, 0x3269, 0x2000 }, - { 0x1a00, 0x3268, 0x0000 }, - { 0x1a00, 0x326a, 0x0000 }, - { 0x9a00, 0x326d, 0x2000 }, - { 0x1a00, 0x326c, 0x0000 }, - { 0x1a00, 0x326e, 0x0000 }, - { 0x8f00, 0x3280, 0x5000 }, - { 0x9a00, 0x3277, 0x4000 }, - { 0x9a00, 0x3273, 0x3000 }, - { 0x9a00, 0x3271, 0x2000 }, - { 0x1a00, 0x3270, 0x0000 }, - { 0x1a00, 0x3272, 0x0000 }, - { 0x9a00, 0x3275, 0x2000 }, - { 0x1a00, 0x3274, 0x0000 }, - { 0x1a00, 0x3276, 0x0000 }, - { 0x9a00, 0x327b, 0x3000 }, - { 0x9a00, 0x3279, 0x2000 }, - { 0x1a00, 0x3278, 0x0000 }, - { 0x1a00, 0x327a, 0x0000 }, - { 0x9a00, 0x327d, 0x2000 }, - { 0x1a00, 0x327c, 0x0000 }, - { 0x1a00, 0x327f, 0x0000 }, - { 0x8f00, 0x3288, 0x4000 }, - { 0x8f00, 0x3284, 0x3000 }, - { 0x8f00, 0x3282, 0x2000 }, - { 0x0f00, 0x3281, 0x0000 }, - { 0x0f00, 0x3283, 0x0000 }, - { 0x8f00, 0x3286, 0x2000 }, - { 0x0f00, 0x3285, 0x0000 }, - { 0x0f00, 0x3287, 0x0000 }, - { 0x9a00, 0x328c, 0x3000 }, - { 0x9a00, 0x328a, 0x2000 }, - { 0x0f00, 0x3289, 0x0000 }, - { 0x1a00, 0x328b, 0x0000 }, - { 0x9a00, 0x328e, 0x2000 }, - { 0x1a00, 0x328d, 0x0000 }, - { 0x1a00, 0x328f, 0x0000 }, - { 0x9a00, 0x3311, 0x8000 }, - { 0x9a00, 0x32d0, 0x7000 }, - { 0x9a00, 0x32b0, 0x6000 }, - { 0x9a00, 0x32a0, 0x5000 }, - { 0x9a00, 0x3298, 0x4000 }, - { 0x9a00, 0x3294, 0x3000 }, - { 0x9a00, 0x3292, 0x2000 }, - { 0x1a00, 0x3291, 0x0000 }, - { 0x1a00, 0x3293, 0x0000 }, - { 0x9a00, 0x3296, 0x2000 }, - { 0x1a00, 0x3295, 0x0000 }, - { 0x1a00, 0x3297, 0x0000 }, - { 0x9a00, 0x329c, 0x3000 }, - { 0x9a00, 0x329a, 0x2000 }, - { 0x1a00, 0x3299, 0x0000 }, - { 0x1a00, 0x329b, 0x0000 }, - { 0x9a00, 0x329e, 0x2000 }, - { 0x1a00, 0x329d, 0x0000 }, - { 0x1a00, 0x329f, 0x0000 }, - { 0x9a00, 0x32a8, 0x4000 }, - { 0x9a00, 0x32a4, 0x3000 }, - { 0x9a00, 0x32a2, 0x2000 }, - { 0x1a00, 0x32a1, 0x0000 }, - { 0x1a00, 0x32a3, 0x0000 }, - { 0x9a00, 0x32a6, 0x2000 }, - { 0x1a00, 0x32a5, 0x0000 }, - { 0x1a00, 0x32a7, 0x0000 }, - { 0x9a00, 0x32ac, 0x3000 }, - { 0x9a00, 0x32aa, 0x2000 }, - { 0x1a00, 0x32a9, 0x0000 }, - { 0x1a00, 0x32ab, 0x0000 }, - { 0x9a00, 0x32ae, 0x2000 }, - { 0x1a00, 0x32ad, 0x0000 }, - { 0x1a00, 0x32af, 0x0000 }, - { 0x9a00, 0x32c0, 0x5000 }, - { 0x8f00, 0x32b8, 0x4000 }, - { 0x8f00, 0x32b4, 0x3000 }, - { 0x8f00, 0x32b2, 0x2000 }, - { 0x0f00, 0x32b1, 0x0000 }, - { 0x0f00, 0x32b3, 0x0000 }, - { 0x8f00, 0x32b6, 0x2000 }, - { 0x0f00, 0x32b5, 0x0000 }, - { 0x0f00, 0x32b7, 0x0000 }, - { 0x8f00, 0x32bc, 0x3000 }, - { 0x8f00, 0x32ba, 0x2000 }, - { 0x0f00, 0x32b9, 0x0000 }, - { 0x0f00, 0x32bb, 0x0000 }, - { 0x8f00, 0x32be, 0x2000 }, - { 0x0f00, 0x32bd, 0x0000 }, - { 0x0f00, 0x32bf, 0x0000 }, - { 0x9a00, 0x32c8, 0x4000 }, - { 0x9a00, 0x32c4, 0x3000 }, - { 0x9a00, 0x32c2, 0x2000 }, - { 0x1a00, 0x32c1, 0x0000 }, - { 0x1a00, 0x32c3, 0x0000 }, - { 0x9a00, 0x32c6, 0x2000 }, - { 0x1a00, 0x32c5, 0x0000 }, - { 0x1a00, 0x32c7, 0x0000 }, - { 0x9a00, 0x32cc, 0x3000 }, - { 0x9a00, 0x32ca, 0x2000 }, - { 0x1a00, 0x32c9, 0x0000 }, - { 0x1a00, 0x32cb, 0x0000 }, - { 0x9a00, 0x32ce, 0x2000 }, - { 0x1a00, 0x32cd, 0x0000 }, - { 0x1a00, 0x32cf, 0x0000 }, - { 0x9a00, 0x32f0, 0x6000 }, - { 0x9a00, 0x32e0, 0x5000 }, - { 0x9a00, 0x32d8, 0x4000 }, - { 0x9a00, 0x32d4, 0x3000 }, - { 0x9a00, 0x32d2, 0x2000 }, - { 0x1a00, 0x32d1, 0x0000 }, - { 0x1a00, 0x32d3, 0x0000 }, - { 0x9a00, 0x32d6, 0x2000 }, - { 0x1a00, 0x32d5, 0x0000 }, - { 0x1a00, 0x32d7, 0x0000 }, - { 0x9a00, 0x32dc, 0x3000 }, - { 0x9a00, 0x32da, 0x2000 }, - { 0x1a00, 0x32d9, 0x0000 }, - { 0x1a00, 0x32db, 0x0000 }, - { 0x9a00, 0x32de, 0x2000 }, - { 0x1a00, 0x32dd, 0x0000 }, - { 0x1a00, 0x32df, 0x0000 }, - { 0x9a00, 0x32e8, 0x4000 }, - { 0x9a00, 0x32e4, 0x3000 }, - { 0x9a00, 0x32e2, 0x2000 }, - { 0x1a00, 0x32e1, 0x0000 }, - { 0x1a00, 0x32e3, 0x0000 }, - { 0x9a00, 0x32e6, 0x2000 }, - { 0x1a00, 0x32e5, 0x0000 }, - { 0x1a00, 0x32e7, 0x0000 }, - { 0x9a00, 0x32ec, 0x3000 }, - { 0x9a00, 0x32ea, 0x2000 }, - { 0x1a00, 0x32e9, 0x0000 }, - { 0x1a00, 0x32eb, 0x0000 }, - { 0x9a00, 0x32ee, 0x2000 }, - { 0x1a00, 0x32ed, 0x0000 }, - { 0x1a00, 0x32ef, 0x0000 }, - { 0x9a00, 0x3301, 0x5000 }, - { 0x9a00, 0x32f8, 0x4000 }, - { 0x9a00, 0x32f4, 0x3000 }, - { 0x9a00, 0x32f2, 0x2000 }, - { 0x1a00, 0x32f1, 0x0000 }, - { 0x1a00, 0x32f3, 0x0000 }, - { 0x9a00, 0x32f6, 0x2000 }, - { 0x1a00, 0x32f5, 0x0000 }, - { 0x1a00, 0x32f7, 0x0000 }, - { 0x9a00, 0x32fc, 0x3000 }, - { 0x9a00, 0x32fa, 0x2000 }, - { 0x1a00, 0x32f9, 0x0000 }, - { 0x1a00, 0x32fb, 0x0000 }, - { 0x9a00, 0x32fe, 0x2000 }, - { 0x1a00, 0x32fd, 0x0000 }, - { 0x1a00, 0x3300, 0x0000 }, - { 0x9a00, 0x3309, 0x4000 }, - { 0x9a00, 0x3305, 0x3000 }, - { 0x9a00, 0x3303, 0x2000 }, - { 0x1a00, 0x3302, 0x0000 }, - { 0x1a00, 0x3304, 0x0000 }, - { 0x9a00, 0x3307, 0x2000 }, - { 0x1a00, 0x3306, 0x0000 }, - { 0x1a00, 0x3308, 0x0000 }, - { 0x9a00, 0x330d, 0x3000 }, - { 0x9a00, 0x330b, 0x2000 }, - { 0x1a00, 0x330a, 0x0000 }, - { 0x1a00, 0x330c, 0x0000 }, - { 0x9a00, 0x330f, 0x2000 }, - { 0x1a00, 0x330e, 0x0000 }, - { 0x1a00, 0x3310, 0x0000 }, - { 0x9a00, 0x3351, 0x7000 }, - { 0x9a00, 0x3331, 0x6000 }, - { 0x9a00, 0x3321, 0x5000 }, - { 0x9a00, 0x3319, 0x4000 }, - { 0x9a00, 0x3315, 0x3000 }, - { 0x9a00, 0x3313, 0x2000 }, - { 0x1a00, 0x3312, 0x0000 }, - { 0x1a00, 0x3314, 0x0000 }, - { 0x9a00, 0x3317, 0x2000 }, - { 0x1a00, 0x3316, 0x0000 }, - { 0x1a00, 0x3318, 0x0000 }, - { 0x9a00, 0x331d, 0x3000 }, - { 0x9a00, 0x331b, 0x2000 }, - { 0x1a00, 0x331a, 0x0000 }, - { 0x1a00, 0x331c, 0x0000 }, - { 0x9a00, 0x331f, 0x2000 }, - { 0x1a00, 0x331e, 0x0000 }, - { 0x1a00, 0x3320, 0x0000 }, - { 0x9a00, 0x3329, 0x4000 }, - { 0x9a00, 0x3325, 0x3000 }, - { 0x9a00, 0x3323, 0x2000 }, - { 0x1a00, 0x3322, 0x0000 }, - { 0x1a00, 0x3324, 0x0000 }, - { 0x9a00, 0x3327, 0x2000 }, - { 0x1a00, 0x3326, 0x0000 }, - { 0x1a00, 0x3328, 0x0000 }, - { 0x9a00, 0x332d, 0x3000 }, - { 0x9a00, 0x332b, 0x2000 }, - { 0x1a00, 0x332a, 0x0000 }, - { 0x1a00, 0x332c, 0x0000 }, - { 0x9a00, 0x332f, 0x2000 }, - { 0x1a00, 0x332e, 0x0000 }, - { 0x1a00, 0x3330, 0x0000 }, - { 0x9a00, 0x3341, 0x5000 }, - { 0x9a00, 0x3339, 0x4000 }, - { 0x9a00, 0x3335, 0x3000 }, - { 0x9a00, 0x3333, 0x2000 }, - { 0x1a00, 0x3332, 0x0000 }, - { 0x1a00, 0x3334, 0x0000 }, - { 0x9a00, 0x3337, 0x2000 }, - { 0x1a00, 0x3336, 0x0000 }, - { 0x1a00, 0x3338, 0x0000 }, - { 0x9a00, 0x333d, 0x3000 }, - { 0x9a00, 0x333b, 0x2000 }, - { 0x1a00, 0x333a, 0x0000 }, - { 0x1a00, 0x333c, 0x0000 }, - { 0x9a00, 0x333f, 0x2000 }, - { 0x1a00, 0x333e, 0x0000 }, - { 0x1a00, 0x3340, 0x0000 }, - { 0x9a00, 0x3349, 0x4000 }, - { 0x9a00, 0x3345, 0x3000 }, - { 0x9a00, 0x3343, 0x2000 }, - { 0x1a00, 0x3342, 0x0000 }, - { 0x1a00, 0x3344, 0x0000 }, - { 0x9a00, 0x3347, 0x2000 }, - { 0x1a00, 0x3346, 0x0000 }, - { 0x1a00, 0x3348, 0x0000 }, - { 0x9a00, 0x334d, 0x3000 }, - { 0x9a00, 0x334b, 0x2000 }, - { 0x1a00, 0x334a, 0x0000 }, - { 0x1a00, 0x334c, 0x0000 }, - { 0x9a00, 0x334f, 0x2000 }, - { 0x1a00, 0x334e, 0x0000 }, - { 0x1a00, 0x3350, 0x0000 }, - { 0x9a00, 0x3371, 0x6000 }, - { 0x9a00, 0x3361, 0x5000 }, - { 0x9a00, 0x3359, 0x4000 }, - { 0x9a00, 0x3355, 0x3000 }, - { 0x9a00, 0x3353, 0x2000 }, - { 0x1a00, 0x3352, 0x0000 }, - { 0x1a00, 0x3354, 0x0000 }, - { 0x9a00, 0x3357, 0x2000 }, - { 0x1a00, 0x3356, 0x0000 }, - { 0x1a00, 0x3358, 0x0000 }, - { 0x9a00, 0x335d, 0x3000 }, - { 0x9a00, 0x335b, 0x2000 }, - { 0x1a00, 0x335a, 0x0000 }, - { 0x1a00, 0x335c, 0x0000 }, - { 0x9a00, 0x335f, 0x2000 }, - { 0x1a00, 0x335e, 0x0000 }, - { 0x1a00, 0x3360, 0x0000 }, - { 0x9a00, 0x3369, 0x4000 }, - { 0x9a00, 0x3365, 0x3000 }, - { 0x9a00, 0x3363, 0x2000 }, - { 0x1a00, 0x3362, 0x0000 }, - { 0x1a00, 0x3364, 0x0000 }, - { 0x9a00, 0x3367, 0x2000 }, - { 0x1a00, 0x3366, 0x0000 }, - { 0x1a00, 0x3368, 0x0000 }, - { 0x9a00, 0x336d, 0x3000 }, - { 0x9a00, 0x336b, 0x2000 }, - { 0x1a00, 0x336a, 0x0000 }, - { 0x1a00, 0x336c, 0x0000 }, - { 0x9a00, 0x336f, 0x2000 }, - { 0x1a00, 0x336e, 0x0000 }, - { 0x1a00, 0x3370, 0x0000 }, - { 0x9a00, 0x3381, 0x5000 }, - { 0x9a00, 0x3379, 0x4000 }, - { 0x9a00, 0x3375, 0x3000 }, - { 0x9a00, 0x3373, 0x2000 }, - { 0x1a00, 0x3372, 0x0000 }, - { 0x1a00, 0x3374, 0x0000 }, - { 0x9a00, 0x3377, 0x2000 }, - { 0x1a00, 0x3376, 0x0000 }, - { 0x1a00, 0x3378, 0x0000 }, - { 0x9a00, 0x337d, 0x3000 }, - { 0x9a00, 0x337b, 0x2000 }, - { 0x1a00, 0x337a, 0x0000 }, - { 0x1a00, 0x337c, 0x0000 }, - { 0x9a00, 0x337f, 0x2000 }, - { 0x1a00, 0x337e, 0x0000 }, - { 0x1a00, 0x3380, 0x0000 }, - { 0x9a00, 0x3389, 0x4000 }, - { 0x9a00, 0x3385, 0x3000 }, - { 0x9a00, 0x3383, 0x2000 }, - { 0x1a00, 0x3382, 0x0000 }, - { 0x1a00, 0x3384, 0x0000 }, - { 0x9a00, 0x3387, 0x2000 }, - { 0x1a00, 0x3386, 0x0000 }, - { 0x1a00, 0x3388, 0x0000 }, - { 0x9a00, 0x338d, 0x3000 }, - { 0x9a00, 0x338b, 0x2000 }, - { 0x1a00, 0x338a, 0x0000 }, - { 0x1a00, 0x338c, 0x0000 }, - { 0x9a00, 0x338f, 0x2000 }, - { 0x1a00, 0x338e, 0x0000 }, - { 0x1a00, 0x3390, 0x0000 }, - { 0x8700, 0xa14d, 0xa000 }, - { 0x8700, 0xa04d, 0x9000 }, - { 0x9a00, 0x4dcf, 0x8000 }, - { 0x9a00, 0x33d1, 0x7000 }, - { 0x9a00, 0x33b1, 0x6000 }, - { 0x9a00, 0x33a1, 0x5000 }, - { 0x9a00, 0x3399, 0x4000 }, - { 0x9a00, 0x3395, 0x3000 }, - { 0x9a00, 0x3393, 0x2000 }, - { 0x1a00, 0x3392, 0x0000 }, - { 0x1a00, 0x3394, 0x0000 }, - { 0x9a00, 0x3397, 0x2000 }, - { 0x1a00, 0x3396, 0x0000 }, - { 0x1a00, 0x3398, 0x0000 }, - { 0x9a00, 0x339d, 0x3000 }, - { 0x9a00, 0x339b, 0x2000 }, - { 0x1a00, 0x339a, 0x0000 }, - { 0x1a00, 0x339c, 0x0000 }, - { 0x9a00, 0x339f, 0x2000 }, - { 0x1a00, 0x339e, 0x0000 }, - { 0x1a00, 0x33a0, 0x0000 }, - { 0x9a00, 0x33a9, 0x4000 }, - { 0x9a00, 0x33a5, 0x3000 }, - { 0x9a00, 0x33a3, 0x2000 }, - { 0x1a00, 0x33a2, 0x0000 }, - { 0x1a00, 0x33a4, 0x0000 }, - { 0x9a00, 0x33a7, 0x2000 }, - { 0x1a00, 0x33a6, 0x0000 }, - { 0x1a00, 0x33a8, 0x0000 }, - { 0x9a00, 0x33ad, 0x3000 }, - { 0x9a00, 0x33ab, 0x2000 }, - { 0x1a00, 0x33aa, 0x0000 }, - { 0x1a00, 0x33ac, 0x0000 }, - { 0x9a00, 0x33af, 0x2000 }, - { 0x1a00, 0x33ae, 0x0000 }, - { 0x1a00, 0x33b0, 0x0000 }, - { 0x9a00, 0x33c1, 0x5000 }, - { 0x9a00, 0x33b9, 0x4000 }, - { 0x9a00, 0x33b5, 0x3000 }, - { 0x9a00, 0x33b3, 0x2000 }, - { 0x1a00, 0x33b2, 0x0000 }, - { 0x1a00, 0x33b4, 0x0000 }, - { 0x9a00, 0x33b7, 0x2000 }, - { 0x1a00, 0x33b6, 0x0000 }, - { 0x1a00, 0x33b8, 0x0000 }, - { 0x9a00, 0x33bd, 0x3000 }, - { 0x9a00, 0x33bb, 0x2000 }, - { 0x1a00, 0x33ba, 0x0000 }, - { 0x1a00, 0x33bc, 0x0000 }, - { 0x9a00, 0x33bf, 0x2000 }, - { 0x1a00, 0x33be, 0x0000 }, - { 0x1a00, 0x33c0, 0x0000 }, - { 0x9a00, 0x33c9, 0x4000 }, - { 0x9a00, 0x33c5, 0x3000 }, - { 0x9a00, 0x33c3, 0x2000 }, - { 0x1a00, 0x33c2, 0x0000 }, - { 0x1a00, 0x33c4, 0x0000 }, - { 0x9a00, 0x33c7, 0x2000 }, - { 0x1a00, 0x33c6, 0x0000 }, - { 0x1a00, 0x33c8, 0x0000 }, - { 0x9a00, 0x33cd, 0x3000 }, - { 0x9a00, 0x33cb, 0x2000 }, - { 0x1a00, 0x33ca, 0x0000 }, - { 0x1a00, 0x33cc, 0x0000 }, - { 0x9a00, 0x33cf, 0x2000 }, - { 0x1a00, 0x33ce, 0x0000 }, - { 0x1a00, 0x33d0, 0x0000 }, - { 0x9a00, 0x33f1, 0x6000 }, - { 0x9a00, 0x33e1, 0x5000 }, - { 0x9a00, 0x33d9, 0x4000 }, - { 0x9a00, 0x33d5, 0x3000 }, - { 0x9a00, 0x33d3, 0x2000 }, - { 0x1a00, 0x33d2, 0x0000 }, - { 0x1a00, 0x33d4, 0x0000 }, - { 0x9a00, 0x33d7, 0x2000 }, - { 0x1a00, 0x33d6, 0x0000 }, - { 0x1a00, 0x33d8, 0x0000 }, - { 0x9a00, 0x33dd, 0x3000 }, - { 0x9a00, 0x33db, 0x2000 }, - { 0x1a00, 0x33da, 0x0000 }, - { 0x1a00, 0x33dc, 0x0000 }, - { 0x9a00, 0x33df, 0x2000 }, - { 0x1a00, 0x33de, 0x0000 }, - { 0x1a00, 0x33e0, 0x0000 }, - { 0x9a00, 0x33e9, 0x4000 }, - { 0x9a00, 0x33e5, 0x3000 }, - { 0x9a00, 0x33e3, 0x2000 }, - { 0x1a00, 0x33e2, 0x0000 }, - { 0x1a00, 0x33e4, 0x0000 }, - { 0x9a00, 0x33e7, 0x2000 }, - { 0x1a00, 0x33e6, 0x0000 }, - { 0x1a00, 0x33e8, 0x0000 }, - { 0x9a00, 0x33ed, 0x3000 }, - { 0x9a00, 0x33eb, 0x2000 }, - { 0x1a00, 0x33ea, 0x0000 }, - { 0x1a00, 0x33ec, 0x0000 }, - { 0x9a00, 0x33ef, 0x2000 }, - { 0x1a00, 0x33ee, 0x0000 }, - { 0x1a00, 0x33f0, 0x0000 }, - { 0x8700, 0x4db5, 0x5000 }, - { 0x9a00, 0x33f9, 0x4000 }, - { 0x9a00, 0x33f5, 0x3000 }, - { 0x9a00, 0x33f3, 0x2000 }, - { 0x1a00, 0x33f2, 0x0000 }, - { 0x1a00, 0x33f4, 0x0000 }, - { 0x9a00, 0x33f7, 0x2000 }, - { 0x1a00, 0x33f6, 0x0000 }, - { 0x1a00, 0x33f8, 0x0000 }, - { 0x9a00, 0x33fd, 0x3000 }, - { 0x9a00, 0x33fb, 0x2000 }, - { 0x1a00, 0x33fa, 0x0000 }, - { 0x1a00, 0x33fc, 0x0000 }, - { 0x9a00, 0x33ff, 0x2000 }, - { 0x1a00, 0x33fe, 0x0000 }, - { 0x0700, 0x3400, 0x0000 }, - { 0x9a00, 0x4dc7, 0x4000 }, - { 0x9a00, 0x4dc3, 0x3000 }, - { 0x9a00, 0x4dc1, 0x2000 }, - { 0x1a00, 0x4dc0, 0x0000 }, - { 0x1a00, 0x4dc2, 0x0000 }, - { 0x9a00, 0x4dc5, 0x2000 }, - { 0x1a00, 0x4dc4, 0x0000 }, - { 0x1a00, 0x4dc6, 0x0000 }, - { 0x9a00, 0x4dcb, 0x3000 }, - { 0x9a00, 0x4dc9, 0x2000 }, - { 0x1a00, 0x4dc8, 0x0000 }, - { 0x1a00, 0x4dca, 0x0000 }, - { 0x9a00, 0x4dcd, 0x2000 }, - { 0x1a00, 0x4dcc, 0x0000 }, - { 0x1a00, 0x4dce, 0x0000 }, - { 0x8700, 0xa00d, 0x7000 }, - { 0x9a00, 0x4def, 0x6000 }, - { 0x9a00, 0x4ddf, 0x5000 }, - { 0x9a00, 0x4dd7, 0x4000 }, - { 0x9a00, 0x4dd3, 0x3000 }, - { 0x9a00, 0x4dd1, 0x2000 }, - { 0x1a00, 0x4dd0, 0x0000 }, - { 0x1a00, 0x4dd2, 0x0000 }, - { 0x9a00, 0x4dd5, 0x2000 }, - { 0x1a00, 0x4dd4, 0x0000 }, - { 0x1a00, 0x4dd6, 0x0000 }, - { 0x9a00, 0x4ddb, 0x3000 }, - { 0x9a00, 0x4dd9, 0x2000 }, - { 0x1a00, 0x4dd8, 0x0000 }, - { 0x1a00, 0x4dda, 0x0000 }, - { 0x9a00, 0x4ddd, 0x2000 }, - { 0x1a00, 0x4ddc, 0x0000 }, - { 0x1a00, 0x4dde, 0x0000 }, - { 0x9a00, 0x4de7, 0x4000 }, - { 0x9a00, 0x4de3, 0x3000 }, - { 0x9a00, 0x4de1, 0x2000 }, - { 0x1a00, 0x4de0, 0x0000 }, - { 0x1a00, 0x4de2, 0x0000 }, - { 0x9a00, 0x4de5, 0x2000 }, - { 0x1a00, 0x4de4, 0x0000 }, - { 0x1a00, 0x4de6, 0x0000 }, - { 0x9a00, 0x4deb, 0x3000 }, - { 0x9a00, 0x4de9, 0x2000 }, - { 0x1a00, 0x4de8, 0x0000 }, - { 0x1a00, 0x4dea, 0x0000 }, - { 0x9a00, 0x4ded, 0x2000 }, - { 0x1a00, 0x4dec, 0x0000 }, - { 0x1a00, 0x4dee, 0x0000 }, - { 0x9a00, 0x4dff, 0x5000 }, - { 0x9a00, 0x4df7, 0x4000 }, - { 0x9a00, 0x4df3, 0x3000 }, - { 0x9a00, 0x4df1, 0x2000 }, - { 0x1a00, 0x4df0, 0x0000 }, - { 0x1a00, 0x4df2, 0x0000 }, - { 0x9a00, 0x4df5, 0x2000 }, - { 0x1a00, 0x4df4, 0x0000 }, - { 0x1a00, 0x4df6, 0x0000 }, - { 0x9a00, 0x4dfb, 0x3000 }, - { 0x9a00, 0x4df9, 0x2000 }, - { 0x1a00, 0x4df8, 0x0000 }, - { 0x1a00, 0x4dfa, 0x0000 }, - { 0x9a00, 0x4dfd, 0x2000 }, - { 0x1a00, 0x4dfc, 0x0000 }, - { 0x1a00, 0x4dfe, 0x0000 }, - { 0x8700, 0xa005, 0x4000 }, - { 0x8700, 0xa001, 0x3000 }, - { 0x8700, 0x9fa5, 0x2000 }, - { 0x0700, 0x4e00, 0x0000 }, - { 0x0700, 0xa000, 0x0000 }, - { 0x8700, 0xa003, 0x2000 }, - { 0x0700, 0xa002, 0x0000 }, - { 0x0700, 0xa004, 0x0000 }, - { 0x8700, 0xa009, 0x3000 }, - { 0x8700, 0xa007, 0x2000 }, - { 0x0700, 0xa006, 0x0000 }, - { 0x0700, 0xa008, 0x0000 }, - { 0x8700, 0xa00b, 0x2000 }, - { 0x0700, 0xa00a, 0x0000 }, - { 0x0700, 0xa00c, 0x0000 }, - { 0x8700, 0xa02d, 0x6000 }, - { 0x8700, 0xa01d, 0x5000 }, - { 0x8700, 0xa015, 0x4000 }, - { 0x8700, 0xa011, 0x3000 }, - { 0x8700, 0xa00f, 0x2000 }, - { 0x0700, 0xa00e, 0x0000 }, - { 0x0700, 0xa010, 0x0000 }, - { 0x8700, 0xa013, 0x2000 }, - { 0x0700, 0xa012, 0x0000 }, - { 0x0700, 0xa014, 0x0000 }, - { 0x8700, 0xa019, 0x3000 }, - { 0x8700, 0xa017, 0x2000 }, - { 0x0700, 0xa016, 0x0000 }, - { 0x0700, 0xa018, 0x0000 }, - { 0x8700, 0xa01b, 0x2000 }, - { 0x0700, 0xa01a, 0x0000 }, - { 0x0700, 0xa01c, 0x0000 }, - { 0x8700, 0xa025, 0x4000 }, - { 0x8700, 0xa021, 0x3000 }, - { 0x8700, 0xa01f, 0x2000 }, - { 0x0700, 0xa01e, 0x0000 }, - { 0x0700, 0xa020, 0x0000 }, - { 0x8700, 0xa023, 0x2000 }, - { 0x0700, 0xa022, 0x0000 }, - { 0x0700, 0xa024, 0x0000 }, - { 0x8700, 0xa029, 0x3000 }, - { 0x8700, 0xa027, 0x2000 }, - { 0x0700, 0xa026, 0x0000 }, - { 0x0700, 0xa028, 0x0000 }, - { 0x8700, 0xa02b, 0x2000 }, - { 0x0700, 0xa02a, 0x0000 }, - { 0x0700, 0xa02c, 0x0000 }, - { 0x8700, 0xa03d, 0x5000 }, - { 0x8700, 0xa035, 0x4000 }, - { 0x8700, 0xa031, 0x3000 }, - { 0x8700, 0xa02f, 0x2000 }, - { 0x0700, 0xa02e, 0x0000 }, - { 0x0700, 0xa030, 0x0000 }, - { 0x8700, 0xa033, 0x2000 }, - { 0x0700, 0xa032, 0x0000 }, - { 0x0700, 0xa034, 0x0000 }, - { 0x8700, 0xa039, 0x3000 }, - { 0x8700, 0xa037, 0x2000 }, - { 0x0700, 0xa036, 0x0000 }, - { 0x0700, 0xa038, 0x0000 }, - { 0x8700, 0xa03b, 0x2000 }, - { 0x0700, 0xa03a, 0x0000 }, - { 0x0700, 0xa03c, 0x0000 }, - { 0x8700, 0xa045, 0x4000 }, - { 0x8700, 0xa041, 0x3000 }, - { 0x8700, 0xa03f, 0x2000 }, - { 0x0700, 0xa03e, 0x0000 }, - { 0x0700, 0xa040, 0x0000 }, - { 0x8700, 0xa043, 0x2000 }, - { 0x0700, 0xa042, 0x0000 }, - { 0x0700, 0xa044, 0x0000 }, - { 0x8700, 0xa049, 0x3000 }, - { 0x8700, 0xa047, 0x2000 }, - { 0x0700, 0xa046, 0x0000 }, - { 0x0700, 0xa048, 0x0000 }, - { 0x8700, 0xa04b, 0x2000 }, - { 0x0700, 0xa04a, 0x0000 }, - { 0x0700, 0xa04c, 0x0000 }, - { 0x8700, 0xa0cd, 0x8000 }, - { 0x8700, 0xa08d, 0x7000 }, - { 0x8700, 0xa06d, 0x6000 }, - { 0x8700, 0xa05d, 0x5000 }, - { 0x8700, 0xa055, 0x4000 }, - { 0x8700, 0xa051, 0x3000 }, - { 0x8700, 0xa04f, 0x2000 }, - { 0x0700, 0xa04e, 0x0000 }, - { 0x0700, 0xa050, 0x0000 }, - { 0x8700, 0xa053, 0x2000 }, - { 0x0700, 0xa052, 0x0000 }, - { 0x0700, 0xa054, 0x0000 }, - { 0x8700, 0xa059, 0x3000 }, - { 0x8700, 0xa057, 0x2000 }, - { 0x0700, 0xa056, 0x0000 }, - { 0x0700, 0xa058, 0x0000 }, - { 0x8700, 0xa05b, 0x2000 }, - { 0x0700, 0xa05a, 0x0000 }, - { 0x0700, 0xa05c, 0x0000 }, - { 0x8700, 0xa065, 0x4000 }, - { 0x8700, 0xa061, 0x3000 }, - { 0x8700, 0xa05f, 0x2000 }, - { 0x0700, 0xa05e, 0x0000 }, - { 0x0700, 0xa060, 0x0000 }, - { 0x8700, 0xa063, 0x2000 }, - { 0x0700, 0xa062, 0x0000 }, - { 0x0700, 0xa064, 0x0000 }, - { 0x8700, 0xa069, 0x3000 }, - { 0x8700, 0xa067, 0x2000 }, - { 0x0700, 0xa066, 0x0000 }, - { 0x0700, 0xa068, 0x0000 }, - { 0x8700, 0xa06b, 0x2000 }, - { 0x0700, 0xa06a, 0x0000 }, - { 0x0700, 0xa06c, 0x0000 }, - { 0x8700, 0xa07d, 0x5000 }, - { 0x8700, 0xa075, 0x4000 }, - { 0x8700, 0xa071, 0x3000 }, - { 0x8700, 0xa06f, 0x2000 }, - { 0x0700, 0xa06e, 0x0000 }, - { 0x0700, 0xa070, 0x0000 }, - { 0x8700, 0xa073, 0x2000 }, - { 0x0700, 0xa072, 0x0000 }, - { 0x0700, 0xa074, 0x0000 }, - { 0x8700, 0xa079, 0x3000 }, - { 0x8700, 0xa077, 0x2000 }, - { 0x0700, 0xa076, 0x0000 }, - { 0x0700, 0xa078, 0x0000 }, - { 0x8700, 0xa07b, 0x2000 }, - { 0x0700, 0xa07a, 0x0000 }, - { 0x0700, 0xa07c, 0x0000 }, - { 0x8700, 0xa085, 0x4000 }, - { 0x8700, 0xa081, 0x3000 }, - { 0x8700, 0xa07f, 0x2000 }, - { 0x0700, 0xa07e, 0x0000 }, - { 0x0700, 0xa080, 0x0000 }, - { 0x8700, 0xa083, 0x2000 }, - { 0x0700, 0xa082, 0x0000 }, - { 0x0700, 0xa084, 0x0000 }, - { 0x8700, 0xa089, 0x3000 }, - { 0x8700, 0xa087, 0x2000 }, - { 0x0700, 0xa086, 0x0000 }, - { 0x0700, 0xa088, 0x0000 }, - { 0x8700, 0xa08b, 0x2000 }, - { 0x0700, 0xa08a, 0x0000 }, - { 0x0700, 0xa08c, 0x0000 }, - { 0x8700, 0xa0ad, 0x6000 }, - { 0x8700, 0xa09d, 0x5000 }, - { 0x8700, 0xa095, 0x4000 }, - { 0x8700, 0xa091, 0x3000 }, - { 0x8700, 0xa08f, 0x2000 }, - { 0x0700, 0xa08e, 0x0000 }, - { 0x0700, 0xa090, 0x0000 }, - { 0x8700, 0xa093, 0x2000 }, - { 0x0700, 0xa092, 0x0000 }, - { 0x0700, 0xa094, 0x0000 }, - { 0x8700, 0xa099, 0x3000 }, - { 0x8700, 0xa097, 0x2000 }, - { 0x0700, 0xa096, 0x0000 }, - { 0x0700, 0xa098, 0x0000 }, - { 0x8700, 0xa09b, 0x2000 }, - { 0x0700, 0xa09a, 0x0000 }, - { 0x0700, 0xa09c, 0x0000 }, - { 0x8700, 0xa0a5, 0x4000 }, - { 0x8700, 0xa0a1, 0x3000 }, - { 0x8700, 0xa09f, 0x2000 }, - { 0x0700, 0xa09e, 0x0000 }, - { 0x0700, 0xa0a0, 0x0000 }, - { 0x8700, 0xa0a3, 0x2000 }, - { 0x0700, 0xa0a2, 0x0000 }, - { 0x0700, 0xa0a4, 0x0000 }, - { 0x8700, 0xa0a9, 0x3000 }, - { 0x8700, 0xa0a7, 0x2000 }, - { 0x0700, 0xa0a6, 0x0000 }, - { 0x0700, 0xa0a8, 0x0000 }, - { 0x8700, 0xa0ab, 0x2000 }, - { 0x0700, 0xa0aa, 0x0000 }, - { 0x0700, 0xa0ac, 0x0000 }, - { 0x8700, 0xa0bd, 0x5000 }, - { 0x8700, 0xa0b5, 0x4000 }, - { 0x8700, 0xa0b1, 0x3000 }, - { 0x8700, 0xa0af, 0x2000 }, - { 0x0700, 0xa0ae, 0x0000 }, - { 0x0700, 0xa0b0, 0x0000 }, - { 0x8700, 0xa0b3, 0x2000 }, - { 0x0700, 0xa0b2, 0x0000 }, - { 0x0700, 0xa0b4, 0x0000 }, - { 0x8700, 0xa0b9, 0x3000 }, - { 0x8700, 0xa0b7, 0x2000 }, - { 0x0700, 0xa0b6, 0x0000 }, - { 0x0700, 0xa0b8, 0x0000 }, - { 0x8700, 0xa0bb, 0x2000 }, - { 0x0700, 0xa0ba, 0x0000 }, - { 0x0700, 0xa0bc, 0x0000 }, - { 0x8700, 0xa0c5, 0x4000 }, - { 0x8700, 0xa0c1, 0x3000 }, - { 0x8700, 0xa0bf, 0x2000 }, - { 0x0700, 0xa0be, 0x0000 }, - { 0x0700, 0xa0c0, 0x0000 }, - { 0x8700, 0xa0c3, 0x2000 }, - { 0x0700, 0xa0c2, 0x0000 }, - { 0x0700, 0xa0c4, 0x0000 }, - { 0x8700, 0xa0c9, 0x3000 }, - { 0x8700, 0xa0c7, 0x2000 }, - { 0x0700, 0xa0c6, 0x0000 }, - { 0x0700, 0xa0c8, 0x0000 }, - { 0x8700, 0xa0cb, 0x2000 }, - { 0x0700, 0xa0ca, 0x0000 }, - { 0x0700, 0xa0cc, 0x0000 }, - { 0x8700, 0xa10d, 0x7000 }, - { 0x8700, 0xa0ed, 0x6000 }, - { 0x8700, 0xa0dd, 0x5000 }, - { 0x8700, 0xa0d5, 0x4000 }, - { 0x8700, 0xa0d1, 0x3000 }, - { 0x8700, 0xa0cf, 0x2000 }, - { 0x0700, 0xa0ce, 0x0000 }, - { 0x0700, 0xa0d0, 0x0000 }, - { 0x8700, 0xa0d3, 0x2000 }, - { 0x0700, 0xa0d2, 0x0000 }, - { 0x0700, 0xa0d4, 0x0000 }, - { 0x8700, 0xa0d9, 0x3000 }, - { 0x8700, 0xa0d7, 0x2000 }, - { 0x0700, 0xa0d6, 0x0000 }, - { 0x0700, 0xa0d8, 0x0000 }, - { 0x8700, 0xa0db, 0x2000 }, - { 0x0700, 0xa0da, 0x0000 }, - { 0x0700, 0xa0dc, 0x0000 }, - { 0x8700, 0xa0e5, 0x4000 }, - { 0x8700, 0xa0e1, 0x3000 }, - { 0x8700, 0xa0df, 0x2000 }, - { 0x0700, 0xa0de, 0x0000 }, - { 0x0700, 0xa0e0, 0x0000 }, - { 0x8700, 0xa0e3, 0x2000 }, - { 0x0700, 0xa0e2, 0x0000 }, - { 0x0700, 0xa0e4, 0x0000 }, - { 0x8700, 0xa0e9, 0x3000 }, - { 0x8700, 0xa0e7, 0x2000 }, - { 0x0700, 0xa0e6, 0x0000 }, - { 0x0700, 0xa0e8, 0x0000 }, - { 0x8700, 0xa0eb, 0x2000 }, - { 0x0700, 0xa0ea, 0x0000 }, - { 0x0700, 0xa0ec, 0x0000 }, - { 0x8700, 0xa0fd, 0x5000 }, - { 0x8700, 0xa0f5, 0x4000 }, - { 0x8700, 0xa0f1, 0x3000 }, - { 0x8700, 0xa0ef, 0x2000 }, - { 0x0700, 0xa0ee, 0x0000 }, - { 0x0700, 0xa0f0, 0x0000 }, - { 0x8700, 0xa0f3, 0x2000 }, - { 0x0700, 0xa0f2, 0x0000 }, - { 0x0700, 0xa0f4, 0x0000 }, - { 0x8700, 0xa0f9, 0x3000 }, - { 0x8700, 0xa0f7, 0x2000 }, - { 0x0700, 0xa0f6, 0x0000 }, - { 0x0700, 0xa0f8, 0x0000 }, - { 0x8700, 0xa0fb, 0x2000 }, - { 0x0700, 0xa0fa, 0x0000 }, - { 0x0700, 0xa0fc, 0x0000 }, - { 0x8700, 0xa105, 0x4000 }, - { 0x8700, 0xa101, 0x3000 }, - { 0x8700, 0xa0ff, 0x2000 }, - { 0x0700, 0xa0fe, 0x0000 }, - { 0x0700, 0xa100, 0x0000 }, - { 0x8700, 0xa103, 0x2000 }, - { 0x0700, 0xa102, 0x0000 }, - { 0x0700, 0xa104, 0x0000 }, - { 0x8700, 0xa109, 0x3000 }, - { 0x8700, 0xa107, 0x2000 }, - { 0x0700, 0xa106, 0x0000 }, - { 0x0700, 0xa108, 0x0000 }, - { 0x8700, 0xa10b, 0x2000 }, - { 0x0700, 0xa10a, 0x0000 }, - { 0x0700, 0xa10c, 0x0000 }, - { 0x8700, 0xa12d, 0x6000 }, - { 0x8700, 0xa11d, 0x5000 }, - { 0x8700, 0xa115, 0x4000 }, - { 0x8700, 0xa111, 0x3000 }, - { 0x8700, 0xa10f, 0x2000 }, - { 0x0700, 0xa10e, 0x0000 }, - { 0x0700, 0xa110, 0x0000 }, - { 0x8700, 0xa113, 0x2000 }, - { 0x0700, 0xa112, 0x0000 }, - { 0x0700, 0xa114, 0x0000 }, - { 0x8700, 0xa119, 0x3000 }, - { 0x8700, 0xa117, 0x2000 }, - { 0x0700, 0xa116, 0x0000 }, - { 0x0700, 0xa118, 0x0000 }, - { 0x8700, 0xa11b, 0x2000 }, - { 0x0700, 0xa11a, 0x0000 }, - { 0x0700, 0xa11c, 0x0000 }, - { 0x8700, 0xa125, 0x4000 }, - { 0x8700, 0xa121, 0x3000 }, - { 0x8700, 0xa11f, 0x2000 }, - { 0x0700, 0xa11e, 0x0000 }, - { 0x0700, 0xa120, 0x0000 }, - { 0x8700, 0xa123, 0x2000 }, - { 0x0700, 0xa122, 0x0000 }, - { 0x0700, 0xa124, 0x0000 }, - { 0x8700, 0xa129, 0x3000 }, - { 0x8700, 0xa127, 0x2000 }, - { 0x0700, 0xa126, 0x0000 }, - { 0x0700, 0xa128, 0x0000 }, - { 0x8700, 0xa12b, 0x2000 }, - { 0x0700, 0xa12a, 0x0000 }, - { 0x0700, 0xa12c, 0x0000 }, - { 0x8700, 0xa13d, 0x5000 }, - { 0x8700, 0xa135, 0x4000 }, - { 0x8700, 0xa131, 0x3000 }, - { 0x8700, 0xa12f, 0x2000 }, - { 0x0700, 0xa12e, 0x0000 }, - { 0x0700, 0xa130, 0x0000 }, - { 0x8700, 0xa133, 0x2000 }, - { 0x0700, 0xa132, 0x0000 }, - { 0x0700, 0xa134, 0x0000 }, - { 0x8700, 0xa139, 0x3000 }, - { 0x8700, 0xa137, 0x2000 }, - { 0x0700, 0xa136, 0x0000 }, - { 0x0700, 0xa138, 0x0000 }, - { 0x8700, 0xa13b, 0x2000 }, - { 0x0700, 0xa13a, 0x0000 }, - { 0x0700, 0xa13c, 0x0000 }, - { 0x8700, 0xa145, 0x4000 }, - { 0x8700, 0xa141, 0x3000 }, - { 0x8700, 0xa13f, 0x2000 }, - { 0x0700, 0xa13e, 0x0000 }, - { 0x0700, 0xa140, 0x0000 }, - { 0x8700, 0xa143, 0x2000 }, - { 0x0700, 0xa142, 0x0000 }, - { 0x0700, 0xa144, 0x0000 }, - { 0x8700, 0xa149, 0x3000 }, - { 0x8700, 0xa147, 0x2000 }, - { 0x0700, 0xa146, 0x0000 }, - { 0x0700, 0xa148, 0x0000 }, - { 0x8700, 0xa14b, 0x2000 }, - { 0x0700, 0xa14a, 0x0000 }, - { 0x0700, 0xa14c, 0x0000 }, - { 0x8700, 0xa24d, 0x9000 }, - { 0x8700, 0xa1cd, 0x8000 }, - { 0x8700, 0xa18d, 0x7000 }, - { 0x8700, 0xa16d, 0x6000 }, - { 0x8700, 0xa15d, 0x5000 }, - { 0x8700, 0xa155, 0x4000 }, - { 0x8700, 0xa151, 0x3000 }, - { 0x8700, 0xa14f, 0x2000 }, - { 0x0700, 0xa14e, 0x0000 }, - { 0x0700, 0xa150, 0x0000 }, - { 0x8700, 0xa153, 0x2000 }, - { 0x0700, 0xa152, 0x0000 }, - { 0x0700, 0xa154, 0x0000 }, - { 0x8700, 0xa159, 0x3000 }, - { 0x8700, 0xa157, 0x2000 }, - { 0x0700, 0xa156, 0x0000 }, - { 0x0700, 0xa158, 0x0000 }, - { 0x8700, 0xa15b, 0x2000 }, - { 0x0700, 0xa15a, 0x0000 }, - { 0x0700, 0xa15c, 0x0000 }, - { 0x8700, 0xa165, 0x4000 }, - { 0x8700, 0xa161, 0x3000 }, - { 0x8700, 0xa15f, 0x2000 }, - { 0x0700, 0xa15e, 0x0000 }, - { 0x0700, 0xa160, 0x0000 }, - { 0x8700, 0xa163, 0x2000 }, - { 0x0700, 0xa162, 0x0000 }, - { 0x0700, 0xa164, 0x0000 }, - { 0x8700, 0xa169, 0x3000 }, - { 0x8700, 0xa167, 0x2000 }, - { 0x0700, 0xa166, 0x0000 }, - { 0x0700, 0xa168, 0x0000 }, - { 0x8700, 0xa16b, 0x2000 }, - { 0x0700, 0xa16a, 0x0000 }, - { 0x0700, 0xa16c, 0x0000 }, - { 0x8700, 0xa17d, 0x5000 }, - { 0x8700, 0xa175, 0x4000 }, - { 0x8700, 0xa171, 0x3000 }, - { 0x8700, 0xa16f, 0x2000 }, - { 0x0700, 0xa16e, 0x0000 }, - { 0x0700, 0xa170, 0x0000 }, - { 0x8700, 0xa173, 0x2000 }, - { 0x0700, 0xa172, 0x0000 }, - { 0x0700, 0xa174, 0x0000 }, - { 0x8700, 0xa179, 0x3000 }, - { 0x8700, 0xa177, 0x2000 }, - { 0x0700, 0xa176, 0x0000 }, - { 0x0700, 0xa178, 0x0000 }, - { 0x8700, 0xa17b, 0x2000 }, - { 0x0700, 0xa17a, 0x0000 }, - { 0x0700, 0xa17c, 0x0000 }, - { 0x8700, 0xa185, 0x4000 }, - { 0x8700, 0xa181, 0x3000 }, - { 0x8700, 0xa17f, 0x2000 }, - { 0x0700, 0xa17e, 0x0000 }, - { 0x0700, 0xa180, 0x0000 }, - { 0x8700, 0xa183, 0x2000 }, - { 0x0700, 0xa182, 0x0000 }, - { 0x0700, 0xa184, 0x0000 }, - { 0x8700, 0xa189, 0x3000 }, - { 0x8700, 0xa187, 0x2000 }, - { 0x0700, 0xa186, 0x0000 }, - { 0x0700, 0xa188, 0x0000 }, - { 0x8700, 0xa18b, 0x2000 }, - { 0x0700, 0xa18a, 0x0000 }, - { 0x0700, 0xa18c, 0x0000 }, - { 0x8700, 0xa1ad, 0x6000 }, - { 0x8700, 0xa19d, 0x5000 }, - { 0x8700, 0xa195, 0x4000 }, - { 0x8700, 0xa191, 0x3000 }, - { 0x8700, 0xa18f, 0x2000 }, - { 0x0700, 0xa18e, 0x0000 }, - { 0x0700, 0xa190, 0x0000 }, - { 0x8700, 0xa193, 0x2000 }, - { 0x0700, 0xa192, 0x0000 }, - { 0x0700, 0xa194, 0x0000 }, - { 0x8700, 0xa199, 0x3000 }, - { 0x8700, 0xa197, 0x2000 }, - { 0x0700, 0xa196, 0x0000 }, - { 0x0700, 0xa198, 0x0000 }, - { 0x8700, 0xa19b, 0x2000 }, - { 0x0700, 0xa19a, 0x0000 }, - { 0x0700, 0xa19c, 0x0000 }, - { 0x8700, 0xa1a5, 0x4000 }, - { 0x8700, 0xa1a1, 0x3000 }, - { 0x8700, 0xa19f, 0x2000 }, - { 0x0700, 0xa19e, 0x0000 }, - { 0x0700, 0xa1a0, 0x0000 }, - { 0x8700, 0xa1a3, 0x2000 }, - { 0x0700, 0xa1a2, 0x0000 }, - { 0x0700, 0xa1a4, 0x0000 }, - { 0x8700, 0xa1a9, 0x3000 }, - { 0x8700, 0xa1a7, 0x2000 }, - { 0x0700, 0xa1a6, 0x0000 }, - { 0x0700, 0xa1a8, 0x0000 }, - { 0x8700, 0xa1ab, 0x2000 }, - { 0x0700, 0xa1aa, 0x0000 }, - { 0x0700, 0xa1ac, 0x0000 }, - { 0x8700, 0xa1bd, 0x5000 }, - { 0x8700, 0xa1b5, 0x4000 }, - { 0x8700, 0xa1b1, 0x3000 }, - { 0x8700, 0xa1af, 0x2000 }, - { 0x0700, 0xa1ae, 0x0000 }, - { 0x0700, 0xa1b0, 0x0000 }, - { 0x8700, 0xa1b3, 0x2000 }, - { 0x0700, 0xa1b2, 0x0000 }, - { 0x0700, 0xa1b4, 0x0000 }, - { 0x8700, 0xa1b9, 0x3000 }, - { 0x8700, 0xa1b7, 0x2000 }, - { 0x0700, 0xa1b6, 0x0000 }, - { 0x0700, 0xa1b8, 0x0000 }, - { 0x8700, 0xa1bb, 0x2000 }, - { 0x0700, 0xa1ba, 0x0000 }, - { 0x0700, 0xa1bc, 0x0000 }, - { 0x8700, 0xa1c5, 0x4000 }, - { 0x8700, 0xa1c1, 0x3000 }, - { 0x8700, 0xa1bf, 0x2000 }, - { 0x0700, 0xa1be, 0x0000 }, - { 0x0700, 0xa1c0, 0x0000 }, - { 0x8700, 0xa1c3, 0x2000 }, - { 0x0700, 0xa1c2, 0x0000 }, - { 0x0700, 0xa1c4, 0x0000 }, - { 0x8700, 0xa1c9, 0x3000 }, - { 0x8700, 0xa1c7, 0x2000 }, - { 0x0700, 0xa1c6, 0x0000 }, - { 0x0700, 0xa1c8, 0x0000 }, - { 0x8700, 0xa1cb, 0x2000 }, - { 0x0700, 0xa1ca, 0x0000 }, - { 0x0700, 0xa1cc, 0x0000 }, - { 0x8700, 0xa20d, 0x7000 }, - { 0x8700, 0xa1ed, 0x6000 }, - { 0x8700, 0xa1dd, 0x5000 }, - { 0x8700, 0xa1d5, 0x4000 }, - { 0x8700, 0xa1d1, 0x3000 }, - { 0x8700, 0xa1cf, 0x2000 }, - { 0x0700, 0xa1ce, 0x0000 }, - { 0x0700, 0xa1d0, 0x0000 }, - { 0x8700, 0xa1d3, 0x2000 }, - { 0x0700, 0xa1d2, 0x0000 }, - { 0x0700, 0xa1d4, 0x0000 }, - { 0x8700, 0xa1d9, 0x3000 }, - { 0x8700, 0xa1d7, 0x2000 }, - { 0x0700, 0xa1d6, 0x0000 }, - { 0x0700, 0xa1d8, 0x0000 }, - { 0x8700, 0xa1db, 0x2000 }, - { 0x0700, 0xa1da, 0x0000 }, - { 0x0700, 0xa1dc, 0x0000 }, - { 0x8700, 0xa1e5, 0x4000 }, - { 0x8700, 0xa1e1, 0x3000 }, - { 0x8700, 0xa1df, 0x2000 }, - { 0x0700, 0xa1de, 0x0000 }, - { 0x0700, 0xa1e0, 0x0000 }, - { 0x8700, 0xa1e3, 0x2000 }, - { 0x0700, 0xa1e2, 0x0000 }, - { 0x0700, 0xa1e4, 0x0000 }, - { 0x8700, 0xa1e9, 0x3000 }, - { 0x8700, 0xa1e7, 0x2000 }, - { 0x0700, 0xa1e6, 0x0000 }, - { 0x0700, 0xa1e8, 0x0000 }, - { 0x8700, 0xa1eb, 0x2000 }, - { 0x0700, 0xa1ea, 0x0000 }, - { 0x0700, 0xa1ec, 0x0000 }, - { 0x8700, 0xa1fd, 0x5000 }, - { 0x8700, 0xa1f5, 0x4000 }, - { 0x8700, 0xa1f1, 0x3000 }, - { 0x8700, 0xa1ef, 0x2000 }, - { 0x0700, 0xa1ee, 0x0000 }, - { 0x0700, 0xa1f0, 0x0000 }, - { 0x8700, 0xa1f3, 0x2000 }, - { 0x0700, 0xa1f2, 0x0000 }, - { 0x0700, 0xa1f4, 0x0000 }, - { 0x8700, 0xa1f9, 0x3000 }, - { 0x8700, 0xa1f7, 0x2000 }, - { 0x0700, 0xa1f6, 0x0000 }, - { 0x0700, 0xa1f8, 0x0000 }, - { 0x8700, 0xa1fb, 0x2000 }, - { 0x0700, 0xa1fa, 0x0000 }, - { 0x0700, 0xa1fc, 0x0000 }, - { 0x8700, 0xa205, 0x4000 }, - { 0x8700, 0xa201, 0x3000 }, - { 0x8700, 0xa1ff, 0x2000 }, - { 0x0700, 0xa1fe, 0x0000 }, - { 0x0700, 0xa200, 0x0000 }, - { 0x8700, 0xa203, 0x2000 }, - { 0x0700, 0xa202, 0x0000 }, - { 0x0700, 0xa204, 0x0000 }, - { 0x8700, 0xa209, 0x3000 }, - { 0x8700, 0xa207, 0x2000 }, - { 0x0700, 0xa206, 0x0000 }, - { 0x0700, 0xa208, 0x0000 }, - { 0x8700, 0xa20b, 0x2000 }, - { 0x0700, 0xa20a, 0x0000 }, - { 0x0700, 0xa20c, 0x0000 }, - { 0x8700, 0xa22d, 0x6000 }, - { 0x8700, 0xa21d, 0x5000 }, - { 0x8700, 0xa215, 0x4000 }, - { 0x8700, 0xa211, 0x3000 }, - { 0x8700, 0xa20f, 0x2000 }, - { 0x0700, 0xa20e, 0x0000 }, - { 0x0700, 0xa210, 0x0000 }, - { 0x8700, 0xa213, 0x2000 }, - { 0x0700, 0xa212, 0x0000 }, - { 0x0700, 0xa214, 0x0000 }, - { 0x8700, 0xa219, 0x3000 }, - { 0x8700, 0xa217, 0x2000 }, - { 0x0700, 0xa216, 0x0000 }, - { 0x0700, 0xa218, 0x0000 }, - { 0x8700, 0xa21b, 0x2000 }, - { 0x0700, 0xa21a, 0x0000 }, - { 0x0700, 0xa21c, 0x0000 }, - { 0x8700, 0xa225, 0x4000 }, - { 0x8700, 0xa221, 0x3000 }, - { 0x8700, 0xa21f, 0x2000 }, - { 0x0700, 0xa21e, 0x0000 }, - { 0x0700, 0xa220, 0x0000 }, - { 0x8700, 0xa223, 0x2000 }, - { 0x0700, 0xa222, 0x0000 }, - { 0x0700, 0xa224, 0x0000 }, - { 0x8700, 0xa229, 0x3000 }, - { 0x8700, 0xa227, 0x2000 }, - { 0x0700, 0xa226, 0x0000 }, - { 0x0700, 0xa228, 0x0000 }, - { 0x8700, 0xa22b, 0x2000 }, - { 0x0700, 0xa22a, 0x0000 }, - { 0x0700, 0xa22c, 0x0000 }, - { 0x8700, 0xa23d, 0x5000 }, - { 0x8700, 0xa235, 0x4000 }, - { 0x8700, 0xa231, 0x3000 }, - { 0x8700, 0xa22f, 0x2000 }, - { 0x0700, 0xa22e, 0x0000 }, - { 0x0700, 0xa230, 0x0000 }, - { 0x8700, 0xa233, 0x2000 }, - { 0x0700, 0xa232, 0x0000 }, - { 0x0700, 0xa234, 0x0000 }, - { 0x8700, 0xa239, 0x3000 }, - { 0x8700, 0xa237, 0x2000 }, - { 0x0700, 0xa236, 0x0000 }, - { 0x0700, 0xa238, 0x0000 }, - { 0x8700, 0xa23b, 0x2000 }, - { 0x0700, 0xa23a, 0x0000 }, - { 0x0700, 0xa23c, 0x0000 }, - { 0x8700, 0xa245, 0x4000 }, - { 0x8700, 0xa241, 0x3000 }, - { 0x8700, 0xa23f, 0x2000 }, - { 0x0700, 0xa23e, 0x0000 }, - { 0x0700, 0xa240, 0x0000 }, - { 0x8700, 0xa243, 0x2000 }, - { 0x0700, 0xa242, 0x0000 }, - { 0x0700, 0xa244, 0x0000 }, - { 0x8700, 0xa249, 0x3000 }, - { 0x8700, 0xa247, 0x2000 }, - { 0x0700, 0xa246, 0x0000 }, - { 0x0700, 0xa248, 0x0000 }, - { 0x8700, 0xa24b, 0x2000 }, - { 0x0700, 0xa24a, 0x0000 }, - { 0x0700, 0xa24c, 0x0000 }, - { 0x8700, 0xa2cd, 0x8000 }, - { 0x8700, 0xa28d, 0x7000 }, - { 0x8700, 0xa26d, 0x6000 }, - { 0x8700, 0xa25d, 0x5000 }, - { 0x8700, 0xa255, 0x4000 }, - { 0x8700, 0xa251, 0x3000 }, - { 0x8700, 0xa24f, 0x2000 }, - { 0x0700, 0xa24e, 0x0000 }, - { 0x0700, 0xa250, 0x0000 }, - { 0x8700, 0xa253, 0x2000 }, - { 0x0700, 0xa252, 0x0000 }, - { 0x0700, 0xa254, 0x0000 }, - { 0x8700, 0xa259, 0x3000 }, - { 0x8700, 0xa257, 0x2000 }, - { 0x0700, 0xa256, 0x0000 }, - { 0x0700, 0xa258, 0x0000 }, - { 0x8700, 0xa25b, 0x2000 }, - { 0x0700, 0xa25a, 0x0000 }, - { 0x0700, 0xa25c, 0x0000 }, - { 0x8700, 0xa265, 0x4000 }, - { 0x8700, 0xa261, 0x3000 }, - { 0x8700, 0xa25f, 0x2000 }, - { 0x0700, 0xa25e, 0x0000 }, - { 0x0700, 0xa260, 0x0000 }, - { 0x8700, 0xa263, 0x2000 }, - { 0x0700, 0xa262, 0x0000 }, - { 0x0700, 0xa264, 0x0000 }, - { 0x8700, 0xa269, 0x3000 }, - { 0x8700, 0xa267, 0x2000 }, - { 0x0700, 0xa266, 0x0000 }, - { 0x0700, 0xa268, 0x0000 }, - { 0x8700, 0xa26b, 0x2000 }, - { 0x0700, 0xa26a, 0x0000 }, - { 0x0700, 0xa26c, 0x0000 }, - { 0x8700, 0xa27d, 0x5000 }, - { 0x8700, 0xa275, 0x4000 }, - { 0x8700, 0xa271, 0x3000 }, - { 0x8700, 0xa26f, 0x2000 }, - { 0x0700, 0xa26e, 0x0000 }, - { 0x0700, 0xa270, 0x0000 }, - { 0x8700, 0xa273, 0x2000 }, - { 0x0700, 0xa272, 0x0000 }, - { 0x0700, 0xa274, 0x0000 }, - { 0x8700, 0xa279, 0x3000 }, - { 0x8700, 0xa277, 0x2000 }, - { 0x0700, 0xa276, 0x0000 }, - { 0x0700, 0xa278, 0x0000 }, - { 0x8700, 0xa27b, 0x2000 }, - { 0x0700, 0xa27a, 0x0000 }, - { 0x0700, 0xa27c, 0x0000 }, - { 0x8700, 0xa285, 0x4000 }, - { 0x8700, 0xa281, 0x3000 }, - { 0x8700, 0xa27f, 0x2000 }, - { 0x0700, 0xa27e, 0x0000 }, - { 0x0700, 0xa280, 0x0000 }, - { 0x8700, 0xa283, 0x2000 }, - { 0x0700, 0xa282, 0x0000 }, - { 0x0700, 0xa284, 0x0000 }, - { 0x8700, 0xa289, 0x3000 }, - { 0x8700, 0xa287, 0x2000 }, - { 0x0700, 0xa286, 0x0000 }, - { 0x0700, 0xa288, 0x0000 }, - { 0x8700, 0xa28b, 0x2000 }, - { 0x0700, 0xa28a, 0x0000 }, - { 0x0700, 0xa28c, 0x0000 }, - { 0x8700, 0xa2ad, 0x6000 }, - { 0x8700, 0xa29d, 0x5000 }, - { 0x8700, 0xa295, 0x4000 }, - { 0x8700, 0xa291, 0x3000 }, - { 0x8700, 0xa28f, 0x2000 }, - { 0x0700, 0xa28e, 0x0000 }, - { 0x0700, 0xa290, 0x0000 }, - { 0x8700, 0xa293, 0x2000 }, - { 0x0700, 0xa292, 0x0000 }, - { 0x0700, 0xa294, 0x0000 }, - { 0x8700, 0xa299, 0x3000 }, - { 0x8700, 0xa297, 0x2000 }, - { 0x0700, 0xa296, 0x0000 }, - { 0x0700, 0xa298, 0x0000 }, - { 0x8700, 0xa29b, 0x2000 }, - { 0x0700, 0xa29a, 0x0000 }, - { 0x0700, 0xa29c, 0x0000 }, - { 0x8700, 0xa2a5, 0x4000 }, - { 0x8700, 0xa2a1, 0x3000 }, - { 0x8700, 0xa29f, 0x2000 }, - { 0x0700, 0xa29e, 0x0000 }, - { 0x0700, 0xa2a0, 0x0000 }, - { 0x8700, 0xa2a3, 0x2000 }, - { 0x0700, 0xa2a2, 0x0000 }, - { 0x0700, 0xa2a4, 0x0000 }, - { 0x8700, 0xa2a9, 0x3000 }, - { 0x8700, 0xa2a7, 0x2000 }, - { 0x0700, 0xa2a6, 0x0000 }, - { 0x0700, 0xa2a8, 0x0000 }, - { 0x8700, 0xa2ab, 0x2000 }, - { 0x0700, 0xa2aa, 0x0000 }, - { 0x0700, 0xa2ac, 0x0000 }, - { 0x8700, 0xa2bd, 0x5000 }, - { 0x8700, 0xa2b5, 0x4000 }, - { 0x8700, 0xa2b1, 0x3000 }, - { 0x8700, 0xa2af, 0x2000 }, - { 0x0700, 0xa2ae, 0x0000 }, - { 0x0700, 0xa2b0, 0x0000 }, - { 0x8700, 0xa2b3, 0x2000 }, - { 0x0700, 0xa2b2, 0x0000 }, - { 0x0700, 0xa2b4, 0x0000 }, - { 0x8700, 0xa2b9, 0x3000 }, - { 0x8700, 0xa2b7, 0x2000 }, - { 0x0700, 0xa2b6, 0x0000 }, - { 0x0700, 0xa2b8, 0x0000 }, - { 0x8700, 0xa2bb, 0x2000 }, - { 0x0700, 0xa2ba, 0x0000 }, - { 0x0700, 0xa2bc, 0x0000 }, - { 0x8700, 0xa2c5, 0x4000 }, - { 0x8700, 0xa2c1, 0x3000 }, - { 0x8700, 0xa2bf, 0x2000 }, - { 0x0700, 0xa2be, 0x0000 }, - { 0x0700, 0xa2c0, 0x0000 }, - { 0x8700, 0xa2c3, 0x2000 }, - { 0x0700, 0xa2c2, 0x0000 }, - { 0x0700, 0xa2c4, 0x0000 }, - { 0x8700, 0xa2c9, 0x3000 }, - { 0x8700, 0xa2c7, 0x2000 }, - { 0x0700, 0xa2c6, 0x0000 }, - { 0x0700, 0xa2c8, 0x0000 }, - { 0x8700, 0xa2cb, 0x2000 }, - { 0x0700, 0xa2ca, 0x0000 }, - { 0x0700, 0xa2cc, 0x0000 }, - { 0x8700, 0xa30d, 0x7000 }, - { 0x8700, 0xa2ed, 0x6000 }, - { 0x8700, 0xa2dd, 0x5000 }, - { 0x8700, 0xa2d5, 0x4000 }, - { 0x8700, 0xa2d1, 0x3000 }, - { 0x8700, 0xa2cf, 0x2000 }, - { 0x0700, 0xa2ce, 0x0000 }, - { 0x0700, 0xa2d0, 0x0000 }, - { 0x8700, 0xa2d3, 0x2000 }, - { 0x0700, 0xa2d2, 0x0000 }, - { 0x0700, 0xa2d4, 0x0000 }, - { 0x8700, 0xa2d9, 0x3000 }, - { 0x8700, 0xa2d7, 0x2000 }, - { 0x0700, 0xa2d6, 0x0000 }, - { 0x0700, 0xa2d8, 0x0000 }, - { 0x8700, 0xa2db, 0x2000 }, - { 0x0700, 0xa2da, 0x0000 }, - { 0x0700, 0xa2dc, 0x0000 }, - { 0x8700, 0xa2e5, 0x4000 }, - { 0x8700, 0xa2e1, 0x3000 }, - { 0x8700, 0xa2df, 0x2000 }, - { 0x0700, 0xa2de, 0x0000 }, - { 0x0700, 0xa2e0, 0x0000 }, - { 0x8700, 0xa2e3, 0x2000 }, - { 0x0700, 0xa2e2, 0x0000 }, - { 0x0700, 0xa2e4, 0x0000 }, - { 0x8700, 0xa2e9, 0x3000 }, - { 0x8700, 0xa2e7, 0x2000 }, - { 0x0700, 0xa2e6, 0x0000 }, - { 0x0700, 0xa2e8, 0x0000 }, - { 0x8700, 0xa2eb, 0x2000 }, - { 0x0700, 0xa2ea, 0x0000 }, - { 0x0700, 0xa2ec, 0x0000 }, - { 0x8700, 0xa2fd, 0x5000 }, - { 0x8700, 0xa2f5, 0x4000 }, - { 0x8700, 0xa2f1, 0x3000 }, - { 0x8700, 0xa2ef, 0x2000 }, - { 0x0700, 0xa2ee, 0x0000 }, - { 0x0700, 0xa2f0, 0x0000 }, - { 0x8700, 0xa2f3, 0x2000 }, - { 0x0700, 0xa2f2, 0x0000 }, - { 0x0700, 0xa2f4, 0x0000 }, - { 0x8700, 0xa2f9, 0x3000 }, - { 0x8700, 0xa2f7, 0x2000 }, - { 0x0700, 0xa2f6, 0x0000 }, - { 0x0700, 0xa2f8, 0x0000 }, - { 0x8700, 0xa2fb, 0x2000 }, - { 0x0700, 0xa2fa, 0x0000 }, - { 0x0700, 0xa2fc, 0x0000 }, - { 0x8700, 0xa305, 0x4000 }, - { 0x8700, 0xa301, 0x3000 }, - { 0x8700, 0xa2ff, 0x2000 }, - { 0x0700, 0xa2fe, 0x0000 }, - { 0x0700, 0xa300, 0x0000 }, - { 0x8700, 0xa303, 0x2000 }, - { 0x0700, 0xa302, 0x0000 }, - { 0x0700, 0xa304, 0x0000 }, - { 0x8700, 0xa309, 0x3000 }, - { 0x8700, 0xa307, 0x2000 }, - { 0x0700, 0xa306, 0x0000 }, - { 0x0700, 0xa308, 0x0000 }, - { 0x8700, 0xa30b, 0x2000 }, - { 0x0700, 0xa30a, 0x0000 }, - { 0x0700, 0xa30c, 0x0000 }, - { 0x8700, 0xa32d, 0x6000 }, - { 0x8700, 0xa31d, 0x5000 }, - { 0x8700, 0xa315, 0x4000 }, - { 0x8700, 0xa311, 0x3000 }, - { 0x8700, 0xa30f, 0x2000 }, - { 0x0700, 0xa30e, 0x0000 }, - { 0x0700, 0xa310, 0x0000 }, - { 0x8700, 0xa313, 0x2000 }, - { 0x0700, 0xa312, 0x0000 }, - { 0x0700, 0xa314, 0x0000 }, - { 0x8700, 0xa319, 0x3000 }, - { 0x8700, 0xa317, 0x2000 }, - { 0x0700, 0xa316, 0x0000 }, - { 0x0700, 0xa318, 0x0000 }, - { 0x8700, 0xa31b, 0x2000 }, - { 0x0700, 0xa31a, 0x0000 }, - { 0x0700, 0xa31c, 0x0000 }, - { 0x8700, 0xa325, 0x4000 }, - { 0x8700, 0xa321, 0x3000 }, - { 0x8700, 0xa31f, 0x2000 }, - { 0x0700, 0xa31e, 0x0000 }, - { 0x0700, 0xa320, 0x0000 }, - { 0x8700, 0xa323, 0x2000 }, - { 0x0700, 0xa322, 0x0000 }, - { 0x0700, 0xa324, 0x0000 }, - { 0x8700, 0xa329, 0x3000 }, - { 0x8700, 0xa327, 0x2000 }, - { 0x0700, 0xa326, 0x0000 }, - { 0x0700, 0xa328, 0x0000 }, - { 0x8700, 0xa32b, 0x2000 }, - { 0x0700, 0xa32a, 0x0000 }, - { 0x0700, 0xa32c, 0x0000 }, - { 0x8700, 0xa33d, 0x5000 }, - { 0x8700, 0xa335, 0x4000 }, - { 0x8700, 0xa331, 0x3000 }, - { 0x8700, 0xa32f, 0x2000 }, - { 0x0700, 0xa32e, 0x0000 }, - { 0x0700, 0xa330, 0x0000 }, - { 0x8700, 0xa333, 0x2000 }, - { 0x0700, 0xa332, 0x0000 }, - { 0x0700, 0xa334, 0x0000 }, - { 0x8700, 0xa339, 0x3000 }, - { 0x8700, 0xa337, 0x2000 }, - { 0x0700, 0xa336, 0x0000 }, - { 0x0700, 0xa338, 0x0000 }, - { 0x8700, 0xa33b, 0x2000 }, - { 0x0700, 0xa33a, 0x0000 }, - { 0x0700, 0xa33c, 0x0000 }, - { 0x8700, 0xa345, 0x4000 }, - { 0x8700, 0xa341, 0x3000 }, - { 0x8700, 0xa33f, 0x2000 }, - { 0x0700, 0xa33e, 0x0000 }, - { 0x0700, 0xa340, 0x0000 }, - { 0x8700, 0xa343, 0x2000 }, - { 0x0700, 0xa342, 0x0000 }, - { 0x0700, 0xa344, 0x0000 }, - { 0x8700, 0xa349, 0x3000 }, - { 0x8700, 0xa347, 0x2000 }, - { 0x0700, 0xa346, 0x0000 }, - { 0x0700, 0xa348, 0x0000 }, - { 0x8700, 0xa34b, 0x2000 }, - { 0x0700, 0xa34a, 0x0000 }, - { 0x0700, 0xa34c, 0x0000 }, - { 0x8700, 0xfc4d, 0xb000 }, - { 0x8700, 0xf97f, 0xa000 }, - { 0x8700, 0xa44d, 0x9000 }, - { 0x8700, 0xa3cd, 0x8000 }, - { 0x8700, 0xa38d, 0x7000 }, - { 0x8700, 0xa36d, 0x6000 }, - { 0x8700, 0xa35d, 0x5000 }, - { 0x8700, 0xa355, 0x4000 }, - { 0x8700, 0xa351, 0x3000 }, - { 0x8700, 0xa34f, 0x2000 }, - { 0x0700, 0xa34e, 0x0000 }, - { 0x0700, 0xa350, 0x0000 }, - { 0x8700, 0xa353, 0x2000 }, - { 0x0700, 0xa352, 0x0000 }, - { 0x0700, 0xa354, 0x0000 }, - { 0x8700, 0xa359, 0x3000 }, - { 0x8700, 0xa357, 0x2000 }, - { 0x0700, 0xa356, 0x0000 }, - { 0x0700, 0xa358, 0x0000 }, - { 0x8700, 0xa35b, 0x2000 }, - { 0x0700, 0xa35a, 0x0000 }, - { 0x0700, 0xa35c, 0x0000 }, - { 0x8700, 0xa365, 0x4000 }, - { 0x8700, 0xa361, 0x3000 }, - { 0x8700, 0xa35f, 0x2000 }, - { 0x0700, 0xa35e, 0x0000 }, - { 0x0700, 0xa360, 0x0000 }, - { 0x8700, 0xa363, 0x2000 }, - { 0x0700, 0xa362, 0x0000 }, - { 0x0700, 0xa364, 0x0000 }, - { 0x8700, 0xa369, 0x3000 }, - { 0x8700, 0xa367, 0x2000 }, - { 0x0700, 0xa366, 0x0000 }, - { 0x0700, 0xa368, 0x0000 }, - { 0x8700, 0xa36b, 0x2000 }, - { 0x0700, 0xa36a, 0x0000 }, - { 0x0700, 0xa36c, 0x0000 }, - { 0x8700, 0xa37d, 0x5000 }, - { 0x8700, 0xa375, 0x4000 }, - { 0x8700, 0xa371, 0x3000 }, - { 0x8700, 0xa36f, 0x2000 }, - { 0x0700, 0xa36e, 0x0000 }, - { 0x0700, 0xa370, 0x0000 }, - { 0x8700, 0xa373, 0x2000 }, - { 0x0700, 0xa372, 0x0000 }, - { 0x0700, 0xa374, 0x0000 }, - { 0x8700, 0xa379, 0x3000 }, - { 0x8700, 0xa377, 0x2000 }, - { 0x0700, 0xa376, 0x0000 }, - { 0x0700, 0xa378, 0x0000 }, - { 0x8700, 0xa37b, 0x2000 }, - { 0x0700, 0xa37a, 0x0000 }, - { 0x0700, 0xa37c, 0x0000 }, - { 0x8700, 0xa385, 0x4000 }, - { 0x8700, 0xa381, 0x3000 }, - { 0x8700, 0xa37f, 0x2000 }, - { 0x0700, 0xa37e, 0x0000 }, - { 0x0700, 0xa380, 0x0000 }, - { 0x8700, 0xa383, 0x2000 }, - { 0x0700, 0xa382, 0x0000 }, - { 0x0700, 0xa384, 0x0000 }, - { 0x8700, 0xa389, 0x3000 }, - { 0x8700, 0xa387, 0x2000 }, - { 0x0700, 0xa386, 0x0000 }, - { 0x0700, 0xa388, 0x0000 }, - { 0x8700, 0xa38b, 0x2000 }, - { 0x0700, 0xa38a, 0x0000 }, - { 0x0700, 0xa38c, 0x0000 }, - { 0x8700, 0xa3ad, 0x6000 }, - { 0x8700, 0xa39d, 0x5000 }, - { 0x8700, 0xa395, 0x4000 }, - { 0x8700, 0xa391, 0x3000 }, - { 0x8700, 0xa38f, 0x2000 }, - { 0x0700, 0xa38e, 0x0000 }, - { 0x0700, 0xa390, 0x0000 }, - { 0x8700, 0xa393, 0x2000 }, - { 0x0700, 0xa392, 0x0000 }, - { 0x0700, 0xa394, 0x0000 }, - { 0x8700, 0xa399, 0x3000 }, - { 0x8700, 0xa397, 0x2000 }, - { 0x0700, 0xa396, 0x0000 }, - { 0x0700, 0xa398, 0x0000 }, - { 0x8700, 0xa39b, 0x2000 }, - { 0x0700, 0xa39a, 0x0000 }, - { 0x0700, 0xa39c, 0x0000 }, - { 0x8700, 0xa3a5, 0x4000 }, - { 0x8700, 0xa3a1, 0x3000 }, - { 0x8700, 0xa39f, 0x2000 }, - { 0x0700, 0xa39e, 0x0000 }, - { 0x0700, 0xa3a0, 0x0000 }, - { 0x8700, 0xa3a3, 0x2000 }, - { 0x0700, 0xa3a2, 0x0000 }, - { 0x0700, 0xa3a4, 0x0000 }, - { 0x8700, 0xa3a9, 0x3000 }, - { 0x8700, 0xa3a7, 0x2000 }, - { 0x0700, 0xa3a6, 0x0000 }, - { 0x0700, 0xa3a8, 0x0000 }, - { 0x8700, 0xa3ab, 0x2000 }, - { 0x0700, 0xa3aa, 0x0000 }, - { 0x0700, 0xa3ac, 0x0000 }, - { 0x8700, 0xa3bd, 0x5000 }, - { 0x8700, 0xa3b5, 0x4000 }, - { 0x8700, 0xa3b1, 0x3000 }, - { 0x8700, 0xa3af, 0x2000 }, - { 0x0700, 0xa3ae, 0x0000 }, - { 0x0700, 0xa3b0, 0x0000 }, - { 0x8700, 0xa3b3, 0x2000 }, - { 0x0700, 0xa3b2, 0x0000 }, - { 0x0700, 0xa3b4, 0x0000 }, - { 0x8700, 0xa3b9, 0x3000 }, - { 0x8700, 0xa3b7, 0x2000 }, - { 0x0700, 0xa3b6, 0x0000 }, - { 0x0700, 0xa3b8, 0x0000 }, - { 0x8700, 0xa3bb, 0x2000 }, - { 0x0700, 0xa3ba, 0x0000 }, - { 0x0700, 0xa3bc, 0x0000 }, - { 0x8700, 0xa3c5, 0x4000 }, - { 0x8700, 0xa3c1, 0x3000 }, - { 0x8700, 0xa3bf, 0x2000 }, - { 0x0700, 0xa3be, 0x0000 }, - { 0x0700, 0xa3c0, 0x0000 }, - { 0x8700, 0xa3c3, 0x2000 }, - { 0x0700, 0xa3c2, 0x0000 }, - { 0x0700, 0xa3c4, 0x0000 }, - { 0x8700, 0xa3c9, 0x3000 }, - { 0x8700, 0xa3c7, 0x2000 }, - { 0x0700, 0xa3c6, 0x0000 }, - { 0x0700, 0xa3c8, 0x0000 }, - { 0x8700, 0xa3cb, 0x2000 }, - { 0x0700, 0xa3ca, 0x0000 }, - { 0x0700, 0xa3cc, 0x0000 }, - { 0x8700, 0xa40d, 0x7000 }, - { 0x8700, 0xa3ed, 0x6000 }, - { 0x8700, 0xa3dd, 0x5000 }, - { 0x8700, 0xa3d5, 0x4000 }, - { 0x8700, 0xa3d1, 0x3000 }, - { 0x8700, 0xa3cf, 0x2000 }, - { 0x0700, 0xa3ce, 0x0000 }, - { 0x0700, 0xa3d0, 0x0000 }, - { 0x8700, 0xa3d3, 0x2000 }, - { 0x0700, 0xa3d2, 0x0000 }, - { 0x0700, 0xa3d4, 0x0000 }, - { 0x8700, 0xa3d9, 0x3000 }, - { 0x8700, 0xa3d7, 0x2000 }, - { 0x0700, 0xa3d6, 0x0000 }, - { 0x0700, 0xa3d8, 0x0000 }, - { 0x8700, 0xa3db, 0x2000 }, - { 0x0700, 0xa3da, 0x0000 }, - { 0x0700, 0xa3dc, 0x0000 }, - { 0x8700, 0xa3e5, 0x4000 }, - { 0x8700, 0xa3e1, 0x3000 }, - { 0x8700, 0xa3df, 0x2000 }, - { 0x0700, 0xa3de, 0x0000 }, - { 0x0700, 0xa3e0, 0x0000 }, - { 0x8700, 0xa3e3, 0x2000 }, - { 0x0700, 0xa3e2, 0x0000 }, - { 0x0700, 0xa3e4, 0x0000 }, - { 0x8700, 0xa3e9, 0x3000 }, - { 0x8700, 0xa3e7, 0x2000 }, - { 0x0700, 0xa3e6, 0x0000 }, - { 0x0700, 0xa3e8, 0x0000 }, - { 0x8700, 0xa3eb, 0x2000 }, - { 0x0700, 0xa3ea, 0x0000 }, - { 0x0700, 0xa3ec, 0x0000 }, - { 0x8700, 0xa3fd, 0x5000 }, - { 0x8700, 0xa3f5, 0x4000 }, - { 0x8700, 0xa3f1, 0x3000 }, - { 0x8700, 0xa3ef, 0x2000 }, - { 0x0700, 0xa3ee, 0x0000 }, - { 0x0700, 0xa3f0, 0x0000 }, - { 0x8700, 0xa3f3, 0x2000 }, - { 0x0700, 0xa3f2, 0x0000 }, - { 0x0700, 0xa3f4, 0x0000 }, - { 0x8700, 0xa3f9, 0x3000 }, - { 0x8700, 0xa3f7, 0x2000 }, - { 0x0700, 0xa3f6, 0x0000 }, - { 0x0700, 0xa3f8, 0x0000 }, - { 0x8700, 0xa3fb, 0x2000 }, - { 0x0700, 0xa3fa, 0x0000 }, - { 0x0700, 0xa3fc, 0x0000 }, - { 0x8700, 0xa405, 0x4000 }, - { 0x8700, 0xa401, 0x3000 }, - { 0x8700, 0xa3ff, 0x2000 }, - { 0x0700, 0xa3fe, 0x0000 }, - { 0x0700, 0xa400, 0x0000 }, - { 0x8700, 0xa403, 0x2000 }, - { 0x0700, 0xa402, 0x0000 }, - { 0x0700, 0xa404, 0x0000 }, - { 0x8700, 0xa409, 0x3000 }, - { 0x8700, 0xa407, 0x2000 }, - { 0x0700, 0xa406, 0x0000 }, - { 0x0700, 0xa408, 0x0000 }, - { 0x8700, 0xa40b, 0x2000 }, - { 0x0700, 0xa40a, 0x0000 }, - { 0x0700, 0xa40c, 0x0000 }, - { 0x8700, 0xa42d, 0x6000 }, - { 0x8700, 0xa41d, 0x5000 }, - { 0x8700, 0xa415, 0x4000 }, - { 0x8700, 0xa411, 0x3000 }, - { 0x8700, 0xa40f, 0x2000 }, - { 0x0700, 0xa40e, 0x0000 }, - { 0x0700, 0xa410, 0x0000 }, - { 0x8700, 0xa413, 0x2000 }, - { 0x0700, 0xa412, 0x0000 }, - { 0x0700, 0xa414, 0x0000 }, - { 0x8700, 0xa419, 0x3000 }, - { 0x8700, 0xa417, 0x2000 }, - { 0x0700, 0xa416, 0x0000 }, - { 0x0700, 0xa418, 0x0000 }, - { 0x8700, 0xa41b, 0x2000 }, - { 0x0700, 0xa41a, 0x0000 }, - { 0x0700, 0xa41c, 0x0000 }, - { 0x8700, 0xa425, 0x4000 }, - { 0x8700, 0xa421, 0x3000 }, - { 0x8700, 0xa41f, 0x2000 }, - { 0x0700, 0xa41e, 0x0000 }, - { 0x0700, 0xa420, 0x0000 }, - { 0x8700, 0xa423, 0x2000 }, - { 0x0700, 0xa422, 0x0000 }, - { 0x0700, 0xa424, 0x0000 }, - { 0x8700, 0xa429, 0x3000 }, - { 0x8700, 0xa427, 0x2000 }, - { 0x0700, 0xa426, 0x0000 }, - { 0x0700, 0xa428, 0x0000 }, - { 0x8700, 0xa42b, 0x2000 }, - { 0x0700, 0xa42a, 0x0000 }, - { 0x0700, 0xa42c, 0x0000 }, - { 0x8700, 0xa43d, 0x5000 }, - { 0x8700, 0xa435, 0x4000 }, - { 0x8700, 0xa431, 0x3000 }, - { 0x8700, 0xa42f, 0x2000 }, - { 0x0700, 0xa42e, 0x0000 }, - { 0x0700, 0xa430, 0x0000 }, - { 0x8700, 0xa433, 0x2000 }, - { 0x0700, 0xa432, 0x0000 }, - { 0x0700, 0xa434, 0x0000 }, - { 0x8700, 0xa439, 0x3000 }, - { 0x8700, 0xa437, 0x2000 }, - { 0x0700, 0xa436, 0x0000 }, - { 0x0700, 0xa438, 0x0000 }, - { 0x8700, 0xa43b, 0x2000 }, - { 0x0700, 0xa43a, 0x0000 }, - { 0x0700, 0xa43c, 0x0000 }, - { 0x8700, 0xa445, 0x4000 }, - { 0x8700, 0xa441, 0x3000 }, - { 0x8700, 0xa43f, 0x2000 }, - { 0x0700, 0xa43e, 0x0000 }, - { 0x0700, 0xa440, 0x0000 }, - { 0x8700, 0xa443, 0x2000 }, - { 0x0700, 0xa442, 0x0000 }, - { 0x0700, 0xa444, 0x0000 }, - { 0x8700, 0xa449, 0x3000 }, - { 0x8700, 0xa447, 0x2000 }, - { 0x0700, 0xa446, 0x0000 }, - { 0x0700, 0xa448, 0x0000 }, - { 0x8700, 0xa44b, 0x2000 }, - { 0x0700, 0xa44a, 0x0000 }, - { 0x0700, 0xa44c, 0x0000 }, - { 0x8300, 0xf8ff, 0x8000 }, - { 0x9a00, 0xa490, 0x7000 }, - { 0x8700, 0xa46d, 0x6000 }, - { 0x8700, 0xa45d, 0x5000 }, - { 0x8700, 0xa455, 0x4000 }, - { 0x8700, 0xa451, 0x3000 }, - { 0x8700, 0xa44f, 0x2000 }, - { 0x0700, 0xa44e, 0x0000 }, - { 0x0700, 0xa450, 0x0000 }, - { 0x8700, 0xa453, 0x2000 }, - { 0x0700, 0xa452, 0x0000 }, - { 0x0700, 0xa454, 0x0000 }, - { 0x8700, 0xa459, 0x3000 }, - { 0x8700, 0xa457, 0x2000 }, - { 0x0700, 0xa456, 0x0000 }, - { 0x0700, 0xa458, 0x0000 }, - { 0x8700, 0xa45b, 0x2000 }, - { 0x0700, 0xa45a, 0x0000 }, - { 0x0700, 0xa45c, 0x0000 }, - { 0x8700, 0xa465, 0x4000 }, - { 0x8700, 0xa461, 0x3000 }, - { 0x8700, 0xa45f, 0x2000 }, - { 0x0700, 0xa45e, 0x0000 }, - { 0x0700, 0xa460, 0x0000 }, - { 0x8700, 0xa463, 0x2000 }, - { 0x0700, 0xa462, 0x0000 }, - { 0x0700, 0xa464, 0x0000 }, - { 0x8700, 0xa469, 0x3000 }, - { 0x8700, 0xa467, 0x2000 }, - { 0x0700, 0xa466, 0x0000 }, - { 0x0700, 0xa468, 0x0000 }, - { 0x8700, 0xa46b, 0x2000 }, - { 0x0700, 0xa46a, 0x0000 }, - { 0x0700, 0xa46c, 0x0000 }, - { 0x8700, 0xa47d, 0x5000 }, - { 0x8700, 0xa475, 0x4000 }, - { 0x8700, 0xa471, 0x3000 }, - { 0x8700, 0xa46f, 0x2000 }, - { 0x0700, 0xa46e, 0x0000 }, - { 0x0700, 0xa470, 0x0000 }, - { 0x8700, 0xa473, 0x2000 }, - { 0x0700, 0xa472, 0x0000 }, - { 0x0700, 0xa474, 0x0000 }, - { 0x8700, 0xa479, 0x3000 }, - { 0x8700, 0xa477, 0x2000 }, - { 0x0700, 0xa476, 0x0000 }, - { 0x0700, 0xa478, 0x0000 }, - { 0x8700, 0xa47b, 0x2000 }, - { 0x0700, 0xa47a, 0x0000 }, - { 0x0700, 0xa47c, 0x0000 }, - { 0x8700, 0xa485, 0x4000 }, - { 0x8700, 0xa481, 0x3000 }, - { 0x8700, 0xa47f, 0x2000 }, - { 0x0700, 0xa47e, 0x0000 }, - { 0x0700, 0xa480, 0x0000 }, - { 0x8700, 0xa483, 0x2000 }, - { 0x0700, 0xa482, 0x0000 }, - { 0x0700, 0xa484, 0x0000 }, - { 0x8700, 0xa489, 0x3000 }, - { 0x8700, 0xa487, 0x2000 }, - { 0x0700, 0xa486, 0x0000 }, - { 0x0700, 0xa488, 0x0000 }, - { 0x8700, 0xa48b, 0x2000 }, - { 0x0700, 0xa48a, 0x0000 }, - { 0x0700, 0xa48c, 0x0000 }, - { 0x9a00, 0xa4b0, 0x6000 }, - { 0x9a00, 0xa4a0, 0x5000 }, - { 0x9a00, 0xa498, 0x4000 }, - { 0x9a00, 0xa494, 0x3000 }, - { 0x9a00, 0xa492, 0x2000 }, - { 0x1a00, 0xa491, 0x0000 }, - { 0x1a00, 0xa493, 0x0000 }, - { 0x9a00, 0xa496, 0x2000 }, - { 0x1a00, 0xa495, 0x0000 }, - { 0x1a00, 0xa497, 0x0000 }, - { 0x9a00, 0xa49c, 0x3000 }, - { 0x9a00, 0xa49a, 0x2000 }, - { 0x1a00, 0xa499, 0x0000 }, - { 0x1a00, 0xa49b, 0x0000 }, - { 0x9a00, 0xa49e, 0x2000 }, - { 0x1a00, 0xa49d, 0x0000 }, - { 0x1a00, 0xa49f, 0x0000 }, - { 0x9a00, 0xa4a8, 0x4000 }, - { 0x9a00, 0xa4a4, 0x3000 }, - { 0x9a00, 0xa4a2, 0x2000 }, - { 0x1a00, 0xa4a1, 0x0000 }, - { 0x1a00, 0xa4a3, 0x0000 }, - { 0x9a00, 0xa4a6, 0x2000 }, - { 0x1a00, 0xa4a5, 0x0000 }, - { 0x1a00, 0xa4a7, 0x0000 }, - { 0x9a00, 0xa4ac, 0x3000 }, - { 0x9a00, 0xa4aa, 0x2000 }, - { 0x1a00, 0xa4a9, 0x0000 }, - { 0x1a00, 0xa4ab, 0x0000 }, - { 0x9a00, 0xa4ae, 0x2000 }, - { 0x1a00, 0xa4ad, 0x0000 }, - { 0x1a00, 0xa4af, 0x0000 }, - { 0x9a00, 0xa4c0, 0x5000 }, - { 0x9a00, 0xa4b8, 0x4000 }, - { 0x9a00, 0xa4b4, 0x3000 }, - { 0x9a00, 0xa4b2, 0x2000 }, - { 0x1a00, 0xa4b1, 0x0000 }, - { 0x1a00, 0xa4b3, 0x0000 }, - { 0x9a00, 0xa4b6, 0x2000 }, - { 0x1a00, 0xa4b5, 0x0000 }, - { 0x1a00, 0xa4b7, 0x0000 }, - { 0x9a00, 0xa4bc, 0x3000 }, - { 0x9a00, 0xa4ba, 0x2000 }, - { 0x1a00, 0xa4b9, 0x0000 }, - { 0x1a00, 0xa4bb, 0x0000 }, - { 0x9a00, 0xa4be, 0x2000 }, - { 0x1a00, 0xa4bd, 0x0000 }, - { 0x1a00, 0xa4bf, 0x0000 }, - { 0x8700, 0xd7a3, 0x4000 }, - { 0x9a00, 0xa4c4, 0x3000 }, - { 0x9a00, 0xa4c2, 0x2000 }, - { 0x1a00, 0xa4c1, 0x0000 }, - { 0x1a00, 0xa4c3, 0x0000 }, - { 0x9a00, 0xa4c6, 0x2000 }, - { 0x1a00, 0xa4c5, 0x0000 }, - { 0x0700, 0xac00, 0x0000 }, - { 0x8400, 0xdbff, 0x3000 }, - { 0x8400, 0xdb7f, 0x2000 }, - { 0x0400, 0xd800, 0x0000 }, - { 0x0400, 0xdb80, 0x0000 }, - { 0x8400, 0xdfff, 0x2000 }, - { 0x0400, 0xdc00, 0x0000 }, - { 0x0300, 0xe000, 0x0000 }, - { 0x8700, 0xf93f, 0x7000 }, - { 0x8700, 0xf91f, 0x6000 }, - { 0x8700, 0xf90f, 0x5000 }, - { 0x8700, 0xf907, 0x4000 }, - { 0x8700, 0xf903, 0x3000 }, - { 0x8700, 0xf901, 0x2000 }, - { 0x0700, 0xf900, 0x0000 }, - { 0x0700, 0xf902, 0x0000 }, - { 0x8700, 0xf905, 0x2000 }, - { 0x0700, 0xf904, 0x0000 }, - { 0x0700, 0xf906, 0x0000 }, - { 0x8700, 0xf90b, 0x3000 }, - { 0x8700, 0xf909, 0x2000 }, - { 0x0700, 0xf908, 0x0000 }, - { 0x0700, 0xf90a, 0x0000 }, - { 0x8700, 0xf90d, 0x2000 }, - { 0x0700, 0xf90c, 0x0000 }, - { 0x0700, 0xf90e, 0x0000 }, - { 0x8700, 0xf917, 0x4000 }, - { 0x8700, 0xf913, 0x3000 }, - { 0x8700, 0xf911, 0x2000 }, - { 0x0700, 0xf910, 0x0000 }, - { 0x0700, 0xf912, 0x0000 }, - { 0x8700, 0xf915, 0x2000 }, - { 0x0700, 0xf914, 0x0000 }, - { 0x0700, 0xf916, 0x0000 }, - { 0x8700, 0xf91b, 0x3000 }, - { 0x8700, 0xf919, 0x2000 }, - { 0x0700, 0xf918, 0x0000 }, - { 0x0700, 0xf91a, 0x0000 }, - { 0x8700, 0xf91d, 0x2000 }, - { 0x0700, 0xf91c, 0x0000 }, - { 0x0700, 0xf91e, 0x0000 }, - { 0x8700, 0xf92f, 0x5000 }, - { 0x8700, 0xf927, 0x4000 }, - { 0x8700, 0xf923, 0x3000 }, - { 0x8700, 0xf921, 0x2000 }, - { 0x0700, 0xf920, 0x0000 }, - { 0x0700, 0xf922, 0x0000 }, - { 0x8700, 0xf925, 0x2000 }, - { 0x0700, 0xf924, 0x0000 }, - { 0x0700, 0xf926, 0x0000 }, - { 0x8700, 0xf92b, 0x3000 }, - { 0x8700, 0xf929, 0x2000 }, - { 0x0700, 0xf928, 0x0000 }, - { 0x0700, 0xf92a, 0x0000 }, - { 0x8700, 0xf92d, 0x2000 }, - { 0x0700, 0xf92c, 0x0000 }, - { 0x0700, 0xf92e, 0x0000 }, - { 0x8700, 0xf937, 0x4000 }, - { 0x8700, 0xf933, 0x3000 }, - { 0x8700, 0xf931, 0x2000 }, - { 0x0700, 0xf930, 0x0000 }, - { 0x0700, 0xf932, 0x0000 }, - { 0x8700, 0xf935, 0x2000 }, - { 0x0700, 0xf934, 0x0000 }, - { 0x0700, 0xf936, 0x0000 }, - { 0x8700, 0xf93b, 0x3000 }, - { 0x8700, 0xf939, 0x2000 }, - { 0x0700, 0xf938, 0x0000 }, - { 0x0700, 0xf93a, 0x0000 }, - { 0x8700, 0xf93d, 0x2000 }, - { 0x0700, 0xf93c, 0x0000 }, - { 0x0700, 0xf93e, 0x0000 }, - { 0x8700, 0xf95f, 0x6000 }, - { 0x8700, 0xf94f, 0x5000 }, - { 0x8700, 0xf947, 0x4000 }, - { 0x8700, 0xf943, 0x3000 }, - { 0x8700, 0xf941, 0x2000 }, - { 0x0700, 0xf940, 0x0000 }, - { 0x0700, 0xf942, 0x0000 }, - { 0x8700, 0xf945, 0x2000 }, - { 0x0700, 0xf944, 0x0000 }, - { 0x0700, 0xf946, 0x0000 }, - { 0x8700, 0xf94b, 0x3000 }, - { 0x8700, 0xf949, 0x2000 }, - { 0x0700, 0xf948, 0x0000 }, - { 0x0700, 0xf94a, 0x0000 }, - { 0x8700, 0xf94d, 0x2000 }, - { 0x0700, 0xf94c, 0x0000 }, - { 0x0700, 0xf94e, 0x0000 }, - { 0x8700, 0xf957, 0x4000 }, - { 0x8700, 0xf953, 0x3000 }, - { 0x8700, 0xf951, 0x2000 }, - { 0x0700, 0xf950, 0x0000 }, - { 0x0700, 0xf952, 0x0000 }, - { 0x8700, 0xf955, 0x2000 }, - { 0x0700, 0xf954, 0x0000 }, - { 0x0700, 0xf956, 0x0000 }, - { 0x8700, 0xf95b, 0x3000 }, - { 0x8700, 0xf959, 0x2000 }, - { 0x0700, 0xf958, 0x0000 }, - { 0x0700, 0xf95a, 0x0000 }, - { 0x8700, 0xf95d, 0x2000 }, - { 0x0700, 0xf95c, 0x0000 }, - { 0x0700, 0xf95e, 0x0000 }, - { 0x8700, 0xf96f, 0x5000 }, - { 0x8700, 0xf967, 0x4000 }, - { 0x8700, 0xf963, 0x3000 }, - { 0x8700, 0xf961, 0x2000 }, - { 0x0700, 0xf960, 0x0000 }, - { 0x0700, 0xf962, 0x0000 }, - { 0x8700, 0xf965, 0x2000 }, - { 0x0700, 0xf964, 0x0000 }, - { 0x0700, 0xf966, 0x0000 }, - { 0x8700, 0xf96b, 0x3000 }, - { 0x8700, 0xf969, 0x2000 }, - { 0x0700, 0xf968, 0x0000 }, - { 0x0700, 0xf96a, 0x0000 }, - { 0x8700, 0xf96d, 0x2000 }, - { 0x0700, 0xf96c, 0x0000 }, - { 0x0700, 0xf96e, 0x0000 }, - { 0x8700, 0xf977, 0x4000 }, - { 0x8700, 0xf973, 0x3000 }, - { 0x8700, 0xf971, 0x2000 }, - { 0x0700, 0xf970, 0x0000 }, - { 0x0700, 0xf972, 0x0000 }, - { 0x8700, 0xf975, 0x2000 }, - { 0x0700, 0xf974, 0x0000 }, - { 0x0700, 0xf976, 0x0000 }, - { 0x8700, 0xf97b, 0x3000 }, - { 0x8700, 0xf979, 0x2000 }, - { 0x0700, 0xf978, 0x0000 }, - { 0x0700, 0xf97a, 0x0000 }, - { 0x8700, 0xf97d, 0x2000 }, - { 0x0700, 0xf97c, 0x0000 }, - { 0x0700, 0xf97e, 0x0000 }, - { 0x8700, 0xfb27, 0x9000 }, - { 0x8700, 0xf9ff, 0x8000 }, - { 0x8700, 0xf9bf, 0x7000 }, - { 0x8700, 0xf99f, 0x6000 }, - { 0x8700, 0xf98f, 0x5000 }, - { 0x8700, 0xf987, 0x4000 }, - { 0x8700, 0xf983, 0x3000 }, - { 0x8700, 0xf981, 0x2000 }, - { 0x0700, 0xf980, 0x0000 }, - { 0x0700, 0xf982, 0x0000 }, - { 0x8700, 0xf985, 0x2000 }, - { 0x0700, 0xf984, 0x0000 }, - { 0x0700, 0xf986, 0x0000 }, - { 0x8700, 0xf98b, 0x3000 }, - { 0x8700, 0xf989, 0x2000 }, - { 0x0700, 0xf988, 0x0000 }, - { 0x0700, 0xf98a, 0x0000 }, - { 0x8700, 0xf98d, 0x2000 }, - { 0x0700, 0xf98c, 0x0000 }, - { 0x0700, 0xf98e, 0x0000 }, - { 0x8700, 0xf997, 0x4000 }, - { 0x8700, 0xf993, 0x3000 }, - { 0x8700, 0xf991, 0x2000 }, - { 0x0700, 0xf990, 0x0000 }, - { 0x0700, 0xf992, 0x0000 }, - { 0x8700, 0xf995, 0x2000 }, - { 0x0700, 0xf994, 0x0000 }, - { 0x0700, 0xf996, 0x0000 }, - { 0x8700, 0xf99b, 0x3000 }, - { 0x8700, 0xf999, 0x2000 }, - { 0x0700, 0xf998, 0x0000 }, - { 0x0700, 0xf99a, 0x0000 }, - { 0x8700, 0xf99d, 0x2000 }, - { 0x0700, 0xf99c, 0x0000 }, - { 0x0700, 0xf99e, 0x0000 }, - { 0x8700, 0xf9af, 0x5000 }, - { 0x8700, 0xf9a7, 0x4000 }, - { 0x8700, 0xf9a3, 0x3000 }, - { 0x8700, 0xf9a1, 0x2000 }, - { 0x0700, 0xf9a0, 0x0000 }, - { 0x0700, 0xf9a2, 0x0000 }, - { 0x8700, 0xf9a5, 0x2000 }, - { 0x0700, 0xf9a4, 0x0000 }, - { 0x0700, 0xf9a6, 0x0000 }, - { 0x8700, 0xf9ab, 0x3000 }, - { 0x8700, 0xf9a9, 0x2000 }, - { 0x0700, 0xf9a8, 0x0000 }, - { 0x0700, 0xf9aa, 0x0000 }, - { 0x8700, 0xf9ad, 0x2000 }, - { 0x0700, 0xf9ac, 0x0000 }, - { 0x0700, 0xf9ae, 0x0000 }, - { 0x8700, 0xf9b7, 0x4000 }, - { 0x8700, 0xf9b3, 0x3000 }, - { 0x8700, 0xf9b1, 0x2000 }, - { 0x0700, 0xf9b0, 0x0000 }, - { 0x0700, 0xf9b2, 0x0000 }, - { 0x8700, 0xf9b5, 0x2000 }, - { 0x0700, 0xf9b4, 0x0000 }, - { 0x0700, 0xf9b6, 0x0000 }, - { 0x8700, 0xf9bb, 0x3000 }, - { 0x8700, 0xf9b9, 0x2000 }, - { 0x0700, 0xf9b8, 0x0000 }, - { 0x0700, 0xf9ba, 0x0000 }, - { 0x8700, 0xf9bd, 0x2000 }, - { 0x0700, 0xf9bc, 0x0000 }, - { 0x0700, 0xf9be, 0x0000 }, - { 0x8700, 0xf9df, 0x6000 }, - { 0x8700, 0xf9cf, 0x5000 }, - { 0x8700, 0xf9c7, 0x4000 }, - { 0x8700, 0xf9c3, 0x3000 }, - { 0x8700, 0xf9c1, 0x2000 }, - { 0x0700, 0xf9c0, 0x0000 }, - { 0x0700, 0xf9c2, 0x0000 }, - { 0x8700, 0xf9c5, 0x2000 }, - { 0x0700, 0xf9c4, 0x0000 }, - { 0x0700, 0xf9c6, 0x0000 }, - { 0x8700, 0xf9cb, 0x3000 }, - { 0x8700, 0xf9c9, 0x2000 }, - { 0x0700, 0xf9c8, 0x0000 }, - { 0x0700, 0xf9ca, 0x0000 }, - { 0x8700, 0xf9cd, 0x2000 }, - { 0x0700, 0xf9cc, 0x0000 }, - { 0x0700, 0xf9ce, 0x0000 }, - { 0x8700, 0xf9d7, 0x4000 }, - { 0x8700, 0xf9d3, 0x3000 }, - { 0x8700, 0xf9d1, 0x2000 }, - { 0x0700, 0xf9d0, 0x0000 }, - { 0x0700, 0xf9d2, 0x0000 }, - { 0x8700, 0xf9d5, 0x2000 }, - { 0x0700, 0xf9d4, 0x0000 }, - { 0x0700, 0xf9d6, 0x0000 }, - { 0x8700, 0xf9db, 0x3000 }, - { 0x8700, 0xf9d9, 0x2000 }, - { 0x0700, 0xf9d8, 0x0000 }, - { 0x0700, 0xf9da, 0x0000 }, - { 0x8700, 0xf9dd, 0x2000 }, - { 0x0700, 0xf9dc, 0x0000 }, - { 0x0700, 0xf9de, 0x0000 }, - { 0x8700, 0xf9ef, 0x5000 }, - { 0x8700, 0xf9e7, 0x4000 }, - { 0x8700, 0xf9e3, 0x3000 }, - { 0x8700, 0xf9e1, 0x2000 }, - { 0x0700, 0xf9e0, 0x0000 }, - { 0x0700, 0xf9e2, 0x0000 }, - { 0x8700, 0xf9e5, 0x2000 }, - { 0x0700, 0xf9e4, 0x0000 }, - { 0x0700, 0xf9e6, 0x0000 }, - { 0x8700, 0xf9eb, 0x3000 }, - { 0x8700, 0xf9e9, 0x2000 }, - { 0x0700, 0xf9e8, 0x0000 }, - { 0x0700, 0xf9ea, 0x0000 }, - { 0x8700, 0xf9ed, 0x2000 }, - { 0x0700, 0xf9ec, 0x0000 }, - { 0x0700, 0xf9ee, 0x0000 }, - { 0x8700, 0xf9f7, 0x4000 }, - { 0x8700, 0xf9f3, 0x3000 }, - { 0x8700, 0xf9f1, 0x2000 }, - { 0x0700, 0xf9f0, 0x0000 }, - { 0x0700, 0xf9f2, 0x0000 }, - { 0x8700, 0xf9f5, 0x2000 }, - { 0x0700, 0xf9f4, 0x0000 }, - { 0x0700, 0xf9f6, 0x0000 }, - { 0x8700, 0xf9fb, 0x3000 }, - { 0x8700, 0xf9f9, 0x2000 }, - { 0x0700, 0xf9f8, 0x0000 }, - { 0x0700, 0xf9fa, 0x0000 }, - { 0x8700, 0xf9fd, 0x2000 }, - { 0x0700, 0xf9fc, 0x0000 }, - { 0x0700, 0xf9fe, 0x0000 }, - { 0x8700, 0xfa41, 0x7000 }, - { 0x8700, 0xfa1f, 0x6000 }, - { 0x8700, 0xfa0f, 0x5000 }, - { 0x8700, 0xfa07, 0x4000 }, - { 0x8700, 0xfa03, 0x3000 }, - { 0x8700, 0xfa01, 0x2000 }, - { 0x0700, 0xfa00, 0x0000 }, - { 0x0700, 0xfa02, 0x0000 }, - { 0x8700, 0xfa05, 0x2000 }, - { 0x0700, 0xfa04, 0x0000 }, - { 0x0700, 0xfa06, 0x0000 }, - { 0x8700, 0xfa0b, 0x3000 }, - { 0x8700, 0xfa09, 0x2000 }, - { 0x0700, 0xfa08, 0x0000 }, - { 0x0700, 0xfa0a, 0x0000 }, - { 0x8700, 0xfa0d, 0x2000 }, - { 0x0700, 0xfa0c, 0x0000 }, - { 0x0700, 0xfa0e, 0x0000 }, - { 0x8700, 0xfa17, 0x4000 }, - { 0x8700, 0xfa13, 0x3000 }, - { 0x8700, 0xfa11, 0x2000 }, - { 0x0700, 0xfa10, 0x0000 }, - { 0x0700, 0xfa12, 0x0000 }, - { 0x8700, 0xfa15, 0x2000 }, - { 0x0700, 0xfa14, 0x0000 }, - { 0x0700, 0xfa16, 0x0000 }, - { 0x8700, 0xfa1b, 0x3000 }, - { 0x8700, 0xfa19, 0x2000 }, - { 0x0700, 0xfa18, 0x0000 }, - { 0x0700, 0xfa1a, 0x0000 }, - { 0x8700, 0xfa1d, 0x2000 }, - { 0x0700, 0xfa1c, 0x0000 }, - { 0x0700, 0xfa1e, 0x0000 }, - { 0x8700, 0xfa31, 0x5000 }, - { 0x8700, 0xfa27, 0x4000 }, - { 0x8700, 0xfa23, 0x3000 }, - { 0x8700, 0xfa21, 0x2000 }, - { 0x0700, 0xfa20, 0x0000 }, - { 0x0700, 0xfa22, 0x0000 }, - { 0x8700, 0xfa25, 0x2000 }, - { 0x0700, 0xfa24, 0x0000 }, - { 0x0700, 0xfa26, 0x0000 }, - { 0x8700, 0xfa2b, 0x3000 }, - { 0x8700, 0xfa29, 0x2000 }, - { 0x0700, 0xfa28, 0x0000 }, - { 0x0700, 0xfa2a, 0x0000 }, - { 0x8700, 0xfa2d, 0x2000 }, - { 0x0700, 0xfa2c, 0x0000 }, - { 0x0700, 0xfa30, 0x0000 }, - { 0x8700, 0xfa39, 0x4000 }, - { 0x8700, 0xfa35, 0x3000 }, - { 0x8700, 0xfa33, 0x2000 }, - { 0x0700, 0xfa32, 0x0000 }, - { 0x0700, 0xfa34, 0x0000 }, - { 0x8700, 0xfa37, 0x2000 }, - { 0x0700, 0xfa36, 0x0000 }, - { 0x0700, 0xfa38, 0x0000 }, - { 0x8700, 0xfa3d, 0x3000 }, - { 0x8700, 0xfa3b, 0x2000 }, - { 0x0700, 0xfa3a, 0x0000 }, - { 0x0700, 0xfa3c, 0x0000 }, - { 0x8700, 0xfa3f, 0x2000 }, - { 0x0700, 0xfa3e, 0x0000 }, - { 0x0700, 0xfa40, 0x0000 }, - { 0x8700, 0xfa61, 0x6000 }, - { 0x8700, 0xfa51, 0x5000 }, - { 0x8700, 0xfa49, 0x4000 }, - { 0x8700, 0xfa45, 0x3000 }, - { 0x8700, 0xfa43, 0x2000 }, - { 0x0700, 0xfa42, 0x0000 }, - { 0x0700, 0xfa44, 0x0000 }, - { 0x8700, 0xfa47, 0x2000 }, - { 0x0700, 0xfa46, 0x0000 }, - { 0x0700, 0xfa48, 0x0000 }, - { 0x8700, 0xfa4d, 0x3000 }, - { 0x8700, 0xfa4b, 0x2000 }, - { 0x0700, 0xfa4a, 0x0000 }, - { 0x0700, 0xfa4c, 0x0000 }, - { 0x8700, 0xfa4f, 0x2000 }, - { 0x0700, 0xfa4e, 0x0000 }, - { 0x0700, 0xfa50, 0x0000 }, - { 0x8700, 0xfa59, 0x4000 }, - { 0x8700, 0xfa55, 0x3000 }, - { 0x8700, 0xfa53, 0x2000 }, - { 0x0700, 0xfa52, 0x0000 }, - { 0x0700, 0xfa54, 0x0000 }, - { 0x8700, 0xfa57, 0x2000 }, - { 0x0700, 0xfa56, 0x0000 }, - { 0x0700, 0xfa58, 0x0000 }, - { 0x8700, 0xfa5d, 0x3000 }, - { 0x8700, 0xfa5b, 0x2000 }, - { 0x0700, 0xfa5a, 0x0000 }, - { 0x0700, 0xfa5c, 0x0000 }, - { 0x8700, 0xfa5f, 0x2000 }, - { 0x0700, 0xfa5e, 0x0000 }, - { 0x0700, 0xfa60, 0x0000 }, - { 0x8500, 0xfb06, 0x5000 }, - { 0x8700, 0xfa69, 0x4000 }, - { 0x8700, 0xfa65, 0x3000 }, - { 0x8700, 0xfa63, 0x2000 }, - { 0x0700, 0xfa62, 0x0000 }, - { 0x0700, 0xfa64, 0x0000 }, - { 0x8700, 0xfa67, 0x2000 }, - { 0x0700, 0xfa66, 0x0000 }, - { 0x0700, 0xfa68, 0x0000 }, - { 0x8500, 0xfb02, 0x3000 }, - { 0x8500, 0xfb00, 0x2000 }, - { 0x0700, 0xfa6a, 0x0000 }, - { 0x0500, 0xfb01, 0x0000 }, - { 0x8500, 0xfb04, 0x2000 }, - { 0x0500, 0xfb03, 0x0000 }, - { 0x0500, 0xfb05, 0x0000 }, - { 0x8700, 0xfb1f, 0x4000 }, - { 0x8500, 0xfb16, 0x3000 }, - { 0x8500, 0xfb14, 0x2000 }, - { 0x0500, 0xfb13, 0x0000 }, - { 0x0500, 0xfb15, 0x0000 }, - { 0x8700, 0xfb1d, 0x2000 }, - { 0x0500, 0xfb17, 0x0000 }, - { 0x0c00, 0xfb1e, 0x0000 }, - { 0x8700, 0xfb23, 0x3000 }, - { 0x8700, 0xfb21, 0x2000 }, - { 0x0700, 0xfb20, 0x0000 }, - { 0x0700, 0xfb22, 0x0000 }, - { 0x8700, 0xfb25, 0x2000 }, - { 0x0700, 0xfb24, 0x0000 }, - { 0x0700, 0xfb26, 0x0000 }, - { 0x8700, 0xfbac, 0x8000 }, - { 0x8700, 0xfb6c, 0x7000 }, - { 0x8700, 0xfb4c, 0x6000 }, - { 0x8700, 0xfb38, 0x5000 }, - { 0x8700, 0xfb2f, 0x4000 }, - { 0x8700, 0xfb2b, 0x3000 }, - { 0x9900, 0xfb29, 0x2000 }, - { 0x0700, 0xfb28, 0x0000 }, - { 0x0700, 0xfb2a, 0x0000 }, - { 0x8700, 0xfb2d, 0x2000 }, - { 0x0700, 0xfb2c, 0x0000 }, - { 0x0700, 0xfb2e, 0x0000 }, - { 0x8700, 0xfb33, 0x3000 }, - { 0x8700, 0xfb31, 0x2000 }, - { 0x0700, 0xfb30, 0x0000 }, - { 0x0700, 0xfb32, 0x0000 }, - { 0x8700, 0xfb35, 0x2000 }, - { 0x0700, 0xfb34, 0x0000 }, - { 0x0700, 0xfb36, 0x0000 }, - { 0x8700, 0xfb43, 0x4000 }, - { 0x8700, 0xfb3c, 0x3000 }, - { 0x8700, 0xfb3a, 0x2000 }, - { 0x0700, 0xfb39, 0x0000 }, - { 0x0700, 0xfb3b, 0x0000 }, - { 0x8700, 0xfb40, 0x2000 }, - { 0x0700, 0xfb3e, 0x0000 }, - { 0x0700, 0xfb41, 0x0000 }, - { 0x8700, 0xfb48, 0x3000 }, - { 0x8700, 0xfb46, 0x2000 }, - { 0x0700, 0xfb44, 0x0000 }, - { 0x0700, 0xfb47, 0x0000 }, - { 0x8700, 0xfb4a, 0x2000 }, - { 0x0700, 0xfb49, 0x0000 }, - { 0x0700, 0xfb4b, 0x0000 }, - { 0x8700, 0xfb5c, 0x5000 }, - { 0x8700, 0xfb54, 0x4000 }, - { 0x8700, 0xfb50, 0x3000 }, - { 0x8700, 0xfb4e, 0x2000 }, - { 0x0700, 0xfb4d, 0x0000 }, - { 0x0700, 0xfb4f, 0x0000 }, - { 0x8700, 0xfb52, 0x2000 }, - { 0x0700, 0xfb51, 0x0000 }, - { 0x0700, 0xfb53, 0x0000 }, - { 0x8700, 0xfb58, 0x3000 }, - { 0x8700, 0xfb56, 0x2000 }, - { 0x0700, 0xfb55, 0x0000 }, - { 0x0700, 0xfb57, 0x0000 }, - { 0x8700, 0xfb5a, 0x2000 }, - { 0x0700, 0xfb59, 0x0000 }, - { 0x0700, 0xfb5b, 0x0000 }, - { 0x8700, 0xfb64, 0x4000 }, - { 0x8700, 0xfb60, 0x3000 }, - { 0x8700, 0xfb5e, 0x2000 }, - { 0x0700, 0xfb5d, 0x0000 }, - { 0x0700, 0xfb5f, 0x0000 }, - { 0x8700, 0xfb62, 0x2000 }, - { 0x0700, 0xfb61, 0x0000 }, - { 0x0700, 0xfb63, 0x0000 }, - { 0x8700, 0xfb68, 0x3000 }, - { 0x8700, 0xfb66, 0x2000 }, - { 0x0700, 0xfb65, 0x0000 }, - { 0x0700, 0xfb67, 0x0000 }, - { 0x8700, 0xfb6a, 0x2000 }, - { 0x0700, 0xfb69, 0x0000 }, - { 0x0700, 0xfb6b, 0x0000 }, - { 0x8700, 0xfb8c, 0x6000 }, - { 0x8700, 0xfb7c, 0x5000 }, - { 0x8700, 0xfb74, 0x4000 }, - { 0x8700, 0xfb70, 0x3000 }, - { 0x8700, 0xfb6e, 0x2000 }, - { 0x0700, 0xfb6d, 0x0000 }, - { 0x0700, 0xfb6f, 0x0000 }, - { 0x8700, 0xfb72, 0x2000 }, - { 0x0700, 0xfb71, 0x0000 }, - { 0x0700, 0xfb73, 0x0000 }, - { 0x8700, 0xfb78, 0x3000 }, - { 0x8700, 0xfb76, 0x2000 }, - { 0x0700, 0xfb75, 0x0000 }, - { 0x0700, 0xfb77, 0x0000 }, - { 0x8700, 0xfb7a, 0x2000 }, - { 0x0700, 0xfb79, 0x0000 }, - { 0x0700, 0xfb7b, 0x0000 }, - { 0x8700, 0xfb84, 0x4000 }, - { 0x8700, 0xfb80, 0x3000 }, - { 0x8700, 0xfb7e, 0x2000 }, - { 0x0700, 0xfb7d, 0x0000 }, - { 0x0700, 0xfb7f, 0x0000 }, - { 0x8700, 0xfb82, 0x2000 }, - { 0x0700, 0xfb81, 0x0000 }, - { 0x0700, 0xfb83, 0x0000 }, - { 0x8700, 0xfb88, 0x3000 }, - { 0x8700, 0xfb86, 0x2000 }, - { 0x0700, 0xfb85, 0x0000 }, - { 0x0700, 0xfb87, 0x0000 }, - { 0x8700, 0xfb8a, 0x2000 }, - { 0x0700, 0xfb89, 0x0000 }, - { 0x0700, 0xfb8b, 0x0000 }, - { 0x8700, 0xfb9c, 0x5000 }, - { 0x8700, 0xfb94, 0x4000 }, - { 0x8700, 0xfb90, 0x3000 }, - { 0x8700, 0xfb8e, 0x2000 }, - { 0x0700, 0xfb8d, 0x0000 }, - { 0x0700, 0xfb8f, 0x0000 }, - { 0x8700, 0xfb92, 0x2000 }, - { 0x0700, 0xfb91, 0x0000 }, - { 0x0700, 0xfb93, 0x0000 }, - { 0x8700, 0xfb98, 0x3000 }, - { 0x8700, 0xfb96, 0x2000 }, - { 0x0700, 0xfb95, 0x0000 }, - { 0x0700, 0xfb97, 0x0000 }, - { 0x8700, 0xfb9a, 0x2000 }, - { 0x0700, 0xfb99, 0x0000 }, - { 0x0700, 0xfb9b, 0x0000 }, - { 0x8700, 0xfba4, 0x4000 }, - { 0x8700, 0xfba0, 0x3000 }, - { 0x8700, 0xfb9e, 0x2000 }, - { 0x0700, 0xfb9d, 0x0000 }, - { 0x0700, 0xfb9f, 0x0000 }, - { 0x8700, 0xfba2, 0x2000 }, - { 0x0700, 0xfba1, 0x0000 }, - { 0x0700, 0xfba3, 0x0000 }, - { 0x8700, 0xfba8, 0x3000 }, - { 0x8700, 0xfba6, 0x2000 }, - { 0x0700, 0xfba5, 0x0000 }, - { 0x0700, 0xfba7, 0x0000 }, - { 0x8700, 0xfbaa, 0x2000 }, - { 0x0700, 0xfba9, 0x0000 }, - { 0x0700, 0xfbab, 0x0000 }, - { 0x8700, 0xfc0d, 0x7000 }, - { 0x8700, 0xfbed, 0x6000 }, - { 0x8700, 0xfbdd, 0x5000 }, - { 0x8700, 0xfbd5, 0x4000 }, - { 0x8700, 0xfbb0, 0x3000 }, - { 0x8700, 0xfbae, 0x2000 }, - { 0x0700, 0xfbad, 0x0000 }, - { 0x0700, 0xfbaf, 0x0000 }, - { 0x8700, 0xfbd3, 0x2000 }, - { 0x0700, 0xfbb1, 0x0000 }, - { 0x0700, 0xfbd4, 0x0000 }, - { 0x8700, 0xfbd9, 0x3000 }, - { 0x8700, 0xfbd7, 0x2000 }, - { 0x0700, 0xfbd6, 0x0000 }, - { 0x0700, 0xfbd8, 0x0000 }, - { 0x8700, 0xfbdb, 0x2000 }, - { 0x0700, 0xfbda, 0x0000 }, - { 0x0700, 0xfbdc, 0x0000 }, - { 0x8700, 0xfbe5, 0x4000 }, - { 0x8700, 0xfbe1, 0x3000 }, - { 0x8700, 0xfbdf, 0x2000 }, - { 0x0700, 0xfbde, 0x0000 }, - { 0x0700, 0xfbe0, 0x0000 }, - { 0x8700, 0xfbe3, 0x2000 }, - { 0x0700, 0xfbe2, 0x0000 }, - { 0x0700, 0xfbe4, 0x0000 }, - { 0x8700, 0xfbe9, 0x3000 }, - { 0x8700, 0xfbe7, 0x2000 }, - { 0x0700, 0xfbe6, 0x0000 }, - { 0x0700, 0xfbe8, 0x0000 }, - { 0x8700, 0xfbeb, 0x2000 }, - { 0x0700, 0xfbea, 0x0000 }, - { 0x0700, 0xfbec, 0x0000 }, - { 0x8700, 0xfbfd, 0x5000 }, - { 0x8700, 0xfbf5, 0x4000 }, - { 0x8700, 0xfbf1, 0x3000 }, - { 0x8700, 0xfbef, 0x2000 }, - { 0x0700, 0xfbee, 0x0000 }, - { 0x0700, 0xfbf0, 0x0000 }, - { 0x8700, 0xfbf3, 0x2000 }, - { 0x0700, 0xfbf2, 0x0000 }, - { 0x0700, 0xfbf4, 0x0000 }, - { 0x8700, 0xfbf9, 0x3000 }, - { 0x8700, 0xfbf7, 0x2000 }, - { 0x0700, 0xfbf6, 0x0000 }, - { 0x0700, 0xfbf8, 0x0000 }, - { 0x8700, 0xfbfb, 0x2000 }, - { 0x0700, 0xfbfa, 0x0000 }, - { 0x0700, 0xfbfc, 0x0000 }, - { 0x8700, 0xfc05, 0x4000 }, - { 0x8700, 0xfc01, 0x3000 }, - { 0x8700, 0xfbff, 0x2000 }, - { 0x0700, 0xfbfe, 0x0000 }, - { 0x0700, 0xfc00, 0x0000 }, - { 0x8700, 0xfc03, 0x2000 }, - { 0x0700, 0xfc02, 0x0000 }, - { 0x0700, 0xfc04, 0x0000 }, - { 0x8700, 0xfc09, 0x3000 }, - { 0x8700, 0xfc07, 0x2000 }, - { 0x0700, 0xfc06, 0x0000 }, - { 0x0700, 0xfc08, 0x0000 }, - { 0x8700, 0xfc0b, 0x2000 }, - { 0x0700, 0xfc0a, 0x0000 }, - { 0x0700, 0xfc0c, 0x0000 }, - { 0x8700, 0xfc2d, 0x6000 }, - { 0x8700, 0xfc1d, 0x5000 }, - { 0x8700, 0xfc15, 0x4000 }, - { 0x8700, 0xfc11, 0x3000 }, - { 0x8700, 0xfc0f, 0x2000 }, - { 0x0700, 0xfc0e, 0x0000 }, - { 0x0700, 0xfc10, 0x0000 }, - { 0x8700, 0xfc13, 0x2000 }, - { 0x0700, 0xfc12, 0x0000 }, - { 0x0700, 0xfc14, 0x0000 }, - { 0x8700, 0xfc19, 0x3000 }, - { 0x8700, 0xfc17, 0x2000 }, - { 0x0700, 0xfc16, 0x0000 }, - { 0x0700, 0xfc18, 0x0000 }, - { 0x8700, 0xfc1b, 0x2000 }, - { 0x0700, 0xfc1a, 0x0000 }, - { 0x0700, 0xfc1c, 0x0000 }, - { 0x8700, 0xfc25, 0x4000 }, - { 0x8700, 0xfc21, 0x3000 }, - { 0x8700, 0xfc1f, 0x2000 }, - { 0x0700, 0xfc1e, 0x0000 }, - { 0x0700, 0xfc20, 0x0000 }, - { 0x8700, 0xfc23, 0x2000 }, - { 0x0700, 0xfc22, 0x0000 }, - { 0x0700, 0xfc24, 0x0000 }, - { 0x8700, 0xfc29, 0x3000 }, - { 0x8700, 0xfc27, 0x2000 }, - { 0x0700, 0xfc26, 0x0000 }, - { 0x0700, 0xfc28, 0x0000 }, - { 0x8700, 0xfc2b, 0x2000 }, - { 0x0700, 0xfc2a, 0x0000 }, - { 0x0700, 0xfc2c, 0x0000 }, - { 0x8700, 0xfc3d, 0x5000 }, - { 0x8700, 0xfc35, 0x4000 }, - { 0x8700, 0xfc31, 0x3000 }, - { 0x8700, 0xfc2f, 0x2000 }, - { 0x0700, 0xfc2e, 0x0000 }, - { 0x0700, 0xfc30, 0x0000 }, - { 0x8700, 0xfc33, 0x2000 }, - { 0x0700, 0xfc32, 0x0000 }, - { 0x0700, 0xfc34, 0x0000 }, - { 0x8700, 0xfc39, 0x3000 }, - { 0x8700, 0xfc37, 0x2000 }, - { 0x0700, 0xfc36, 0x0000 }, - { 0x0700, 0xfc38, 0x0000 }, - { 0x8700, 0xfc3b, 0x2000 }, - { 0x0700, 0xfc3a, 0x0000 }, - { 0x0700, 0xfc3c, 0x0000 }, - { 0x8700, 0xfc45, 0x4000 }, - { 0x8700, 0xfc41, 0x3000 }, - { 0x8700, 0xfc3f, 0x2000 }, - { 0x0700, 0xfc3e, 0x0000 }, - { 0x0700, 0xfc40, 0x0000 }, - { 0x8700, 0xfc43, 0x2000 }, - { 0x0700, 0xfc42, 0x0000 }, - { 0x0700, 0xfc44, 0x0000 }, - { 0x8700, 0xfc49, 0x3000 }, - { 0x8700, 0xfc47, 0x2000 }, - { 0x0700, 0xfc46, 0x0000 }, - { 0x0700, 0xfc48, 0x0000 }, - { 0x8700, 0xfc4b, 0x2000 }, - { 0x0700, 0xfc4a, 0x0000 }, - { 0x0700, 0xfc4c, 0x0000 }, - { 0x8700, 0xfeac, 0xa000 }, - { 0x8700, 0xfd5d, 0x9000 }, - { 0x8700, 0xfccd, 0x8000 }, - { 0x8700, 0xfc8d, 0x7000 }, - { 0x8700, 0xfc6d, 0x6000 }, - { 0x8700, 0xfc5d, 0x5000 }, - { 0x8700, 0xfc55, 0x4000 }, - { 0x8700, 0xfc51, 0x3000 }, - { 0x8700, 0xfc4f, 0x2000 }, - { 0x0700, 0xfc4e, 0x0000 }, - { 0x0700, 0xfc50, 0x0000 }, - { 0x8700, 0xfc53, 0x2000 }, - { 0x0700, 0xfc52, 0x0000 }, - { 0x0700, 0xfc54, 0x0000 }, - { 0x8700, 0xfc59, 0x3000 }, - { 0x8700, 0xfc57, 0x2000 }, - { 0x0700, 0xfc56, 0x0000 }, - { 0x0700, 0xfc58, 0x0000 }, - { 0x8700, 0xfc5b, 0x2000 }, - { 0x0700, 0xfc5a, 0x0000 }, - { 0x0700, 0xfc5c, 0x0000 }, - { 0x8700, 0xfc65, 0x4000 }, - { 0x8700, 0xfc61, 0x3000 }, - { 0x8700, 0xfc5f, 0x2000 }, - { 0x0700, 0xfc5e, 0x0000 }, - { 0x0700, 0xfc60, 0x0000 }, - { 0x8700, 0xfc63, 0x2000 }, - { 0x0700, 0xfc62, 0x0000 }, - { 0x0700, 0xfc64, 0x0000 }, - { 0x8700, 0xfc69, 0x3000 }, - { 0x8700, 0xfc67, 0x2000 }, - { 0x0700, 0xfc66, 0x0000 }, - { 0x0700, 0xfc68, 0x0000 }, - { 0x8700, 0xfc6b, 0x2000 }, - { 0x0700, 0xfc6a, 0x0000 }, - { 0x0700, 0xfc6c, 0x0000 }, - { 0x8700, 0xfc7d, 0x5000 }, - { 0x8700, 0xfc75, 0x4000 }, - { 0x8700, 0xfc71, 0x3000 }, - { 0x8700, 0xfc6f, 0x2000 }, - { 0x0700, 0xfc6e, 0x0000 }, - { 0x0700, 0xfc70, 0x0000 }, - { 0x8700, 0xfc73, 0x2000 }, - { 0x0700, 0xfc72, 0x0000 }, - { 0x0700, 0xfc74, 0x0000 }, - { 0x8700, 0xfc79, 0x3000 }, - { 0x8700, 0xfc77, 0x2000 }, - { 0x0700, 0xfc76, 0x0000 }, - { 0x0700, 0xfc78, 0x0000 }, - { 0x8700, 0xfc7b, 0x2000 }, - { 0x0700, 0xfc7a, 0x0000 }, - { 0x0700, 0xfc7c, 0x0000 }, - { 0x8700, 0xfc85, 0x4000 }, - { 0x8700, 0xfc81, 0x3000 }, - { 0x8700, 0xfc7f, 0x2000 }, - { 0x0700, 0xfc7e, 0x0000 }, - { 0x0700, 0xfc80, 0x0000 }, - { 0x8700, 0xfc83, 0x2000 }, - { 0x0700, 0xfc82, 0x0000 }, - { 0x0700, 0xfc84, 0x0000 }, - { 0x8700, 0xfc89, 0x3000 }, - { 0x8700, 0xfc87, 0x2000 }, - { 0x0700, 0xfc86, 0x0000 }, - { 0x0700, 0xfc88, 0x0000 }, - { 0x8700, 0xfc8b, 0x2000 }, - { 0x0700, 0xfc8a, 0x0000 }, - { 0x0700, 0xfc8c, 0x0000 }, - { 0x8700, 0xfcad, 0x6000 }, - { 0x8700, 0xfc9d, 0x5000 }, - { 0x8700, 0xfc95, 0x4000 }, - { 0x8700, 0xfc91, 0x3000 }, - { 0x8700, 0xfc8f, 0x2000 }, - { 0x0700, 0xfc8e, 0x0000 }, - { 0x0700, 0xfc90, 0x0000 }, - { 0x8700, 0xfc93, 0x2000 }, - { 0x0700, 0xfc92, 0x0000 }, - { 0x0700, 0xfc94, 0x0000 }, - { 0x8700, 0xfc99, 0x3000 }, - { 0x8700, 0xfc97, 0x2000 }, - { 0x0700, 0xfc96, 0x0000 }, - { 0x0700, 0xfc98, 0x0000 }, - { 0x8700, 0xfc9b, 0x2000 }, - { 0x0700, 0xfc9a, 0x0000 }, - { 0x0700, 0xfc9c, 0x0000 }, - { 0x8700, 0xfca5, 0x4000 }, - { 0x8700, 0xfca1, 0x3000 }, - { 0x8700, 0xfc9f, 0x2000 }, - { 0x0700, 0xfc9e, 0x0000 }, - { 0x0700, 0xfca0, 0x0000 }, - { 0x8700, 0xfca3, 0x2000 }, - { 0x0700, 0xfca2, 0x0000 }, - { 0x0700, 0xfca4, 0x0000 }, - { 0x8700, 0xfca9, 0x3000 }, - { 0x8700, 0xfca7, 0x2000 }, - { 0x0700, 0xfca6, 0x0000 }, - { 0x0700, 0xfca8, 0x0000 }, - { 0x8700, 0xfcab, 0x2000 }, - { 0x0700, 0xfcaa, 0x0000 }, - { 0x0700, 0xfcac, 0x0000 }, - { 0x8700, 0xfcbd, 0x5000 }, - { 0x8700, 0xfcb5, 0x4000 }, - { 0x8700, 0xfcb1, 0x3000 }, - { 0x8700, 0xfcaf, 0x2000 }, - { 0x0700, 0xfcae, 0x0000 }, - { 0x0700, 0xfcb0, 0x0000 }, - { 0x8700, 0xfcb3, 0x2000 }, - { 0x0700, 0xfcb2, 0x0000 }, - { 0x0700, 0xfcb4, 0x0000 }, - { 0x8700, 0xfcb9, 0x3000 }, - { 0x8700, 0xfcb7, 0x2000 }, - { 0x0700, 0xfcb6, 0x0000 }, - { 0x0700, 0xfcb8, 0x0000 }, - { 0x8700, 0xfcbb, 0x2000 }, - { 0x0700, 0xfcba, 0x0000 }, - { 0x0700, 0xfcbc, 0x0000 }, - { 0x8700, 0xfcc5, 0x4000 }, - { 0x8700, 0xfcc1, 0x3000 }, - { 0x8700, 0xfcbf, 0x2000 }, - { 0x0700, 0xfcbe, 0x0000 }, - { 0x0700, 0xfcc0, 0x0000 }, - { 0x8700, 0xfcc3, 0x2000 }, - { 0x0700, 0xfcc2, 0x0000 }, - { 0x0700, 0xfcc4, 0x0000 }, - { 0x8700, 0xfcc9, 0x3000 }, - { 0x8700, 0xfcc7, 0x2000 }, - { 0x0700, 0xfcc6, 0x0000 }, - { 0x0700, 0xfcc8, 0x0000 }, - { 0x8700, 0xfccb, 0x2000 }, - { 0x0700, 0xfcca, 0x0000 }, - { 0x0700, 0xfccc, 0x0000 }, - { 0x8700, 0xfd0d, 0x7000 }, - { 0x8700, 0xfced, 0x6000 }, - { 0x8700, 0xfcdd, 0x5000 }, - { 0x8700, 0xfcd5, 0x4000 }, - { 0x8700, 0xfcd1, 0x3000 }, - { 0x8700, 0xfccf, 0x2000 }, - { 0x0700, 0xfcce, 0x0000 }, - { 0x0700, 0xfcd0, 0x0000 }, - { 0x8700, 0xfcd3, 0x2000 }, - { 0x0700, 0xfcd2, 0x0000 }, - { 0x0700, 0xfcd4, 0x0000 }, - { 0x8700, 0xfcd9, 0x3000 }, - { 0x8700, 0xfcd7, 0x2000 }, - { 0x0700, 0xfcd6, 0x0000 }, - { 0x0700, 0xfcd8, 0x0000 }, - { 0x8700, 0xfcdb, 0x2000 }, - { 0x0700, 0xfcda, 0x0000 }, - { 0x0700, 0xfcdc, 0x0000 }, - { 0x8700, 0xfce5, 0x4000 }, - { 0x8700, 0xfce1, 0x3000 }, - { 0x8700, 0xfcdf, 0x2000 }, - { 0x0700, 0xfcde, 0x0000 }, - { 0x0700, 0xfce0, 0x0000 }, - { 0x8700, 0xfce3, 0x2000 }, - { 0x0700, 0xfce2, 0x0000 }, - { 0x0700, 0xfce4, 0x0000 }, - { 0x8700, 0xfce9, 0x3000 }, - { 0x8700, 0xfce7, 0x2000 }, - { 0x0700, 0xfce6, 0x0000 }, - { 0x0700, 0xfce8, 0x0000 }, - { 0x8700, 0xfceb, 0x2000 }, - { 0x0700, 0xfcea, 0x0000 }, - { 0x0700, 0xfcec, 0x0000 }, - { 0x8700, 0xfcfd, 0x5000 }, - { 0x8700, 0xfcf5, 0x4000 }, - { 0x8700, 0xfcf1, 0x3000 }, - { 0x8700, 0xfcef, 0x2000 }, - { 0x0700, 0xfcee, 0x0000 }, - { 0x0700, 0xfcf0, 0x0000 }, - { 0x8700, 0xfcf3, 0x2000 }, - { 0x0700, 0xfcf2, 0x0000 }, - { 0x0700, 0xfcf4, 0x0000 }, - { 0x8700, 0xfcf9, 0x3000 }, - { 0x8700, 0xfcf7, 0x2000 }, - { 0x0700, 0xfcf6, 0x0000 }, - { 0x0700, 0xfcf8, 0x0000 }, - { 0x8700, 0xfcfb, 0x2000 }, - { 0x0700, 0xfcfa, 0x0000 }, - { 0x0700, 0xfcfc, 0x0000 }, - { 0x8700, 0xfd05, 0x4000 }, - { 0x8700, 0xfd01, 0x3000 }, - { 0x8700, 0xfcff, 0x2000 }, - { 0x0700, 0xfcfe, 0x0000 }, - { 0x0700, 0xfd00, 0x0000 }, - { 0x8700, 0xfd03, 0x2000 }, - { 0x0700, 0xfd02, 0x0000 }, - { 0x0700, 0xfd04, 0x0000 }, - { 0x8700, 0xfd09, 0x3000 }, - { 0x8700, 0xfd07, 0x2000 }, - { 0x0700, 0xfd06, 0x0000 }, - { 0x0700, 0xfd08, 0x0000 }, - { 0x8700, 0xfd0b, 0x2000 }, - { 0x0700, 0xfd0a, 0x0000 }, - { 0x0700, 0xfd0c, 0x0000 }, - { 0x8700, 0xfd2d, 0x6000 }, - { 0x8700, 0xfd1d, 0x5000 }, - { 0x8700, 0xfd15, 0x4000 }, - { 0x8700, 0xfd11, 0x3000 }, - { 0x8700, 0xfd0f, 0x2000 }, - { 0x0700, 0xfd0e, 0x0000 }, - { 0x0700, 0xfd10, 0x0000 }, - { 0x8700, 0xfd13, 0x2000 }, - { 0x0700, 0xfd12, 0x0000 }, - { 0x0700, 0xfd14, 0x0000 }, - { 0x8700, 0xfd19, 0x3000 }, - { 0x8700, 0xfd17, 0x2000 }, - { 0x0700, 0xfd16, 0x0000 }, - { 0x0700, 0xfd18, 0x0000 }, - { 0x8700, 0xfd1b, 0x2000 }, - { 0x0700, 0xfd1a, 0x0000 }, - { 0x0700, 0xfd1c, 0x0000 }, - { 0x8700, 0xfd25, 0x4000 }, - { 0x8700, 0xfd21, 0x3000 }, - { 0x8700, 0xfd1f, 0x2000 }, - { 0x0700, 0xfd1e, 0x0000 }, - { 0x0700, 0xfd20, 0x0000 }, - { 0x8700, 0xfd23, 0x2000 }, - { 0x0700, 0xfd22, 0x0000 }, - { 0x0700, 0xfd24, 0x0000 }, - { 0x8700, 0xfd29, 0x3000 }, - { 0x8700, 0xfd27, 0x2000 }, - { 0x0700, 0xfd26, 0x0000 }, - { 0x0700, 0xfd28, 0x0000 }, - { 0x8700, 0xfd2b, 0x2000 }, - { 0x0700, 0xfd2a, 0x0000 }, - { 0x0700, 0xfd2c, 0x0000 }, - { 0x8700, 0xfd3d, 0x5000 }, - { 0x8700, 0xfd35, 0x4000 }, - { 0x8700, 0xfd31, 0x3000 }, - { 0x8700, 0xfd2f, 0x2000 }, - { 0x0700, 0xfd2e, 0x0000 }, - { 0x0700, 0xfd30, 0x0000 }, - { 0x8700, 0xfd33, 0x2000 }, - { 0x0700, 0xfd32, 0x0000 }, - { 0x0700, 0xfd34, 0x0000 }, - { 0x8700, 0xfd39, 0x3000 }, - { 0x8700, 0xfd37, 0x2000 }, - { 0x0700, 0xfd36, 0x0000 }, - { 0x0700, 0xfd38, 0x0000 }, - { 0x8700, 0xfd3b, 0x2000 }, - { 0x0700, 0xfd3a, 0x0000 }, - { 0x0700, 0xfd3c, 0x0000 }, - { 0x8700, 0xfd55, 0x4000 }, - { 0x8700, 0xfd51, 0x3000 }, - { 0x9200, 0xfd3f, 0x2000 }, - { 0x1600, 0xfd3e, 0x0000 }, - { 0x0700, 0xfd50, 0x0000 }, - { 0x8700, 0xfd53, 0x2000 }, - { 0x0700, 0xfd52, 0x0000 }, - { 0x0700, 0xfd54, 0x0000 }, - { 0x8700, 0xfd59, 0x3000 }, - { 0x8700, 0xfd57, 0x2000 }, - { 0x0700, 0xfd56, 0x0000 }, - { 0x0700, 0xfd58, 0x0000 }, - { 0x8700, 0xfd5b, 0x2000 }, - { 0x0700, 0xfd5a, 0x0000 }, - { 0x0700, 0xfd5c, 0x0000 }, - { 0x8c00, 0xfe09, 0x8000 }, - { 0x8700, 0xfd9f, 0x7000 }, - { 0x8700, 0xfd7d, 0x6000 }, - { 0x8700, 0xfd6d, 0x5000 }, - { 0x8700, 0xfd65, 0x4000 }, - { 0x8700, 0xfd61, 0x3000 }, - { 0x8700, 0xfd5f, 0x2000 }, - { 0x0700, 0xfd5e, 0x0000 }, - { 0x0700, 0xfd60, 0x0000 }, - { 0x8700, 0xfd63, 0x2000 }, - { 0x0700, 0xfd62, 0x0000 }, - { 0x0700, 0xfd64, 0x0000 }, - { 0x8700, 0xfd69, 0x3000 }, - { 0x8700, 0xfd67, 0x2000 }, - { 0x0700, 0xfd66, 0x0000 }, - { 0x0700, 0xfd68, 0x0000 }, - { 0x8700, 0xfd6b, 0x2000 }, - { 0x0700, 0xfd6a, 0x0000 }, - { 0x0700, 0xfd6c, 0x0000 }, - { 0x8700, 0xfd75, 0x4000 }, - { 0x8700, 0xfd71, 0x3000 }, - { 0x8700, 0xfd6f, 0x2000 }, - { 0x0700, 0xfd6e, 0x0000 }, - { 0x0700, 0xfd70, 0x0000 }, - { 0x8700, 0xfd73, 0x2000 }, - { 0x0700, 0xfd72, 0x0000 }, - { 0x0700, 0xfd74, 0x0000 }, - { 0x8700, 0xfd79, 0x3000 }, - { 0x8700, 0xfd77, 0x2000 }, - { 0x0700, 0xfd76, 0x0000 }, - { 0x0700, 0xfd78, 0x0000 }, - { 0x8700, 0xfd7b, 0x2000 }, - { 0x0700, 0xfd7a, 0x0000 }, - { 0x0700, 0xfd7c, 0x0000 }, - { 0x8700, 0xfd8d, 0x5000 }, - { 0x8700, 0xfd85, 0x4000 }, - { 0x8700, 0xfd81, 0x3000 }, - { 0x8700, 0xfd7f, 0x2000 }, - { 0x0700, 0xfd7e, 0x0000 }, - { 0x0700, 0xfd80, 0x0000 }, - { 0x8700, 0xfd83, 0x2000 }, - { 0x0700, 0xfd82, 0x0000 }, - { 0x0700, 0xfd84, 0x0000 }, - { 0x8700, 0xfd89, 0x3000 }, - { 0x8700, 0xfd87, 0x2000 }, - { 0x0700, 0xfd86, 0x0000 }, - { 0x0700, 0xfd88, 0x0000 }, - { 0x8700, 0xfd8b, 0x2000 }, - { 0x0700, 0xfd8a, 0x0000 }, - { 0x0700, 0xfd8c, 0x0000 }, - { 0x8700, 0xfd97, 0x4000 }, - { 0x8700, 0xfd93, 0x3000 }, - { 0x8700, 0xfd8f, 0x2000 }, - { 0x0700, 0xfd8e, 0x0000 }, - { 0x0700, 0xfd92, 0x0000 }, - { 0x8700, 0xfd95, 0x2000 }, - { 0x0700, 0xfd94, 0x0000 }, - { 0x0700, 0xfd96, 0x0000 }, - { 0x8700, 0xfd9b, 0x3000 }, - { 0x8700, 0xfd99, 0x2000 }, - { 0x0700, 0xfd98, 0x0000 }, - { 0x0700, 0xfd9a, 0x0000 }, - { 0x8700, 0xfd9d, 0x2000 }, - { 0x0700, 0xfd9c, 0x0000 }, - { 0x0700, 0xfd9e, 0x0000 }, - { 0x8700, 0xfdbf, 0x6000 }, - { 0x8700, 0xfdaf, 0x5000 }, - { 0x8700, 0xfda7, 0x4000 }, - { 0x8700, 0xfda3, 0x3000 }, - { 0x8700, 0xfda1, 0x2000 }, - { 0x0700, 0xfda0, 0x0000 }, - { 0x0700, 0xfda2, 0x0000 }, - { 0x8700, 0xfda5, 0x2000 }, - { 0x0700, 0xfda4, 0x0000 }, - { 0x0700, 0xfda6, 0x0000 }, - { 0x8700, 0xfdab, 0x3000 }, - { 0x8700, 0xfda9, 0x2000 }, - { 0x0700, 0xfda8, 0x0000 }, - { 0x0700, 0xfdaa, 0x0000 }, - { 0x8700, 0xfdad, 0x2000 }, - { 0x0700, 0xfdac, 0x0000 }, - { 0x0700, 0xfdae, 0x0000 }, - { 0x8700, 0xfdb7, 0x4000 }, - { 0x8700, 0xfdb3, 0x3000 }, - { 0x8700, 0xfdb1, 0x2000 }, - { 0x0700, 0xfdb0, 0x0000 }, - { 0x0700, 0xfdb2, 0x0000 }, - { 0x8700, 0xfdb5, 0x2000 }, - { 0x0700, 0xfdb4, 0x0000 }, - { 0x0700, 0xfdb6, 0x0000 }, - { 0x8700, 0xfdbb, 0x3000 }, - { 0x8700, 0xfdb9, 0x2000 }, - { 0x0700, 0xfdb8, 0x0000 }, - { 0x0700, 0xfdba, 0x0000 }, - { 0x8700, 0xfdbd, 0x2000 }, - { 0x0700, 0xfdbc, 0x0000 }, - { 0x0700, 0xfdbe, 0x0000 }, - { 0x8700, 0xfdf7, 0x5000 }, - { 0x8700, 0xfdc7, 0x4000 }, - { 0x8700, 0xfdc3, 0x3000 }, - { 0x8700, 0xfdc1, 0x2000 }, - { 0x0700, 0xfdc0, 0x0000 }, - { 0x0700, 0xfdc2, 0x0000 }, - { 0x8700, 0xfdc5, 0x2000 }, - { 0x0700, 0xfdc4, 0x0000 }, - { 0x0700, 0xfdc6, 0x0000 }, - { 0x8700, 0xfdf3, 0x3000 }, - { 0x8700, 0xfdf1, 0x2000 }, - { 0x0700, 0xfdf0, 0x0000 }, - { 0x0700, 0xfdf2, 0x0000 }, - { 0x8700, 0xfdf5, 0x2000 }, - { 0x0700, 0xfdf4, 0x0000 }, - { 0x0700, 0xfdf6, 0x0000 }, - { 0x8c00, 0xfe01, 0x4000 }, - { 0x8700, 0xfdfb, 0x3000 }, - { 0x8700, 0xfdf9, 0x2000 }, - { 0x0700, 0xfdf8, 0x0000 }, - { 0x0700, 0xfdfa, 0x0000 }, - { 0x9a00, 0xfdfd, 0x2000 }, - { 0x1700, 0xfdfc, 0x0000 }, - { 0x0c00, 0xfe00, 0x0000 }, - { 0x8c00, 0xfe05, 0x3000 }, - { 0x8c00, 0xfe03, 0x2000 }, - { 0x0c00, 0xfe02, 0x0000 }, - { 0x0c00, 0xfe04, 0x0000 }, - { 0x8c00, 0xfe07, 0x2000 }, - { 0x0c00, 0xfe06, 0x0000 }, - { 0x0c00, 0xfe08, 0x0000 }, - { 0x9900, 0xfe66, 0x7000 }, - { 0x9500, 0xfe45, 0x6000 }, - { 0x9600, 0xfe35, 0x5000 }, - { 0x8c00, 0xfe21, 0x4000 }, - { 0x8c00, 0xfe0d, 0x3000 }, - { 0x8c00, 0xfe0b, 0x2000 }, - { 0x0c00, 0xfe0a, 0x0000 }, - { 0x0c00, 0xfe0c, 0x0000 }, - { 0x8c00, 0xfe0f, 0x2000 }, - { 0x0c00, 0xfe0e, 0x0000 }, - { 0x0c00, 0xfe20, 0x0000 }, - { 0x9100, 0xfe31, 0x3000 }, - { 0x8c00, 0xfe23, 0x2000 }, - { 0x0c00, 0xfe22, 0x0000 }, - { 0x1500, 0xfe30, 0x0000 }, - { 0x9000, 0xfe33, 0x2000 }, - { 0x1100, 0xfe32, 0x0000 }, - { 0x1000, 0xfe34, 0x0000 }, - { 0x9600, 0xfe3d, 0x4000 }, - { 0x9600, 0xfe39, 0x3000 }, - { 0x9600, 0xfe37, 0x2000 }, - { 0x1200, 0xfe36, 0x0000 }, - { 0x1200, 0xfe38, 0x0000 }, - { 0x9600, 0xfe3b, 0x2000 }, - { 0x1200, 0xfe3a, 0x0000 }, - { 0x1200, 0xfe3c, 0x0000 }, - { 0x9600, 0xfe41, 0x3000 }, - { 0x9600, 0xfe3f, 0x2000 }, - { 0x1200, 0xfe3e, 0x0000 }, - { 0x1200, 0xfe40, 0x0000 }, - { 0x9600, 0xfe43, 0x2000 }, - { 0x1200, 0xfe42, 0x0000 }, - { 0x1200, 0xfe44, 0x0000 }, - { 0x9500, 0xfe56, 0x5000 }, - { 0x9000, 0xfe4d, 0x4000 }, - { 0x9500, 0xfe49, 0x3000 }, - { 0x9600, 0xfe47, 0x2000 }, - { 0x1500, 0xfe46, 0x0000 }, - { 0x1200, 0xfe48, 0x0000 }, - { 0x9500, 0xfe4b, 0x2000 }, - { 0x1500, 0xfe4a, 0x0000 }, - { 0x1500, 0xfe4c, 0x0000 }, - { 0x9500, 0xfe51, 0x3000 }, - { 0x9000, 0xfe4f, 0x2000 }, - { 0x1000, 0xfe4e, 0x0000 }, - { 0x1500, 0xfe50, 0x0000 }, - { 0x9500, 0xfe54, 0x2000 }, - { 0x1500, 0xfe52, 0x0000 }, - { 0x1500, 0xfe55, 0x0000 }, - { 0x9200, 0xfe5e, 0x4000 }, - { 0x9200, 0xfe5a, 0x3000 }, - { 0x9100, 0xfe58, 0x2000 }, - { 0x1500, 0xfe57, 0x0000 }, - { 0x1600, 0xfe59, 0x0000 }, - { 0x9200, 0xfe5c, 0x2000 }, - { 0x1600, 0xfe5b, 0x0000 }, - { 0x1600, 0xfe5d, 0x0000 }, - { 0x9900, 0xfe62, 0x3000 }, - { 0x9500, 0xfe60, 0x2000 }, - { 0x1500, 0xfe5f, 0x0000 }, - { 0x1500, 0xfe61, 0x0000 }, - { 0x9900, 0xfe64, 0x2000 }, - { 0x1100, 0xfe63, 0x0000 }, - { 0x1900, 0xfe65, 0x0000 }, - { 0x8700, 0xfe8c, 0x6000 }, - { 0x8700, 0xfe7c, 0x5000 }, - { 0x8700, 0xfe73, 0x4000 }, - { 0x9500, 0xfe6b, 0x3000 }, - { 0x9700, 0xfe69, 0x2000 }, - { 0x1500, 0xfe68, 0x0000 }, - { 0x1500, 0xfe6a, 0x0000 }, - { 0x8700, 0xfe71, 0x2000 }, - { 0x0700, 0xfe70, 0x0000 }, - { 0x0700, 0xfe72, 0x0000 }, - { 0x8700, 0xfe78, 0x3000 }, - { 0x8700, 0xfe76, 0x2000 }, - { 0x0700, 0xfe74, 0x0000 }, - { 0x0700, 0xfe77, 0x0000 }, - { 0x8700, 0xfe7a, 0x2000 }, - { 0x0700, 0xfe79, 0x0000 }, - { 0x0700, 0xfe7b, 0x0000 }, - { 0x8700, 0xfe84, 0x4000 }, - { 0x8700, 0xfe80, 0x3000 }, - { 0x8700, 0xfe7e, 0x2000 }, - { 0x0700, 0xfe7d, 0x0000 }, - { 0x0700, 0xfe7f, 0x0000 }, - { 0x8700, 0xfe82, 0x2000 }, - { 0x0700, 0xfe81, 0x0000 }, - { 0x0700, 0xfe83, 0x0000 }, - { 0x8700, 0xfe88, 0x3000 }, - { 0x8700, 0xfe86, 0x2000 }, - { 0x0700, 0xfe85, 0x0000 }, - { 0x0700, 0xfe87, 0x0000 }, - { 0x8700, 0xfe8a, 0x2000 }, - { 0x0700, 0xfe89, 0x0000 }, - { 0x0700, 0xfe8b, 0x0000 }, - { 0x8700, 0xfe9c, 0x5000 }, - { 0x8700, 0xfe94, 0x4000 }, - { 0x8700, 0xfe90, 0x3000 }, - { 0x8700, 0xfe8e, 0x2000 }, - { 0x0700, 0xfe8d, 0x0000 }, - { 0x0700, 0xfe8f, 0x0000 }, - { 0x8700, 0xfe92, 0x2000 }, - { 0x0700, 0xfe91, 0x0000 }, - { 0x0700, 0xfe93, 0x0000 }, - { 0x8700, 0xfe98, 0x3000 }, - { 0x8700, 0xfe96, 0x2000 }, - { 0x0700, 0xfe95, 0x0000 }, - { 0x0700, 0xfe97, 0x0000 }, - { 0x8700, 0xfe9a, 0x2000 }, - { 0x0700, 0xfe99, 0x0000 }, - { 0x0700, 0xfe9b, 0x0000 }, - { 0x8700, 0xfea4, 0x4000 }, - { 0x8700, 0xfea0, 0x3000 }, - { 0x8700, 0xfe9e, 0x2000 }, - { 0x0700, 0xfe9d, 0x0000 }, - { 0x0700, 0xfe9f, 0x0000 }, - { 0x8700, 0xfea2, 0x2000 }, - { 0x0700, 0xfea1, 0x0000 }, - { 0x0700, 0xfea3, 0x0000 }, - { 0x8700, 0xfea8, 0x3000 }, - { 0x8700, 0xfea6, 0x2000 }, - { 0x0700, 0xfea5, 0x0000 }, - { 0x0700, 0xfea7, 0x0000 }, - { 0x8700, 0xfeaa, 0x2000 }, - { 0x0700, 0xfea9, 0x0000 }, - { 0x0700, 0xfeab, 0x0000 }, - { 0x8700, 0xffaf, 0x9000 }, - { 0x8900, 0xff2f, 0x8020 }, - { 0x8700, 0xfeec, 0x7000 }, - { 0x8700, 0xfecc, 0x6000 }, - { 0x8700, 0xfebc, 0x5000 }, - { 0x8700, 0xfeb4, 0x4000 }, - { 0x8700, 0xfeb0, 0x3000 }, - { 0x8700, 0xfeae, 0x2000 }, - { 0x0700, 0xfead, 0x0000 }, - { 0x0700, 0xfeaf, 0x0000 }, - { 0x8700, 0xfeb2, 0x2000 }, - { 0x0700, 0xfeb1, 0x0000 }, - { 0x0700, 0xfeb3, 0x0000 }, - { 0x8700, 0xfeb8, 0x3000 }, - { 0x8700, 0xfeb6, 0x2000 }, - { 0x0700, 0xfeb5, 0x0000 }, - { 0x0700, 0xfeb7, 0x0000 }, - { 0x8700, 0xfeba, 0x2000 }, - { 0x0700, 0xfeb9, 0x0000 }, - { 0x0700, 0xfebb, 0x0000 }, - { 0x8700, 0xfec4, 0x4000 }, - { 0x8700, 0xfec0, 0x3000 }, - { 0x8700, 0xfebe, 0x2000 }, - { 0x0700, 0xfebd, 0x0000 }, - { 0x0700, 0xfebf, 0x0000 }, - { 0x8700, 0xfec2, 0x2000 }, - { 0x0700, 0xfec1, 0x0000 }, - { 0x0700, 0xfec3, 0x0000 }, - { 0x8700, 0xfec8, 0x3000 }, - { 0x8700, 0xfec6, 0x2000 }, - { 0x0700, 0xfec5, 0x0000 }, - { 0x0700, 0xfec7, 0x0000 }, - { 0x8700, 0xfeca, 0x2000 }, - { 0x0700, 0xfec9, 0x0000 }, - { 0x0700, 0xfecb, 0x0000 }, - { 0x8700, 0xfedc, 0x5000 }, - { 0x8700, 0xfed4, 0x4000 }, - { 0x8700, 0xfed0, 0x3000 }, - { 0x8700, 0xfece, 0x2000 }, - { 0x0700, 0xfecd, 0x0000 }, - { 0x0700, 0xfecf, 0x0000 }, - { 0x8700, 0xfed2, 0x2000 }, - { 0x0700, 0xfed1, 0x0000 }, - { 0x0700, 0xfed3, 0x0000 }, - { 0x8700, 0xfed8, 0x3000 }, - { 0x8700, 0xfed6, 0x2000 }, - { 0x0700, 0xfed5, 0x0000 }, - { 0x0700, 0xfed7, 0x0000 }, - { 0x8700, 0xfeda, 0x2000 }, - { 0x0700, 0xfed9, 0x0000 }, - { 0x0700, 0xfedb, 0x0000 }, - { 0x8700, 0xfee4, 0x4000 }, - { 0x8700, 0xfee0, 0x3000 }, - { 0x8700, 0xfede, 0x2000 }, - { 0x0700, 0xfedd, 0x0000 }, - { 0x0700, 0xfedf, 0x0000 }, - { 0x8700, 0xfee2, 0x2000 }, - { 0x0700, 0xfee1, 0x0000 }, - { 0x0700, 0xfee3, 0x0000 }, - { 0x8700, 0xfee8, 0x3000 }, - { 0x8700, 0xfee6, 0x2000 }, - { 0x0700, 0xfee5, 0x0000 }, - { 0x0700, 0xfee7, 0x0000 }, - { 0x8700, 0xfeea, 0x2000 }, - { 0x0700, 0xfee9, 0x0000 }, - { 0x0700, 0xfeeb, 0x0000 }, - { 0x9500, 0xff0f, 0x6000 }, - { 0x8700, 0xfefc, 0x5000 }, - { 0x8700, 0xfef4, 0x4000 }, - { 0x8700, 0xfef0, 0x3000 }, - { 0x8700, 0xfeee, 0x2000 }, - { 0x0700, 0xfeed, 0x0000 }, - { 0x0700, 0xfeef, 0x0000 }, - { 0x8700, 0xfef2, 0x2000 }, - { 0x0700, 0xfef1, 0x0000 }, - { 0x0700, 0xfef3, 0x0000 }, - { 0x8700, 0xfef8, 0x3000 }, - { 0x8700, 0xfef6, 0x2000 }, - { 0x0700, 0xfef5, 0x0000 }, - { 0x0700, 0xfef7, 0x0000 }, - { 0x8700, 0xfefa, 0x2000 }, - { 0x0700, 0xfef9, 0x0000 }, - { 0x0700, 0xfefb, 0x0000 }, - { 0x9500, 0xff07, 0x4000 }, - { 0x9500, 0xff03, 0x3000 }, - { 0x9500, 0xff01, 0x2000 }, - { 0x0100, 0xfeff, 0x0000 }, - { 0x1500, 0xff02, 0x0000 }, - { 0x9500, 0xff05, 0x2000 }, - { 0x1700, 0xff04, 0x0000 }, - { 0x1500, 0xff06, 0x0000 }, - { 0x9900, 0xff0b, 0x3000 }, - { 0x9200, 0xff09, 0x2000 }, - { 0x1600, 0xff08, 0x0000 }, - { 0x1500, 0xff0a, 0x0000 }, - { 0x9100, 0xff0d, 0x2000 }, - { 0x1500, 0xff0c, 0x0000 }, - { 0x1500, 0xff0e, 0x0000 }, - { 0x9500, 0xff1f, 0x5000 }, - { 0x8d00, 0xff17, 0x4000 }, - { 0x8d00, 0xff13, 0x3000 }, - { 0x8d00, 0xff11, 0x2000 }, - { 0x0d00, 0xff10, 0x0000 }, - { 0x0d00, 0xff12, 0x0000 }, - { 0x8d00, 0xff15, 0x2000 }, - { 0x0d00, 0xff14, 0x0000 }, - { 0x0d00, 0xff16, 0x0000 }, - { 0x9500, 0xff1b, 0x3000 }, - { 0x8d00, 0xff19, 0x2000 }, - { 0x0d00, 0xff18, 0x0000 }, - { 0x1500, 0xff1a, 0x0000 }, - { 0x9900, 0xff1d, 0x2000 }, - { 0x1900, 0xff1c, 0x0000 }, - { 0x1900, 0xff1e, 0x0000 }, - { 0x8900, 0xff27, 0x4020 }, - { 0x8900, 0xff23, 0x3020 }, - { 0x8900, 0xff21, 0x2020 }, - { 0x1500, 0xff20, 0x0000 }, - { 0x0900, 0xff22, 0x0020 }, - { 0x8900, 0xff25, 0x2020 }, - { 0x0900, 0xff24, 0x0020 }, - { 0x0900, 0xff26, 0x0020 }, - { 0x8900, 0xff2b, 0x3020 }, - { 0x8900, 0xff29, 0x2020 }, - { 0x0900, 0xff28, 0x0020 }, - { 0x0900, 0xff2a, 0x0020 }, - { 0x8900, 0xff2d, 0x2020 }, - { 0x0900, 0xff2c, 0x0020 }, - { 0x0900, 0xff2e, 0x0020 }, - { 0x8700, 0xff6f, 0x7000 }, - { 0x8500, 0xff4f, 0x6fe0 }, - { 0x9000, 0xff3f, 0x5000 }, - { 0x8900, 0xff37, 0x4020 }, - { 0x8900, 0xff33, 0x3020 }, - { 0x8900, 0xff31, 0x2020 }, - { 0x0900, 0xff30, 0x0020 }, - { 0x0900, 0xff32, 0x0020 }, - { 0x8900, 0xff35, 0x2020 }, - { 0x0900, 0xff34, 0x0020 }, - { 0x0900, 0xff36, 0x0020 }, - { 0x9600, 0xff3b, 0x3000 }, - { 0x8900, 0xff39, 0x2020 }, - { 0x0900, 0xff38, 0x0020 }, - { 0x0900, 0xff3a, 0x0020 }, - { 0x9200, 0xff3d, 0x2000 }, - { 0x1500, 0xff3c, 0x0000 }, - { 0x1800, 0xff3e, 0x0000 }, - { 0x8500, 0xff47, 0x4fe0 }, - { 0x8500, 0xff43, 0x3fe0 }, - { 0x8500, 0xff41, 0x2fe0 }, - { 0x1800, 0xff40, 0x0000 }, - { 0x0500, 0xff42, 0x0fe0 }, - { 0x8500, 0xff45, 0x2fe0 }, - { 0x0500, 0xff44, 0x0fe0 }, - { 0x0500, 0xff46, 0x0fe0 }, - { 0x8500, 0xff4b, 0x3fe0 }, - { 0x8500, 0xff49, 0x2fe0 }, - { 0x0500, 0xff48, 0x0fe0 }, - { 0x0500, 0xff4a, 0x0fe0 }, - { 0x8500, 0xff4d, 0x2fe0 }, - { 0x0500, 0xff4c, 0x0fe0 }, - { 0x0500, 0xff4e, 0x0fe0 }, - { 0x9600, 0xff5f, 0x5000 }, - { 0x8500, 0xff57, 0x4fe0 }, - { 0x8500, 0xff53, 0x3fe0 }, - { 0x8500, 0xff51, 0x2fe0 }, - { 0x0500, 0xff50, 0x0fe0 }, - { 0x0500, 0xff52, 0x0fe0 }, - { 0x8500, 0xff55, 0x2fe0 }, - { 0x0500, 0xff54, 0x0fe0 }, - { 0x0500, 0xff56, 0x0fe0 }, - { 0x9600, 0xff5b, 0x3000 }, - { 0x8500, 0xff59, 0x2fe0 }, - { 0x0500, 0xff58, 0x0fe0 }, - { 0x0500, 0xff5a, 0x0fe0 }, - { 0x9200, 0xff5d, 0x2000 }, - { 0x1900, 0xff5c, 0x0000 }, - { 0x1900, 0xff5e, 0x0000 }, - { 0x8700, 0xff67, 0x4000 }, - { 0x9200, 0xff63, 0x3000 }, - { 0x9500, 0xff61, 0x2000 }, - { 0x1200, 0xff60, 0x0000 }, - { 0x1600, 0xff62, 0x0000 }, - { 0x9000, 0xff65, 0x2000 }, - { 0x1500, 0xff64, 0x0000 }, - { 0x0700, 0xff66, 0x0000 }, - { 0x8700, 0xff6b, 0x3000 }, - { 0x8700, 0xff69, 0x2000 }, - { 0x0700, 0xff68, 0x0000 }, - { 0x0700, 0xff6a, 0x0000 }, - { 0x8700, 0xff6d, 0x2000 }, - { 0x0700, 0xff6c, 0x0000 }, - { 0x0700, 0xff6e, 0x0000 }, - { 0x8700, 0xff8f, 0x6000 }, - { 0x8700, 0xff7f, 0x5000 }, - { 0x8700, 0xff77, 0x4000 }, - { 0x8700, 0xff73, 0x3000 }, - { 0x8700, 0xff71, 0x2000 }, - { 0x0600, 0xff70, 0x0000 }, - { 0x0700, 0xff72, 0x0000 }, - { 0x8700, 0xff75, 0x2000 }, - { 0x0700, 0xff74, 0x0000 }, - { 0x0700, 0xff76, 0x0000 }, - { 0x8700, 0xff7b, 0x3000 }, - { 0x8700, 0xff79, 0x2000 }, - { 0x0700, 0xff78, 0x0000 }, - { 0x0700, 0xff7a, 0x0000 }, - { 0x8700, 0xff7d, 0x2000 }, - { 0x0700, 0xff7c, 0x0000 }, - { 0x0700, 0xff7e, 0x0000 }, - { 0x8700, 0xff87, 0x4000 }, - { 0x8700, 0xff83, 0x3000 }, - { 0x8700, 0xff81, 0x2000 }, - { 0x0700, 0xff80, 0x0000 }, - { 0x0700, 0xff82, 0x0000 }, - { 0x8700, 0xff85, 0x2000 }, - { 0x0700, 0xff84, 0x0000 }, - { 0x0700, 0xff86, 0x0000 }, - { 0x8700, 0xff8b, 0x3000 }, - { 0x8700, 0xff89, 0x2000 }, - { 0x0700, 0xff88, 0x0000 }, - { 0x0700, 0xff8a, 0x0000 }, - { 0x8700, 0xff8d, 0x2000 }, - { 0x0700, 0xff8c, 0x0000 }, - { 0x0700, 0xff8e, 0x0000 }, - { 0x8600, 0xff9f, 0x5000 }, - { 0x8700, 0xff97, 0x4000 }, - { 0x8700, 0xff93, 0x3000 }, - { 0x8700, 0xff91, 0x2000 }, - { 0x0700, 0xff90, 0x0000 }, - { 0x0700, 0xff92, 0x0000 }, - { 0x8700, 0xff95, 0x2000 }, - { 0x0700, 0xff94, 0x0000 }, - { 0x0700, 0xff96, 0x0000 }, - { 0x8700, 0xff9b, 0x3000 }, - { 0x8700, 0xff99, 0x2000 }, - { 0x0700, 0xff98, 0x0000 }, - { 0x0700, 0xff9a, 0x0000 }, - { 0x8700, 0xff9d, 0x2000 }, - { 0x0700, 0xff9c, 0x0000 }, - { 0x0600, 0xff9e, 0x0000 }, - { 0x8700, 0xffa7, 0x4000 }, - { 0x8700, 0xffa3, 0x3000 }, - { 0x8700, 0xffa1, 0x2000 }, - { 0x0700, 0xffa0, 0x0000 }, - { 0x0700, 0xffa2, 0x0000 }, - { 0x8700, 0xffa5, 0x2000 }, - { 0x0700, 0xffa4, 0x0000 }, - { 0x0700, 0xffa6, 0x0000 }, - { 0x8700, 0xffab, 0x3000 }, - { 0x8700, 0xffa9, 0x2000 }, - { 0x0700, 0xffa8, 0x0000 }, - { 0x0700, 0xffaa, 0x0000 }, - { 0x8700, 0xffad, 0x2000 }, - { 0x0700, 0xffac, 0x0000 }, - { 0x0700, 0xffae, 0x0000 }, - { 0x8701, 0x004c, 0x8000 }, - { 0x8701, 0x0008, 0x7000 }, - { 0x8700, 0xffd6, 0x6000 }, - { 0x8700, 0xffc2, 0x5000 }, - { 0x8700, 0xffb7, 0x4000 }, - { 0x8700, 0xffb3, 0x3000 }, - { 0x8700, 0xffb1, 0x2000 }, - { 0x0700, 0xffb0, 0x0000 }, - { 0x0700, 0xffb2, 0x0000 }, - { 0x8700, 0xffb5, 0x2000 }, - { 0x0700, 0xffb4, 0x0000 }, - { 0x0700, 0xffb6, 0x0000 }, - { 0x8700, 0xffbb, 0x3000 }, - { 0x8700, 0xffb9, 0x2000 }, - { 0x0700, 0xffb8, 0x0000 }, - { 0x0700, 0xffba, 0x0000 }, - { 0x8700, 0xffbd, 0x2000 }, - { 0x0700, 0xffbc, 0x0000 }, - { 0x0700, 0xffbe, 0x0000 }, - { 0x8700, 0xffcc, 0x4000 }, - { 0x8700, 0xffc6, 0x3000 }, - { 0x8700, 0xffc4, 0x2000 }, - { 0x0700, 0xffc3, 0x0000 }, - { 0x0700, 0xffc5, 0x0000 }, - { 0x8700, 0xffca, 0x2000 }, - { 0x0700, 0xffc7, 0x0000 }, - { 0x0700, 0xffcb, 0x0000 }, - { 0x8700, 0xffd2, 0x3000 }, - { 0x8700, 0xffce, 0x2000 }, - { 0x0700, 0xffcd, 0x0000 }, - { 0x0700, 0xffcf, 0x0000 }, - { 0x8700, 0xffd4, 0x2000 }, - { 0x0700, 0xffd3, 0x0000 }, - { 0x0700, 0xffd5, 0x0000 }, - { 0x9900, 0xffec, 0x5000 }, - { 0x9800, 0xffe3, 0x4000 }, - { 0x8700, 0xffdc, 0x3000 }, - { 0x8700, 0xffda, 0x2000 }, - { 0x0700, 0xffd7, 0x0000 }, - { 0x0700, 0xffdb, 0x0000 }, - { 0x9700, 0xffe1, 0x2000 }, - { 0x1700, 0xffe0, 0x0000 }, - { 0x1900, 0xffe2, 0x0000 }, - { 0x9a00, 0xffe8, 0x3000 }, - { 0x9700, 0xffe5, 0x2000 }, - { 0x1a00, 0xffe4, 0x0000 }, - { 0x1700, 0xffe6, 0x0000 }, - { 0x9900, 0xffea, 0x2000 }, - { 0x1900, 0xffe9, 0x0000 }, - { 0x1900, 0xffeb, 0x0000 }, - { 0x8701, 0x0000, 0x4000 }, - { 0x8100, 0xfffa, 0x3000 }, - { 0x9a00, 0xffee, 0x2000 }, - { 0x1a00, 0xffed, 0x0000 }, - { 0x0100, 0xfff9, 0x0000 }, - { 0x9a00, 0xfffc, 0x2000 }, - { 0x0100, 0xfffb, 0x0000 }, - { 0x1a00, 0xfffd, 0x0000 }, - { 0x8701, 0x0004, 0x3000 }, - { 0x8701, 0x0002, 0x2000 }, - { 0x0701, 0x0001, 0x0000 }, - { 0x0701, 0x0003, 0x0000 }, - { 0x8701, 0x0006, 0x2000 }, - { 0x0701, 0x0005, 0x0000 }, - { 0x0701, 0x0007, 0x0000 }, - { 0x8701, 0x002a, 0x6000 }, - { 0x8701, 0x0019, 0x5000 }, - { 0x8701, 0x0011, 0x4000 }, - { 0x8701, 0x000d, 0x3000 }, - { 0x8701, 0x000a, 0x2000 }, - { 0x0701, 0x0009, 0x0000 }, - { 0x0701, 0x000b, 0x0000 }, - { 0x8701, 0x000f, 0x2000 }, - { 0x0701, 0x000e, 0x0000 }, - { 0x0701, 0x0010, 0x0000 }, - { 0x8701, 0x0015, 0x3000 }, - { 0x8701, 0x0013, 0x2000 }, - { 0x0701, 0x0012, 0x0000 }, - { 0x0701, 0x0014, 0x0000 }, - { 0x8701, 0x0017, 0x2000 }, - { 0x0701, 0x0016, 0x0000 }, - { 0x0701, 0x0018, 0x0000 }, - { 0x8701, 0x0021, 0x4000 }, - { 0x8701, 0x001d, 0x3000 }, - { 0x8701, 0x001b, 0x2000 }, - { 0x0701, 0x001a, 0x0000 }, - { 0x0701, 0x001c, 0x0000 }, - { 0x8701, 0x001f, 0x2000 }, - { 0x0701, 0x001e, 0x0000 }, - { 0x0701, 0x0020, 0x0000 }, - { 0x8701, 0x0025, 0x3000 }, - { 0x8701, 0x0023, 0x2000 }, - { 0x0701, 0x0022, 0x0000 }, - { 0x0701, 0x0024, 0x0000 }, - { 0x8701, 0x0028, 0x2000 }, - { 0x0701, 0x0026, 0x0000 }, - { 0x0701, 0x0029, 0x0000 }, - { 0x8701, 0x003a, 0x5000 }, - { 0x8701, 0x0032, 0x4000 }, - { 0x8701, 0x002e, 0x3000 }, - { 0x8701, 0x002c, 0x2000 }, - { 0x0701, 0x002b, 0x0000 }, - { 0x0701, 0x002d, 0x0000 }, - { 0x8701, 0x0030, 0x2000 }, - { 0x0701, 0x002f, 0x0000 }, - { 0x0701, 0x0031, 0x0000 }, - { 0x8701, 0x0036, 0x3000 }, - { 0x8701, 0x0034, 0x2000 }, - { 0x0701, 0x0033, 0x0000 }, - { 0x0701, 0x0035, 0x0000 }, - { 0x8701, 0x0038, 0x2000 }, - { 0x0701, 0x0037, 0x0000 }, - { 0x0701, 0x0039, 0x0000 }, - { 0x8701, 0x0044, 0x4000 }, - { 0x8701, 0x0040, 0x3000 }, - { 0x8701, 0x003d, 0x2000 }, - { 0x0701, 0x003c, 0x0000 }, - { 0x0701, 0x003f, 0x0000 }, - { 0x8701, 0x0042, 0x2000 }, - { 0x0701, 0x0041, 0x0000 }, - { 0x0701, 0x0043, 0x0000 }, - { 0x8701, 0x0048, 0x3000 }, - { 0x8701, 0x0046, 0x2000 }, - { 0x0701, 0x0045, 0x0000 }, - { 0x0701, 0x0047, 0x0000 }, - { 0x8701, 0x004a, 0x2000 }, - { 0x0701, 0x0049, 0x0000 }, - { 0x0701, 0x004b, 0x0000 }, - { 0x8701, 0x00b0, 0x7000 }, - { 0x8701, 0x0090, 0x6000 }, - { 0x8701, 0x0080, 0x5000 }, - { 0x8701, 0x0056, 0x4000 }, - { 0x8701, 0x0052, 0x3000 }, - { 0x8701, 0x0050, 0x2000 }, - { 0x0701, 0x004d, 0x0000 }, - { 0x0701, 0x0051, 0x0000 }, - { 0x8701, 0x0054, 0x2000 }, - { 0x0701, 0x0053, 0x0000 }, - { 0x0701, 0x0055, 0x0000 }, - { 0x8701, 0x005a, 0x3000 }, - { 0x8701, 0x0058, 0x2000 }, - { 0x0701, 0x0057, 0x0000 }, - { 0x0701, 0x0059, 0x0000 }, - { 0x8701, 0x005c, 0x2000 }, - { 0x0701, 0x005b, 0x0000 }, - { 0x0701, 0x005d, 0x0000 }, - { 0x8701, 0x0088, 0x4000 }, - { 0x8701, 0x0084, 0x3000 }, - { 0x8701, 0x0082, 0x2000 }, - { 0x0701, 0x0081, 0x0000 }, - { 0x0701, 0x0083, 0x0000 }, - { 0x8701, 0x0086, 0x2000 }, - { 0x0701, 0x0085, 0x0000 }, - { 0x0701, 0x0087, 0x0000 }, - { 0x8701, 0x008c, 0x3000 }, - { 0x8701, 0x008a, 0x2000 }, - { 0x0701, 0x0089, 0x0000 }, - { 0x0701, 0x008b, 0x0000 }, - { 0x8701, 0x008e, 0x2000 }, - { 0x0701, 0x008d, 0x0000 }, - { 0x0701, 0x008f, 0x0000 }, - { 0x8701, 0x00a0, 0x5000 }, - { 0x8701, 0x0098, 0x4000 }, - { 0x8701, 0x0094, 0x3000 }, - { 0x8701, 0x0092, 0x2000 }, - { 0x0701, 0x0091, 0x0000 }, - { 0x0701, 0x0093, 0x0000 }, - { 0x8701, 0x0096, 0x2000 }, - { 0x0701, 0x0095, 0x0000 }, - { 0x0701, 0x0097, 0x0000 }, - { 0x8701, 0x009c, 0x3000 }, - { 0x8701, 0x009a, 0x2000 }, - { 0x0701, 0x0099, 0x0000 }, - { 0x0701, 0x009b, 0x0000 }, - { 0x8701, 0x009e, 0x2000 }, - { 0x0701, 0x009d, 0x0000 }, - { 0x0701, 0x009f, 0x0000 }, - { 0x8701, 0x00a8, 0x4000 }, - { 0x8701, 0x00a4, 0x3000 }, - { 0x8701, 0x00a2, 0x2000 }, - { 0x0701, 0x00a1, 0x0000 }, - { 0x0701, 0x00a3, 0x0000 }, - { 0x8701, 0x00a6, 0x2000 }, - { 0x0701, 0x00a5, 0x0000 }, - { 0x0701, 0x00a7, 0x0000 }, - { 0x8701, 0x00ac, 0x3000 }, - { 0x8701, 0x00aa, 0x2000 }, - { 0x0701, 0x00a9, 0x0000 }, - { 0x0701, 0x00ab, 0x0000 }, - { 0x8701, 0x00ae, 0x2000 }, - { 0x0701, 0x00ad, 0x0000 }, - { 0x0701, 0x00af, 0x0000 }, - { 0x8701, 0x00d0, 0x6000 }, - { 0x8701, 0x00c0, 0x5000 }, - { 0x8701, 0x00b8, 0x4000 }, - { 0x8701, 0x00b4, 0x3000 }, - { 0x8701, 0x00b2, 0x2000 }, - { 0x0701, 0x00b1, 0x0000 }, - { 0x0701, 0x00b3, 0x0000 }, - { 0x8701, 0x00b6, 0x2000 }, - { 0x0701, 0x00b5, 0x0000 }, - { 0x0701, 0x00b7, 0x0000 }, - { 0x8701, 0x00bc, 0x3000 }, - { 0x8701, 0x00ba, 0x2000 }, - { 0x0701, 0x00b9, 0x0000 }, - { 0x0701, 0x00bb, 0x0000 }, - { 0x8701, 0x00be, 0x2000 }, - { 0x0701, 0x00bd, 0x0000 }, - { 0x0701, 0x00bf, 0x0000 }, - { 0x8701, 0x00c8, 0x4000 }, - { 0x8701, 0x00c4, 0x3000 }, - { 0x8701, 0x00c2, 0x2000 }, - { 0x0701, 0x00c1, 0x0000 }, - { 0x0701, 0x00c3, 0x0000 }, - { 0x8701, 0x00c6, 0x2000 }, - { 0x0701, 0x00c5, 0x0000 }, - { 0x0701, 0x00c7, 0x0000 }, - { 0x8701, 0x00cc, 0x3000 }, - { 0x8701, 0x00ca, 0x2000 }, - { 0x0701, 0x00c9, 0x0000 }, - { 0x0701, 0x00cb, 0x0000 }, - { 0x8701, 0x00ce, 0x2000 }, - { 0x0701, 0x00cd, 0x0000 }, - { 0x0701, 0x00cf, 0x0000 }, - { 0x8701, 0x00e0, 0x5000 }, - { 0x8701, 0x00d8, 0x4000 }, - { 0x8701, 0x00d4, 0x3000 }, - { 0x8701, 0x00d2, 0x2000 }, - { 0x0701, 0x00d1, 0x0000 }, - { 0x0701, 0x00d3, 0x0000 }, - { 0x8701, 0x00d6, 0x2000 }, - { 0x0701, 0x00d5, 0x0000 }, - { 0x0701, 0x00d7, 0x0000 }, - { 0x8701, 0x00dc, 0x3000 }, - { 0x8701, 0x00da, 0x2000 }, - { 0x0701, 0x00d9, 0x0000 }, - { 0x0701, 0x00db, 0x0000 }, - { 0x8701, 0x00de, 0x2000 }, - { 0x0701, 0x00dd, 0x0000 }, - { 0x0701, 0x00df, 0x0000 }, - { 0x8701, 0x00e8, 0x4000 }, - { 0x8701, 0x00e4, 0x3000 }, - { 0x8701, 0x00e2, 0x2000 }, - { 0x0701, 0x00e1, 0x0000 }, - { 0x0701, 0x00e3, 0x0000 }, - { 0x8701, 0x00e6, 0x2000 }, - { 0x0701, 0x00e5, 0x0000 }, - { 0x0701, 0x00e7, 0x0000 }, - { 0x8701, 0x00ec, 0x3000 }, - { 0x8701, 0x00ea, 0x2000 }, - { 0x0701, 0x00e9, 0x0000 }, - { 0x0701, 0x00eb, 0x0000 }, - { 0x8701, 0x00ee, 0x2000 }, - { 0x0701, 0x00ed, 0x0000 }, - { 0x0701, 0x00ef, 0x0000 }, - { 0x8501, 0xd459, 0xb000 }, - { 0x9a01, 0xd080, 0xa000 }, - { 0x8701, 0x045f, 0x9000 }, - { 0x8701, 0x0349, 0x8000 }, - { 0x9a01, 0x013c, 0x7000 }, - { 0x8f01, 0x0119, 0x6000 }, - { 0x8f01, 0x0109, 0x5000 }, - { 0x8701, 0x00f8, 0x4000 }, - { 0x8701, 0x00f4, 0x3000 }, - { 0x8701, 0x00f2, 0x2000 }, - { 0x0701, 0x00f1, 0x0000 }, - { 0x0701, 0x00f3, 0x0000 }, - { 0x8701, 0x00f6, 0x2000 }, - { 0x0701, 0x00f5, 0x0000 }, - { 0x0701, 0x00f7, 0x0000 }, - { 0x9501, 0x0101, 0x3000 }, - { 0x8701, 0x00fa, 0x2000 }, - { 0x0701, 0x00f9, 0x0000 }, - { 0x1501, 0x0100, 0x0000 }, - { 0x8f01, 0x0107, 0x2000 }, - { 0x1a01, 0x0102, 0x0000 }, - { 0x0f01, 0x0108, 0x0000 }, - { 0x8f01, 0x0111, 0x4000 }, - { 0x8f01, 0x010d, 0x3000 }, - { 0x8f01, 0x010b, 0x2000 }, - { 0x0f01, 0x010a, 0x0000 }, - { 0x0f01, 0x010c, 0x0000 }, - { 0x8f01, 0x010f, 0x2000 }, - { 0x0f01, 0x010e, 0x0000 }, - { 0x0f01, 0x0110, 0x0000 }, - { 0x8f01, 0x0115, 0x3000 }, - { 0x8f01, 0x0113, 0x2000 }, - { 0x0f01, 0x0112, 0x0000 }, - { 0x0f01, 0x0114, 0x0000 }, - { 0x8f01, 0x0117, 0x2000 }, - { 0x0f01, 0x0116, 0x0000 }, - { 0x0f01, 0x0118, 0x0000 }, - { 0x8f01, 0x0129, 0x5000 }, - { 0x8f01, 0x0121, 0x4000 }, - { 0x8f01, 0x011d, 0x3000 }, - { 0x8f01, 0x011b, 0x2000 }, - { 0x0f01, 0x011a, 0x0000 }, - { 0x0f01, 0x011c, 0x0000 }, - { 0x8f01, 0x011f, 0x2000 }, - { 0x0f01, 0x011e, 0x0000 }, - { 0x0f01, 0x0120, 0x0000 }, - { 0x8f01, 0x0125, 0x3000 }, - { 0x8f01, 0x0123, 0x2000 }, - { 0x0f01, 0x0122, 0x0000 }, - { 0x0f01, 0x0124, 0x0000 }, - { 0x8f01, 0x0127, 0x2000 }, - { 0x0f01, 0x0126, 0x0000 }, - { 0x0f01, 0x0128, 0x0000 }, - { 0x8f01, 0x0131, 0x4000 }, - { 0x8f01, 0x012d, 0x3000 }, - { 0x8f01, 0x012b, 0x2000 }, - { 0x0f01, 0x012a, 0x0000 }, - { 0x0f01, 0x012c, 0x0000 }, - { 0x8f01, 0x012f, 0x2000 }, - { 0x0f01, 0x012e, 0x0000 }, - { 0x0f01, 0x0130, 0x0000 }, - { 0x9a01, 0x0138, 0x3000 }, - { 0x8f01, 0x0133, 0x2000 }, - { 0x0f01, 0x0132, 0x0000 }, - { 0x1a01, 0x0137, 0x0000 }, - { 0x9a01, 0x013a, 0x2000 }, - { 0x1a01, 0x0139, 0x0000 }, - { 0x1a01, 0x013b, 0x0000 }, - { 0x8701, 0x031c, 0x6000 }, - { 0x8701, 0x030c, 0x5000 }, - { 0x8701, 0x0304, 0x4000 }, - { 0x8701, 0x0300, 0x3000 }, - { 0x9a01, 0x013e, 0x2000 }, - { 0x1a01, 0x013d, 0x0000 }, - { 0x1a01, 0x013f, 0x0000 }, - { 0x8701, 0x0302, 0x2000 }, - { 0x0701, 0x0301, 0x0000 }, - { 0x0701, 0x0303, 0x0000 }, - { 0x8701, 0x0308, 0x3000 }, - { 0x8701, 0x0306, 0x2000 }, - { 0x0701, 0x0305, 0x0000 }, - { 0x0701, 0x0307, 0x0000 }, - { 0x8701, 0x030a, 0x2000 }, - { 0x0701, 0x0309, 0x0000 }, - { 0x0701, 0x030b, 0x0000 }, - { 0x8701, 0x0314, 0x4000 }, - { 0x8701, 0x0310, 0x3000 }, - { 0x8701, 0x030e, 0x2000 }, - { 0x0701, 0x030d, 0x0000 }, - { 0x0701, 0x030f, 0x0000 }, - { 0x8701, 0x0312, 0x2000 }, - { 0x0701, 0x0311, 0x0000 }, - { 0x0701, 0x0313, 0x0000 }, - { 0x8701, 0x0318, 0x3000 }, - { 0x8701, 0x0316, 0x2000 }, - { 0x0701, 0x0315, 0x0000 }, - { 0x0701, 0x0317, 0x0000 }, - { 0x8701, 0x031a, 0x2000 }, - { 0x0701, 0x0319, 0x0000 }, - { 0x0701, 0x031b, 0x0000 }, - { 0x8701, 0x0339, 0x5000 }, - { 0x8701, 0x0331, 0x4000 }, - { 0x8f01, 0x0321, 0x3000 }, - { 0x8701, 0x031e, 0x2000 }, - { 0x0701, 0x031d, 0x0000 }, - { 0x0f01, 0x0320, 0x0000 }, - { 0x8f01, 0x0323, 0x2000 }, - { 0x0f01, 0x0322, 0x0000 }, - { 0x0701, 0x0330, 0x0000 }, - { 0x8701, 0x0335, 0x3000 }, - { 0x8701, 0x0333, 0x2000 }, - { 0x0701, 0x0332, 0x0000 }, - { 0x0701, 0x0334, 0x0000 }, - { 0x8701, 0x0337, 0x2000 }, - { 0x0701, 0x0336, 0x0000 }, - { 0x0701, 0x0338, 0x0000 }, - { 0x8701, 0x0341, 0x4000 }, - { 0x8701, 0x033d, 0x3000 }, - { 0x8701, 0x033b, 0x2000 }, - { 0x0701, 0x033a, 0x0000 }, - { 0x0701, 0x033c, 0x0000 }, - { 0x8701, 0x033f, 0x2000 }, - { 0x0701, 0x033e, 0x0000 }, - { 0x0701, 0x0340, 0x0000 }, - { 0x8701, 0x0345, 0x3000 }, - { 0x8701, 0x0343, 0x2000 }, - { 0x0701, 0x0342, 0x0000 }, - { 0x0701, 0x0344, 0x0000 }, - { 0x8701, 0x0347, 0x2000 }, - { 0x0701, 0x0346, 0x0000 }, - { 0x0701, 0x0348, 0x0000 }, - { 0x8901, 0x041f, 0x7028 }, - { 0x9501, 0x039f, 0x6000 }, - { 0x8701, 0x038e, 0x5000 }, - { 0x8701, 0x0386, 0x4000 }, - { 0x8701, 0x0382, 0x3000 }, - { 0x8701, 0x0380, 0x2000 }, - { 0x0e01, 0x034a, 0x0000 }, - { 0x0701, 0x0381, 0x0000 }, - { 0x8701, 0x0384, 0x2000 }, - { 0x0701, 0x0383, 0x0000 }, - { 0x0701, 0x0385, 0x0000 }, - { 0x8701, 0x038a, 0x3000 }, - { 0x8701, 0x0388, 0x2000 }, - { 0x0701, 0x0387, 0x0000 }, - { 0x0701, 0x0389, 0x0000 }, - { 0x8701, 0x038c, 0x2000 }, - { 0x0701, 0x038b, 0x0000 }, - { 0x0701, 0x038d, 0x0000 }, - { 0x8701, 0x0396, 0x4000 }, - { 0x8701, 0x0392, 0x3000 }, - { 0x8701, 0x0390, 0x2000 }, - { 0x0701, 0x038f, 0x0000 }, - { 0x0701, 0x0391, 0x0000 }, - { 0x8701, 0x0394, 0x2000 }, - { 0x0701, 0x0393, 0x0000 }, - { 0x0701, 0x0395, 0x0000 }, - { 0x8701, 0x039a, 0x3000 }, - { 0x8701, 0x0398, 0x2000 }, - { 0x0701, 0x0397, 0x0000 }, - { 0x0701, 0x0399, 0x0000 }, - { 0x8701, 0x039c, 0x2000 }, - { 0x0701, 0x039b, 0x0000 }, - { 0x0701, 0x039d, 0x0000 }, - { 0x8901, 0x040f, 0x5028 }, - { 0x8901, 0x0407, 0x4028 }, - { 0x8901, 0x0403, 0x3028 }, - { 0x8901, 0x0401, 0x2028 }, - { 0x0901, 0x0400, 0x0028 }, - { 0x0901, 0x0402, 0x0028 }, - { 0x8901, 0x0405, 0x2028 }, - { 0x0901, 0x0404, 0x0028 }, - { 0x0901, 0x0406, 0x0028 }, - { 0x8901, 0x040b, 0x3028 }, - { 0x8901, 0x0409, 0x2028 }, - { 0x0901, 0x0408, 0x0028 }, - { 0x0901, 0x040a, 0x0028 }, - { 0x8901, 0x040d, 0x2028 }, - { 0x0901, 0x040c, 0x0028 }, - { 0x0901, 0x040e, 0x0028 }, - { 0x8901, 0x0417, 0x4028 }, - { 0x8901, 0x0413, 0x3028 }, - { 0x8901, 0x0411, 0x2028 }, - { 0x0901, 0x0410, 0x0028 }, - { 0x0901, 0x0412, 0x0028 }, - { 0x8901, 0x0415, 0x2028 }, - { 0x0901, 0x0414, 0x0028 }, - { 0x0901, 0x0416, 0x0028 }, - { 0x8901, 0x041b, 0x3028 }, - { 0x8901, 0x0419, 0x2028 }, - { 0x0901, 0x0418, 0x0028 }, - { 0x0901, 0x041a, 0x0028 }, - { 0x8901, 0x041d, 0x2028 }, - { 0x0901, 0x041c, 0x0028 }, - { 0x0901, 0x041e, 0x0028 }, - { 0x8501, 0x043f, 0x6fd8 }, - { 0x8501, 0x042f, 0x5fd8 }, - { 0x8901, 0x0427, 0x4028 }, - { 0x8901, 0x0423, 0x3028 }, - { 0x8901, 0x0421, 0x2028 }, - { 0x0901, 0x0420, 0x0028 }, - { 0x0901, 0x0422, 0x0028 }, - { 0x8901, 0x0425, 0x2028 }, - { 0x0901, 0x0424, 0x0028 }, - { 0x0901, 0x0426, 0x0028 }, - { 0x8501, 0x042b, 0x3fd8 }, - { 0x8501, 0x0429, 0x2fd8 }, - { 0x0501, 0x0428, 0x0fd8 }, - { 0x0501, 0x042a, 0x0fd8 }, - { 0x8501, 0x042d, 0x2fd8 }, - { 0x0501, 0x042c, 0x0fd8 }, - { 0x0501, 0x042e, 0x0fd8 }, - { 0x8501, 0x0437, 0x4fd8 }, - { 0x8501, 0x0433, 0x3fd8 }, - { 0x8501, 0x0431, 0x2fd8 }, - { 0x0501, 0x0430, 0x0fd8 }, - { 0x0501, 0x0432, 0x0fd8 }, - { 0x8501, 0x0435, 0x2fd8 }, - { 0x0501, 0x0434, 0x0fd8 }, - { 0x0501, 0x0436, 0x0fd8 }, - { 0x8501, 0x043b, 0x3fd8 }, - { 0x8501, 0x0439, 0x2fd8 }, - { 0x0501, 0x0438, 0x0fd8 }, - { 0x0501, 0x043a, 0x0fd8 }, - { 0x8501, 0x043d, 0x2fd8 }, - { 0x0501, 0x043c, 0x0fd8 }, - { 0x0501, 0x043e, 0x0fd8 }, - { 0x8501, 0x044f, 0x5fd8 }, - { 0x8501, 0x0447, 0x4fd8 }, - { 0x8501, 0x0443, 0x3fd8 }, - { 0x8501, 0x0441, 0x2fd8 }, - { 0x0501, 0x0440, 0x0fd8 }, - { 0x0501, 0x0442, 0x0fd8 }, - { 0x8501, 0x0445, 0x2fd8 }, - { 0x0501, 0x0444, 0x0fd8 }, - { 0x0501, 0x0446, 0x0fd8 }, - { 0x8501, 0x044b, 0x3fd8 }, - { 0x8501, 0x0449, 0x2fd8 }, - { 0x0501, 0x0448, 0x0fd8 }, - { 0x0501, 0x044a, 0x0fd8 }, - { 0x8501, 0x044d, 0x2fd8 }, - { 0x0501, 0x044c, 0x0fd8 }, - { 0x0501, 0x044e, 0x0fd8 }, - { 0x8701, 0x0457, 0x4000 }, - { 0x8701, 0x0453, 0x3000 }, - { 0x8701, 0x0451, 0x2000 }, - { 0x0701, 0x0450, 0x0000 }, - { 0x0701, 0x0452, 0x0000 }, - { 0x8701, 0x0455, 0x2000 }, - { 0x0701, 0x0454, 0x0000 }, - { 0x0701, 0x0456, 0x0000 }, - { 0x8701, 0x045b, 0x3000 }, - { 0x8701, 0x0459, 0x2000 }, - { 0x0701, 0x0458, 0x0000 }, - { 0x0701, 0x045a, 0x0000 }, - { 0x8701, 0x045d, 0x2000 }, - { 0x0701, 0x045c, 0x0000 }, - { 0x0701, 0x045e, 0x0000 }, - { 0x9a01, 0xd000, 0x8000 }, - { 0x8d01, 0x04a1, 0x7000 }, - { 0x8701, 0x047f, 0x6000 }, - { 0x8701, 0x046f, 0x5000 }, - { 0x8701, 0x0467, 0x4000 }, - { 0x8701, 0x0463, 0x3000 }, - { 0x8701, 0x0461, 0x2000 }, - { 0x0701, 0x0460, 0x0000 }, - { 0x0701, 0x0462, 0x0000 }, - { 0x8701, 0x0465, 0x2000 }, - { 0x0701, 0x0464, 0x0000 }, - { 0x0701, 0x0466, 0x0000 }, - { 0x8701, 0x046b, 0x3000 }, - { 0x8701, 0x0469, 0x2000 }, - { 0x0701, 0x0468, 0x0000 }, - { 0x0701, 0x046a, 0x0000 }, - { 0x8701, 0x046d, 0x2000 }, - { 0x0701, 0x046c, 0x0000 }, - { 0x0701, 0x046e, 0x0000 }, - { 0x8701, 0x0477, 0x4000 }, - { 0x8701, 0x0473, 0x3000 }, - { 0x8701, 0x0471, 0x2000 }, - { 0x0701, 0x0470, 0x0000 }, - { 0x0701, 0x0472, 0x0000 }, - { 0x8701, 0x0475, 0x2000 }, - { 0x0701, 0x0474, 0x0000 }, - { 0x0701, 0x0476, 0x0000 }, - { 0x8701, 0x047b, 0x3000 }, - { 0x8701, 0x0479, 0x2000 }, - { 0x0701, 0x0478, 0x0000 }, - { 0x0701, 0x047a, 0x0000 }, - { 0x8701, 0x047d, 0x2000 }, - { 0x0701, 0x047c, 0x0000 }, - { 0x0701, 0x047e, 0x0000 }, - { 0x8701, 0x048f, 0x5000 }, - { 0x8701, 0x0487, 0x4000 }, - { 0x8701, 0x0483, 0x3000 }, - { 0x8701, 0x0481, 0x2000 }, - { 0x0701, 0x0480, 0x0000 }, - { 0x0701, 0x0482, 0x0000 }, - { 0x8701, 0x0485, 0x2000 }, - { 0x0701, 0x0484, 0x0000 }, - { 0x0701, 0x0486, 0x0000 }, - { 0x8701, 0x048b, 0x3000 }, - { 0x8701, 0x0489, 0x2000 }, - { 0x0701, 0x0488, 0x0000 }, - { 0x0701, 0x048a, 0x0000 }, - { 0x8701, 0x048d, 0x2000 }, - { 0x0701, 0x048c, 0x0000 }, - { 0x0701, 0x048e, 0x0000 }, - { 0x8701, 0x0497, 0x4000 }, - { 0x8701, 0x0493, 0x3000 }, - { 0x8701, 0x0491, 0x2000 }, - { 0x0701, 0x0490, 0x0000 }, - { 0x0701, 0x0492, 0x0000 }, - { 0x8701, 0x0495, 0x2000 }, - { 0x0701, 0x0494, 0x0000 }, - { 0x0701, 0x0496, 0x0000 }, - { 0x8701, 0x049b, 0x3000 }, - { 0x8701, 0x0499, 0x2000 }, - { 0x0701, 0x0498, 0x0000 }, - { 0x0701, 0x049a, 0x0000 }, - { 0x8701, 0x049d, 0x2000 }, - { 0x0701, 0x049c, 0x0000 }, - { 0x0d01, 0x04a0, 0x0000 }, - { 0x8701, 0x081a, 0x6000 }, - { 0x8701, 0x080a, 0x5000 }, - { 0x8d01, 0x04a9, 0x4000 }, - { 0x8d01, 0x04a5, 0x3000 }, - { 0x8d01, 0x04a3, 0x2000 }, - { 0x0d01, 0x04a2, 0x0000 }, - { 0x0d01, 0x04a4, 0x0000 }, - { 0x8d01, 0x04a7, 0x2000 }, - { 0x0d01, 0x04a6, 0x0000 }, - { 0x0d01, 0x04a8, 0x0000 }, - { 0x8701, 0x0803, 0x3000 }, - { 0x8701, 0x0801, 0x2000 }, - { 0x0701, 0x0800, 0x0000 }, - { 0x0701, 0x0802, 0x0000 }, - { 0x8701, 0x0805, 0x2000 }, - { 0x0701, 0x0804, 0x0000 }, - { 0x0701, 0x0808, 0x0000 }, - { 0x8701, 0x0812, 0x4000 }, - { 0x8701, 0x080e, 0x3000 }, - { 0x8701, 0x080c, 0x2000 }, - { 0x0701, 0x080b, 0x0000 }, - { 0x0701, 0x080d, 0x0000 }, - { 0x8701, 0x0810, 0x2000 }, - { 0x0701, 0x080f, 0x0000 }, - { 0x0701, 0x0811, 0x0000 }, - { 0x8701, 0x0816, 0x3000 }, - { 0x8701, 0x0814, 0x2000 }, - { 0x0701, 0x0813, 0x0000 }, - { 0x0701, 0x0815, 0x0000 }, - { 0x8701, 0x0818, 0x2000 }, - { 0x0701, 0x0817, 0x0000 }, - { 0x0701, 0x0819, 0x0000 }, - { 0x8701, 0x082a, 0x5000 }, - { 0x8701, 0x0822, 0x4000 }, - { 0x8701, 0x081e, 0x3000 }, - { 0x8701, 0x081c, 0x2000 }, - { 0x0701, 0x081b, 0x0000 }, - { 0x0701, 0x081d, 0x0000 }, - { 0x8701, 0x0820, 0x2000 }, - { 0x0701, 0x081f, 0x0000 }, - { 0x0701, 0x0821, 0x0000 }, - { 0x8701, 0x0826, 0x3000 }, - { 0x8701, 0x0824, 0x2000 }, - { 0x0701, 0x0823, 0x0000 }, - { 0x0701, 0x0825, 0x0000 }, - { 0x8701, 0x0828, 0x2000 }, - { 0x0701, 0x0827, 0x0000 }, - { 0x0701, 0x0829, 0x0000 }, - { 0x8701, 0x0832, 0x4000 }, - { 0x8701, 0x082e, 0x3000 }, - { 0x8701, 0x082c, 0x2000 }, - { 0x0701, 0x082b, 0x0000 }, - { 0x0701, 0x082d, 0x0000 }, - { 0x8701, 0x0830, 0x2000 }, - { 0x0701, 0x082f, 0x0000 }, - { 0x0701, 0x0831, 0x0000 }, - { 0x8701, 0x0837, 0x3000 }, - { 0x8701, 0x0834, 0x2000 }, - { 0x0701, 0x0833, 0x0000 }, - { 0x0701, 0x0835, 0x0000 }, - { 0x8701, 0x083c, 0x2000 }, - { 0x0701, 0x0838, 0x0000 }, - { 0x0701, 0x083f, 0x0000 }, - { 0x9a01, 0xd040, 0x7000 }, - { 0x9a01, 0xd020, 0x6000 }, - { 0x9a01, 0xd010, 0x5000 }, - { 0x9a01, 0xd008, 0x4000 }, - { 0x9a01, 0xd004, 0x3000 }, - { 0x9a01, 0xd002, 0x2000 }, - { 0x1a01, 0xd001, 0x0000 }, - { 0x1a01, 0xd003, 0x0000 }, - { 0x9a01, 0xd006, 0x2000 }, - { 0x1a01, 0xd005, 0x0000 }, - { 0x1a01, 0xd007, 0x0000 }, - { 0x9a01, 0xd00c, 0x3000 }, - { 0x9a01, 0xd00a, 0x2000 }, - { 0x1a01, 0xd009, 0x0000 }, - { 0x1a01, 0xd00b, 0x0000 }, - { 0x9a01, 0xd00e, 0x2000 }, - { 0x1a01, 0xd00d, 0x0000 }, - { 0x1a01, 0xd00f, 0x0000 }, - { 0x9a01, 0xd018, 0x4000 }, - { 0x9a01, 0xd014, 0x3000 }, - { 0x9a01, 0xd012, 0x2000 }, - { 0x1a01, 0xd011, 0x0000 }, - { 0x1a01, 0xd013, 0x0000 }, - { 0x9a01, 0xd016, 0x2000 }, - { 0x1a01, 0xd015, 0x0000 }, - { 0x1a01, 0xd017, 0x0000 }, - { 0x9a01, 0xd01c, 0x3000 }, - { 0x9a01, 0xd01a, 0x2000 }, - { 0x1a01, 0xd019, 0x0000 }, - { 0x1a01, 0xd01b, 0x0000 }, - { 0x9a01, 0xd01e, 0x2000 }, - { 0x1a01, 0xd01d, 0x0000 }, - { 0x1a01, 0xd01f, 0x0000 }, - { 0x9a01, 0xd030, 0x5000 }, - { 0x9a01, 0xd028, 0x4000 }, - { 0x9a01, 0xd024, 0x3000 }, - { 0x9a01, 0xd022, 0x2000 }, - { 0x1a01, 0xd021, 0x0000 }, - { 0x1a01, 0xd023, 0x0000 }, - { 0x9a01, 0xd026, 0x2000 }, - { 0x1a01, 0xd025, 0x0000 }, - { 0x1a01, 0xd027, 0x0000 }, - { 0x9a01, 0xd02c, 0x3000 }, - { 0x9a01, 0xd02a, 0x2000 }, - { 0x1a01, 0xd029, 0x0000 }, - { 0x1a01, 0xd02b, 0x0000 }, - { 0x9a01, 0xd02e, 0x2000 }, - { 0x1a01, 0xd02d, 0x0000 }, - { 0x1a01, 0xd02f, 0x0000 }, - { 0x9a01, 0xd038, 0x4000 }, - { 0x9a01, 0xd034, 0x3000 }, - { 0x9a01, 0xd032, 0x2000 }, - { 0x1a01, 0xd031, 0x0000 }, - { 0x1a01, 0xd033, 0x0000 }, - { 0x9a01, 0xd036, 0x2000 }, - { 0x1a01, 0xd035, 0x0000 }, - { 0x1a01, 0xd037, 0x0000 }, - { 0x9a01, 0xd03c, 0x3000 }, - { 0x9a01, 0xd03a, 0x2000 }, - { 0x1a01, 0xd039, 0x0000 }, - { 0x1a01, 0xd03b, 0x0000 }, - { 0x9a01, 0xd03e, 0x2000 }, - { 0x1a01, 0xd03d, 0x0000 }, - { 0x1a01, 0xd03f, 0x0000 }, - { 0x9a01, 0xd060, 0x6000 }, - { 0x9a01, 0xd050, 0x5000 }, - { 0x9a01, 0xd048, 0x4000 }, - { 0x9a01, 0xd044, 0x3000 }, - { 0x9a01, 0xd042, 0x2000 }, - { 0x1a01, 0xd041, 0x0000 }, - { 0x1a01, 0xd043, 0x0000 }, - { 0x9a01, 0xd046, 0x2000 }, - { 0x1a01, 0xd045, 0x0000 }, - { 0x1a01, 0xd047, 0x0000 }, - { 0x9a01, 0xd04c, 0x3000 }, - { 0x9a01, 0xd04a, 0x2000 }, - { 0x1a01, 0xd049, 0x0000 }, - { 0x1a01, 0xd04b, 0x0000 }, - { 0x9a01, 0xd04e, 0x2000 }, - { 0x1a01, 0xd04d, 0x0000 }, - { 0x1a01, 0xd04f, 0x0000 }, - { 0x9a01, 0xd058, 0x4000 }, - { 0x9a01, 0xd054, 0x3000 }, - { 0x9a01, 0xd052, 0x2000 }, - { 0x1a01, 0xd051, 0x0000 }, - { 0x1a01, 0xd053, 0x0000 }, - { 0x9a01, 0xd056, 0x2000 }, - { 0x1a01, 0xd055, 0x0000 }, - { 0x1a01, 0xd057, 0x0000 }, - { 0x9a01, 0xd05c, 0x3000 }, - { 0x9a01, 0xd05a, 0x2000 }, - { 0x1a01, 0xd059, 0x0000 }, - { 0x1a01, 0xd05b, 0x0000 }, - { 0x9a01, 0xd05e, 0x2000 }, - { 0x1a01, 0xd05d, 0x0000 }, - { 0x1a01, 0xd05f, 0x0000 }, - { 0x9a01, 0xd070, 0x5000 }, - { 0x9a01, 0xd068, 0x4000 }, - { 0x9a01, 0xd064, 0x3000 }, - { 0x9a01, 0xd062, 0x2000 }, - { 0x1a01, 0xd061, 0x0000 }, - { 0x1a01, 0xd063, 0x0000 }, - { 0x9a01, 0xd066, 0x2000 }, - { 0x1a01, 0xd065, 0x0000 }, - { 0x1a01, 0xd067, 0x0000 }, - { 0x9a01, 0xd06c, 0x3000 }, - { 0x9a01, 0xd06a, 0x2000 }, - { 0x1a01, 0xd069, 0x0000 }, - { 0x1a01, 0xd06b, 0x0000 }, - { 0x9a01, 0xd06e, 0x2000 }, - { 0x1a01, 0xd06d, 0x0000 }, - { 0x1a01, 0xd06f, 0x0000 }, - { 0x9a01, 0xd078, 0x4000 }, - { 0x9a01, 0xd074, 0x3000 }, - { 0x9a01, 0xd072, 0x2000 }, - { 0x1a01, 0xd071, 0x0000 }, - { 0x1a01, 0xd073, 0x0000 }, - { 0x9a01, 0xd076, 0x2000 }, - { 0x1a01, 0xd075, 0x0000 }, - { 0x1a01, 0xd077, 0x0000 }, - { 0x9a01, 0xd07c, 0x3000 }, - { 0x9a01, 0xd07a, 0x2000 }, - { 0x1a01, 0xd079, 0x0000 }, - { 0x1a01, 0xd07b, 0x0000 }, - { 0x9a01, 0xd07e, 0x2000 }, - { 0x1a01, 0xd07d, 0x0000 }, - { 0x1a01, 0xd07f, 0x0000 }, - { 0x9a01, 0xd18d, 0x9000 }, - { 0x9a01, 0xd10a, 0x8000 }, - { 0x9a01, 0xd0c0, 0x7000 }, - { 0x9a01, 0xd0a0, 0x6000 }, - { 0x9a01, 0xd090, 0x5000 }, - { 0x9a01, 0xd088, 0x4000 }, - { 0x9a01, 0xd084, 0x3000 }, - { 0x9a01, 0xd082, 0x2000 }, - { 0x1a01, 0xd081, 0x0000 }, - { 0x1a01, 0xd083, 0x0000 }, - { 0x9a01, 0xd086, 0x2000 }, - { 0x1a01, 0xd085, 0x0000 }, - { 0x1a01, 0xd087, 0x0000 }, - { 0x9a01, 0xd08c, 0x3000 }, - { 0x9a01, 0xd08a, 0x2000 }, - { 0x1a01, 0xd089, 0x0000 }, - { 0x1a01, 0xd08b, 0x0000 }, - { 0x9a01, 0xd08e, 0x2000 }, - { 0x1a01, 0xd08d, 0x0000 }, - { 0x1a01, 0xd08f, 0x0000 }, - { 0x9a01, 0xd098, 0x4000 }, - { 0x9a01, 0xd094, 0x3000 }, - { 0x9a01, 0xd092, 0x2000 }, - { 0x1a01, 0xd091, 0x0000 }, - { 0x1a01, 0xd093, 0x0000 }, - { 0x9a01, 0xd096, 0x2000 }, - { 0x1a01, 0xd095, 0x0000 }, - { 0x1a01, 0xd097, 0x0000 }, - { 0x9a01, 0xd09c, 0x3000 }, - { 0x9a01, 0xd09a, 0x2000 }, - { 0x1a01, 0xd099, 0x0000 }, - { 0x1a01, 0xd09b, 0x0000 }, - { 0x9a01, 0xd09e, 0x2000 }, - { 0x1a01, 0xd09d, 0x0000 }, - { 0x1a01, 0xd09f, 0x0000 }, - { 0x9a01, 0xd0b0, 0x5000 }, - { 0x9a01, 0xd0a8, 0x4000 }, - { 0x9a01, 0xd0a4, 0x3000 }, - { 0x9a01, 0xd0a2, 0x2000 }, - { 0x1a01, 0xd0a1, 0x0000 }, - { 0x1a01, 0xd0a3, 0x0000 }, - { 0x9a01, 0xd0a6, 0x2000 }, - { 0x1a01, 0xd0a5, 0x0000 }, - { 0x1a01, 0xd0a7, 0x0000 }, - { 0x9a01, 0xd0ac, 0x3000 }, - { 0x9a01, 0xd0aa, 0x2000 }, - { 0x1a01, 0xd0a9, 0x0000 }, - { 0x1a01, 0xd0ab, 0x0000 }, - { 0x9a01, 0xd0ae, 0x2000 }, - { 0x1a01, 0xd0ad, 0x0000 }, - { 0x1a01, 0xd0af, 0x0000 }, - { 0x9a01, 0xd0b8, 0x4000 }, - { 0x9a01, 0xd0b4, 0x3000 }, - { 0x9a01, 0xd0b2, 0x2000 }, - { 0x1a01, 0xd0b1, 0x0000 }, - { 0x1a01, 0xd0b3, 0x0000 }, - { 0x9a01, 0xd0b6, 0x2000 }, - { 0x1a01, 0xd0b5, 0x0000 }, - { 0x1a01, 0xd0b7, 0x0000 }, - { 0x9a01, 0xd0bc, 0x3000 }, - { 0x9a01, 0xd0ba, 0x2000 }, - { 0x1a01, 0xd0b9, 0x0000 }, - { 0x1a01, 0xd0bb, 0x0000 }, - { 0x9a01, 0xd0be, 0x2000 }, - { 0x1a01, 0xd0bd, 0x0000 }, - { 0x1a01, 0xd0bf, 0x0000 }, - { 0x9a01, 0xd0e0, 0x6000 }, - { 0x9a01, 0xd0d0, 0x5000 }, - { 0x9a01, 0xd0c8, 0x4000 }, - { 0x9a01, 0xd0c4, 0x3000 }, - { 0x9a01, 0xd0c2, 0x2000 }, - { 0x1a01, 0xd0c1, 0x0000 }, - { 0x1a01, 0xd0c3, 0x0000 }, - { 0x9a01, 0xd0c6, 0x2000 }, - { 0x1a01, 0xd0c5, 0x0000 }, - { 0x1a01, 0xd0c7, 0x0000 }, - { 0x9a01, 0xd0cc, 0x3000 }, - { 0x9a01, 0xd0ca, 0x2000 }, - { 0x1a01, 0xd0c9, 0x0000 }, - { 0x1a01, 0xd0cb, 0x0000 }, - { 0x9a01, 0xd0ce, 0x2000 }, - { 0x1a01, 0xd0cd, 0x0000 }, - { 0x1a01, 0xd0cf, 0x0000 }, - { 0x9a01, 0xd0d8, 0x4000 }, - { 0x9a01, 0xd0d4, 0x3000 }, - { 0x9a01, 0xd0d2, 0x2000 }, - { 0x1a01, 0xd0d1, 0x0000 }, - { 0x1a01, 0xd0d3, 0x0000 }, - { 0x9a01, 0xd0d6, 0x2000 }, - { 0x1a01, 0xd0d5, 0x0000 }, - { 0x1a01, 0xd0d7, 0x0000 }, - { 0x9a01, 0xd0dc, 0x3000 }, - { 0x9a01, 0xd0da, 0x2000 }, - { 0x1a01, 0xd0d9, 0x0000 }, - { 0x1a01, 0xd0db, 0x0000 }, - { 0x9a01, 0xd0de, 0x2000 }, - { 0x1a01, 0xd0dd, 0x0000 }, - { 0x1a01, 0xd0df, 0x0000 }, - { 0x9a01, 0xd0f0, 0x5000 }, - { 0x9a01, 0xd0e8, 0x4000 }, - { 0x9a01, 0xd0e4, 0x3000 }, - { 0x9a01, 0xd0e2, 0x2000 }, - { 0x1a01, 0xd0e1, 0x0000 }, - { 0x1a01, 0xd0e3, 0x0000 }, - { 0x9a01, 0xd0e6, 0x2000 }, - { 0x1a01, 0xd0e5, 0x0000 }, - { 0x1a01, 0xd0e7, 0x0000 }, - { 0x9a01, 0xd0ec, 0x3000 }, - { 0x9a01, 0xd0ea, 0x2000 }, - { 0x1a01, 0xd0e9, 0x0000 }, - { 0x1a01, 0xd0eb, 0x0000 }, - { 0x9a01, 0xd0ee, 0x2000 }, - { 0x1a01, 0xd0ed, 0x0000 }, - { 0x1a01, 0xd0ef, 0x0000 }, - { 0x9a01, 0xd102, 0x4000 }, - { 0x9a01, 0xd0f4, 0x3000 }, - { 0x9a01, 0xd0f2, 0x2000 }, - { 0x1a01, 0xd0f1, 0x0000 }, - { 0x1a01, 0xd0f3, 0x0000 }, - { 0x9a01, 0xd100, 0x2000 }, - { 0x1a01, 0xd0f5, 0x0000 }, - { 0x1a01, 0xd101, 0x0000 }, - { 0x9a01, 0xd106, 0x3000 }, - { 0x9a01, 0xd104, 0x2000 }, - { 0x1a01, 0xd103, 0x0000 }, - { 0x1a01, 0xd105, 0x0000 }, - { 0x9a01, 0xd108, 0x2000 }, - { 0x1a01, 0xd107, 0x0000 }, - { 0x1a01, 0xd109, 0x0000 }, - { 0x9a01, 0xd14d, 0x7000 }, - { 0x9a01, 0xd12d, 0x6000 }, - { 0x9a01, 0xd11a, 0x5000 }, - { 0x9a01, 0xd112, 0x4000 }, - { 0x9a01, 0xd10e, 0x3000 }, - { 0x9a01, 0xd10c, 0x2000 }, - { 0x1a01, 0xd10b, 0x0000 }, - { 0x1a01, 0xd10d, 0x0000 }, - { 0x9a01, 0xd110, 0x2000 }, - { 0x1a01, 0xd10f, 0x0000 }, - { 0x1a01, 0xd111, 0x0000 }, - { 0x9a01, 0xd116, 0x3000 }, - { 0x9a01, 0xd114, 0x2000 }, - { 0x1a01, 0xd113, 0x0000 }, - { 0x1a01, 0xd115, 0x0000 }, - { 0x9a01, 0xd118, 0x2000 }, - { 0x1a01, 0xd117, 0x0000 }, - { 0x1a01, 0xd119, 0x0000 }, - { 0x9a01, 0xd122, 0x4000 }, - { 0x9a01, 0xd11e, 0x3000 }, - { 0x9a01, 0xd11c, 0x2000 }, - { 0x1a01, 0xd11b, 0x0000 }, - { 0x1a01, 0xd11d, 0x0000 }, - { 0x9a01, 0xd120, 0x2000 }, - { 0x1a01, 0xd11f, 0x0000 }, - { 0x1a01, 0xd121, 0x0000 }, - { 0x9a01, 0xd126, 0x3000 }, - { 0x9a01, 0xd124, 0x2000 }, - { 0x1a01, 0xd123, 0x0000 }, - { 0x1a01, 0xd125, 0x0000 }, - { 0x9a01, 0xd12b, 0x2000 }, - { 0x1a01, 0xd12a, 0x0000 }, - { 0x1a01, 0xd12c, 0x0000 }, - { 0x9a01, 0xd13d, 0x5000 }, - { 0x9a01, 0xd135, 0x4000 }, - { 0x9a01, 0xd131, 0x3000 }, - { 0x9a01, 0xd12f, 0x2000 }, - { 0x1a01, 0xd12e, 0x0000 }, - { 0x1a01, 0xd130, 0x0000 }, - { 0x9a01, 0xd133, 0x2000 }, - { 0x1a01, 0xd132, 0x0000 }, - { 0x1a01, 0xd134, 0x0000 }, - { 0x9a01, 0xd139, 0x3000 }, - { 0x9a01, 0xd137, 0x2000 }, - { 0x1a01, 0xd136, 0x0000 }, - { 0x1a01, 0xd138, 0x0000 }, - { 0x9a01, 0xd13b, 0x2000 }, - { 0x1a01, 0xd13a, 0x0000 }, - { 0x1a01, 0xd13c, 0x0000 }, - { 0x9a01, 0xd145, 0x4000 }, - { 0x9a01, 0xd141, 0x3000 }, - { 0x9a01, 0xd13f, 0x2000 }, - { 0x1a01, 0xd13e, 0x0000 }, - { 0x1a01, 0xd140, 0x0000 }, - { 0x9a01, 0xd143, 0x2000 }, - { 0x1a01, 0xd142, 0x0000 }, - { 0x1a01, 0xd144, 0x0000 }, - { 0x9a01, 0xd149, 0x3000 }, - { 0x9a01, 0xd147, 0x2000 }, - { 0x1a01, 0xd146, 0x0000 }, - { 0x1a01, 0xd148, 0x0000 }, - { 0x9a01, 0xd14b, 0x2000 }, - { 0x1a01, 0xd14a, 0x0000 }, - { 0x1a01, 0xd14c, 0x0000 }, - { 0x8a01, 0xd16d, 0x6000 }, - { 0x9a01, 0xd15d, 0x5000 }, - { 0x9a01, 0xd155, 0x4000 }, - { 0x9a01, 0xd151, 0x3000 }, - { 0x9a01, 0xd14f, 0x2000 }, - { 0x1a01, 0xd14e, 0x0000 }, - { 0x1a01, 0xd150, 0x0000 }, - { 0x9a01, 0xd153, 0x2000 }, - { 0x1a01, 0xd152, 0x0000 }, - { 0x1a01, 0xd154, 0x0000 }, - { 0x9a01, 0xd159, 0x3000 }, - { 0x9a01, 0xd157, 0x2000 }, - { 0x1a01, 0xd156, 0x0000 }, - { 0x1a01, 0xd158, 0x0000 }, - { 0x9a01, 0xd15b, 0x2000 }, - { 0x1a01, 0xd15a, 0x0000 }, - { 0x1a01, 0xd15c, 0x0000 }, - { 0x8a01, 0xd165, 0x4000 }, - { 0x9a01, 0xd161, 0x3000 }, - { 0x9a01, 0xd15f, 0x2000 }, - { 0x1a01, 0xd15e, 0x0000 }, - { 0x1a01, 0xd160, 0x0000 }, - { 0x9a01, 0xd163, 0x2000 }, - { 0x1a01, 0xd162, 0x0000 }, - { 0x1a01, 0xd164, 0x0000 }, - { 0x8c01, 0xd169, 0x3000 }, - { 0x8c01, 0xd167, 0x2000 }, - { 0x0a01, 0xd166, 0x0000 }, - { 0x0c01, 0xd168, 0x0000 }, - { 0x9a01, 0xd16b, 0x2000 }, - { 0x1a01, 0xd16a, 0x0000 }, - { 0x1a01, 0xd16c, 0x0000 }, - { 0x8c01, 0xd17d, 0x5000 }, - { 0x8101, 0xd175, 0x4000 }, - { 0x8a01, 0xd171, 0x3000 }, - { 0x8a01, 0xd16f, 0x2000 }, - { 0x0a01, 0xd16e, 0x0000 }, - { 0x0a01, 0xd170, 0x0000 }, - { 0x8101, 0xd173, 0x2000 }, - { 0x0a01, 0xd172, 0x0000 }, - { 0x0101, 0xd174, 0x0000 }, - { 0x8101, 0xd179, 0x3000 }, - { 0x8101, 0xd177, 0x2000 }, - { 0x0101, 0xd176, 0x0000 }, - { 0x0101, 0xd178, 0x0000 }, - { 0x8c01, 0xd17b, 0x2000 }, - { 0x0101, 0xd17a, 0x0000 }, - { 0x0c01, 0xd17c, 0x0000 }, - { 0x8c01, 0xd185, 0x4000 }, - { 0x8c01, 0xd181, 0x3000 }, - { 0x8c01, 0xd17f, 0x2000 }, - { 0x0c01, 0xd17e, 0x0000 }, - { 0x0c01, 0xd180, 0x0000 }, - { 0x9a01, 0xd183, 0x2000 }, - { 0x0c01, 0xd182, 0x0000 }, - { 0x1a01, 0xd184, 0x0000 }, - { 0x8c01, 0xd189, 0x3000 }, - { 0x8c01, 0xd187, 0x2000 }, - { 0x0c01, 0xd186, 0x0000 }, - { 0x0c01, 0xd188, 0x0000 }, - { 0x8c01, 0xd18b, 0x2000 }, - { 0x0c01, 0xd18a, 0x0000 }, - { 0x1a01, 0xd18c, 0x0000 }, - { 0x9a01, 0xd32f, 0x8000 }, - { 0x9a01, 0xd1cd, 0x7000 }, - { 0x8c01, 0xd1ad, 0x6000 }, - { 0x9a01, 0xd19d, 0x5000 }, - { 0x9a01, 0xd195, 0x4000 }, - { 0x9a01, 0xd191, 0x3000 }, - { 0x9a01, 0xd18f, 0x2000 }, - { 0x1a01, 0xd18e, 0x0000 }, - { 0x1a01, 0xd190, 0x0000 }, - { 0x9a01, 0xd193, 0x2000 }, - { 0x1a01, 0xd192, 0x0000 }, - { 0x1a01, 0xd194, 0x0000 }, - { 0x9a01, 0xd199, 0x3000 }, - { 0x9a01, 0xd197, 0x2000 }, - { 0x1a01, 0xd196, 0x0000 }, - { 0x1a01, 0xd198, 0x0000 }, - { 0x9a01, 0xd19b, 0x2000 }, - { 0x1a01, 0xd19a, 0x0000 }, - { 0x1a01, 0xd19c, 0x0000 }, - { 0x9a01, 0xd1a5, 0x4000 }, - { 0x9a01, 0xd1a1, 0x3000 }, - { 0x9a01, 0xd19f, 0x2000 }, - { 0x1a01, 0xd19e, 0x0000 }, - { 0x1a01, 0xd1a0, 0x0000 }, - { 0x9a01, 0xd1a3, 0x2000 }, - { 0x1a01, 0xd1a2, 0x0000 }, - { 0x1a01, 0xd1a4, 0x0000 }, - { 0x9a01, 0xd1a9, 0x3000 }, - { 0x9a01, 0xd1a7, 0x2000 }, - { 0x1a01, 0xd1a6, 0x0000 }, - { 0x1a01, 0xd1a8, 0x0000 }, - { 0x8c01, 0xd1ab, 0x2000 }, - { 0x0c01, 0xd1aa, 0x0000 }, - { 0x0c01, 0xd1ac, 0x0000 }, - { 0x9a01, 0xd1bd, 0x5000 }, - { 0x9a01, 0xd1b5, 0x4000 }, - { 0x9a01, 0xd1b1, 0x3000 }, - { 0x9a01, 0xd1af, 0x2000 }, - { 0x1a01, 0xd1ae, 0x0000 }, - { 0x1a01, 0xd1b0, 0x0000 }, - { 0x9a01, 0xd1b3, 0x2000 }, - { 0x1a01, 0xd1b2, 0x0000 }, - { 0x1a01, 0xd1b4, 0x0000 }, - { 0x9a01, 0xd1b9, 0x3000 }, - { 0x9a01, 0xd1b7, 0x2000 }, - { 0x1a01, 0xd1b6, 0x0000 }, - { 0x1a01, 0xd1b8, 0x0000 }, - { 0x9a01, 0xd1bb, 0x2000 }, - { 0x1a01, 0xd1ba, 0x0000 }, - { 0x1a01, 0xd1bc, 0x0000 }, - { 0x9a01, 0xd1c5, 0x4000 }, - { 0x9a01, 0xd1c1, 0x3000 }, - { 0x9a01, 0xd1bf, 0x2000 }, - { 0x1a01, 0xd1be, 0x0000 }, - { 0x1a01, 0xd1c0, 0x0000 }, - { 0x9a01, 0xd1c3, 0x2000 }, - { 0x1a01, 0xd1c2, 0x0000 }, - { 0x1a01, 0xd1c4, 0x0000 }, - { 0x9a01, 0xd1c9, 0x3000 }, - { 0x9a01, 0xd1c7, 0x2000 }, - { 0x1a01, 0xd1c6, 0x0000 }, - { 0x1a01, 0xd1c8, 0x0000 }, - { 0x9a01, 0xd1cb, 0x2000 }, - { 0x1a01, 0xd1ca, 0x0000 }, - { 0x1a01, 0xd1cc, 0x0000 }, - { 0x9a01, 0xd30f, 0x6000 }, - { 0x9a01, 0xd1dd, 0x5000 }, - { 0x9a01, 0xd1d5, 0x4000 }, - { 0x9a01, 0xd1d1, 0x3000 }, - { 0x9a01, 0xd1cf, 0x2000 }, - { 0x1a01, 0xd1ce, 0x0000 }, - { 0x1a01, 0xd1d0, 0x0000 }, - { 0x9a01, 0xd1d3, 0x2000 }, - { 0x1a01, 0xd1d2, 0x0000 }, - { 0x1a01, 0xd1d4, 0x0000 }, - { 0x9a01, 0xd1d9, 0x3000 }, - { 0x9a01, 0xd1d7, 0x2000 }, - { 0x1a01, 0xd1d6, 0x0000 }, - { 0x1a01, 0xd1d8, 0x0000 }, - { 0x9a01, 0xd1db, 0x2000 }, - { 0x1a01, 0xd1da, 0x0000 }, - { 0x1a01, 0xd1dc, 0x0000 }, - { 0x9a01, 0xd307, 0x4000 }, - { 0x9a01, 0xd303, 0x3000 }, - { 0x9a01, 0xd301, 0x2000 }, - { 0x1a01, 0xd300, 0x0000 }, - { 0x1a01, 0xd302, 0x0000 }, - { 0x9a01, 0xd305, 0x2000 }, - { 0x1a01, 0xd304, 0x0000 }, - { 0x1a01, 0xd306, 0x0000 }, - { 0x9a01, 0xd30b, 0x3000 }, - { 0x9a01, 0xd309, 0x2000 }, - { 0x1a01, 0xd308, 0x0000 }, - { 0x1a01, 0xd30a, 0x0000 }, - { 0x9a01, 0xd30d, 0x2000 }, - { 0x1a01, 0xd30c, 0x0000 }, - { 0x1a01, 0xd30e, 0x0000 }, - { 0x9a01, 0xd31f, 0x5000 }, - { 0x9a01, 0xd317, 0x4000 }, - { 0x9a01, 0xd313, 0x3000 }, - { 0x9a01, 0xd311, 0x2000 }, - { 0x1a01, 0xd310, 0x0000 }, - { 0x1a01, 0xd312, 0x0000 }, - { 0x9a01, 0xd315, 0x2000 }, - { 0x1a01, 0xd314, 0x0000 }, - { 0x1a01, 0xd316, 0x0000 }, - { 0x9a01, 0xd31b, 0x3000 }, - { 0x9a01, 0xd319, 0x2000 }, - { 0x1a01, 0xd318, 0x0000 }, - { 0x1a01, 0xd31a, 0x0000 }, - { 0x9a01, 0xd31d, 0x2000 }, - { 0x1a01, 0xd31c, 0x0000 }, - { 0x1a01, 0xd31e, 0x0000 }, - { 0x9a01, 0xd327, 0x4000 }, - { 0x9a01, 0xd323, 0x3000 }, - { 0x9a01, 0xd321, 0x2000 }, - { 0x1a01, 0xd320, 0x0000 }, - { 0x1a01, 0xd322, 0x0000 }, - { 0x9a01, 0xd325, 0x2000 }, - { 0x1a01, 0xd324, 0x0000 }, - { 0x1a01, 0xd326, 0x0000 }, - { 0x9a01, 0xd32b, 0x3000 }, - { 0x9a01, 0xd329, 0x2000 }, - { 0x1a01, 0xd328, 0x0000 }, - { 0x1a01, 0xd32a, 0x0000 }, - { 0x9a01, 0xd32d, 0x2000 }, - { 0x1a01, 0xd32c, 0x0000 }, - { 0x1a01, 0xd32e, 0x0000 }, - { 0x8901, 0xd418, 0x7000 }, - { 0x9a01, 0xd34f, 0x6000 }, - { 0x9a01, 0xd33f, 0x5000 }, - { 0x9a01, 0xd337, 0x4000 }, - { 0x9a01, 0xd333, 0x3000 }, - { 0x9a01, 0xd331, 0x2000 }, - { 0x1a01, 0xd330, 0x0000 }, - { 0x1a01, 0xd332, 0x0000 }, - { 0x9a01, 0xd335, 0x2000 }, - { 0x1a01, 0xd334, 0x0000 }, - { 0x1a01, 0xd336, 0x0000 }, - { 0x9a01, 0xd33b, 0x3000 }, - { 0x9a01, 0xd339, 0x2000 }, - { 0x1a01, 0xd338, 0x0000 }, - { 0x1a01, 0xd33a, 0x0000 }, - { 0x9a01, 0xd33d, 0x2000 }, - { 0x1a01, 0xd33c, 0x0000 }, - { 0x1a01, 0xd33e, 0x0000 }, - { 0x9a01, 0xd347, 0x4000 }, - { 0x9a01, 0xd343, 0x3000 }, - { 0x9a01, 0xd341, 0x2000 }, - { 0x1a01, 0xd340, 0x0000 }, - { 0x1a01, 0xd342, 0x0000 }, - { 0x9a01, 0xd345, 0x2000 }, - { 0x1a01, 0xd344, 0x0000 }, - { 0x1a01, 0xd346, 0x0000 }, - { 0x9a01, 0xd34b, 0x3000 }, - { 0x9a01, 0xd349, 0x2000 }, - { 0x1a01, 0xd348, 0x0000 }, - { 0x1a01, 0xd34a, 0x0000 }, - { 0x9a01, 0xd34d, 0x2000 }, - { 0x1a01, 0xd34c, 0x0000 }, - { 0x1a01, 0xd34e, 0x0000 }, - { 0x8901, 0xd408, 0x5000 }, - { 0x8901, 0xd400, 0x4000 }, - { 0x9a01, 0xd353, 0x3000 }, - { 0x9a01, 0xd351, 0x2000 }, - { 0x1a01, 0xd350, 0x0000 }, - { 0x1a01, 0xd352, 0x0000 }, - { 0x9a01, 0xd355, 0x2000 }, - { 0x1a01, 0xd354, 0x0000 }, - { 0x1a01, 0xd356, 0x0000 }, - { 0x8901, 0xd404, 0x3000 }, - { 0x8901, 0xd402, 0x2000 }, - { 0x0901, 0xd401, 0x0000 }, - { 0x0901, 0xd403, 0x0000 }, - { 0x8901, 0xd406, 0x2000 }, - { 0x0901, 0xd405, 0x0000 }, - { 0x0901, 0xd407, 0x0000 }, - { 0x8901, 0xd410, 0x4000 }, - { 0x8901, 0xd40c, 0x3000 }, - { 0x8901, 0xd40a, 0x2000 }, - { 0x0901, 0xd409, 0x0000 }, - { 0x0901, 0xd40b, 0x0000 }, - { 0x8901, 0xd40e, 0x2000 }, - { 0x0901, 0xd40d, 0x0000 }, - { 0x0901, 0xd40f, 0x0000 }, - { 0x8901, 0xd414, 0x3000 }, - { 0x8901, 0xd412, 0x2000 }, - { 0x0901, 0xd411, 0x0000 }, - { 0x0901, 0xd413, 0x0000 }, - { 0x8901, 0xd416, 0x2000 }, - { 0x0901, 0xd415, 0x0000 }, - { 0x0901, 0xd417, 0x0000 }, - { 0x8901, 0xd438, 0x6000 }, - { 0x8501, 0xd428, 0x5000 }, - { 0x8501, 0xd420, 0x4000 }, - { 0x8501, 0xd41c, 0x3000 }, - { 0x8501, 0xd41a, 0x2000 }, - { 0x0901, 0xd419, 0x0000 }, - { 0x0501, 0xd41b, 0x0000 }, - { 0x8501, 0xd41e, 0x2000 }, - { 0x0501, 0xd41d, 0x0000 }, - { 0x0501, 0xd41f, 0x0000 }, - { 0x8501, 0xd424, 0x3000 }, - { 0x8501, 0xd422, 0x2000 }, - { 0x0501, 0xd421, 0x0000 }, - { 0x0501, 0xd423, 0x0000 }, - { 0x8501, 0xd426, 0x2000 }, - { 0x0501, 0xd425, 0x0000 }, - { 0x0501, 0xd427, 0x0000 }, - { 0x8501, 0xd430, 0x4000 }, - { 0x8501, 0xd42c, 0x3000 }, - { 0x8501, 0xd42a, 0x2000 }, - { 0x0501, 0xd429, 0x0000 }, - { 0x0501, 0xd42b, 0x0000 }, - { 0x8501, 0xd42e, 0x2000 }, - { 0x0501, 0xd42d, 0x0000 }, - { 0x0501, 0xd42f, 0x0000 }, - { 0x8901, 0xd434, 0x3000 }, - { 0x8501, 0xd432, 0x2000 }, - { 0x0501, 0xd431, 0x0000 }, - { 0x0501, 0xd433, 0x0000 }, - { 0x8901, 0xd436, 0x2000 }, - { 0x0901, 0xd435, 0x0000 }, - { 0x0901, 0xd437, 0x0000 }, - { 0x8901, 0xd448, 0x5000 }, - { 0x8901, 0xd440, 0x4000 }, - { 0x8901, 0xd43c, 0x3000 }, - { 0x8901, 0xd43a, 0x2000 }, - { 0x0901, 0xd439, 0x0000 }, - { 0x0901, 0xd43b, 0x0000 }, - { 0x8901, 0xd43e, 0x2000 }, - { 0x0901, 0xd43d, 0x0000 }, - { 0x0901, 0xd43f, 0x0000 }, - { 0x8901, 0xd444, 0x3000 }, - { 0x8901, 0xd442, 0x2000 }, - { 0x0901, 0xd441, 0x0000 }, - { 0x0901, 0xd443, 0x0000 }, - { 0x8901, 0xd446, 0x2000 }, - { 0x0901, 0xd445, 0x0000 }, - { 0x0901, 0xd447, 0x0000 }, - { 0x8501, 0xd450, 0x4000 }, - { 0x8901, 0xd44c, 0x3000 }, - { 0x8901, 0xd44a, 0x2000 }, - { 0x0901, 0xd449, 0x0000 }, - { 0x0901, 0xd44b, 0x0000 }, - { 0x8501, 0xd44e, 0x2000 }, - { 0x0901, 0xd44d, 0x0000 }, - { 0x0501, 0xd44f, 0x0000 }, - { 0x8501, 0xd454, 0x3000 }, - { 0x8501, 0xd452, 0x2000 }, - { 0x0501, 0xd451, 0x0000 }, - { 0x0501, 0xd453, 0x0000 }, - { 0x8501, 0xd457, 0x2000 }, - { 0x0501, 0xd456, 0x0000 }, - { 0x0501, 0xd458, 0x0000 }, - { 0x8702, 0xf876, 0xb000 }, - { 0x8901, 0xd670, 0xa000 }, - { 0x8901, 0xd570, 0x9000 }, - { 0x8901, 0xd4e4, 0x8000 }, - { 0x8501, 0xd499, 0x7000 }, - { 0x8901, 0xd479, 0x6000 }, - { 0x8901, 0xd469, 0x5000 }, - { 0x8501, 0xd461, 0x4000 }, - { 0x8501, 0xd45d, 0x3000 }, - { 0x8501, 0xd45b, 0x2000 }, - { 0x0501, 0xd45a, 0x0000 }, - { 0x0501, 0xd45c, 0x0000 }, - { 0x8501, 0xd45f, 0x2000 }, - { 0x0501, 0xd45e, 0x0000 }, - { 0x0501, 0xd460, 0x0000 }, - { 0x8501, 0xd465, 0x3000 }, - { 0x8501, 0xd463, 0x2000 }, - { 0x0501, 0xd462, 0x0000 }, - { 0x0501, 0xd464, 0x0000 }, - { 0x8501, 0xd467, 0x2000 }, - { 0x0501, 0xd466, 0x0000 }, - { 0x0901, 0xd468, 0x0000 }, - { 0x8901, 0xd471, 0x4000 }, - { 0x8901, 0xd46d, 0x3000 }, - { 0x8901, 0xd46b, 0x2000 }, - { 0x0901, 0xd46a, 0x0000 }, - { 0x0901, 0xd46c, 0x0000 }, - { 0x8901, 0xd46f, 0x2000 }, - { 0x0901, 0xd46e, 0x0000 }, - { 0x0901, 0xd470, 0x0000 }, - { 0x8901, 0xd475, 0x3000 }, - { 0x8901, 0xd473, 0x2000 }, - { 0x0901, 0xd472, 0x0000 }, - { 0x0901, 0xd474, 0x0000 }, - { 0x8901, 0xd477, 0x2000 }, - { 0x0901, 0xd476, 0x0000 }, - { 0x0901, 0xd478, 0x0000 }, - { 0x8501, 0xd489, 0x5000 }, - { 0x8901, 0xd481, 0x4000 }, - { 0x8901, 0xd47d, 0x3000 }, - { 0x8901, 0xd47b, 0x2000 }, - { 0x0901, 0xd47a, 0x0000 }, - { 0x0901, 0xd47c, 0x0000 }, - { 0x8901, 0xd47f, 0x2000 }, - { 0x0901, 0xd47e, 0x0000 }, - { 0x0901, 0xd480, 0x0000 }, - { 0x8501, 0xd485, 0x3000 }, - { 0x8501, 0xd483, 0x2000 }, - { 0x0501, 0xd482, 0x0000 }, - { 0x0501, 0xd484, 0x0000 }, - { 0x8501, 0xd487, 0x2000 }, - { 0x0501, 0xd486, 0x0000 }, - { 0x0501, 0xd488, 0x0000 }, - { 0x8501, 0xd491, 0x4000 }, - { 0x8501, 0xd48d, 0x3000 }, - { 0x8501, 0xd48b, 0x2000 }, - { 0x0501, 0xd48a, 0x0000 }, - { 0x0501, 0xd48c, 0x0000 }, - { 0x8501, 0xd48f, 0x2000 }, - { 0x0501, 0xd48e, 0x0000 }, - { 0x0501, 0xd490, 0x0000 }, - { 0x8501, 0xd495, 0x3000 }, - { 0x8501, 0xd493, 0x2000 }, - { 0x0501, 0xd492, 0x0000 }, - { 0x0501, 0xd494, 0x0000 }, - { 0x8501, 0xd497, 0x2000 }, - { 0x0501, 0xd496, 0x0000 }, - { 0x0501, 0xd498, 0x0000 }, - { 0x8501, 0xd4c3, 0x6000 }, - { 0x8901, 0xd4b1, 0x5000 }, - { 0x8901, 0xd4a6, 0x4000 }, - { 0x8901, 0xd49e, 0x3000 }, - { 0x8501, 0xd49b, 0x2000 }, - { 0x0501, 0xd49a, 0x0000 }, - { 0x0901, 0xd49c, 0x0000 }, - { 0x8901, 0xd4a2, 0x2000 }, - { 0x0901, 0xd49f, 0x0000 }, - { 0x0901, 0xd4a5, 0x0000 }, - { 0x8901, 0xd4ac, 0x3000 }, - { 0x8901, 0xd4aa, 0x2000 }, - { 0x0901, 0xd4a9, 0x0000 }, - { 0x0901, 0xd4ab, 0x0000 }, - { 0x8901, 0xd4af, 0x2000 }, - { 0x0901, 0xd4ae, 0x0000 }, - { 0x0901, 0xd4b0, 0x0000 }, - { 0x8501, 0xd4b9, 0x4000 }, - { 0x8901, 0xd4b5, 0x3000 }, - { 0x8901, 0xd4b3, 0x2000 }, - { 0x0901, 0xd4b2, 0x0000 }, - { 0x0901, 0xd4b4, 0x0000 }, - { 0x8501, 0xd4b7, 0x2000 }, - { 0x0501, 0xd4b6, 0x0000 }, - { 0x0501, 0xd4b8, 0x0000 }, - { 0x8501, 0xd4bf, 0x3000 }, - { 0x8501, 0xd4bd, 0x2000 }, - { 0x0501, 0xd4bb, 0x0000 }, - { 0x0501, 0xd4be, 0x0000 }, - { 0x8501, 0xd4c1, 0x2000 }, - { 0x0501, 0xd4c0, 0x0000 }, - { 0x0501, 0xd4c2, 0x0000 }, - { 0x8901, 0xd4d4, 0x5000 }, - { 0x8501, 0xd4cc, 0x4000 }, - { 0x8501, 0xd4c8, 0x3000 }, - { 0x8501, 0xd4c6, 0x2000 }, - { 0x0501, 0xd4c5, 0x0000 }, - { 0x0501, 0xd4c7, 0x0000 }, - { 0x8501, 0xd4ca, 0x2000 }, - { 0x0501, 0xd4c9, 0x0000 }, - { 0x0501, 0xd4cb, 0x0000 }, - { 0x8901, 0xd4d0, 0x3000 }, - { 0x8501, 0xd4ce, 0x2000 }, - { 0x0501, 0xd4cd, 0x0000 }, - { 0x0501, 0xd4cf, 0x0000 }, - { 0x8901, 0xd4d2, 0x2000 }, - { 0x0901, 0xd4d1, 0x0000 }, - { 0x0901, 0xd4d3, 0x0000 }, - { 0x8901, 0xd4dc, 0x4000 }, - { 0x8901, 0xd4d8, 0x3000 }, - { 0x8901, 0xd4d6, 0x2000 }, - { 0x0901, 0xd4d5, 0x0000 }, - { 0x0901, 0xd4d7, 0x0000 }, - { 0x8901, 0xd4da, 0x2000 }, - { 0x0901, 0xd4d9, 0x0000 }, - { 0x0901, 0xd4db, 0x0000 }, - { 0x8901, 0xd4e0, 0x3000 }, - { 0x8901, 0xd4de, 0x2000 }, - { 0x0901, 0xd4dd, 0x0000 }, - { 0x0901, 0xd4df, 0x0000 }, - { 0x8901, 0xd4e2, 0x2000 }, - { 0x0901, 0xd4e1, 0x0000 }, - { 0x0901, 0xd4e3, 0x0000 }, - { 0x8501, 0xd529, 0x7000 }, - { 0x8901, 0xd504, 0x6000 }, - { 0x8501, 0xd4f4, 0x5000 }, - { 0x8501, 0xd4ec, 0x4000 }, - { 0x8901, 0xd4e8, 0x3000 }, - { 0x8901, 0xd4e6, 0x2000 }, - { 0x0901, 0xd4e5, 0x0000 }, - { 0x0901, 0xd4e7, 0x0000 }, - { 0x8501, 0xd4ea, 0x2000 }, - { 0x0901, 0xd4e9, 0x0000 }, - { 0x0501, 0xd4eb, 0x0000 }, - { 0x8501, 0xd4f0, 0x3000 }, - { 0x8501, 0xd4ee, 0x2000 }, - { 0x0501, 0xd4ed, 0x0000 }, - { 0x0501, 0xd4ef, 0x0000 }, - { 0x8501, 0xd4f2, 0x2000 }, - { 0x0501, 0xd4f1, 0x0000 }, - { 0x0501, 0xd4f3, 0x0000 }, - { 0x8501, 0xd4fc, 0x4000 }, - { 0x8501, 0xd4f8, 0x3000 }, - { 0x8501, 0xd4f6, 0x2000 }, - { 0x0501, 0xd4f5, 0x0000 }, - { 0x0501, 0xd4f7, 0x0000 }, - { 0x8501, 0xd4fa, 0x2000 }, - { 0x0501, 0xd4f9, 0x0000 }, - { 0x0501, 0xd4fb, 0x0000 }, - { 0x8501, 0xd500, 0x3000 }, - { 0x8501, 0xd4fe, 0x2000 }, - { 0x0501, 0xd4fd, 0x0000 }, - { 0x0501, 0xd4ff, 0x0000 }, - { 0x8501, 0xd502, 0x2000 }, - { 0x0501, 0xd501, 0x0000 }, - { 0x0501, 0xd503, 0x0000 }, - { 0x8901, 0xd518, 0x5000 }, - { 0x8901, 0xd50f, 0x4000 }, - { 0x8901, 0xd509, 0x3000 }, - { 0x8901, 0xd507, 0x2000 }, - { 0x0901, 0xd505, 0x0000 }, - { 0x0901, 0xd508, 0x0000 }, - { 0x8901, 0xd50d, 0x2000 }, - { 0x0901, 0xd50a, 0x0000 }, - { 0x0901, 0xd50e, 0x0000 }, - { 0x8901, 0xd513, 0x3000 }, - { 0x8901, 0xd511, 0x2000 }, - { 0x0901, 0xd510, 0x0000 }, - { 0x0901, 0xd512, 0x0000 }, - { 0x8901, 0xd516, 0x2000 }, - { 0x0901, 0xd514, 0x0000 }, - { 0x0901, 0xd517, 0x0000 }, - { 0x8501, 0xd521, 0x4000 }, - { 0x8901, 0xd51c, 0x3000 }, - { 0x8901, 0xd51a, 0x2000 }, - { 0x0901, 0xd519, 0x0000 }, - { 0x0901, 0xd51b, 0x0000 }, - { 0x8501, 0xd51f, 0x2000 }, - { 0x0501, 0xd51e, 0x0000 }, - { 0x0501, 0xd520, 0x0000 }, - { 0x8501, 0xd525, 0x3000 }, - { 0x8501, 0xd523, 0x2000 }, - { 0x0501, 0xd522, 0x0000 }, - { 0x0501, 0xd524, 0x0000 }, - { 0x8501, 0xd527, 0x2000 }, - { 0x0501, 0xd526, 0x0000 }, - { 0x0501, 0xd528, 0x0000 }, - { 0x8901, 0xd54f, 0x6000 }, - { 0x8901, 0xd539, 0x5000 }, - { 0x8501, 0xd531, 0x4000 }, - { 0x8501, 0xd52d, 0x3000 }, - { 0x8501, 0xd52b, 0x2000 }, - { 0x0501, 0xd52a, 0x0000 }, - { 0x0501, 0xd52c, 0x0000 }, - { 0x8501, 0xd52f, 0x2000 }, - { 0x0501, 0xd52e, 0x0000 }, - { 0x0501, 0xd530, 0x0000 }, - { 0x8501, 0xd535, 0x3000 }, - { 0x8501, 0xd533, 0x2000 }, - { 0x0501, 0xd532, 0x0000 }, - { 0x0501, 0xd534, 0x0000 }, - { 0x8501, 0xd537, 0x2000 }, - { 0x0501, 0xd536, 0x0000 }, - { 0x0901, 0xd538, 0x0000 }, - { 0x8901, 0xd543, 0x4000 }, - { 0x8901, 0xd53e, 0x3000 }, - { 0x8901, 0xd53c, 0x2000 }, - { 0x0901, 0xd53b, 0x0000 }, - { 0x0901, 0xd53d, 0x0000 }, - { 0x8901, 0xd541, 0x2000 }, - { 0x0901, 0xd540, 0x0000 }, - { 0x0901, 0xd542, 0x0000 }, - { 0x8901, 0xd54b, 0x3000 }, - { 0x8901, 0xd546, 0x2000 }, - { 0x0901, 0xd544, 0x0000 }, - { 0x0901, 0xd54a, 0x0000 }, - { 0x8901, 0xd54d, 0x2000 }, - { 0x0901, 0xd54c, 0x0000 }, - { 0x0901, 0xd54e, 0x0000 }, - { 0x8501, 0xd560, 0x5000 }, - { 0x8501, 0xd558, 0x4000 }, - { 0x8501, 0xd554, 0x3000 }, - { 0x8501, 0xd552, 0x2000 }, - { 0x0901, 0xd550, 0x0000 }, - { 0x0501, 0xd553, 0x0000 }, - { 0x8501, 0xd556, 0x2000 }, - { 0x0501, 0xd555, 0x0000 }, - { 0x0501, 0xd557, 0x0000 }, - { 0x8501, 0xd55c, 0x3000 }, - { 0x8501, 0xd55a, 0x2000 }, - { 0x0501, 0xd559, 0x0000 }, - { 0x0501, 0xd55b, 0x0000 }, - { 0x8501, 0xd55e, 0x2000 }, - { 0x0501, 0xd55d, 0x0000 }, - { 0x0501, 0xd55f, 0x0000 }, - { 0x8501, 0xd568, 0x4000 }, - { 0x8501, 0xd564, 0x3000 }, - { 0x8501, 0xd562, 0x2000 }, - { 0x0501, 0xd561, 0x0000 }, - { 0x0501, 0xd563, 0x0000 }, - { 0x8501, 0xd566, 0x2000 }, - { 0x0501, 0xd565, 0x0000 }, - { 0x0501, 0xd567, 0x0000 }, - { 0x8901, 0xd56c, 0x3000 }, - { 0x8501, 0xd56a, 0x2000 }, - { 0x0501, 0xd569, 0x0000 }, - { 0x0501, 0xd56b, 0x0000 }, - { 0x8901, 0xd56e, 0x2000 }, - { 0x0901, 0xd56d, 0x0000 }, - { 0x0901, 0xd56f, 0x0000 }, - { 0x8501, 0xd5f0, 0x8000 }, - { 0x8901, 0xd5b0, 0x7000 }, - { 0x8501, 0xd590, 0x6000 }, - { 0x8901, 0xd580, 0x5000 }, - { 0x8901, 0xd578, 0x4000 }, - { 0x8901, 0xd574, 0x3000 }, - { 0x8901, 0xd572, 0x2000 }, - { 0x0901, 0xd571, 0x0000 }, - { 0x0901, 0xd573, 0x0000 }, - { 0x8901, 0xd576, 0x2000 }, - { 0x0901, 0xd575, 0x0000 }, - { 0x0901, 0xd577, 0x0000 }, - { 0x8901, 0xd57c, 0x3000 }, - { 0x8901, 0xd57a, 0x2000 }, - { 0x0901, 0xd579, 0x0000 }, - { 0x0901, 0xd57b, 0x0000 }, - { 0x8901, 0xd57e, 0x2000 }, - { 0x0901, 0xd57d, 0x0000 }, - { 0x0901, 0xd57f, 0x0000 }, - { 0x8501, 0xd588, 0x4000 }, - { 0x8901, 0xd584, 0x3000 }, - { 0x8901, 0xd582, 0x2000 }, - { 0x0901, 0xd581, 0x0000 }, - { 0x0901, 0xd583, 0x0000 }, - { 0x8501, 0xd586, 0x2000 }, - { 0x0901, 0xd585, 0x0000 }, - { 0x0501, 0xd587, 0x0000 }, - { 0x8501, 0xd58c, 0x3000 }, - { 0x8501, 0xd58a, 0x2000 }, - { 0x0501, 0xd589, 0x0000 }, - { 0x0501, 0xd58b, 0x0000 }, - { 0x8501, 0xd58e, 0x2000 }, - { 0x0501, 0xd58d, 0x0000 }, - { 0x0501, 0xd58f, 0x0000 }, - { 0x8901, 0xd5a0, 0x5000 }, - { 0x8501, 0xd598, 0x4000 }, - { 0x8501, 0xd594, 0x3000 }, - { 0x8501, 0xd592, 0x2000 }, - { 0x0501, 0xd591, 0x0000 }, - { 0x0501, 0xd593, 0x0000 }, - { 0x8501, 0xd596, 0x2000 }, - { 0x0501, 0xd595, 0x0000 }, - { 0x0501, 0xd597, 0x0000 }, - { 0x8501, 0xd59c, 0x3000 }, - { 0x8501, 0xd59a, 0x2000 }, - { 0x0501, 0xd599, 0x0000 }, - { 0x0501, 0xd59b, 0x0000 }, - { 0x8501, 0xd59e, 0x2000 }, - { 0x0501, 0xd59d, 0x0000 }, - { 0x0501, 0xd59f, 0x0000 }, - { 0x8901, 0xd5a8, 0x4000 }, - { 0x8901, 0xd5a4, 0x3000 }, - { 0x8901, 0xd5a2, 0x2000 }, - { 0x0901, 0xd5a1, 0x0000 }, - { 0x0901, 0xd5a3, 0x0000 }, - { 0x8901, 0xd5a6, 0x2000 }, - { 0x0901, 0xd5a5, 0x0000 }, - { 0x0901, 0xd5a7, 0x0000 }, - { 0x8901, 0xd5ac, 0x3000 }, - { 0x8901, 0xd5aa, 0x2000 }, - { 0x0901, 0xd5a9, 0x0000 }, - { 0x0901, 0xd5ab, 0x0000 }, - { 0x8901, 0xd5ae, 0x2000 }, - { 0x0901, 0xd5ad, 0x0000 }, - { 0x0901, 0xd5af, 0x0000 }, - { 0x8501, 0xd5d0, 0x6000 }, - { 0x8501, 0xd5c0, 0x5000 }, - { 0x8901, 0xd5b8, 0x4000 }, - { 0x8901, 0xd5b4, 0x3000 }, - { 0x8901, 0xd5b2, 0x2000 }, - { 0x0901, 0xd5b1, 0x0000 }, - { 0x0901, 0xd5b3, 0x0000 }, - { 0x8901, 0xd5b6, 0x2000 }, - { 0x0901, 0xd5b5, 0x0000 }, - { 0x0901, 0xd5b7, 0x0000 }, - { 0x8501, 0xd5bc, 0x3000 }, - { 0x8501, 0xd5ba, 0x2000 }, - { 0x0901, 0xd5b9, 0x0000 }, - { 0x0501, 0xd5bb, 0x0000 }, - { 0x8501, 0xd5be, 0x2000 }, - { 0x0501, 0xd5bd, 0x0000 }, - { 0x0501, 0xd5bf, 0x0000 }, - { 0x8501, 0xd5c8, 0x4000 }, - { 0x8501, 0xd5c4, 0x3000 }, - { 0x8501, 0xd5c2, 0x2000 }, - { 0x0501, 0xd5c1, 0x0000 }, - { 0x0501, 0xd5c3, 0x0000 }, - { 0x8501, 0xd5c6, 0x2000 }, - { 0x0501, 0xd5c5, 0x0000 }, - { 0x0501, 0xd5c7, 0x0000 }, - { 0x8501, 0xd5cc, 0x3000 }, - { 0x8501, 0xd5ca, 0x2000 }, - { 0x0501, 0xd5c9, 0x0000 }, - { 0x0501, 0xd5cb, 0x0000 }, - { 0x8501, 0xd5ce, 0x2000 }, - { 0x0501, 0xd5cd, 0x0000 }, - { 0x0501, 0xd5cf, 0x0000 }, - { 0x8901, 0xd5e0, 0x5000 }, - { 0x8901, 0xd5d8, 0x4000 }, - { 0x8901, 0xd5d4, 0x3000 }, - { 0x8501, 0xd5d2, 0x2000 }, - { 0x0501, 0xd5d1, 0x0000 }, - { 0x0501, 0xd5d3, 0x0000 }, - { 0x8901, 0xd5d6, 0x2000 }, - { 0x0901, 0xd5d5, 0x0000 }, - { 0x0901, 0xd5d7, 0x0000 }, - { 0x8901, 0xd5dc, 0x3000 }, - { 0x8901, 0xd5da, 0x2000 }, - { 0x0901, 0xd5d9, 0x0000 }, - { 0x0901, 0xd5db, 0x0000 }, - { 0x8901, 0xd5de, 0x2000 }, - { 0x0901, 0xd5dd, 0x0000 }, - { 0x0901, 0xd5df, 0x0000 }, - { 0x8901, 0xd5e8, 0x4000 }, - { 0x8901, 0xd5e4, 0x3000 }, - { 0x8901, 0xd5e2, 0x2000 }, - { 0x0901, 0xd5e1, 0x0000 }, - { 0x0901, 0xd5e3, 0x0000 }, - { 0x8901, 0xd5e6, 0x2000 }, - { 0x0901, 0xd5e5, 0x0000 }, - { 0x0901, 0xd5e7, 0x0000 }, - { 0x8901, 0xd5ec, 0x3000 }, - { 0x8901, 0xd5ea, 0x2000 }, - { 0x0901, 0xd5e9, 0x0000 }, - { 0x0901, 0xd5eb, 0x0000 }, - { 0x8501, 0xd5ee, 0x2000 }, - { 0x0901, 0xd5ed, 0x0000 }, - { 0x0501, 0xd5ef, 0x0000 }, - { 0x8501, 0xd630, 0x7000 }, - { 0x8901, 0xd610, 0x6000 }, - { 0x8501, 0xd600, 0x5000 }, - { 0x8501, 0xd5f8, 0x4000 }, - { 0x8501, 0xd5f4, 0x3000 }, - { 0x8501, 0xd5f2, 0x2000 }, - { 0x0501, 0xd5f1, 0x0000 }, - { 0x0501, 0xd5f3, 0x0000 }, - { 0x8501, 0xd5f6, 0x2000 }, - { 0x0501, 0xd5f5, 0x0000 }, - { 0x0501, 0xd5f7, 0x0000 }, - { 0x8501, 0xd5fc, 0x3000 }, - { 0x8501, 0xd5fa, 0x2000 }, - { 0x0501, 0xd5f9, 0x0000 }, - { 0x0501, 0xd5fb, 0x0000 }, - { 0x8501, 0xd5fe, 0x2000 }, - { 0x0501, 0xd5fd, 0x0000 }, - { 0x0501, 0xd5ff, 0x0000 }, - { 0x8901, 0xd608, 0x4000 }, - { 0x8501, 0xd604, 0x3000 }, - { 0x8501, 0xd602, 0x2000 }, - { 0x0501, 0xd601, 0x0000 }, - { 0x0501, 0xd603, 0x0000 }, - { 0x8501, 0xd606, 0x2000 }, - { 0x0501, 0xd605, 0x0000 }, - { 0x0501, 0xd607, 0x0000 }, - { 0x8901, 0xd60c, 0x3000 }, - { 0x8901, 0xd60a, 0x2000 }, - { 0x0901, 0xd609, 0x0000 }, - { 0x0901, 0xd60b, 0x0000 }, - { 0x8901, 0xd60e, 0x2000 }, - { 0x0901, 0xd60d, 0x0000 }, - { 0x0901, 0xd60f, 0x0000 }, - { 0x8901, 0xd620, 0x5000 }, - { 0x8901, 0xd618, 0x4000 }, - { 0x8901, 0xd614, 0x3000 }, - { 0x8901, 0xd612, 0x2000 }, - { 0x0901, 0xd611, 0x0000 }, - { 0x0901, 0xd613, 0x0000 }, - { 0x8901, 0xd616, 0x2000 }, - { 0x0901, 0xd615, 0x0000 }, - { 0x0901, 0xd617, 0x0000 }, - { 0x8901, 0xd61c, 0x3000 }, - { 0x8901, 0xd61a, 0x2000 }, - { 0x0901, 0xd619, 0x0000 }, - { 0x0901, 0xd61b, 0x0000 }, - { 0x8901, 0xd61e, 0x2000 }, - { 0x0901, 0xd61d, 0x0000 }, - { 0x0901, 0xd61f, 0x0000 }, - { 0x8501, 0xd628, 0x4000 }, - { 0x8501, 0xd624, 0x3000 }, - { 0x8501, 0xd622, 0x2000 }, - { 0x0901, 0xd621, 0x0000 }, - { 0x0501, 0xd623, 0x0000 }, - { 0x8501, 0xd626, 0x2000 }, - { 0x0501, 0xd625, 0x0000 }, - { 0x0501, 0xd627, 0x0000 }, - { 0x8501, 0xd62c, 0x3000 }, - { 0x8501, 0xd62a, 0x2000 }, - { 0x0501, 0xd629, 0x0000 }, - { 0x0501, 0xd62b, 0x0000 }, - { 0x8501, 0xd62e, 0x2000 }, - { 0x0501, 0xd62d, 0x0000 }, - { 0x0501, 0xd62f, 0x0000 }, - { 0x8901, 0xd650, 0x6000 }, - { 0x8901, 0xd640, 0x5000 }, - { 0x8501, 0xd638, 0x4000 }, - { 0x8501, 0xd634, 0x3000 }, - { 0x8501, 0xd632, 0x2000 }, - { 0x0501, 0xd631, 0x0000 }, - { 0x0501, 0xd633, 0x0000 }, - { 0x8501, 0xd636, 0x2000 }, - { 0x0501, 0xd635, 0x0000 }, - { 0x0501, 0xd637, 0x0000 }, - { 0x8901, 0xd63c, 0x3000 }, - { 0x8501, 0xd63a, 0x2000 }, - { 0x0501, 0xd639, 0x0000 }, - { 0x0501, 0xd63b, 0x0000 }, - { 0x8901, 0xd63e, 0x2000 }, - { 0x0901, 0xd63d, 0x0000 }, - { 0x0901, 0xd63f, 0x0000 }, - { 0x8901, 0xd648, 0x4000 }, - { 0x8901, 0xd644, 0x3000 }, - { 0x8901, 0xd642, 0x2000 }, - { 0x0901, 0xd641, 0x0000 }, - { 0x0901, 0xd643, 0x0000 }, - { 0x8901, 0xd646, 0x2000 }, - { 0x0901, 0xd645, 0x0000 }, - { 0x0901, 0xd647, 0x0000 }, - { 0x8901, 0xd64c, 0x3000 }, - { 0x8901, 0xd64a, 0x2000 }, - { 0x0901, 0xd649, 0x0000 }, - { 0x0901, 0xd64b, 0x0000 }, - { 0x8901, 0xd64e, 0x2000 }, - { 0x0901, 0xd64d, 0x0000 }, - { 0x0901, 0xd64f, 0x0000 }, - { 0x8501, 0xd660, 0x5000 }, - { 0x8501, 0xd658, 0x4000 }, - { 0x8901, 0xd654, 0x3000 }, - { 0x8901, 0xd652, 0x2000 }, - { 0x0901, 0xd651, 0x0000 }, - { 0x0901, 0xd653, 0x0000 }, - { 0x8501, 0xd656, 0x2000 }, - { 0x0901, 0xd655, 0x0000 }, - { 0x0501, 0xd657, 0x0000 }, - { 0x8501, 0xd65c, 0x3000 }, - { 0x8501, 0xd65a, 0x2000 }, - { 0x0501, 0xd659, 0x0000 }, - { 0x0501, 0xd65b, 0x0000 }, - { 0x8501, 0xd65e, 0x2000 }, - { 0x0501, 0xd65d, 0x0000 }, - { 0x0501, 0xd65f, 0x0000 }, - { 0x8501, 0xd668, 0x4000 }, - { 0x8501, 0xd664, 0x3000 }, - { 0x8501, 0xd662, 0x2000 }, - { 0x0501, 0xd661, 0x0000 }, - { 0x0501, 0xd663, 0x0000 }, - { 0x8501, 0xd666, 0x2000 }, - { 0x0501, 0xd665, 0x0000 }, - { 0x0501, 0xd667, 0x0000 }, - { 0x8501, 0xd66c, 0x3000 }, - { 0x8501, 0xd66a, 0x2000 }, - { 0x0501, 0xd669, 0x0000 }, - { 0x0501, 0xd66b, 0x0000 }, - { 0x8501, 0xd66e, 0x2000 }, - { 0x0501, 0xd66d, 0x0000 }, - { 0x0501, 0xd66f, 0x0000 }, - { 0x8501, 0xd774, 0x9000 }, - { 0x8901, 0xd6f4, 0x8000 }, - { 0x8901, 0xd6b4, 0x7000 }, - { 0x8501, 0xd690, 0x6000 }, - { 0x8901, 0xd680, 0x5000 }, - { 0x8901, 0xd678, 0x4000 }, - { 0x8901, 0xd674, 0x3000 }, - { 0x8901, 0xd672, 0x2000 }, - { 0x0901, 0xd671, 0x0000 }, - { 0x0901, 0xd673, 0x0000 }, - { 0x8901, 0xd676, 0x2000 }, - { 0x0901, 0xd675, 0x0000 }, - { 0x0901, 0xd677, 0x0000 }, - { 0x8901, 0xd67c, 0x3000 }, - { 0x8901, 0xd67a, 0x2000 }, - { 0x0901, 0xd679, 0x0000 }, - { 0x0901, 0xd67b, 0x0000 }, - { 0x8901, 0xd67e, 0x2000 }, - { 0x0901, 0xd67d, 0x0000 }, - { 0x0901, 0xd67f, 0x0000 }, - { 0x8901, 0xd688, 0x4000 }, - { 0x8901, 0xd684, 0x3000 }, - { 0x8901, 0xd682, 0x2000 }, - { 0x0901, 0xd681, 0x0000 }, - { 0x0901, 0xd683, 0x0000 }, - { 0x8901, 0xd686, 0x2000 }, - { 0x0901, 0xd685, 0x0000 }, - { 0x0901, 0xd687, 0x0000 }, - { 0x8501, 0xd68c, 0x3000 }, - { 0x8501, 0xd68a, 0x2000 }, - { 0x0901, 0xd689, 0x0000 }, - { 0x0501, 0xd68b, 0x0000 }, - { 0x8501, 0xd68e, 0x2000 }, - { 0x0501, 0xd68d, 0x0000 }, - { 0x0501, 0xd68f, 0x0000 }, - { 0x8501, 0xd6a0, 0x5000 }, - { 0x8501, 0xd698, 0x4000 }, - { 0x8501, 0xd694, 0x3000 }, - { 0x8501, 0xd692, 0x2000 }, - { 0x0501, 0xd691, 0x0000 }, - { 0x0501, 0xd693, 0x0000 }, - { 0x8501, 0xd696, 0x2000 }, - { 0x0501, 0xd695, 0x0000 }, - { 0x0501, 0xd697, 0x0000 }, - { 0x8501, 0xd69c, 0x3000 }, - { 0x8501, 0xd69a, 0x2000 }, - { 0x0501, 0xd699, 0x0000 }, - { 0x0501, 0xd69b, 0x0000 }, - { 0x8501, 0xd69e, 0x2000 }, - { 0x0501, 0xd69d, 0x0000 }, - { 0x0501, 0xd69f, 0x0000 }, - { 0x8901, 0xd6ac, 0x4000 }, - { 0x8901, 0xd6a8, 0x3000 }, - { 0x8501, 0xd6a2, 0x2000 }, - { 0x0501, 0xd6a1, 0x0000 }, - { 0x0501, 0xd6a3, 0x0000 }, - { 0x8901, 0xd6aa, 0x2000 }, - { 0x0901, 0xd6a9, 0x0000 }, - { 0x0901, 0xd6ab, 0x0000 }, - { 0x8901, 0xd6b0, 0x3000 }, - { 0x8901, 0xd6ae, 0x2000 }, - { 0x0901, 0xd6ad, 0x0000 }, - { 0x0901, 0xd6af, 0x0000 }, - { 0x8901, 0xd6b2, 0x2000 }, - { 0x0901, 0xd6b1, 0x0000 }, - { 0x0901, 0xd6b3, 0x0000 }, - { 0x8501, 0xd6d4, 0x6000 }, - { 0x8501, 0xd6c4, 0x5000 }, - { 0x8901, 0xd6bc, 0x4000 }, - { 0x8901, 0xd6b8, 0x3000 }, - { 0x8901, 0xd6b6, 0x2000 }, - { 0x0901, 0xd6b5, 0x0000 }, - { 0x0901, 0xd6b7, 0x0000 }, - { 0x8901, 0xd6ba, 0x2000 }, - { 0x0901, 0xd6b9, 0x0000 }, - { 0x0901, 0xd6bb, 0x0000 }, - { 0x8901, 0xd6c0, 0x3000 }, - { 0x8901, 0xd6be, 0x2000 }, - { 0x0901, 0xd6bd, 0x0000 }, - { 0x0901, 0xd6bf, 0x0000 }, - { 0x8501, 0xd6c2, 0x2000 }, - { 0x1901, 0xd6c1, 0x0000 }, - { 0x0501, 0xd6c3, 0x0000 }, - { 0x8501, 0xd6cc, 0x4000 }, - { 0x8501, 0xd6c8, 0x3000 }, - { 0x8501, 0xd6c6, 0x2000 }, - { 0x0501, 0xd6c5, 0x0000 }, - { 0x0501, 0xd6c7, 0x0000 }, - { 0x8501, 0xd6ca, 0x2000 }, - { 0x0501, 0xd6c9, 0x0000 }, - { 0x0501, 0xd6cb, 0x0000 }, - { 0x8501, 0xd6d0, 0x3000 }, - { 0x8501, 0xd6ce, 0x2000 }, - { 0x0501, 0xd6cd, 0x0000 }, - { 0x0501, 0xd6cf, 0x0000 }, - { 0x8501, 0xd6d2, 0x2000 }, - { 0x0501, 0xd6d1, 0x0000 }, - { 0x0501, 0xd6d3, 0x0000 }, - { 0x8901, 0xd6e4, 0x5000 }, - { 0x8501, 0xd6dc, 0x4000 }, - { 0x8501, 0xd6d8, 0x3000 }, - { 0x8501, 0xd6d6, 0x2000 }, - { 0x0501, 0xd6d5, 0x0000 }, - { 0x0501, 0xd6d7, 0x0000 }, - { 0x8501, 0xd6da, 0x2000 }, - { 0x0501, 0xd6d9, 0x0000 }, - { 0x1901, 0xd6db, 0x0000 }, - { 0x8501, 0xd6e0, 0x3000 }, - { 0x8501, 0xd6de, 0x2000 }, - { 0x0501, 0xd6dd, 0x0000 }, - { 0x0501, 0xd6df, 0x0000 }, - { 0x8901, 0xd6e2, 0x2000 }, - { 0x0501, 0xd6e1, 0x0000 }, - { 0x0901, 0xd6e3, 0x0000 }, - { 0x8901, 0xd6ec, 0x4000 }, - { 0x8901, 0xd6e8, 0x3000 }, - { 0x8901, 0xd6e6, 0x2000 }, - { 0x0901, 0xd6e5, 0x0000 }, - { 0x0901, 0xd6e7, 0x0000 }, - { 0x8901, 0xd6ea, 0x2000 }, - { 0x0901, 0xd6e9, 0x0000 }, - { 0x0901, 0xd6eb, 0x0000 }, - { 0x8901, 0xd6f0, 0x3000 }, - { 0x8901, 0xd6ee, 0x2000 }, - { 0x0901, 0xd6ed, 0x0000 }, - { 0x0901, 0xd6ef, 0x0000 }, - { 0x8901, 0xd6f2, 0x2000 }, - { 0x0901, 0xd6f1, 0x0000 }, - { 0x0901, 0xd6f3, 0x0000 }, - { 0x8901, 0xd734, 0x7000 }, - { 0x8501, 0xd714, 0x6000 }, - { 0x8501, 0xd704, 0x5000 }, - { 0x8501, 0xd6fc, 0x4000 }, - { 0x8901, 0xd6f8, 0x3000 }, - { 0x8901, 0xd6f6, 0x2000 }, - { 0x0901, 0xd6f5, 0x0000 }, - { 0x0901, 0xd6f7, 0x0000 }, - { 0x8901, 0xd6fa, 0x2000 }, - { 0x0901, 0xd6f9, 0x0000 }, - { 0x1901, 0xd6fb, 0x0000 }, - { 0x8501, 0xd700, 0x3000 }, - { 0x8501, 0xd6fe, 0x2000 }, - { 0x0501, 0xd6fd, 0x0000 }, - { 0x0501, 0xd6ff, 0x0000 }, - { 0x8501, 0xd702, 0x2000 }, - { 0x0501, 0xd701, 0x0000 }, - { 0x0501, 0xd703, 0x0000 }, - { 0x8501, 0xd70c, 0x4000 }, - { 0x8501, 0xd708, 0x3000 }, - { 0x8501, 0xd706, 0x2000 }, - { 0x0501, 0xd705, 0x0000 }, - { 0x0501, 0xd707, 0x0000 }, - { 0x8501, 0xd70a, 0x2000 }, - { 0x0501, 0xd709, 0x0000 }, - { 0x0501, 0xd70b, 0x0000 }, - { 0x8501, 0xd710, 0x3000 }, - { 0x8501, 0xd70e, 0x2000 }, - { 0x0501, 0xd70d, 0x0000 }, - { 0x0501, 0xd70f, 0x0000 }, - { 0x8501, 0xd712, 0x2000 }, - { 0x0501, 0xd711, 0x0000 }, - { 0x0501, 0xd713, 0x0000 }, - { 0x8901, 0xd724, 0x5000 }, - { 0x8901, 0xd71c, 0x4000 }, - { 0x8501, 0xd718, 0x3000 }, - { 0x8501, 0xd716, 0x2000 }, - { 0x1901, 0xd715, 0x0000 }, - { 0x0501, 0xd717, 0x0000 }, - { 0x8501, 0xd71a, 0x2000 }, - { 0x0501, 0xd719, 0x0000 }, - { 0x0501, 0xd71b, 0x0000 }, - { 0x8901, 0xd720, 0x3000 }, - { 0x8901, 0xd71e, 0x2000 }, - { 0x0901, 0xd71d, 0x0000 }, - { 0x0901, 0xd71f, 0x0000 }, - { 0x8901, 0xd722, 0x2000 }, - { 0x0901, 0xd721, 0x0000 }, - { 0x0901, 0xd723, 0x0000 }, - { 0x8901, 0xd72c, 0x4000 }, - { 0x8901, 0xd728, 0x3000 }, - { 0x8901, 0xd726, 0x2000 }, - { 0x0901, 0xd725, 0x0000 }, - { 0x0901, 0xd727, 0x0000 }, - { 0x8901, 0xd72a, 0x2000 }, - { 0x0901, 0xd729, 0x0000 }, - { 0x0901, 0xd72b, 0x0000 }, - { 0x8901, 0xd730, 0x3000 }, - { 0x8901, 0xd72e, 0x2000 }, - { 0x0901, 0xd72d, 0x0000 }, - { 0x0901, 0xd72f, 0x0000 }, - { 0x8901, 0xd732, 0x2000 }, - { 0x0901, 0xd731, 0x0000 }, - { 0x0901, 0xd733, 0x0000 }, - { 0x8501, 0xd754, 0x6000 }, - { 0x8501, 0xd744, 0x5000 }, - { 0x8501, 0xd73c, 0x4000 }, - { 0x8501, 0xd738, 0x3000 }, - { 0x8501, 0xd736, 0x2000 }, - { 0x1901, 0xd735, 0x0000 }, - { 0x0501, 0xd737, 0x0000 }, - { 0x8501, 0xd73a, 0x2000 }, - { 0x0501, 0xd739, 0x0000 }, - { 0x0501, 0xd73b, 0x0000 }, - { 0x8501, 0xd740, 0x3000 }, - { 0x8501, 0xd73e, 0x2000 }, - { 0x0501, 0xd73d, 0x0000 }, - { 0x0501, 0xd73f, 0x0000 }, - { 0x8501, 0xd742, 0x2000 }, - { 0x0501, 0xd741, 0x0000 }, - { 0x0501, 0xd743, 0x0000 }, - { 0x8501, 0xd74c, 0x4000 }, - { 0x8501, 0xd748, 0x3000 }, - { 0x8501, 0xd746, 0x2000 }, - { 0x0501, 0xd745, 0x0000 }, - { 0x0501, 0xd747, 0x0000 }, - { 0x8501, 0xd74a, 0x2000 }, - { 0x0501, 0xd749, 0x0000 }, - { 0x0501, 0xd74b, 0x0000 }, - { 0x8501, 0xd750, 0x3000 }, - { 0x8501, 0xd74e, 0x2000 }, - { 0x0501, 0xd74d, 0x0000 }, - { 0x1901, 0xd74f, 0x0000 }, - { 0x8501, 0xd752, 0x2000 }, - { 0x0501, 0xd751, 0x0000 }, - { 0x0501, 0xd753, 0x0000 }, - { 0x8901, 0xd764, 0x5000 }, - { 0x8901, 0xd75c, 0x4000 }, - { 0x8901, 0xd758, 0x3000 }, - { 0x8901, 0xd756, 0x2000 }, - { 0x0501, 0xd755, 0x0000 }, - { 0x0901, 0xd757, 0x0000 }, - { 0x8901, 0xd75a, 0x2000 }, - { 0x0901, 0xd759, 0x0000 }, - { 0x0901, 0xd75b, 0x0000 }, - { 0x8901, 0xd760, 0x3000 }, - { 0x8901, 0xd75e, 0x2000 }, - { 0x0901, 0xd75d, 0x0000 }, - { 0x0901, 0xd75f, 0x0000 }, - { 0x8901, 0xd762, 0x2000 }, - { 0x0901, 0xd761, 0x0000 }, - { 0x0901, 0xd763, 0x0000 }, - { 0x8901, 0xd76c, 0x4000 }, - { 0x8901, 0xd768, 0x3000 }, - { 0x8901, 0xd766, 0x2000 }, - { 0x0901, 0xd765, 0x0000 }, - { 0x0901, 0xd767, 0x0000 }, - { 0x8901, 0xd76a, 0x2000 }, - { 0x0901, 0xd769, 0x0000 }, - { 0x0901, 0xd76b, 0x0000 }, - { 0x8501, 0xd770, 0x3000 }, - { 0x8901, 0xd76e, 0x2000 }, - { 0x0901, 0xd76d, 0x0000 }, - { 0x1901, 0xd76f, 0x0000 }, - { 0x8501, 0xd772, 0x2000 }, - { 0x0501, 0xd771, 0x0000 }, - { 0x0501, 0xd773, 0x0000 }, - { 0x8d01, 0xd7f8, 0x8000 }, - { 0x8501, 0xd7b4, 0x7000 }, - { 0x8901, 0xd794, 0x6000 }, - { 0x8501, 0xd784, 0x5000 }, - { 0x8501, 0xd77c, 0x4000 }, - { 0x8501, 0xd778, 0x3000 }, - { 0x8501, 0xd776, 0x2000 }, - { 0x0501, 0xd775, 0x0000 }, - { 0x0501, 0xd777, 0x0000 }, - { 0x8501, 0xd77a, 0x2000 }, - { 0x0501, 0xd779, 0x0000 }, - { 0x0501, 0xd77b, 0x0000 }, - { 0x8501, 0xd780, 0x3000 }, - { 0x8501, 0xd77e, 0x2000 }, - { 0x0501, 0xd77d, 0x0000 }, - { 0x0501, 0xd77f, 0x0000 }, - { 0x8501, 0xd782, 0x2000 }, - { 0x0501, 0xd781, 0x0000 }, - { 0x0501, 0xd783, 0x0000 }, - { 0x8501, 0xd78c, 0x4000 }, - { 0x8501, 0xd788, 0x3000 }, - { 0x8501, 0xd786, 0x2000 }, - { 0x0501, 0xd785, 0x0000 }, - { 0x0501, 0xd787, 0x0000 }, - { 0x8501, 0xd78a, 0x2000 }, - { 0x1901, 0xd789, 0x0000 }, - { 0x0501, 0xd78b, 0x0000 }, - { 0x8901, 0xd790, 0x3000 }, - { 0x8501, 0xd78e, 0x2000 }, - { 0x0501, 0xd78d, 0x0000 }, - { 0x0501, 0xd78f, 0x0000 }, - { 0x8901, 0xd792, 0x2000 }, - { 0x0901, 0xd791, 0x0000 }, - { 0x0901, 0xd793, 0x0000 }, - { 0x8901, 0xd7a4, 0x5000 }, - { 0x8901, 0xd79c, 0x4000 }, - { 0x8901, 0xd798, 0x3000 }, - { 0x8901, 0xd796, 0x2000 }, - { 0x0901, 0xd795, 0x0000 }, - { 0x0901, 0xd797, 0x0000 }, - { 0x8901, 0xd79a, 0x2000 }, - { 0x0901, 0xd799, 0x0000 }, - { 0x0901, 0xd79b, 0x0000 }, - { 0x8901, 0xd7a0, 0x3000 }, - { 0x8901, 0xd79e, 0x2000 }, - { 0x0901, 0xd79d, 0x0000 }, - { 0x0901, 0xd79f, 0x0000 }, - { 0x8901, 0xd7a2, 0x2000 }, - { 0x0901, 0xd7a1, 0x0000 }, - { 0x0901, 0xd7a3, 0x0000 }, - { 0x8501, 0xd7ac, 0x4000 }, - { 0x8901, 0xd7a8, 0x3000 }, - { 0x8901, 0xd7a6, 0x2000 }, - { 0x0901, 0xd7a5, 0x0000 }, - { 0x0901, 0xd7a7, 0x0000 }, - { 0x8501, 0xd7aa, 0x2000 }, - { 0x1901, 0xd7a9, 0x0000 }, - { 0x0501, 0xd7ab, 0x0000 }, - { 0x8501, 0xd7b0, 0x3000 }, - { 0x8501, 0xd7ae, 0x2000 }, - { 0x0501, 0xd7ad, 0x0000 }, - { 0x0501, 0xd7af, 0x0000 }, - { 0x8501, 0xd7b2, 0x2000 }, - { 0x0501, 0xd7b1, 0x0000 }, - { 0x0501, 0xd7b3, 0x0000 }, - { 0x8d01, 0xd7d8, 0x6000 }, - { 0x8501, 0xd7c4, 0x5000 }, - { 0x8501, 0xd7bc, 0x4000 }, - { 0x8501, 0xd7b8, 0x3000 }, - { 0x8501, 0xd7b6, 0x2000 }, - { 0x0501, 0xd7b5, 0x0000 }, - { 0x0501, 0xd7b7, 0x0000 }, - { 0x8501, 0xd7ba, 0x2000 }, - { 0x0501, 0xd7b9, 0x0000 }, - { 0x0501, 0xd7bb, 0x0000 }, - { 0x8501, 0xd7c0, 0x3000 }, - { 0x8501, 0xd7be, 0x2000 }, - { 0x0501, 0xd7bd, 0x0000 }, - { 0x0501, 0xd7bf, 0x0000 }, - { 0x8501, 0xd7c2, 0x2000 }, - { 0x0501, 0xd7c1, 0x0000 }, - { 0x1901, 0xd7c3, 0x0000 }, - { 0x8d01, 0xd7d0, 0x4000 }, - { 0x8501, 0xd7c8, 0x3000 }, - { 0x8501, 0xd7c6, 0x2000 }, - { 0x0501, 0xd7c5, 0x0000 }, - { 0x0501, 0xd7c7, 0x0000 }, - { 0x8d01, 0xd7ce, 0x2000 }, - { 0x0501, 0xd7c9, 0x0000 }, - { 0x0d01, 0xd7cf, 0x0000 }, - { 0x8d01, 0xd7d4, 0x3000 }, - { 0x8d01, 0xd7d2, 0x2000 }, - { 0x0d01, 0xd7d1, 0x0000 }, - { 0x0d01, 0xd7d3, 0x0000 }, - { 0x8d01, 0xd7d6, 0x2000 }, - { 0x0d01, 0xd7d5, 0x0000 }, - { 0x0d01, 0xd7d7, 0x0000 }, - { 0x8d01, 0xd7e8, 0x5000 }, - { 0x8d01, 0xd7e0, 0x4000 }, - { 0x8d01, 0xd7dc, 0x3000 }, - { 0x8d01, 0xd7da, 0x2000 }, - { 0x0d01, 0xd7d9, 0x0000 }, - { 0x0d01, 0xd7db, 0x0000 }, - { 0x8d01, 0xd7de, 0x2000 }, - { 0x0d01, 0xd7dd, 0x0000 }, - { 0x0d01, 0xd7df, 0x0000 }, - { 0x8d01, 0xd7e4, 0x3000 }, - { 0x8d01, 0xd7e2, 0x2000 }, - { 0x0d01, 0xd7e1, 0x0000 }, - { 0x0d01, 0xd7e3, 0x0000 }, - { 0x8d01, 0xd7e6, 0x2000 }, - { 0x0d01, 0xd7e5, 0x0000 }, - { 0x0d01, 0xd7e7, 0x0000 }, - { 0x8d01, 0xd7f0, 0x4000 }, - { 0x8d01, 0xd7ec, 0x3000 }, - { 0x8d01, 0xd7ea, 0x2000 }, - { 0x0d01, 0xd7e9, 0x0000 }, - { 0x0d01, 0xd7eb, 0x0000 }, - { 0x8d01, 0xd7ee, 0x2000 }, - { 0x0d01, 0xd7ed, 0x0000 }, - { 0x0d01, 0xd7ef, 0x0000 }, - { 0x8d01, 0xd7f4, 0x3000 }, - { 0x8d01, 0xd7f2, 0x2000 }, - { 0x0d01, 0xd7f1, 0x0000 }, - { 0x0d01, 0xd7f3, 0x0000 }, - { 0x8d01, 0xd7f6, 0x2000 }, - { 0x0d01, 0xd7f5, 0x0000 }, - { 0x0d01, 0xd7f7, 0x0000 }, - { 0x8702, 0xf836, 0x7000 }, - { 0x8702, 0xf816, 0x6000 }, - { 0x8702, 0xf806, 0x5000 }, - { 0x8702, 0x0000, 0x4000 }, - { 0x8d01, 0xd7fc, 0x3000 }, - { 0x8d01, 0xd7fa, 0x2000 }, - { 0x0d01, 0xd7f9, 0x0000 }, - { 0x0d01, 0xd7fb, 0x0000 }, - { 0x8d01, 0xd7fe, 0x2000 }, - { 0x0d01, 0xd7fd, 0x0000 }, - { 0x0d01, 0xd7ff, 0x0000 }, - { 0x8702, 0xf802, 0x3000 }, - { 0x8702, 0xf800, 0x2000 }, - { 0x0702, 0xa6d6, 0x0000 }, - { 0x0702, 0xf801, 0x0000 }, - { 0x8702, 0xf804, 0x2000 }, - { 0x0702, 0xf803, 0x0000 }, - { 0x0702, 0xf805, 0x0000 }, - { 0x8702, 0xf80e, 0x4000 }, - { 0x8702, 0xf80a, 0x3000 }, - { 0x8702, 0xf808, 0x2000 }, - { 0x0702, 0xf807, 0x0000 }, - { 0x0702, 0xf809, 0x0000 }, - { 0x8702, 0xf80c, 0x2000 }, - { 0x0702, 0xf80b, 0x0000 }, - { 0x0702, 0xf80d, 0x0000 }, - { 0x8702, 0xf812, 0x3000 }, - { 0x8702, 0xf810, 0x2000 }, - { 0x0702, 0xf80f, 0x0000 }, - { 0x0702, 0xf811, 0x0000 }, - { 0x8702, 0xf814, 0x2000 }, - { 0x0702, 0xf813, 0x0000 }, - { 0x0702, 0xf815, 0x0000 }, - { 0x8702, 0xf826, 0x5000 }, - { 0x8702, 0xf81e, 0x4000 }, - { 0x8702, 0xf81a, 0x3000 }, - { 0x8702, 0xf818, 0x2000 }, - { 0x0702, 0xf817, 0x0000 }, - { 0x0702, 0xf819, 0x0000 }, - { 0x8702, 0xf81c, 0x2000 }, - { 0x0702, 0xf81b, 0x0000 }, - { 0x0702, 0xf81d, 0x0000 }, - { 0x8702, 0xf822, 0x3000 }, - { 0x8702, 0xf820, 0x2000 }, - { 0x0702, 0xf81f, 0x0000 }, - { 0x0702, 0xf821, 0x0000 }, - { 0x8702, 0xf824, 0x2000 }, - { 0x0702, 0xf823, 0x0000 }, - { 0x0702, 0xf825, 0x0000 }, - { 0x8702, 0xf82e, 0x4000 }, - { 0x8702, 0xf82a, 0x3000 }, - { 0x8702, 0xf828, 0x2000 }, - { 0x0702, 0xf827, 0x0000 }, - { 0x0702, 0xf829, 0x0000 }, - { 0x8702, 0xf82c, 0x2000 }, - { 0x0702, 0xf82b, 0x0000 }, - { 0x0702, 0xf82d, 0x0000 }, - { 0x8702, 0xf832, 0x3000 }, - { 0x8702, 0xf830, 0x2000 }, - { 0x0702, 0xf82f, 0x0000 }, - { 0x0702, 0xf831, 0x0000 }, - { 0x8702, 0xf834, 0x2000 }, - { 0x0702, 0xf833, 0x0000 }, - { 0x0702, 0xf835, 0x0000 }, - { 0x8702, 0xf856, 0x6000 }, - { 0x8702, 0xf846, 0x5000 }, - { 0x8702, 0xf83e, 0x4000 }, - { 0x8702, 0xf83a, 0x3000 }, - { 0x8702, 0xf838, 0x2000 }, - { 0x0702, 0xf837, 0x0000 }, - { 0x0702, 0xf839, 0x0000 }, - { 0x8702, 0xf83c, 0x2000 }, - { 0x0702, 0xf83b, 0x0000 }, - { 0x0702, 0xf83d, 0x0000 }, - { 0x8702, 0xf842, 0x3000 }, - { 0x8702, 0xf840, 0x2000 }, - { 0x0702, 0xf83f, 0x0000 }, - { 0x0702, 0xf841, 0x0000 }, - { 0x8702, 0xf844, 0x2000 }, - { 0x0702, 0xf843, 0x0000 }, - { 0x0702, 0xf845, 0x0000 }, - { 0x8702, 0xf84e, 0x4000 }, - { 0x8702, 0xf84a, 0x3000 }, - { 0x8702, 0xf848, 0x2000 }, - { 0x0702, 0xf847, 0x0000 }, - { 0x0702, 0xf849, 0x0000 }, - { 0x8702, 0xf84c, 0x2000 }, - { 0x0702, 0xf84b, 0x0000 }, - { 0x0702, 0xf84d, 0x0000 }, - { 0x8702, 0xf852, 0x3000 }, - { 0x8702, 0xf850, 0x2000 }, - { 0x0702, 0xf84f, 0x0000 }, - { 0x0702, 0xf851, 0x0000 }, - { 0x8702, 0xf854, 0x2000 }, - { 0x0702, 0xf853, 0x0000 }, - { 0x0702, 0xf855, 0x0000 }, - { 0x8702, 0xf866, 0x5000 }, - { 0x8702, 0xf85e, 0x4000 }, - { 0x8702, 0xf85a, 0x3000 }, - { 0x8702, 0xf858, 0x2000 }, - { 0x0702, 0xf857, 0x0000 }, - { 0x0702, 0xf859, 0x0000 }, - { 0x8702, 0xf85c, 0x2000 }, - { 0x0702, 0xf85b, 0x0000 }, - { 0x0702, 0xf85d, 0x0000 }, - { 0x8702, 0xf862, 0x3000 }, - { 0x8702, 0xf860, 0x2000 }, - { 0x0702, 0xf85f, 0x0000 }, - { 0x0702, 0xf861, 0x0000 }, - { 0x8702, 0xf864, 0x2000 }, - { 0x0702, 0xf863, 0x0000 }, - { 0x0702, 0xf865, 0x0000 }, - { 0x8702, 0xf86e, 0x4000 }, - { 0x8702, 0xf86a, 0x3000 }, - { 0x8702, 0xf868, 0x2000 }, - { 0x0702, 0xf867, 0x0000 }, - { 0x0702, 0xf869, 0x0000 }, - { 0x8702, 0xf86c, 0x2000 }, - { 0x0702, 0xf86b, 0x0000 }, - { 0x0702, 0xf86d, 0x0000 }, - { 0x8702, 0xf872, 0x3000 }, - { 0x8702, 0xf870, 0x2000 }, - { 0x0702, 0xf86f, 0x0000 }, - { 0x0702, 0xf871, 0x0000 }, - { 0x8702, 0xf874, 0x2000 }, - { 0x0702, 0xf873, 0x0000 }, - { 0x0702, 0xf875, 0x0000 }, - { 0x8702, 0xf976, 0x9000 }, - { 0x8702, 0xf8f6, 0x8000 }, - { 0x8702, 0xf8b6, 0x7000 }, - { 0x8702, 0xf896, 0x6000 }, - { 0x8702, 0xf886, 0x5000 }, - { 0x8702, 0xf87e, 0x4000 }, - { 0x8702, 0xf87a, 0x3000 }, - { 0x8702, 0xf878, 0x2000 }, - { 0x0702, 0xf877, 0x0000 }, - { 0x0702, 0xf879, 0x0000 }, - { 0x8702, 0xf87c, 0x2000 }, - { 0x0702, 0xf87b, 0x0000 }, - { 0x0702, 0xf87d, 0x0000 }, - { 0x8702, 0xf882, 0x3000 }, - { 0x8702, 0xf880, 0x2000 }, - { 0x0702, 0xf87f, 0x0000 }, - { 0x0702, 0xf881, 0x0000 }, - { 0x8702, 0xf884, 0x2000 }, - { 0x0702, 0xf883, 0x0000 }, - { 0x0702, 0xf885, 0x0000 }, - { 0x8702, 0xf88e, 0x4000 }, - { 0x8702, 0xf88a, 0x3000 }, - { 0x8702, 0xf888, 0x2000 }, - { 0x0702, 0xf887, 0x0000 }, - { 0x0702, 0xf889, 0x0000 }, - { 0x8702, 0xf88c, 0x2000 }, - { 0x0702, 0xf88b, 0x0000 }, - { 0x0702, 0xf88d, 0x0000 }, - { 0x8702, 0xf892, 0x3000 }, - { 0x8702, 0xf890, 0x2000 }, - { 0x0702, 0xf88f, 0x0000 }, - { 0x0702, 0xf891, 0x0000 }, - { 0x8702, 0xf894, 0x2000 }, - { 0x0702, 0xf893, 0x0000 }, - { 0x0702, 0xf895, 0x0000 }, - { 0x8702, 0xf8a6, 0x5000 }, - { 0x8702, 0xf89e, 0x4000 }, - { 0x8702, 0xf89a, 0x3000 }, - { 0x8702, 0xf898, 0x2000 }, - { 0x0702, 0xf897, 0x0000 }, - { 0x0702, 0xf899, 0x0000 }, - { 0x8702, 0xf89c, 0x2000 }, - { 0x0702, 0xf89b, 0x0000 }, - { 0x0702, 0xf89d, 0x0000 }, - { 0x8702, 0xf8a2, 0x3000 }, - { 0x8702, 0xf8a0, 0x2000 }, - { 0x0702, 0xf89f, 0x0000 }, - { 0x0702, 0xf8a1, 0x0000 }, - { 0x8702, 0xf8a4, 0x2000 }, - { 0x0702, 0xf8a3, 0x0000 }, - { 0x0702, 0xf8a5, 0x0000 }, - { 0x8702, 0xf8ae, 0x4000 }, - { 0x8702, 0xf8aa, 0x3000 }, - { 0x8702, 0xf8a8, 0x2000 }, - { 0x0702, 0xf8a7, 0x0000 }, - { 0x0702, 0xf8a9, 0x0000 }, - { 0x8702, 0xf8ac, 0x2000 }, - { 0x0702, 0xf8ab, 0x0000 }, - { 0x0702, 0xf8ad, 0x0000 }, - { 0x8702, 0xf8b2, 0x3000 }, - { 0x8702, 0xf8b0, 0x2000 }, - { 0x0702, 0xf8af, 0x0000 }, - { 0x0702, 0xf8b1, 0x0000 }, - { 0x8702, 0xf8b4, 0x2000 }, - { 0x0702, 0xf8b3, 0x0000 }, - { 0x0702, 0xf8b5, 0x0000 }, - { 0x8702, 0xf8d6, 0x6000 }, - { 0x8702, 0xf8c6, 0x5000 }, - { 0x8702, 0xf8be, 0x4000 }, - { 0x8702, 0xf8ba, 0x3000 }, - { 0x8702, 0xf8b8, 0x2000 }, - { 0x0702, 0xf8b7, 0x0000 }, - { 0x0702, 0xf8b9, 0x0000 }, - { 0x8702, 0xf8bc, 0x2000 }, - { 0x0702, 0xf8bb, 0x0000 }, - { 0x0702, 0xf8bd, 0x0000 }, - { 0x8702, 0xf8c2, 0x3000 }, - { 0x8702, 0xf8c0, 0x2000 }, - { 0x0702, 0xf8bf, 0x0000 }, - { 0x0702, 0xf8c1, 0x0000 }, - { 0x8702, 0xf8c4, 0x2000 }, - { 0x0702, 0xf8c3, 0x0000 }, - { 0x0702, 0xf8c5, 0x0000 }, - { 0x8702, 0xf8ce, 0x4000 }, - { 0x8702, 0xf8ca, 0x3000 }, - { 0x8702, 0xf8c8, 0x2000 }, - { 0x0702, 0xf8c7, 0x0000 }, - { 0x0702, 0xf8c9, 0x0000 }, - { 0x8702, 0xf8cc, 0x2000 }, - { 0x0702, 0xf8cb, 0x0000 }, - { 0x0702, 0xf8cd, 0x0000 }, - { 0x8702, 0xf8d2, 0x3000 }, - { 0x8702, 0xf8d0, 0x2000 }, - { 0x0702, 0xf8cf, 0x0000 }, - { 0x0702, 0xf8d1, 0x0000 }, - { 0x8702, 0xf8d4, 0x2000 }, - { 0x0702, 0xf8d3, 0x0000 }, - { 0x0702, 0xf8d5, 0x0000 }, - { 0x8702, 0xf8e6, 0x5000 }, - { 0x8702, 0xf8de, 0x4000 }, - { 0x8702, 0xf8da, 0x3000 }, - { 0x8702, 0xf8d8, 0x2000 }, - { 0x0702, 0xf8d7, 0x0000 }, - { 0x0702, 0xf8d9, 0x0000 }, - { 0x8702, 0xf8dc, 0x2000 }, - { 0x0702, 0xf8db, 0x0000 }, - { 0x0702, 0xf8dd, 0x0000 }, - { 0x8702, 0xf8e2, 0x3000 }, - { 0x8702, 0xf8e0, 0x2000 }, - { 0x0702, 0xf8df, 0x0000 }, - { 0x0702, 0xf8e1, 0x0000 }, - { 0x8702, 0xf8e4, 0x2000 }, - { 0x0702, 0xf8e3, 0x0000 }, - { 0x0702, 0xf8e5, 0x0000 }, - { 0x8702, 0xf8ee, 0x4000 }, - { 0x8702, 0xf8ea, 0x3000 }, - { 0x8702, 0xf8e8, 0x2000 }, - { 0x0702, 0xf8e7, 0x0000 }, - { 0x0702, 0xf8e9, 0x0000 }, - { 0x8702, 0xf8ec, 0x2000 }, - { 0x0702, 0xf8eb, 0x0000 }, - { 0x0702, 0xf8ed, 0x0000 }, - { 0x8702, 0xf8f2, 0x3000 }, - { 0x8702, 0xf8f0, 0x2000 }, - { 0x0702, 0xf8ef, 0x0000 }, - { 0x0702, 0xf8f1, 0x0000 }, - { 0x8702, 0xf8f4, 0x2000 }, - { 0x0702, 0xf8f3, 0x0000 }, - { 0x0702, 0xf8f5, 0x0000 }, - { 0x8702, 0xf936, 0x7000 }, - { 0x8702, 0xf916, 0x6000 }, - { 0x8702, 0xf906, 0x5000 }, - { 0x8702, 0xf8fe, 0x4000 }, - { 0x8702, 0xf8fa, 0x3000 }, - { 0x8702, 0xf8f8, 0x2000 }, - { 0x0702, 0xf8f7, 0x0000 }, - { 0x0702, 0xf8f9, 0x0000 }, - { 0x8702, 0xf8fc, 0x2000 }, - { 0x0702, 0xf8fb, 0x0000 }, - { 0x0702, 0xf8fd, 0x0000 }, - { 0x8702, 0xf902, 0x3000 }, - { 0x8702, 0xf900, 0x2000 }, - { 0x0702, 0xf8ff, 0x0000 }, - { 0x0702, 0xf901, 0x0000 }, - { 0x8702, 0xf904, 0x2000 }, - { 0x0702, 0xf903, 0x0000 }, - { 0x0702, 0xf905, 0x0000 }, - { 0x8702, 0xf90e, 0x4000 }, - { 0x8702, 0xf90a, 0x3000 }, - { 0x8702, 0xf908, 0x2000 }, - { 0x0702, 0xf907, 0x0000 }, - { 0x0702, 0xf909, 0x0000 }, - { 0x8702, 0xf90c, 0x2000 }, - { 0x0702, 0xf90b, 0x0000 }, - { 0x0702, 0xf90d, 0x0000 }, - { 0x8702, 0xf912, 0x3000 }, - { 0x8702, 0xf910, 0x2000 }, - { 0x0702, 0xf90f, 0x0000 }, - { 0x0702, 0xf911, 0x0000 }, - { 0x8702, 0xf914, 0x2000 }, - { 0x0702, 0xf913, 0x0000 }, - { 0x0702, 0xf915, 0x0000 }, - { 0x8702, 0xf926, 0x5000 }, - { 0x8702, 0xf91e, 0x4000 }, - { 0x8702, 0xf91a, 0x3000 }, - { 0x8702, 0xf918, 0x2000 }, - { 0x0702, 0xf917, 0x0000 }, - { 0x0702, 0xf919, 0x0000 }, - { 0x8702, 0xf91c, 0x2000 }, - { 0x0702, 0xf91b, 0x0000 }, - { 0x0702, 0xf91d, 0x0000 }, - { 0x8702, 0xf922, 0x3000 }, - { 0x8702, 0xf920, 0x2000 }, - { 0x0702, 0xf91f, 0x0000 }, - { 0x0702, 0xf921, 0x0000 }, - { 0x8702, 0xf924, 0x2000 }, - { 0x0702, 0xf923, 0x0000 }, - { 0x0702, 0xf925, 0x0000 }, - { 0x8702, 0xf92e, 0x4000 }, - { 0x8702, 0xf92a, 0x3000 }, - { 0x8702, 0xf928, 0x2000 }, - { 0x0702, 0xf927, 0x0000 }, - { 0x0702, 0xf929, 0x0000 }, - { 0x8702, 0xf92c, 0x2000 }, - { 0x0702, 0xf92b, 0x0000 }, - { 0x0702, 0xf92d, 0x0000 }, - { 0x8702, 0xf932, 0x3000 }, - { 0x8702, 0xf930, 0x2000 }, - { 0x0702, 0xf92f, 0x0000 }, - { 0x0702, 0xf931, 0x0000 }, - { 0x8702, 0xf934, 0x2000 }, - { 0x0702, 0xf933, 0x0000 }, - { 0x0702, 0xf935, 0x0000 }, - { 0x8702, 0xf956, 0x6000 }, - { 0x8702, 0xf946, 0x5000 }, - { 0x8702, 0xf93e, 0x4000 }, - { 0x8702, 0xf93a, 0x3000 }, - { 0x8702, 0xf938, 0x2000 }, - { 0x0702, 0xf937, 0x0000 }, - { 0x0702, 0xf939, 0x0000 }, - { 0x8702, 0xf93c, 0x2000 }, - { 0x0702, 0xf93b, 0x0000 }, - { 0x0702, 0xf93d, 0x0000 }, - { 0x8702, 0xf942, 0x3000 }, - { 0x8702, 0xf940, 0x2000 }, - { 0x0702, 0xf93f, 0x0000 }, - { 0x0702, 0xf941, 0x0000 }, - { 0x8702, 0xf944, 0x2000 }, - { 0x0702, 0xf943, 0x0000 }, - { 0x0702, 0xf945, 0x0000 }, - { 0x8702, 0xf94e, 0x4000 }, - { 0x8702, 0xf94a, 0x3000 }, - { 0x8702, 0xf948, 0x2000 }, - { 0x0702, 0xf947, 0x0000 }, - { 0x0702, 0xf949, 0x0000 }, - { 0x8702, 0xf94c, 0x2000 }, - { 0x0702, 0xf94b, 0x0000 }, - { 0x0702, 0xf94d, 0x0000 }, - { 0x8702, 0xf952, 0x3000 }, - { 0x8702, 0xf950, 0x2000 }, - { 0x0702, 0xf94f, 0x0000 }, - { 0x0702, 0xf951, 0x0000 }, - { 0x8702, 0xf954, 0x2000 }, - { 0x0702, 0xf953, 0x0000 }, - { 0x0702, 0xf955, 0x0000 }, - { 0x8702, 0xf966, 0x5000 }, - { 0x8702, 0xf95e, 0x4000 }, - { 0x8702, 0xf95a, 0x3000 }, - { 0x8702, 0xf958, 0x2000 }, - { 0x0702, 0xf957, 0x0000 }, - { 0x0702, 0xf959, 0x0000 }, - { 0x8702, 0xf95c, 0x2000 }, - { 0x0702, 0xf95b, 0x0000 }, - { 0x0702, 0xf95d, 0x0000 }, - { 0x8702, 0xf962, 0x3000 }, - { 0x8702, 0xf960, 0x2000 }, - { 0x0702, 0xf95f, 0x0000 }, - { 0x0702, 0xf961, 0x0000 }, - { 0x8702, 0xf964, 0x2000 }, - { 0x0702, 0xf963, 0x0000 }, - { 0x0702, 0xf965, 0x0000 }, - { 0x8702, 0xf96e, 0x4000 }, - { 0x8702, 0xf96a, 0x3000 }, - { 0x8702, 0xf968, 0x2000 }, - { 0x0702, 0xf967, 0x0000 }, - { 0x0702, 0xf969, 0x0000 }, - { 0x8702, 0xf96c, 0x2000 }, - { 0x0702, 0xf96b, 0x0000 }, - { 0x0702, 0xf96d, 0x0000 }, - { 0x8702, 0xf972, 0x3000 }, - { 0x8702, 0xf970, 0x2000 }, - { 0x0702, 0xf96f, 0x0000 }, - { 0x0702, 0xf971, 0x0000 }, - { 0x8702, 0xf974, 0x2000 }, - { 0x0702, 0xf973, 0x0000 }, - { 0x0702, 0xf975, 0x0000 }, - { 0x810e, 0x0077, 0x9000 }, - { 0x8702, 0xf9f6, 0x8000 }, - { 0x8702, 0xf9b6, 0x7000 }, - { 0x8702, 0xf996, 0x6000 }, - { 0x8702, 0xf986, 0x5000 }, - { 0x8702, 0xf97e, 0x4000 }, - { 0x8702, 0xf97a, 0x3000 }, - { 0x8702, 0xf978, 0x2000 }, - { 0x0702, 0xf977, 0x0000 }, - { 0x0702, 0xf979, 0x0000 }, - { 0x8702, 0xf97c, 0x2000 }, - { 0x0702, 0xf97b, 0x0000 }, - { 0x0702, 0xf97d, 0x0000 }, - { 0x8702, 0xf982, 0x3000 }, - { 0x8702, 0xf980, 0x2000 }, - { 0x0702, 0xf97f, 0x0000 }, - { 0x0702, 0xf981, 0x0000 }, - { 0x8702, 0xf984, 0x2000 }, - { 0x0702, 0xf983, 0x0000 }, - { 0x0702, 0xf985, 0x0000 }, - { 0x8702, 0xf98e, 0x4000 }, - { 0x8702, 0xf98a, 0x3000 }, - { 0x8702, 0xf988, 0x2000 }, - { 0x0702, 0xf987, 0x0000 }, - { 0x0702, 0xf989, 0x0000 }, - { 0x8702, 0xf98c, 0x2000 }, - { 0x0702, 0xf98b, 0x0000 }, - { 0x0702, 0xf98d, 0x0000 }, - { 0x8702, 0xf992, 0x3000 }, - { 0x8702, 0xf990, 0x2000 }, - { 0x0702, 0xf98f, 0x0000 }, - { 0x0702, 0xf991, 0x0000 }, - { 0x8702, 0xf994, 0x2000 }, - { 0x0702, 0xf993, 0x0000 }, - { 0x0702, 0xf995, 0x0000 }, - { 0x8702, 0xf9a6, 0x5000 }, - { 0x8702, 0xf99e, 0x4000 }, - { 0x8702, 0xf99a, 0x3000 }, - { 0x8702, 0xf998, 0x2000 }, - { 0x0702, 0xf997, 0x0000 }, - { 0x0702, 0xf999, 0x0000 }, - { 0x8702, 0xf99c, 0x2000 }, - { 0x0702, 0xf99b, 0x0000 }, - { 0x0702, 0xf99d, 0x0000 }, - { 0x8702, 0xf9a2, 0x3000 }, - { 0x8702, 0xf9a0, 0x2000 }, - { 0x0702, 0xf99f, 0x0000 }, - { 0x0702, 0xf9a1, 0x0000 }, - { 0x8702, 0xf9a4, 0x2000 }, - { 0x0702, 0xf9a3, 0x0000 }, - { 0x0702, 0xf9a5, 0x0000 }, - { 0x8702, 0xf9ae, 0x4000 }, - { 0x8702, 0xf9aa, 0x3000 }, - { 0x8702, 0xf9a8, 0x2000 }, - { 0x0702, 0xf9a7, 0x0000 }, - { 0x0702, 0xf9a9, 0x0000 }, - { 0x8702, 0xf9ac, 0x2000 }, - { 0x0702, 0xf9ab, 0x0000 }, - { 0x0702, 0xf9ad, 0x0000 }, - { 0x8702, 0xf9b2, 0x3000 }, - { 0x8702, 0xf9b0, 0x2000 }, - { 0x0702, 0xf9af, 0x0000 }, - { 0x0702, 0xf9b1, 0x0000 }, - { 0x8702, 0xf9b4, 0x2000 }, - { 0x0702, 0xf9b3, 0x0000 }, - { 0x0702, 0xf9b5, 0x0000 }, - { 0x8702, 0xf9d6, 0x6000 }, - { 0x8702, 0xf9c6, 0x5000 }, - { 0x8702, 0xf9be, 0x4000 }, - { 0x8702, 0xf9ba, 0x3000 }, - { 0x8702, 0xf9b8, 0x2000 }, - { 0x0702, 0xf9b7, 0x0000 }, - { 0x0702, 0xf9b9, 0x0000 }, - { 0x8702, 0xf9bc, 0x2000 }, - { 0x0702, 0xf9bb, 0x0000 }, - { 0x0702, 0xf9bd, 0x0000 }, - { 0x8702, 0xf9c2, 0x3000 }, - { 0x8702, 0xf9c0, 0x2000 }, - { 0x0702, 0xf9bf, 0x0000 }, - { 0x0702, 0xf9c1, 0x0000 }, - { 0x8702, 0xf9c4, 0x2000 }, - { 0x0702, 0xf9c3, 0x0000 }, - { 0x0702, 0xf9c5, 0x0000 }, - { 0x8702, 0xf9ce, 0x4000 }, - { 0x8702, 0xf9ca, 0x3000 }, - { 0x8702, 0xf9c8, 0x2000 }, - { 0x0702, 0xf9c7, 0x0000 }, - { 0x0702, 0xf9c9, 0x0000 }, - { 0x8702, 0xf9cc, 0x2000 }, - { 0x0702, 0xf9cb, 0x0000 }, - { 0x0702, 0xf9cd, 0x0000 }, - { 0x8702, 0xf9d2, 0x3000 }, - { 0x8702, 0xf9d0, 0x2000 }, - { 0x0702, 0xf9cf, 0x0000 }, - { 0x0702, 0xf9d1, 0x0000 }, - { 0x8702, 0xf9d4, 0x2000 }, - { 0x0702, 0xf9d3, 0x0000 }, - { 0x0702, 0xf9d5, 0x0000 }, - { 0x8702, 0xf9e6, 0x5000 }, - { 0x8702, 0xf9de, 0x4000 }, - { 0x8702, 0xf9da, 0x3000 }, - { 0x8702, 0xf9d8, 0x2000 }, - { 0x0702, 0xf9d7, 0x0000 }, - { 0x0702, 0xf9d9, 0x0000 }, - { 0x8702, 0xf9dc, 0x2000 }, - { 0x0702, 0xf9db, 0x0000 }, - { 0x0702, 0xf9dd, 0x0000 }, - { 0x8702, 0xf9e2, 0x3000 }, - { 0x8702, 0xf9e0, 0x2000 }, - { 0x0702, 0xf9df, 0x0000 }, - { 0x0702, 0xf9e1, 0x0000 }, - { 0x8702, 0xf9e4, 0x2000 }, - { 0x0702, 0xf9e3, 0x0000 }, - { 0x0702, 0xf9e5, 0x0000 }, - { 0x8702, 0xf9ee, 0x4000 }, - { 0x8702, 0xf9ea, 0x3000 }, - { 0x8702, 0xf9e8, 0x2000 }, - { 0x0702, 0xf9e7, 0x0000 }, - { 0x0702, 0xf9e9, 0x0000 }, - { 0x8702, 0xf9ec, 0x2000 }, - { 0x0702, 0xf9eb, 0x0000 }, - { 0x0702, 0xf9ed, 0x0000 }, - { 0x8702, 0xf9f2, 0x3000 }, - { 0x8702, 0xf9f0, 0x2000 }, - { 0x0702, 0xf9ef, 0x0000 }, - { 0x0702, 0xf9f1, 0x0000 }, - { 0x8702, 0xf9f4, 0x2000 }, - { 0x0702, 0xf9f3, 0x0000 }, - { 0x0702, 0xf9f5, 0x0000 }, - { 0x810e, 0x0037, 0x7000 }, - { 0x8702, 0xfa16, 0x6000 }, - { 0x8702, 0xfa06, 0x5000 }, - { 0x8702, 0xf9fe, 0x4000 }, - { 0x8702, 0xf9fa, 0x3000 }, - { 0x8702, 0xf9f8, 0x2000 }, - { 0x0702, 0xf9f7, 0x0000 }, - { 0x0702, 0xf9f9, 0x0000 }, - { 0x8702, 0xf9fc, 0x2000 }, - { 0x0702, 0xf9fb, 0x0000 }, - { 0x0702, 0xf9fd, 0x0000 }, - { 0x8702, 0xfa02, 0x3000 }, - { 0x8702, 0xfa00, 0x2000 }, - { 0x0702, 0xf9ff, 0x0000 }, - { 0x0702, 0xfa01, 0x0000 }, - { 0x8702, 0xfa04, 0x2000 }, - { 0x0702, 0xfa03, 0x0000 }, - { 0x0702, 0xfa05, 0x0000 }, - { 0x8702, 0xfa0e, 0x4000 }, - { 0x8702, 0xfa0a, 0x3000 }, - { 0x8702, 0xfa08, 0x2000 }, - { 0x0702, 0xfa07, 0x0000 }, - { 0x0702, 0xfa09, 0x0000 }, - { 0x8702, 0xfa0c, 0x2000 }, - { 0x0702, 0xfa0b, 0x0000 }, - { 0x0702, 0xfa0d, 0x0000 }, - { 0x8702, 0xfa12, 0x3000 }, - { 0x8702, 0xfa10, 0x2000 }, - { 0x0702, 0xfa0f, 0x0000 }, - { 0x0702, 0xfa11, 0x0000 }, - { 0x8702, 0xfa14, 0x2000 }, - { 0x0702, 0xfa13, 0x0000 }, - { 0x0702, 0xfa15, 0x0000 }, - { 0x810e, 0x0027, 0x5000 }, - { 0x810e, 0x0001, 0x4000 }, - { 0x8702, 0xfa1a, 0x3000 }, - { 0x8702, 0xfa18, 0x2000 }, - { 0x0702, 0xfa17, 0x0000 }, - { 0x0702, 0xfa19, 0x0000 }, - { 0x8702, 0xfa1c, 0x2000 }, - { 0x0702, 0xfa1b, 0x0000 }, - { 0x0702, 0xfa1d, 0x0000 }, - { 0x810e, 0x0023, 0x3000 }, - { 0x810e, 0x0021, 0x2000 }, - { 0x010e, 0x0020, 0x0000 }, - { 0x010e, 0x0022, 0x0000 }, - { 0x810e, 0x0025, 0x2000 }, - { 0x010e, 0x0024, 0x0000 }, - { 0x010e, 0x0026, 0x0000 }, - { 0x810e, 0x002f, 0x4000 }, - { 0x810e, 0x002b, 0x3000 }, - { 0x810e, 0x0029, 0x2000 }, - { 0x010e, 0x0028, 0x0000 }, - { 0x010e, 0x002a, 0x0000 }, - { 0x810e, 0x002d, 0x2000 }, - { 0x010e, 0x002c, 0x0000 }, - { 0x010e, 0x002e, 0x0000 }, - { 0x810e, 0x0033, 0x3000 }, - { 0x810e, 0x0031, 0x2000 }, - { 0x010e, 0x0030, 0x0000 }, - { 0x010e, 0x0032, 0x0000 }, - { 0x810e, 0x0035, 0x2000 }, - { 0x010e, 0x0034, 0x0000 }, - { 0x010e, 0x0036, 0x0000 }, - { 0x810e, 0x0057, 0x6000 }, - { 0x810e, 0x0047, 0x5000 }, - { 0x810e, 0x003f, 0x4000 }, - { 0x810e, 0x003b, 0x3000 }, - { 0x810e, 0x0039, 0x2000 }, - { 0x010e, 0x0038, 0x0000 }, - { 0x010e, 0x003a, 0x0000 }, - { 0x810e, 0x003d, 0x2000 }, - { 0x010e, 0x003c, 0x0000 }, - { 0x010e, 0x003e, 0x0000 }, - { 0x810e, 0x0043, 0x3000 }, - { 0x810e, 0x0041, 0x2000 }, - { 0x010e, 0x0040, 0x0000 }, - { 0x010e, 0x0042, 0x0000 }, - { 0x810e, 0x0045, 0x2000 }, - { 0x010e, 0x0044, 0x0000 }, - { 0x010e, 0x0046, 0x0000 }, - { 0x810e, 0x004f, 0x4000 }, - { 0x810e, 0x004b, 0x3000 }, - { 0x810e, 0x0049, 0x2000 }, - { 0x010e, 0x0048, 0x0000 }, - { 0x010e, 0x004a, 0x0000 }, - { 0x810e, 0x004d, 0x2000 }, - { 0x010e, 0x004c, 0x0000 }, - { 0x010e, 0x004e, 0x0000 }, - { 0x810e, 0x0053, 0x3000 }, - { 0x810e, 0x0051, 0x2000 }, - { 0x010e, 0x0050, 0x0000 }, - { 0x010e, 0x0052, 0x0000 }, - { 0x810e, 0x0055, 0x2000 }, - { 0x010e, 0x0054, 0x0000 }, - { 0x010e, 0x0056, 0x0000 }, - { 0x810e, 0x0067, 0x5000 }, - { 0x810e, 0x005f, 0x4000 }, - { 0x810e, 0x005b, 0x3000 }, - { 0x810e, 0x0059, 0x2000 }, - { 0x010e, 0x0058, 0x0000 }, - { 0x010e, 0x005a, 0x0000 }, - { 0x810e, 0x005d, 0x2000 }, - { 0x010e, 0x005c, 0x0000 }, - { 0x010e, 0x005e, 0x0000 }, - { 0x810e, 0x0063, 0x3000 }, - { 0x810e, 0x0061, 0x2000 }, - { 0x010e, 0x0060, 0x0000 }, - { 0x010e, 0x0062, 0x0000 }, - { 0x810e, 0x0065, 0x2000 }, - { 0x010e, 0x0064, 0x0000 }, - { 0x010e, 0x0066, 0x0000 }, - { 0x810e, 0x006f, 0x4000 }, - { 0x810e, 0x006b, 0x3000 }, - { 0x810e, 0x0069, 0x2000 }, - { 0x010e, 0x0068, 0x0000 }, - { 0x010e, 0x006a, 0x0000 }, - { 0x810e, 0x006d, 0x2000 }, - { 0x010e, 0x006c, 0x0000 }, - { 0x010e, 0x006e, 0x0000 }, - { 0x810e, 0x0073, 0x3000 }, - { 0x810e, 0x0071, 0x2000 }, - { 0x010e, 0x0070, 0x0000 }, - { 0x010e, 0x0072, 0x0000 }, - { 0x810e, 0x0075, 0x2000 }, - { 0x010e, 0x0074, 0x0000 }, - { 0x010e, 0x0076, 0x0000 }, - { 0x8c0e, 0x0177, 0x8000 }, - { 0x8c0e, 0x0137, 0x7000 }, - { 0x8c0e, 0x0117, 0x6000 }, - { 0x8c0e, 0x0107, 0x5000 }, - { 0x810e, 0x007f, 0x4000 }, - { 0x810e, 0x007b, 0x3000 }, - { 0x810e, 0x0079, 0x2000 }, - { 0x010e, 0x0078, 0x0000 }, - { 0x010e, 0x007a, 0x0000 }, - { 0x810e, 0x007d, 0x2000 }, - { 0x010e, 0x007c, 0x0000 }, - { 0x010e, 0x007e, 0x0000 }, - { 0x8c0e, 0x0103, 0x3000 }, - { 0x8c0e, 0x0101, 0x2000 }, - { 0x0c0e, 0x0100, 0x0000 }, - { 0x0c0e, 0x0102, 0x0000 }, - { 0x8c0e, 0x0105, 0x2000 }, - { 0x0c0e, 0x0104, 0x0000 }, - { 0x0c0e, 0x0106, 0x0000 }, - { 0x8c0e, 0x010f, 0x4000 }, - { 0x8c0e, 0x010b, 0x3000 }, - { 0x8c0e, 0x0109, 0x2000 }, - { 0x0c0e, 0x0108, 0x0000 }, - { 0x0c0e, 0x010a, 0x0000 }, - { 0x8c0e, 0x010d, 0x2000 }, - { 0x0c0e, 0x010c, 0x0000 }, - { 0x0c0e, 0x010e, 0x0000 }, - { 0x8c0e, 0x0113, 0x3000 }, - { 0x8c0e, 0x0111, 0x2000 }, - { 0x0c0e, 0x0110, 0x0000 }, - { 0x0c0e, 0x0112, 0x0000 }, - { 0x8c0e, 0x0115, 0x2000 }, - { 0x0c0e, 0x0114, 0x0000 }, - { 0x0c0e, 0x0116, 0x0000 }, - { 0x8c0e, 0x0127, 0x5000 }, - { 0x8c0e, 0x011f, 0x4000 }, - { 0x8c0e, 0x011b, 0x3000 }, - { 0x8c0e, 0x0119, 0x2000 }, - { 0x0c0e, 0x0118, 0x0000 }, - { 0x0c0e, 0x011a, 0x0000 }, - { 0x8c0e, 0x011d, 0x2000 }, - { 0x0c0e, 0x011c, 0x0000 }, - { 0x0c0e, 0x011e, 0x0000 }, - { 0x8c0e, 0x0123, 0x3000 }, - { 0x8c0e, 0x0121, 0x2000 }, - { 0x0c0e, 0x0120, 0x0000 }, - { 0x0c0e, 0x0122, 0x0000 }, - { 0x8c0e, 0x0125, 0x2000 }, - { 0x0c0e, 0x0124, 0x0000 }, - { 0x0c0e, 0x0126, 0x0000 }, - { 0x8c0e, 0x012f, 0x4000 }, - { 0x8c0e, 0x012b, 0x3000 }, - { 0x8c0e, 0x0129, 0x2000 }, - { 0x0c0e, 0x0128, 0x0000 }, - { 0x0c0e, 0x012a, 0x0000 }, - { 0x8c0e, 0x012d, 0x2000 }, - { 0x0c0e, 0x012c, 0x0000 }, - { 0x0c0e, 0x012e, 0x0000 }, - { 0x8c0e, 0x0133, 0x3000 }, - { 0x8c0e, 0x0131, 0x2000 }, - { 0x0c0e, 0x0130, 0x0000 }, - { 0x0c0e, 0x0132, 0x0000 }, - { 0x8c0e, 0x0135, 0x2000 }, - { 0x0c0e, 0x0134, 0x0000 }, - { 0x0c0e, 0x0136, 0x0000 }, - { 0x8c0e, 0x0157, 0x6000 }, - { 0x8c0e, 0x0147, 0x5000 }, - { 0x8c0e, 0x013f, 0x4000 }, - { 0x8c0e, 0x013b, 0x3000 }, - { 0x8c0e, 0x0139, 0x2000 }, - { 0x0c0e, 0x0138, 0x0000 }, - { 0x0c0e, 0x013a, 0x0000 }, - { 0x8c0e, 0x013d, 0x2000 }, - { 0x0c0e, 0x013c, 0x0000 }, - { 0x0c0e, 0x013e, 0x0000 }, - { 0x8c0e, 0x0143, 0x3000 }, - { 0x8c0e, 0x0141, 0x2000 }, - { 0x0c0e, 0x0140, 0x0000 }, - { 0x0c0e, 0x0142, 0x0000 }, - { 0x8c0e, 0x0145, 0x2000 }, - { 0x0c0e, 0x0144, 0x0000 }, - { 0x0c0e, 0x0146, 0x0000 }, - { 0x8c0e, 0x014f, 0x4000 }, - { 0x8c0e, 0x014b, 0x3000 }, - { 0x8c0e, 0x0149, 0x2000 }, - { 0x0c0e, 0x0148, 0x0000 }, - { 0x0c0e, 0x014a, 0x0000 }, - { 0x8c0e, 0x014d, 0x2000 }, - { 0x0c0e, 0x014c, 0x0000 }, - { 0x0c0e, 0x014e, 0x0000 }, - { 0x8c0e, 0x0153, 0x3000 }, - { 0x8c0e, 0x0151, 0x2000 }, - { 0x0c0e, 0x0150, 0x0000 }, - { 0x0c0e, 0x0152, 0x0000 }, - { 0x8c0e, 0x0155, 0x2000 }, - { 0x0c0e, 0x0154, 0x0000 }, - { 0x0c0e, 0x0156, 0x0000 }, - { 0x8c0e, 0x0167, 0x5000 }, - { 0x8c0e, 0x015f, 0x4000 }, - { 0x8c0e, 0x015b, 0x3000 }, - { 0x8c0e, 0x0159, 0x2000 }, - { 0x0c0e, 0x0158, 0x0000 }, - { 0x0c0e, 0x015a, 0x0000 }, - { 0x8c0e, 0x015d, 0x2000 }, - { 0x0c0e, 0x015c, 0x0000 }, - { 0x0c0e, 0x015e, 0x0000 }, - { 0x8c0e, 0x0163, 0x3000 }, - { 0x8c0e, 0x0161, 0x2000 }, - { 0x0c0e, 0x0160, 0x0000 }, - { 0x0c0e, 0x0162, 0x0000 }, - { 0x8c0e, 0x0165, 0x2000 }, - { 0x0c0e, 0x0164, 0x0000 }, - { 0x0c0e, 0x0166, 0x0000 }, - { 0x8c0e, 0x016f, 0x4000 }, - { 0x8c0e, 0x016b, 0x3000 }, - { 0x8c0e, 0x0169, 0x2000 }, - { 0x0c0e, 0x0168, 0x0000 }, - { 0x0c0e, 0x016a, 0x0000 }, - { 0x8c0e, 0x016d, 0x2000 }, - { 0x0c0e, 0x016c, 0x0000 }, - { 0x0c0e, 0x016e, 0x0000 }, - { 0x8c0e, 0x0173, 0x3000 }, - { 0x8c0e, 0x0171, 0x2000 }, - { 0x0c0e, 0x0170, 0x0000 }, - { 0x0c0e, 0x0172, 0x0000 }, - { 0x8c0e, 0x0175, 0x2000 }, - { 0x0c0e, 0x0174, 0x0000 }, - { 0x0c0e, 0x0176, 0x0000 }, - { 0x8c0e, 0x01b7, 0x7000 }, - { 0x8c0e, 0x0197, 0x6000 }, - { 0x8c0e, 0x0187, 0x5000 }, - { 0x8c0e, 0x017f, 0x4000 }, - { 0x8c0e, 0x017b, 0x3000 }, - { 0x8c0e, 0x0179, 0x2000 }, - { 0x0c0e, 0x0178, 0x0000 }, - { 0x0c0e, 0x017a, 0x0000 }, - { 0x8c0e, 0x017d, 0x2000 }, - { 0x0c0e, 0x017c, 0x0000 }, - { 0x0c0e, 0x017e, 0x0000 }, - { 0x8c0e, 0x0183, 0x3000 }, - { 0x8c0e, 0x0181, 0x2000 }, - { 0x0c0e, 0x0180, 0x0000 }, - { 0x0c0e, 0x0182, 0x0000 }, - { 0x8c0e, 0x0185, 0x2000 }, - { 0x0c0e, 0x0184, 0x0000 }, - { 0x0c0e, 0x0186, 0x0000 }, - { 0x8c0e, 0x018f, 0x4000 }, - { 0x8c0e, 0x018b, 0x3000 }, - { 0x8c0e, 0x0189, 0x2000 }, - { 0x0c0e, 0x0188, 0x0000 }, - { 0x0c0e, 0x018a, 0x0000 }, - { 0x8c0e, 0x018d, 0x2000 }, - { 0x0c0e, 0x018c, 0x0000 }, - { 0x0c0e, 0x018e, 0x0000 }, - { 0x8c0e, 0x0193, 0x3000 }, - { 0x8c0e, 0x0191, 0x2000 }, - { 0x0c0e, 0x0190, 0x0000 }, - { 0x0c0e, 0x0192, 0x0000 }, - { 0x8c0e, 0x0195, 0x2000 }, - { 0x0c0e, 0x0194, 0x0000 }, - { 0x0c0e, 0x0196, 0x0000 }, - { 0x8c0e, 0x01a7, 0x5000 }, - { 0x8c0e, 0x019f, 0x4000 }, - { 0x8c0e, 0x019b, 0x3000 }, - { 0x8c0e, 0x0199, 0x2000 }, - { 0x0c0e, 0x0198, 0x0000 }, - { 0x0c0e, 0x019a, 0x0000 }, - { 0x8c0e, 0x019d, 0x2000 }, - { 0x0c0e, 0x019c, 0x0000 }, - { 0x0c0e, 0x019e, 0x0000 }, - { 0x8c0e, 0x01a3, 0x3000 }, - { 0x8c0e, 0x01a1, 0x2000 }, - { 0x0c0e, 0x01a0, 0x0000 }, - { 0x0c0e, 0x01a2, 0x0000 }, - { 0x8c0e, 0x01a5, 0x2000 }, - { 0x0c0e, 0x01a4, 0x0000 }, - { 0x0c0e, 0x01a6, 0x0000 }, - { 0x8c0e, 0x01af, 0x4000 }, - { 0x8c0e, 0x01ab, 0x3000 }, - { 0x8c0e, 0x01a9, 0x2000 }, - { 0x0c0e, 0x01a8, 0x0000 }, - { 0x0c0e, 0x01aa, 0x0000 }, - { 0x8c0e, 0x01ad, 0x2000 }, - { 0x0c0e, 0x01ac, 0x0000 }, - { 0x0c0e, 0x01ae, 0x0000 }, - { 0x8c0e, 0x01b3, 0x3000 }, - { 0x8c0e, 0x01b1, 0x2000 }, - { 0x0c0e, 0x01b0, 0x0000 }, - { 0x0c0e, 0x01b2, 0x0000 }, - { 0x8c0e, 0x01b5, 0x2000 }, - { 0x0c0e, 0x01b4, 0x0000 }, - { 0x0c0e, 0x01b6, 0x0000 }, - { 0x8c0e, 0x01d7, 0x6000 }, - { 0x8c0e, 0x01c7, 0x5000 }, - { 0x8c0e, 0x01bf, 0x4000 }, - { 0x8c0e, 0x01bb, 0x3000 }, - { 0x8c0e, 0x01b9, 0x2000 }, - { 0x0c0e, 0x01b8, 0x0000 }, - { 0x0c0e, 0x01ba, 0x0000 }, - { 0x8c0e, 0x01bd, 0x2000 }, - { 0x0c0e, 0x01bc, 0x0000 }, - { 0x0c0e, 0x01be, 0x0000 }, - { 0x8c0e, 0x01c3, 0x3000 }, - { 0x8c0e, 0x01c1, 0x2000 }, - { 0x0c0e, 0x01c0, 0x0000 }, - { 0x0c0e, 0x01c2, 0x0000 }, - { 0x8c0e, 0x01c5, 0x2000 }, - { 0x0c0e, 0x01c4, 0x0000 }, - { 0x0c0e, 0x01c6, 0x0000 }, - { 0x8c0e, 0x01cf, 0x4000 }, - { 0x8c0e, 0x01cb, 0x3000 }, - { 0x8c0e, 0x01c9, 0x2000 }, - { 0x0c0e, 0x01c8, 0x0000 }, - { 0x0c0e, 0x01ca, 0x0000 }, - { 0x8c0e, 0x01cd, 0x2000 }, - { 0x0c0e, 0x01cc, 0x0000 }, - { 0x0c0e, 0x01ce, 0x0000 }, - { 0x8c0e, 0x01d3, 0x3000 }, - { 0x8c0e, 0x01d1, 0x2000 }, - { 0x0c0e, 0x01d0, 0x0000 }, - { 0x0c0e, 0x01d2, 0x0000 }, - { 0x8c0e, 0x01d5, 0x2000 }, - { 0x0c0e, 0x01d4, 0x0000 }, - { 0x0c0e, 0x01d6, 0x0000 }, - { 0x8c0e, 0x01e7, 0x5000 }, - { 0x8c0e, 0x01df, 0x4000 }, - { 0x8c0e, 0x01db, 0x3000 }, - { 0x8c0e, 0x01d9, 0x2000 }, - { 0x0c0e, 0x01d8, 0x0000 }, - { 0x0c0e, 0x01da, 0x0000 }, - { 0x8c0e, 0x01dd, 0x2000 }, - { 0x0c0e, 0x01dc, 0x0000 }, - { 0x0c0e, 0x01de, 0x0000 }, - { 0x8c0e, 0x01e3, 0x3000 }, - { 0x8c0e, 0x01e1, 0x2000 }, - { 0x0c0e, 0x01e0, 0x0000 }, - { 0x0c0e, 0x01e2, 0x0000 }, - { 0x8c0e, 0x01e5, 0x2000 }, - { 0x0c0e, 0x01e4, 0x0000 }, - { 0x0c0e, 0x01e6, 0x0000 }, - { 0x8c0e, 0x01ef, 0x4000 }, - { 0x8c0e, 0x01eb, 0x3000 }, - { 0x8c0e, 0x01e9, 0x2000 }, - { 0x0c0e, 0x01e8, 0x0000 }, - { 0x0c0e, 0x01ea, 0x0000 }, - { 0x8c0e, 0x01ed, 0x2000 }, - { 0x0c0e, 0x01ec, 0x0000 }, - { 0x0c0e, 0x01ee, 0x0000 }, - { 0x830f, 0xfffd, 0x2000 }, - { 0x030f, 0x0000, 0x0000 }, - { 0x0310, 0x0000, 0x1000 }, - { 0x0310, 0xfffd, 0x0000 }, + { 0x09800000, 0x0000001f }, + { 0x09000020, 0x74000000 }, + { 0x09800021, 0x54000002 }, + { 0x09000024, 0x5c000000 }, + { 0x09800025, 0x54000002 }, + { 0x09000028, 0x58000000 }, + { 0x09000029, 0x48000000 }, + { 0x0900002a, 0x54000000 }, + { 0x0900002b, 0x64000000 }, + { 0x0900002c, 0x54000000 }, + { 0x0900002d, 0x44000000 }, + { 0x0980002e, 0x54000001 }, + { 0x09800030, 0x34000009 }, + { 0x0980003a, 0x54000001 }, + { 0x0980003c, 0x64000002 }, + { 0x0980003f, 0x54000001 }, + { 0x21000041, 0x24000020 }, + { 0x21000042, 0x24000020 }, + { 0x21000043, 0x24000020 }, + { 0x21000044, 0x24000020 }, + { 0x21000045, 0x24000020 }, + { 0x21000046, 0x24000020 }, + { 0x21000047, 0x24000020 }, + { 0x21000048, 0x24000020 }, + { 0x21000049, 0x24000020 }, + { 0x2100004a, 0x24000020 }, + { 0x2100004b, 0x24000020 }, + { 0x2100004c, 0x24000020 }, + { 0x2100004d, 0x24000020 }, + { 0x2100004e, 0x24000020 }, + { 0x2100004f, 0x24000020 }, + { 0x21000050, 0x24000020 }, + { 0x21000051, 0x24000020 }, + { 0x21000052, 0x24000020 }, + { 0x21000053, 0x24000020 }, + { 0x21000054, 0x24000020 }, + { 0x21000055, 0x24000020 }, + { 0x21000056, 0x24000020 }, + { 0x21000057, 0x24000020 }, + { 0x21000058, 0x24000020 }, + { 0x21000059, 0x24000020 }, + { 0x2100005a, 0x24000020 }, + { 0x0900005b, 0x58000000 }, + { 0x0900005c, 0x54000000 }, + { 0x0900005d, 0x48000000 }, + { 0x0900005e, 0x60000000 }, + { 0x0900005f, 0x40000000 }, + { 0x09000060, 0x60000000 }, + { 0x21000061, 0x1400ffe0 }, + { 0x21000062, 0x1400ffe0 }, + { 0x21000063, 0x1400ffe0 }, + { 0x21000064, 0x1400ffe0 }, + { 0x21000065, 0x1400ffe0 }, + { 0x21000066, 0x1400ffe0 }, + { 0x21000067, 0x1400ffe0 }, + { 0x21000068, 0x1400ffe0 }, + { 0x21000069, 0x1400ffe0 }, + { 0x2100006a, 0x1400ffe0 }, + { 0x2100006b, 0x1400ffe0 }, + { 0x2100006c, 0x1400ffe0 }, + { 0x2100006d, 0x1400ffe0 }, + { 0x2100006e, 0x1400ffe0 }, + { 0x2100006f, 0x1400ffe0 }, + { 0x21000070, 0x1400ffe0 }, + { 0x21000071, 0x1400ffe0 }, + { 0x21000072, 0x1400ffe0 }, + { 0x21000073, 0x1400ffe0 }, + { 0x21000074, 0x1400ffe0 }, + { 0x21000075, 0x1400ffe0 }, + { 0x21000076, 0x1400ffe0 }, + { 0x21000077, 0x1400ffe0 }, + { 0x21000078, 0x1400ffe0 }, + { 0x21000079, 0x1400ffe0 }, + { 0x2100007a, 0x1400ffe0 }, + { 0x0900007b, 0x58000000 }, + { 0x0900007c, 0x64000000 }, + { 0x0900007d, 0x48000000 }, + { 0x0900007e, 0x64000000 }, + { 0x0980007f, 0x00000020 }, + { 0x090000a0, 0x74000000 }, + { 0x090000a1, 0x54000000 }, + { 0x098000a2, 0x5c000003 }, + { 0x098000a6, 0x68000001 }, + { 0x090000a8, 0x60000000 }, + { 0x090000a9, 0x68000000 }, + { 0x210000aa, 0x14000000 }, + { 0x090000ab, 0x50000000 }, + { 0x090000ac, 0x64000000 }, + { 0x090000ad, 0x04000000 }, + { 0x090000ae, 0x68000000 }, + { 0x090000af, 0x60000000 }, + { 0x090000b0, 0x68000000 }, + { 0x090000b1, 0x64000000 }, + { 0x098000b2, 0x3c000001 }, + { 0x090000b4, 0x60000000 }, + { 0x090000b5, 0x140002e7 }, + { 0x090000b6, 0x68000000 }, + { 0x090000b7, 0x54000000 }, + { 0x090000b8, 0x60000000 }, + { 0x090000b9, 0x3c000000 }, + { 0x210000ba, 0x14000000 }, + { 0x090000bb, 0x4c000000 }, + { 0x098000bc, 0x3c000002 }, + { 0x090000bf, 0x54000000 }, + { 0x210000c0, 0x24000020 }, + { 0x210000c1, 0x24000020 }, + { 0x210000c2, 0x24000020 }, + { 0x210000c3, 0x24000020 }, + { 0x210000c4, 0x24000020 }, + { 0x210000c5, 0x24000020 }, + { 0x210000c6, 0x24000020 }, + { 0x210000c7, 0x24000020 }, + { 0x210000c8, 0x24000020 }, + { 0x210000c9, 0x24000020 }, + { 0x210000ca, 0x24000020 }, + { 0x210000cb, 0x24000020 }, + { 0x210000cc, 0x24000020 }, + { 0x210000cd, 0x24000020 }, + { 0x210000ce, 0x24000020 }, + { 0x210000cf, 0x24000020 }, + { 0x210000d0, 0x24000020 }, + { 0x210000d1, 0x24000020 }, + { 0x210000d2, 0x24000020 }, + { 0x210000d3, 0x24000020 }, + { 0x210000d4, 0x24000020 }, + { 0x210000d5, 0x24000020 }, + { 0x210000d6, 0x24000020 }, + { 0x090000d7, 0x64000000 }, + { 0x210000d8, 0x24000020 }, + { 0x210000d9, 0x24000020 }, + { 0x210000da, 0x24000020 }, + { 0x210000db, 0x24000020 }, + { 0x210000dc, 0x24000020 }, + { 0x210000dd, 0x24000020 }, + { 0x210000de, 0x24000020 }, + { 0x210000df, 0x14000000 }, + { 0x210000e0, 0x1400ffe0 }, + { 0x210000e1, 0x1400ffe0 }, + { 0x210000e2, 0x1400ffe0 }, + { 0x210000e3, 0x1400ffe0 }, + { 0x210000e4, 0x1400ffe0 }, + { 0x210000e5, 0x1400ffe0 }, + { 0x210000e6, 0x1400ffe0 }, + { 0x210000e7, 0x1400ffe0 }, + { 0x210000e8, 0x1400ffe0 }, + { 0x210000e9, 0x1400ffe0 }, + { 0x210000ea, 0x1400ffe0 }, + { 0x210000eb, 0x1400ffe0 }, + { 0x210000ec, 0x1400ffe0 }, + { 0x210000ed, 0x1400ffe0 }, + { 0x210000ee, 0x1400ffe0 }, + { 0x210000ef, 0x1400ffe0 }, + { 0x210000f0, 0x1400ffe0 }, + { 0x210000f1, 0x1400ffe0 }, + { 0x210000f2, 0x1400ffe0 }, + { 0x210000f3, 0x1400ffe0 }, + { 0x210000f4, 0x1400ffe0 }, + { 0x210000f5, 0x1400ffe0 }, + { 0x210000f6, 0x1400ffe0 }, + { 0x090000f7, 0x64000000 }, + { 0x210000f8, 0x1400ffe0 }, + { 0x210000f9, 0x1400ffe0 }, + { 0x210000fa, 0x1400ffe0 }, + { 0x210000fb, 0x1400ffe0 }, + { 0x210000fc, 0x1400ffe0 }, + { 0x210000fd, 0x1400ffe0 }, + { 0x210000fe, 0x1400ffe0 }, + { 0x210000ff, 0x14000079 }, + { 0x21000100, 0x24000001 }, + { 0x21000101, 0x1400ffff }, + { 0x21000102, 0x24000001 }, + { 0x21000103, 0x1400ffff }, + { 0x21000104, 0x24000001 }, + { 0x21000105, 0x1400ffff }, + { 0x21000106, 0x24000001 }, + { 0x21000107, 0x1400ffff }, + { 0x21000108, 0x24000001 }, + { 0x21000109, 0x1400ffff }, + { 0x2100010a, 0x24000001 }, + { 0x2100010b, 0x1400ffff }, + { 0x2100010c, 0x24000001 }, + { 0x2100010d, 0x1400ffff }, + { 0x2100010e, 0x24000001 }, + { 0x2100010f, 0x1400ffff }, + { 0x21000110, 0x24000001 }, + { 0x21000111, 0x1400ffff }, + { 0x21000112, 0x24000001 }, + { 0x21000113, 0x1400ffff }, + { 0x21000114, 0x24000001 }, + { 0x21000115, 0x1400ffff }, + { 0x21000116, 0x24000001 }, + { 0x21000117, 0x1400ffff }, + { 0x21000118, 0x24000001 }, + { 0x21000119, 0x1400ffff }, + { 0x2100011a, 0x24000001 }, + { 0x2100011b, 0x1400ffff }, + { 0x2100011c, 0x24000001 }, + { 0x2100011d, 0x1400ffff }, + { 0x2100011e, 0x24000001 }, + { 0x2100011f, 0x1400ffff }, + { 0x21000120, 0x24000001 }, + { 0x21000121, 0x1400ffff }, + { 0x21000122, 0x24000001 }, + { 0x21000123, 0x1400ffff }, + { 0x21000124, 0x24000001 }, + { 0x21000125, 0x1400ffff }, + { 0x21000126, 0x24000001 }, + { 0x21000127, 0x1400ffff }, + { 0x21000128, 0x24000001 }, + { 0x21000129, 0x1400ffff }, + { 0x2100012a, 0x24000001 }, + { 0x2100012b, 0x1400ffff }, + { 0x2100012c, 0x24000001 }, + { 0x2100012d, 0x1400ffff }, + { 0x2100012e, 0x24000001 }, + { 0x2100012f, 0x1400ffff }, + { 0x21000130, 0x2400ff39 }, + { 0x21000131, 0x1400ff18 }, + { 0x21000132, 0x24000001 }, + { 0x21000133, 0x1400ffff }, + { 0x21000134, 0x24000001 }, + { 0x21000135, 0x1400ffff }, + { 0x21000136, 0x24000001 }, + { 0x21000137, 0x1400ffff }, + { 0x21000138, 0x14000000 }, + { 0x21000139, 0x24000001 }, + { 0x2100013a, 0x1400ffff }, + { 0x2100013b, 0x24000001 }, + { 0x2100013c, 0x1400ffff }, + { 0x2100013d, 0x24000001 }, + { 0x2100013e, 0x1400ffff }, + { 0x2100013f, 0x24000001 }, + { 0x21000140, 0x1400ffff }, + { 0x21000141, 0x24000001 }, + { 0x21000142, 0x1400ffff }, + { 0x21000143, 0x24000001 }, + { 0x21000144, 0x1400ffff }, + { 0x21000145, 0x24000001 }, + { 0x21000146, 0x1400ffff }, + { 0x21000147, 0x24000001 }, + { 0x21000148, 0x1400ffff }, + { 0x21000149, 0x14000000 }, + { 0x2100014a, 0x24000001 }, + { 0x2100014b, 0x1400ffff }, + { 0x2100014c, 0x24000001 }, + { 0x2100014d, 0x1400ffff }, + { 0x2100014e, 0x24000001 }, + { 0x2100014f, 0x1400ffff }, + { 0x21000150, 0x24000001 }, + { 0x21000151, 0x1400ffff }, + { 0x21000152, 0x24000001 }, + { 0x21000153, 0x1400ffff }, + { 0x21000154, 0x24000001 }, + { 0x21000155, 0x1400ffff }, + { 0x21000156, 0x24000001 }, + { 0x21000157, 0x1400ffff }, + { 0x21000158, 0x24000001 }, + { 0x21000159, 0x1400ffff }, + { 0x2100015a, 0x24000001 }, + { 0x2100015b, 0x1400ffff }, + { 0x2100015c, 0x24000001 }, + { 0x2100015d, 0x1400ffff }, + { 0x2100015e, 0x24000001 }, + { 0x2100015f, 0x1400ffff }, + { 0x21000160, 0x24000001 }, + { 0x21000161, 0x1400ffff }, + { 0x21000162, 0x24000001 }, + { 0x21000163, 0x1400ffff }, + { 0x21000164, 0x24000001 }, + { 0x21000165, 0x1400ffff }, + { 0x21000166, 0x24000001 }, + { 0x21000167, 0x1400ffff }, + { 0x21000168, 0x24000001 }, + { 0x21000169, 0x1400ffff }, + { 0x2100016a, 0x24000001 }, + { 0x2100016b, 0x1400ffff }, + { 0x2100016c, 0x24000001 }, + { 0x2100016d, 0x1400ffff }, + { 0x2100016e, 0x24000001 }, + { 0x2100016f, 0x1400ffff }, + { 0x21000170, 0x24000001 }, + { 0x21000171, 0x1400ffff }, + { 0x21000172, 0x24000001 }, + { 0x21000173, 0x1400ffff }, + { 0x21000174, 0x24000001 }, + { 0x21000175, 0x1400ffff }, + { 0x21000176, 0x24000001 }, + { 0x21000177, 0x1400ffff }, + { 0x21000178, 0x2400ff87 }, + { 0x21000179, 0x24000001 }, + { 0x2100017a, 0x1400ffff }, + { 0x2100017b, 0x24000001 }, + { 0x2100017c, 0x1400ffff }, + { 0x2100017d, 0x24000001 }, + { 0x2100017e, 0x1400ffff }, + { 0x2100017f, 0x1400fed4 }, + { 0x21000180, 0x140000c3 }, + { 0x21000181, 0x240000d2 }, + { 0x21000182, 0x24000001 }, + { 0x21000183, 0x1400ffff }, + { 0x21000184, 0x24000001 }, + { 0x21000185, 0x1400ffff }, + { 0x21000186, 0x240000ce }, + { 0x21000187, 0x24000001 }, + { 0x21000188, 0x1400ffff }, + { 0x21000189, 0x240000cd }, + { 0x2100018a, 0x240000cd }, + { 0x2100018b, 0x24000001 }, + { 0x2100018c, 0x1400ffff }, + { 0x2100018d, 0x14000000 }, + { 0x2100018e, 0x2400004f }, + { 0x2100018f, 0x240000ca }, + { 0x21000190, 0x240000cb }, + { 0x21000191, 0x24000001 }, + { 0x21000192, 0x1400ffff }, + { 0x21000193, 0x240000cd }, + { 0x21000194, 0x240000cf }, + { 0x21000195, 0x14000061 }, + { 0x21000196, 0x240000d3 }, + { 0x21000197, 0x240000d1 }, + { 0x21000198, 0x24000001 }, + { 0x21000199, 0x1400ffff }, + { 0x2100019a, 0x140000a3 }, + { 0x2100019b, 0x14000000 }, + { 0x2100019c, 0x240000d3 }, + { 0x2100019d, 0x240000d5 }, + { 0x2100019e, 0x14000082 }, + { 0x2100019f, 0x240000d6 }, + { 0x210001a0, 0x24000001 }, + { 0x210001a1, 0x1400ffff }, + { 0x210001a2, 0x24000001 }, + { 0x210001a3, 0x1400ffff }, + { 0x210001a4, 0x24000001 }, + { 0x210001a5, 0x1400ffff }, + { 0x210001a6, 0x240000da }, + { 0x210001a7, 0x24000001 }, + { 0x210001a8, 0x1400ffff }, + { 0x210001a9, 0x240000da }, + { 0x218001aa, 0x14000001 }, + { 0x210001ac, 0x24000001 }, + { 0x210001ad, 0x1400ffff }, + { 0x210001ae, 0x240000da }, + { 0x210001af, 0x24000001 }, + { 0x210001b0, 0x1400ffff }, + { 0x210001b1, 0x240000d9 }, + { 0x210001b2, 0x240000d9 }, + { 0x210001b3, 0x24000001 }, + { 0x210001b4, 0x1400ffff }, + { 0x210001b5, 0x24000001 }, + { 0x210001b6, 0x1400ffff }, + { 0x210001b7, 0x240000db }, + { 0x210001b8, 0x24000001 }, + { 0x210001b9, 0x1400ffff }, + { 0x210001ba, 0x14000000 }, + { 0x210001bb, 0x1c000000 }, + { 0x210001bc, 0x24000001 }, + { 0x210001bd, 0x1400ffff }, + { 0x210001be, 0x14000000 }, + { 0x210001bf, 0x14000038 }, + { 0x218001c0, 0x1c000003 }, + { 0x210001c4, 0x24000002 }, + { 0x210001c5, 0x2000ffff }, + { 0x210001c6, 0x1400fffe }, + { 0x210001c7, 0x24000002 }, + { 0x210001c8, 0x2000ffff }, + { 0x210001c9, 0x1400fffe }, + { 0x210001ca, 0x24000002 }, + { 0x210001cb, 0x2000ffff }, + { 0x210001cc, 0x1400fffe }, + { 0x210001cd, 0x24000001 }, + { 0x210001ce, 0x1400ffff }, + { 0x210001cf, 0x24000001 }, + { 0x210001d0, 0x1400ffff }, + { 0x210001d1, 0x24000001 }, + { 0x210001d2, 0x1400ffff }, + { 0x210001d3, 0x24000001 }, + { 0x210001d4, 0x1400ffff }, + { 0x210001d5, 0x24000001 }, + { 0x210001d6, 0x1400ffff }, + { 0x210001d7, 0x24000001 }, + { 0x210001d8, 0x1400ffff }, + { 0x210001d9, 0x24000001 }, + { 0x210001da, 0x1400ffff }, + { 0x210001db, 0x24000001 }, + { 0x210001dc, 0x1400ffff }, + { 0x210001dd, 0x1400ffb1 }, + { 0x210001de, 0x24000001 }, + { 0x210001df, 0x1400ffff }, + { 0x210001e0, 0x24000001 }, + { 0x210001e1, 0x1400ffff }, + { 0x210001e2, 0x24000001 }, + { 0x210001e3, 0x1400ffff }, + { 0x210001e4, 0x24000001 }, + { 0x210001e5, 0x1400ffff }, + { 0x210001e6, 0x24000001 }, + { 0x210001e7, 0x1400ffff }, + { 0x210001e8, 0x24000001 }, + { 0x210001e9, 0x1400ffff }, + { 0x210001ea, 0x24000001 }, + { 0x210001eb, 0x1400ffff }, + { 0x210001ec, 0x24000001 }, + { 0x210001ed, 0x1400ffff }, + { 0x210001ee, 0x24000001 }, + { 0x210001ef, 0x1400ffff }, + { 0x210001f0, 0x14000000 }, + { 0x210001f1, 0x24000002 }, + { 0x210001f2, 0x2000ffff }, + { 0x210001f3, 0x1400fffe }, + { 0x210001f4, 0x24000001 }, + { 0x210001f5, 0x1400ffff }, + { 0x210001f6, 0x2400ff9f }, + { 0x210001f7, 0x2400ffc8 }, + { 0x210001f8, 0x24000001 }, + { 0x210001f9, 0x1400ffff }, + { 0x210001fa, 0x24000001 }, + { 0x210001fb, 0x1400ffff }, + { 0x210001fc, 0x24000001 }, + { 0x210001fd, 0x1400ffff }, + { 0x210001fe, 0x24000001 }, + { 0x210001ff, 0x1400ffff }, + { 0x21000200, 0x24000001 }, + { 0x21000201, 0x1400ffff }, + { 0x21000202, 0x24000001 }, + { 0x21000203, 0x1400ffff }, + { 0x21000204, 0x24000001 }, + { 0x21000205, 0x1400ffff }, + { 0x21000206, 0x24000001 }, + { 0x21000207, 0x1400ffff }, + { 0x21000208, 0x24000001 }, + { 0x21000209, 0x1400ffff }, + { 0x2100020a, 0x24000001 }, + { 0x2100020b, 0x1400ffff }, + { 0x2100020c, 0x24000001 }, + { 0x2100020d, 0x1400ffff }, + { 0x2100020e, 0x24000001 }, + { 0x2100020f, 0x1400ffff }, + { 0x21000210, 0x24000001 }, + { 0x21000211, 0x1400ffff }, + { 0x21000212, 0x24000001 }, + { 0x21000213, 0x1400ffff }, + { 0x21000214, 0x24000001 }, + { 0x21000215, 0x1400ffff }, + { 0x21000216, 0x24000001 }, + { 0x21000217, 0x1400ffff }, + { 0x21000218, 0x24000001 }, + { 0x21000219, 0x1400ffff }, + { 0x2100021a, 0x24000001 }, + { 0x2100021b, 0x1400ffff }, + { 0x2100021c, 0x24000001 }, + { 0x2100021d, 0x1400ffff }, + { 0x2100021e, 0x24000001 }, + { 0x2100021f, 0x1400ffff }, + { 0x21000220, 0x2400ff7e }, + { 0x21000221, 0x14000000 }, + { 0x21000222, 0x24000001 }, + { 0x21000223, 0x1400ffff }, + { 0x21000224, 0x24000001 }, + { 0x21000225, 0x1400ffff }, + { 0x21000226, 0x24000001 }, + { 0x21000227, 0x1400ffff }, + { 0x21000228, 0x24000001 }, + { 0x21000229, 0x1400ffff }, + { 0x2100022a, 0x24000001 }, + { 0x2100022b, 0x1400ffff }, + { 0x2100022c, 0x24000001 }, + { 0x2100022d, 0x1400ffff }, + { 0x2100022e, 0x24000001 }, + { 0x2100022f, 0x1400ffff }, + { 0x21000230, 0x24000001 }, + { 0x21000231, 0x1400ffff }, + { 0x21000232, 0x24000001 }, + { 0x21000233, 0x1400ffff }, + { 0x21800234, 0x14000005 }, + { 0x2100023a, 0x24002a2b }, + { 0x2100023b, 0x24000001 }, + { 0x2100023c, 0x1400ffff }, + { 0x2100023d, 0x2400ff5d }, + { 0x2100023e, 0x24002a28 }, + { 0x2180023f, 0x14000001 }, + { 0x21000241, 0x24000001 }, + { 0x21000242, 0x1400ffff }, + { 0x21000243, 0x2400ff3d }, + { 0x21000244, 0x24000045 }, + { 0x21000245, 0x24000047 }, + { 0x21000246, 0x24000001 }, + { 0x21000247, 0x1400ffff }, + { 0x21000248, 0x24000001 }, + { 0x21000249, 0x1400ffff }, + { 0x2100024a, 0x24000001 }, + { 0x2100024b, 0x1400ffff }, + { 0x2100024c, 0x24000001 }, + { 0x2100024d, 0x1400ffff }, + { 0x2100024e, 0x24000001 }, + { 0x2100024f, 0x1400ffff }, + { 0x21800250, 0x14000002 }, + { 0x21000253, 0x1400ff2e }, + { 0x21000254, 0x1400ff32 }, + { 0x21000255, 0x14000000 }, + { 0x21000256, 0x1400ff33 }, + { 0x21000257, 0x1400ff33 }, + { 0x21000258, 0x14000000 }, + { 0x21000259, 0x1400ff36 }, + { 0x2100025a, 0x14000000 }, + { 0x2100025b, 0x1400ff35 }, + { 0x2180025c, 0x14000003 }, + { 0x21000260, 0x1400ff33 }, + { 0x21800261, 0x14000001 }, + { 0x21000263, 0x1400ff31 }, + { 0x21800264, 0x14000003 }, + { 0x21000268, 0x1400ff2f }, + { 0x21000269, 0x1400ff2d }, + { 0x2100026a, 0x14000000 }, + { 0x2100026b, 0x140029f7 }, + { 0x2180026c, 0x14000002 }, + { 0x2100026f, 0x1400ff2d }, + { 0x21800270, 0x14000001 }, + { 0x21000272, 0x1400ff2b }, + { 0x21800273, 0x14000001 }, + { 0x21000275, 0x1400ff2a }, + { 0x21800276, 0x14000006 }, + { 0x2100027d, 0x140029e7 }, + { 0x2180027e, 0x14000001 }, + { 0x21000280, 0x1400ff26 }, + { 0x21800281, 0x14000001 }, + { 0x21000283, 0x1400ff26 }, + { 0x21800284, 0x14000003 }, + { 0x21000288, 0x1400ff26 }, + { 0x21000289, 0x1400ffbb }, + { 0x2100028a, 0x1400ff27 }, + { 0x2100028b, 0x1400ff27 }, + { 0x2100028c, 0x1400ffb9 }, + { 0x2180028d, 0x14000004 }, + { 0x21000292, 0x1400ff25 }, + { 0x21000293, 0x14000000 }, + { 0x21000294, 0x1c000000 }, + { 0x21800295, 0x1400001a }, + { 0x218002b0, 0x18000011 }, + { 0x098002c2, 0x60000003 }, + { 0x098002c6, 0x1800000b }, + { 0x098002d2, 0x6000000d }, + { 0x218002e0, 0x18000004 }, + { 0x098002e5, 0x60000008 }, + { 0x090002ee, 0x18000000 }, + { 0x098002ef, 0x60000010 }, + { 0x1b800300, 0x30000044 }, + { 0x1b000345, 0x30000054 }, + { 0x1b800346, 0x30000029 }, + { 0x13800374, 0x60000001 }, + { 0x1300037a, 0x18000000 }, + { 0x1300037b, 0x14000082 }, + { 0x1300037c, 0x14000082 }, + { 0x1300037d, 0x14000082 }, + { 0x0900037e, 0x54000000 }, + { 0x13800384, 0x60000001 }, + { 0x13000386, 0x24000026 }, + { 0x09000387, 0x54000000 }, + { 0x13000388, 0x24000025 }, + { 0x13000389, 0x24000025 }, + { 0x1300038a, 0x24000025 }, + { 0x1300038c, 0x24000040 }, + { 0x1300038e, 0x2400003f }, + { 0x1300038f, 0x2400003f }, + { 0x13000390, 0x14000000 }, + { 0x13000391, 0x24000020 }, + { 0x13000392, 0x24000020 }, + { 0x13000393, 0x24000020 }, + { 0x13000394, 0x24000020 }, + { 0x13000395, 0x24000020 }, + { 0x13000396, 0x24000020 }, + { 0x13000397, 0x24000020 }, + { 0x13000398, 0x24000020 }, + { 0x13000399, 0x24000020 }, + { 0x1300039a, 0x24000020 }, + { 0x1300039b, 0x24000020 }, + { 0x1300039c, 0x24000020 }, + { 0x1300039d, 0x24000020 }, + { 0x1300039e, 0x24000020 }, + { 0x1300039f, 0x24000020 }, + { 0x130003a0, 0x24000020 }, + { 0x130003a1, 0x24000020 }, + { 0x130003a3, 0x24000020 }, + { 0x130003a4, 0x24000020 }, + { 0x130003a5, 0x24000020 }, + { 0x130003a6, 0x24000020 }, + { 0x130003a7, 0x24000020 }, + { 0x130003a8, 0x24000020 }, + { 0x130003a9, 0x24000020 }, + { 0x130003aa, 0x24000020 }, + { 0x130003ab, 0x24000020 }, + { 0x130003ac, 0x1400ffda }, + { 0x130003ad, 0x1400ffdb }, + { 0x130003ae, 0x1400ffdb }, + { 0x130003af, 0x1400ffdb }, + { 0x130003b0, 0x14000000 }, + { 0x130003b1, 0x1400ffe0 }, + { 0x130003b2, 0x1400ffe0 }, + { 0x130003b3, 0x1400ffe0 }, + { 0x130003b4, 0x1400ffe0 }, + { 0x130003b5, 0x1400ffe0 }, + { 0x130003b6, 0x1400ffe0 }, + { 0x130003b7, 0x1400ffe0 }, + { 0x130003b8, 0x1400ffe0 }, + { 0x130003b9, 0x1400ffe0 }, + { 0x130003ba, 0x1400ffe0 }, + { 0x130003bb, 0x1400ffe0 }, + { 0x130003bc, 0x1400ffe0 }, + { 0x130003bd, 0x1400ffe0 }, + { 0x130003be, 0x1400ffe0 }, + { 0x130003bf, 0x1400ffe0 }, + { 0x130003c0, 0x1400ffe0 }, + { 0x130003c1, 0x1400ffe0 }, + { 0x130003c2, 0x1400ffe1 }, + { 0x130003c3, 0x1400ffe0 }, + { 0x130003c4, 0x1400ffe0 }, + { 0x130003c5, 0x1400ffe0 }, + { 0x130003c6, 0x1400ffe0 }, + { 0x130003c7, 0x1400ffe0 }, + { 0x130003c8, 0x1400ffe0 }, + { 0x130003c9, 0x1400ffe0 }, + { 0x130003ca, 0x1400ffe0 }, + { 0x130003cb, 0x1400ffe0 }, + { 0x130003cc, 0x1400ffc0 }, + { 0x130003cd, 0x1400ffc1 }, + { 0x130003ce, 0x1400ffc1 }, + { 0x130003d0, 0x1400ffc2 }, + { 0x130003d1, 0x1400ffc7 }, + { 0x138003d2, 0x24000002 }, + { 0x130003d5, 0x1400ffd1 }, + { 0x130003d6, 0x1400ffca }, + { 0x130003d7, 0x14000000 }, + { 0x130003d8, 0x24000001 }, + { 0x130003d9, 0x1400ffff }, + { 0x130003da, 0x24000001 }, + { 0x130003db, 0x1400ffff }, + { 0x130003dc, 0x24000001 }, + { 0x130003dd, 0x1400ffff }, + { 0x130003de, 0x24000001 }, + { 0x130003df, 0x1400ffff }, + { 0x130003e0, 0x24000001 }, + { 0x130003e1, 0x1400ffff }, + { 0x0a0003e2, 0x24000001 }, + { 0x0a0003e3, 0x1400ffff }, + { 0x0a0003e4, 0x24000001 }, + { 0x0a0003e5, 0x1400ffff }, + { 0x0a0003e6, 0x24000001 }, + { 0x0a0003e7, 0x1400ffff }, + { 0x0a0003e8, 0x24000001 }, + { 0x0a0003e9, 0x1400ffff }, + { 0x0a0003ea, 0x24000001 }, + { 0x0a0003eb, 0x1400ffff }, + { 0x0a0003ec, 0x24000001 }, + { 0x0a0003ed, 0x1400ffff }, + { 0x0a0003ee, 0x24000001 }, + { 0x0a0003ef, 0x1400ffff }, + { 0x130003f0, 0x1400ffaa }, + { 0x130003f1, 0x1400ffb0 }, + { 0x130003f2, 0x14000007 }, + { 0x130003f3, 0x14000000 }, + { 0x130003f4, 0x2400ffc4 }, + { 0x130003f5, 0x1400ffa0 }, + { 0x130003f6, 0x64000000 }, + { 0x130003f7, 0x24000001 }, + { 0x130003f8, 0x1400ffff }, + { 0x130003f9, 0x2400fff9 }, + { 0x130003fa, 0x24000001 }, + { 0x130003fb, 0x1400ffff }, + { 0x130003fc, 0x14000000 }, + { 0x130003fd, 0x2400ff7e }, + { 0x130003fe, 0x2400ff7e }, + { 0x130003ff, 0x2400ff7e }, + { 0x0c000400, 0x24000050 }, + { 0x0c000401, 0x24000050 }, + { 0x0c000402, 0x24000050 }, + { 0x0c000403, 0x24000050 }, + { 0x0c000404, 0x24000050 }, + { 0x0c000405, 0x24000050 }, + { 0x0c000406, 0x24000050 }, + { 0x0c000407, 0x24000050 }, + { 0x0c000408, 0x24000050 }, + { 0x0c000409, 0x24000050 }, + { 0x0c00040a, 0x24000050 }, + { 0x0c00040b, 0x24000050 }, + { 0x0c00040c, 0x24000050 }, + { 0x0c00040d, 0x24000050 }, + { 0x0c00040e, 0x24000050 }, + { 0x0c00040f, 0x24000050 }, + { 0x0c000410, 0x24000020 }, + { 0x0c000411, 0x24000020 }, + { 0x0c000412, 0x24000020 }, + { 0x0c000413, 0x24000020 }, + { 0x0c000414, 0x24000020 }, + { 0x0c000415, 0x24000020 }, + { 0x0c000416, 0x24000020 }, + { 0x0c000417, 0x24000020 }, + { 0x0c000418, 0x24000020 }, + { 0x0c000419, 0x24000020 }, + { 0x0c00041a, 0x24000020 }, + { 0x0c00041b, 0x24000020 }, + { 0x0c00041c, 0x24000020 }, + { 0x0c00041d, 0x24000020 }, + { 0x0c00041e, 0x24000020 }, + { 0x0c00041f, 0x24000020 }, + { 0x0c000420, 0x24000020 }, + { 0x0c000421, 0x24000020 }, + { 0x0c000422, 0x24000020 }, + { 0x0c000423, 0x24000020 }, + { 0x0c000424, 0x24000020 }, + { 0x0c000425, 0x24000020 }, + { 0x0c000426, 0x24000020 }, + { 0x0c000427, 0x24000020 }, + { 0x0c000428, 0x24000020 }, + { 0x0c000429, 0x24000020 }, + { 0x0c00042a, 0x24000020 }, + { 0x0c00042b, 0x24000020 }, + { 0x0c00042c, 0x24000020 }, + { 0x0c00042d, 0x24000020 }, + { 0x0c00042e, 0x24000020 }, + { 0x0c00042f, 0x24000020 }, + { 0x0c000430, 0x1400ffe0 }, + { 0x0c000431, 0x1400ffe0 }, + { 0x0c000432, 0x1400ffe0 }, + { 0x0c000433, 0x1400ffe0 }, + { 0x0c000434, 0x1400ffe0 }, + { 0x0c000435, 0x1400ffe0 }, + { 0x0c000436, 0x1400ffe0 }, + { 0x0c000437, 0x1400ffe0 }, + { 0x0c000438, 0x1400ffe0 }, + { 0x0c000439, 0x1400ffe0 }, + { 0x0c00043a, 0x1400ffe0 }, + { 0x0c00043b, 0x1400ffe0 }, + { 0x0c00043c, 0x1400ffe0 }, + { 0x0c00043d, 0x1400ffe0 }, + { 0x0c00043e, 0x1400ffe0 }, + { 0x0c00043f, 0x1400ffe0 }, + { 0x0c000440, 0x1400ffe0 }, + { 0x0c000441, 0x1400ffe0 }, + { 0x0c000442, 0x1400ffe0 }, + { 0x0c000443, 0x1400ffe0 }, + { 0x0c000444, 0x1400ffe0 }, + { 0x0c000445, 0x1400ffe0 }, + { 0x0c000446, 0x1400ffe0 }, + { 0x0c000447, 0x1400ffe0 }, + { 0x0c000448, 0x1400ffe0 }, + { 0x0c000449, 0x1400ffe0 }, + { 0x0c00044a, 0x1400ffe0 }, + { 0x0c00044b, 0x1400ffe0 }, + { 0x0c00044c, 0x1400ffe0 }, + { 0x0c00044d, 0x1400ffe0 }, + { 0x0c00044e, 0x1400ffe0 }, + { 0x0c00044f, 0x1400ffe0 }, + { 0x0c000450, 0x1400ffb0 }, + { 0x0c000451, 0x1400ffb0 }, + { 0x0c000452, 0x1400ffb0 }, + { 0x0c000453, 0x1400ffb0 }, + { 0x0c000454, 0x1400ffb0 }, + { 0x0c000455, 0x1400ffb0 }, + { 0x0c000456, 0x1400ffb0 }, + { 0x0c000457, 0x1400ffb0 }, + { 0x0c000458, 0x1400ffb0 }, + { 0x0c000459, 0x1400ffb0 }, + { 0x0c00045a, 0x1400ffb0 }, + { 0x0c00045b, 0x1400ffb0 }, + { 0x0c00045c, 0x1400ffb0 }, + { 0x0c00045d, 0x1400ffb0 }, + { 0x0c00045e, 0x1400ffb0 }, + { 0x0c00045f, 0x1400ffb0 }, + { 0x0c000460, 0x24000001 }, + { 0x0c000461, 0x1400ffff }, + { 0x0c000462, 0x24000001 }, + { 0x0c000463, 0x1400ffff }, + { 0x0c000464, 0x24000001 }, + { 0x0c000465, 0x1400ffff }, + { 0x0c000466, 0x24000001 }, + { 0x0c000467, 0x1400ffff }, + { 0x0c000468, 0x24000001 }, + { 0x0c000469, 0x1400ffff }, + { 0x0c00046a, 0x24000001 }, + { 0x0c00046b, 0x1400ffff }, + { 0x0c00046c, 0x24000001 }, + { 0x0c00046d, 0x1400ffff }, + { 0x0c00046e, 0x24000001 }, + { 0x0c00046f, 0x1400ffff }, + { 0x0c000470, 0x24000001 }, + { 0x0c000471, 0x1400ffff }, + { 0x0c000472, 0x24000001 }, + { 0x0c000473, 0x1400ffff }, + { 0x0c000474, 0x24000001 }, + { 0x0c000475, 0x1400ffff }, + { 0x0c000476, 0x24000001 }, + { 0x0c000477, 0x1400ffff }, + { 0x0c000478, 0x24000001 }, + { 0x0c000479, 0x1400ffff }, + { 0x0c00047a, 0x24000001 }, + { 0x0c00047b, 0x1400ffff }, + { 0x0c00047c, 0x24000001 }, + { 0x0c00047d, 0x1400ffff }, + { 0x0c00047e, 0x24000001 }, + { 0x0c00047f, 0x1400ffff }, + { 0x0c000480, 0x24000001 }, + { 0x0c000481, 0x1400ffff }, + { 0x0c000482, 0x68000000 }, + { 0x0c800483, 0x30000003 }, + { 0x0c800488, 0x2c000001 }, + { 0x0c00048a, 0x24000001 }, + { 0x0c00048b, 0x1400ffff }, + { 0x0c00048c, 0x24000001 }, + { 0x0c00048d, 0x1400ffff }, + { 0x0c00048e, 0x24000001 }, + { 0x0c00048f, 0x1400ffff }, + { 0x0c000490, 0x24000001 }, + { 0x0c000491, 0x1400ffff }, + { 0x0c000492, 0x24000001 }, + { 0x0c000493, 0x1400ffff }, + { 0x0c000494, 0x24000001 }, + { 0x0c000495, 0x1400ffff }, + { 0x0c000496, 0x24000001 }, + { 0x0c000497, 0x1400ffff }, + { 0x0c000498, 0x24000001 }, + { 0x0c000499, 0x1400ffff }, + { 0x0c00049a, 0x24000001 }, + { 0x0c00049b, 0x1400ffff }, + { 0x0c00049c, 0x24000001 }, + { 0x0c00049d, 0x1400ffff }, + { 0x0c00049e, 0x24000001 }, + { 0x0c00049f, 0x1400ffff }, + { 0x0c0004a0, 0x24000001 }, + { 0x0c0004a1, 0x1400ffff }, + { 0x0c0004a2, 0x24000001 }, + { 0x0c0004a3, 0x1400ffff }, + { 0x0c0004a4, 0x24000001 }, + { 0x0c0004a5, 0x1400ffff }, + { 0x0c0004a6, 0x24000001 }, + { 0x0c0004a7, 0x1400ffff }, + { 0x0c0004a8, 0x24000001 }, + { 0x0c0004a9, 0x1400ffff }, + { 0x0c0004aa, 0x24000001 }, + { 0x0c0004ab, 0x1400ffff }, + { 0x0c0004ac, 0x24000001 }, + { 0x0c0004ad, 0x1400ffff }, + { 0x0c0004ae, 0x24000001 }, + { 0x0c0004af, 0x1400ffff }, + { 0x0c0004b0, 0x24000001 }, + { 0x0c0004b1, 0x1400ffff }, + { 0x0c0004b2, 0x24000001 }, + { 0x0c0004b3, 0x1400ffff }, + { 0x0c0004b4, 0x24000001 }, + { 0x0c0004b5, 0x1400ffff }, + { 0x0c0004b6, 0x24000001 }, + { 0x0c0004b7, 0x1400ffff }, + { 0x0c0004b8, 0x24000001 }, + { 0x0c0004b9, 0x1400ffff }, + { 0x0c0004ba, 0x24000001 }, + { 0x0c0004bb, 0x1400ffff }, + { 0x0c0004bc, 0x24000001 }, + { 0x0c0004bd, 0x1400ffff }, + { 0x0c0004be, 0x24000001 }, + { 0x0c0004bf, 0x1400ffff }, + { 0x0c0004c0, 0x2400000f }, + { 0x0c0004c1, 0x24000001 }, + { 0x0c0004c2, 0x1400ffff }, + { 0x0c0004c3, 0x24000001 }, + { 0x0c0004c4, 0x1400ffff }, + { 0x0c0004c5, 0x24000001 }, + { 0x0c0004c6, 0x1400ffff }, + { 0x0c0004c7, 0x24000001 }, + { 0x0c0004c8, 0x1400ffff }, + { 0x0c0004c9, 0x24000001 }, + { 0x0c0004ca, 0x1400ffff }, + { 0x0c0004cb, 0x24000001 }, + { 0x0c0004cc, 0x1400ffff }, + { 0x0c0004cd, 0x24000001 }, + { 0x0c0004ce, 0x1400ffff }, + { 0x0c0004cf, 0x1400fff1 }, + { 0x0c0004d0, 0x24000001 }, + { 0x0c0004d1, 0x1400ffff }, + { 0x0c0004d2, 0x24000001 }, + { 0x0c0004d3, 0x1400ffff }, + { 0x0c0004d4, 0x24000001 }, + { 0x0c0004d5, 0x1400ffff }, + { 0x0c0004d6, 0x24000001 }, + { 0x0c0004d7, 0x1400ffff }, + { 0x0c0004d8, 0x24000001 }, + { 0x0c0004d9, 0x1400ffff }, + { 0x0c0004da, 0x24000001 }, + { 0x0c0004db, 0x1400ffff }, + { 0x0c0004dc, 0x24000001 }, + { 0x0c0004dd, 0x1400ffff }, + { 0x0c0004de, 0x24000001 }, + { 0x0c0004df, 0x1400ffff }, + { 0x0c0004e0, 0x24000001 }, + { 0x0c0004e1, 0x1400ffff }, + { 0x0c0004e2, 0x24000001 }, + { 0x0c0004e3, 0x1400ffff }, + { 0x0c0004e4, 0x24000001 }, + { 0x0c0004e5, 0x1400ffff }, + { 0x0c0004e6, 0x24000001 }, + { 0x0c0004e7, 0x1400ffff }, + { 0x0c0004e8, 0x24000001 }, + { 0x0c0004e9, 0x1400ffff }, + { 0x0c0004ea, 0x24000001 }, + { 0x0c0004eb, 0x1400ffff }, + { 0x0c0004ec, 0x24000001 }, + { 0x0c0004ed, 0x1400ffff }, + { 0x0c0004ee, 0x24000001 }, + { 0x0c0004ef, 0x1400ffff }, + { 0x0c0004f0, 0x24000001 }, + { 0x0c0004f1, 0x1400ffff }, + { 0x0c0004f2, 0x24000001 }, + { 0x0c0004f3, 0x1400ffff }, + { 0x0c0004f4, 0x24000001 }, + { 0x0c0004f5, 0x1400ffff }, + { 0x0c0004f6, 0x24000001 }, + { 0x0c0004f7, 0x1400ffff }, + { 0x0c0004f8, 0x24000001 }, + { 0x0c0004f9, 0x1400ffff }, + { 0x0c0004fa, 0x24000001 }, + { 0x0c0004fb, 0x1400ffff }, + { 0x0c0004fc, 0x24000001 }, + { 0x0c0004fd, 0x1400ffff }, + { 0x0c0004fe, 0x24000001 }, + { 0x0c0004ff, 0x1400ffff }, + { 0x0c000500, 0x24000001 }, + { 0x0c000501, 0x1400ffff }, + { 0x0c000502, 0x24000001 }, + { 0x0c000503, 0x1400ffff }, + { 0x0c000504, 0x24000001 }, + { 0x0c000505, 0x1400ffff }, + { 0x0c000506, 0x24000001 }, + { 0x0c000507, 0x1400ffff }, + { 0x0c000508, 0x24000001 }, + { 0x0c000509, 0x1400ffff }, + { 0x0c00050a, 0x24000001 }, + { 0x0c00050b, 0x1400ffff }, + { 0x0c00050c, 0x24000001 }, + { 0x0c00050d, 0x1400ffff }, + { 0x0c00050e, 0x24000001 }, + { 0x0c00050f, 0x1400ffff }, + { 0x0c000510, 0x24000001 }, + { 0x0c000511, 0x1400ffff }, + { 0x0c000512, 0x24000001 }, + { 0x0c000513, 0x1400ffff }, + { 0x01000531, 0x24000030 }, + { 0x01000532, 0x24000030 }, + { 0x01000533, 0x24000030 }, + { 0x01000534, 0x24000030 }, + { 0x01000535, 0x24000030 }, + { 0x01000536, 0x24000030 }, + { 0x01000537, 0x24000030 }, + { 0x01000538, 0x24000030 }, + { 0x01000539, 0x24000030 }, + { 0x0100053a, 0x24000030 }, + { 0x0100053b, 0x24000030 }, + { 0x0100053c, 0x24000030 }, + { 0x0100053d, 0x24000030 }, + { 0x0100053e, 0x24000030 }, + { 0x0100053f, 0x24000030 }, + { 0x01000540, 0x24000030 }, + { 0x01000541, 0x24000030 }, + { 0x01000542, 0x24000030 }, + { 0x01000543, 0x24000030 }, + { 0x01000544, 0x24000030 }, + { 0x01000545, 0x24000030 }, + { 0x01000546, 0x24000030 }, + { 0x01000547, 0x24000030 }, + { 0x01000548, 0x24000030 }, + { 0x01000549, 0x24000030 }, + { 0x0100054a, 0x24000030 }, + { 0x0100054b, 0x24000030 }, + { 0x0100054c, 0x24000030 }, + { 0x0100054d, 0x24000030 }, + { 0x0100054e, 0x24000030 }, + { 0x0100054f, 0x24000030 }, + { 0x01000550, 0x24000030 }, + { 0x01000551, 0x24000030 }, + { 0x01000552, 0x24000030 }, + { 0x01000553, 0x24000030 }, + { 0x01000554, 0x24000030 }, + { 0x01000555, 0x24000030 }, + { 0x01000556, 0x24000030 }, + { 0x01000559, 0x18000000 }, + { 0x0180055a, 0x54000005 }, + { 0x01000561, 0x1400ffd0 }, + { 0x01000562, 0x1400ffd0 }, + { 0x01000563, 0x1400ffd0 }, + { 0x01000564, 0x1400ffd0 }, + { 0x01000565, 0x1400ffd0 }, + { 0x01000566, 0x1400ffd0 }, + { 0x01000567, 0x1400ffd0 }, + { 0x01000568, 0x1400ffd0 }, + { 0x01000569, 0x1400ffd0 }, + { 0x0100056a, 0x1400ffd0 }, + { 0x0100056b, 0x1400ffd0 }, + { 0x0100056c, 0x1400ffd0 }, + { 0x0100056d, 0x1400ffd0 }, + { 0x0100056e, 0x1400ffd0 }, + { 0x0100056f, 0x1400ffd0 }, + { 0x01000570, 0x1400ffd0 }, + { 0x01000571, 0x1400ffd0 }, + { 0x01000572, 0x1400ffd0 }, + { 0x01000573, 0x1400ffd0 }, + { 0x01000574, 0x1400ffd0 }, + { 0x01000575, 0x1400ffd0 }, + { 0x01000576, 0x1400ffd0 }, + { 0x01000577, 0x1400ffd0 }, + { 0x01000578, 0x1400ffd0 }, + { 0x01000579, 0x1400ffd0 }, + { 0x0100057a, 0x1400ffd0 }, + { 0x0100057b, 0x1400ffd0 }, + { 0x0100057c, 0x1400ffd0 }, + { 0x0100057d, 0x1400ffd0 }, + { 0x0100057e, 0x1400ffd0 }, + { 0x0100057f, 0x1400ffd0 }, + { 0x01000580, 0x1400ffd0 }, + { 0x01000581, 0x1400ffd0 }, + { 0x01000582, 0x1400ffd0 }, + { 0x01000583, 0x1400ffd0 }, + { 0x01000584, 0x1400ffd0 }, + { 0x01000585, 0x1400ffd0 }, + { 0x01000586, 0x1400ffd0 }, + { 0x01000587, 0x14000000 }, + { 0x09000589, 0x54000000 }, + { 0x0100058a, 0x44000000 }, + { 0x19800591, 0x3000002c }, + { 0x190005be, 0x54000000 }, + { 0x190005bf, 0x30000000 }, + { 0x190005c0, 0x54000000 }, + { 0x198005c1, 0x30000001 }, + { 0x190005c3, 0x54000000 }, + { 0x198005c4, 0x30000001 }, + { 0x190005c6, 0x54000000 }, + { 0x190005c7, 0x30000000 }, + { 0x198005d0, 0x1c00001a }, + { 0x198005f0, 0x1c000002 }, + { 0x198005f3, 0x54000001 }, + { 0x09800600, 0x04000003 }, + { 0x0000060b, 0x5c000000 }, + { 0x0980060c, 0x54000001 }, + { 0x0080060e, 0x68000001 }, + { 0x00800610, 0x30000005 }, + { 0x0900061b, 0x54000000 }, + { 0x0080061e, 0x54000001 }, + { 0x00800621, 0x1c000019 }, + { 0x09000640, 0x18000000 }, + { 0x00800641, 0x1c000009 }, + { 0x1b80064b, 0x30000013 }, + { 0x09800660, 0x34000009 }, + { 0x0080066a, 0x54000003 }, + { 0x0080066e, 0x1c000001 }, + { 0x1b000670, 0x30000000 }, + { 0x00800671, 0x1c000062 }, + { 0x000006d4, 0x54000000 }, + { 0x000006d5, 0x1c000000 }, + { 0x008006d6, 0x30000006 }, + { 0x090006dd, 0x04000000 }, + { 0x000006de, 0x2c000000 }, + { 0x008006df, 0x30000005 }, + { 0x008006e5, 0x18000001 }, + { 0x008006e7, 0x30000001 }, + { 0x000006e9, 0x68000000 }, + { 0x008006ea, 0x30000003 }, + { 0x008006ee, 0x1c000001 }, + { 0x008006f0, 0x34000009 }, + { 0x008006fa, 0x1c000002 }, + { 0x008006fd, 0x68000001 }, + { 0x000006ff, 0x1c000000 }, + { 0x31800700, 0x5400000d }, + { 0x3100070f, 0x04000000 }, + { 0x31000710, 0x1c000000 }, + { 0x31000711, 0x30000000 }, + { 0x31800712, 0x1c00001d }, + { 0x31800730, 0x3000001a }, + { 0x3180074d, 0x1c000020 }, + { 0x37800780, 0x1c000025 }, + { 0x378007a6, 0x3000000a }, + { 0x370007b1, 0x1c000000 }, + { 0x3f8007c0, 0x34000009 }, + { 0x3f8007ca, 0x1c000020 }, + { 0x3f8007eb, 0x30000008 }, + { 0x3f8007f4, 0x18000001 }, + { 0x3f0007f6, 0x68000000 }, + { 0x3f8007f7, 0x54000002 }, + { 0x3f0007fa, 0x18000000 }, + { 0x0e800901, 0x30000001 }, + { 0x0e000903, 0x28000000 }, + { 0x0e800904, 0x1c000035 }, + { 0x0e00093c, 0x30000000 }, + { 0x0e00093d, 0x1c000000 }, + { 0x0e80093e, 0x28000002 }, + { 0x0e800941, 0x30000007 }, + { 0x0e800949, 0x28000003 }, + { 0x0e00094d, 0x30000000 }, + { 0x0e000950, 0x1c000000 }, + { 0x0e800951, 0x30000003 }, + { 0x0e800958, 0x1c000009 }, + { 0x0e800962, 0x30000001 }, + { 0x09800964, 0x54000001 }, + { 0x0e800966, 0x34000009 }, + { 0x09000970, 0x54000000 }, + { 0x0e80097b, 0x1c000004 }, + { 0x02000981, 0x30000000 }, + { 0x02800982, 0x28000001 }, + { 0x02800985, 0x1c000007 }, + { 0x0280098f, 0x1c000001 }, + { 0x02800993, 0x1c000015 }, + { 0x028009aa, 0x1c000006 }, + { 0x020009b2, 0x1c000000 }, + { 0x028009b6, 0x1c000003 }, + { 0x020009bc, 0x30000000 }, + { 0x020009bd, 0x1c000000 }, + { 0x028009be, 0x28000002 }, + { 0x028009c1, 0x30000003 }, + { 0x028009c7, 0x28000001 }, + { 0x028009cb, 0x28000001 }, + { 0x020009cd, 0x30000000 }, + { 0x020009ce, 0x1c000000 }, + { 0x020009d7, 0x28000000 }, + { 0x028009dc, 0x1c000001 }, + { 0x028009df, 0x1c000002 }, + { 0x028009e2, 0x30000001 }, + { 0x028009e6, 0x34000009 }, + { 0x028009f0, 0x1c000001 }, + { 0x028009f2, 0x5c000001 }, + { 0x028009f4, 0x3c000005 }, + { 0x020009fa, 0x68000000 }, + { 0x15800a01, 0x30000001 }, + { 0x15000a03, 0x28000000 }, + { 0x15800a05, 0x1c000005 }, + { 0x15800a0f, 0x1c000001 }, + { 0x15800a13, 0x1c000015 }, + { 0x15800a2a, 0x1c000006 }, + { 0x15800a32, 0x1c000001 }, + { 0x15800a35, 0x1c000001 }, + { 0x15800a38, 0x1c000001 }, + { 0x15000a3c, 0x30000000 }, + { 0x15800a3e, 0x28000002 }, + { 0x15800a41, 0x30000001 }, + { 0x15800a47, 0x30000001 }, + { 0x15800a4b, 0x30000002 }, + { 0x15800a59, 0x1c000003 }, + { 0x15000a5e, 0x1c000000 }, + { 0x15800a66, 0x34000009 }, + { 0x15800a70, 0x30000001 }, + { 0x15800a72, 0x1c000002 }, + { 0x14800a81, 0x30000001 }, + { 0x14000a83, 0x28000000 }, + { 0x14800a85, 0x1c000008 }, + { 0x14800a8f, 0x1c000002 }, + { 0x14800a93, 0x1c000015 }, + { 0x14800aaa, 0x1c000006 }, + { 0x14800ab2, 0x1c000001 }, + { 0x14800ab5, 0x1c000004 }, + { 0x14000abc, 0x30000000 }, + { 0x14000abd, 0x1c000000 }, + { 0x14800abe, 0x28000002 }, + { 0x14800ac1, 0x30000004 }, + { 0x14800ac7, 0x30000001 }, + { 0x14000ac9, 0x28000000 }, + { 0x14800acb, 0x28000001 }, + { 0x14000acd, 0x30000000 }, + { 0x14000ad0, 0x1c000000 }, + { 0x14800ae0, 0x1c000001 }, + { 0x14800ae2, 0x30000001 }, + { 0x14800ae6, 0x34000009 }, + { 0x14000af1, 0x5c000000 }, + { 0x2b000b01, 0x30000000 }, + { 0x2b800b02, 0x28000001 }, + { 0x2b800b05, 0x1c000007 }, + { 0x2b800b0f, 0x1c000001 }, + { 0x2b800b13, 0x1c000015 }, + { 0x2b800b2a, 0x1c000006 }, + { 0x2b800b32, 0x1c000001 }, + { 0x2b800b35, 0x1c000004 }, + { 0x2b000b3c, 0x30000000 }, + { 0x2b000b3d, 0x1c000000 }, + { 0x2b000b3e, 0x28000000 }, + { 0x2b000b3f, 0x30000000 }, + { 0x2b000b40, 0x28000000 }, + { 0x2b800b41, 0x30000002 }, + { 0x2b800b47, 0x28000001 }, + { 0x2b800b4b, 0x28000001 }, + { 0x2b000b4d, 0x30000000 }, + { 0x2b000b56, 0x30000000 }, + { 0x2b000b57, 0x28000000 }, + { 0x2b800b5c, 0x1c000001 }, + { 0x2b800b5f, 0x1c000002 }, + { 0x2b800b66, 0x34000009 }, + { 0x2b000b70, 0x68000000 }, + { 0x2b000b71, 0x1c000000 }, + { 0x35000b82, 0x30000000 }, + { 0x35000b83, 0x1c000000 }, + { 0x35800b85, 0x1c000005 }, + { 0x35800b8e, 0x1c000002 }, + { 0x35800b92, 0x1c000003 }, + { 0x35800b99, 0x1c000001 }, + { 0x35000b9c, 0x1c000000 }, + { 0x35800b9e, 0x1c000001 }, + { 0x35800ba3, 0x1c000001 }, + { 0x35800ba8, 0x1c000002 }, + { 0x35800bae, 0x1c00000b }, + { 0x35800bbe, 0x28000001 }, + { 0x35000bc0, 0x30000000 }, + { 0x35800bc1, 0x28000001 }, + { 0x35800bc6, 0x28000002 }, + { 0x35800bca, 0x28000002 }, + { 0x35000bcd, 0x30000000 }, + { 0x35000bd7, 0x28000000 }, + { 0x35800be6, 0x34000009 }, + { 0x35800bf0, 0x3c000002 }, + { 0x35800bf3, 0x68000005 }, + { 0x35000bf9, 0x5c000000 }, + { 0x35000bfa, 0x68000000 }, + { 0x36800c01, 0x28000002 }, + { 0x36800c05, 0x1c000007 }, + { 0x36800c0e, 0x1c000002 }, + { 0x36800c12, 0x1c000016 }, + { 0x36800c2a, 0x1c000009 }, + { 0x36800c35, 0x1c000004 }, + { 0x36800c3e, 0x30000002 }, + { 0x36800c41, 0x28000003 }, + { 0x36800c46, 0x30000002 }, + { 0x36800c4a, 0x30000003 }, + { 0x36800c55, 0x30000001 }, + { 0x36800c60, 0x1c000001 }, + { 0x36800c66, 0x34000009 }, + { 0x1c800c82, 0x28000001 }, + { 0x1c800c85, 0x1c000007 }, + { 0x1c800c8e, 0x1c000002 }, + { 0x1c800c92, 0x1c000016 }, + { 0x1c800caa, 0x1c000009 }, + { 0x1c800cb5, 0x1c000004 }, + { 0x1c000cbc, 0x30000000 }, + { 0x1c000cbd, 0x1c000000 }, + { 0x1c000cbe, 0x28000000 }, + { 0x1c000cbf, 0x30000000 }, + { 0x1c800cc0, 0x28000004 }, + { 0x1c000cc6, 0x30000000 }, + { 0x1c800cc7, 0x28000001 }, + { 0x1c800cca, 0x28000001 }, + { 0x1c800ccc, 0x30000001 }, + { 0x1c800cd5, 0x28000001 }, + { 0x1c000cde, 0x1c000000 }, + { 0x1c800ce0, 0x1c000001 }, + { 0x1c800ce2, 0x30000001 }, + { 0x1c800ce6, 0x34000009 }, + { 0x1c800cf1, 0x68000001 }, + { 0x24800d02, 0x28000001 }, + { 0x24800d05, 0x1c000007 }, + { 0x24800d0e, 0x1c000002 }, + { 0x24800d12, 0x1c000016 }, + { 0x24800d2a, 0x1c00000f }, + { 0x24800d3e, 0x28000002 }, + { 0x24800d41, 0x30000002 }, + { 0x24800d46, 0x28000002 }, + { 0x24800d4a, 0x28000002 }, + { 0x24000d4d, 0x30000000 }, + { 0x24000d57, 0x28000000 }, + { 0x24800d60, 0x1c000001 }, + { 0x24800d66, 0x34000009 }, + { 0x2f800d82, 0x28000001 }, + { 0x2f800d85, 0x1c000011 }, + { 0x2f800d9a, 0x1c000017 }, + { 0x2f800db3, 0x1c000008 }, + { 0x2f000dbd, 0x1c000000 }, + { 0x2f800dc0, 0x1c000006 }, + { 0x2f000dca, 0x30000000 }, + { 0x2f800dcf, 0x28000002 }, + { 0x2f800dd2, 0x30000002 }, + { 0x2f000dd6, 0x30000000 }, + { 0x2f800dd8, 0x28000007 }, + { 0x2f800df2, 0x28000001 }, + { 0x2f000df4, 0x54000000 }, + { 0x38800e01, 0x1c00002f }, + { 0x38000e31, 0x30000000 }, + { 0x38800e32, 0x1c000001 }, + { 0x38800e34, 0x30000006 }, + { 0x09000e3f, 0x5c000000 }, + { 0x38800e40, 0x1c000005 }, + { 0x38000e46, 0x18000000 }, + { 0x38800e47, 0x30000007 }, + { 0x38000e4f, 0x54000000 }, + { 0x38800e50, 0x34000009 }, + { 0x38800e5a, 0x54000001 }, + { 0x20800e81, 0x1c000001 }, + { 0x20000e84, 0x1c000000 }, + { 0x20800e87, 0x1c000001 }, + { 0x20000e8a, 0x1c000000 }, + { 0x20000e8d, 0x1c000000 }, + { 0x20800e94, 0x1c000003 }, + { 0x20800e99, 0x1c000006 }, + { 0x20800ea1, 0x1c000002 }, + { 0x20000ea5, 0x1c000000 }, + { 0x20000ea7, 0x1c000000 }, + { 0x20800eaa, 0x1c000001 }, + { 0x20800ead, 0x1c000003 }, + { 0x20000eb1, 0x30000000 }, + { 0x20800eb2, 0x1c000001 }, + { 0x20800eb4, 0x30000005 }, + { 0x20800ebb, 0x30000001 }, + { 0x20000ebd, 0x1c000000 }, + { 0x20800ec0, 0x1c000004 }, + { 0x20000ec6, 0x18000000 }, + { 0x20800ec8, 0x30000005 }, + { 0x20800ed0, 0x34000009 }, + { 0x20800edc, 0x1c000001 }, + { 0x39000f00, 0x1c000000 }, + { 0x39800f01, 0x68000002 }, + { 0x39800f04, 0x5400000e }, + { 0x39800f13, 0x68000004 }, + { 0x39800f18, 0x30000001 }, + { 0x39800f1a, 0x68000005 }, + { 0x39800f20, 0x34000009 }, + { 0x39800f2a, 0x3c000009 }, + { 0x39000f34, 0x68000000 }, + { 0x39000f35, 0x30000000 }, + { 0x39000f36, 0x68000000 }, + { 0x39000f37, 0x30000000 }, + { 0x39000f38, 0x68000000 }, + { 0x39000f39, 0x30000000 }, + { 0x39000f3a, 0x58000000 }, + { 0x39000f3b, 0x48000000 }, + { 0x39000f3c, 0x58000000 }, + { 0x39000f3d, 0x48000000 }, + { 0x39800f3e, 0x28000001 }, + { 0x39800f40, 0x1c000007 }, + { 0x39800f49, 0x1c000021 }, + { 0x39800f71, 0x3000000d }, + { 0x39000f7f, 0x28000000 }, + { 0x39800f80, 0x30000004 }, + { 0x39000f85, 0x54000000 }, + { 0x39800f86, 0x30000001 }, + { 0x39800f88, 0x1c000003 }, + { 0x39800f90, 0x30000007 }, + { 0x39800f99, 0x30000023 }, + { 0x39800fbe, 0x68000007 }, + { 0x39000fc6, 0x30000000 }, + { 0x39800fc7, 0x68000005 }, + { 0x39000fcf, 0x68000000 }, + { 0x39800fd0, 0x54000001 }, + { 0x26801000, 0x1c000021 }, + { 0x26801023, 0x1c000004 }, + { 0x26801029, 0x1c000001 }, + { 0x2600102c, 0x28000000 }, + { 0x2680102d, 0x30000003 }, + { 0x26001031, 0x28000000 }, + { 0x26001032, 0x30000000 }, + { 0x26801036, 0x30000001 }, + { 0x26001038, 0x28000000 }, + { 0x26001039, 0x30000000 }, + { 0x26801040, 0x34000009 }, + { 0x2680104a, 0x54000005 }, + { 0x26801050, 0x1c000005 }, + { 0x26801056, 0x28000001 }, + { 0x26801058, 0x30000001 }, + { 0x100010a0, 0x24001c60 }, + { 0x100010a1, 0x24001c60 }, + { 0x100010a2, 0x24001c60 }, + { 0x100010a3, 0x24001c60 }, + { 0x100010a4, 0x24001c60 }, + { 0x100010a5, 0x24001c60 }, + { 0x100010a6, 0x24001c60 }, + { 0x100010a7, 0x24001c60 }, + { 0x100010a8, 0x24001c60 }, + { 0x100010a9, 0x24001c60 }, + { 0x100010aa, 0x24001c60 }, + { 0x100010ab, 0x24001c60 }, + { 0x100010ac, 0x24001c60 }, + { 0x100010ad, 0x24001c60 }, + { 0x100010ae, 0x24001c60 }, + { 0x100010af, 0x24001c60 }, + { 0x100010b0, 0x24001c60 }, + { 0x100010b1, 0x24001c60 }, + { 0x100010b2, 0x24001c60 }, + { 0x100010b3, 0x24001c60 }, + { 0x100010b4, 0x24001c60 }, + { 0x100010b5, 0x24001c60 }, + { 0x100010b6, 0x24001c60 }, + { 0x100010b7, 0x24001c60 }, + { 0x100010b8, 0x24001c60 }, + { 0x100010b9, 0x24001c60 }, + { 0x100010ba, 0x24001c60 }, + { 0x100010bb, 0x24001c60 }, + { 0x100010bc, 0x24001c60 }, + { 0x100010bd, 0x24001c60 }, + { 0x100010be, 0x24001c60 }, + { 0x100010bf, 0x24001c60 }, + { 0x100010c0, 0x24001c60 }, + { 0x100010c1, 0x24001c60 }, + { 0x100010c2, 0x24001c60 }, + { 0x100010c3, 0x24001c60 }, + { 0x100010c4, 0x24001c60 }, + { 0x100010c5, 0x24001c60 }, + { 0x108010d0, 0x1c00002a }, + { 0x090010fb, 0x54000000 }, + { 0x100010fc, 0x18000000 }, + { 0x17801100, 0x1c000059 }, + { 0x1780115f, 0x1c000043 }, + { 0x178011a8, 0x1c000051 }, + { 0x0f801200, 0x1c000048 }, + { 0x0f80124a, 0x1c000003 }, + { 0x0f801250, 0x1c000006 }, + { 0x0f001258, 0x1c000000 }, + { 0x0f80125a, 0x1c000003 }, + { 0x0f801260, 0x1c000028 }, + { 0x0f80128a, 0x1c000003 }, + { 0x0f801290, 0x1c000020 }, + { 0x0f8012b2, 0x1c000003 }, + { 0x0f8012b8, 0x1c000006 }, + { 0x0f0012c0, 0x1c000000 }, + { 0x0f8012c2, 0x1c000003 }, + { 0x0f8012c8, 0x1c00000e }, + { 0x0f8012d8, 0x1c000038 }, + { 0x0f801312, 0x1c000003 }, + { 0x0f801318, 0x1c000042 }, + { 0x0f00135f, 0x30000000 }, + { 0x0f001360, 0x68000000 }, + { 0x0f801361, 0x54000007 }, + { 0x0f801369, 0x3c000013 }, + { 0x0f801380, 0x1c00000f }, + { 0x0f801390, 0x68000009 }, + { 0x088013a0, 0x1c000054 }, + { 0x07801401, 0x1c00026b }, + { 0x0780166d, 0x54000001 }, + { 0x0780166f, 0x1c000007 }, + { 0x28001680, 0x74000000 }, + { 0x28801681, 0x1c000019 }, + { 0x2800169b, 0x58000000 }, + { 0x2800169c, 0x48000000 }, + { 0x2d8016a0, 0x1c00004a }, + { 0x098016eb, 0x54000002 }, + { 0x2d8016ee, 0x38000002 }, + { 0x32801700, 0x1c00000c }, + { 0x3280170e, 0x1c000003 }, + { 0x32801712, 0x30000002 }, + { 0x18801720, 0x1c000011 }, + { 0x18801732, 0x30000002 }, + { 0x09801735, 0x54000001 }, + { 0x06801740, 0x1c000011 }, + { 0x06801752, 0x30000001 }, + { 0x33801760, 0x1c00000c }, + { 0x3380176e, 0x1c000002 }, + { 0x33801772, 0x30000001 }, + { 0x1f801780, 0x1c000033 }, + { 0x1f8017b4, 0x04000001 }, + { 0x1f0017b6, 0x28000000 }, + { 0x1f8017b7, 0x30000006 }, + { 0x1f8017be, 0x28000007 }, + { 0x1f0017c6, 0x30000000 }, + { 0x1f8017c7, 0x28000001 }, + { 0x1f8017c9, 0x3000000a }, + { 0x1f8017d4, 0x54000002 }, + { 0x1f0017d7, 0x18000000 }, + { 0x1f8017d8, 0x54000002 }, + { 0x1f0017db, 0x5c000000 }, + { 0x1f0017dc, 0x1c000000 }, + { 0x1f0017dd, 0x30000000 }, + { 0x1f8017e0, 0x34000009 }, + { 0x1f8017f0, 0x3c000009 }, + { 0x25801800, 0x54000005 }, + { 0x25001806, 0x44000000 }, + { 0x25801807, 0x54000003 }, + { 0x2580180b, 0x30000002 }, + { 0x2500180e, 0x74000000 }, + { 0x25801810, 0x34000009 }, + { 0x25801820, 0x1c000022 }, + { 0x25001843, 0x18000000 }, + { 0x25801844, 0x1c000033 }, + { 0x25801880, 0x1c000028 }, + { 0x250018a9, 0x30000000 }, + { 0x22801900, 0x1c00001c }, + { 0x22801920, 0x30000002 }, + { 0x22801923, 0x28000003 }, + { 0x22801927, 0x30000001 }, + { 0x22801929, 0x28000002 }, + { 0x22801930, 0x28000001 }, + { 0x22001932, 0x30000000 }, + { 0x22801933, 0x28000005 }, + { 0x22801939, 0x30000002 }, + { 0x22001940, 0x68000000 }, + { 0x22801944, 0x54000001 }, + { 0x22801946, 0x34000009 }, + { 0x34801950, 0x1c00001d }, + { 0x34801970, 0x1c000004 }, + { 0x27801980, 0x1c000029 }, + { 0x278019b0, 0x28000010 }, + { 0x278019c1, 0x1c000006 }, + { 0x278019c8, 0x28000001 }, + { 0x278019d0, 0x34000009 }, + { 0x278019de, 0x54000001 }, + { 0x1f8019e0, 0x6800001f }, + { 0x05801a00, 0x1c000016 }, + { 0x05801a17, 0x30000001 }, + { 0x05801a19, 0x28000002 }, + { 0x05801a1e, 0x54000001 }, + { 0x3d801b00, 0x30000003 }, + { 0x3d001b04, 0x28000000 }, + { 0x3d801b05, 0x1c00002e }, + { 0x3d001b34, 0x30000000 }, + { 0x3d001b35, 0x28000000 }, + { 0x3d801b36, 0x30000004 }, + { 0x3d001b3b, 0x28000000 }, + { 0x3d001b3c, 0x30000000 }, + { 0x3d801b3d, 0x28000004 }, + { 0x3d001b42, 0x30000000 }, + { 0x3d801b43, 0x28000001 }, + { 0x3d801b45, 0x1c000006 }, + { 0x3d801b50, 0x34000009 }, + { 0x3d801b5a, 0x54000006 }, + { 0x3d801b61, 0x68000009 }, + { 0x3d801b6b, 0x30000008 }, + { 0x3d801b74, 0x68000008 }, + { 0x21801d00, 0x1400002b }, + { 0x21801d2c, 0x18000035 }, + { 0x21801d62, 0x14000015 }, + { 0x0c001d78, 0x18000000 }, + { 0x21801d79, 0x14000003 }, + { 0x21001d7d, 0x14000ee6 }, + { 0x21801d7e, 0x1400001c }, + { 0x21801d9b, 0x18000024 }, + { 0x1b801dc0, 0x3000000a }, + { 0x1b801dfe, 0x30000001 }, + { 0x21001e00, 0x24000001 }, + { 0x21001e01, 0x1400ffff }, + { 0x21001e02, 0x24000001 }, + { 0x21001e03, 0x1400ffff }, + { 0x21001e04, 0x24000001 }, + { 0x21001e05, 0x1400ffff }, + { 0x21001e06, 0x24000001 }, + { 0x21001e07, 0x1400ffff }, + { 0x21001e08, 0x24000001 }, + { 0x21001e09, 0x1400ffff }, + { 0x21001e0a, 0x24000001 }, + { 0x21001e0b, 0x1400ffff }, + { 0x21001e0c, 0x24000001 }, + { 0x21001e0d, 0x1400ffff }, + { 0x21001e0e, 0x24000001 }, + { 0x21001e0f, 0x1400ffff }, + { 0x21001e10, 0x24000001 }, + { 0x21001e11, 0x1400ffff }, + { 0x21001e12, 0x24000001 }, + { 0x21001e13, 0x1400ffff }, + { 0x21001e14, 0x24000001 }, + { 0x21001e15, 0x1400ffff }, + { 0x21001e16, 0x24000001 }, + { 0x21001e17, 0x1400ffff }, + { 0x21001e18, 0x24000001 }, + { 0x21001e19, 0x1400ffff }, + { 0x21001e1a, 0x24000001 }, + { 0x21001e1b, 0x1400ffff }, + { 0x21001e1c, 0x24000001 }, + { 0x21001e1d, 0x1400ffff }, + { 0x21001e1e, 0x24000001 }, + { 0x21001e1f, 0x1400ffff }, + { 0x21001e20, 0x24000001 }, + { 0x21001e21, 0x1400ffff }, + { 0x21001e22, 0x24000001 }, + { 0x21001e23, 0x1400ffff }, + { 0x21001e24, 0x24000001 }, + { 0x21001e25, 0x1400ffff }, + { 0x21001e26, 0x24000001 }, + { 0x21001e27, 0x1400ffff }, + { 0x21001e28, 0x24000001 }, + { 0x21001e29, 0x1400ffff }, + { 0x21001e2a, 0x24000001 }, + { 0x21001e2b, 0x1400ffff }, + { 0x21001e2c, 0x24000001 }, + { 0x21001e2d, 0x1400ffff }, + { 0x21001e2e, 0x24000001 }, + { 0x21001e2f, 0x1400ffff }, + { 0x21001e30, 0x24000001 }, + { 0x21001e31, 0x1400ffff }, + { 0x21001e32, 0x24000001 }, + { 0x21001e33, 0x1400ffff }, + { 0x21001e34, 0x24000001 }, + { 0x21001e35, 0x1400ffff }, + { 0x21001e36, 0x24000001 }, + { 0x21001e37, 0x1400ffff }, + { 0x21001e38, 0x24000001 }, + { 0x21001e39, 0x1400ffff }, + { 0x21001e3a, 0x24000001 }, + { 0x21001e3b, 0x1400ffff }, + { 0x21001e3c, 0x24000001 }, + { 0x21001e3d, 0x1400ffff }, + { 0x21001e3e, 0x24000001 }, + { 0x21001e3f, 0x1400ffff }, + { 0x21001e40, 0x24000001 }, + { 0x21001e41, 0x1400ffff }, + { 0x21001e42, 0x24000001 }, + { 0x21001e43, 0x1400ffff }, + { 0x21001e44, 0x24000001 }, + { 0x21001e45, 0x1400ffff }, + { 0x21001e46, 0x24000001 }, + { 0x21001e47, 0x1400ffff }, + { 0x21001e48, 0x24000001 }, + { 0x21001e49, 0x1400ffff }, + { 0x21001e4a, 0x24000001 }, + { 0x21001e4b, 0x1400ffff }, + { 0x21001e4c, 0x24000001 }, + { 0x21001e4d, 0x1400ffff }, + { 0x21001e4e, 0x24000001 }, + { 0x21001e4f, 0x1400ffff }, + { 0x21001e50, 0x24000001 }, + { 0x21001e51, 0x1400ffff }, + { 0x21001e52, 0x24000001 }, + { 0x21001e53, 0x1400ffff }, + { 0x21001e54, 0x24000001 }, + { 0x21001e55, 0x1400ffff }, + { 0x21001e56, 0x24000001 }, + { 0x21001e57, 0x1400ffff }, + { 0x21001e58, 0x24000001 }, + { 0x21001e59, 0x1400ffff }, + { 0x21001e5a, 0x24000001 }, + { 0x21001e5b, 0x1400ffff }, + { 0x21001e5c, 0x24000001 }, + { 0x21001e5d, 0x1400ffff }, + { 0x21001e5e, 0x24000001 }, + { 0x21001e5f, 0x1400ffff }, + { 0x21001e60, 0x24000001 }, + { 0x21001e61, 0x1400ffff }, + { 0x21001e62, 0x24000001 }, + { 0x21001e63, 0x1400ffff }, + { 0x21001e64, 0x24000001 }, + { 0x21001e65, 0x1400ffff }, + { 0x21001e66, 0x24000001 }, + { 0x21001e67, 0x1400ffff }, + { 0x21001e68, 0x24000001 }, + { 0x21001e69, 0x1400ffff }, + { 0x21001e6a, 0x24000001 }, + { 0x21001e6b, 0x1400ffff }, + { 0x21001e6c, 0x24000001 }, + { 0x21001e6d, 0x1400ffff }, + { 0x21001e6e, 0x24000001 }, + { 0x21001e6f, 0x1400ffff }, + { 0x21001e70, 0x24000001 }, + { 0x21001e71, 0x1400ffff }, + { 0x21001e72, 0x24000001 }, + { 0x21001e73, 0x1400ffff }, + { 0x21001e74, 0x24000001 }, + { 0x21001e75, 0x1400ffff }, + { 0x21001e76, 0x24000001 }, + { 0x21001e77, 0x1400ffff }, + { 0x21001e78, 0x24000001 }, + { 0x21001e79, 0x1400ffff }, + { 0x21001e7a, 0x24000001 }, + { 0x21001e7b, 0x1400ffff }, + { 0x21001e7c, 0x24000001 }, + { 0x21001e7d, 0x1400ffff }, + { 0x21001e7e, 0x24000001 }, + { 0x21001e7f, 0x1400ffff }, + { 0x21001e80, 0x24000001 }, + { 0x21001e81, 0x1400ffff }, + { 0x21001e82, 0x24000001 }, + { 0x21001e83, 0x1400ffff }, + { 0x21001e84, 0x24000001 }, + { 0x21001e85, 0x1400ffff }, + { 0x21001e86, 0x24000001 }, + { 0x21001e87, 0x1400ffff }, + { 0x21001e88, 0x24000001 }, + { 0x21001e89, 0x1400ffff }, + { 0x21001e8a, 0x24000001 }, + { 0x21001e8b, 0x1400ffff }, + { 0x21001e8c, 0x24000001 }, + { 0x21001e8d, 0x1400ffff }, + { 0x21001e8e, 0x24000001 }, + { 0x21001e8f, 0x1400ffff }, + { 0x21001e90, 0x24000001 }, + { 0x21001e91, 0x1400ffff }, + { 0x21001e92, 0x24000001 }, + { 0x21001e93, 0x1400ffff }, + { 0x21001e94, 0x24000001 }, + { 0x21001e95, 0x1400ffff }, + { 0x21801e96, 0x14000004 }, + { 0x21001e9b, 0x1400ffc5 }, + { 0x21001ea0, 0x24000001 }, + { 0x21001ea1, 0x1400ffff }, + { 0x21001ea2, 0x24000001 }, + { 0x21001ea3, 0x1400ffff }, + { 0x21001ea4, 0x24000001 }, + { 0x21001ea5, 0x1400ffff }, + { 0x21001ea6, 0x24000001 }, + { 0x21001ea7, 0x1400ffff }, + { 0x21001ea8, 0x24000001 }, + { 0x21001ea9, 0x1400ffff }, + { 0x21001eaa, 0x24000001 }, + { 0x21001eab, 0x1400ffff }, + { 0x21001eac, 0x24000001 }, + { 0x21001ead, 0x1400ffff }, + { 0x21001eae, 0x24000001 }, + { 0x21001eaf, 0x1400ffff }, + { 0x21001eb0, 0x24000001 }, + { 0x21001eb1, 0x1400ffff }, + { 0x21001eb2, 0x24000001 }, + { 0x21001eb3, 0x1400ffff }, + { 0x21001eb4, 0x24000001 }, + { 0x21001eb5, 0x1400ffff }, + { 0x21001eb6, 0x24000001 }, + { 0x21001eb7, 0x1400ffff }, + { 0x21001eb8, 0x24000001 }, + { 0x21001eb9, 0x1400ffff }, + { 0x21001eba, 0x24000001 }, + { 0x21001ebb, 0x1400ffff }, + { 0x21001ebc, 0x24000001 }, + { 0x21001ebd, 0x1400ffff }, + { 0x21001ebe, 0x24000001 }, + { 0x21001ebf, 0x1400ffff }, + { 0x21001ec0, 0x24000001 }, + { 0x21001ec1, 0x1400ffff }, + { 0x21001ec2, 0x24000001 }, + { 0x21001ec3, 0x1400ffff }, + { 0x21001ec4, 0x24000001 }, + { 0x21001ec5, 0x1400ffff }, + { 0x21001ec6, 0x24000001 }, + { 0x21001ec7, 0x1400ffff }, + { 0x21001ec8, 0x24000001 }, + { 0x21001ec9, 0x1400ffff }, + { 0x21001eca, 0x24000001 }, + { 0x21001ecb, 0x1400ffff }, + { 0x21001ecc, 0x24000001 }, + { 0x21001ecd, 0x1400ffff }, + { 0x21001ece, 0x24000001 }, + { 0x21001ecf, 0x1400ffff }, + { 0x21001ed0, 0x24000001 }, + { 0x21001ed1, 0x1400ffff }, + { 0x21001ed2, 0x24000001 }, + { 0x21001ed3, 0x1400ffff }, + { 0x21001ed4, 0x24000001 }, + { 0x21001ed5, 0x1400ffff }, + { 0x21001ed6, 0x24000001 }, + { 0x21001ed7, 0x1400ffff }, + { 0x21001ed8, 0x24000001 }, + { 0x21001ed9, 0x1400ffff }, + { 0x21001eda, 0x24000001 }, + { 0x21001edb, 0x1400ffff }, + { 0x21001edc, 0x24000001 }, + { 0x21001edd, 0x1400ffff }, + { 0x21001ede, 0x24000001 }, + { 0x21001edf, 0x1400ffff }, + { 0x21001ee0, 0x24000001 }, + { 0x21001ee1, 0x1400ffff }, + { 0x21001ee2, 0x24000001 }, + { 0x21001ee3, 0x1400ffff }, + { 0x21001ee4, 0x24000001 }, + { 0x21001ee5, 0x1400ffff }, + { 0x21001ee6, 0x24000001 }, + { 0x21001ee7, 0x1400ffff }, + { 0x21001ee8, 0x24000001 }, + { 0x21001ee9, 0x1400ffff }, + { 0x21001eea, 0x24000001 }, + { 0x21001eeb, 0x1400ffff }, + { 0x21001eec, 0x24000001 }, + { 0x21001eed, 0x1400ffff }, + { 0x21001eee, 0x24000001 }, + { 0x21001eef, 0x1400ffff }, + { 0x21001ef0, 0x24000001 }, + { 0x21001ef1, 0x1400ffff }, + { 0x21001ef2, 0x24000001 }, + { 0x21001ef3, 0x1400ffff }, + { 0x21001ef4, 0x24000001 }, + { 0x21001ef5, 0x1400ffff }, + { 0x21001ef6, 0x24000001 }, + { 0x21001ef7, 0x1400ffff }, + { 0x21001ef8, 0x24000001 }, + { 0x21001ef9, 0x1400ffff }, + { 0x13001f00, 0x14000008 }, + { 0x13001f01, 0x14000008 }, + { 0x13001f02, 0x14000008 }, + { 0x13001f03, 0x14000008 }, + { 0x13001f04, 0x14000008 }, + { 0x13001f05, 0x14000008 }, + { 0x13001f06, 0x14000008 }, + { 0x13001f07, 0x14000008 }, + { 0x13001f08, 0x2400fff8 }, + { 0x13001f09, 0x2400fff8 }, + { 0x13001f0a, 0x2400fff8 }, + { 0x13001f0b, 0x2400fff8 }, + { 0x13001f0c, 0x2400fff8 }, + { 0x13001f0d, 0x2400fff8 }, + { 0x13001f0e, 0x2400fff8 }, + { 0x13001f0f, 0x2400fff8 }, + { 0x13001f10, 0x14000008 }, + { 0x13001f11, 0x14000008 }, + { 0x13001f12, 0x14000008 }, + { 0x13001f13, 0x14000008 }, + { 0x13001f14, 0x14000008 }, + { 0x13001f15, 0x14000008 }, + { 0x13001f18, 0x2400fff8 }, + { 0x13001f19, 0x2400fff8 }, + { 0x13001f1a, 0x2400fff8 }, + { 0x13001f1b, 0x2400fff8 }, + { 0x13001f1c, 0x2400fff8 }, + { 0x13001f1d, 0x2400fff8 }, + { 0x13001f20, 0x14000008 }, + { 0x13001f21, 0x14000008 }, + { 0x13001f22, 0x14000008 }, + { 0x13001f23, 0x14000008 }, + { 0x13001f24, 0x14000008 }, + { 0x13001f25, 0x14000008 }, + { 0x13001f26, 0x14000008 }, + { 0x13001f27, 0x14000008 }, + { 0x13001f28, 0x2400fff8 }, + { 0x13001f29, 0x2400fff8 }, + { 0x13001f2a, 0x2400fff8 }, + { 0x13001f2b, 0x2400fff8 }, + { 0x13001f2c, 0x2400fff8 }, + { 0x13001f2d, 0x2400fff8 }, + { 0x13001f2e, 0x2400fff8 }, + { 0x13001f2f, 0x2400fff8 }, + { 0x13001f30, 0x14000008 }, + { 0x13001f31, 0x14000008 }, + { 0x13001f32, 0x14000008 }, + { 0x13001f33, 0x14000008 }, + { 0x13001f34, 0x14000008 }, + { 0x13001f35, 0x14000008 }, + { 0x13001f36, 0x14000008 }, + { 0x13001f37, 0x14000008 }, + { 0x13001f38, 0x2400fff8 }, + { 0x13001f39, 0x2400fff8 }, + { 0x13001f3a, 0x2400fff8 }, + { 0x13001f3b, 0x2400fff8 }, + { 0x13001f3c, 0x2400fff8 }, + { 0x13001f3d, 0x2400fff8 }, + { 0x13001f3e, 0x2400fff8 }, + { 0x13001f3f, 0x2400fff8 }, + { 0x13001f40, 0x14000008 }, + { 0x13001f41, 0x14000008 }, + { 0x13001f42, 0x14000008 }, + { 0x13001f43, 0x14000008 }, + { 0x13001f44, 0x14000008 }, + { 0x13001f45, 0x14000008 }, + { 0x13001f48, 0x2400fff8 }, + { 0x13001f49, 0x2400fff8 }, + { 0x13001f4a, 0x2400fff8 }, + { 0x13001f4b, 0x2400fff8 }, + { 0x13001f4c, 0x2400fff8 }, + { 0x13001f4d, 0x2400fff8 }, + { 0x13001f50, 0x14000000 }, + { 0x13001f51, 0x14000008 }, + { 0x13001f52, 0x14000000 }, + { 0x13001f53, 0x14000008 }, + { 0x13001f54, 0x14000000 }, + { 0x13001f55, 0x14000008 }, + { 0x13001f56, 0x14000000 }, + { 0x13001f57, 0x14000008 }, + { 0x13001f59, 0x2400fff8 }, + { 0x13001f5b, 0x2400fff8 }, + { 0x13001f5d, 0x2400fff8 }, + { 0x13001f5f, 0x2400fff8 }, + { 0x13001f60, 0x14000008 }, + { 0x13001f61, 0x14000008 }, + { 0x13001f62, 0x14000008 }, + { 0x13001f63, 0x14000008 }, + { 0x13001f64, 0x14000008 }, + { 0x13001f65, 0x14000008 }, + { 0x13001f66, 0x14000008 }, + { 0x13001f67, 0x14000008 }, + { 0x13001f68, 0x2400fff8 }, + { 0x13001f69, 0x2400fff8 }, + { 0x13001f6a, 0x2400fff8 }, + { 0x13001f6b, 0x2400fff8 }, + { 0x13001f6c, 0x2400fff8 }, + { 0x13001f6d, 0x2400fff8 }, + { 0x13001f6e, 0x2400fff8 }, + { 0x13001f6f, 0x2400fff8 }, + { 0x13001f70, 0x1400004a }, + { 0x13001f71, 0x1400004a }, + { 0x13001f72, 0x14000056 }, + { 0x13001f73, 0x14000056 }, + { 0x13001f74, 0x14000056 }, + { 0x13001f75, 0x14000056 }, + { 0x13001f76, 0x14000064 }, + { 0x13001f77, 0x14000064 }, + { 0x13001f78, 0x14000080 }, + { 0x13001f79, 0x14000080 }, + { 0x13001f7a, 0x14000070 }, + { 0x13001f7b, 0x14000070 }, + { 0x13001f7c, 0x1400007e }, + { 0x13001f7d, 0x1400007e }, + { 0x13001f80, 0x14000008 }, + { 0x13001f81, 0x14000008 }, + { 0x13001f82, 0x14000008 }, + { 0x13001f83, 0x14000008 }, + { 0x13001f84, 0x14000008 }, + { 0x13001f85, 0x14000008 }, + { 0x13001f86, 0x14000008 }, + { 0x13001f87, 0x14000008 }, + { 0x13001f88, 0x2000fff8 }, + { 0x13001f89, 0x2000fff8 }, + { 0x13001f8a, 0x2000fff8 }, + { 0x13001f8b, 0x2000fff8 }, + { 0x13001f8c, 0x2000fff8 }, + { 0x13001f8d, 0x2000fff8 }, + { 0x13001f8e, 0x2000fff8 }, + { 0x13001f8f, 0x2000fff8 }, + { 0x13001f90, 0x14000008 }, + { 0x13001f91, 0x14000008 }, + { 0x13001f92, 0x14000008 }, + { 0x13001f93, 0x14000008 }, + { 0x13001f94, 0x14000008 }, + { 0x13001f95, 0x14000008 }, + { 0x13001f96, 0x14000008 }, + { 0x13001f97, 0x14000008 }, + { 0x13001f98, 0x2000fff8 }, + { 0x13001f99, 0x2000fff8 }, + { 0x13001f9a, 0x2000fff8 }, + { 0x13001f9b, 0x2000fff8 }, + { 0x13001f9c, 0x2000fff8 }, + { 0x13001f9d, 0x2000fff8 }, + { 0x13001f9e, 0x2000fff8 }, + { 0x13001f9f, 0x2000fff8 }, + { 0x13001fa0, 0x14000008 }, + { 0x13001fa1, 0x14000008 }, + { 0x13001fa2, 0x14000008 }, + { 0x13001fa3, 0x14000008 }, + { 0x13001fa4, 0x14000008 }, + { 0x13001fa5, 0x14000008 }, + { 0x13001fa6, 0x14000008 }, + { 0x13001fa7, 0x14000008 }, + { 0x13001fa8, 0x2000fff8 }, + { 0x13001fa9, 0x2000fff8 }, + { 0x13001faa, 0x2000fff8 }, + { 0x13001fab, 0x2000fff8 }, + { 0x13001fac, 0x2000fff8 }, + { 0x13001fad, 0x2000fff8 }, + { 0x13001fae, 0x2000fff8 }, + { 0x13001faf, 0x2000fff8 }, + { 0x13001fb0, 0x14000008 }, + { 0x13001fb1, 0x14000008 }, + { 0x13001fb2, 0x14000000 }, + { 0x13001fb3, 0x14000009 }, + { 0x13001fb4, 0x14000000 }, + { 0x13801fb6, 0x14000001 }, + { 0x13001fb8, 0x2400fff8 }, + { 0x13001fb9, 0x2400fff8 }, + { 0x13001fba, 0x2400ffb6 }, + { 0x13001fbb, 0x2400ffb6 }, + { 0x13001fbc, 0x2000fff7 }, + { 0x13001fbd, 0x60000000 }, + { 0x13001fbe, 0x1400e3db }, + { 0x13801fbf, 0x60000002 }, + { 0x13001fc2, 0x14000000 }, + { 0x13001fc3, 0x14000009 }, + { 0x13001fc4, 0x14000000 }, + { 0x13801fc6, 0x14000001 }, + { 0x13001fc8, 0x2400ffaa }, + { 0x13001fc9, 0x2400ffaa }, + { 0x13001fca, 0x2400ffaa }, + { 0x13001fcb, 0x2400ffaa }, + { 0x13001fcc, 0x2000fff7 }, + { 0x13801fcd, 0x60000002 }, + { 0x13001fd0, 0x14000008 }, + { 0x13001fd1, 0x14000008 }, + { 0x13801fd2, 0x14000001 }, + { 0x13801fd6, 0x14000001 }, + { 0x13001fd8, 0x2400fff8 }, + { 0x13001fd9, 0x2400fff8 }, + { 0x13001fda, 0x2400ff9c }, + { 0x13001fdb, 0x2400ff9c }, + { 0x13801fdd, 0x60000002 }, + { 0x13001fe0, 0x14000008 }, + { 0x13001fe1, 0x14000008 }, + { 0x13801fe2, 0x14000002 }, + { 0x13001fe5, 0x14000007 }, + { 0x13801fe6, 0x14000001 }, + { 0x13001fe8, 0x2400fff8 }, + { 0x13001fe9, 0x2400fff8 }, + { 0x13001fea, 0x2400ff90 }, + { 0x13001feb, 0x2400ff90 }, + { 0x13001fec, 0x2400fff9 }, + { 0x13801fed, 0x60000002 }, + { 0x13001ff2, 0x14000000 }, + { 0x13001ff3, 0x14000009 }, + { 0x13001ff4, 0x14000000 }, + { 0x13801ff6, 0x14000001 }, + { 0x13001ff8, 0x2400ff80 }, + { 0x13001ff9, 0x2400ff80 }, + { 0x13001ffa, 0x2400ff82 }, + { 0x13001ffb, 0x2400ff82 }, + { 0x13001ffc, 0x2000fff7 }, + { 0x13801ffd, 0x60000001 }, + { 0x09802000, 0x7400000a }, + { 0x0980200b, 0x04000004 }, + { 0x09802010, 0x44000005 }, + { 0x09802016, 0x54000001 }, + { 0x09002018, 0x50000000 }, + { 0x09002019, 0x4c000000 }, + { 0x0900201a, 0x58000000 }, + { 0x0980201b, 0x50000001 }, + { 0x0900201d, 0x4c000000 }, + { 0x0900201e, 0x58000000 }, + { 0x0900201f, 0x50000000 }, + { 0x09802020, 0x54000007 }, + { 0x09002028, 0x6c000000 }, + { 0x09002029, 0x70000000 }, + { 0x0980202a, 0x04000004 }, + { 0x0900202f, 0x74000000 }, + { 0x09802030, 0x54000008 }, + { 0x09002039, 0x50000000 }, + { 0x0900203a, 0x4c000000 }, + { 0x0980203b, 0x54000003 }, + { 0x0980203f, 0x40000001 }, + { 0x09802041, 0x54000002 }, + { 0x09002044, 0x64000000 }, + { 0x09002045, 0x58000000 }, + { 0x09002046, 0x48000000 }, + { 0x09802047, 0x5400000a }, + { 0x09002052, 0x64000000 }, + { 0x09002053, 0x54000000 }, + { 0x09002054, 0x40000000 }, + { 0x09802055, 0x54000009 }, + { 0x0900205f, 0x74000000 }, + { 0x09802060, 0x04000003 }, + { 0x0980206a, 0x04000005 }, + { 0x09002070, 0x3c000000 }, + { 0x21002071, 0x14000000 }, + { 0x09802074, 0x3c000005 }, + { 0x0980207a, 0x64000002 }, + { 0x0900207d, 0x58000000 }, + { 0x0900207e, 0x48000000 }, + { 0x2100207f, 0x14000000 }, + { 0x09802080, 0x3c000009 }, + { 0x0980208a, 0x64000002 }, + { 0x0900208d, 0x58000000 }, + { 0x0900208e, 0x48000000 }, + { 0x21802090, 0x18000004 }, + { 0x098020a0, 0x5c000015 }, + { 0x1b8020d0, 0x3000000c }, + { 0x1b8020dd, 0x2c000003 }, + { 0x1b0020e1, 0x30000000 }, + { 0x1b8020e2, 0x2c000002 }, + { 0x1b8020e5, 0x3000000a }, + { 0x09802100, 0x68000001 }, + { 0x09002102, 0x24000000 }, + { 0x09802103, 0x68000003 }, + { 0x09002107, 0x24000000 }, + { 0x09802108, 0x68000001 }, + { 0x0900210a, 0x14000000 }, + { 0x0980210b, 0x24000002 }, + { 0x0980210e, 0x14000001 }, + { 0x09802110, 0x24000002 }, + { 0x09002113, 0x14000000 }, + { 0x09002114, 0x68000000 }, + { 0x09002115, 0x24000000 }, + { 0x09802116, 0x68000002 }, + { 0x09802119, 0x24000004 }, + { 0x0980211e, 0x68000005 }, + { 0x09002124, 0x24000000 }, + { 0x09002125, 0x68000000 }, + { 0x13002126, 0x2400e2a3 }, + { 0x09002127, 0x68000000 }, + { 0x09002128, 0x24000000 }, + { 0x09002129, 0x68000000 }, + { 0x2100212a, 0x2400df41 }, + { 0x2100212b, 0x2400dfba }, + { 0x0980212c, 0x24000001 }, + { 0x0900212e, 0x68000000 }, + { 0x0900212f, 0x14000000 }, + { 0x09802130, 0x24000001 }, + { 0x21002132, 0x2400001c }, + { 0x09002133, 0x24000000 }, + { 0x09002134, 0x14000000 }, + { 0x09802135, 0x1c000003 }, + { 0x09002139, 0x14000000 }, + { 0x0980213a, 0x68000001 }, + { 0x0980213c, 0x14000001 }, + { 0x0980213e, 0x24000001 }, + { 0x09802140, 0x64000004 }, + { 0x09002145, 0x24000000 }, + { 0x09802146, 0x14000003 }, + { 0x0900214a, 0x68000000 }, + { 0x0900214b, 0x64000000 }, + { 0x0980214c, 0x68000001 }, + { 0x2100214e, 0x1400ffe4 }, + { 0x09802153, 0x3c00000c }, + { 0x09002160, 0x38000010 }, + { 0x09002161, 0x38000010 }, + { 0x09002162, 0x38000010 }, + { 0x09002163, 0x38000010 }, + { 0x09002164, 0x38000010 }, + { 0x09002165, 0x38000010 }, + { 0x09002166, 0x38000010 }, + { 0x09002167, 0x38000010 }, + { 0x09002168, 0x38000010 }, + { 0x09002169, 0x38000010 }, + { 0x0900216a, 0x38000010 }, + { 0x0900216b, 0x38000010 }, + { 0x0900216c, 0x38000010 }, + { 0x0900216d, 0x38000010 }, + { 0x0900216e, 0x38000010 }, + { 0x0900216f, 0x38000010 }, + { 0x09002170, 0x3800fff0 }, + { 0x09002171, 0x3800fff0 }, + { 0x09002172, 0x3800fff0 }, + { 0x09002173, 0x3800fff0 }, + { 0x09002174, 0x3800fff0 }, + { 0x09002175, 0x3800fff0 }, + { 0x09002176, 0x3800fff0 }, + { 0x09002177, 0x3800fff0 }, + { 0x09002178, 0x3800fff0 }, + { 0x09002179, 0x3800fff0 }, + { 0x0900217a, 0x3800fff0 }, + { 0x0900217b, 0x3800fff0 }, + { 0x0900217c, 0x3800fff0 }, + { 0x0900217d, 0x3800fff0 }, + { 0x0900217e, 0x3800fff0 }, + { 0x0900217f, 0x3800fff0 }, + { 0x09802180, 0x38000002 }, + { 0x09002183, 0x24000001 }, + { 0x21002184, 0x1400ffff }, + { 0x09802190, 0x64000004 }, + { 0x09802195, 0x68000004 }, + { 0x0980219a, 0x64000001 }, + { 0x0980219c, 0x68000003 }, + { 0x090021a0, 0x64000000 }, + { 0x098021a1, 0x68000001 }, + { 0x090021a3, 0x64000000 }, + { 0x098021a4, 0x68000001 }, + { 0x090021a6, 0x64000000 }, + { 0x098021a7, 0x68000006 }, + { 0x090021ae, 0x64000000 }, + { 0x098021af, 0x6800001e }, + { 0x098021ce, 0x64000001 }, + { 0x098021d0, 0x68000001 }, + { 0x090021d2, 0x64000000 }, + { 0x090021d3, 0x68000000 }, + { 0x090021d4, 0x64000000 }, + { 0x098021d5, 0x6800001e }, + { 0x098021f4, 0x6400010b }, + { 0x09802300, 0x68000007 }, + { 0x09802308, 0x64000003 }, + { 0x0980230c, 0x68000013 }, + { 0x09802320, 0x64000001 }, + { 0x09802322, 0x68000006 }, + { 0x09002329, 0x58000000 }, + { 0x0900232a, 0x48000000 }, + { 0x0980232b, 0x68000050 }, + { 0x0900237c, 0x64000000 }, + { 0x0980237d, 0x6800001d }, + { 0x0980239b, 0x64000018 }, + { 0x098023b4, 0x68000027 }, + { 0x098023dc, 0x64000005 }, + { 0x098023e2, 0x68000005 }, + { 0x09802400, 0x68000026 }, + { 0x09802440, 0x6800000a }, + { 0x09802460, 0x3c00003b }, + { 0x0980249c, 0x68000019 }, + { 0x090024b6, 0x6800001a }, + { 0x090024b7, 0x6800001a }, + { 0x090024b8, 0x6800001a }, + { 0x090024b9, 0x6800001a }, + { 0x090024ba, 0x6800001a }, + { 0x090024bb, 0x6800001a }, + { 0x090024bc, 0x6800001a }, + { 0x090024bd, 0x6800001a }, + { 0x090024be, 0x6800001a }, + { 0x090024bf, 0x6800001a }, + { 0x090024c0, 0x6800001a }, + { 0x090024c1, 0x6800001a }, + { 0x090024c2, 0x6800001a }, + { 0x090024c3, 0x6800001a }, + { 0x090024c4, 0x6800001a }, + { 0x090024c5, 0x6800001a }, + { 0x090024c6, 0x6800001a }, + { 0x090024c7, 0x6800001a }, + { 0x090024c8, 0x6800001a }, + { 0x090024c9, 0x6800001a }, + { 0x090024ca, 0x6800001a }, + { 0x090024cb, 0x6800001a }, + { 0x090024cc, 0x6800001a }, + { 0x090024cd, 0x6800001a }, + { 0x090024ce, 0x6800001a }, + { 0x090024cf, 0x6800001a }, + { 0x090024d0, 0x6800ffe6 }, + { 0x090024d1, 0x6800ffe6 }, + { 0x090024d2, 0x6800ffe6 }, + { 0x090024d3, 0x6800ffe6 }, + { 0x090024d4, 0x6800ffe6 }, + { 0x090024d5, 0x6800ffe6 }, + { 0x090024d6, 0x6800ffe6 }, + { 0x090024d7, 0x6800ffe6 }, + { 0x090024d8, 0x6800ffe6 }, + { 0x090024d9, 0x6800ffe6 }, + { 0x090024da, 0x6800ffe6 }, + { 0x090024db, 0x6800ffe6 }, + { 0x090024dc, 0x6800ffe6 }, + { 0x090024dd, 0x6800ffe6 }, + { 0x090024de, 0x6800ffe6 }, + { 0x090024df, 0x6800ffe6 }, + { 0x090024e0, 0x6800ffe6 }, + { 0x090024e1, 0x6800ffe6 }, + { 0x090024e2, 0x6800ffe6 }, + { 0x090024e3, 0x6800ffe6 }, + { 0x090024e4, 0x6800ffe6 }, + { 0x090024e5, 0x6800ffe6 }, + { 0x090024e6, 0x6800ffe6 }, + { 0x090024e7, 0x6800ffe6 }, + { 0x090024e8, 0x6800ffe6 }, + { 0x090024e9, 0x6800ffe6 }, + { 0x098024ea, 0x3c000015 }, + { 0x09802500, 0x680000b6 }, + { 0x090025b7, 0x64000000 }, + { 0x098025b8, 0x68000008 }, + { 0x090025c1, 0x64000000 }, + { 0x098025c2, 0x68000035 }, + { 0x098025f8, 0x64000007 }, + { 0x09802600, 0x6800006e }, + { 0x0900266f, 0x64000000 }, + { 0x09802670, 0x6800002c }, + { 0x098026a0, 0x68000012 }, + { 0x09802701, 0x68000003 }, + { 0x09802706, 0x68000003 }, + { 0x0980270c, 0x6800001b }, + { 0x09802729, 0x68000022 }, + { 0x0900274d, 0x68000000 }, + { 0x0980274f, 0x68000003 }, + { 0x09002756, 0x68000000 }, + { 0x09802758, 0x68000006 }, + { 0x09802761, 0x68000006 }, + { 0x09002768, 0x58000000 }, + { 0x09002769, 0x48000000 }, + { 0x0900276a, 0x58000000 }, + { 0x0900276b, 0x48000000 }, + { 0x0900276c, 0x58000000 }, + { 0x0900276d, 0x48000000 }, + { 0x0900276e, 0x58000000 }, + { 0x0900276f, 0x48000000 }, + { 0x09002770, 0x58000000 }, + { 0x09002771, 0x48000000 }, + { 0x09002772, 0x58000000 }, + { 0x09002773, 0x48000000 }, + { 0x09002774, 0x58000000 }, + { 0x09002775, 0x48000000 }, + { 0x09802776, 0x3c00001d }, + { 0x09002794, 0x68000000 }, + { 0x09802798, 0x68000017 }, + { 0x098027b1, 0x6800000d }, + { 0x098027c0, 0x64000004 }, + { 0x090027c5, 0x58000000 }, + { 0x090027c6, 0x48000000 }, + { 0x098027c7, 0x64000003 }, + { 0x098027d0, 0x64000015 }, + { 0x090027e6, 0x58000000 }, + { 0x090027e7, 0x48000000 }, + { 0x090027e8, 0x58000000 }, + { 0x090027e9, 0x48000000 }, + { 0x090027ea, 0x58000000 }, + { 0x090027eb, 0x48000000 }, + { 0x098027f0, 0x6400000f }, + { 0x04802800, 0x680000ff }, + { 0x09802900, 0x64000082 }, + { 0x09002983, 0x58000000 }, + { 0x09002984, 0x48000000 }, + { 0x09002985, 0x58000000 }, + { 0x09002986, 0x48000000 }, + { 0x09002987, 0x58000000 }, + { 0x09002988, 0x48000000 }, + { 0x09002989, 0x58000000 }, + { 0x0900298a, 0x48000000 }, + { 0x0900298b, 0x58000000 }, + { 0x0900298c, 0x48000000 }, + { 0x0900298d, 0x58000000 }, + { 0x0900298e, 0x48000000 }, + { 0x0900298f, 0x58000000 }, + { 0x09002990, 0x48000000 }, + { 0x09002991, 0x58000000 }, + { 0x09002992, 0x48000000 }, + { 0x09002993, 0x58000000 }, + { 0x09002994, 0x48000000 }, + { 0x09002995, 0x58000000 }, + { 0x09002996, 0x48000000 }, + { 0x09002997, 0x58000000 }, + { 0x09002998, 0x48000000 }, + { 0x09802999, 0x6400003e }, + { 0x090029d8, 0x58000000 }, + { 0x090029d9, 0x48000000 }, + { 0x090029da, 0x58000000 }, + { 0x090029db, 0x48000000 }, + { 0x098029dc, 0x6400001f }, + { 0x090029fc, 0x58000000 }, + { 0x090029fd, 0x48000000 }, + { 0x098029fe, 0x64000101 }, + { 0x09802b00, 0x6800001a }, + { 0x09802b20, 0x68000003 }, + { 0x11002c00, 0x24000030 }, + { 0x11002c01, 0x24000030 }, + { 0x11002c02, 0x24000030 }, + { 0x11002c03, 0x24000030 }, + { 0x11002c04, 0x24000030 }, + { 0x11002c05, 0x24000030 }, + { 0x11002c06, 0x24000030 }, + { 0x11002c07, 0x24000030 }, + { 0x11002c08, 0x24000030 }, + { 0x11002c09, 0x24000030 }, + { 0x11002c0a, 0x24000030 }, + { 0x11002c0b, 0x24000030 }, + { 0x11002c0c, 0x24000030 }, + { 0x11002c0d, 0x24000030 }, + { 0x11002c0e, 0x24000030 }, + { 0x11002c0f, 0x24000030 }, + { 0x11002c10, 0x24000030 }, + { 0x11002c11, 0x24000030 }, + { 0x11002c12, 0x24000030 }, + { 0x11002c13, 0x24000030 }, + { 0x11002c14, 0x24000030 }, + { 0x11002c15, 0x24000030 }, + { 0x11002c16, 0x24000030 }, + { 0x11002c17, 0x24000030 }, + { 0x11002c18, 0x24000030 }, + { 0x11002c19, 0x24000030 }, + { 0x11002c1a, 0x24000030 }, + { 0x11002c1b, 0x24000030 }, + { 0x11002c1c, 0x24000030 }, + { 0x11002c1d, 0x24000030 }, + { 0x11002c1e, 0x24000030 }, + { 0x11002c1f, 0x24000030 }, + { 0x11002c20, 0x24000030 }, + { 0x11002c21, 0x24000030 }, + { 0x11002c22, 0x24000030 }, + { 0x11002c23, 0x24000030 }, + { 0x11002c24, 0x24000030 }, + { 0x11002c25, 0x24000030 }, + { 0x11002c26, 0x24000030 }, + { 0x11002c27, 0x24000030 }, + { 0x11002c28, 0x24000030 }, + { 0x11002c29, 0x24000030 }, + { 0x11002c2a, 0x24000030 }, + { 0x11002c2b, 0x24000030 }, + { 0x11002c2c, 0x24000030 }, + { 0x11002c2d, 0x24000030 }, + { 0x11002c2e, 0x24000030 }, + { 0x11002c30, 0x1400ffd0 }, + { 0x11002c31, 0x1400ffd0 }, + { 0x11002c32, 0x1400ffd0 }, + { 0x11002c33, 0x1400ffd0 }, + { 0x11002c34, 0x1400ffd0 }, + { 0x11002c35, 0x1400ffd0 }, + { 0x11002c36, 0x1400ffd0 }, + { 0x11002c37, 0x1400ffd0 }, + { 0x11002c38, 0x1400ffd0 }, + { 0x11002c39, 0x1400ffd0 }, + { 0x11002c3a, 0x1400ffd0 }, + { 0x11002c3b, 0x1400ffd0 }, + { 0x11002c3c, 0x1400ffd0 }, + { 0x11002c3d, 0x1400ffd0 }, + { 0x11002c3e, 0x1400ffd0 }, + { 0x11002c3f, 0x1400ffd0 }, + { 0x11002c40, 0x1400ffd0 }, + { 0x11002c41, 0x1400ffd0 }, + { 0x11002c42, 0x1400ffd0 }, + { 0x11002c43, 0x1400ffd0 }, + { 0x11002c44, 0x1400ffd0 }, + { 0x11002c45, 0x1400ffd0 }, + { 0x11002c46, 0x1400ffd0 }, + { 0x11002c47, 0x1400ffd0 }, + { 0x11002c48, 0x1400ffd0 }, + { 0x11002c49, 0x1400ffd0 }, + { 0x11002c4a, 0x1400ffd0 }, + { 0x11002c4b, 0x1400ffd0 }, + { 0x11002c4c, 0x1400ffd0 }, + { 0x11002c4d, 0x1400ffd0 }, + { 0x11002c4e, 0x1400ffd0 }, + { 0x11002c4f, 0x1400ffd0 }, + { 0x11002c50, 0x1400ffd0 }, + { 0x11002c51, 0x1400ffd0 }, + { 0x11002c52, 0x1400ffd0 }, + { 0x11002c53, 0x1400ffd0 }, + { 0x11002c54, 0x1400ffd0 }, + { 0x11002c55, 0x1400ffd0 }, + { 0x11002c56, 0x1400ffd0 }, + { 0x11002c57, 0x1400ffd0 }, + { 0x11002c58, 0x1400ffd0 }, + { 0x11002c59, 0x1400ffd0 }, + { 0x11002c5a, 0x1400ffd0 }, + { 0x11002c5b, 0x1400ffd0 }, + { 0x11002c5c, 0x1400ffd0 }, + { 0x11002c5d, 0x1400ffd0 }, + { 0x11002c5e, 0x1400ffd0 }, + { 0x21002c60, 0x24000001 }, + { 0x21002c61, 0x1400ffff }, + { 0x21002c62, 0x2400d609 }, + { 0x21002c63, 0x2400f11a }, + { 0x21002c64, 0x2400d619 }, + { 0x21002c65, 0x1400d5d5 }, + { 0x21002c66, 0x1400d5d8 }, + { 0x21002c67, 0x24000001 }, + { 0x21002c68, 0x1400ffff }, + { 0x21002c69, 0x24000001 }, + { 0x21002c6a, 0x1400ffff }, + { 0x21002c6b, 0x24000001 }, + { 0x21002c6c, 0x1400ffff }, + { 0x21002c74, 0x14000000 }, + { 0x21002c75, 0x24000001 }, + { 0x21002c76, 0x1400ffff }, + { 0x21002c77, 0x14000000 }, + { 0x0a002c80, 0x24000001 }, + { 0x0a002c81, 0x1400ffff }, + { 0x0a002c82, 0x24000001 }, + { 0x0a002c83, 0x1400ffff }, + { 0x0a002c84, 0x24000001 }, + { 0x0a002c85, 0x1400ffff }, + { 0x0a002c86, 0x24000001 }, + { 0x0a002c87, 0x1400ffff }, + { 0x0a002c88, 0x24000001 }, + { 0x0a002c89, 0x1400ffff }, + { 0x0a002c8a, 0x24000001 }, + { 0x0a002c8b, 0x1400ffff }, + { 0x0a002c8c, 0x24000001 }, + { 0x0a002c8d, 0x1400ffff }, + { 0x0a002c8e, 0x24000001 }, + { 0x0a002c8f, 0x1400ffff }, + { 0x0a002c90, 0x24000001 }, + { 0x0a002c91, 0x1400ffff }, + { 0x0a002c92, 0x24000001 }, + { 0x0a002c93, 0x1400ffff }, + { 0x0a002c94, 0x24000001 }, + { 0x0a002c95, 0x1400ffff }, + { 0x0a002c96, 0x24000001 }, + { 0x0a002c97, 0x1400ffff }, + { 0x0a002c98, 0x24000001 }, + { 0x0a002c99, 0x1400ffff }, + { 0x0a002c9a, 0x24000001 }, + { 0x0a002c9b, 0x1400ffff }, + { 0x0a002c9c, 0x24000001 }, + { 0x0a002c9d, 0x1400ffff }, + { 0x0a002c9e, 0x24000001 }, + { 0x0a002c9f, 0x1400ffff }, + { 0x0a002ca0, 0x24000001 }, + { 0x0a002ca1, 0x1400ffff }, + { 0x0a002ca2, 0x24000001 }, + { 0x0a002ca3, 0x1400ffff }, + { 0x0a002ca4, 0x24000001 }, + { 0x0a002ca5, 0x1400ffff }, + { 0x0a002ca6, 0x24000001 }, + { 0x0a002ca7, 0x1400ffff }, + { 0x0a002ca8, 0x24000001 }, + { 0x0a002ca9, 0x1400ffff }, + { 0x0a002caa, 0x24000001 }, + { 0x0a002cab, 0x1400ffff }, + { 0x0a002cac, 0x24000001 }, + { 0x0a002cad, 0x1400ffff }, + { 0x0a002cae, 0x24000001 }, + { 0x0a002caf, 0x1400ffff }, + { 0x0a002cb0, 0x24000001 }, + { 0x0a002cb1, 0x1400ffff }, + { 0x0a002cb2, 0x24000001 }, + { 0x0a002cb3, 0x1400ffff }, + { 0x0a002cb4, 0x24000001 }, + { 0x0a002cb5, 0x1400ffff }, + { 0x0a002cb6, 0x24000001 }, + { 0x0a002cb7, 0x1400ffff }, + { 0x0a002cb8, 0x24000001 }, + { 0x0a002cb9, 0x1400ffff }, + { 0x0a002cba, 0x24000001 }, + { 0x0a002cbb, 0x1400ffff }, + { 0x0a002cbc, 0x24000001 }, + { 0x0a002cbd, 0x1400ffff }, + { 0x0a002cbe, 0x24000001 }, + { 0x0a002cbf, 0x1400ffff }, + { 0x0a002cc0, 0x24000001 }, + { 0x0a002cc1, 0x1400ffff }, + { 0x0a002cc2, 0x24000001 }, + { 0x0a002cc3, 0x1400ffff }, + { 0x0a002cc4, 0x24000001 }, + { 0x0a002cc5, 0x1400ffff }, + { 0x0a002cc6, 0x24000001 }, + { 0x0a002cc7, 0x1400ffff }, + { 0x0a002cc8, 0x24000001 }, + { 0x0a002cc9, 0x1400ffff }, + { 0x0a002cca, 0x24000001 }, + { 0x0a002ccb, 0x1400ffff }, + { 0x0a002ccc, 0x24000001 }, + { 0x0a002ccd, 0x1400ffff }, + { 0x0a002cce, 0x24000001 }, + { 0x0a002ccf, 0x1400ffff }, + { 0x0a002cd0, 0x24000001 }, + { 0x0a002cd1, 0x1400ffff }, + { 0x0a002cd2, 0x24000001 }, + { 0x0a002cd3, 0x1400ffff }, + { 0x0a002cd4, 0x24000001 }, + { 0x0a002cd5, 0x1400ffff }, + { 0x0a002cd6, 0x24000001 }, + { 0x0a002cd7, 0x1400ffff }, + { 0x0a002cd8, 0x24000001 }, + { 0x0a002cd9, 0x1400ffff }, + { 0x0a002cda, 0x24000001 }, + { 0x0a002cdb, 0x1400ffff }, + { 0x0a002cdc, 0x24000001 }, + { 0x0a002cdd, 0x1400ffff }, + { 0x0a002cde, 0x24000001 }, + { 0x0a002cdf, 0x1400ffff }, + { 0x0a002ce0, 0x24000001 }, + { 0x0a002ce1, 0x1400ffff }, + { 0x0a002ce2, 0x24000001 }, + { 0x0a002ce3, 0x1400ffff }, + { 0x0a002ce4, 0x14000000 }, + { 0x0a802ce5, 0x68000005 }, + { 0x0a802cf9, 0x54000003 }, + { 0x0a002cfd, 0x3c000000 }, + { 0x0a802cfe, 0x54000001 }, + { 0x10002d00, 0x1400e3a0 }, + { 0x10002d01, 0x1400e3a0 }, + { 0x10002d02, 0x1400e3a0 }, + { 0x10002d03, 0x1400e3a0 }, + { 0x10002d04, 0x1400e3a0 }, + { 0x10002d05, 0x1400e3a0 }, + { 0x10002d06, 0x1400e3a0 }, + { 0x10002d07, 0x1400e3a0 }, + { 0x10002d08, 0x1400e3a0 }, + { 0x10002d09, 0x1400e3a0 }, + { 0x10002d0a, 0x1400e3a0 }, + { 0x10002d0b, 0x1400e3a0 }, + { 0x10002d0c, 0x1400e3a0 }, + { 0x10002d0d, 0x1400e3a0 }, + { 0x10002d0e, 0x1400e3a0 }, + { 0x10002d0f, 0x1400e3a0 }, + { 0x10002d10, 0x1400e3a0 }, + { 0x10002d11, 0x1400e3a0 }, + { 0x10002d12, 0x1400e3a0 }, + { 0x10002d13, 0x1400e3a0 }, + { 0x10002d14, 0x1400e3a0 }, + { 0x10002d15, 0x1400e3a0 }, + { 0x10002d16, 0x1400e3a0 }, + { 0x10002d17, 0x1400e3a0 }, + { 0x10002d18, 0x1400e3a0 }, + { 0x10002d19, 0x1400e3a0 }, + { 0x10002d1a, 0x1400e3a0 }, + { 0x10002d1b, 0x1400e3a0 }, + { 0x10002d1c, 0x1400e3a0 }, + { 0x10002d1d, 0x1400e3a0 }, + { 0x10002d1e, 0x1400e3a0 }, + { 0x10002d1f, 0x1400e3a0 }, + { 0x10002d20, 0x1400e3a0 }, + { 0x10002d21, 0x1400e3a0 }, + { 0x10002d22, 0x1400e3a0 }, + { 0x10002d23, 0x1400e3a0 }, + { 0x10002d24, 0x1400e3a0 }, + { 0x10002d25, 0x1400e3a0 }, + { 0x3a802d30, 0x1c000035 }, + { 0x3a002d6f, 0x18000000 }, + { 0x0f802d80, 0x1c000016 }, + { 0x0f802da0, 0x1c000006 }, + { 0x0f802da8, 0x1c000006 }, + { 0x0f802db0, 0x1c000006 }, + { 0x0f802db8, 0x1c000006 }, + { 0x0f802dc0, 0x1c000006 }, + { 0x0f802dc8, 0x1c000006 }, + { 0x0f802dd0, 0x1c000006 }, + { 0x0f802dd8, 0x1c000006 }, + { 0x09802e00, 0x54000001 }, + { 0x09002e02, 0x50000000 }, + { 0x09002e03, 0x4c000000 }, + { 0x09002e04, 0x50000000 }, + { 0x09002e05, 0x4c000000 }, + { 0x09802e06, 0x54000002 }, + { 0x09002e09, 0x50000000 }, + { 0x09002e0a, 0x4c000000 }, + { 0x09002e0b, 0x54000000 }, + { 0x09002e0c, 0x50000000 }, + { 0x09002e0d, 0x4c000000 }, + { 0x09802e0e, 0x54000008 }, + { 0x09002e17, 0x44000000 }, + { 0x09002e1c, 0x50000000 }, + { 0x09002e1d, 0x4c000000 }, + { 0x16802e80, 0x68000019 }, + { 0x16802e9b, 0x68000058 }, + { 0x16802f00, 0x680000d5 }, + { 0x09802ff0, 0x6800000b }, + { 0x09003000, 0x74000000 }, + { 0x09803001, 0x54000002 }, + { 0x09003004, 0x68000000 }, + { 0x16003005, 0x18000000 }, + { 0x09003006, 0x1c000000 }, + { 0x16003007, 0x38000000 }, + { 0x09003008, 0x58000000 }, + { 0x09003009, 0x48000000 }, + { 0x0900300a, 0x58000000 }, + { 0x0900300b, 0x48000000 }, + { 0x0900300c, 0x58000000 }, + { 0x0900300d, 0x48000000 }, + { 0x0900300e, 0x58000000 }, + { 0x0900300f, 0x48000000 }, + { 0x09003010, 0x58000000 }, + { 0x09003011, 0x48000000 }, + { 0x09803012, 0x68000001 }, + { 0x09003014, 0x58000000 }, + { 0x09003015, 0x48000000 }, + { 0x09003016, 0x58000000 }, + { 0x09003017, 0x48000000 }, + { 0x09003018, 0x58000000 }, + { 0x09003019, 0x48000000 }, + { 0x0900301a, 0x58000000 }, + { 0x0900301b, 0x48000000 }, + { 0x0900301c, 0x44000000 }, + { 0x0900301d, 0x58000000 }, + { 0x0980301e, 0x48000001 }, + { 0x09003020, 0x68000000 }, + { 0x16803021, 0x38000008 }, + { 0x1b80302a, 0x30000005 }, + { 0x09003030, 0x44000000 }, + { 0x09803031, 0x18000004 }, + { 0x09803036, 0x68000001 }, + { 0x16803038, 0x38000002 }, + { 0x1600303b, 0x18000000 }, + { 0x0900303c, 0x1c000000 }, + { 0x0900303d, 0x54000000 }, + { 0x0980303e, 0x68000001 }, + { 0x1a803041, 0x1c000055 }, + { 0x1b803099, 0x30000001 }, + { 0x0980309b, 0x60000001 }, + { 0x1a80309d, 0x18000001 }, + { 0x1a00309f, 0x1c000000 }, + { 0x090030a0, 0x44000000 }, + { 0x1d8030a1, 0x1c000059 }, + { 0x090030fb, 0x54000000 }, + { 0x098030fc, 0x18000002 }, + { 0x1d0030ff, 0x1c000000 }, + { 0x03803105, 0x1c000027 }, + { 0x17803131, 0x1c00005d }, + { 0x09803190, 0x68000001 }, + { 0x09803192, 0x3c000003 }, + { 0x09803196, 0x68000009 }, + { 0x038031a0, 0x1c000017 }, + { 0x098031c0, 0x6800000f }, + { 0x1d8031f0, 0x1c00000f }, + { 0x17803200, 0x6800001e }, + { 0x09803220, 0x3c000009 }, + { 0x0980322a, 0x68000019 }, + { 0x09003250, 0x68000000 }, + { 0x09803251, 0x3c00000e }, + { 0x17803260, 0x6800001f }, + { 0x09803280, 0x3c000009 }, + { 0x0980328a, 0x68000026 }, + { 0x098032b1, 0x3c00000e }, + { 0x098032c0, 0x6800003e }, + { 0x09803300, 0x680000ff }, + { 0x16803400, 0x1c0019b5 }, + { 0x09804dc0, 0x6800003f }, + { 0x16804e00, 0x1c0051bb }, + { 0x3c80a000, 0x1c000014 }, + { 0x3c00a015, 0x18000000 }, + { 0x3c80a016, 0x1c000476 }, + { 0x3c80a490, 0x68000036 }, + { 0x0980a700, 0x60000016 }, + { 0x0980a717, 0x18000003 }, + { 0x0980a720, 0x60000001 }, + { 0x3080a800, 0x1c000001 }, + { 0x3000a802, 0x28000000 }, + { 0x3080a803, 0x1c000002 }, + { 0x3000a806, 0x30000000 }, + { 0x3080a807, 0x1c000003 }, + { 0x3000a80b, 0x30000000 }, + { 0x3080a80c, 0x1c000016 }, + { 0x3080a823, 0x28000001 }, + { 0x3080a825, 0x30000001 }, + { 0x3000a827, 0x28000000 }, + { 0x3080a828, 0x68000003 }, + { 0x4080a840, 0x1c000033 }, + { 0x4080a874, 0x54000003 }, + { 0x1780ac00, 0x1c002ba3 }, + { 0x0980d800, 0x1000037f }, + { 0x0980db80, 0x1000007f }, + { 0x0980dc00, 0x100003ff }, + { 0x0980e000, 0x0c0018ff }, + { 0x1680f900, 0x1c00012d }, + { 0x1680fa30, 0x1c00003a }, + { 0x1680fa70, 0x1c000069 }, + { 0x2180fb00, 0x14000006 }, + { 0x0180fb13, 0x14000004 }, + { 0x1900fb1d, 0x1c000000 }, + { 0x1900fb1e, 0x30000000 }, + { 0x1980fb1f, 0x1c000009 }, + { 0x1900fb29, 0x64000000 }, + { 0x1980fb2a, 0x1c00000c }, + { 0x1980fb38, 0x1c000004 }, + { 0x1900fb3e, 0x1c000000 }, + { 0x1980fb40, 0x1c000001 }, + { 0x1980fb43, 0x1c000001 }, + { 0x1980fb46, 0x1c00006b }, + { 0x0080fbd3, 0x1c00016a }, + { 0x0900fd3e, 0x58000000 }, + { 0x0900fd3f, 0x48000000 }, + { 0x0080fd50, 0x1c00003f }, + { 0x0080fd92, 0x1c000035 }, + { 0x0080fdf0, 0x1c00000b }, + { 0x0000fdfc, 0x5c000000 }, + { 0x0900fdfd, 0x68000000 }, + { 0x1b80fe00, 0x3000000f }, + { 0x0980fe10, 0x54000006 }, + { 0x0900fe17, 0x58000000 }, + { 0x0900fe18, 0x48000000 }, + { 0x0900fe19, 0x54000000 }, + { 0x1b80fe20, 0x30000003 }, + { 0x0900fe30, 0x54000000 }, + { 0x0980fe31, 0x44000001 }, + { 0x0980fe33, 0x40000001 }, + { 0x0900fe35, 0x58000000 }, + { 0x0900fe36, 0x48000000 }, + { 0x0900fe37, 0x58000000 }, + { 0x0900fe38, 0x48000000 }, + { 0x0900fe39, 0x58000000 }, + { 0x0900fe3a, 0x48000000 }, + { 0x0900fe3b, 0x58000000 }, + { 0x0900fe3c, 0x48000000 }, + { 0x0900fe3d, 0x58000000 }, + { 0x0900fe3e, 0x48000000 }, + { 0x0900fe3f, 0x58000000 }, + { 0x0900fe40, 0x48000000 }, + { 0x0900fe41, 0x58000000 }, + { 0x0900fe42, 0x48000000 }, + { 0x0900fe43, 0x58000000 }, + { 0x0900fe44, 0x48000000 }, + { 0x0980fe45, 0x54000001 }, + { 0x0900fe47, 0x58000000 }, + { 0x0900fe48, 0x48000000 }, + { 0x0980fe49, 0x54000003 }, + { 0x0980fe4d, 0x40000002 }, + { 0x0980fe50, 0x54000002 }, + { 0x0980fe54, 0x54000003 }, + { 0x0900fe58, 0x44000000 }, + { 0x0900fe59, 0x58000000 }, + { 0x0900fe5a, 0x48000000 }, + { 0x0900fe5b, 0x58000000 }, + { 0x0900fe5c, 0x48000000 }, + { 0x0900fe5d, 0x58000000 }, + { 0x0900fe5e, 0x48000000 }, + { 0x0980fe5f, 0x54000002 }, + { 0x0900fe62, 0x64000000 }, + { 0x0900fe63, 0x44000000 }, + { 0x0980fe64, 0x64000002 }, + { 0x0900fe68, 0x54000000 }, + { 0x0900fe69, 0x5c000000 }, + { 0x0980fe6a, 0x54000001 }, + { 0x0080fe70, 0x1c000004 }, + { 0x0080fe76, 0x1c000086 }, + { 0x0900feff, 0x04000000 }, + { 0x0980ff01, 0x54000002 }, + { 0x0900ff04, 0x5c000000 }, + { 0x0980ff05, 0x54000002 }, + { 0x0900ff08, 0x58000000 }, + { 0x0900ff09, 0x48000000 }, + { 0x0900ff0a, 0x54000000 }, + { 0x0900ff0b, 0x64000000 }, + { 0x0900ff0c, 0x54000000 }, + { 0x0900ff0d, 0x44000000 }, + { 0x0980ff0e, 0x54000001 }, + { 0x0980ff10, 0x34000009 }, + { 0x0980ff1a, 0x54000001 }, + { 0x0980ff1c, 0x64000002 }, + { 0x0980ff1f, 0x54000001 }, + { 0x2100ff21, 0x24000020 }, + { 0x2100ff22, 0x24000020 }, + { 0x2100ff23, 0x24000020 }, + { 0x2100ff24, 0x24000020 }, + { 0x2100ff25, 0x24000020 }, + { 0x2100ff26, 0x24000020 }, + { 0x2100ff27, 0x24000020 }, + { 0x2100ff28, 0x24000020 }, + { 0x2100ff29, 0x24000020 }, + { 0x2100ff2a, 0x24000020 }, + { 0x2100ff2b, 0x24000020 }, + { 0x2100ff2c, 0x24000020 }, + { 0x2100ff2d, 0x24000020 }, + { 0x2100ff2e, 0x24000020 }, + { 0x2100ff2f, 0x24000020 }, + { 0x2100ff30, 0x24000020 }, + { 0x2100ff31, 0x24000020 }, + { 0x2100ff32, 0x24000020 }, + { 0x2100ff33, 0x24000020 }, + { 0x2100ff34, 0x24000020 }, + { 0x2100ff35, 0x24000020 }, + { 0x2100ff36, 0x24000020 }, + { 0x2100ff37, 0x24000020 }, + { 0x2100ff38, 0x24000020 }, + { 0x2100ff39, 0x24000020 }, + { 0x2100ff3a, 0x24000020 }, + { 0x0900ff3b, 0x58000000 }, + { 0x0900ff3c, 0x54000000 }, + { 0x0900ff3d, 0x48000000 }, + { 0x0900ff3e, 0x60000000 }, + { 0x0900ff3f, 0x40000000 }, + { 0x0900ff40, 0x60000000 }, + { 0x2100ff41, 0x1400ffe0 }, + { 0x2100ff42, 0x1400ffe0 }, + { 0x2100ff43, 0x1400ffe0 }, + { 0x2100ff44, 0x1400ffe0 }, + { 0x2100ff45, 0x1400ffe0 }, + { 0x2100ff46, 0x1400ffe0 }, + { 0x2100ff47, 0x1400ffe0 }, + { 0x2100ff48, 0x1400ffe0 }, + { 0x2100ff49, 0x1400ffe0 }, + { 0x2100ff4a, 0x1400ffe0 }, + { 0x2100ff4b, 0x1400ffe0 }, + { 0x2100ff4c, 0x1400ffe0 }, + { 0x2100ff4d, 0x1400ffe0 }, + { 0x2100ff4e, 0x1400ffe0 }, + { 0x2100ff4f, 0x1400ffe0 }, + { 0x2100ff50, 0x1400ffe0 }, + { 0x2100ff51, 0x1400ffe0 }, + { 0x2100ff52, 0x1400ffe0 }, + { 0x2100ff53, 0x1400ffe0 }, + { 0x2100ff54, 0x1400ffe0 }, + { 0x2100ff55, 0x1400ffe0 }, + { 0x2100ff56, 0x1400ffe0 }, + { 0x2100ff57, 0x1400ffe0 }, + { 0x2100ff58, 0x1400ffe0 }, + { 0x2100ff59, 0x1400ffe0 }, + { 0x2100ff5a, 0x1400ffe0 }, + { 0x0900ff5b, 0x58000000 }, + { 0x0900ff5c, 0x64000000 }, + { 0x0900ff5d, 0x48000000 }, + { 0x0900ff5e, 0x64000000 }, + { 0x0900ff5f, 0x58000000 }, + { 0x0900ff60, 0x48000000 }, + { 0x0900ff61, 0x54000000 }, + { 0x0900ff62, 0x58000000 }, + { 0x0900ff63, 0x48000000 }, + { 0x0980ff64, 0x54000001 }, + { 0x1d80ff66, 0x1c000009 }, + { 0x0900ff70, 0x18000000 }, + { 0x1d80ff71, 0x1c00002c }, + { 0x0980ff9e, 0x18000001 }, + { 0x1780ffa0, 0x1c00001e }, + { 0x1780ffc2, 0x1c000005 }, + { 0x1780ffca, 0x1c000005 }, + { 0x1780ffd2, 0x1c000005 }, + { 0x1780ffda, 0x1c000002 }, + { 0x0980ffe0, 0x5c000001 }, + { 0x0900ffe2, 0x64000000 }, + { 0x0900ffe3, 0x60000000 }, + { 0x0900ffe4, 0x68000000 }, + { 0x0980ffe5, 0x5c000001 }, + { 0x0900ffe8, 0x68000000 }, + { 0x0980ffe9, 0x64000003 }, + { 0x0980ffed, 0x68000001 }, + { 0x0980fff9, 0x04000002 }, + { 0x0980fffc, 0x68000001 }, + { 0x23810000, 0x1c00000b }, + { 0x2381000d, 0x1c000019 }, + { 0x23810028, 0x1c000012 }, + { 0x2381003c, 0x1c000001 }, + { 0x2381003f, 0x1c00000e }, + { 0x23810050, 0x1c00000d }, + { 0x23810080, 0x1c00007a }, + { 0x09810100, 0x54000001 }, + { 0x09010102, 0x68000000 }, + { 0x09810107, 0x3c00002c }, + { 0x09810137, 0x68000008 }, + { 0x13810140, 0x38000034 }, + { 0x13810175, 0x3c000003 }, + { 0x13810179, 0x68000010 }, + { 0x1301018a, 0x3c000000 }, + { 0x29810300, 0x1c00001e }, + { 0x29810320, 0x3c000003 }, + { 0x12810330, 0x1c000010 }, + { 0x12010341, 0x38000000 }, + { 0x12810342, 0x1c000007 }, + { 0x1201034a, 0x38000000 }, + { 0x3b810380, 0x1c00001d }, + { 0x3b01039f, 0x54000000 }, + { 0x2a8103a0, 0x1c000023 }, + { 0x2a8103c8, 0x1c000007 }, + { 0x2a0103d0, 0x54000000 }, + { 0x2a8103d1, 0x38000004 }, + { 0x0d010400, 0x24000028 }, + { 0x0d010401, 0x24000028 }, + { 0x0d010402, 0x24000028 }, + { 0x0d010403, 0x24000028 }, + { 0x0d010404, 0x24000028 }, + { 0x0d010405, 0x24000028 }, + { 0x0d010406, 0x24000028 }, + { 0x0d010407, 0x24000028 }, + { 0x0d010408, 0x24000028 }, + { 0x0d010409, 0x24000028 }, + { 0x0d01040a, 0x24000028 }, + { 0x0d01040b, 0x24000028 }, + { 0x0d01040c, 0x24000028 }, + { 0x0d01040d, 0x24000028 }, + { 0x0d01040e, 0x24000028 }, + { 0x0d01040f, 0x24000028 }, + { 0x0d010410, 0x24000028 }, + { 0x0d010411, 0x24000028 }, + { 0x0d010412, 0x24000028 }, + { 0x0d010413, 0x24000028 }, + { 0x0d010414, 0x24000028 }, + { 0x0d010415, 0x24000028 }, + { 0x0d010416, 0x24000028 }, + { 0x0d010417, 0x24000028 }, + { 0x0d010418, 0x24000028 }, + { 0x0d010419, 0x24000028 }, + { 0x0d01041a, 0x24000028 }, + { 0x0d01041b, 0x24000028 }, + { 0x0d01041c, 0x24000028 }, + { 0x0d01041d, 0x24000028 }, + { 0x0d01041e, 0x24000028 }, + { 0x0d01041f, 0x24000028 }, + { 0x0d010420, 0x24000028 }, + { 0x0d010421, 0x24000028 }, + { 0x0d010422, 0x24000028 }, + { 0x0d010423, 0x24000028 }, + { 0x0d010424, 0x24000028 }, + { 0x0d010425, 0x24000028 }, + { 0x0d010426, 0x24000028 }, + { 0x0d010427, 0x24000028 }, + { 0x0d010428, 0x1400ffd8 }, + { 0x0d010429, 0x1400ffd8 }, + { 0x0d01042a, 0x1400ffd8 }, + { 0x0d01042b, 0x1400ffd8 }, + { 0x0d01042c, 0x1400ffd8 }, + { 0x0d01042d, 0x1400ffd8 }, + { 0x0d01042e, 0x1400ffd8 }, + { 0x0d01042f, 0x1400ffd8 }, + { 0x0d010430, 0x1400ffd8 }, + { 0x0d010431, 0x1400ffd8 }, + { 0x0d010432, 0x1400ffd8 }, + { 0x0d010433, 0x1400ffd8 }, + { 0x0d010434, 0x1400ffd8 }, + { 0x0d010435, 0x1400ffd8 }, + { 0x0d010436, 0x1400ffd8 }, + { 0x0d010437, 0x1400ffd8 }, + { 0x0d010438, 0x1400ffd8 }, + { 0x0d010439, 0x1400ffd8 }, + { 0x0d01043a, 0x1400ffd8 }, + { 0x0d01043b, 0x1400ffd8 }, + { 0x0d01043c, 0x1400ffd8 }, + { 0x0d01043d, 0x1400ffd8 }, + { 0x0d01043e, 0x1400ffd8 }, + { 0x0d01043f, 0x1400ffd8 }, + { 0x0d010440, 0x1400ffd8 }, + { 0x0d010441, 0x1400ffd8 }, + { 0x0d010442, 0x1400ffd8 }, + { 0x0d010443, 0x1400ffd8 }, + { 0x0d010444, 0x1400ffd8 }, + { 0x0d010445, 0x1400ffd8 }, + { 0x0d010446, 0x1400ffd8 }, + { 0x0d010447, 0x1400ffd8 }, + { 0x0d010448, 0x1400ffd8 }, + { 0x0d010449, 0x1400ffd8 }, + { 0x0d01044a, 0x1400ffd8 }, + { 0x0d01044b, 0x1400ffd8 }, + { 0x0d01044c, 0x1400ffd8 }, + { 0x0d01044d, 0x1400ffd8 }, + { 0x0d01044e, 0x1400ffd8 }, + { 0x0d01044f, 0x1400ffd8 }, + { 0x2e810450, 0x1c00004d }, + { 0x2c8104a0, 0x34000009 }, + { 0x0b810800, 0x1c000005 }, + { 0x0b010808, 0x1c000000 }, + { 0x0b81080a, 0x1c00002b }, + { 0x0b810837, 0x1c000001 }, + { 0x0b01083c, 0x1c000000 }, + { 0x0b01083f, 0x1c000000 }, + { 0x41810900, 0x1c000015 }, + { 0x41810916, 0x3c000003 }, + { 0x4101091f, 0x54000000 }, + { 0x1e010a00, 0x1c000000 }, + { 0x1e810a01, 0x30000002 }, + { 0x1e810a05, 0x30000001 }, + { 0x1e810a0c, 0x30000003 }, + { 0x1e810a10, 0x1c000003 }, + { 0x1e810a15, 0x1c000002 }, + { 0x1e810a19, 0x1c00001a }, + { 0x1e810a38, 0x30000002 }, + { 0x1e010a3f, 0x30000000 }, + { 0x1e810a40, 0x3c000007 }, + { 0x1e810a50, 0x54000008 }, + { 0x3e812000, 0x1c00036e }, + { 0x3e812400, 0x38000062 }, + { 0x3e812470, 0x54000003 }, + { 0x0981d000, 0x680000f5 }, + { 0x0981d100, 0x68000026 }, + { 0x0981d12a, 0x6800003a }, + { 0x0981d165, 0x28000001 }, + { 0x1b81d167, 0x30000002 }, + { 0x0981d16a, 0x68000002 }, + { 0x0981d16d, 0x28000005 }, + { 0x0981d173, 0x04000007 }, + { 0x1b81d17b, 0x30000007 }, + { 0x0981d183, 0x68000001 }, + { 0x1b81d185, 0x30000006 }, + { 0x0981d18c, 0x6800001d }, + { 0x1b81d1aa, 0x30000003 }, + { 0x0981d1ae, 0x6800002f }, + { 0x1381d200, 0x68000041 }, + { 0x1381d242, 0x30000002 }, + { 0x1301d245, 0x68000000 }, + { 0x0981d300, 0x68000056 }, + { 0x0981d360, 0x3c000011 }, + { 0x0981d400, 0x24000019 }, + { 0x0981d41a, 0x14000019 }, + { 0x0981d434, 0x24000019 }, + { 0x0981d44e, 0x14000006 }, + { 0x0981d456, 0x14000011 }, + { 0x0981d468, 0x24000019 }, + { 0x0981d482, 0x14000019 }, + { 0x0901d49c, 0x24000000 }, + { 0x0981d49e, 0x24000001 }, + { 0x0901d4a2, 0x24000000 }, + { 0x0981d4a5, 0x24000001 }, + { 0x0981d4a9, 0x24000003 }, + { 0x0981d4ae, 0x24000007 }, + { 0x0981d4b6, 0x14000003 }, + { 0x0901d4bb, 0x14000000 }, + { 0x0981d4bd, 0x14000006 }, + { 0x0981d4c5, 0x1400000a }, + { 0x0981d4d0, 0x24000019 }, + { 0x0981d4ea, 0x14000019 }, + { 0x0981d504, 0x24000001 }, + { 0x0981d507, 0x24000003 }, + { 0x0981d50d, 0x24000007 }, + { 0x0981d516, 0x24000006 }, + { 0x0981d51e, 0x14000019 }, + { 0x0981d538, 0x24000001 }, + { 0x0981d53b, 0x24000003 }, + { 0x0981d540, 0x24000004 }, + { 0x0901d546, 0x24000000 }, + { 0x0981d54a, 0x24000006 }, + { 0x0981d552, 0x14000019 }, + { 0x0981d56c, 0x24000019 }, + { 0x0981d586, 0x14000019 }, + { 0x0981d5a0, 0x24000019 }, + { 0x0981d5ba, 0x14000019 }, + { 0x0981d5d4, 0x24000019 }, + { 0x0981d5ee, 0x14000019 }, + { 0x0981d608, 0x24000019 }, + { 0x0981d622, 0x14000019 }, + { 0x0981d63c, 0x24000019 }, + { 0x0981d656, 0x14000019 }, + { 0x0981d670, 0x24000019 }, + { 0x0981d68a, 0x1400001b }, + { 0x0981d6a8, 0x24000018 }, + { 0x0901d6c1, 0x64000000 }, + { 0x0981d6c2, 0x14000018 }, + { 0x0901d6db, 0x64000000 }, + { 0x0981d6dc, 0x14000005 }, + { 0x0981d6e2, 0x24000018 }, + { 0x0901d6fb, 0x64000000 }, + { 0x0981d6fc, 0x14000018 }, + { 0x0901d715, 0x64000000 }, + { 0x0981d716, 0x14000005 }, + { 0x0981d71c, 0x24000018 }, + { 0x0901d735, 0x64000000 }, + { 0x0981d736, 0x14000018 }, + { 0x0901d74f, 0x64000000 }, + { 0x0981d750, 0x14000005 }, + { 0x0981d756, 0x24000018 }, + { 0x0901d76f, 0x64000000 }, + { 0x0981d770, 0x14000018 }, + { 0x0901d789, 0x64000000 }, + { 0x0981d78a, 0x14000005 }, + { 0x0981d790, 0x24000018 }, + { 0x0901d7a9, 0x64000000 }, + { 0x0981d7aa, 0x14000018 }, + { 0x0901d7c3, 0x64000000 }, + { 0x0981d7c4, 0x14000005 }, + { 0x0901d7ca, 0x24000000 }, + { 0x0901d7cb, 0x14000000 }, + { 0x0981d7ce, 0x34000031 }, + { 0x16820000, 0x1c00a6d6 }, + { 0x1682f800, 0x1c00021d }, + { 0x090e0001, 0x04000000 }, + { 0x098e0020, 0x0400005f }, + { 0x1b8e0100, 0x300000ef }, + { 0x098f0000, 0x0c00fffd }, + { 0x09900000, 0x0c00fffd }, }; diff -Nurp --exclude='.bzr*' tin-1.8.3/pcre/version.sh tin-2.0.0/pcre/version.sh --- tin-1.8.3/pcre/version.sh 2005-09-12 16:34:51.000000000 +0200 +++ tin-2.0.0/pcre/version.sh 2011-04-17 16:04:37.264109598 +0200 @@ -6,7 +6,7 @@ # digits for minor numbers less than 10. There are unlikely to be # that many releases anyway. -PCRE_MAJOR=6 -PCRE_MINOR=4 -PCRE_DATE=05-Sep-2005 +PCRE_MAJOR=7 +PCRE_MINOR=0 +PCRE_DATE=18-Dec-2006 PCRE_VERSION=${PCRE_MAJOR}.${PCRE_MINOR} diff -Nurp --exclude='.bzr*' tin-1.8.3/po/Makefile.inn tin-2.0.0/po/Makefile.inn --- tin-1.8.3/po/Makefile.inn 2005-06-28 10:31:29.000000000 +0200 +++ tin-2.0.0/po/Makefile.inn 2011-04-17 16:06:16.839263075 +0200 @@ -8,6 +8,7 @@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ +NLS_TEXTDOMAIN = @NLS_TEXTDOMAIN@ # These two variables depend on the location of this directory. subdir = po @@ -22,38 +23,45 @@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datadir = @datadir@ -localedir = $(datadir)/locale -gettextsrcdir = $(datadir)/gettext/po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -MKINSTALLDIRS = @MKINSTALLDIRS@ - -CC = @CC@ -GMSGFMT = @GMSGFMT@ -MSGFMT = @MSGFMT@ -XGETTEXT = @XGETTEXT@ -MSGMERGE = msgmerge - -DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datadir = @datadir@ +localedir = $(datadir)/locale +gettextsrcdir = $(datadir)/gettext/po + +DATADIR = $(DESTDIR)$(datadir) +LOCALEDIR = $(DESTDIR)$(localedir) +GETTEXTSRCDIR = $(DESTDIR)$(gettextsrcdir) + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +CC = @CC@ +GMSGFMT = @GMSGFMT@ +MSGFMT = @MSGFMT@ +XGETTEXT = @XGETTEXT@ +MSGMERGE = msgmerge + +DEFS = @DEFS@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ INCLUDES = -I.. -I$(top_srcdir)/intl COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -DISTFILES = ChangeLog Makefile.inn POTFILES.in $(PACKAGE).pot \ +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +DISTFILES = ChangeLog Makefile.inn POTFILES.in $(PACKAGE).pot \ $(POFILES) $(GMOFILES) POTFILES = \ -CATALOGS = @CATALOGS@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +INSTOBJEXT = @INSTOBJEXT@ + +INSTOBJ = $(NLS_TEXTDOMAIN)$(INSTOBJEXT) .SUFFIXES: .SUFFIXES: .c .o .po .pox .gmo .mo @@ -83,7 +91,7 @@ all-no: # have been downloaded. $(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in - $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ + $(XGETTEXT) --default-domain=$(NLS_TEXTDOMAIN) --directory=$(top_srcdir) \ --add-comments --keyword=_ --keyword=N_ \ --files-from=$(srcdir)/POTFILES.in \ && test ! -f $(PACKAGE).po \ @@ -95,28 +103,28 @@ install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ - $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + mkdir -p $(GETTEXTSRCDIR); \ $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ - $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + $(GETTEXTSRCDIR)/Makefile.in.in; \ else \ : ; \ fi install-data-no: all install-data-yes: all - $(MKINSTALLDIRS) $(DESTDIR)$(datadir) + mkdir -p $(DATADIR) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(MKINSTALLDIRS) $(DESTDIR)$$dir; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(LOCALEDIR)/$$lang/LC_MESSAGES; \ + mkdir -p $$dir; \ if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ - echo "installing $$cat as $(DESTDIR)$$dir/$(PACKAGE).mo"; \ + $(INSTALL_DATA) $$cat $$dir/$(INSTOBJ); \ + echo "installing $$cat as $$dir/$(INSTOBJ)"; \ else \ - $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(INSTOBJ); \ echo "installing $(srcdir)/$$cat as" \ - "$(DESTDIR)$$dir/$(PACKAGE).mo"; \ + "$$dir/$(INSTOBJ)"; \ fi; \ done @@ -127,11 +135,11 @@ uninstall: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(LOCALEDIR)/$$lang/LC_MESSAGES/$(INSTOBJ); \ done if test "$(PACKAGE)" = "gettext"; then \ - rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + rm -f $(GETTEXTSRCDIR)/Makefile.in.in; \ else \ : ; \ fi @@ -173,7 +181,7 @@ update-po: Makefile catalogs='$(GMOFILES)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ echo "$$lang:"; \ if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \ mv -f $$lang.new.po $$lang.po; \ Binary files tin-1.8.3/po/da.gmo and tin-2.0.0/po/da.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/da.po tin-2.0.0/po/da.po --- tin-1.8.3/po/da.po 1970-01-01 01:00:00.000000000 +0100 +++ tin-2.0.0/po/da.po 2011-08-22 18:32:40.679159973 +0200 @@ -0,0 +1,7167 @@ +# Danish translation of Tin. +# Copyright (C) 2010 Tin & Joe Hansen. +# This file is distributed under the same license as the tin package. +# Joe Hansen , 2009, 2010. +# +# Der er ikke anvendt accenter i denne oversættelse. +# '' er bevaret i oversættelsen pÃ¥ samme mÃ¥de ''. +# +# by -> efter +# header -> teksthoved +# newsgroup -> nyhedsgruppe +# option -> indstilling (tilvalg?) +# posting -> indsendelse +# posting date -> indsendingsdato +# post to -> send til +# yank -> ryk +# scope -> virkefelt (omfang?) +# score -> point +# sign -> underskriv +# signatur -> underskrift +# subject -> emne +# whitespace -> mellemrum (egentlig 'blanke tegn' (mellemrum, +# (linjeskift, sideskift, tabulatortegn osv.)) +# +# bemærk at den her slags strenge ikke skal oversættes +# add_posted_to_filter=ON/OFF. Kun hvis der er mellemrum til højre for +# tegnet lig med. +# Husk mellemrum, projektet anbefaler at man bevarer mellemrummene. +# +# Kan man oversætte "Subject:" et sted i filen? Ellers skal det mÃ¥ske +# være uoversat +msgid "" +msgstr "Project-Id-Version: tin 1.9.5\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2011-08-22 18:32+0200\n" + "PO-Revision-Date: 2010-07-18 19:14+0100\n" + "Last-Translator: Joe Hansen \n" + "Language-Team: Danish \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 +#, c-format +msgid "attribute with no scope: %s" +msgstr "attribut uden virkefelt: %s" + +#: src/attrib.c:884 +msgid "Processing attributes... " +msgstr "Behandler attributter... " + +#: src/attrib.c:1102 +#, c-format +msgid "# Do not edit this comment block\n" + "#\n" +msgstr "# Rediger ikke denne kommentarblok\n" + "#\n" + +#: src/attrib.c:1103 +#, c-format +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" +msgstr "# scope=STRENG (f.eks. alt.*,!alt.bin*) [krævet]\n" + +#: src/attrib.c:1104 +#, c-format +msgid "# add_posted_to_filter=ON/OFF\n" +msgstr "# add_posted_to_filter=ON/OFF\n" + +#: src/attrib.c:1105 +#, c-format +msgid "# advertising=ON/OFF\n" +msgstr "# advertising=ON/OFF\n" + +#: src/attrib.c:1106 +#, c-format +msgid "# alternative_handling=ON/OFF\n" +msgstr "# alternative_handling=ON/OFF\n" + +#: src/attrib.c:1107 +#, c-format +msgid "# ask_for_metamail=ON/OFF\n" +msgstr "# ask_for_metamail=ON/OFF\n" + +#: src/attrib.c:1108 +#, c-format +msgid "# auto_cc_bcc=NUM\n" +msgstr "# auto_cc_bcc=NUM\n" + +#: src/attrib.c:1109 +#, c-format +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "# 0=Nej, 1=Cc, 2=Bcc, 3=Cc og Bcc\n" + +#: src/attrib.c:1110 +#, c-format +msgid "# auto_list_thread=ON/OFF\n" +msgstr "# auto_list_thread=ON/OFF\n" + +#: src/attrib.c:1111 +#, c-format +msgid "# auto_save=ON/OFF\n" +msgstr "# auto_save=ON/OFF\n" + +#: src/attrib.c:1112 +#, c-format +msgid "# auto_select=ON/OFF\n" +msgstr "# auto_select=ON/OFF\n" + +#: src/attrib.c:1113 +#, c-format +msgid "# batch_save=ON/OFF\n" +msgstr "# batch_save=ON/OFF\n" + +#: src/attrib.c:1114 +#, c-format +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "# date_format=STRENG (f.eks. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" + +#: src/attrib.c:1115 +#, c-format +msgid "# delete_tmp_files=ON/OFF\n" +msgstr "# delete_tmp_files=ON/OFF\n" + +#: src/attrib.c:1116 +#, c-format +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" +msgstr "# editor_format=STRENG (f.eks. %%E +%%N %%F)\n" + +#: src/attrib.c:1117 +#, c-format +msgid "# fcc=STRING (eg. =mailbox)\n" +msgstr "# fcc=STRENG (f.eks. =postkasse)\n" + +#: src/attrib.c:1118 +#, c-format +msgid "# followup_to=STRING\n" +msgstr "# followup_to=STRENG\n" + +#: src/attrib.c:1119 +#, c-format +msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" +msgstr "# from=STRENG (tilføj bare ønsket fra:-linje, brug ikke anførselstegn)\n" + +#: src/attrib.c:1120 +#, c-format +msgid "# group_catchup_on_exit=ON/OFF\n" +msgstr "# group_catchup_on_exit=ON/OFF\n" + +#: src/attrib.c:1121 +#, c-format +msgid "# mail_8bit_header=ON/OFF\n" +msgstr "# mail_8bit_header=ON/OFF\n" + +#: src/attrib.c:1122 +#, c-format +msgid "# mail_mime_encoding=supported_encoding" +msgstr "# mail_mime_encoding=supported_encoding" + +#: src/attrib.c:1130 +#, c-format +msgid "# ispell=STRING\n" +msgstr "# ispell=STRENG\n" + +#: src/attrib.c:1132 +#, c-format +msgid "# maildir=STRING (eg. ~/Mail)\n" +msgstr "# maildir=STRENG (f.eks. ~/Post)\n" + +#: src/attrib.c:1133 +#, c-format +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" +msgstr "# mailing_list=STRENG (f.eks. majordomo@example.org)\n" + +#: src/attrib.c:1134 +#, c-format +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgstr "# mime_types_to_save=STRENG (f.eks. image/*,!image/bmp)\n" + +#: src/attrib.c:1135 +#, c-format +msgid "# mark_ignore_tags=ON/OFF\n" +msgstr "# mark_ignore_tags=ON/OFF\n" + +#: src/attrib.c:1136 +#, c-format +msgid "# mark_saved_read=ON/OFF\n" +msgstr "# mark_saved_read=ON/OFF\n" + +#: src/attrib.c:1137 +#, c-format +msgid "# mime_forward=ON/OFF\n" +msgstr "# mime_forward=ON/OFF\n" + +#: src/attrib.c:1139 +#, c-format +msgid "# mm_network_charset=supported_charset" +msgstr "# mm_network_charset=supported_charset" + +#: src/attrib.c:1146 +#, c-format +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgstr "# undeclared_charset=STRENG (standard er US-ASCII)\n" + +#: src/attrib.c:1148 +#, c-format +msgid "# news_headers_to_display=STRING\n" +msgstr "# news_headers_to_display=STRENG\n" + +#: src/attrib.c:1149 +#, c-format +msgid "# news_headers_to_not_display=STRING\n" +msgstr "# news_headers_to_not_display=STRENG\n" + +#: src/attrib.c:1150 +#, c-format +msgid "# news_quote_format=STRING\n" +msgstr "# news_quote_format=STRENG\n" + +#: src/attrib.c:1151 +#, c-format +msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgstr "# organization=STRENG (hvis '/' er i begyndelsen, sÃ¥ læs fra fil)\n" + +#: src/attrib.c:1152 +#, c-format +msgid "# pos_first_unread=ON/OFF\n" +msgstr "# pos_first_unread=ON/OFF\n" + +#: src/attrib.c:1153 +#, c-format +msgid "# post_8bit_header=ON/OFF\n" +msgstr "# post_8bit_header=ON/OFF\n" + +#: src/attrib.c:1154 +#, c-format +msgid "# post_mime_encoding=supported_encoding" +msgstr "# post_mime_encoding=supported_encoding" + +#: src/attrib.c:1161 +#, c-format +msgid "# post_process_type=NUM\n" +msgstr "# post_process_type=NUM\n" + +#: src/attrib.c:1166 +#, c-format +msgid "# post_process_view=ON/OFF\n" +msgstr "# post_process_view=ON/OFF\n" + +#: src/attrib.c:1167 +#, c-format +msgid "# quick_kill_scope=STRING (ie. talk.*)\n" +msgstr "# quick_kill_scope=STRENG (f.eks. talk.*)\n" + +#: src/attrib.c:1168 +#, c-format +msgid "# quick_kill_expire=ON/OFF\n" +msgstr "# quick_kill_expire=ON/OFF\n" + +#: src/attrib.c:1169 +#, c-format +msgid "# quick_kill_case=ON/OFF\n" +msgstr "# quick_kill_case=ON/OFF\n" + +#: src/attrib.c:1170 +#, c-format +msgid "# quick_kill_header=NUM\n" +msgstr "# quick_kill_header=NUM\n" + +#: src/attrib.c:1171 src/attrib.c:1180 +#, fuzzy, c-format +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "# 0=Subject: (versalfølsom) 1=Subject: (ikke versalfølsom)\n" + +#: src/attrib.c:1172 src/attrib.c:1181 +#, fuzzy, c-format +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "# 2=From: (versalfølsom) 3=From: (ikke versalfølsom)\n" + +#: src/attrib.c:1173 src/attrib.c:1182 +#, c-format +msgid "# 4=Message-ID: & full References: line\n" +msgstr "" + +#: src/attrib.c:1174 src/attrib.c:1183 +#, c-format +msgid "# 5=Message-ID: & last References: entry only\n" +msgstr "" + +#: src/attrib.c:1175 src/attrib.c:1184 +#, c-format +msgid "# 6=Message-ID: entry only 7=Lines:\n" +msgstr "" + +#: src/attrib.c:1176 +#, c-format +msgid "# quick_select_scope=STRING\n" +msgstr "# quick_select_scope=STRENG\n" + +#: src/attrib.c:1177 +#, c-format +msgid "# quick_select_expire=ON/OFF\n" +msgstr "# quick_select_expire=ON/OFF\n" + +#: src/attrib.c:1178 +#, c-format +msgid "# quick_select_case=ON/OFF\n" +msgstr "# quick_select_case=ON/OFF\n" + +#: src/attrib.c:1179 +#, c-format +msgid "# quick_select_header=NUM\n" +msgstr "# quick_select_header=NUM\n" + +#: src/attrib.c:1185 +#, c-format +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgstr "# quote_chars=STRENG (%%s, %%S for initialer)\n" + +#: src/attrib.c:1187 +#, c-format +msgid "# print_header=ON/OFF\n" +msgstr "# print_header=ON/OFF\n" + +#: src/attrib.c:1189 +#, c-format +msgid "# process_only_unread=ON/OFF\n" +msgstr "# process_only_unread=ON/OFF\n" + +#: src/attrib.c:1190 +#, c-format +msgid "# prompt_followupto=ON/OFF\n" +msgstr "# prompt_followupto=ON/OFF\n" + +#: src/attrib.c:1191 +#, c-format +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "# savedir=STRENG (f.eks. ~user/News)\n" + +#: src/attrib.c:1192 +#, c-format +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "# savefile=STRENG (f.eks. =linux)\n" + +#: src/attrib.c:1193 +#, c-format +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "# sigfile=STRENG (f.eks. $var/sig)\n" + +#: src/attrib.c:1194 +#, c-format +msgid "# show_author=NUM\n" +msgstr "# show_author=NUM\n" + +#: src/attrib.c:1200 +#, c-format +msgid "# show_info=NUM\n" +msgstr "# show_info=NUM\n" + +#: src/attrib.c:1206 +#, c-format +msgid "# show_signatures=ON/OFF\n" +msgstr "# show_signatures=ON/OFF\n" + +#: src/attrib.c:1207 +#, c-format +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "# show_only_unread_arts=ON/OFF\n" + +#: src/attrib.c:1208 +#, c-format +msgid "# sigdashes=ON/OFF\n" +msgstr "# sigdashes=ON/OFF\n" + +#: src/attrib.c:1209 +#, c-format +msgid "# signature_repost=ON/OFF\n" +msgstr "# signature_repost=ON/OFF\n" + +#: src/attrib.c:1210 +#, c-format +msgid "# sort_article_type=NUM\n" +msgstr "# sort_article_type=NUM\n" + +#: src/attrib.c:1228 +#, c-format +msgid "# sort_threads_type=NUM\n" +msgstr "# sort_threads_type=NUM\n" + +#: src/attrib.c:1237 +#, c-format +msgid "# start_editor_offset=ON/OFF\n" +msgstr "# start_editor_offset=ON/OFF\n" + +#: src/attrib.c:1238 +#, c-format +msgid "# tex2iso_conv=ON/OFF\n" +msgstr "# tex2iso_conv=ON/OFF\n" + +#: src/attrib.c:1239 +#, c-format +msgid "# thread_catchup_on_exit=ON/OFF\n" +msgstr "# thread_catchup_on_exit=ON/OFF\n" + +#: src/attrib.c:1240 +#, c-format +msgid "# thread_articles=NUM" +msgstr "# thread_articles=NUM" + +#: src/attrib.c:1247 +#, c-format +msgid "# thread_perc=NUM\n" +msgstr "# thread_perc=NUM\n" + +#: src/attrib.c:1248 +#, c-format +msgid "# trim_article_body=NUM\n" +msgstr "# trim_article_body=NUM\n" + +#: src/attrib.c:1249 +#, c-format +msgid "# 0 = Don't trim article body\n" +msgstr "" + +#: src/attrib.c:1250 +#, c-format +msgid "# 1 = Skip leading blank lines\n" +msgstr "" + +#: src/attrib.c:1251 +#, c-format +msgid "# 2 = Skip trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1252 +#, c-format +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1253 +#, c-format +msgid "# 4 = Compact multiple blank lines between text blocks\n" +msgstr "" + +#: src/attrib.c:1254 +#, c-format +msgid "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" +msgstr "" + +#: src/attrib.c:1255 +#, c-format +msgid "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1256 +#, c-format +msgid "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1257 +#, c-format +msgid "# verbatim_handling=ON/OFF\n" +msgstr "# verbatim_handling=ON/OFF\n" + +#: src/attrib.c:1258 +#, c-format +msgid "# wrap_on_next_unread=ON/OFF\n" +msgstr "# wrap_on_next_unread=ON/OFF\n" + +#: src/attrib.c:1259 +#, c-format +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" +msgstr "# x_body=STRENG (f.eks. ~/.tin/extra-body-text)\n" + +#: src/attrib.c:1260 +#, c-format +msgid "# x_comment_to=ON/OFF\n" +msgstr "# x_comment_to=ON/OFF\n" + +#: src/attrib.c:1261 +#, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" +msgstr "# x_headers=STRENG (f.eks. ~/.tin/extra-headers)\n" + +#: src/attrib.c:1262 +#, c-format +msgid "#\n" + "# Note that it is best to put general (global scoping)\n" +msgstr "" + +#: src/attrib.c:1263 +#, c-format +msgid "# entries first followed by group specific entries.\n" + "#\n" +msgstr "" + +#: src/attrib.c:1264 +#, c-format +msgid "############################################################################\n" +msgstr "" + +#: src/cook.c:625 +msgid "(unknown)" +msgstr "(ukendt)" + +#: src/keymap.c:277 +msgid "NULL" +msgstr "" + +#: src/lang.c:42 +msgid "1 Response" +msgstr "1 svar" + +#: src/lang.c:46 +#, c-format +msgid "\n" + "%s contains no newsgroups. Exiting." +msgstr "\n" + "%s indeholder ingen nyhedsgrupper. Afslutter." + +#: src/lang.c:47 +msgid "all " +msgstr "alle " + +#: src/lang.c:48 +msgid "All groups" +msgstr "Alle grupper" + +#: src/lang.c:49 +#, c-format +msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " +msgstr "Fil %s findes. %s=tilføj, %s=overskriv, %s=afslut: " + +#: src/lang.c:50 +msgid "Article cancelled (deleted)." +msgstr "Artikel fortrudt (slettet)." + +#: src/lang.c:52 +msgid "Article cannot be cancelled (deleted)." +msgstr "Artikel kan ikke fortrydes (slettet)." + +#: src/lang.c:54 +msgid "Article deleted." +msgstr "Artikel slettet." + +#: src/lang.c:55 +#, c-format +msgid "\n" + "Your article:\n" + " \"%s\"\n" + "will be posted to the following %s:\n" +msgstr "\n" + "Din artikel:\n" + " »%s«\n" + "vil blive indsendt til den følgende %s:\n" + +#: src/lang.c:56 +msgid "Article not posted!" +msgstr "Artikel ikke indsendt!" + +#: src/lang.c:57 +msgid "Article not saved" +msgstr "Artikel ikke gemt" + +#: src/lang.c:58 +msgid "Article Level Commands" +msgstr "Kommandoer for artikelniveau" + +#: src/lang.c:59 +msgid "Article has no parent" +msgstr "Artikel har ingen overartikel" + +#: src/lang.c:60 +msgid "Parent article has been killed" +msgstr "Overartikel er blevet dræbt" + +#: src/lang.c:61 +msgid "Parent article is unavailable" +msgstr "Overartikel er ikke tilgængelig" + +#: src/lang.c:62 +#, c-format +msgid "Article posted: %s" +msgstr "Artikel indsendt: %s" + +#: src/lang.c:63 +#, c-format +msgid "Article rejected (saved to %s)" +msgstr "Artikel afvist (gemt til %s)" + +#: src/lang.c:64 +#, fuzzy, c-format +msgid "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " +msgstr "Marker %s=mærkede artikler/trÃ¥de, %s=nuværende trÃ¥d, %s=afslut: " + +#: src/lang.c:65 +msgid "Article unavailable" +msgstr "Artikel utilgængelig" + +#: src/lang.c:66 +msgid "Article undeleted." +msgstr "Sletning af artikel fjernet." + +#: src/lang.c:67 +#, c-format +msgid "Article %4d of %4d" +msgstr "Artikel %4d af %4d" + +#: src/lang.c:69 +msgid "articles" +msgstr "artikler" + +#: src/lang.c:70 +msgid "This is a repost of the following article:" +msgstr "Dette er en gentagelse af den følgende artikel:" + +#: src/lang.c:71 +msgid "article" +msgstr "artikel" + +#: src/lang.c:72 +msgid "Article" +msgstr "Artikel" + +#: src/lang.c:73 +#, c-format +msgid "-- %d %s mailed --" +msgstr "-- %d %s sendt --" + +#: src/lang.c:74 +#, c-format +msgid " at %s" +msgstr "" + +#: src/lang.c:75 +#, c-format +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgstr "" + +#: src/lang.c:76 +msgid ", charset: " +msgstr ", tegnsæt: " + +#: src/lang.c:77 +#, c-format +msgid "%*s[-- charset %s not supported --]\n" +msgstr "" + +#: src/lang.c:78 +#, c-format +msgid "%*s[-- Description: %s --]\n" +msgstr "%*s[-- Beskrivelse: %s --]\n" + +#: src/lang.c:79 +#, fuzzy, c-format +msgid "%d lines" +msgstr "%d Linjer" + +#: src/lang.c:80 +msgid "Attachment Menu" +msgstr "" + +#: src/lang.c:81 +#, fuzzy +msgid "Attachment Menu Commands" +msgstr "Kommandoer for attributmenu" + +#: src/lang.c:82 +#, fuzzy +msgid "" +msgstr "ingen" + +#: src/lang.c:83 +#, fuzzy, c-format +msgid "Attachment saved successfully. (%s)" +msgstr "newsrc-fil blev gemt.\n" + +#: src/lang.c:84 +#, fuzzy, c-format +msgid "%d of %d attachments saved successfully." +msgstr "newsrc-fil blev gemt.\n" + +#: src/lang.c:85 +#, fuzzy +msgid "Select attachment> " +msgstr "Vælg artikel> " + +#: src/lang.c:86 +#, fuzzy +msgid "Tagged attachment" +msgstr "Vælg artikel> " + +#: src/lang.c:87 +#, fuzzy, c-format +msgid "%d attachments tagged" +msgstr "Vælg artikel> " + +#: src/lang.c:88 +#, fuzzy +msgid "Untagged attachment" +msgstr "Vælg artikel> " + +#: src/lang.c:89 +msgid "Attributes Menu Commands" +msgstr "Kommandoer for attributmenu" + +#: src/lang.c:91 +#, c-format +msgid "%d Authentication failed" +msgstr "%d godkendelse mislykkedes" + +#: src/lang.c:92 +#, c-format +msgid "NNTP authorization password not found for %s" +msgstr "Adgangskode for NNTP-godkendelse blev ikke fundet for %s" + +#: src/lang.c:93 +msgid "Server expects authentication.\n" +msgstr "Server forventer godkendelse.\n" + +#: src/lang.c:94 +msgid " Please enter password: " +msgstr " Venligst indtast adgangskode: " + +#: src/lang.c:95 +msgid " Please enter username: " +msgstr " Venligst indtast brugernavn: " + +#: src/lang.c:96 +#, c-format +msgid "Authorized for user: %s\n" +msgstr "Autoriseret for bruger: %s\n" + +#: src/lang.c:97 +#, c-format +msgid "Authorization failed for user: %s\n" +msgstr "Kunne ikke autorisere bruger: %s\n" + +#: src/lang.c:99 +#, c-format +msgid "Author search backwards [%s]> " +msgstr "Baglæns søgning efter forfatter [%s]> " + +#: src/lang.c:100 +#, c-format +msgid "Author search forwards [%s]> " +msgstr "Fremadrettet søgning efter forfatter [%s]> " + +#: src/lang.c:101 +#, c-format +msgid "\n" + "Autosubscribed to %s" +msgstr "\n" + "Autoabonnerede pÃ¥ %s" + +#: src/lang.c:102 +msgid "Autosubscribing groups...\n" +msgstr "Autoabonnerer pÃ¥ grupper...\n" + +#: src/lang.c:103 +#, c-format +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "Automarkerer artikler (brug '%s' for at se alle ulæste) ..." + +#: src/lang.c:105 +#, c-format +msgid "Active file corrupt - %s" +msgstr "Aktiv fil korrupt - %s" + +#: src/lang.c:106 +#, c-format +msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "Artikel til indsendelse medførte fejl/advarsler. %s=afslut, %s=menu, %" + "s=rediger:" + +#: src/lang.c:107 +#, c-format +msgid "Unrecognized attribute: %s" +msgstr "Attribut ikke genkendt: %s" + +#: src/lang.c:108 +#, c-format +msgid "Bad command. Type '%s' for help." +msgstr "Forkert kommando. Tast »%s« for hjælp." + +#: src/lang.c:110 +msgid "Base article" +msgstr "Baseartikel" + +#: src/lang.c:111 +msgid "Base article range" +msgstr "" + +#: src/lang.c:112 +#, c-format +msgid "%s: Updating of index files not supported\n" +msgstr "%s: Opdatering af indeksfiler er ikke understøttet\n" + +#: src/lang.c:113 +msgid "*** Beginning of article ***" +msgstr "*** Begyndelse pÃ¥ artikel ***" + +#: src/lang.c:114 +msgid "*** Beginning of page ***" +msgstr "*** Begyndelse pÃ¥ side ***" + +#: src/lang.c:116 +#, c-format +msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " +msgstr "" + +#: src/lang.c:117 +msgid "Cancelling article..." +msgstr "Fortryder artikel..." + +#: src/lang.c:119 +#, c-format +msgid "Cannot create %s" +msgstr "Kan ikke oprette %s" + +#: src/lang.c:120 +#, c-format +msgid "Can't find base article %d" +msgstr "Kan ikke finde baseartikel %d" + +#: src/lang.c:121 +#, c-format +msgid "Can't open %s" +msgstr "Kan ikke Ã¥bne %s" + +#: src/lang.c:122 +#, c-format +msgid "Couldn't open %s for saving" +msgstr "Kunne ikke Ã¥bne %s til gemning" + +#: src/lang.c:123 +msgid "*** Posting not allowed ***" +msgstr "*** Indsendelse ikke tilladt ***" + +#: src/lang.c:124 +#, c-format +msgid "Posting is not allowed to %s" +msgstr "Indsendelse er ikke tilladt til %s" + +#: src/lang.c:126 +#, c-format +msgid "Can't retrieve %s" +msgstr "Kan ikke hente %s" + +#: src/lang.c:128 +#, c-format +msgid "%s is a directory" +msgstr "%s er en mappe" + +#: src/lang.c:129 +msgid "Catchup" +msgstr "" + +#: src/lang.c:130 +#, c-format +msgid "Catchup %s..." +msgstr "" + +#: src/lang.c:131 +msgid "Catchup all groups entered during this session?" +msgstr "" + +#: src/lang.c:132 +msgid "You have tagged articles in this group - catchup anyway?" +msgstr "" + +#: src/lang.c:133 +#, c-format +msgid "%s %d %s in %lu seconds\n" +msgstr "" + +#: src/lang.c:134 +msgid "Caughtup" +msgstr "" + +#: src/lang.c:135 +msgid "Check Prepared Article" +msgstr "Tjek forberedt artikel" + +#: src/lang.c:136 +msgid "Checking for new groups... " +msgstr "Tjekker for nye grupper..." + +#: src/lang.c:137 +msgid "Checking for news..." +msgstr "Kigger efter nyheder..." + +#: src/lang.c:138 +#, c-format +msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " +msgstr "" + +#: src/lang.c:140 +msgid "ANSI color disabled" +msgstr "ANSI-farve slÃ¥et fra" + +#: src/lang.c:141 +msgid "ANSI color enabled" +msgstr "ANSI-farve slÃ¥et til" + +#: src/lang.c:143 +#, c-format +msgid "Command failed: %s" +msgstr "Kommando mislykkedes: %s" + +#: src/lang.c:144 +msgid "Mark not selected articles read?" +msgstr "" + +#: src/lang.c:146 +#, c-format +msgid "Connecting to %s..." +msgstr "Forbinder til %s..." + +#: src/lang.c:148 +msgid "" +msgstr "" + +#: src/lang.c:149 +msgid "Creating active file for saved groups...\n" +msgstr "Opretter aktiv fil for gemte grupper...\n" + +#: src/lang.c:150 +msgid "Creating newsrc file...\n" +msgstr "Opretter newsrc-fil...\n" + +#: src/lang.c:152 src/lang.c:1296 +msgid "Default" +msgstr "Standard" + +#: src/lang.c:153 +msgid "Delete saved files that have been post processed?" +msgstr "Slet gemte filer som er blevet efterbehandlet?" + +#: src/lang.c:154 +msgid "Deleting temporary files..." +msgstr "Sletter midlertidige filer..." + +#: src/lang.c:156 +msgid "*** End of article ***" +msgstr "*** Slut pÃ¥ artikel ***" + +#: src/lang.c:157 +msgid "*** End of articles ***" +msgstr "*** Slut pÃ¥ artikler ***" + +#: src/lang.c:158 +#, fuzzy +msgid "*** End of attachments ***" +msgstr "*** Slut pÃ¥ artikler ***" + +#: src/lang.c:159 +msgid "*** End of groups ***" +msgstr "*** Slut pÃ¥ grupper ***" + +#: src/lang.c:160 +msgid "*** End of page ***" +msgstr "*** Slut pÃ¥ side ***" + +#: src/lang.c:161 +msgid "*** End of scopes ***" +msgstr "*** Slut pÃ¥ virkefelter ***" + +#: src/lang.c:162 +msgid "*** End of thread ***" +msgstr "*** Slut pÃ¥ trÃ¥d ***" + +#: src/lang.c:163 +#, fuzzy +msgid "*** End of URLs ***" +msgstr "*** Slut pÃ¥ grupper ***" + +#: src/lang.c:164 +msgid "Enter limit of articles to get> " +msgstr "Indtast begrænsning pÃ¥ antal artikler der skal hentes> " + +#: src/lang.c:165 +msgid "Enter Message-ID to go to> " +msgstr "Indtast besked-id som der skal gÃ¥s till> " + +#: src/lang.c:166 +msgid " and enter next unread thread" +msgstr " og indtast næste ulæste trÃ¥d" + +#: src/lang.c:167 +msgid " and enter next unread article" +msgstr " og se næste ulæste artikel" + +#: src/lang.c:168 +msgid " and enter next unread group" +msgstr " og indtast næste ulæste gruppe" + +#: src/lang.c:169 +msgid "Enter option number> " +msgstr "Indtast valgnummer> " + +#: src/lang.c:170 +#, c-format +msgid "Enter range [%s]> " +msgstr "Indtast interval [%s]> " + +#: src/lang.c:171 +msgid "\n" + "Warning: Approved: header used.\n" +msgstr "" + +#: src/lang.c:173 +msgid "\n" + "Error: Bad address in Approved: header.\n" +msgstr "" + +#: src/lang.c:174 +msgid "\n" + "Error: Bad address in From: header.\n" +msgstr "" + +#: src/lang.c:175 +msgid "\n" + "Error: Bad address in Reply-To: header.\n" +msgstr "" + +#: src/lang.c:176 +msgid "\n" + "Error: Bad FQDN in Message-ID: header.\n" +msgstr "" + +#: src/lang.c:178 +#, c-format +msgid "Can't unlock %s" +msgstr "Kan ikke fjerne lÃ¥s pÃ¥ %s" + +#: src/lang.c:179 +#, c-format +msgid "Couldn't dotlock %s - article not appended!" +msgstr "" + +#: src/lang.c:180 +#, c-format +msgid "Couldn't lock %s - article not appended!" +msgstr "Kunne ikke lÃ¥se %s - artikel ikke tilføjet!" + +#: src/lang.c:183 +#, c-format +msgid "Corrupted file %s" +msgstr "Korrupt fil %s" + +#: src/lang.c:185 +msgid "\n" + "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" +msgstr "" + +#: src/lang.c:186 +msgid "Internal error in GNKSA routine - send bug report.\n" +msgstr "Intern fejl i GNKSA-rutine - indsend fejlrapport.\n" + +#: src/lang.c:187 +msgid "Left angle bracket missing in route address.\n" +msgstr "" + +#: src/lang.c:188 +msgid "Left parenthesis missing in old-style address.\n" +msgstr "" + +#: src/lang.c:189 +msgid "Right parenthesis missing in old-style address.\n" +msgstr "" + +# Hmm, altsÃ¥ hvis der er en grund til at de har skrevet det "At" i +# stedet for at bruge tegnet, kan det jo hedde snabela pÃ¥ dansk, men det +# virker mrækeligt og jeg tror din oversættelse er god nok +#: src/lang.c:190 +msgid "At-sign missing in mail address.\n" +msgstr "@-tegn mangler i e-post-adresse.\n" + +#: src/lang.c:191 +msgid "Single component FQDN is not allowed. Add your domain.\n" +msgstr "Enkeltkomponent FQDN er ikke tilladt. Tilføj dit domæne.\n" + +#: src/lang.c:192 +msgid "Invalid domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" + +#: src/lang.c:193 +msgid "Illegal domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" + +#: src/lang.c:194 +msgid "Unknown domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" + +#: src/lang.c:195 +msgid "Illegal character in FQDN.\n" +msgstr "Ulovlig karakter i FQDN.\n" + +#: src/lang.c:196 +msgid "Zero length FQDN component not allowed.\n" +msgstr "FQDN-komponent uden længde er ikke tilladt.\n" + +#: src/lang.c:197 +msgid "FQDN component exceeds maximum allowed length (63 chars).\n" +msgstr "FQDN-komponent overstiger den maksimale tilladte længde (63 karakterer).\n" + +#: src/lang.c:198 +msgid "FQDN component may not start or end with hyphen.\n" +msgstr "" + +#: src/lang.c:199 +msgid "FQDN component may not start with digit.\n" +msgstr "FQDN-komponent mÃ¥ ikke begynde med tal.\n" + +#: src/lang.c:200 +msgid "Domain literal has impossible numeric value.\n" +msgstr "" + +#: src/lang.c:201 +msgid "Domain literal is for private use only and not allowed for global use.\n" +msgstr "" + +#: src/lang.c:202 +msgid "Right bracket missing in domain literal.\n" +msgstr "" + +#: src/lang.c:203 +msgid "Missing localpart of mail address.\n" +msgstr "Mangler lokal del af e-post-adresse.\n" + +#: src/lang.c:204 +msgid "Illegal character in localpart of mail address.\n" +msgstr "Ugyldigt tegn i lokal del af e-post-adresse.\n" + +#: src/lang.c:205 +msgid "Zero length localpart component not allowed.\n" +msgstr "" + +#: src/lang.c:206 +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" +msgstr "" + +#: src/lang.c:207 +msgid "Illegal character in realname.\n" + "Quoted words may not contain '()<>\\'.\n" +msgstr "" + +#: src/lang.c:208 +msgid "Illegal character in realname.\n" + "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" +msgstr "" + +#: src/lang.c:209 +msgid "Bad syntax in encoded word used in realname.\n" +msgstr "" + +#: src/lang.c:210 +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '()<>\\' in old-style addresses.\n" +msgstr "" + +#: src/lang.c:211 +msgid "Illegal character in realname.\n" + "Control characters and unencoded 8bit characters > 127 are not allowed.\n" +msgstr "" + +#: src/lang.c:212 +msgid "\n" + "Error: No blank line found after header.\n" +msgstr "" + +#: src/lang.c:213 +#, fuzzy, c-format +msgid "\n" + "Error: Illegal formatted %s.\n" +msgstr "\n" + "Fejl: Ulovlig formateret %s.\n" + +#. TODO: fixme, US-ASCII is not the only 7bit charset we know about +#: src/lang.c:215 +msgid "\n" + "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" + " US-ASCII - please change this setting to a suitable value for\n" + " your language using the M)enu of configurable options or by\n" + " editing tinrc.\n" +msgstr "" + +#: src/lang.c:220 +msgid "\n" + "Error: Posting contains non-ASCII characters but the MIME encoding\n" + " for news messages is set to \"7bit\" - please change this\n" + " setting to \"8bit\" or \"quoted-printable\" depending on what\n" + " is more common in your part of the world. This can be done\n" + " using the M)enu of configurable options or by editing tinrc.\n" +msgstr "" + +#: src/lang.c:226 +msgid "\n" + "Error: Article starts with blank line instead of header\n" +msgstr "" + +#: src/lang.c:227 +#, c-format +msgid "\n" + "Error: Header on line %d does not have a colon after the header name:\n" + "%s\n" +msgstr "" + +#: src/lang.c:228 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is empty.\n" +msgstr "\n" + "Fejl: Linjen »%s:« er tom.\n" + +#: src/lang.c:229 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is missing from the article header.\n" +msgstr "\n" + "Fejl: Linjen »%s:« mangler fra artikelteksthovedet.\n" + +#: src/lang.c:230 +#, c-format +msgid "\n" + "Error: %s contains non 7bit chars.\n" +msgstr "" + +#: src/lang.c:231 +#, c-format +msgid "\n" + "Error: Header on line %d does not have a space after the colon:\n" + "%s\n" +msgstr "" + +#: src/lang.c:232 +#, c-format +msgid "\n" + "Error: There are multiple (%d) \"%s:\" lines in the header.\n" +msgstr "" + +#: src/lang.c:233 +#, c-format +msgid "Insecure permissions of %s (%o)" +msgstr "Usikre tilladelser pÃ¥ %s (%o)" + +#: src/lang.c:235 +#, c-format +msgid "Invalid response to GROUP command, %s" +msgstr "Ugyldigt svar pÃ¥ kommanoden GROUP, %s" + +#: src/lang.c:240 +#, c-format +msgid "MIME parse error: Unexpected end of %s/%s article" +msgstr "" + +#: src/lang.c:241 +msgid "MIME parse error: Start boundary whilst reading headers" +msgstr "" + +#: src/lang.c:242 +msgid "\n" + "Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "\n" + "Fejl: \"poster\" er ikke en gyldig nyhedsgruppe!\n" + +#: src/lang.c:243 +msgid "Can't get a (fully-qualified) domain-name!" +msgstr "Kan ikke indhente et (fuldt gyldigt) domænenavn!" + +#: src/lang.c:244 +#, c-format +msgid "No permissions to go into %s\n" +msgstr "Ingen tilladelse til at gÃ¥ ind i %s\n" + +#: src/lang.c:246 +msgid "\n" + "Error: From: line missing.\n" +msgstr "\n" + "Fejl: »Fra:-linje« mangler.\n" + +#: src/lang.c:248 +#, c-format +msgid "No read permissions for %s\n" +msgstr "Ingen læserettigheder for %s\n" + +#: src/lang.c:249 +#, c-format +msgid "File %s does not exist\n" +msgstr "Fil %s eksisterer ikke\n" + +#: src/lang.c:250 +#, c-format +msgid "No write permissions for %s\n" +msgstr "Ingen skriverettigheder for %s\n" + +#: src/lang.c:251 +msgid "Can't get user information (/etc/passwd missing?)" +msgstr "Kan ikke indhente brugerinformation (/etc/passwd mangler?)" + +#: src/lang.c:252 +msgid "errors" +msgstr "fejl" + +#: src/lang.c:254 +#, c-format +msgid "\n" + "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" +msgstr "\n" + "Fejl pÃ¥ linje %d: Teksthoved for »afsender« er ikke tilladt (den vil blive " + "tilføjet for dig)\n" + +#: src/lang.c:256 +#, c-format +msgid "Server has non of the groups listed in %s" +msgstr "Server har ingen af grupperne vist i %s" + +#: src/lang.c:257 +msgid "error" +msgstr "fejl" + +#: src/lang.c:258 +msgid "Unknown display level" +msgstr "Ukendt visningsniveau" + +#: src/lang.c:259 +msgid "" +msgstr "" + +#: src/lang.c:260 +msgid "Exiting..." +msgstr "Afslutter..." + +#: src/lang.c:261 +msgid "leaving external mail-reader" +msgstr "forlader ekstern postlæser" + +#: src/lang.c:262 +#, c-format +msgid "Extracting %s..." +msgstr "Udpakker %s..." + +#: src/lang.c:264 +#, c-format +msgid "Error writing %s file. Filesystem full? File reset to previous state." +msgstr "Kunne ikke skrive %s fil. Filsystem fyldt op? Fil gendannet til tidligere " + "tilstand." + +#: src/lang.c:265 +#, c-format +msgid "Error making backup of %s file. Filesystem full?" +msgstr "Fejl under oprettelse af sikkerhedskopi af %s fil. Filsystem fyldt op?" + +#: src/lang.c:266 +#, c-format +msgid "Filtering global rules (%d/%d)..." +msgstr "Filtrerer globale regler (%d/%d)..." + +#: src/lang.c:267 +msgid "Rule created by: " +msgstr "Regel oprettet af: " + +#: src/lang.c:268 +#, c-format +msgid "Enter pattern [%s]> " +msgstr "Indtast mønster [%s]> " + +#: src/lang.c:269 +#, c-format +msgid "\n" + "You requested followups to your article to go to the following %s:\n" +msgstr "" + +#: src/lang.c:270 +#, c-format +msgid " %s\t Answers will be directed to you by mail.\n" +msgstr " %s\t Svar vil blive sendt til dig per e-post.\n" + +#: src/lang.c:271 +msgid "-- forwarded message --\n" +msgstr "-- videresendt besked --\n" + +#: src/lang.c:272 +msgid "-- end of forwarded message --\n" +msgstr "" + +#: src/lang.c:273 +msgid "# Format:\n" + "# comment=STRING Optional. Multiple lines allowed. Comments must be " + "placed\n" + "# at the beginning of a rule, or they will be moved to " + "the\n" + "# next rule. '#' is not a valid keyword for a comment!\n" + "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" + "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" + "# score=NUM|STRING Mandatory. Score to give. Either:\n" + "# score=NUM A number (e.g. 70). Or:\n" + "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" + "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" + "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" + "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" + "# full references.\n" + "# msgid_last=STRING Optional. Like above, but with last reference only.\n" + "# msgid_only=STRING Optional. Like above, but without references.\n" + "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " + "without\n" + "# Message-ID:\n" + "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" + "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " + "opt.\n" + "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" + "# time=NUM Optional. time_t value when rule expires\n" + "#\n" +msgstr "" + +#: src/lang.c:294 +#, c-format +msgid "Enter score for rule (default=%d): " +msgstr "Indtast point for regel (standard=%d): " + +#: src/lang.c:295 +#, c-format +msgid "Enter the score weight (range 0 < score <= %d)" +msgstr "" + +#. SCORE_MAX +#: src/lang.c:296 +msgid "Full" +msgstr "" + +#: src/lang.c:297 +msgid "Comment (optional) : " +msgstr "Bemærkning (valgfri) : " + +#: src/lang.c:298 +msgid "Apply pattern to : " +msgstr "Anvend mønster pÃ¥ : " + +#: src/lang.c:299 +msgid "From: line (ignore case) " +msgstr "" + +#: src/lang.c:300 +msgid "From: line (case sensitive) " +msgstr "" + +#: src/lang.c:302 +#, c-format +msgid "%s%s: Unknown host.\n" +msgstr "%s%s: Ukendt vært.\n" + +#: src/lang.c:304 +msgid "global " +msgstr "" + +#: src/lang.c:305 +#, c-format +msgid "Please use %.100s instead" +msgstr "" + +#: src/lang.c:306 +#, c-format +msgid "%s is bogus" +msgstr "" + +#: src/lang.c:307 +#, c-format +msgid "Group %s is moderated. Continue?" +msgstr "" + +#: src/lang.c:308 +msgid "groups" +msgstr "grupper" + +#: src/lang.c:309 +#, c-format +msgid "Rereading %s..." +msgstr "Genlæser %s..." + +#: src/lang.c:310 +msgid "Top Level Commands" +msgstr "Kommandoer for topniveau" + +#: src/lang.c:311 +msgid "Group Selection" +msgstr "Gruppemarkering" + +#: src/lang.c:312 +msgid "group" +msgstr "gruppe" + +#: src/lang.c:314 +msgid "One or more lines of comment. to add a line or proceed if line is empty." +msgstr "" + +#: src/lang.c:315 +msgid "From: line to add to filter file. toggles & sets." +msgstr "" + +#: src/lang.c:316 +msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." +msgstr "" + +#: src/lang.c:317 +msgid "Message-ID: line to add to filter file. toggles & sets." +msgstr "" + +#: src/lang.c:318 +msgid "Subject: line to add to filter file. toggles & sets." +msgstr "" + +#: src/lang.c:319 +msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." +msgstr "" + +#: src/lang.c:320 +msgid "Select where text pattern should be applied. toggles & sets." +msgstr "" + +#: src/lang.c:321 +msgid "Expiration time in days for the entered filter. toggles & sets." +msgstr "" + +#: src/lang.c:322 +msgid "Apply kill only to current group or all groups. toggles & sets." +msgstr "" + +#: src/lang.c:323 +msgid "Apply select to current group or all groups. toggles & sets." +msgstr "" + +#: src/lang.c:324 +msgid "kill an article via a menu" +msgstr "dræb en artikel via en menu" + +#: src/lang.c:325 +msgid "auto-select (hot) an article via a menu" +msgstr "" + +#: src/lang.c:326 +msgid "Browse URLs in article" +msgstr "Gennemse URL'er i artikel" + +#: src/lang.c:327 +msgid "0 - 9\t display article by number in current thread" +msgstr "" + +#: src/lang.c:329 +msgid "cancel (delete) or supersede (overwrite) current article" +msgstr "afbryd (slet) eller fortræng (oveskriv) aktuel artikel" + +#: src/lang.c:330 +msgid "post followup to current article" +msgstr "" + +#: src/lang.c:331 +msgid "post followup (don't copy text) to current article" +msgstr "" + +#: src/lang.c:332 +msgid "post followup to current article quoting complete headers" +msgstr "" + +#: src/lang.c:333 +msgid "repost chosen article to another group" +msgstr "gensend valgt artikel til anden gruppe" + +#: src/lang.c:335 +msgid "edit article (mail-groups only)" +msgstr "rediger artikel (kun postgrupper)" + +#: src/lang.c:336 +msgid "display first article in current thread" +msgstr "vis første artikel i aktuel trÃ¥d" + +# af artiklen +#: src/lang.c:337 +msgid "display first page of article" +msgstr "vis første side pÃ¥ artikel" + +#: src/lang.c:338 +msgid "display last article in current thread" +msgstr "vis sidste artikel i aktuel trÃ¥d" + +#: src/lang.c:339 +msgid "display last page of article" +msgstr "vis sidste side pÃ¥ artikel" + +#: src/lang.c:340 +msgid "mark rest of thread as read and advance to next unread" +msgstr "" + +#: src/lang.c:341 +msgid "display next article" +msgstr "vis næste artikel" + +#: src/lang.c:342 +msgid "display first article in next thread" +msgstr "vis første artikel i næste trÃ¥d" + +#: src/lang.c:343 +msgid "display next unread article" +msgstr "vis næste ulæste artikel" + +#: src/lang.c:344 +msgid "go to the article that this one followed up" +msgstr "gÃ¥ til den artikel som den her fulgte op pÃ¥" + +#: src/lang.c:345 +msgid "display previous article" +msgstr "vis forrige artikel" + +#: src/lang.c:346 +msgid "display previous unread article" +msgstr "vis forrige ulæste artikel" + +# eller ".. artikel ved brug af standardmetoden", jeg synes ikke +# umiddelbart det er til at regne ud +#: src/lang.c:347 +msgid "quickly kill an article using defaults" +msgstr "dræb hurtigt en artikel som bruger standarder" + +#: src/lang.c:348 +msgid "quickly auto-select (hot) an article using defaults" +msgstr "autovælg hurtigt (populær) en artikel som bruger standarder" + +# gÃ¥ tilbage til +#: src/lang.c:349 +msgid "return to group selection level" +msgstr "returner til gruppeudvælgelsesniveau" + +#: src/lang.c:350 +msgid "reply through mail to author" +msgstr "svar via e-post til forfatter" + +#: src/lang.c:351 +msgid "reply through mail (don't copy text) to author" +msgstr "svar via e-post (kopier ikke tekst) til forfatter" + +#: src/lang.c:352 +msgid "reply through mail to author quoting complete headers" +msgstr "svar via e-post til forfatter med citering af hele hoveder" + +#: src/lang.c:353 +msgid "search backwards within this article" +msgstr "søg baglæns indenfor denne artikel" + +#: src/lang.c:354 +msgid "search forwards within this article" +msgstr "søg fremad idenfor denne artikel" + +#: src/lang.c:355 +msgid "show article in raw-mode (including all headers)" +msgstr "vis artikel i rawtilstand (inklusiv alle hoveder)" + +#: src/lang.c:356 +msgid "skip next block of included text" +msgstr "" + +#: src/lang.c:357 +msgid "toggle display of sections hidden by a form-feed (^L) on/off" +msgstr "" + +#: src/lang.c:358 +#, fuzzy +msgid "toggle display of all headers" +msgstr "slÃ¥ visning af alle/valgte artikler til/fra" + +#: src/lang.c:359 +msgid "toggle word highlighting on/off" +msgstr "" + +#: src/lang.c:360 +msgid "toggle ROT-13 (basic decode) for current article" +msgstr "" + +#: src/lang.c:361 +msgid "toggle tabwidth 4 <-> 8" +msgstr "" + +#: src/lang.c:362 +msgid "toggle german TeX style decoding for current article" +msgstr "" + +#: src/lang.c:363 +msgid "toggle display of uuencoded sections" +msgstr "" + +#: src/lang.c:364 +msgid "View/pipe/save multimedia attachments" +msgstr "" + +#: src/lang.c:365 +#, fuzzy +msgid "choose first attachment in list" +msgstr "vælg første artikel i listen" + +#: src/lang.c:366 +#, fuzzy +msgid "0 - 9\t choose attachment by number" +msgstr "0 - 9\t vælg trÃ¥d efter nummer" + +#: src/lang.c:367 +#, fuzzy +msgid "choose last attachment in list" +msgstr "vælg sidste artikel i listen" + +#: src/lang.c:369 +msgid "pipe attachment into command" +msgstr "" + +#: src/lang.c:370 +#, fuzzy +msgid "pipe raw attachment into command" +msgstr "Kommandoer for attributmenu" + +#: src/lang.c:372 +msgid "save attachment to disk" +msgstr "" + +#: src/lang.c:373 +#, fuzzy +msgid "search for attachments forwards" +msgstr "søg efter artikler fremad efter forfatter" + +#: src/lang.c:374 +#, fuzzy +msgid "search for attachments backwards" +msgstr "søg efter artikler baglæns efter forfatter" + +#: src/lang.c:375 +msgid "view attachment" +msgstr "" + +#: src/lang.c:376 +#, fuzzy +msgid "tag attachment" +msgstr "Vælg artikel> " + +#: src/lang.c:377 +#, fuzzy +msgid "tag attachments that match user specified pattern" +msgstr "vælg trÃ¥de som svarer til brugerangivet mønster" + +#: src/lang.c:378 +msgid "reverse tagging on all attachments (toggle)" +msgstr "" + +#: src/lang.c:379 +#, fuzzy +msgid "untag all tagged attachments" +msgstr "Vælg artikel> " + +#: src/lang.c:380 +#, fuzzy +msgid "toggle info message in last line (name/description of attachment)" +msgstr "slÃ¥ infobesked i sidste linje til/fra (emne/beskrivelse)" + +#: src/lang.c:381 +msgid "choose first attribute in list" +msgstr "vælg første attribut i listen" + +#: src/lang.c:382 +#, fuzzy +msgid "0 - 9\t choose attribute by number" +msgstr "0 - 9\t vælg trÃ¥d efter nummer" + +#: src/lang.c:383 +msgid "choose last attribute in list" +msgstr "vælg sidste attribut i listen" + +#: src/lang.c:384 +msgid "reset attribute to a default value" +msgstr "" + +#: src/lang.c:385 +msgid "search forwards for an attribute" +msgstr "søg fremad efter en attribut" + +#: src/lang.c:386 +msgid "search backwards for an attribute" +msgstr "søg baglæns efter en attribut" + +#: src/lang.c:387 +msgid "select attribute" +msgstr "vælg attribut" + +#: src/lang.c:388 +msgid "toggle back to options menu when invoked from there" +msgstr "" + +#: src/lang.c:389 +#, c-format +msgid "report bug or comment via mail to %s" +msgstr "" + +#: src/lang.c:390 +msgid "choose first option in list" +msgstr "vælg første indstilling i listen" + +#: src/lang.c:391 +msgid "0 - 9\t choose option by number" +msgstr "0 - 9\t vælg indstilling efter nummer" + +#: src/lang.c:392 +msgid "choose last option in list" +msgstr "vælg sidste indstilling i listen" + +#: src/lang.c:393 +msgid "start scopes menu" +msgstr "start virkefeltmenu" + +#: src/lang.c:394 +msgid "search forwards for an option" +msgstr "søg fremad efter en indstilling" + +#: src/lang.c:395 +msgid "search backwards for an option" +msgstr "søg baglæns efter en indstilling" + +#: src/lang.c:396 +msgid "select option" +msgstr "vælg indstilling" + +#: src/lang.c:397 +msgid "toggle to attributes menu" +msgstr "" + +#: src/lang.c:398 +msgid "choose range of articles to be affected by next command" +msgstr "" + +#: src/lang.c:399 +msgid "escape from command prompt" +msgstr "" + +#: src/lang.c:400 +msgid "edit filter file" +msgstr "rediger filterfil" + +#: src/lang.c:401 +msgid "get help" +msgstr "fÃ¥ hjælp" + +#: src/lang.c:402 +msgid "display last article viewed" +msgstr "vis den sidst viste artikel" + +#: src/lang.c:403 +msgid "down one line" +msgstr "en linje ned" + +#: src/lang.c:404 +msgid "up one line" +msgstr "en linje op" + +#: src/lang.c:405 +msgid "go to article chosen by Message-ID" +msgstr "gÃ¥ til artikel valgt efter besked-id" + +#: src/lang.c:406 +msgid "mail article/thread/hot/pattern/tagged articles to someone" +msgstr "send artikel/trÃ¥d/populær/mønster/mærkede artikler til nogen" + +#: src/lang.c:407 +msgid "menu of configurable options" +msgstr "menu med konfigurerbare indstillinger" + +#: src/lang.c:408 +msgid "down one page" +msgstr "en side ned" + +#: src/lang.c:409 +msgid "up one page" +msgstr "en side ned" + +#: src/lang.c:411 +msgid "post (write) article to current group" +msgstr "send (skriv) artikel til aktuel gruppe" + +#: src/lang.c:412 +msgid "post postponed articles" +msgstr "send udskudte artikler" + +#: src/lang.c:414 +msgid "list articles posted by you (from posted file)" +msgstr "vis artikler sendt af dig (fra sendtfil)" + +#: src/lang.c:415 +msgid "return to previous menu" +msgstr "returner til forrige menu" + +#: src/lang.c:416 +msgid "quit tin immediately" +msgstr "afslut tin øjbelikkeligt" + +#: src/lang.c:417 +msgid "redraw page" +msgstr "genskriv side" + +#: src/lang.c:418 +msgid "save article/thread/hot/pattern/tagged articles to file" +msgstr "gem artikel/trÃ¥d/populær/mønster/mærkede artikler til fil" + +#: src/lang.c:419 +msgid "save marked articles automatically without user prompts" +msgstr "gem automatisk markerede artikler uden brugerindgreb" + +#: src/lang.c:420 +msgid "scroll the screen one line down" +msgstr "rul skærmen en linje ned" + +#: src/lang.c:421 +msgid "scroll the screen one line up" +msgstr "rul skærmen en linje op" + +#: src/lang.c:422 +msgid "search for articles by author backwards" +msgstr "søg efter artikler baglæns efter forfatter" + +#: src/lang.c:423 +msgid "search for articles by author forwards" +msgstr "søg efter artikler fremad efter forfatter" + +#: src/lang.c:424 +msgid "search all articles for a given string (this may take some time)" +msgstr "søg i alle artikler efter en angivet streng (dette kan tage lang tid)" + +#: src/lang.c:425 +msgid " \t (searches are case-insensitive and wrap around to all articles)" +msgstr " \t (søgning er uafhængigt af store/smÃ¥ bogstaver og omhandler alle artikler)" + +#: src/lang.c:426 +msgid "search for articles by Subject line backwards" +msgstr "søg efter artikler baglæns per emnelinje" + +#: src/lang.c:427 +msgid "search for articles by Subject line forwards" +msgstr "søg efter artikler forlæns per emnelinje" + +#: src/lang.c:428 +msgid "repeat last search" +msgstr "gentag sidste søgning" + +#: src/lang.c:429 +msgid "tag current article for reposting/mailing/piping/printing/saving" +msgstr "mærk aktuel artikel til gensending/postudsendelse/piping/udskrivning/gemning" + +#: src/lang.c:430 +msgid "toggle info message in last line (subject/description)" +msgstr "slÃ¥ infobesked i sidste linje til/fra (emne/beskrivelse)" + +#: src/lang.c:431 +msgid "toggle inverse video" +msgstr "slÃ¥ omvendt video til/fra" + +#: src/lang.c:432 +msgid "toggle mini help menu display" +msgstr "slÃ¥ minihjælpens menuvisning til/fra" + +#: src/lang.c:433 +msgid "cycle the display of authors email address, real name, both or neither" +msgstr "" + +#: src/lang.c:434 +msgid "show version information" +msgstr "vis versioninformation" + +#: src/lang.c:435 +msgid "mark all articles as read and return to group selection menu" +msgstr "marker alle artikler som læst og returner til gruppeudvælgelsesmenu" + +#: src/lang.c:436 +msgid "mark all articles as read and enter next group with unread articles" +msgstr "marker alle artikler som læst og gÃ¥ videre til næste gruppe med ulæste " + "artikler" + +#: src/lang.c:437 +msgid "choose first thread in list" +msgstr "vælg første trÃ¥d i listen" + +#: src/lang.c:438 +msgid "choose last thread in list" +msgstr "vælg sidste trÃ¥d i listen" + +#: src/lang.c:439 +msgid "list articles within current thread (bring up Thread sub-menu)" +msgstr "vis artikler indenfor aktuel trÃ¥d (hent undertrÃ¥dsmenuen frem)" + +#: src/lang.c:440 +msgid "mark article as unread" +msgstr "marker artikel som ulæst" + +#: src/lang.c:441 +#, fuzzy +msgid "mark current thread, range or tagged threads as read" +msgstr "marker aktuel trÃ¥d eller mærkede trÃ¥de som læst" + +#: src/lang.c:442 +#, fuzzy +msgid "mark current thread, range or tagged threads as unread" +msgstr "marker aktuel trÃ¥d eller mærkede trÃ¥de som læst" + +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "" + +#: src/lang.c:445 +msgid "toggle display of all/selected articles" +msgstr "slÃ¥ visning af alle/valgte artikler til/fra" + +#: src/lang.c:446 +msgid "display next group" +msgstr "vis næste gruppe" + +#: src/lang.c:447 +msgid "display previous group" +msgstr "vis forrige gruppe" + +#: src/lang.c:448 +msgid "toggle all selections (all articles)" +msgstr "slÃ¥ alle valg (alle artikler) til/fra" + +#: src/lang.c:449 +msgid "select group (make \"hot\")" +msgstr "vælg gruppe (gør »populær«)" + +#: src/lang.c:450 +msgid "select thread" +msgstr "vælg trÃ¥d" + +#: src/lang.c:451 +msgid "select threads if at least one unread article is selected" +msgstr "vælg trÃ¥de hvis mindst en ulæst artikel er valgt" + +#: src/lang.c:452 +msgid "select threads that match user specified pattern" +msgstr "vælg trÃ¥de som svarer til brugerangivet mønster" + +#: src/lang.c:453 +msgid "tag all parts of current multipart-message in order" +msgstr "" + +#: src/lang.c:454 +msgid "0 - 9\t choose thread by number" +msgstr "0 - 9\t vælg trÃ¥d efter nummer" + +#: src/lang.c:455 +msgid "toggle limit number of articles to get, and reload" +msgstr "" + +#: src/lang.c:456 +msgid "toggle display of all/unread articles" +msgstr "" + +#: src/lang.c:457 +msgid "toggle selection of thread" +msgstr "" + +#: src/lang.c:458 +msgid "cycle through threading options available" +msgstr "" + +#: src/lang.c:459 +msgid "undo all selections (all articles)" +msgstr "" + +#: src/lang.c:460 +msgid "untag all tagged threads" +msgstr "" + +#: src/lang.c:461 +msgid "add new scope" +msgstr "tilføj nyt virkefelt" + +#: src/lang.c:462 +msgid "delete scope" +msgstr "slet virkefelt" + +#: src/lang.c:463 +msgid "edit attributes file" +msgstr "rediger attributfil" + +#: src/lang.c:464 +msgid "choose first scope in list" +msgstr "vælg første virkefelt i listen" + +#: src/lang.c:465 +msgid "0 - 9\t choose scope by number" +msgstr "0 - 9\t vælg virkefelt efter nummer" + +#: src/lang.c:466 +msgid "choose last scope in list" +msgstr "vælg sidste virkefelt i listen" + +#: src/lang.c:467 +msgid "move scope" +msgstr "flyt virkefelt" + +#: src/lang.c:468 +msgid "rename scope" +msgstr "omdøb virkefelt" + +#: src/lang.c:469 +msgid "select scope" +msgstr "vælg virkefelt" + +#: src/lang.c:470 +msgid "mark all articles in group as read" +msgstr "marker alle artikler i gruppe som læst" + +#: src/lang.c:471 +msgid "mark all articles in group as read and move to next unread group" +msgstr "marker alle artikler i gruppe som læst og flyt til næste ulæste gruppe" + +#: src/lang.c:472 +msgid "choose first group in list" +msgstr "vælg første gruppe i listen" + +#: src/lang.c:473 +msgid "choose group by name" +msgstr "vælg gruppe efter navn" + +#: src/lang.c:474 +msgid "0 - 9\t choose group by number" +msgstr "0 - 9\t vælg gruppe efter nummer" + +#: src/lang.c:475 +msgid "choose range of groups to be affected by next command" +msgstr "" + +#: src/lang.c:476 +msgid "choose last group in list" +msgstr "vælg sidste gruppe i listen" + +#: src/lang.c:477 +msgid "mark all articles in chosen group unread" +msgstr "marker alle artikler i valgt gruppe som ulæste" + +#: src/lang.c:478 +msgid "move chosen group within list" +msgstr "flyt valgt gruppe indenfor listen" + +#: src/lang.c:479 +msgid "choose next group with unread news" +msgstr "vælg næste gruppe med ulæste nyheder" + +#: src/lang.c:480 src/lang.c:1351 +msgid "quit" +msgstr "afslut" + +#: src/lang.c:481 +msgid "quit without saving configuration changes" +msgstr "afslut uden at gemme konfigurationsændringer" + +#: src/lang.c:482 +msgid "read chosen group" +msgstr "læs valgt gruppe" + +#: src/lang.c:483 +msgid "reset .newsrc (all available articles in groups marked unread)" +msgstr "" + +#: src/lang.c:484 +msgid "search backwards for a group name" +msgstr "søg baglæns efter et gruppenavn" + +#: src/lang.c:485 +msgid " \t (all searches are case-insensitive and wrap around)" +msgstr "" + +#: src/lang.c:486 +msgid "search forwards for a group name" +msgstr "søg fremad efter et gruppenavn" + +#: src/lang.c:487 +msgid "subscribe to chosen group" +msgstr "abonner pÃ¥ valgt gruppe" + +#: src/lang.c:488 +msgid "subscribe to groups that match pattern" +msgstr "abonner pÃ¥ grupper som stemmer overens med mønster" + +#: src/lang.c:489 +msgid "reread active file to check for any new news" +msgstr "genlæste aktiv fil for at tjekke for nye nyheder" + +#: src/lang.c:490 +msgid "toggle display of group name only or group name plus description" +msgstr "" + +#: src/lang.c:491 +msgid "toggle display to show all/unread subscribed groups" +msgstr "" + +#: src/lang.c:492 +msgid "unsubscribe from chosen group" +msgstr "" + +#: src/lang.c:493 +msgid "unsubscribe from groups that match pattern" +msgstr "" + +#: src/lang.c:494 +msgid "sort the list of groups" +msgstr "sorter gruppelisten" + +#: src/lang.c:495 +msgid "toggle display to show all/subscribed groups" +msgstr "" + +#: src/lang.c:496 +msgid "0 - 9\t choose article by number" +msgstr "" + +#: src/lang.c:497 +msgid "mark thread as read and return to group index page" +msgstr "" + +#: src/lang.c:498 +msgid "mark thread as read and enter next unread thread or group" +msgstr "" + +#: src/lang.c:499 +msgid "choose first article in list" +msgstr "vælg første artikel i listen" + +#: src/lang.c:500 +msgid "choose last article in list" +msgstr "vælg sidste artikel i listen" + +#: src/lang.c:501 +msgid "mark art, range or tagged arts as read; move crsr to next unread art" +msgstr "" + +#: src/lang.c:502 +msgid "mark article, range or tagged articles as unread" +msgstr "marker artikel, interval eller mærkede trÃ¥de som ulæste" + +#: src/lang.c:503 +msgid "mark current thread as unread" +msgstr "marker aktuel trÃ¥d som ulæst" + +#: src/lang.c:504 +msgid "read chosen article" +msgstr "læs valgt artikel" + +#: src/lang.c:505 +msgid "Display properties\n" + "------------------" +msgstr "Vis egenskaber\n" + "--------------" + +#: src/lang.c:506 +msgid "Miscellaneous\n" + "-------------" +msgstr "Diverse\n" + "-------" + +#: src/lang.c:507 +msgid "Moving around\n" + "-------------" +msgstr "" + +#: src/lang.c:508 +msgid "Group/thread/article operations\n" + "-------------------------------" +msgstr "" + +#: src/lang.c:509 +#, fuzzy +msgid "Attachment operations\n" + "---------------------" +msgstr "Virkefeltshandlinger\n" + "--------------------" + +#: src/lang.c:510 +msgid "Attribute operations\n" + "--------------------" +msgstr "" + +#: src/lang.c:511 +msgid "Option operations\n" + "-----------------" +msgstr "" + +#: src/lang.c:512 +msgid "Scope operations\n" + "----------------" +msgstr "Virkefeltshandlinger\n" + "--------------------" + +#: src/lang.c:513 +#, fuzzy +msgid "URL operations\n" + "--------------" +msgstr "Virkefeltshandlinger\n" + "--------------------" + +#: src/lang.c:514 +#, fuzzy +msgid "choose first URL in list" +msgstr "vælg første virkefelt i listen" + +#: src/lang.c:515 +#, fuzzy +msgid "0 - 9\t choose URL by number" +msgstr "0 - 9\t vælg virkefelt efter nummer" + +#: src/lang.c:516 +#, fuzzy +msgid "choose last URL in list" +msgstr "vælg sidste virkefelt i listen" + +#: src/lang.c:517 +#, fuzzy +msgid "search for URLs forwards" +msgstr "søg efter artikler fremad efter forfatter" + +#: src/lang.c:518 +#, fuzzy +msgid "search for URLs backwards" +msgstr "søg efter artikler baglæns efter forfatter" + +#: src/lang.c:519 +msgid "Open URL in browser" +msgstr "" + +#: src/lang.c:520 +#, fuzzy +msgid "toggle info message in last line (URL)" +msgstr "slÃ¥ infobesked i sidste linje til/fra (emne/beskrivelse)" + +#: src/lang.c:522 +msgid "Group Level Commands" +msgstr "Kommandoer for gruppeniveau" + +#: src/lang.c:523 +msgid "Kill filter added" +msgstr "" + +#: src/lang.c:524 +msgid "Auto-selection filter added" +msgstr "" + +#: src/lang.c:525 +msgid "All parts tagged" +msgstr "" + +#: src/lang.c:526 +msgid "Storing article for later posting" +msgstr "" + +#: src/lang.c:527 +msgid "Please enter a valid character" +msgstr "" + +#: src/lang.c:528 +#, c-format +msgid "Missing part #%d" +msgstr "" + +#: src/lang.c:529 +msgid "*** No postponed articles ***" +msgstr "" + +#: src/lang.c:530 +msgid "Not a multi-part message" +msgstr "" + +#: src/lang.c:531 +msgid "You are not subscribed to this group" +msgstr "" + +#: src/lang.c:532 +msgid "No previous expression" +msgstr "" + +#: src/lang.c:533 +msgid "Operation disabled in no-overwrite mode" +msgstr "" + +#. TODO: replace hardcoded key-name in txt_info_postponed +#: src/lang.c:535 +#, c-format +msgid "%d postponed %s, reuse with ^O...\n" +msgstr "" + +#: src/lang.c:536 +msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" + " To get the whole article, turn alternative handling OFF in the Option Menu\n" +msgstr "" + +#: src/lang.c:538 +#, c-format +msgid "Save filename for %s/%s is a mailbox. Attachment not saved" +msgstr "" + +#: src/lang.c:539 +msgid "TeX2Iso encoded article" +msgstr "" + +#: src/lang.c:540 +msgid "incomplete " +msgstr "" + +#. TODO: replace hardcoded key-names +#: src/lang.c:542 +#, c-format +msgid "\n" + "Welcome to %s, a full screen threaded Netnews reader. It can read news " + "locally\n" + "(ie. /news) or remotely (-r option) from a NNTP (Network News " + "Transport\n" + "Protocol) server. -h lists the available command line options.\n" + "\n" + "%s has four newsreading levels, the newsgroup selection page, the group " + "index\n" + "page, the thread listing page and the article viewer. Help is available at " + "each\n" + "level by pressing the 'h' command.\n" + "\n" + "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " + "or\n" + "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" + "\n" + "Articles, threads, tagged articles or articles matching a pattern can be " + "mailed\n" + "('m' command), printed ('o' command), saved ('s' command), piped ('|' " + "command).\n" + "Use the 'w' command to post a news article, the 'f'/'F' commands to post " + "a\n" + "follow-up to an existing news article and the 'r'/'R' commands to reply " + "via\n" + "mail to an existing news article author. The 'M' command allows the " + "operation\n" + "of %s to be configured via a menu.\n" + "\n" + "For more information read the manual page, README, INSTALL, TODO and FTP " + "files.\n" + "Please send bug-reports/comments to %s with the 'R' command.\n" +msgstr "" + +#: src/lang.c:558 +#, c-format +msgid "Invalid From: %s line. Read the INSTALL file again." +msgstr "" + +#: src/lang.c:560 +msgid "Invalid multibyte sequence found\n" +msgstr "" + +#: src/lang.c:563 +#, c-format +msgid "Invalid Sender:-header %s" +msgstr "" + +#: src/lang.c:565 +msgid "Inverse video disabled" +msgstr "" + +#: src/lang.c:566 +msgid "Inverse video enabled" +msgstr "" + +#: src/lang.c:568 +#, c-format +msgid "Missing definition for %s\n" +msgstr "Mangler definition for %s\n" + +#: src/lang.c:569 +#, c-format +msgid "Invalid key definition '%s'\n" +msgstr "Ugyldig nøgledefinition '%s'\n" + +#: src/lang.c:570 +#, c-format +msgid "Invalid keyname '%s'\n" +msgstr "Ugylidg nøglenavn '%s'\n" + +#: src/lang.c:571 +#, c-format +msgid "Keymap file was upgraded to version %s\n" +msgstr "Nøglekortfil blev opgraderet til version %s\n" + +# Hmm, sÃ¥ er spørgsmÃ¥let jo sÃ¥, nÃ¥r der er sÃ¥dan et tilfældigt antal +# mellemrum efter : og positionen af : skal bevares i oversættelsen, det +# er svært at vide nÃ¥r der ikke er nogen kommentarer +#: src/lang.c:572 +#, c-format +msgid "Kill From: [%s] (y/n): " +msgstr "Dræb fra: [%s] (j/n): " + +#: src/lang.c:573 +msgid "Kill Lines: (num): " +msgstr "Dræb linjer: (num): " + +#: src/lang.c:574 +msgid "Kill Article Menu" +msgstr "Dræb artikelmenu" + +#: src/lang.c:575 +#, c-format +msgid "Kill Msg-Id: [%s] (f/l/o/n): " +msgstr "Dræb Msg-Id: [%s] (f/l/o/n): " + +#: src/lang.c:576 +msgid "Kill pattern scope : " +msgstr "Dræb mønstervirkefelt : " + +#: src/lang.c:577 +#, c-format +msgid "Kill Subject: [%s] (y/n): " +msgstr "Dræb emne: [%s] (j/n): " + +#: src/lang.c:578 +msgid "Kill text pattern : " +msgstr "Dræb tekstmønster : " + +#: src/lang.c:579 +msgid "Kill time in days : " +msgstr "Dræb tidspunkt pÃ¥ dagen : " + +#: src/lang.c:581 +msgid "Last" +msgstr "Sidste" + +#: src/lang.c:582 +msgid "-- Last response --" +msgstr "-- Sidste svar --" + +#: src/lang.c:583 +#, c-format +msgid "Lines %s " +msgstr "Linjer %s " + +#: src/lang.c:585 +msgid "Mail" +msgstr "Post" + +#: src/lang.c:586 +msgid "mailbox " +msgstr "postkasse " + +#: src/lang.c:587 +#, c-format +msgid "Mail article(s) to [%.*s]> " +msgstr "Send artikel(er) til [%.*s]> " + +#: src/lang.c:588 +#, c-format +msgid "Mailing log to %s\n" +msgstr "Sender log til %s\n" + +#: src/lang.c:589 +msgid "Mail bug report..." +msgstr "Send fejlrapport..." + +#: src/lang.c:590 +#, c-format +msgid "Mail BUG REPORT to %s?" +msgstr "Send FEJLRAPPORT til %s?" + +#: src/lang.c:591 +msgid "Mailed" +msgstr "Sendt" + +#: src/lang.c:592 +#, c-format +msgid "Mailing to %s..." +msgstr "Sender til %s..." + +#: src/lang.c:593 +msgid "# [Mail/Save] active file. Format is like news active file:\n" + "# groupname max.artnum min.artnum /dir\n" + "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" + "#\n" +msgstr "" + +#: src/lang.c:596 +#, c-format +msgid "%s marked as read" +msgstr "%s markeret som læst" + +#: src/lang.c:597 +#, c-format +msgid "%s marked as unread" +msgstr "%s markeret som ulæst" + +#: src/lang.c:598 +#, c-format +msgid "Marked %d of %d %s as read" +msgstr "Markerede %d af %d %s som læst" + +#: src/lang.c:599 +#, c-format +msgid "Marked %d of %d %s as unread" +msgstr "Markerede %d af %d %s som ulæste" + +#: src/lang.c:600 src/lang.c:1321 +msgid "Mark" +msgstr "" + +#: src/lang.c:601 +#, c-format +msgid "Mark all articles as read%s?" +msgstr "Mærk alle artikler som læst%s?" + +#: src/lang.c:602 +#, c-format +msgid "Mark article as read%s?" +msgstr "Marker alle artikler som læst%s?" + +#: src/lang.c:603 +#, c-format +msgid "Mark group %s as read?" +msgstr "Marker gruppe %s som læst?" + +#: src/lang.c:604 +#, c-format +msgid "Mark thread as read%s?" +msgstr "Marker trÃ¥d som læst%s" + +#: src/lang.c:605 +#, c-format +msgid "Matching %s groups..." +msgstr "Sammenligner %s grupper..." + +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 +#, fuzzy, c-format +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "=angiv nuværende som n; %s=næste ulæst; %s=søgemønster; %s=dræb/vælg" + +#: src/lang.c:608 +#, fuzzy, c-format +msgid "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=linje ned; %s=linje op; %s=hjælp; %s=flyt; %s=afslut; %s=slÃ¥ alle/ulæste " + "til/fra" + +#: src/lang.c:610 +#, fuzzy, c-format +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=linje ned; %s=linje op; %s=hjælp; %s=flyt; %s=afslut; %s=slÃ¥ alle/ulæste " + "til/fra" + +#: src/lang.c:612 +#, fuzzy, c-format +msgid "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=søg fremad; %s=søg bagud; %s=afslut" + +#: src/lang.c:613 src/lang.c:617 +#, c-format +msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" +msgstr "=angiv nuværende som n; %s=næste ulæst; %s=søgemønster; %s=dræb/vælg" + +#: src/lang.c:614 +#, c-format +msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " + "thread" +msgstr "%s=forfattersøgning; %s=opsamling; %s=linje ned; %s=linje op; %s=marker som " + "læst; %s=vis trÃ¥d" + +#: src/lang.c:615 +#, c-format +msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" +msgstr "%s=linje op; %s=linje ned; %s=side op; %s=side ned; %s=top; %s=bund" + +#: src/lang.c:616 +#, c-format +msgid "%s=search forwards; %s=search backwards; %s=quit" +msgstr "%s=søg fremad; %s=søg bagud; %s=afslut" + +#: src/lang.c:618 +#, c-format +msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" +msgstr "%s=forfattersøgning; %s=indholdssøgning; %s=opsamling; %s=opfølgning; %" + "s=marker som læst" + +#: src/lang.c:619 +#, c-format +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "" + +#: src/lang.c:621 +#, c-format +msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" +msgstr "=angiv nuværende som n; %s=næste ulæst; %s,%s=søgemønster; %s=opsamling" + +#: src/lang.c:622 +#, c-format +msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" +msgstr "%s=linje ned; %s=linje op; %s=hjælp; %s=flyt; %s=afslut; %s=slÃ¥ alle/ulæste " + "til/fra" + +#: src/lang.c:623 +#, c-format +msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" +msgstr "%s=abonner; %s=undermønster; %s=slut abonnement; %s=fjern undermønster; %" + "s=ryk ind/ud" + +#: src/lang.c:624 +#, c-format +msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" +msgstr "" + +#: src/lang.c:625 +#, c-format +msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" +msgstr "" + +#: src/lang.c:627 +#, fuzzy, c-format +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=søg fremad; %s=søg bagud; %s=afslut" + +#: src/lang.c:628 +msgid "--More--" +msgstr "" + +#: src/lang.c:629 +#, c-format +msgid "Moving %s..." +msgstr "" + +#: src/lang.c:630 +msgid "Message-ID: & last Reference " +msgstr "" + +#: src/lang.c:631 +msgid "Message-ID: line " +msgstr "" + +#: src/lang.c:632 +msgid "Message-ID: & References: line" +msgstr "" + +#: src/lang.c:634 +msgid ", name: " +msgstr ", navn: " + +#: src/lang.c:635 +#, c-format +msgid "Go to newsgroup [%s]> " +msgstr "GÃ¥ til nyhedsgruppe [%s]> " + +#: src/lang.c:636 +msgid "newsgroups" +msgstr "nyhedsgrupper" + +#: src/lang.c:637 +#, c-format +msgid "Position %s in group list (1,2,..,$) [%d]> " +msgstr "" + +#: src/lang.c:638 +msgid "newsgroup" +msgstr "nyhedsgruppe" + +#: src/lang.c:639 +msgid "Try and save newsrc file again?" +msgstr "Forsøg at gemme newsrc-fil igen?" + +#: src/lang.c:640 +msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." +msgstr "Advarsel: Ingen nyhedsgrupper blev skrevet til din newsrc-fil. Afbrudt." + +#: src/lang.c:641 +msgid "newsrc file saved successfully.\n" +msgstr "newsrc-fil blev gemt.\n" + +#: src/lang.c:642 +msgid "-- Next response --" +msgstr "-- Næste svar --" + +#: src/lang.c:643 +msgid "No " +msgstr "Nej " + +#: src/lang.c:644 +msgid "*** No articles ***" +msgstr "*** Ingen artikler ***" + +#: src/lang.c:645 +msgid "No articles have been posted" +msgstr "Ingen artikler er udgivet" + +#: src/lang.c:646 +#, fuzzy +msgid "*** No attachments ***" +msgstr "*** Ingen artikler ***" + +#: src/lang.c:647 +msgid "*** No description ***" +msgstr "*** Ingen beskrivelse ***" + +#: src/lang.c:648 +msgid "No filename" +msgstr "Intet filnavn" + +#: src/lang.c:649 +msgid "No group" +msgstr "Ingen gruppe" + +#: src/lang.c:650 +msgid "*** No groups ***" +msgstr "*** Ingen grupper ***" + +#: src/lang.c:651 +msgid "No more groups to read" +msgstr "Ikke flere grupper der kan læses" + +#: src/lang.c:652 +msgid "No last message" +msgstr "Ingen sidste besked" + +#: src/lang.c:653 +msgid "No mail address" +msgstr "Ingen e-post-adresse" + +#: src/lang.c:654 +msgid "No articles marked for saving" +msgstr "Ingen artikler markeret til gemning" + +#: src/lang.c:655 +msgid "No match" +msgstr "Intet resultat" + +#: src/lang.c:656 +msgid "No more groups" +msgstr "Ikke flere grupper" + +#: src/lang.c:657 +msgid "No newsgroups" +msgstr "Ingen nyhedsgrupper" + +#: src/lang.c:658 +msgid "No next unread article" +msgstr "Ingen næste ulæst artikel" + +#: src/lang.c:659 +msgid "No previous group" +msgstr "Ingen forrige gruppe" + +#: src/lang.c:660 +msgid "No previous search, nothing to repeat" +msgstr "" + +#: src/lang.c:661 +msgid "No previous unread article" +msgstr "Ingen forrige ulæst artikel" + +#: src/lang.c:662 +msgid "No responses" +msgstr "Ingen svar" + +#: src/lang.c:663 +msgid "No responses to list in current thread" +msgstr "Ingen svar at vise i aktuel trÃ¥d" + +#: src/lang.c:664 +msgid "*** No scopes ***" +msgstr "*** Ingen virkefelter ***" + +#: src/lang.c:665 +msgid "No search string" +msgstr "Ingen søgestreng" + +#: src/lang.c:666 +msgid "No subject" +msgstr "Intet emne" + +#: src/lang.c:668 +#, c-format +msgid "%s: Terminal must have clear to end-of-line (ce)\n" +msgstr "" + +#: src/lang.c:669 +#, c-format +msgid "%s: Terminal must have clear to end-of-screen (cd)\n" +msgstr "" + +#: src/lang.c:670 +#, c-format +msgid "%s: Terminal must have clearscreen (cl) capability\n" +msgstr "" + +#: src/lang.c:671 +#, c-format +msgid "%s: Terminal must have cursor motion (cm)\n" +msgstr "" + +#: src/lang.c:672 +#, c-format +msgid "%s: TERM variable must be set to use screen capabilities\n" +msgstr "" + +#: src/lang.c:674 +#, c-format +msgid "No viewer found for %s/%s\n" +msgstr "" + +#: src/lang.c:675 +msgid "Newsgroup does not exist on this server" +msgstr "Nyhedsgruppe eksisterer ikke pÃ¥ denne server" + +#: src/lang.c:676 +#, c-format +msgid "Group %s not found in active file" +msgstr "Gruppe %s blev ikke fundet i aktiv fil" + +#: src/lang.c:677 +msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "" + +#: src/lang.c:678 +msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "" + +#: src/lang.c:679 +#, c-format +msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" + "# shortname list for %s %s\n" + "#\n" + "# the format of this file is\n" + "# ...\n" + "#\n" + "# if is given without path, $HOME is assumed as its location\n" + "#\n" + "# examples:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" +msgstr "" + +#: src/lang.c:686 +msgid "Only" +msgstr "Kun" + +#: src/lang.c:687 +#, c-format +msgid "Option not enabled. Recompile with %s." +msgstr "Indstilling ikke slÃ¥et til. Rekompiler med %s." + +#: src/lang.c:688 +msgid "Options Menu" +msgstr "Indstillingsmenu" + +#: src/lang.c:689 +#, fuzzy +msgid "Options Menu Commands" +msgstr "Indstillingsmenu" + +#: src/lang.c:692 +#, c-format +msgid "Error in regex: %s at pos. %d '%s'" +msgstr "" + +#: src/lang.c:693 +#, c-format +msgid "Error in regex: pcre internal error %d" +msgstr "" + +#: src/lang.c:694 +#, c-format +msgid "Error in regex: study - pcre internal error %s" +msgstr "" + +#: src/lang.c:695 +msgid "Post a followup..." +msgstr "" + +#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone +#: src/lang.c:697 +msgid "An error has occurred while posting the article. If you think that this\n" + "error is temporary or otherwise correctable, you can postpone the article\n" + "and pick it up again with ^O later.\n" +msgstr "" + +#: src/lang.c:700 +msgid "Posted articles history" +msgstr "" + +#: src/lang.c:701 +#, c-format +msgid "Post to newsgroup(s) [%s]> " +msgstr "Send til nyhedsgruppe(r) [%s]> " + +#: src/lang.c:702 +msgid "-- post processing started --" +msgstr "" + +#: src/lang.c:703 +msgid "-- post processing completed --" +msgstr "" + +#: src/lang.c:704 +#, c-format +msgid "Post subject [%s]> " +msgstr "" + +#: src/lang.c:705 +msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" +msgstr "" + +#: src/lang.c:706 +msgid "Posting article..." +msgstr "" + +#: src/lang.c:707 +#, c-format +msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " +msgstr "" + +#: src/lang.c:708 +#, c-format +msgid "Hot %s" +msgstr "" + +#: src/lang.c:709 +#, c-format +msgid "Tagged %s" +msgstr "" + +#: src/lang.c:710 +#, c-format +msgid "Untagged %s" +msgstr "" + +#: src/lang.c:711 +msgid "Processing mail messages marked for deletion." +msgstr "" + +#: src/lang.c:712 +msgid "Processing saved articles marked for deletion." +msgstr "" + +#: src/lang.c:713 +#, c-format +msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " +msgstr "" + +#: src/lang.c:714 +msgid "Article unchanged, abort mailing?" +msgstr "" + +#: src/lang.c:715 +#, c-format +msgid "Do you want to see postponed articles (%d)?" +msgstr "" + +#: src/lang.c:717 +msgid "Add quick kill filter?" +msgstr "" + +#: src/lang.c:718 +msgid "Add quick selection filter?" +msgstr "" + +#: src/lang.c:719 +msgid "Do you really want to quit?" +msgstr "" + +#: src/lang.c:720 +#, c-format +msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " +msgstr "" + +#: src/lang.c:721 +msgid "You have tagged articles in this group - quit anyway?" +msgstr "" + +#: src/lang.c:722 +#, c-format +msgid "%s=quit, %s=edit, %s=postpone: " +msgstr "" + +#: src/lang.c:723 +#, c-format +msgid "%s=quit %s=edit %s=save kill description: " +msgstr "" + +#: src/lang.c:724 +#, c-format +msgid "%s=quit %s=edit %s=save select description: " +msgstr "" + +#: src/lang.c:725 +msgid "Do you really want to quit without saving your configuration?" +msgstr "Ønsker du virkelig at afslutte uden at gemme din konfiguration?" + +#: src/lang.c:728 +msgid "Invalid range - valid are '0-9.$' eg. 1-$" +msgstr "Ugyldigt interval - '0-9.$' f.eks. 1-$ er gyldige" + +#: src/lang.c:730 +msgid "Do you want to abort this operation?" +msgstr "Ønsker du at afbryde denne handling?" + +#: src/lang.c:731 +msgid "Do you want to exit tin immediately?" +msgstr "Ønsker du øjeblikkeligt at afslutte tin?" + +#: src/lang.c:733 +msgid "Reading ('q' to quit)..." +msgstr "Læser ('q' for afslut)..." + +#: src/lang.c:734 +#, c-format +msgid "Reading %sarticles..." +msgstr "Læser %sartikler..." + +#: src/lang.c:735 +#, c-format +msgid "Reading %sattributes file...\n" +msgstr "" + +#: src/lang.c:736 +#, c-format +msgid "Reading %sconfig file...\n" +msgstr "" + +#: src/lang.c:737 +msgid "Reading filter file...\n" +msgstr "" + +#: src/lang.c:738 +#, c-format +msgid "Reading %s groups..." +msgstr "" + +#: src/lang.c:739 +msgid "Reading input history file...\n" +msgstr "" + +#: src/lang.c:740 +msgid "Reading keymap file...\n" +msgstr "" + +#: src/lang.c:741 +msgid "Reading groups from active file... " +msgstr "" + +#: src/lang.c:742 +msgid "Reading groups from newsrc file... " +msgstr "" + +#: src/lang.c:743 +msgid "Reading newsgroups file... " +msgstr "Læser fil med nyhedsgrupper... " + +#: src/lang.c:744 +msgid "Reading newsrc file..." +msgstr "" + +#: src/lang.c:745 +msgid "References: line " +msgstr "" + +#: src/lang.c:747 +#, c-format +msgid "(%d:%02d remaining)" +msgstr "(%d:%02d igen)" + +#: src/lang.c:749 +#, c-format +msgid "Bogus group %s removed." +msgstr "" + +#: src/lang.c:750 +msgid "Removed from the previous rule: " +msgstr "Fjernet fra den forrige regel: " + +#: src/lang.c:751 +#, c-format +msgid "Error: rename %s to %s" +msgstr "Fejl: Omdøb %s til %s" + +#: src/lang.c:752 +msgid "Reply to author..." +msgstr "Svar til forfatter..." + +#: src/lang.c:753 +msgid "Repost" +msgstr "Gensend" + +#: src/lang.c:754 +msgid "Reposting article..." +msgstr "Genindsender artikel..." + +#: src/lang.c:755 +#, c-format +msgid "Repost article(s) to group(s) [%s]> " +msgstr "Gensend artikler til grupper [%s]> " + +#: src/lang.c:756 +msgid "Reset newsrc?" +msgstr "Nulstil newsrc?" + +#: src/lang.c:757 +msgid "Responses have been directed to the following newsgroups" +msgstr "Svar er blevet sendt til de følgende nyhedsgrupper" + +#: src/lang.c:758 +#, c-format +msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " +msgstr "" + +#: src/lang.c:760 +msgid "Press to continue..." +msgstr "Tast for at fortsætte..." + +#: src/lang.c:762 +#, c-format +msgid "Select From [%s] (y/n): " +msgstr "" + +#: src/lang.c:763 +msgid "Select Lines: (num): " +msgstr "Vælg linjer: (num): " + +#: src/lang.c:764 +msgid "Auto-select Article Menu" +msgstr "" + +#: src/lang.c:765 +#, c-format +msgid "Select Msg-Id [%s] (f/l/o/n): " +msgstr "Vælg Msg-Id [%s] (f/l/o/n): " + +#: src/lang.c:766 +msgid "Select pattern scope: " +msgstr "Vælg mønstervirkefelt: " + +#: src/lang.c:767 +#, c-format +msgid "Select Subject [%s] (y/n): " +msgstr "Vælg emne [%s] (y/n): " + +#: src/lang.c:768 +msgid "Select text pattern : " +msgstr "Vælg tekstmønster : " + +#: src/lang.c:769 +msgid "Select time in days : " +msgstr "Vælg tid i dage : " + +#: src/lang.c:770 +#, c-format +msgid "# %s server configuration file\n" + "# This file was automatically saved by %s %s %s (\"%s\")\n" + "#\n" + "# Do not edit while %s is running, since all your changes to this file\n" + "# will be overwritten when you leave %s.\n" + "# Do not edit at all if you don't know what you do.\n" + "############################################################################\n" + "\n" +msgstr "" + +#: src/lang.c:776 +msgid "Showing unread groups only" +msgstr "Vis kun ulæste grupper" + +#: src/lang.c:777 +msgid "Subject: line (ignore case) " +msgstr "" + +#: src/lang.c:778 +msgid "Subject: line (case sensitive)" +msgstr "" + +#: src/lang.c:779 +msgid "Save" +msgstr "Gem" + +#: src/lang.c:780 +#, c-format +msgid "Save '%s' (%s/%s)?" +msgstr "" + +#: src/lang.c:781 +msgid "Save configuration before continuing?" +msgstr "" + +#: src/lang.c:782 +msgid "Save filename> " +msgstr "Gem filnavn> " + +#: src/lang.c:783 +msgid "Saved" +msgstr "Gemt" + +#: src/lang.c:784 +#, c-format +msgid "%4d unread (%4d hot) %s in %s\n" +msgstr "" + +#: src/lang.c:785 +#, c-format +msgid "Saved %s...\n" +msgstr "Gemt %s...\n" + +#: src/lang.c:786 +msgid "Nothing was saved" +msgstr "Intet blev gemt" + +#: src/lang.c:787 +#, c-format +msgid "\n" + "%s %d %s from %d %s\n" +msgstr "\n" + "%s %d %s fra %d %s\n" + +#: src/lang.c:788 +#, c-format +msgid "-- %s saved to %s%s --" +msgstr "-- %s gemt til %s%s --" + +#: src/lang.c:789 +#, c-format +msgid "-- %s saved to %s - %s --" +msgstr "-- %s gemt til %s - %s --" + +#: src/lang.c:790 +msgid "Saving..." +msgstr "Gemmer..." + +#: src/lang.c:791 +#, c-format +msgid "%s: Screen initialization failed" +msgstr "" + +#: src/lang.c:793 +#, c-format +msgid "%s: screen is too small\n" +msgstr "%s: Skærm er for lille\n" + +#: src/lang.c:795 +#, c-format +msgid "screen is too small, %s is exiting\n" +msgstr "" + +#: src/lang.c:796 +msgid "Delete scope?" +msgstr "Slet virkefelt?" + +#: src/lang.c:797 +msgid "Enter scope> " +msgstr "Indtast virkefelt> " + +#: src/lang.c:798 +msgid "Select new position> " +msgstr "Vælg ny placering>" + +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "Ny placering kan ikke være et globalt virkefelt" + +#: src/lang.c:800 +msgid "Global scope, operation not allowed" +msgstr "Global virkefelt, handling ikke tilladt" + +#: src/lang.c:801 +msgid "Rename scope> " +msgstr "Omdøb virkefelt> " + +#: src/lang.c:802 +msgid "Select scope> " +msgstr "Vælg virkefelt> " + +#: src/lang.c:803 +msgid "Scopes Menu" +msgstr "Virkefeltsmenu" + +#: src/lang.c:804 +msgid "Scopes Menu Commands" +msgstr "Kommandoer for virkefeltsmenu" + +#: src/lang.c:805 +#, c-format +msgid "Search backwards [%s]> " +msgstr "Søg baglæns [%s]> " + +#: src/lang.c:806 +#, c-format +msgid "Search body [%s]> " +msgstr "" + +#: src/lang.c:807 +#, c-format +msgid "Search forwards [%s]> " +msgstr "Søg fremad [%s]> " + +#: src/lang.c:808 +msgid "Searching..." +msgstr "Søger..." + +#: src/lang.c:809 +#, c-format +msgid "Searching article %d of %d ('q' to abort)..." +msgstr "Søger i artikel %d af %d ('q' for at afbryde)..." + +#: src/lang.c:810 +msgid "Select article> " +msgstr "Vælg artikel> " + +#: src/lang.c:811 +msgid "Select option number before text or use arrow keys and . 'q' to quit." +msgstr "" + +#: src/lang.c:812 +msgid "Select group> " +msgstr "Vælg gruppe> " + +#: src/lang.c:813 +#, c-format +msgid "Enter selection pattern [%s]> " +msgstr "" + +#: src/lang.c:814 +msgid "Select thread > " +msgstr "Vælg trÃ¥d > " + +#: src/lang.c:815 +#, c-format +msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" +msgstr "" + +#: src/lang.c:816 +msgid "servers active-file" +msgstr "" + +#: src/lang.c:817 +msgid "Cannot move into new newsgroups. Subscribe first..." +msgstr "" + +#: src/lang.c:818 +msgid "" +msgstr "" + +#: src/lang.c:819 +#, c-format +msgid "Starting: (%s)" +msgstr "Starter: (%s)" + +#: src/lang.c:820 +#, c-format +msgid "List Thread (%d of %d)" +msgstr "" + +#: src/lang.c:821 +#, c-format +msgid "Thread (%.*s)" +msgstr "TrÃ¥d (%.*s)" + +#: src/lang.c:822 +msgid "Enter wildcard subscribe pattern> " +msgstr "" + +#: src/lang.c:823 +#, c-format +msgid "subscribed to %d groups" +msgstr "" + +#: src/lang.c:824 +#, c-format +msgid "Subscribed to %s" +msgstr "" + +#: src/lang.c:825 +msgid "Subscribing... " +msgstr "" + +#: src/lang.c:826 +#, c-format +msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " +msgstr "" + +#: src/lang.c:827 +#, c-format +msgid "Supersede article(s) to group(s) [%s]> " +msgstr "" + +#: src/lang.c:828 +msgid "Superseding article ..." +msgstr "" + +#: src/lang.c:829 +#, c-format +msgid "\n" + "Stopped. Type 'fg' to restart %s\n" +msgstr "\n" + "Stoppet. Tast 'fg' for at genstarte %s\n" + +#: src/lang.c:831 +#, c-format +msgid "%d days" +msgstr "%d dage" + +#: src/lang.c:832 +msgid "" +msgstr "" + +#: src/lang.c:833 +msgid "TeX " +msgstr "TeX " + +#: src/lang.c:834 +msgid "# Default action/prompt strings\n" +msgstr "" + +#: src/lang.c:835 +msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" + "# 5=Message-ID: & last References: entry only\n" + "# 6=Message-ID: entry only 7=Lines:\n" + "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +msgstr "" + +#: src/lang.c:848 +msgid "# If ON use print current subject or newsgroup description in the last line\n" +msgstr "" + +#: src/lang.c:849 +msgid "# Host & time info used for detecting new groups (don't touch)\n" +msgstr "" + +#: src/lang.c:850 +msgid "There is no news\n" +msgstr "Der er ingen nyheder\n" + +#: src/lang.c:851 +msgid "Thread" +msgstr "TrÃ¥d" + +#: src/lang.c:852 +msgid "Thread Level Commands" +msgstr "Kommandoer pÃ¥ trÃ¥dniveau" + +#: src/lang.c:853 +msgid "Thread deselected" +msgstr "TrÃ¥d fravalgt" + +#: src/lang.c:854 +msgid "Thread selected" +msgstr "TrÃ¥d valgt" + +#: src/lang.c:856 +msgid "threads" +msgstr "trÃ¥de" + +#: src/lang.c:858 +msgid "thread" +msgstr "trÃ¥d" + +#: src/lang.c:859 +#, c-format +msgid "Thread %4s of %4s" +msgstr "TrÃ¥d %4s af %4s" + +#: src/lang.c:860 +msgid "Threading articles..." +msgstr "Opdeler artikler i trÃ¥de..." + +#: src/lang.c:861 +#, c-format +msgid "Toggled word highlighting %s" +msgstr "" + +#: src/lang.c:862 +msgid "Toggled rot13 encoding" +msgstr "" + +#: src/lang.c:863 +#, c-format +msgid "Toggled german TeX encoding %s" +msgstr "" + +#: src/lang.c:864 +#, c-format +msgid "Toggled tab-width to %d" +msgstr "" + +#: src/lang.c:866 +#, c-format +msgid "%d Trying to dotlock %s" +msgstr "" + +#: src/lang.c:867 +#, c-format +msgid "%d Trying to lock %s" +msgstr "" + +#: src/lang.c:869 +msgid " h=help" +msgstr " h=hjælp" + +#: src/lang.c:871 +msgid "Unlimited" +msgstr "Ubegrænset" + +#: src/lang.c:872 +msgid "Enter wildcard unsubscribe pattern> " +msgstr "" + +#: src/lang.c:873 +#, c-format +msgid "Error decoding %s : %s" +msgstr "" + +#: src/lang.c:874 +msgid "No end." +msgstr "Ingen slutning." + +#: src/lang.c:875 +#, c-format +msgid "%s successfully decoded." +msgstr "%s dekodet med succes." + +#: src/lang.c:876 +#, c-format +msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" + "\n" +msgstr "" + +#: src/lang.c:877 +msgid "unread " +msgstr "ulæst " + +#: src/lang.c:878 +#, c-format +msgid "unsubscribed from %d groups" +msgstr "" + +#: src/lang.c:879 +#, c-format +msgid "Unsubscribed from %s" +msgstr "" + +#: src/lang.c:880 +msgid "Unsubscribing... " +msgstr "" + +#: src/lang.c:881 +msgid "Unthreading articles..." +msgstr "" + +#: src/lang.c:882 +msgid "Updated" +msgstr "Opdateret" + +#: src/lang.c:884 +#, c-format +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "" + +#: src/lang.c:886 +msgid "Updating" +msgstr "Opdaterer" + +#: src/lang.c:887 +msgid "URL Menu" +msgstr "" + +#: src/lang.c:888 +#, fuzzy +msgid "URL Menu Commands" +msgstr "Kommandoer for virkefeltsmenu" + +#: src/lang.c:889 +#, fuzzy, c-format +msgid "Opening %s" +msgstr "Ã…bner %s\n" + +#: src/lang.c:890 +#, fuzzy +msgid "Select URL> " +msgstr "Vælg virkefelt> " + +#: src/lang.c:891 +#, fuzzy +msgid "No URLs in this article" +msgstr "Ingen yderligere URL'er i denne artikel" + +#: src/lang.c:892 +msgid "Use MIME display program for this message?" +msgstr "Anvend MIME-visningsprogram for denne besked?" + +#: src/lang.c:893 +msgid " -c mark all news as read in subscribed newsgroups (batch mode)" +msgstr "" + +#: src/lang.c:894 +msgid " -Z return status indicating if any unread news (batch mode)" +msgstr "" + +#: src/lang.c:895 +msgid " -q don't check for new newsgroups" +msgstr " -q led ikke efter nye nyhedsgrupper" + +#: src/lang.c:896 +msgid " -X don't save any files on quit" +msgstr " -X gem ikke nogen filer ved afslutning" + +#: src/lang.c:897 +msgid " -d don't show newsgroup descriptions" +msgstr " -d vis ikke beskrivelser for nyhedsgrupper" + +#: src/lang.c:898 +msgid " -G limit get only limit articles/group" +msgstr "" + +#: src/lang.c:899 +#, c-format +msgid " -H help information about %s" +msgstr " -H hjælpinformation om %s" + +#: src/lang.c:900 +msgid " -h this help message" +msgstr " -h denne hjælpebesked" + +#: src/lang.c:901 +#, c-format +msgid " -I dir news index file directory [default=%s]" +msgstr "" + +#: src/lang.c:902 +msgid " -u update index files (batch mode)" +msgstr "" + +#: src/lang.c:903 +#, c-format +msgid " -m dir mailbox directory [default=%s]" +msgstr "" + +#: src/lang.c:904 +#, c-format +msgid "\n" + "Mail bug reports/comments to %s" +msgstr "\n" + "Send fejlrapporter/kommentarer til %s" + +#: src/lang.c:905 +msgid " -N mail new news to your posts (batch mode)" +msgstr "" + +#: src/lang.c:906 +msgid " -M user mail new news to specified user (batch mode)" +msgstr "" + +#: src/lang.c:907 +#, c-format +msgid " -f file subscribed to newsgroups file [default=%s]" +msgstr "" + +#: src/lang.c:908 +msgid " -x no posting mode" +msgstr "" + +#: src/lang.c:909 +msgid " -w post an article and exit" +msgstr " -w send en artikel og afslut" + +#: src/lang.c:910 +msgid " -o post all postponed articles and exit" +msgstr " -o send alle udsatte artikler og afslut" + +#: src/lang.c:911 +msgid " -R read news saved by -S option" +msgstr "" + +#: src/lang.c:912 +#, c-format +msgid " -s dir save news directory [default=%s]" +msgstr "" + +#: src/lang.c:913 +msgid " -S save new news for later reading (batch mode)" +msgstr " -S gem nye nyheder til senere læsning (batchtilstand)" + +#: src/lang.c:914 +msgid " -z start if any unread news" +msgstr "" + +#: src/lang.c:915 +#, c-format +msgid "A Usenet reader.\n" + "\n" + "Usage: %s [options] [newsgroup[,...]]" +msgstr "" + +#: src/lang.c:916 +msgid " -v verbose output for batch mode options" +msgstr "" + +#: src/lang.c:917 +msgid " -V print version & date information" +msgstr " -V vis version- & datoinformation" + +#: src/lang.c:918 +#, c-format +msgid "%s only useful without batch mode operations\n" +msgstr "" + +#: src/lang.c:919 +#, c-format +msgid "%s only useful for batch mode operations\n" +msgstr "" + +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "" + +#: src/lang.c:922 +#, c-format +msgid "\n" + "%s%d out of range (0 - %d). Reset to 0" +msgstr "" + +#: src/lang.c:923 +#, c-format +msgid "View '%s' (%s/%s)?" +msgstr "Vis '%s' (%s/%s)?" + +#: src/lang.c:925 +#, c-format +msgid "\n" + "Warning: posting exceeds %d columns. Line %d is the first long one:\n" + "%-100s\n" +msgstr "" + +#: src/lang.c:926 +msgid "\n" + "Warning: article unchanged after editing\n" +msgstr "\n" + "Advarsel: Artikel uændret efter redigering\n" + +#: src/lang.c:927 +msgid "\n" + "Warning: \"Subject:\" contains only whitespaces.\n" +msgstr "\n" + "Advarsel: »Emne:« indeholder kun mellemrum.\n" + +#: src/lang.c:928 +msgid "\n" + "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" +msgstr "\n" + "Advarsel: »Emne« begynder med »Re:« men der er ingen »referencer«.\n" + +#: src/lang.c:930 +msgid "\n" + "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" + " with \"Re: \" and does not contain \"(was:\".\n" +msgstr "" + +#: src/lang.c:933 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly written by you. This will " + "wipe\n" + " the article from most news servers throughout the world, but there is " + "no\n" + " guarantee that it will work.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "" + +#: src/lang.c:937 +msgid "\n" + "Warning: You are using a non-plain transfer encoding (such as base64 or\n" + " quoted-printable) and an external inews program to submit your\n" + " article. If a signature is appended by that inews program it will\n" + " not be encoded properly.\n" +msgstr "" + +#: src/lang.c:942 +msgid "\n" + "Warning: \"example\" is a reserved hierarchy!\n" +msgstr "" + +#: src/lang.c:943 +#, c-format +msgid "\n" + "\n" + "You are upgrading to tin %s from an earlier version.\n" + "Some values in your %s file have changed!\n" + "Read WHATSNEW, etc...\n" +msgstr "\n" + "\n" + "Du opgraderer til %s fra en tidligere version.\n" + "Nogle værdier i din %s-fil har ændret sig!\n" + "Læs WHATSNEW, etc...\n" + +#: src/lang.c:945 +#, c-format +msgid "\n" + "\n" + "You are downgrading to tin %s from a more recent version!\n" + "Some values in your %s file may be ignored, others might have changed!\n" +msgstr "" + +#: src/lang.c:948 +#, c-format +msgid "Warning: tin wrote fewer groups to your\n" + "\t%s\n" + "than it read at startup. If you didn't unsubscribe from %ld %s during\n" + "this session this indicates an error and you should backup your %s\n" + "before you start tin once again!\n" +msgstr "" + +#: src/lang.c:952 +#, c-format +msgid "\n" + "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" +msgstr "" + +#: src/lang.c:953 +#, c-format +msgid "Warning: Only %d out of %d articles were saved" +msgstr "Advarsel: Kun %d ud af %d artikler blev gemt" + +#: src/lang.c:954 +#, c-format +msgid "\n" + "Warning: Your signature is longer than %d lines. Since signatures usually " + "do\n" + " not transport any useful information, they should be as short " + "as\n" + " possible.\n" +msgstr "" + +#: src/lang.c:958 +#, c-format +msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " +msgstr "Advarsel: Denne postadresse kan indeholde en spamfælde. %s=continue, %" + "s=abort? " + +#: src/lang.c:959 +msgid "\n" + "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" +msgstr "\n" + "Advarsel: Underskrifter skal starte med '-- \\n' ikke med '--\\n'.\n" + +#: src/lang.c:960 +msgid "Writing attributes file..." +msgstr "Skriver attributfil..." + +#: src/lang.c:962 +#, c-format +msgid "%d Responses" +msgstr "%d svar" + +#: src/lang.c:964 +#, c-format +msgid "Added %d %s" +msgstr "Tilføjede %d %s" + +#: src/lang.c:965 +msgid "No unsubscribed groups to show" +msgstr "Ingen grupper der ikke er tilmeldte at vise" + +#: src/lang.c:966 +msgid "Showing subscribed to groups only" +msgstr "Viser kun tilmeldte til grupper" + +#: src/lang.c:967 +msgid "Yes " +msgstr "Ja " + +#: src/lang.c:968 +msgid " You have mail" +msgstr " Du har post" + +#: src/lang.c:973 +#, c-format +msgid "\n" + "Warning: Posting is in %s and contains characters which are not\n" + " in your selected MM_NETWORK_CHARSET: %s.\n" + " These characters will be replaced by '?' if you post this\n" + " article unchanged. To avoid garbling your article please either\n" + " edit it and remove those characters or change the setting of\n" + " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" + " M)enu option.\n" +msgstr "" + +#: src/lang.c:984 +msgid " -D mode debug mode" +msgstr " -D tilstand fejlsøgningstilstand" + +#: src/lang.c:988 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly not written by you. This " + "will\n" + " wipe the article from lots of news servers throughout the world;\n" + " Usenet's majority considers this rather inappropriate, to say the " + "least.\n" + " Only press 'd' if you are absolutely positive that you are ready to " + "take\n" + " the rap.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "" + +#: src/lang.c:997 +msgid "toggle color" +msgstr "slÃ¥ farve til/fra" + +#: src/lang.c:998 +msgid "# Changing colors of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" +msgstr "" + +#: src/lang.c:1018 +msgid " -a toggle color flag" +msgstr "" + +#: src/lang.c:1022 +msgid "\n" + "Error: Followup-To set to more than one newsgroup!\n" +msgstr "" + +#: src/lang.c:1023 +#, c-format +msgid "\n" + "Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "\n" + "Fejl: »%s« omdøbes, brug »%s« i steden for!\n" + +#: src/lang.c:1024 +#, c-format +msgid "\n" + "Error: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "" + +#: src/lang.c:1025 +#, c-format +msgid "\n" + "Error: \"%s\" is not a valid newsgroup!\n" +msgstr "\n" + "Fejl: \"%s\" er ikke en gyldig nyhedsgruppe!\n" + +#: src/lang.c:1027 +msgid "\n" + "Warning: Followup-To set to more than one newsgroup!\n" +msgstr "" + +#: src/lang.c:1028 +#, c-format +msgid "\n" + "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "\n" + "Advarsel: »%s« er omdøbt, du skal bruge »%s« i steden for!\n" + +#: src/lang.c:1029 +#, c-format +msgid "\n" + "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "" + +#: src/lang.c:1030 +#, c-format +msgid "\n" + "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" +msgstr "" + +#: src/lang.c:1031 +#, c-format +msgid "\n" + "Warning: \"%s\" is not a valid newsgroup at this site!\n" +msgstr "" + +#: src/lang.c:1035 +#, c-format +msgid "%d files successfully written from %d articles. %d %s occurred." +msgstr "" + +#: src/lang.c:1036 +msgid "Missing parts." +msgstr "Manglende dele." + +#: src/lang.c:1037 +msgid "No beginning." +msgstr "Ingen begyndelse." + +#: src/lang.c:1038 +msgid "No data." +msgstr "Ingen data." + +#: src/lang.c:1039 +msgid "Unknown error." +msgstr "Ukendt fejl." + +#: src/lang.c:1042 +#, c-format +msgid "\tChecksum of %s (%ld %s)" +msgstr "" + +#: src/lang.c:1047 +msgid "Reading mail active file... " +msgstr "" + +#: src/lang.c:1048 +msgid "Reading mailgroups file... " +msgstr "" + +#: src/lang.c:1052 +msgid "perform PGP operations on article" +msgstr "udfør PGP-handlinger pÃ¥ artikel" + +#: src/lang.c:1053 +msgid "Add key(s) to public keyring?" +msgstr "Tilføj nøgle(r) til offentlig nøglering?" + +#: src/lang.c:1054 +#, c-format +msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " +msgstr "%s=krypter, %s=underskriv, %s=begge, %s=afslut: " + +#: src/lang.c:1055 +#, c-format +msgid "%s=sign, %s=sign & include public key, %s=quit: " +msgstr "" + +#: src/lang.c:1056 +#, c-format +msgid "PGP has not been set up (can't open %s)" +msgstr "PGP er ikke sat op (kan ikke Ã¥bne %s)" + +#: src/lang.c:1057 +msgid "Article not signed and no public keys found" +msgstr "Artikel ikke underskrevet og ingen offentlige nøgler fundet" + +#: src/lang.c:1059 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "" + +#: src/lang.c:1060 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " +msgstr "" + +#: src/lang.c:1061 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" + +#: src/lang.c:1063 +#, c-format +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "" + +#: src/lang.c:1064 +#, c-format +msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " +msgstr "" + +#: src/lang.c:1065 +#, c-format +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" + +#: src/lang.c:1069 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " +msgstr "" + +#: src/lang.c:1070 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " +msgstr "" + +#: src/lang.c:1071 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" + +#: src/lang.c:1073 +#, c-format +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " +msgstr "" + +#: src/lang.c:1074 +#, c-format +msgid "%s=quit, %s=edit, %s=send [%%s]: " +msgstr "" + +#: src/lang.c:1075 +#, c-format +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" + +#: src/lang.c:1084 +msgid "Try cache_overview_files to speed up things.\n" +msgstr "" + +#: src/lang.c:1085 +msgid "Tin will use local index files instead.\n" +msgstr "Tin vil i steden for anvende lokale indeksfiler.\n" + +#: src/lang.c:1086 +msgid "Cannot find NNTP server name" +msgstr "Kan ikke finde NNTP-servernavn" + +#: src/lang.c:1087 +#, c-format +msgid "Connecting to %s:%u..." +msgstr "Forbinder til %s:%u..." + +#: src/lang.c:1088 +msgid "Disconnecting from server...\n" +msgstr "Afbryder fra server...\n" + +#: src/lang.c:1089 +#, c-format +msgid "Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" +msgstr "" + +#: src/lang.c:1090 +#, c-format +msgid "Failed to connect to NNTP server %s. Exiting..." +msgstr "Kunne ikke forbinde til NNTP-server %s. Afslutter..." + +#: src/lang.c:1091 +msgid "205 Closing connection" +msgstr "205 Lukker forbindelse" + +#: src/lang.c:1092 +msgid "Your server does not support the NNTP XOVER or OVER command.\n" +msgstr "Din server understøtter ikke kommandoerne NNTP XOVER eller OVER.\n" + +#: src/lang.c:1093 +msgid "Connection to news server has timed out. Reconnect?" +msgstr "Forbindelsen til nyhedsserveren har fÃ¥et tidsudløb. Genforbind?" + +#: src/lang.c:1094 +#, c-format +msgid "Put the server name in the file %s,\n" + "or set the environment variable NNTPSERVER" +msgstr "" + +#: src/lang.c:1095 +msgid " -A force authentication on connect" +msgstr "" + +#: src/lang.c:1096 +#, c-format +msgid " -g serv read news from NNTP server serv [default=%s]" +msgstr "" + +#: src/lang.c:1097 +#, c-format +msgid " -p port use port as NNTP port [default=%d]" +msgstr "" + +#: src/lang.c:1098 +msgid " -Q quick start. Same as -nqd" +msgstr "" + +#: src/lang.c:1099 +msgid " -r read news remotely from default NNTP server" +msgstr "" + +#: src/lang.c:1100 +msgid " -l use only LIST instead of GROUP (-n) command" +msgstr "" + +#: src/lang.c:1101 +msgid " -n only read subscribed .newsrc groups from NNTP server" +msgstr "" + +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" +msgstr "" + +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr "" + +#: src/lang.c:1105 +msgid "\n" + "socket or connect problem\n" +msgstr "\n" + "sokkel- eller forbindelsesproblem\n" + +#: src/lang.c:1107 +#, c-format +msgid "\n" + "Connection to %s: " +msgstr "\n" + "Forbindelse til %s: " + +#: src/lang.c:1108 +msgid "Giving up...\n" +msgstr "Giver op...\n" + +#: src/lang.c:1110 +#, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "%s/tcp: Ukendt tjeneste.\n" + +#: src/lang.c:1114 +msgid "Your server does not have Xref: in its XOVER information.\n" + "Tin will try to use XHDR XREF instead (slows down things a bit).\n" +msgstr "" + +#: src/lang.c:1117 +msgid "Your server does not have Xref: in its XOVER information.\n" +msgstr "Din server har ikke Xref: I sin XOVER-information.\n" + +#: src/lang.c:1120 +#, c-format +msgid "Can't open %s. Try %s -r to read news via NNTP.\n" +msgstr "" + +#: src/lang.c:1123 +msgid " -Q quick start. Same as -qd" +msgstr "" + +#: src/lang.c:1124 +msgid " -l read only active file instead of scanning spool (-n) command" +msgstr "" + +#: src/lang.c:1125 +msgid " -n only read subscribed .newsrc groups from spool" +msgstr "" + +#: src/lang.c:1126 +msgid "Your server does not have Xref: in its NOV-files.\n" +msgstr "" + +#: src/lang.c:1130 +msgid "Posting using external inews failed. Use built in inews instead?" +msgstr "" + +#: src/lang.c:1131 +msgid "It worked! Should I always use my built in inews from now on?" +msgstr "" + +#: src/lang.c:1135 +#, c-format +msgid "%d %s printed" +msgstr "%d %s udskrevet" + +#: src/lang.c:1136 +msgid "output article/thread/hot/pattern/tagged articles to printer" +msgstr "" + +#: src/lang.c:1137 +msgid "Print" +msgstr "Udskriv" + +#: src/lang.c:1138 +msgid "Printing..." +msgstr "Udskriver..." + +#: src/lang.c:1142 +msgid "pipe article/thread/hot/pattern/tagged articles into command" +msgstr "" + +#: src/lang.c:1143 +msgid "No command" +msgstr "Ingen kommando" + +#: src/lang.c:1144 +msgid "Pipe" +msgstr "" + +#: src/lang.c:1145 +#, c-format +msgid "Pipe to command [%.*s]> " +msgstr "" + +#: src/lang.c:1146 +msgid "Piping..." +msgstr "" + +#: src/lang.c:1148 +msgid "Piping not enabled." +msgstr "" + +#: src/lang.c:1152 +#, c-format +msgid "\n" + "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" + " The only allowable space is the one separating the colon (:)\n" + " from the contents. Use a comma (,) to separate multiple\n" + " newsgroup names.\n" +msgstr "" + +#: src/lang.c:1157 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is continued in the next line. Since\n" + " the line may not contain whitespace, this is not allowed.\n" + " Please write all newsgroups into a single line.\n" +msgstr "" + +#: src/lang.c:1162 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line is continued in the next line.\n" + " This is a very new feature and may not be accepted by all servers.\n" + " To avoid trouble please write all newsgroups into a single line.\n" +msgstr "" + +#: src/lang.c:1166 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" +msgstr "" + +#: src/lang.c:1171 +msgid "\n" + " If your article contains quoted text please take some time to pare it " + "down\n" + " to just the key points to which you are responding, or people will " + "think\n" + " you are a dweeb! Many people have the habit of skipping any article " + "whose\n" + " first page is largely quoted material. Format your article to fit in " + "less\n" + " then 80 chars, since that's the conventional size (72 is a good choice " + "as\n" + " it allows quoting without exceeding the limit). If your lines are too " + "long\n" + " they'll wrap around ugly and people won't read what you write. If " + "you\n" + " aren't careful and considerate in formatting your posting, people " + "are\n" + " likely to ignore it completely. It's a crowded net out there.\n" +msgstr "" + +#: src/lang.c:1184 +msgid "shell escape" +msgstr "" + +#: src/lang.c:1185 +#, c-format +msgid "Shell Command (%s)" +msgstr "Skalkommando (%s)" + +#: src/lang.c:1186 +#, c-format +msgid "Enter shell command [%s]> " +msgstr "Indtast skalkommando [%s]> " + +#: src/lang.c:1190 +#, c-format +msgid "%s: Can't get entry for TERM\n" +msgstr "" + +#: src/lang.c:1194 +#, c-format +msgid "Group %.*s ('q' to quit)..." +msgstr "Gruppe %.*s ('q' for afslut)..." + +#: src/lang.c:1196 +#, c-format +msgid "Group %.*s..." +msgstr "Gruppe %.*s..." + +#: src/lang.c:1200 +msgid "Server unavailable\n" +msgstr "Server utilgængelig\n" + +#: src/lang.c:1206 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" + "s=post" +msgstr "" + +#: src/lang.c:1207 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1209 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1210 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1214 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1215 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1217 +#, c-format +msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1218 +#, c-format +msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1224 +msgid "Terminal does not support color" +msgstr "Terminal understøtter ikke farver" + +#: src/lang.c:1229 +#, c-format +msgid "Trying %s" +msgstr "Forsøger %s" + +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 src/refs.c:288 +msgid "None" +msgstr "Ingen" + +#: src/lang.c:1244 +msgid "Subject" +msgstr "Emne" + +#: src/lang.c:1245 +msgid "References" +msgstr "Referencer" + +#: src/lang.c:1246 +msgid "Both Subject and References" +msgstr "BÃ¥de emne og referencer" + +#: src/lang.c:1247 +msgid "Multipart Subject" +msgstr "" + +#: src/lang.c:1248 +msgid "Percentage Match" +msgstr "" + +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 +msgid "No" +msgstr "Nej" + +#: src/lang.c:1261 src/lang.c:1413 +msgid "Yes" +msgstr "Ja" + +#: src/lang.c:1262 +msgid "Hide All" +msgstr "Gem alle" + +#: src/lang.c:1270 +msgid "Address" +msgstr "Adresse" + +#: src/lang.c:1271 +msgid "Full Name" +msgstr "Fulde navn" + +#: src/lang.c:1272 +msgid "Address and Name" +msgstr "Adresse og navn" + +#: src/lang.c:1279 +msgid "Max" +msgstr "Maks." + +#: src/lang.c:1280 +msgid "Sum" +msgstr "Sum" + +#: src/lang.c:1281 +msgid "Average" +msgstr "Gennemsnit" + +#: src/lang.c:1286 +msgid "Lines" +msgstr "Linjer" + +#: src/lang.c:1287 +msgid "Score" +msgstr "Point" + +#: src/lang.c:1288 +msgid "Lines & Score" +msgstr "Linjer % point" + +#: src/lang.c:1297 +msgid "Black" +msgstr "Sort" + +#: src/lang.c:1298 +msgid "Red" +msgstr "Rød" + +#: src/lang.c:1299 +msgid "Green" +msgstr "Grøn" + +#: src/lang.c:1300 +msgid "Brown" +msgstr "Brun" + +#: src/lang.c:1301 +msgid "Blue" +msgstr "BlÃ¥" + +# Andre muligheder: Rødviolet +#: src/lang.c:1302 +msgid "Pink" +msgstr "Pink" + +# Cyan er en blÃ¥/grøn farve. (kunne ogsÃ¥ bruge turkis som oversættelse). +#: src/lang.c:1303 +msgid "Cyan" +msgstr "Cyan" + +#: src/lang.c:1304 +msgid "White" +msgstr "Hvis" + +#: src/lang.c:1305 +msgid "Gray" +msgstr "GrÃ¥" + +#: src/lang.c:1306 +msgid "Light Red" +msgstr "Lyserød" + +#: src/lang.c:1307 +msgid "Light Green" +msgstr "Lysegrøn" + +#: src/lang.c:1308 +msgid "Yellow" +msgstr "Gul" + +#: src/lang.c:1309 +msgid "Light Blue" +msgstr "LyseblÃ¥" + +#: src/lang.c:1310 +msgid "Light Pink" +msgstr "Lys pink" + +#: src/lang.c:1311 +msgid "Light Cyan" +msgstr "Lys cyan" + +#: src/lang.c:1312 +msgid "Light White" +msgstr "Lysehvid" + +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 +msgid "Nothing" +msgstr "Intet" + +#: src/lang.c:1322 +msgid "Space" +msgstr "Mellemrum" + +#: src/lang.c:1329 +msgid "Normal" +msgstr "Normal" + +#: src/lang.c:1330 +msgid "Best highlighting" +msgstr "" + +#: src/lang.c:1331 +msgid "Underline" +msgstr "" + +#: src/lang.c:1332 +msgid "Reverse video" +msgstr "" + +#: src/lang.c:1333 +msgid "Blinking" +msgstr "Blinkende" + +#: src/lang.c:1334 +msgid "Half bright" +msgstr "" + +#: src/lang.c:1335 +msgid "Bold" +msgstr "Fed" + +#: src/lang.c:1341 +msgid "Cc" +msgstr "" + +#: src/lang.c:1342 +msgid "Bcc" +msgstr "" + +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "" + +#: src/lang.c:1348 src/lang.c:1360 +msgid "none" +msgstr "ingen" + +#: src/lang.c:1349 +msgid "commands" +msgstr "kommandoer" + +#: src/lang.c:1350 +msgid "select" +msgstr "vælg" + +#: src/lang.c:1352 +msgid "commands & quit" +msgstr "" + +#: src/lang.c:1353 +msgid "commands & select" +msgstr "" + +#: src/lang.c:1354 +msgid "quit & select" +msgstr "afslut & vælg" + +#: src/lang.c:1355 +msgid "commands & quit & select" +msgstr "" + +#: src/lang.c:1361 +msgid "PageDown" +msgstr "Side ned (PageDown)" + +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "" + +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "" + +#: src/lang.c:1368 +#, fuzzy +msgid "Subject: (case sensitive)" +msgstr "Emne: (stigende)" + +#: src/lang.c:1369 +#, fuzzy +msgid "Subject: (ignore case)" +msgstr "Emne: (stigende)" + +#: src/lang.c:1370 +#, fuzzy +msgid "From: (case sensitive)" +msgstr "Fra: (stigende)" + +#: src/lang.c:1371 +#, fuzzy +msgid "From: (ignore case)" +msgstr "Fra: (stigende)" + +#: src/lang.c:1372 +msgid "Msg-ID: & full References: line" +msgstr "" + +#: src/lang.c:1373 +msgid "Msg-ID: & last References: only" +msgstr "" + +#: src/lang.c:1374 +msgid "Message-ID: entry only" +msgstr "" + +#: src/lang.c:1375 +#, fuzzy +msgid "Lines:" +msgstr "Linjer" + +#: src/lang.c:1380 +msgid "Don't trim article body" +msgstr "" + +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "Spring indledende tomme linjer over" + +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "Spring afsluttende tomme linjer over" + +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "Spring indledende og afsluttende tomme linjer over" + +#: src/lang.c:1384 +msgid "Compact multiple between text" +msgstr "" + +#: src/lang.c:1385 +msgid "Compact multiple and skip leading" +msgstr "" + +#: src/lang.c:1386 +msgid "Compact multiple and skip trailing" +msgstr "" + +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "" + +#: src/lang.c:1412 +msgid "Shell archive" +msgstr "Skalarkiv" + +#: src/lang.c:1418 +msgid "Subject: (descending)" +msgstr "Emne: (faldende)" + +#: src/lang.c:1419 +msgid "Subject: (ascending)" +msgstr "Emne: (stigende)" + +#: src/lang.c:1420 +msgid "From: (descending)" +msgstr "Fra: (faldende)" + +#: src/lang.c:1421 +msgid "From: (ascending)" +msgstr "Fra: (stigende)" + +#: src/lang.c:1422 +msgid "Date: (descending)" +msgstr "Dato: (faldende)" + +#: src/lang.c:1423 +msgid "Date: (ascending)" +msgstr "Dato: (stigende)" + +#: src/lang.c:1424 src/lang.c:1432 +msgid "Score (descending)" +msgstr "Point (faldende)" + +#: src/lang.c:1425 src/lang.c:1433 +msgid "Score (ascending)" +msgstr "Point (stigende)" + +#: src/lang.c:1426 +msgid "Lines: (descending)" +msgstr "Linjer: (faldende)" + +#: src/lang.c:1427 +msgid "Lines: (ascending)" +msgstr "Linjer: (stigende)" + +#: src/lang.c:1434 +msgid "Last posting date (descending)" +msgstr "Sidste indsendingsdato (faldende)" + +#: src/lang.c:1435 +msgid "Last posting date (ascending)" +msgstr "Sidste indsendingsdato (stigende)" + +#: src/lang.c:1440 +msgid "Always Keep" +msgstr "Behold altid" + +#: src/lang.c:1441 +msgid "Always Remove" +msgstr "Fjern altid" + +#: src/lang.c:1442 +msgid "Mark with D on selection screen" +msgstr "Marker med D pÃ¥ udvælgelsesskærmen" + +#: src/lang.c:1447 +msgid "Kill only unread arts" +msgstr "" + +#: src/lang.c:1448 +msgid "Kill all arts & show with K" +msgstr "" + +#. TODO: s/K/art_marked_killed/ +#: src/lang.c:1449 +msgid "Kill all arts and never show" +msgstr "" + +#: src/lang.c:1454 +msgid "Nothing special" +msgstr "Intet specielt" + +#: src/lang.c:1455 +msgid "Compress quotes" +msgstr "" + +#: src/lang.c:1456 +msgid "Quote signatures" +msgstr "" + +#: src/lang.c:1457 +msgid "Compress quotes, quote sigs" +msgstr "" + +#: src/lang.c:1458 +msgid "Quote empty lines" +msgstr "" + +#: src/lang.c:1459 +msgid "Compress quotes, quote empty lines" +msgstr "" + +#: src/lang.c:1460 +msgid "Quote sigs & empty lines" +msgstr "" + +#: src/lang.c:1461 +msgid "Comp. q., quote sigs & empty lines" +msgstr "" + +#: src/lang.c:1499 +msgid "no" +msgstr "nej" + +#: src/lang.c:1500 +msgid "with headers" +msgstr "med teksthoveder" + +#: src/lang.c:1501 +msgid "without headers" +msgstr "uden teksthoveder" + +#: src/lang.c:1508 src/lang.c:1514 +msgid "NFKC" +msgstr "" + +#: src/lang.c:1509 +msgid "NFKD" +msgstr "" + +#: src/lang.c:1510 +msgid "NFC" +msgstr "" + +#: src/lang.c:1511 +msgid "NFD" +msgstr "" + +#: src/lang.c:1522 +msgid "Display Options" +msgstr "Vis indstillinger" + +#: src/lang.c:1529 +msgid "Color Options" +msgstr "Farveindstillinger" + +#: src/lang.c:1536 +msgid "Article-Limiting Options" +msgstr "Artikelbegrænsende indstillinger" + +#: src/lang.c:1542 +msgid "Posting/Mailing Options" +msgstr "Indsendelses-/postindstillinger" + +#: src/lang.c:1548 +msgid "Saving/Printing Options" +msgstr "Gemnings-/udskrivningsindstillinger" + +#: src/lang.c:1554 +msgid "Expert Options" +msgstr "Ekspertindstillinger" + +#: src/lang.c:1560 +msgid "Filtering Options" +msgstr "Filterindstillinger" + +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 src/lang.c:1680 +#: src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 src/lang.c:1725 src/lang.c:1800 +#: src/lang.c:1808 src/lang.c:1998 src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 +#: src/lang.c:2028 src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 src/lang.c:2139 +#: src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 src/lang.c:2167 src/lang.c:2174 +#: src/lang.c:2181 src/lang.c:2188 src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 +#: src/lang.c:2216 src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 src/lang.c:2289 +#: src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 src/lang.c:2316 src/lang.c:2322 +#: src/lang.c:2339 src/lang.c:2351 src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 +#: src/lang.c:2458 src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 src/lang.c:2660 +#: src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 src/lang.c:2734 src/lang.c:2745 +#: src/lang.c:2751 src/lang.c:2789 +msgid " toggles, sets, cancels." +msgstr "" + +#: src/lang.c:1566 +msgid "Show mini menu & posting etiquette" +msgstr "" + +#: src/lang.c:1567 +msgid "# If ON show a mini menu of useful commands at each level\n" + "# and posting etiquette after composing an article\n" +msgstr "" + +#: src/lang.c:1572 +msgid "Show short description for each newsgroup. toggles & sets." +msgstr "" + +#: src/lang.c:1573 +msgid "Show description of each newsgroup" +msgstr "Vis beskrivelse af hver nyhedsgruppe" + +#: src/lang.c:1574 +msgid "# If ON show group description text after newsgroup name at\n" + "# group selection level\n" +msgstr "" + +#: src/lang.c:1579 +msgid "Show Subject & From (author) fields in group menu. toggles & " + "sets." +msgstr "" + +#: src/lang.c:1580 +msgid "In group menu, show author by" +msgstr "I gruppemenu, vis forfatter efter" + +#: src/lang.c:1581 +msgid "# Part of from field to display\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = none\n" + "# 1 = address\n" + "# * 2 = full name\n" + "# 3 = both\n" +msgstr "" + +#: src/lang.c:1590 +msgid "Draw -> or highlighted bar for selection. toggles & sets." +msgstr "" + +#: src/lang.c:1591 +msgid "Draw -> instead of highlighted bar" +msgstr "" + +#: src/lang.c:1592 +msgid "# If ON use -> otherwise highlighted bar for selection\n" +msgstr "" + +#: src/lang.c:1597 +msgid "Use inverse video for page headers" +msgstr "" + +#: src/lang.c:1598 +msgid "# If ON use inverse video for page headers at different levels\n" +msgstr "" + +#: src/lang.c:1603 +msgid "Thread articles by" +msgstr "" + +#: src/lang.c:1604 +msgid "# Thread articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = Both (Subject and References)\n" + "# 4 = Multipart Subject\n" + "# 5 = Percentage Match\n" +msgstr "" + +#: src/lang.c:1615 +msgid "Enter percentage match required to thread together. sets." +msgstr "" + +#: src/lang.c:1616 +msgid "Thread percentage match" +msgstr "" + +#: src/lang.c:1617 +#, c-format +msgid "# Thread percentage match...\n" + "# the percentage of characters in the subject of an article that must match\n" + "# a base article for both those articles to be considered to belong to the\n" + "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" + "# follow. If 80 is used here, then 80%% of the characters must match " + "exactly,\n" + "# no insertion of a character, for the two articles to be put in the same\n" + "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" + "# 'harppy' would be threaded separately from 'happy'\n" +msgstr "" + +#: src/lang.c:1629 +msgid "Score of a thread" +msgstr "" + +#: src/lang.c:1630 +msgid "# Thread score\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = max\n" + "# 1 = sum\n" + "# 2 = average\n" +msgstr "" + +#: src/lang.c:1638 +msgid "Sort articles by Subject, From, Date or Score. toggles & sets." +msgstr "" + +#: src/lang.c:1639 +msgid "Sort articles by" +msgstr "Sorter artikler efter" + +#: src/lang.c:1640 +msgid "# Sort articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject descending\n" + "# 2 = Subject ascending\n" + "# 3 = From descending\n" + "# 4 = From ascending\n" + "# 5 = Date descending\n" + "# * 6 = Date ascending\n" + "# 7 = Score descending\n" + "# 8 = Score ascending\n" + "# 9 = Lines descending\n" + "# 10 = Lines ascending\n" +msgstr "" + +#: src/lang.c:1656 +msgid "Sort threads by Nothing or Score. toggles & sets." +msgstr "" + +#: src/lang.c:1657 +msgid "Sort threads by" +msgstr "Sorter trÃ¥de efter" + +#: src/lang.c:1658 +msgid "# Sort thread by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = Score descending\n" + "# 2 = Score ascending\n" + "# 3 = Last posting date descending\n" + "# 4 = Last posting date ascending\n" +msgstr "" + +#: src/lang.c:1668 +msgid "Put cursor at first/last unread art in groups. toggles & sets." +msgstr "" + +#: src/lang.c:1669 +msgid "Go to first unread article in group" +msgstr "GÃ¥ til den næste ulæste artikel med" + +#: src/lang.c:1670 +msgid "# If ON put cursor at first unread art in group otherwise last art\n" +msgstr "" + +#: src/lang.c:1674 +msgid "Show all articles or only unread articles. toggles & sets." +msgstr "" + +#: src/lang.c:1675 +msgid "Show only unread articles" +msgstr "Vis kun ulæste artikler" + +#: src/lang.c:1676 +msgid "# If ON show only new/unread articles otherwise show all.\n" +msgstr "" + +#: src/lang.c:1681 +msgid "Show only groups with unread arts" +msgstr "" + +#: src/lang.c:1682 +msgid "# If ON show only subscribed to groups that contain unread articles.\n" +msgstr "" + +#: src/lang.c:1687 +msgid "Filter which articles" +msgstr "" + +#: src/lang.c:1688 +msgid "# Filter which articles\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = only kill unread articles\n" + "# 1 = kill all articles and show in threads marked with K\n" + "# 2 = kill all articles and never show them\n" +msgstr "" + +#: src/lang.c:1697 +msgid "Go to the next unread article with" +msgstr "GÃ¥ til den næste ulæste artikel med" + +#: src/lang.c:1698 +msgid "# Go to the unread article with following key(s)\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN or TAB\n" +msgstr "" + +#: src/lang.c:1708 +msgid "How to treat blank lines" +msgstr "Hvordan tomme linjer skal behandles" + +#: src/lang.c:1709 +msgid "# Trim the article body, remove unnecessary blank lines.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = Nothing special\n" + "# 1 = Skip leading blank lines\n" + "# 2 = Skip trailing blank lines\n" + "# 3 = Skip leading and trailing blank lines\n" + "# 4 = Compact multiple blank lines between text blocks\n" + "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" + "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" + "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/lang.c:1726 +msgid "List thread using right arrow key" +msgstr "" + +#: src/lang.c:1727 +msgid "# If ON automatically list thread when entering it using right arrow key.\n" +msgstr "" + +#: src/lang.c:1731 +msgid "Enter character to indicate deleted articles. sets, cancels." +msgstr "" + +#: src/lang.c:1732 +msgid "Character to show deleted articles" +msgstr "" + +#: src/lang.c:1733 +msgid "# Character used to show that an art was deleted (default 'D')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1738 +msgid "Enter character to indicate articles in a range. sets, cancels." +msgstr "" + +#: src/lang.c:1739 +msgid "Character to show inrange articles" +msgstr "" + +#: src/lang.c:1740 +msgid "# Character used to show that an art is in a range (default '#')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1745 +msgid "Enter character to indicate that article will return. sets, " + "cancels." +msgstr "" + +#: src/lang.c:1746 +msgid "Character to show returning arts" +msgstr "" + +#: src/lang.c:1747 +msgid "# Character used to show that an art will return (default '-')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1752 +msgid "Enter character to indicate selected articles. sets, cancels." +msgstr "" + +#: src/lang.c:1753 +msgid "Character to show selected articles" +msgstr "Tegn der viser valgte artikler" + +#: src/lang.c:1754 +msgid "# Character used to show that an art was auto-selected (default '*')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1759 +msgid "Enter character to indicate recent articles. sets, cancels." +msgstr "" + +#: src/lang.c:1760 +msgid "Character to show recent articles" +msgstr "" + +#: src/lang.c:1761 +msgid "# Character used to show that an art is recent (default 'o')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1766 +msgid "Enter character to indicate unread articles. sets, cancels." +msgstr "" + +#: src/lang.c:1767 +msgid "Character to show unread articles" +msgstr "" + +#: src/lang.c:1768 +msgid "# Character used to show that an art is unread (default '+')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1773 +msgid "Enter character to indicate read articles. sets, cancels." +msgstr "" + +#: src/lang.c:1774 +msgid "Character to show read articles" +msgstr "" + +#: src/lang.c:1775 +msgid "# Character used to show that an art was read (default ' ')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1780 +msgid "Enter character to indicate killed articles. sets, cancels." +msgstr "" + +#: src/lang.c:1781 +msgid "Character to show killed articles" +msgstr "" + +#: src/lang.c:1782 +msgid "# Character used to show that an art was killed (default 'K')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1787 +msgid "Enter character to indicate read selected articles. sets, cancels." +msgstr "" + +#: src/lang.c:1788 +msgid "Character to show readselected arts" +msgstr "" + +#: src/lang.c:1789 +msgid "# Character used to show that an art was selected before read (default ':')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1794 +msgid "Enter maximum length of newsgroup names displayed. sets." +msgstr "" + +#: src/lang.c:1795 +msgid "Max. length of group names shown" +msgstr "" + +#: src/lang.c:1796 +msgid "# Maximum length of the names of newsgroups displayed\n" +msgstr "# Maksimal længde pÃ¥ navne pÃ¥ nyhedsgrupper som vises\n" + +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "" + +#: src/lang.c:1802 +msgid "# If ON abbreviate (if necessary) long newsgroup names at group selection\n" + "# level and article level like this:\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "" + +#: src/lang.c:1809 +msgid "Show lines/score in listings" +msgstr "" + +#: src/lang.c:1810 +msgid "# What information should be displayed in article/thread listing\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = lines\n" + "# 2 = score\n" + "# 3 = lines & score\n" +msgstr "" + +#: src/lang.c:1819 +msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" + "2 = half page" +msgstr "" + +#: src/lang.c:1820 +msgid "Number of lines to scroll in pager" +msgstr "" + +#: src/lang.c:1821 +msgid "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behavior)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" +msgstr "" + +#: src/lang.c:1831 +msgid "Display signatures. toggles & sets." +msgstr "" + +#: src/lang.c:1832 +msgid "Display signatures" +msgstr "Vis underskrifter" + +#: src/lang.c:1833 +msgid "# If OFF don't show signatures when displaying articles\n" +msgstr "# Hvis OFF (FRA) sÃ¥ vis ikke underskrifter nÃ¥r der vises artikler\n" + +#: src/lang.c:1837 +msgid "Display uuencoded data as tagged attachments. toggles & sets." +msgstr "" + +#: src/lang.c:1838 +msgid "Display uue data as an attachment" +msgstr "Vis uue-data som et bilag" + +#: src/lang.c:1839 +msgid "# Handling of uuencoded data in the pager\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no, display raw uuencoded data\n" + "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" + "# size and filename, similar to how MIME attachments are displayed\n" + "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" + "# be folded into a tag line.\n" +msgstr "" + +#: src/lang.c:1849 +msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." +msgstr "" + +#: src/lang.c:1850 +msgid "Display \"a as Umlaut-a" +msgstr "" + +#: src/lang.c:1851 +msgid "# If ON decode German style TeX umlaut codes to ISO and\n" + "# show \"a as Umlaut-a, etc.\n" +msgstr "" + +#: src/lang.c:1856 src/lang.c:1866 +msgid "Space separated list of header fields" +msgstr "" + +#: src/lang.c:1857 +msgid "Display these header fields (or *)" +msgstr "" + +#: src/lang.c:1858 +msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" + "# place an '*' as this value. This is the only way a wildcard can be used.\n" + "# If you enter 'X-' as the value, you will see all headers beginning with\n" + "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " + "with\n" + "# spaces. Not defining anything turns off this option.\n" +msgstr "" + +#: src/lang.c:1867 +msgid "Do not display these header fields" +msgstr "" + +#: src/lang.c:1868 +msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" + "# An example of using both options might be if you thought X- headers were\n" + "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " + "you\n" + "# would do something like this:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Not defining anything turns off this option.\n" +msgstr "" + +#: src/lang.c:1878 +msgid "Do you want to enable automatic handling of multipart/alternative articles?" +msgstr "Ønsker du at aktivere automatisk hÃ¥ndtering af flerdels-/alternative artikler?" + +#: src/lang.c:1879 +msgid "Skip multipart/alternative parts" +msgstr "" + +#: src/lang.c:1880 +msgid "# If ON strip multipart/alternative messages automatically\n" +msgstr "" + +#: src/lang.c:1884 +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "" + +#: src/lang.c:1885 +msgid "Detection of verbatim blocks" +msgstr "Detektering af verbatimblokke" + +#: src/lang.c:1886 +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "" + +#: src/lang.c:1891 +msgid "A regex used to decide which lines to show in col_quote." +msgstr "" + +#: src/lang.c:1892 +msgid "Regex used to show quoted lines" +msgstr "" + +#: src/lang.c:1893 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1899 +msgid "A regex used to decide which lines to show in col_quote2." +msgstr "" + +#: src/lang.c:1900 +msgid "Regex used to show twice quoted l." +msgstr "" + +#: src/lang.c:1901 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted twice. Twice quoted lines are shown in col_quote2.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1907 +msgid "A regex used to decide which lines to show in col_quote3." +msgstr "" + +#: src/lang.c:1908 +msgid "Regex used to show >= 3 times q.l." +msgstr "" + +#: src/lang.c:1909 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1916 +msgid "A regex used to decide which words to show in col_markslashes." +msgstr "" + +#: src/lang.c:1917 +msgid "Regex used to highlight /slashes/" +msgstr "" + +#: src/lang.c:1918 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '/' are to be shown in col_markslashes.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1924 +msgid "A regex used to decide which words to show in col_markstars." +msgstr "" + +#: src/lang.c:1925 +msgid "Regex used to highlight *stars*" +msgstr "" + +#: src/lang.c:1926 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '*' are to be shown in col_markstars.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1932 +msgid "A regex used to decide which words to show in col_markstroke." +msgstr "" + +#: src/lang.c:1933 +msgid "Regex used to highlight -strokes-" +msgstr "" + +#: src/lang.c:1934 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '-' are to be shown in col_markstroke.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1940 +msgid "A regex used to decide which words to show in col_markdash." +msgstr "" + +#: src/lang.c:1941 +msgid "Regex used to highlight _underline_" +msgstr "" + +#: src/lang.c:1942 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '_' are to be shown in col_markdash.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1948 +msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." +msgstr "" + +#: src/lang.c:1949 +msgid "Regex with Subject prefixes" +msgstr "" + +#: src/lang.c:1950 +msgid "# A regular expression that tin will use to find Subject prefixes\n" + "# which will be removed before showing the header.\n" +msgstr "" + +#: src/lang.c:1955 +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "" + +#: src/lang.c:1956 +msgid "Regex with Subject suffixes" +msgstr "" + +#: src/lang.c:1957 +msgid "# A regular expression that tin will use to find Subject suffixes\n" + "# which will be removed when replying or posting followup.\n" +msgstr "" + +#: src/lang.c:1962 +msgid "A regex used to find the begin of a verbatim block." +msgstr "" + +#: src/lang.c:1963 +msgid "Regex for begin of a verbatim block" +msgstr "" + +#: src/lang.c:1964 +msgid "# A regular expression that tin will use to find the begin of\n" + "# a verbatim block.\n" +msgstr "" + +#: src/lang.c:1969 +msgid "A regex used to find the end of a verbatim block." +msgstr "" + +#: src/lang.c:1970 +msgid "Regex for end of a verbatim block" +msgstr "" + +#: src/lang.c:1971 +msgid "# A regular expression that tin will use to find the end of\n" + "# a verbatim block.\n" +msgstr "" + +#: src/lang.c:1976 +msgid "Enter name and options for external MIME viewer, --internal for built-in " + "viewer" +msgstr "" + +#: src/lang.c:1977 +msgid "MIME binary content viewer" +msgstr "" + +#: src/lang.c:1978 +msgid "# If --internal automatically use the built in MIME viewer for non-text\n" + "# parts of articles.\n" + "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" + "# for no automatic viewing\n" +msgstr "" + +#: src/lang.c:1985 +msgid "Confirm before starting non-text viewing program" +msgstr "Bekræft før start af visningsprogram for ikke-tekst" + +#: src/lang.c:1986 +msgid "Ask before using MIME viewer" +msgstr "Spørg før brug af MIME-fremviser" + +#: src/lang.c:1987 +msgid "# If ON tin will ask before using metamail to display MIME messages\n" + "# this only happens if metamail_prog is set to something\n" +msgstr "" + +#: src/lang.c:1992 +msgid "Ask to mark groups read when quitting. toggles & sets." +msgstr "" + +#: src/lang.c:1993 +msgid "Catchup read groups when quitting" +msgstr "" + +#: src/lang.c:1994 +msgid "# If ON ask user if read groups should all be marked read\n" +msgstr "" + +#: src/lang.c:1999 +msgid "Catchup group using left key" +msgstr "" + +#: src/lang.c:2000 +msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" +msgstr "" + +#: src/lang.c:2005 +msgid "Catchup thread by using left key" +msgstr "" + +#: src/lang.c:2011 +msgid "Which actions require confirmation" +msgstr "" + +#: src/lang.c:2012 +msgid "# What should we ask confirmation for.\n" +msgstr "# Hvad skal vi spørge efter bekræftelse pÃ¥.\n" + +#: src/lang.c:2017 +msgid "'Mark as (un)read' ignores tags" +msgstr "" + +#: src/lang.c:2018 +msgid "# If ON the 'Mark as (un)read' function marks only the current article.\n" +msgstr "" + +#: src/lang.c:2022 +msgid "Program to run to open URLs, sets, cancels." +msgstr "" + +#: src/lang.c:2023 +#, fuzzy +msgid "Program that opens URLs" +msgstr "Program som Ã¥bner URL'er" + +#: src/lang.c:2024 +msgid "# The program used to open URLs. The actual URL will be appended\n" +msgstr "" + +#: src/lang.c:2029 +msgid "Use mouse in xterm" +msgstr "Anvend mus i xterm" + +#: src/lang.c:2030 +msgid "# If ON enable mouse button support on xterm terminals\n" +msgstr "" + +#: src/lang.c:2036 +msgid "Use scroll keys on keypad" +msgstr "Brug rultaster pÃ¥ numerisk tastatur" + +#: src/lang.c:2037 +msgid "# If ON enable scroll keys on terminals that support it\n" +msgstr "" + +#: src/lang.c:2042 +msgid "Enter maximum number of article to get. sets." +msgstr "" + +#: src/lang.c:2043 +msgid "Number of articles to get" +msgstr "Antal artikler til hentning" + +#: src/lang.c:2044 +msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" + "# of already read articles to be read before first unread one\n" +msgstr "" + +#: src/lang.c:2049 +msgid "Enter number of days article is considered recent. sets." +msgstr "" + +#: src/lang.c:2050 +msgid "Article recentness time limit" +msgstr "" + +#: src/lang.c:2051 +msgid "# Number of days in which article is considered recent, (0=OFF)\n" +msgstr "" + +#: src/lang.c:2055 +msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." +msgstr "" + +#: src/lang.c:2056 +msgid "Wildcard matching" +msgstr "" + +#: src/lang.c:2057 +msgid "# Wildcard matching\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" +msgstr "" + +#: src/lang.c:2064 +msgid "Enter minimal score before an article is marked killed. sets." +msgstr "Indtast minimal point før en artikel markeres som dræbt. angiver." + +#: src/lang.c:2065 +msgid "Score limit (kill)" +msgstr "Pointbegrænsning (dræb)" + +#: src/lang.c:2066 +msgid "# Score limit before an article is marked killed\n" +msgstr "# Pointbegrænsning før en artikel markeres som dræbt\n" + +#: src/lang.c:2070 +msgid "Enter default score to kill articles. sets." +msgstr "Indtast standardpoint for at dræbe artikler. angiver." + +#: src/lang.c:2071 +msgid "Default score to kill articles" +msgstr "Standardpoint for at dræbe artikler" + +#: src/lang.c:2072 +msgid "# Default score to kill articles\n" +msgstr "# Standardpoint for at dræbe artikler\n" + +#: src/lang.c:2076 +msgid "Enter minimal score before an article is marked hot. sets." +msgstr "Indtast minimal point før en artikel markeres som populær. angiver." + +#: src/lang.c:2077 +msgid "Score limit (select)" +msgstr "Pointbegrænsning (vælg)" + +#: src/lang.c:2078 +msgid "# Score limit before an article is marked hot\n" +msgstr "# Pointbegrænsning før en artikel er markeret som populær\n" + +#: src/lang.c:2082 +msgid "Enter default score to select articles. sets." +msgstr "Indtast standardpoint for at vælge artikler: angiver." + +#: src/lang.c:2083 +msgid "Default score to select articles" +msgstr "Standardpoint for at vælge artikler" + +#: src/lang.c:2084 +msgid "# Default score to select articles\n" +msgstr "# Standardpoint for at vælge artikler\n" + +#: src/lang.c:2090 +msgid "Use slrnface to show ''X-Face:''s" +msgstr "Brug slmface for at vise ''X-face:''s" + +#: src/lang.c:2091 +msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" + "# Only useful when running in an xterm.\n" +msgstr "" + +#: src/lang.c:2099 +msgid "Use ANSI color" +msgstr "Brug ANSI-farve" + +#: src/lang.c:2100 +msgid "# If ON using ANSI-color\n" +msgstr "# Hvis ON (TIL) brug ANSI-farve\n" + +#: src/lang.c:2105 +msgid "Standard foreground color" +msgstr "Standardforgrundsfarve" + +#: src/lang.c:2106 +msgid "# Standard foreground color\n" + "# Default: -1 (default color)\n" +msgstr "# Standardforgrundsfarve\n" + "# Standard: -1 (standardfarve)\n" + +#: src/lang.c:2112 +msgid "Standard background color" +msgstr "Standardbaggrundsfarve" + +#: src/lang.c:2113 +msgid "# Standard background color\n" + "# Default: -1 (default color)\n" +msgstr "# Standardbaggrundsfarve\n" + "# Standard: -1 (standardfarve)\n" + +#: src/lang.c:2119 +msgid "Color for inverse text (background)" +msgstr "Farve for inverteret tekst (baggrund)" + +#: src/lang.c:2120 +msgid "# Color of background for inverse text\n" + "# Default: 4 (blue)\n" +msgstr "# Farve pÃ¥ baggrund for inverteret tekst\n" + "# Standard: 4 (blÃ¥)\n" + +#: src/lang.c:2126 +msgid "Color for inverse text (foreground)" +msgstr "Farve pÃ¥ inverteret tekst (forgrund)" + +#: src/lang.c:2127 +msgid "# Color of foreground for inverse text\n" + "# Default: 7 (white)\n" +msgstr "# Farve pÃ¥ forgrund for inverteret tekst\n" + "# Standard: 7 (hvid)\n" + +#: src/lang.c:2133 +msgid "Color of text lines" +msgstr "Farve pÃ¥ tekstlinjer" + +#: src/lang.c:2134 +msgid "# Color of text lines\n" + "# Default: -1 (default color)\n" +msgstr "# Farve pÃ¥ tekstlinjer\n" + "# Standard: -1 (standardfarve)\n" + +#: src/lang.c:2140 +msgid "Color of mini help menu" +msgstr "Farve pÃ¥ minihjælpemenu" + +#: src/lang.c:2141 +msgid "# Color of mini help menu\n" + "# Default: 3 (brown)\n" +msgstr "# Farve pÃ¥ minihjælpemenu\n" + "# Standard: 3 (brun)\n" + +#: src/lang.c:2147 +msgid "Color of help text" +msgstr "Farve pÃ¥ hjælpetekst" + +#: src/lang.c:2148 +msgid "# Color of help pages\n" + "# Default: -1 (default color)\n" +msgstr "# Farve pÃ¥ hjælpesider\n" + "# Standard: -1 (standardfarve)\n" + +#: src/lang.c:2154 +msgid "Color of status messages" +msgstr "Farve pÃ¥ statusbeskeder" + +#: src/lang.c:2155 +msgid "# Color of messages in last line\n" + "# Default: 6 (cyan)\n" +msgstr "# Farve pÃ¥ beskeder i sidste linje\n" + "# Standard: 6 (cyan)\n" + +#: src/lang.c:2161 +msgid "Color of quoted lines" +msgstr "Farve pÃ¥ citerede linjer" + +#: src/lang.c:2162 +msgid "# Color of quote-lines\n" + "# Default: 2 (green)\n" +msgstr "# Farve pÃ¥ citeringslinjer\n" + "# Standard: 2 (grøn)\n" + +#: src/lang.c:2168 +msgid "Color of twice quoted line" +msgstr "Farve pÃ¥ dobbelt citerede linjer" + +#: src/lang.c:2169 +msgid "# Color of twice quoted lines\n" + "# Default: 3 (brown)\n" +msgstr "# Farve pÃ¥ dobbelt citerede linjer# Standard: 3 (brun)\n" + +#: src/lang.c:2175 +msgid "Color of =>3 times quoted line" +msgstr "Farve pÃ¥ =>3 gange citerede linje" + +#: src/lang.c:2176 +msgid "# Color of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" +msgstr "# Farve pÃ¥ >=3 gange citerede linjer\n" + "# Standard: 4 (blÃ¥)\n" + +#: src/lang.c:2182 +msgid "Color of article header lines" +msgstr "Farve pÃ¥ artikelhovedlinjer" + +#: src/lang.c:2183 +msgid "# Color of header-lines\n" + "# Default: 2 (green)\n" +msgstr "# Farve pÃ¥ hovedlinjer\n" + "# Standard: 2 (grøn)\n" + +# actual, er det sÃ¥dan noget som "faktiske" eller "rigtige" her, jeg er i tvivl +#: src/lang.c:2189 +msgid "Color of actual news header fields" +msgstr "Farve pÃ¥ aktuelle nyhedshovedfelter" + +#: src/lang.c:2190 +msgid "# Color of actual news header fields\n" + "# Default: 9 (light red)\n" +msgstr "# Farve pÃ¥ aktuelle nyhedshovedfelter\n" + "# Standard: 9 (lyserød)\n" + +#: src/lang.c:2196 +msgid "Color of article subject lines" +msgstr "Farve pÃ¥ artikelemnelinjer" + +#: src/lang.c:2197 +msgid "# Color of article subject\n" + "# Default: 6 (cyan)\n" +msgstr "# Farve pÃ¥ artikelemne\n" + "# Standard: 6 (cyan)\n" + +#: src/lang.c:2203 +msgid "Color of response counter" +msgstr "Farve pÃ¥ svartæller" + +#: src/lang.c:2204 +msgid "# Color of response counter\n" + "# Default: 2 (green)\n" +msgstr "# Farve pÃ¥ svartæller\n" + "# Standard: 2 (grøn)\n" + +#: src/lang.c:2210 +msgid "Color of sender (From:)" +msgstr "Farver pÃ¥ afsender (Fra:)" + +#: src/lang.c:2211 +msgid "# Color of sender (From:)\n" + "# Default: 2 (green)\n" +msgstr "# Farve pÃ¥ afsender (Fra:)\n" + "# Standard: 2 (grøn)\n" + +#: src/lang.c:2217 +msgid "Color of help/mail sign" +msgstr "Farve pÃ¥ hjælp-/posttegn" + +#: src/lang.c:2218 +msgid "# Color of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" +msgstr "# Farve pÃ¥ hjælp-/posttegn\n" + "# Standard: 4 (blÃ¥)\n" + +#: src/lang.c:2224 +msgid "Color of signatures" +msgstr "Farve pÃ¥ underskrifter" + +#: src/lang.c:2225 +msgid "# Color of signature\n" + "# Default: 4 (blue)\n" +msgstr "# Farve pÃ¥ underskrift\n" + "# Standard: 4 (blÃ¥)\n" + +#: src/lang.c:2231 +msgid "Color of highlighted URLs" +msgstr "Farve pÃ¥ fremhævede URL'er" + +#: src/lang.c:2232 +msgid "# Color of highlighted URLs\n" + "# Default: -1 (default color)\n" +msgstr "# Farve pÃ¥ fremhævede URL'er\n" + "# Standard: -1 (standardfarve)\n" + +#: src/lang.c:2238 +msgid "Color of verbatim blocks" +msgstr "Farve pÃ¥ verbatimblokke" + +#: src/lang.c:2239 +msgid "# Color of verbatim blocks\n" + "# Default: 5 (pink)\n" +msgstr "# Farve pÃ¥ verbatimblokke\n" + "# Standard: 5 (lyserød)\n" + +#: src/lang.c:2245 +msgid "Color of highlighting with *stars*" +msgstr "Farve pÃ¥ fremhævninger med *stjerner*" + +#: src/lang.c:2246 +msgid "# Color of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" +msgstr "# Farve pÃ¥ ordfremhævninger med *stjerner*\n" + "# Standard: 11 (gul)\n" + +#: src/lang.c:2252 +msgid "Color of highlighting with _dash_" +msgstr "Farve pÃ¥ fremhævning med _streg_" + +#: src/lang.c:2253 +msgid "# Color of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" +msgstr "# Farve pÃ¥ ordfremhævning med _streg_\n" + "# Standard: 13 (lyselilla)\n" + +#: src/lang.c:2259 +msgid "Color of highlighting with /slash/" +msgstr "Farve pÃ¥ fremhævninger med /skrÃ¥streg/" + +#: src/lang.c:2260 +msgid "# Color of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" +msgstr "# Farve pÃ¥ ordfremhævninger med /skrÃ¥streg/\n" + "# Standard: 14 (lyscyan)\n" + +# Er det ikke stroke der er skrÃ¥skreg? +# nej den er god nok med at slahs er skrÃ¥streg ligesom der stÃ¥r før +#: src/lang.c:2266 +msgid "Color of highlighting with -stroke-" +msgstr "Farve pÃ¥ fremhævning med -bindestreg-" + +#: src/lang.c:2267 +msgid "# Color of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" +msgstr "# Farve pÃ¥ ordfremhævning med -bindestreg-\n" + "# Standard: 12 (lysblÃ¥)\n" + +#: src/lang.c:2274 +msgid "Attr. of highlighting with *stars*" +msgstr "Attr. pÃ¥ fremhævninger med *stjerner*" + +#: src/lang.c:2275 +msgid "# Attributes of word highlighting on mono terminals\n" + "# Possible values are:\n" + "# 0 = Normal\n" + "# 1 = Underline\n" + "# 2 = Best highlighting\n" + "# 3 = Reverse video\n" + "# 4 = Blinking\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# Attribute of word highlighting with *stars*\n" + "# Default: 6 (bold)\n" +msgstr "# Attributer pÃ¥ ordfremhævninger pÃ¥ monoterminaler\n" + "# Mulige værdier er:\n" + "# 0 = Normal\n" + "# 1 = Understregning\n" + "# 2 = Bedste fremhævning\n" + "# 3 = Omvendt video\n" + "# 4 = Blinkende\n" + "# 5 = Halvlyst\n" + "# 6 = Fed\n" + "\n" + "# Attribut pÃ¥ ordfremhævning med *stjerner*\n" + "# Standard: 6 (fed)\n" + +#: src/lang.c:2290 +msgid "Attr. of highlighting with _dash_" +msgstr "" + +#: src/lang.c:2291 +msgid "# Attribute of word highlighting with _dash_\n" + "# Default: 2 (best highlighting)\n" +msgstr "" + +#: src/lang.c:2297 +msgid "Attr. of highlighting with /slash/" +msgstr "" + +#: src/lang.c:2298 +msgid "# Attribute of word highlighting with /slash/\n" + "# Default: 5 (half bright)\n" +msgstr "" + +#: src/lang.c:2304 +msgid "Attr. of highlighting with -stroke-" +msgstr "" + +#: src/lang.c:2305 +msgid "# Attribute of word highlighting with -stroke-\n" + "# Default: 3 (reverse video)\n" +msgstr "" + +#: src/lang.c:2311 +msgid "URL highlighting in message body" +msgstr "" + +#: src/lang.c:2312 +msgid "# Enable URL highlighting?\n" +msgstr "" + +#: src/lang.c:2317 +msgid "Word highlighting in message body" +msgstr "" + +#: src/lang.c:2318 +msgid "# Enable word highlighting?\n" +msgstr "" + +#: src/lang.c:2323 +msgid "What to display instead of mark" +msgstr "" + +#: src/lang.c:2324 +msgid "# Should the leading and ending stars and dashes also be displayed,\n" + "# even when they are highlighting marks?\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = no\n" + "# 1 = yes, display mark\n" + "# * 2 = print a space instead\n" +msgstr "" + +#: src/lang.c:2333 +msgid "Enter column number to wrap article lines to in the pager. sets." +msgstr "" + +#: src/lang.c:2334 +msgid "Page line wrap column" +msgstr "" + +#: src/lang.c:2335 +msgid "# Wrap article lines at column\n" +msgstr "" + +#: src/lang.c:2340 +msgid "Wrap around threads on next unread" +msgstr "" + +#: src/lang.c:2341 +msgid "# If ON wrap around threads on searching next unread article\n" +msgstr "" + +#: src/lang.c:2345 +msgid "Enter default mail address (and fullname). sets." +msgstr "" + +#: src/lang.c:2346 src/lang.c:2770 +msgid "Mail address (and fullname)" +msgstr "Postadresse (og fulde navn)" + +#: src/lang.c:2347 +msgid "# User's mail address (and fullname), if not username@host (fullname)\n" +msgstr "" + +#: src/lang.c:2352 +msgid "Show empty Followup-To in editor" +msgstr "" + +#: src/lang.c:2353 +msgid "# If ON show empty Followup-To header when editing an article\n" +msgstr "" + +#: src/lang.c:2357 +msgid "Enter path/! command/--none to create your default signature. sets." +msgstr "" + +#: src/lang.c:2358 +msgid "Create signature from path/command" +msgstr "" + +#: src/lang.c:2359 +msgid "# Signature path (random sigs)/file to be used when posting/replying\n" + "# sigfile=file appends file as signature\n" + "# sigfile=!command executes external command to generate a signature\n" + "# sigfile=--none don't append a signature\n" +msgstr "" + +#: src/lang.c:2366 +msgid "Prepend signature with \"-- \" on own line. toggles & sets." +msgstr "" + +#: src/lang.c:2367 +msgid "Prepend signature with \"-- \"" +msgstr "" + +#: src/lang.c:2368 +msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" +msgstr "" + +#: src/lang.c:2372 +msgid "Add signature when reposting articles. toggles & sets." +msgstr "" + +#: src/lang.c:2373 +msgid "Add signature when reposting" +msgstr "" + +#: src/lang.c:2374 +msgid "# If ON add signature to reposted articles\n" +msgstr "" + +#: src/lang.c:2378 +#, c-format +msgid "Enter quotation marks, %s or %S for author's initials." +msgstr "" + +#: src/lang.c:2379 +msgid "Characters used as quote-marks" +msgstr "" + +#: src/lang.c:2380 +#, c-format +msgid "# Characters used in quoting to followups and replies.\n" + "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" +msgstr "" + +#: src/lang.c:2386 +msgid "Quoting behavior" +msgstr "" + +#: src/lang.c:2387 +msgid "# How quoting should be handled when following up or replying.\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = Nothing special\n" + "# 1 = Compress quotes\n" + "# 2 = Quote signatures\n" + "# 3 = Compress quotes, quote signatures\n" + "# 4 = Quote empty lines\n" + "# * 5 = Compress quotes, quote empty lines\n" + "# 6 = Quote signatures, quote empty lines\n" + "# 7 = Compress quotes, quote signatures, quote empty lines\n" +msgstr "" + +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 +msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" +msgstr "" + +#: src/lang.c:2401 +msgid "Quote line when following up" +msgstr "" + +#: src/lang.c:2402 +#, c-format +msgid "# Format of quote line when mailing/posting/following-up an article\n" + "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" + "# %%N Full Name %%C First Name %%I Initials\n" +msgstr "" + +#: src/lang.c:2409 +msgid "Quote line when cross-posting" +msgstr "" + +#: src/lang.c:2415 +msgid "Quote line when mailing" +msgstr "" + +#: src/lang.c:2420 +msgid "If ON, include User-Agent: header. toggles & sets." +msgstr "" + +#: src/lang.c:2421 +msgid "Insert 'User-Agent:' header" +msgstr "" + +#: src/lang.c:2422 +msgid "# If ON include advertising User-Agent: header\n" +msgstr "" + +#: src/lang.c:2427 +msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "" + +#: src/lang.c:2428 +msgid "MM_CHARSET" +msgstr "" + +#: src/lang.c:2429 +msgid "# Charset supported locally which is also used for MIME header and\n" + "# Content-Type header.\n" + "# If not set, the value of the environment variable MM_CHARSET is used.\n" + "# Set to US-ASCII or compile time default if neither of them is defined.\n" + "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" + "# mm_charset is considered not displayable and represented as '?'.\n" +msgstr "" + +#: src/lang.c:2439 +msgid "MM_NETWORK_CHARSET" +msgstr "" + +#: src/lang.c:2440 +msgid "# Charset used for MIME (Content-Type) header in postings.\n" +msgstr "" + +#: src/lang.c:2444 +msgid "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "" + +#: src/lang.c:2445 +msgid "MM_LOCAL_CHARSET" +msgstr "" + +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "" + +#: src/lang.c:2453 +msgid "Mailbox format" +msgstr "" + +#: src/lang.c:2454 +msgid "# Format of the mailbox.\n" +msgstr "# Format pÃ¥ postkassen.\n" + +#: src/lang.c:2459 +msgid "MIME encoding in news messages" +msgstr "" + +#: src/lang.c:2460 +msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" + "# for mails and posts, if necessary. QP is efficient for most European\n" + "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" + "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" + "# Russian charsets with a lot of 8bit characters.\n" +msgstr "" + +#: src/lang.c:2468 src/lang.c:2489 +msgid "Don't change unless you know what you are doing. cancels." +msgstr "" + +#: src/lang.c:2469 +msgid "Use 8bit characters in news headers" +msgstr "" + +#: src/lang.c:2470 +msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in header are encoded regardless of the value of this\n" + "# parameter unless post_mime_encoding is 8bit as well.\n" +msgstr "" + +#: src/lang.c:2477 +msgid "Auto-view post-processed files toggles, sets, cancels." +msgstr "" + +#: src/lang.c:2478 +msgid "View post-processed files" +msgstr "" + +#: src/lang.c:2479 +msgid "# If set, post processed files will be opened in a viewer\n" +msgstr "" + +#: src/lang.c:2484 +msgid "MIME encoding in mail messages" +msgstr "" + +#: src/lang.c:2490 +msgid "Use 8bit characters in mail headers" +msgstr "" + +#: src/lang.c:2491 +msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in headers are encoded regardless of the value of this " + "parameter\n" + "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" + "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" + "# turn it ON unless you have some compelling reason.\n" +msgstr "" + +#: src/lang.c:2501 +msgid "Strip blanks from ends of lines" +msgstr "" + +#: src/lang.c:2502 +msgid "# If ON strip blanks from ends of lines for faster display on slow " + "terminals.\n" +msgstr "" + +#: src/lang.c:2507 +msgid "If ON, use transliteration. toggles & sets." +msgstr "" + +#: src/lang.c:2508 +msgid "Transliteration" +msgstr "" + +#: src/lang.c:2509 +msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" + "# be represented in the in the target character set, it can be approximated\n" + "# through one or several similarly looking characters.\n" +msgstr "" + +#: src/lang.c:2517 +msgid "Send you a Cc/Bcc automatically" +msgstr "" + +#: src/lang.c:2518 +msgid "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = No\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc and Bcc\n" +msgstr "" + +#: src/lang.c:2527 +msgid "Enter address elements about which you want to be warned. sets." +msgstr "" + +#: src/lang.c:2528 +msgid "Spamtrap warning address parts" +msgstr "" + +#: src/lang.c:2529 +msgid "# A comma-delimited list of address-parts you want to be warned\n" + "# about when trying to reply by email.\n" +msgstr "" + +#: src/lang.c:2534 +msgid "Enter default number of days a filter entry will be valid. sets." +msgstr "" + +#: src/lang.c:2535 +msgid "No. of days a filter entry is valid" +msgstr "Antal dage en filterpost er gyldig" + +#: src/lang.c:2536 +msgid "# Number of days a short term filter will be active\n" +msgstr "# Antal dage et korttidsfilter vil være aktivt\n" + +#: src/lang.c:2540 +msgid "Add posted articles to filter. toggles & sets." +msgstr "" + +#: src/lang.c:2541 +msgid "Add posted articles to filter" +msgstr "" + +#: src/lang.c:2542 +msgid "# If ON add posted articles which start a new thread to filter for\n" + "# highlighting follow-ups\n" +msgstr "" + +#: src/lang.c:2546 +msgid "The directory where articles/threads are to be saved in mailbox format." +msgstr "" + +#: src/lang.c:2547 +msgid "Mail directory" +msgstr "Postmappe" + +#: src/lang.c:2548 +msgid "# (-m) directory where articles/threads are saved in mailbox format\n" +msgstr "" + +#: src/lang.c:2553 +msgid "Save articles in batch mode (-S)" +msgstr "" + +#: src/lang.c:2554 +msgid "# If ON articles/threads will be saved in batch mode when save -S\n" + "# or mail (-M/-N) is specified on the command line\n" +msgstr "" + +#: src/lang.c:2559 +msgid "The directory where you want articles/threads saved." +msgstr "" + +#: src/lang.c:2560 +msgid "Directory to save arts/threads in" +msgstr "" + +#: src/lang.c:2561 +msgid "# Directory where articles/threads are saved\n" +msgstr "# Mappe hvor artikler/trÃ¥de gemmes\n" + +#: src/lang.c:2565 +msgid "Auto save article/thread by Archive-name: header. toggles & sets." +msgstr "" + +#: src/lang.c:2566 +msgid "Use Archive-name: header for save" +msgstr "" + +#: src/lang.c:2567 +msgid "# If ON articles/threads with Archive-name: in mail header will\n" + "# be automatically saved with the Archive-name & part/patch no.\n" +msgstr "" + +#: src/lang.c:2572 +msgid "Mark saved articles/threads as read. toggles, sets, " + "cancels." +msgstr "" + +#: src/lang.c:2573 +msgid "Mark saved articles/threads as read" +msgstr "" + +#: src/lang.c:2574 +msgid "# If ON mark articles that are saved as read\n" +msgstr "" + +#: src/lang.c:2578 +msgid "Do post processing (eg. extract attachments) for saved articles." +msgstr "" + +#: src/lang.c:2579 +msgid "Post process saved articles" +msgstr "" + +#: src/lang.c:2580 +msgid "# Perform post processing (saving binary attachments) from saved articles.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no\n" + "# 1 = extract shell archives (shar) only\n" + "# 2 = yes\n" +msgstr "" + +#: src/lang.c:2589 +msgid "Process only unread articles" +msgstr "Behandl kun ulæste artikler" + +#: src/lang.c:2590 +msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" +msgstr "" + +#: src/lang.c:2595 +msgid "Print all or just part of header. toggles & sets." +msgstr "" + +#: src/lang.c:2596 +msgid "Print all headers when printing" +msgstr "" + +#: src/lang.c:2597 +msgid "# If ON print all of article header otherwise just the important lines\n" +msgstr "" + +#: src/lang.c:2601 +msgid "The printer program with options that is to be used to print articles/threads." +msgstr "Printerprogrammet med indstillinger som vil blive brugt til at udskrive " + "artikler/trÃ¥de." + +#: src/lang.c:2602 +msgid "Printer program with options" +msgstr "Printerprogram med indstillinger" + +#: src/lang.c:2603 +msgid "# Print program with parameters used to print articles/threads\n" +msgstr "" + +#: src/lang.c:2609 +msgid "Force redraw after certain commands" +msgstr "" + +#: src/lang.c:2610 +msgid "# If ON a screen redraw will always be done after certain external commands\n" +msgstr "" + +#: src/lang.c:2614 +msgid "Start editor with line offset. toggles, sets, cancels." +msgstr "" + +#: src/lang.c:2615 +msgid "Start editor with line offset" +msgstr "" + +#: src/lang.c:2616 +msgid "# If ON editor will be started with cursor offset into the file\n" + "# otherwise the cursor will be positioned at the first line\n" +msgstr "" + +#: src/lang.c:2621 +msgid "Enter %E for editor, %F for filename, %N for line-number, to set." +msgstr "" + +#: src/lang.c:2622 +msgid "Invocation of your editor" +msgstr "" + +#: src/lang.c:2623 +#, c-format +msgid "# Format of editor line including parameters\n" + "# %%E Editor %%F Filename %%N Linenumber\n" +msgstr "" + +#: src/lang.c:2628 +msgid "Enter name and options for external-inews, --internal for internal inews" +msgstr "" + +#: src/lang.c:2629 +msgid "External inews" +msgstr "" + +#: src/lang.c:2630 +msgid "# If --internal use the built in mini inews for posting via NNTP\n" + "# otherwise use an external inews program\n" +msgstr "" + +#: src/lang.c:2634 +msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." +msgstr "" + +#: src/lang.c:2635 +msgid "Invocation of your mail command" +msgstr "" + +#: src/lang.c:2636 +#, c-format +msgid "# Format of mailer line including parameters\n" + "# %%M Mailer %%S Subject %%T To %%F Filename\n" + "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" + "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" +msgstr "" + +#: src/lang.c:2644 +msgid "Use interactive mail reader" +msgstr "" + +#: src/lang.c:2645 +msgid "# Interactive mailreader\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no interactive mailreader\n" + "# 1 = use interactive mailreader with headers in file\n" + "# 2 = use interactive mailreader without headers in file\n" +msgstr "" + +#: src/lang.c:2654 +msgid "Remove ~/.article after posting" +msgstr "" + +#: src/lang.c:2655 +msgid "# If ON remove ~/.article after posting.\n" +msgstr "" + +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" + +#: src/lang.c:2662 +msgid "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" + +#: src/lang.c:2667 +msgid "Filename for all posted articles, sets, no filename=do not save." +msgstr "" + +#: src/lang.c:2668 +msgid "Filename for posted articles" +msgstr "Filnavn for indsendte artikler" + +#: src/lang.c:2669 +msgid "# Filename where to keep all postings (default posted)\n" + "# If no filename is set then postings will not be saved\n" +msgstr "" + +#: src/lang.c:2674 +msgid "Keep all failed articles in ~/dead.articles. toggles & sets." +msgstr "" + +#: src/lang.c:2675 +msgid "Keep failed arts in ~/dead.articles" +msgstr "" + +#: src/lang.c:2676 +msgid "# If ON keep all failed postings in ~/dead.articles\n" +msgstr "" + +#: src/lang.c:2680 +msgid "Do you want to strip unsubscribed groups from .newsrc" +msgstr "" + +#: src/lang.c:2681 +msgid "No unsubscribed groups in newsrc" +msgstr "" + +#: src/lang.c:2682 +msgid "# If ON strip unsubscribed groups from newsrc\n" +msgstr "" + +#: src/lang.c:2687 +msgid "Remove bogus groups from newsrc" +msgstr "" + +#: src/lang.c:2688 +msgid "# What to do with bogus groups in newsrc file\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = keep\n" + "# 1 = remove\n" + "# 2 = highlight with D on selection screen\n" +msgstr "" + +#: src/lang.c:2696 +msgid "Enter number of seconds until active file will be reread. sets." +msgstr "" + +#: src/lang.c:2697 +msgid "Interval in secs to reread active" +msgstr "" + +#: src/lang.c:2698 +msgid "# Time interval in seconds between rereading the active file (0=never)\n" +msgstr "" + +#: src/lang.c:2703 +msgid "Reconnect to server automatically" +msgstr "" + +#: src/lang.c:2704 +msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" +msgstr "" + +#: src/lang.c:2708 +msgid "Create local copies of NNTP overview files. toggles & sets." +msgstr "" + +#: src/lang.c:2709 +msgid "Cache NNTP overview files locally" +msgstr "" + +#: src/lang.c:2710 +msgid "# If ON, create local copies of NNTP overview files.\n" +msgstr "" + +#: src/lang.c:2714 +msgid "Enter format string. sets, cancels." +msgstr "" + +#: src/lang.c:2715 +msgid "Format string for display of dates" +msgstr "" + +#: src/lang.c:2716 +msgid "# Format string for date representation\n" +msgstr "" + +#: src/lang.c:2722 +msgid "Unicode normalization form" +msgstr "" + +#: src/lang.c:2723 +msgid "# Unicode normalization form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" +msgstr "" + +#: src/lang.c:2735 +msgid "Render BiDi" +msgstr "" + +#: src/lang.c:2736 +msgid "# If ON, bi-directional text is rendered by tin\n" +msgstr "" + +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "" + +#: src/lang.c:2752 +msgid "Delete post-process files" +msgstr "" + +#: src/lang.c:2757 +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "" + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "" + +#: src/lang.c:2763 +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "" + +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "" + +#: src/lang.c:2769 +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "" + +#: src/lang.c:2776 +msgid "Path and options for ispell-like spell-checker. sets, cancels." +msgstr "" + +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "Ispellprogram" + +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "" + +#: src/lang.c:2784 +msgid "Mailing list address" +msgstr "Adresse pÃ¥ postliste" + +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "Videresend artikler som bilag" + +#: src/lang.c:2795 +msgid "A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "En kommaadskilt liste af MIME store/smÃ¥ Content-typer. afbryder." + +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "Hvilke MIME-typer vil blive gemt" + +#: src/lang.c:2801 +msgid "Value of the Organization: header. sets, cancels." +msgstr "" + +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "" + +#: src/lang.c:2807 +msgid "Filename for saved articles. sets, cancels." +msgstr "" + +#: src/lang.c:2808 +msgid "savefile" +msgstr "" + +#: src/lang.c:2813 src/lang.c:2837 +msgid "Scope for the filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2814 +msgid "Quick (1 key) select filter scope" +msgstr "" + +#: src/lang.c:2819 src/lang.c:2843 +msgid "Header for filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" + +#: src/lang.c:2825 src/lang.c:2849 +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "" + +#: src/lang.c:2826 +msgid "Quick (1 key) select filter case" +msgstr "" + +#: src/lang.c:2831 src/lang.c:2855 +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "" + +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" + +#: src/lang.c:2838 +msgid "Quick (1 key) kill filter scope" +msgstr "" + +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" + +#: src/lang.c:2850 +msgid "Quick (1 key) kill filter case" +msgstr "" + +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" + +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "" + +#: src/lang.c:2863 +msgid "UNDECLARED_CHARSET" +msgstr "" + +#: src/lang.c:2869 +msgid "Add this text at the start of the message body. sets, cancels." +msgstr "" + +#: src/lang.c:2870 +msgid "X_Body" +msgstr "X_Body" + +#: src/lang.c:2875 +msgid "Insert this header when posting. sets, cancels." +msgstr "" + +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "X_Headers" + +#: src/lang.c:2881 +msgid "Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "" + +#: src/lang.c:2882 +msgid "Insert 'X-Comment-To:' header" +msgstr "" + +#: src/misc.c:3754 +#, c-format +msgid "Version: %s %s release %s (\"%s\") %s %s\n" +msgstr "Version: %s %s udgave %s (»%s«) %s %s\n" + +#: src/misc.c:3757 +#, c-format +msgid "Version: %s %s release %s (\"%s\")\n" +msgstr "Version: %s %s udgave %s (»%s«)\n" + +#: src/newsrc.c:453 +msgid "Unreachable?\n" +msgstr "" + +#: src/nntplib.c:819 +#, c-format +msgid "\n" + "Server timed out, trying reconnect # %d\n" +msgstr "" + +#: src/nntplib.c:855 src/nntplib.c:1830 +msgid "Rejoin current group\n" +msgstr "" + +#: src/nntplib.c:863 src/nntplib.c:1838 +#, c-format +msgid "Read (%s)\n" +msgstr "Læst (%s)\n" + +#: src/nntplib.c:865 +#, c-format +msgid "Resend last command (%s)\n" +msgstr "" + +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "" + +#: src/nntplib.c:1979 +msgid "MOTD: " +msgstr "" + +#: src/nrctbl.c:175 +#, c-format +msgid "couldn't expand %s\n" +msgstr "kunne ikke udvide %s\n" + +#: src/post.c:1307 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is neither set to %s nor to %s\n" +msgstr "" + +#: src/post.c:1312 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" + "posting doesn't contain any 8bit chars and thus folding won't happen\n" +msgstr "" + +#: src/post.c:1314 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is not set to %s\n" +msgstr "" + +#: src/post.c:2278 +#, c-format +msgid "Posting: %.*s ..." +msgstr "" + +#. Check if okay to read +#: src/read.c:197 +msgid "Aborting read, please wait..." +msgstr "Afbryder læsning, vent venligst..." + +#: src/read.c:344 +msgid "Aborted read\n" +msgstr "Afbrød læsning\n" + +#: src/read.c:399 +msgid "Draining\n" +msgstr "" + +#: src/refs.c:232 +msgid "unchanged" +msgstr "uændret" + +#: src/refs.c:599 +msgid "[- Unavailable -]" +msgstr "[- Utilgængelig -]" + +#. +#. * preamble +#. * TODO: -> lang.c +#. +#: src/rfc2047.c:1287 +#, c-format +msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" + "are reading this prefix, your mail reader probably has not yet been modified\n" + "to understand the new format, and some of what follows may look strange.\n" + "\n" +msgstr "" + +#: src/save.c:1045 +msgid "bytes" +msgstr "byte" + +#: src/select.c:378 +msgid "unread" +msgstr "ulæste" + +#: src/select.c:378 +msgid "all" +msgstr "alle" + +#: src/select.c:554 src/select.c:556 +msgid " R" +msgstr "" + +#: src/xface.c:70 +msgid "Can't run slrnface: Not running in a xterm." +msgstr "Kan ikke køre slrnface: Kører ikke i en xterm." + +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 +#, c-format +msgid "Can't run slrnface: Environment variable %s not found." +msgstr "Kan ikke køre slrnface: Miljøvariabel %s ikke fundet." + +#: src/xface.c:111 src/xface.c:143 +#, c-format +msgid "Can't run slrnface: failed to create %s" +msgstr "Kan ikke køre slrnface: Kunne ikke oprette %s" + +#: src/xface.c:121 +msgid "This directory is used to create named pipes for communication between\n" + "slrnface and its parent process. It should normally be empty because\n" + "the pipe is deleted right after it has been opened by both processes.\n" + "\n" + "File names generated by slrnface have the form \"hostname.pid\". It is\n" + "probably an error if they linger here longer than a fraction of a second.\n" + "\n" + "However, if the directory is mounted from an NFS server, you might see\n" + "special files created by your NFS server while slrnface is running.\n" + "Do not try to remove them.\n" +msgstr "" + +#: src/xface.c:135 +msgid "Can't run slrnface: couldn't construct fifo name." +msgstr "Kan ikke køre slrnface: Kunne ikke konstruere fifo-navn." + +#: src/xface.c:174 +#, c-format +msgid "Slrnface abnormally exited, code %d." +msgstr "Slrnface blev unormalt afbrudt, kode %d." + +#: src/xface.c:218 +#, c-format +msgid "Slrnface failed: %s." +msgstr "Slrnface mislykkedes: %s." Binary files tin-1.8.3/po/de.gmo and tin-2.0.0/po/de.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/de.po tin-2.0.0/po/de.po --- tin-1.8.3/po/de.po 2007-02-01 13:58:03.000000000 +0100 +++ tin-2.0.0/po/de.po 2011-08-22 18:32:41.055218373 +0200 @@ -1,6626 +1,7620 @@ -# German translations for tin -# Sven Hartge , 2000-2002 -# Kai Bojens , 2000-2002 -# Andreas Metzler , 2001-2003 -# Christian Garbs , 2003 +# German translations for tin. +# Sven Hartge , 2000-2002. +# Kai Bojens , 2000-2002. +# Andreas Metzler , 2001-2003. +# Christian Garbs , 2003. # -msgid "" -msgstr "Project-Id-Version: tin 1.8.3\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-02-01 13:57+0100\n" - "PO-Revision-Date: 2005-01-29 23:50+0100\n" - "Last-Translator: Sven Hartge , Kai Bojens \n" - "Language-Team: German \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=ISO-8859-1\n" - "Content-Transfer-Encoding: 8bit\n" +msgid "" +msgstr "Project-Id-Version: tin 1.9.6\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2011-08-22 18:32+0200\n" + "PO-Revision-Date: 2005-01-29 23:50+0100\n" + "Last-Translator: Christian Garbs \n" + "Language-Team: German \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=ISO-8859-1\n" + "Content-Transfer-Encoding: 8bit\n" -#: src/art.c:1534 +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 #, c-format -msgid "%d Bad overview record (%d fields) '%s'" -msgstr "%d Fehlerhafter Overview-Datensatz (%d Felder) '%s'" +msgid "attribute with no scope: %s" +msgstr "Attribut ohne Gültigkeitsbereich: %s" -#: src/attrib.c:649 +#: src/attrib.c:884 +msgid "Processing attributes... " +msgstr "Verarbeite Attribute... " + +#: src/attrib.c:1102 #, c-format -msgid "# Do not edit this comment block\n" - "#\n" -msgstr "# Diesen Kommentarabschnitt nicht verändern\n" - "#\n" +msgid "# Do not edit this comment block\n" + "#\n" +msgstr "# Diesen Kommentarabschnitt nicht verändern\n" + "#\n" -#: src/attrib.c:650 +#: src/attrib.c:1103 #, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" -msgstr "# scope=ZEICHENKETTE [notwendig]\n" - "# Gültigkeitsbereich, z.B. alt.*,!alt.bin*\n" +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" +msgstr "# scope=ZEICHENKETTE [notwendig]\n" + "# Gültigkeitsbereich, z.B. alt.*,!alt.bin*\n" -#: src/attrib.c:651 +#: src/attrib.c:1104 #, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" -msgstr "# maildir=ZEICHENKETTE\n" - "# Verzeichnis der Mail-Ordner, z.B. ~/Mail\n" +msgid "# add_posted_to_filter=ON/OFF\n" +msgstr "# add_posted_to_filter=ON/OFF\n" + "# Filtereintrag erzeugen für eigene Postings\n" -#: src/attrib.c:652 +#: src/attrib.c:1105 #, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" -msgstr "# savedir=ZEICHENKETTE\n" - "# Verzeichnis zum Speichern, z.B. ~user/News\n" +msgid "# advertising=ON/OFF\n" +msgstr "# advertising=ON/OFF\n" + "# User-Agent:-Header einfügen\n" -#: src/attrib.c:653 +#: src/attrib.c:1106 #, c-format -msgid "# savefile=STRING (ie. =linux)\n" -msgstr "# savefile=ZEICHENKETTE\n" - "# Datei zum Speichern, z.B. =linux\n" +msgid "# alternative_handling=ON/OFF\n" +msgstr "# alternative_handling=ON/OFF\n" + "# MIME multipart/alternative-Teile ausblenden\n" -#: src/attrib.c:654 +#: src/attrib.c:1107 #, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" -msgstr "# sigfile=ZEICHENKETTE\n" - "# Signatur, z.B. $var/sig\n" +msgid "# ask_for_metamail=ON/OFF\n" +msgstr "# ask_for_metamail=ON/OFF\n" + "# Start des MIME-Viewers erst nach Bestätigung\n" -#: src/attrib.c:655 +#: src/attrib.c:1108 #, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" -msgstr "# organization=ZEICHENKETTE\n" - "# Organization-Header; ist das erste Zeichen ein '/', wird der\n" - "# Wert aus dieser Datei gelesen.\n" +msgid "# auto_cc_bcc=NUM\n" +msgstr "# auto_cc_bcc=ZAHL\n" -#: src/attrib.c:656 +#: src/attrib.c:1109 #, c-format -msgid "# followup_to=STRING\n" -msgstr "# followup_to=ZEICHENKETTE\n" - "# Voreinstellung für den Followup-To-Header\n" +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "# 0=Nein, 1=Cc, 2=Bcc, 3=Cc und Bcc\n" -#: src/attrib.c:657 +#: src/attrib.c:1110 #, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" -msgstr "# mailing_list=ZEICHENKETTE\n" - "# Gruppe ist eine gegatete Mailingliste, z.B. majordomo@example.org\n" +msgid "# auto_list_thread=ON/OFF\n" +msgstr "" -#: src/attrib.c:658 +#: src/attrib.c:1111 #, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" -msgstr "# x_headers=ZEICHENKETTE\n" - "# Zusätzliche Header, z.B. ~/.tin/extra-headers\n" +msgid "# auto_save=ON/OFF\n" +msgstr "# auto_save=ON/OFF\n" + "# Artikel mit Archive-name:-Header automatisch in die darin\n" + "# angegebene Datei speichern\n" -#: src/attrib.c:659 +#: src/attrib.c:1112 #, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" -msgstr "# x_body=ZEICHENKETTE\n" - "# Text wird automatisch zu Beginn des Artikels eingefügt,\n" - "# z.B. ~/.tin/extra-body-text\n" +msgid "# auto_select=ON/OFF\n" +msgstr "# auto_select=ON/OFF\n" + "# Führe GroupMarkUnselArtRead Kommando automatisch beim Betreten\n" + "# der Gruppe aus\n" -#: src/attrib.c:660 +#: src/attrib.c:1113 #, c-format -msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" -msgstr "# from=ZEICHENKETTE\n" - "# Absender, einfach den gewünschten Wert eintragen,\n" - "# keine Anführungszeichen verwenden\n" +msgid "# batch_save=ON/OFF\n" +msgstr "# batch_save=ON/OFF\n" + "# Im Batch-Modus werden die Artikel beachtet\n" -#: src/attrib.c:661 +#: src/attrib.c:1114 #, c-format -msgid "# news_quote_format=STRING\n" -msgstr "# news_quote_format=ZEICHENKETTE\n" - "# Einleitungszeile, z.B. news_quote_format=In %%M, %%F wrote:\n" +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "# date_format=ZEICHENKETTE\n" + "# z.B. %%a, %%d %%b %%Y %%H:%%M:%%S\n" -#: src/attrib.c:662 +#: src/attrib.c:1115 #, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" -msgstr "# quote_chars=ZEICHENKETTE\n" - "# Zeichen für Zitate in Antworten, %%s oder %%S ergibt Autoreninitialien\n" +msgid "# delete_tmp_files=ON/OFF\n" +msgstr "# delete_tmp_files=ON/OFF\n" + "# Gespeicherte, zur Nachbearbeitung weitergegebene Artikel ohne\n" + "# Nachfrage löschen\n" -#: src/attrib.c:663 +#: src/attrib.c:1116 #, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" -msgstr "# mime_types_to_save=ZEICHENKETTE\n" - "# z.B. image/*,!image/bmp\n" +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" +msgstr "# editor_format=ZEICHENKETTE\n" + "# z.B. %%E +%%N %%F\n" -#: src/attrib.c:665 +#: src/attrib.c:1117 #, c-format -msgid "# ispell=STRING\n" -msgstr "# ispell=ZEICHENKETTE\n" - "# Aufruf der Rechtschreibprüfung,\n" - "# z.B. ispell -C -ddeutsch -w äöüÄÖÜß@ -Tlatin1\n" +msgid "# fcc=STRING (eg. =mailbox)\n" +msgstr "# fcc=ZEICHENKETTE\n" + "# Datei in der eine Kopie der Mail abgelegt werden soll,\n" + "# z.B.: =mailbox\n" -#: src/attrib.c:667 +#: src/attrib.c:1118 #, c-format -msgid "# auto_select=ON/OFF\n" -msgstr "# auto_select=ON/OFF\n" - "# Führe GroupMarkUnselArtRead Kommando automatisch beim Betreten\n" - "# der Gruppe aus\n" +msgid "# followup_to=STRING\n" +msgstr "# followup_to=ZEICHENKETTE\n" + "# Voreinstellung für den Followup-To:-Header\n" -#: src/attrib.c:668 +#: src/attrib.c:1119 #, c-format -msgid "# auto_save=ON/OFF\n" -msgstr "# auto_save=ON/OFF\n" - "# Artikel mit 'Archive-name:'-Header automatisch in die darin\n" - "# angegebene Datei speichern\n" +msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" +msgstr "# from=ZEICHENKETTE\n" + "# Absender, einfach den gewünschten Wert eintragen,\n" + "# keine Anführungszeichen verwenden\n" -#: src/attrib.c:669 +#: src/attrib.c:1120 #, c-format -msgid "# batch_save=ON/OFF\n" -msgstr "# batch_save=ON/OFF\n" - "# Im Batch-Modus werden die Artikel beachtet\n" +msgid "# group_catchup_on_exit=ON/OFF\n" +msgstr "" -#: src/attrib.c:670 +#: src/attrib.c:1121 #, c-format -msgid "# delete_tmp_files=ON/OFF\n" -msgstr "# delete_tmp_files=ON/OFF\n" - "# Gespeicherte, zur Nachbearbeitung weitergegebene Artikel ohne\n" - "# Nachfrage löschen\n" +msgid "# mail_8bit_header=ON/OFF\n" +msgstr "" -#: src/attrib.c:671 +#: src/attrib.c:1122 #, c-format -msgid "# show_only_unread=ON/OFF\n" -msgstr "# show_only_unread=ON/OFF\n" - "# nur ungelesene Artikel anzeigen\n" +msgid "# mail_mime_encoding=supported_encoding" +msgstr "# mail_mime_encoding=ZEICHENKETTE" -#: src/attrib.c:672 +#: src/attrib.c:1130 #, c-format -msgid "# thread_arts=NUM" -msgstr "# thread_arts=ZAHL\n" - "# Threading nach:" +msgid "# ispell=STRING\n" +msgstr "# ispell=ZEICHENKETTE\n" + "# Aufruf der Rechtschreibprüfung,\n" + "# z.B. ispell -C -ddeutsch -w äöüÄÖÜß@ -Tlatin1\n" -#: src/attrib.c:679 +#: src/attrib.c:1132 #, c-format -msgid "# thread_perc=NUM\n" -msgstr "# thread_perc=ZAHL\n" - "# Wieviel Prozent des Subjects müssen gleich sein?\n" +msgid "# maildir=STRING (eg. ~/Mail)\n" +msgstr "# maildir=ZEICHENKETTE\n" + "# Verzeichnis der Mail-Ordner, z.B. ~/Mail\n" -#: src/attrib.c:680 +#: src/attrib.c:1133 #, c-format -msgid "# show_author=NUM\n" -msgstr "# show_author=ZAHL\n" - "# Anzeige des From-Felds\n" +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" +msgstr "# mailing_list=ZEICHENKETTE\n" + "# Gruppe ist eine gegatete Mailingliste, z.B. majordomo@example.org\n" -#: src/attrib.c:686 +#: src/attrib.c:1134 #, c-format -msgid "# show_info=NUM\n" -msgstr "# show_info=ZAHL\n" +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgstr "# mime_types_to_save=ZEICHENKETTE\n" + "# z.B. image/*,!image/bmp\n" -#: src/attrib.c:692 +#: src/attrib.c:1135 #, c-format -msgid "# sort_art_type=NUM\n" -msgstr "# sort_art_type=ZAHL\n" - "# Artikel sortieren nach:\n" +msgid "# mark_ignore_tags=ON/OFF\n" +msgstr "" -#: src/attrib.c:710 +#: src/attrib.c:1136 #, c-format -msgid "# sort_threads_type=NUM\n" -msgstr "# sort_threads_type=ZAHL\n" - "# Threads sortieren nach:\n" +msgid "# mark_saved_read=ON/OFF\n" +msgstr "" -#: src/attrib.c:715 +#: src/attrib.c:1137 #, c-format -msgid "# post_proc_type=NUM\n" -msgstr "# post_proc_type=ZAHL\n" - "# Nachbearbeitung\n" +msgid "# mime_forward=ON/OFF\n" +msgstr "# mime_forward=ON/OFF\n" + "# Weitergeleitete Artikel als MIME-Anhang senden\n" -#: src/attrib.c:720 +#: src/attrib.c:1139 #, c-format -msgid "# quick_kill_scope=STRING (ie. talk.*)\n" -msgstr "# quick_kill_scope=ZEICHENKETTE\n" - "# Voreinstellung für Gültigkeitsbereich neuer Kill-Einträge,\n" - "# z.B. talk.*\n" +msgid "# mm_network_charset=supported_charset" +msgstr "# mm_network_charset=Zeichensatz\n" + "# Erlaubt sind folgende:" -#: src/attrib.c:721 +#: src/attrib.c:1146 #, c-format -msgid "# quick_kill_expire=ON/OFF\n" -msgstr "# quick_kill_expire=ON/OFF\n" - "# Kill verfällt automatisch\n" +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgstr "# undeclared_charset=Zeichensatz\n" + "# Voreinstellung ist US-ASCII\n" -#: src/attrib.c:722 +#: src/attrib.c:1148 #, c-format -msgid "# quick_kill_case=ON/OFF\n" -msgstr "# quick_kill_case=ON/OFF\n" - "# Kill beachtet Gross/Kleinschreibung\n" +msgid "# news_headers_to_display=STRING\n" +msgstr "# news_headers_to_display=ZEICHENKETTE\n" + "# Voreinstellung ist: Newsgroups Followup-To Summary Keywords X-Comment-" + "To\n" -#: src/attrib.c:723 +#: src/attrib.c:1149 #, c-format -msgid "# quick_kill_header=NUM\n" -msgstr "# quick_kill_header=ZAHL\n" - "# Killen nach:\n" +msgid "# news_headers_to_not_display=STRING\n" +msgstr "# news_headers_to_not_display=ZEICHENKETTE\n" -#: src/attrib.c:724 src/attrib.c:731 +#: src/attrib.c:1150 #, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" -msgstr "# 0=Subject (Gross/Kleinschreibung beachten), 1=Subject (G/K ignorieren)\n" +msgid "# news_quote_format=STRING\n" +msgstr "# news_quote_format=ZEICHENKETTE\n" + "# Einleitungszeile, z.B. news_quote_format=In %%M, %%F wrote:\n" -#: src/attrib.c:725 src/attrib.c:732 +#: src/attrib.c:1151 #, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" -msgstr "# 2=From (G/K beachten), 3=From (G/K ignorieren)\n" +msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgstr "# organization=ZEICHENKETTE\n" + "# Organization:-Header; ist das erste Zeichen ein '/', wird der\n" + "# Wert aus dieser Datei gelesen.\n" -#: src/attrib.c:726 src/attrib.c:733 +#: src/attrib.c:1152 #, c-format -msgid "# 4=msgid 5=lines\n" -msgstr "# 4=Message-ID, 5=Zeilen\n" +msgid "# pos_first_unread=ON/OFF\n" +msgstr "" -#: src/attrib.c:727 +#: src/attrib.c:1153 #, c-format -msgid "# quick_select_scope=STRING\n" -msgstr "# quick_select_scope=ZEICHENKETTE\n" - "# Voreinstellung für Gültigkeitsbereich neuer Auswahlregeln (Hochscoren)\n" +msgid "# post_8bit_header=ON/OFF\n" +msgstr "" -#: src/attrib.c:728 +#: src/attrib.c:1154 #, c-format -msgid "# quick_select_expire=ON/OFF\n" -msgstr "# quick_select_expire=ON/OFF\n" - "# Regel verfällt automatisch\n" +msgid "# post_mime_encoding=supported_encoding" +msgstr "# post_mime_encoding=ZEICHENKETTE" -#: src/attrib.c:729 +#: src/attrib.c:1161 #, c-format -msgid "# quick_select_case=ON/OFF\n" -msgstr "# quick_select_case=ON/OFF\n" - "# Regel beachtet Gross/Kleinschreibung\n" +msgid "# post_process_type=NUM\n" +msgstr "# post_process_type=ZAHL\n" + "# Nachbearbeitung\n" -#: src/attrib.c:730 +#: src/attrib.c:1166 #, c-format -msgid "# quick_select_header=NUM\n" -msgstr "# quick_select_header=NUM\n" - "# Auswählen (Hochscoren) nach:\n" +msgid "# post_process_view=ON/OFF\n" +msgstr "# post_process_view=ON/OFF\n" + "# Nachbearbeitete Artikel anzeigen\n" -#: src/attrib.c:734 +#: src/attrib.c:1167 #, c-format -msgid "# x_comment_to=ON/OFF\n" -msgstr "# x_comment_to=ON/OFF\n" - "# X-Comment-To:-Header einfügen.\n" - "# (Nur sinnvoll in nach Fido Technology Network gegateten Gruppen.)\n" +msgid "# quick_kill_scope=STRING (ie. talk.*)\n" +msgstr "# quick_kill_scope=ZEICHENKETTE\n" + "# Voreinstellung für Gültigkeitsbereich neuer Kill-Einträge,\n" + "# z.B. talk.*\n" -#: src/attrib.c:735 +#: src/attrib.c:1168 #, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" -msgstr "# fcc=ZEICHENKETTE\n" - "# Datei in der eine Kopie der Mail abgelegt werden soll,# z.B: " - "=mailbox\n" +msgid "# quick_kill_expire=ON/OFF\n" +msgstr "# quick_kill_expire=ON/OFF\n" + "# Kill verfällt automatisch\n" -#: src/attrib.c:736 +#: src/attrib.c:1169 #, c-format -msgid "# tex2iso_conv=ON/OFF\n" -msgstr "# tex2iso_conv=ON/OFF\n" - "# Automatische Umwandlung von TeX-Umlauten\n" +msgid "# quick_kill_case=ON/OFF\n" +msgstr "# quick_kill_case=ON/OFF\n" + "# Kill beachtet Groß/Kleinschreibung\n" -#: src/attrib.c:737 +#: src/attrib.c:1170 #, c-format -msgid "# mime_forward=ON/OFF\n" -msgstr "# mime_forward=ON/OFF\n" - "# Weitergeleitete Artikel als MIME-Anhang senden\n" +msgid "# quick_kill_header=NUM\n" +msgstr "# quick_kill_header=ZAHL\n" + "# Killen nach:\n" -#: src/attrib.c:739 +#: src/attrib.c:1171 src/attrib.c:1180 #, c-format -msgid "# mm_network_charset=supported_charset" -msgstr "# mm_network_charset=Zeichensatz\n" - "# Erlaubt sind folgende:" +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "# 0=Subject: (Groß/Kleinschreibung beachten), 1=Subject: (G/K ignorieren)\n" -#: src/attrib.c:746 +#: src/attrib.c:1172 src/attrib.c:1181 #, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" -msgstr "# undeclared_charset=ZEICHENKETTE\n" - "# Voreinstellung ist US-ASCII\n" +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "# 2=From: (G/K beachten), 3=From: (G/K ignorieren)\n" -#: src/attrib.c:748 +#: src/attrib.c:1173 src/attrib.c:1182 #, c-format -msgid "#\n" - "# Note that it is best to put general (global scoping)\n" -msgstr "#\n" - "# Es empfiehlt sich, zuerst allgemein gültige und danach spezielle,\n" +msgid "# 4=Message-ID: & full References: line\n" +msgstr "# 4=Message-ID: & alle References: Einträge\n" -#: src/attrib.c:749 +#: src/attrib.c:1174 src/attrib.c:1183 #, c-format -msgid "# entries first followed by group specific entries.\n" - "#\n" -msgstr "# nur für bestimmte Newsgruppen gültige Einträge aufzuführen.\n" - "#\n" +msgid "# 5=Message-ID: & last References: entry only\n" +msgstr "# 5=Message-ID: & letzter References: Eintrag\n" -#: src/attrib.c:750 +#: src/attrib.c:1175 src/attrib.c:1184 #, c-format -msgid "############################################################################\n" - "\n" -msgstr "############################################################################\n" - "\n" +msgid "# 6=Message-ID: entry only 7=Lines:\n" +msgstr "# 6=Message-ID: allein, 7=Lines:\n" -#: src/attrib.c:756 +#: src/attrib.c:1176 #, c-format -msgid "# include extra headers\n" -msgstr "# Zusätzliche Header einfügen\n" +msgid "# quick_select_scope=STRING\n" +msgstr "# quick_select_scope=ZEICHENKETTE\n" + "# Voreinstellung für Gültigkeitsbereich neuer Auswahlregeln (Hochscoren)\n" -#: src/attrib.c:764 +#: src/attrib.c:1177 #, c-format -msgid "# in *sources* set post process type to shar only\n" -msgstr "# in *sources* nur Nachbearbeitung mit shar\n" +msgid "# quick_select_expire=ON/OFF\n" +msgstr "# quick_select_expire=ON/OFF\n" + "# Regel verfällt automatisch\n" -#: src/attrib.c:768 +#: src/attrib.c:1178 #, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" -msgstr "# in *binaries* Nachbearbeitung ohne TeX2ISO umwandlung,\n" +msgid "# quick_select_case=ON/OFF\n" +msgstr "# quick_select_case=ON/OFF\n" + "# Regel beachtet Groß/Kleinschreibung\n" -#: src/attrib.c:769 +#: src/attrib.c:1179 #, c-format -msgid "# remove tmp files and set Followup-To: poster\n" -msgstr "# temporäre Dateien löschen und Followup-To: poster setzen\n" +msgid "# quick_select_header=NUM\n" +msgstr "# quick_select_header=NUM\n" + "# Auswählen (Hochscoren) nach:\n" -#: src/cook.c:499 -msgid "(unknown)" -msgstr "(unbekannt)" +#: src/attrib.c:1185 +#, c-format +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgstr "# quote_chars=ZEICHENKETTE\n" + "# Zeichen für Zitate in Antworten, %%s oder %%S ergibt Autoreninitialien\n" -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -msgid "Removed from the previous rule: " -msgstr "Aus der vorigen Regel gelöscht: " - -# TRANSLATION MISSING -#: src/keymap.c:271 -msgid "NULL" -msgstr "" +#: src/attrib.c:1187 +#, c-format +msgid "# print_header=ON/OFF\n" +msgstr "# print_header=ON/OFF\n" + "# Alle Header beim Drucken ausgeben\n" + +#: src/attrib.c:1189 +#, c-format +msgid "# process_only_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1190 +#, c-format +msgid "# prompt_followupto=ON/OFF\n" +msgstr "# prompt_followupto=ON/OFF\n" + "# Leeren Followup-To:-Header anzeigen beim Erstellen eines Artikels\n" + +#: src/attrib.c:1191 +#, c-format +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "# savedir=ZEICHENKETTE\n" + "# Verzeichnis zum Speichern, z.B. ~user/News\n" + +#: src/attrib.c:1192 +#, c-format +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "# savefile=ZEICHENKETTE\n" + "# Datei zum Speichern, z.B. =linux\n" + +#: src/attrib.c:1193 +#, c-format +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "# sigfile=ZEICHENKETTE\n" + "# Signatur, z.B. $var/sig\n" + +#: src/attrib.c:1194 +#, c-format +msgid "# show_author=NUM\n" +msgstr "# show_author=ZAHL\n" + "# Anzeige des From-Felds\n" + +#: src/attrib.c:1200 +#, c-format +msgid "# show_info=NUM\n" +msgstr "# show_info=ZAHL\n" + +#: src/attrib.c:1206 +#, c-format +msgid "# show_signatures=ON/OFF\n" +msgstr "# show_signatures=ON/OFF\n" + "# Signaturen anzeigen\n" + +#: src/attrib.c:1207 +#, c-format +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "# show_only_unread_arts=ON/OFF\n" + "# nur ungelesene Artikel anzeigen\n" + +#: src/attrib.c:1208 +#, c-format +msgid "# sigdashes=ON/OFF\n" +msgstr "# sigdashes=ON/OFF\n" + "# Signatur mit '\\n-- \\n' abtrennen\n" + +#: src/attrib.c:1209 +#, c-format +msgid "# signature_repost=ON/OFF\n" +msgstr "# signature_repost=ON/OFF\n" + "# Signatur beim Reposten anhängen\n" + +#: src/attrib.c:1210 +#, c-format +msgid "# sort_article_type=NUM\n" +msgstr "# sort_article_type=ZAHL\n" + "# Artikel sortieren nach:\n" + +#: src/attrib.c:1228 +#, c-format +msgid "# sort_threads_type=NUM\n" +msgstr "# sort_threads_type=ZAHL\n" + "# Threads sortieren nach:\n" + +#: src/attrib.c:1237 +#, c-format +msgid "# start_editor_offset=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1238 +#, c-format +msgid "# tex2iso_conv=ON/OFF\n" +msgstr "# tex2iso_conv=ON/OFF\n" + "# Automatische Umwandlung von TeX-Umlauten\n" + +#: src/attrib.c:1239 +#, c-format +msgid "# thread_catchup_on_exit=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1240 +#, c-format +msgid "# thread_articles=NUM" +msgstr "# thread_articles=ZAHL\n" + "# Threading nach:" + +#: src/attrib.c:1247 +#, c-format +msgid "# thread_perc=NUM\n" +msgstr "# thread_perc=ZAHL\n" + "# Wie viel Prozent des Subjects müssen gleich sein?\n" + +#: src/attrib.c:1248 +#, c-format +msgid "# trim_article_body=NUM\n" +msgstr "# trim_article_body=ZAHL\n" + +#: src/attrib.c:1249 +#, c-format +msgid "# 0 = Don't trim article body\n" +msgstr "# 0 = Artikelrumpf nicht anpassen\n" + +#: src/attrib.c:1250 +#, c-format +msgid "# 1 = Skip leading blank lines\n" +msgstr "# 1 = Führende Leerzeilen überspringen\n" + +#: src/attrib.c:1251 +#, c-format +msgid "# 2 = Skip trailing blank lines\n" +msgstr "# 2 = Abschliessende Leerzeilen überspringen\n" + +#: src/attrib.c:1252 +#, c-format +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "# 3 = Führende und abschliessende Leerzeilen überspringen\n" + +#: src/attrib.c:1253 +#, c-format +msgid "# 4 = Compact multiple blank lines between text blocks\n" +msgstr "" + +#: src/attrib.c:1254 +#, c-format +msgid "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" +msgstr "" + +#: src/attrib.c:1255 +#, c-format +msgid "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1256 +#, c-format +msgid "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1257 +#, c-format +msgid "# verbatim_handling=ON/OFF\n" +msgstr "# verbatim_handling=ON/OFF\n" + "# Wortgetreue Textblöcke erkennen\n" + +#: src/attrib.c:1258 +#, c-format +msgid "# wrap_on_next_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1259 +#, c-format +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" +msgstr "# x_body=ZEICHENKETTE\n" + "# Text wird automatisch zu Beginn des Artikels eingefügt,\n" + "# z.B. ~/.tin/extra-body-text\n" + +#: src/attrib.c:1260 +#, c-format +msgid "# x_comment_to=ON/OFF\n" +msgstr "# x_comment_to=ON/OFF\n" + "# X-Comment-To:-Header einfügen.\n" + "# (Nur sinnvoll in nach Fido Technology Network gegateten Gruppen.)\n" + +#: src/attrib.c:1261 +#, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" +msgstr "# x_headers=ZEICHENKETTE\n" + "# Zusätzliche Header, z.B. ~/.tin/extra-headers\n" + +#: src/attrib.c:1262 +#, c-format +msgid "#\n" + "# Note that it is best to put general (global scoping)\n" +msgstr "#\n" + "# Es empfiehlt sich, zuerst allgemein gültige und danach spezielle,\n" + +#: src/attrib.c:1263 +#, c-format +msgid "# entries first followed by group specific entries.\n" + "#\n" +msgstr "# nur für bestimmte Newsgruppen gültige Einträge aufzuführen.\n" + "#\n" + +#: src/attrib.c:1264 +#, c-format +msgid "############################################################################\n" +msgstr "############################################################################\n" + +#: src/cook.c:625 +msgid "(unknown)" +msgstr "(unbekannt)" + +#: src/keymap.c:277 +msgid "NULL" +msgstr "" #: src/lang.c:42 -msgid "1 Response" -msgstr "1 Antwort" +msgid "1 Response" +msgstr "1 Antwort" #: src/lang.c:46 #, c-format -msgid "\n" - "%s contains no newsgroups. Exiting." -msgstr "\n" - "%s enthält keine Newsgruppen. tin beendet sich." +msgid "\n" + "%s contains no newsgroups. Exiting." +msgstr "\n" + "%s enthält keine Newsgruppen. tin beendet sich." #: src/lang.c:47 -msgid "all " -msgstr "alle " +msgid "all " +msgstr "alle " #: src/lang.c:48 -msgid "All groups" -msgstr "Alle Gruppen" +msgid "All groups" +msgstr "Alle Gruppen" #: src/lang.c:49 #, c-format -msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " -msgstr "Datei %s existiert. %s=anfügen, %s=überschreiben, %s=beenden: " +msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " +msgstr "Datei %s existiert. %s=anfügen, %s=überschreiben, %s=beenden: " #: src/lang.c:50 -msgid "Article cancelled (deleted)." -msgstr "Artikel gecancelt (gelöscht)." - -#: src/lang.c:51 -msgid "Article cannot be cancelled (deleted)." -msgstr "Artikel kann nicht gecancelt (gelöscht) werden." +msgid "Article cancelled (deleted)." +msgstr "Artikel gecancelt (gelöscht)." #: src/lang.c:52 -msgid "Article deleted." -msgstr "Artikel gelöscht." - -#: src/lang.c:53 -#, c-format -msgid "\n" - "Your article:\n" - " \"%s\"\n" - "will be posted to the following %s:\n" -msgstr "\n" - "Ihr Artikel:\n" - " \"%s\"\n" - "wird in folgende %s gepostet:\n" +msgid "Article cannot be cancelled (deleted)." +msgstr "Artikel kann nicht gecancelt (gelöscht) werden." #: src/lang.c:54 -msgid "Article not posted!" -msgstr "Artikel nicht gepostet!" +msgid "Article deleted." +msgstr "Artikel gelöscht." #: src/lang.c:55 -msgid "Article not saved" -msgstr "Artikel nicht gespeichert" +#, c-format +msgid "\n" + "Your article:\n" + " \"%s\"\n" + "will be posted to the following %s:\n" +msgstr "\n" + "Ihr Artikel:\n" + " \"%s\"\n" + "wird in folgende %s gepostet:\n" #: src/lang.c:56 -msgid "Article Level Commands" -msgstr "Artikelbereich Befehle" +msgid "Article not posted!" +msgstr "Artikel nicht gepostet!" #: src/lang.c:57 -msgid "Article has no parent" -msgstr "Artikel hat keinen Bezugsartikel" +msgid "Article not saved" +msgstr "Artikel nicht gespeichert" #: src/lang.c:58 -msgid "Parent article has been killed" -msgstr "Der Bezugsartikel wurde gekillt" +msgid "Article Level Commands" +msgstr "Artikelbereich Befehle" #: src/lang.c:59 -msgid "Parent article is unavailable" -msgstr "Bezugsartikel nicht verfügbar" +msgid "Article has no parent" +msgstr "Artikel hat keinen Bezugsartikel" #: src/lang.c:60 -#, c-format -msgid "Article posted: %s" -msgstr "Artikel gepostet: %s" +msgid "Parent article has been killed" +msgstr "Der Bezugsartikel wurde gekillt" #: src/lang.c:61 -#, c-format -msgid "Article rejected (saved to %s)" -msgstr "Artikel abgelehnt (abgespeichert als %s)" +msgid "Parent article is unavailable" +msgstr "Bezugsartikel nicht verfügbar" #: src/lang.c:62 #, c-format -msgid "%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " -msgstr "%s=Artikel %s=Thread %s=hervorgehoben %s=Muster %s=markierte %s=beenden: " +msgid "Article posted: %s" +msgstr "Artikel gepostet: %s" #: src/lang.c:63 -msgid "Article unavailable" -msgstr "Artikel nicht verfügbar" +#, c-format +msgid "Article rejected (saved to %s)" +msgstr "Artikel abgelehnt (abgespeichert als %s)" #: src/lang.c:64 -msgid "Article undeleted." -msgstr "Artikel löschen rückgängig gemacht." +#, c-format +msgid "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " +msgstr "%s=Artikel %s=Thread %s=Bereich %s=herv. %s=Muster %s=markierte %s=beenden: " + +#: src/lang.c:65 +msgid "Article unavailable" +msgstr "Artikel nicht verfügbar" #: src/lang.c:66 -msgid "articles" -msgstr "Artikel" +msgid "Article undeleted." +msgstr "Artikel löschen rückgängig gemacht." #: src/lang.c:67 -msgid "This is a repost of the following article:" -msgstr "Dies ist ein Repost des folgenden Artikels:" - -#: src/lang.c:68 -msgid "article" -msgstr "Artikel" +#, c-format +msgid "Article %4d of %4d" +msgstr "Artikel %4d von %4d" #: src/lang.c:69 -msgid "Article" -msgstr "Artikel" +msgid "articles" +msgstr "Artikel" #: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" -msgstr "-- %d %s gemailt --" +msgid "This is a repost of the following article:" +msgstr "Dies ist ein Repost des folgenden Artikels:" #: src/lang.c:71 -#, c-format -msgid " at %s" -msgstr " bei %s" +msgid "article" +msgstr "Artikel" #: src/lang.c:72 -#, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" -msgstr "%*s[-- %s/%s, Encoding %s%s%s, %d Zeilen%s%s --]\n" +msgid "Article" +msgstr "Artikel" #: src/lang.c:73 -msgid ", charset: " -msgstr ", Zeichensatz: " +#, c-format +msgid "-- %d %s mailed --" +msgstr "-- %d %s gemailt --" #: src/lang.c:74 #, c-format -msgid "%*s[-- Description: %s --]\n" -msgstr "%*s[-- Beschreibung: %s --]\n" +msgid " at %s" +msgstr " bei %s" #: src/lang.c:75 #, c-format -msgid "%d Authentication failed" -msgstr "%d Anmeldung fehlgeschlagen" +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgstr "%*s[-- %s/%s, Encoding %s%s%s, %d Zeilen%s%s --]\n" #: src/lang.c:76 -msgid "Server expects authentication.\n" -msgstr "Der Server verlangt Anmeldung (Passwort).\n" +msgid ", charset: " +msgstr ", Zeichensatz: " #: src/lang.c:77 -msgid " Please enter password: " -msgstr " Bitte das Passwort eingeben: " +#, c-format +msgid "%*s[-- charset %s not supported --]\n" +msgstr "%*s[-- Zeichensatz %s wird nicht unterstützt --]\n" #: src/lang.c:78 -msgid " Please enter username: " -msgstr " Bitte den Usernamen eingeben: " +#, c-format +msgid "%*s[-- Description: %s --]\n" +msgstr "%*s[-- Beschreibung: %s --]\n" #: src/lang.c:79 #, c-format -msgid "Author search backwards [%s]> " -msgstr "Autorsuche rückwärts [%s]> " +msgid "%d lines" +msgstr "%d Zeilen" #: src/lang.c:80 -#, c-format -msgid "Author search forwards [%s]> " -msgstr "Autorsuche vorwärts [%s]> " +msgid "Attachment Menu" +msgstr "" #: src/lang.c:81 -#, c-format -msgid "Authorized for user: %s\n" -msgstr "Angemeldet als Benutzer: %s\n" +msgid "Attachment Menu Commands" +msgstr "" #: src/lang.c:82 -#, c-format -msgid "Authorization failed for user: %s\n" -msgstr "Anmeldung für den Benutzer \"%s\" fehlgeschlagen\n" +msgid "" +msgstr "" #: src/lang.c:83 #, c-format -msgid "\n" - "Autosubscribed to %s" -msgstr "\n" - "Automatisch abonniert: %s" +msgid "Attachment saved successfully. (%s)" +msgstr "Anhang erfolgreich gespeichert. (%s)" #: src/lang.c:84 -msgid "Autosubscribing groups...\n" -msgstr "Automatisches Abonnieren der Gruppen...\n" +#, c-format +msgid "%d of %d attachments saved successfully." +msgstr "%d von %d Anhängen erfolgreich gespeichert." #: src/lang.c:85 -#, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." -msgstr "Automatische Artikelauswahl ('%s' um alle ungelesenen zu sehen) ..." +msgid "Select attachment> " +msgstr "Wähle Anhang> " + +#: src/lang.c:86 +msgid "Tagged attachment" +msgstr "" #: src/lang.c:87 #, c-format -msgid "Active file corrupt - %s" -msgstr "Die Datei 'active' ist beschädigt - %s" +msgid "%d attachments tagged" +msgstr "" #: src/lang.c:88 -#, c-format -msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " -msgstr "Artikel verursachte Fehler/Warnungen. %s=beenden, %s=Menü, %s=editieren: " +msgid "Untagged attachment" +msgstr "" #: src/lang.c:89 -#, c-format -msgid "Unrecognized attribute: %s" -msgstr "Unbekannte Attribute: %s" +msgid "Attributes Menu Commands" +msgstr "" -#: src/lang.c:90 +#: src/lang.c:91 #, c-format -msgid "Bad command. Type '%s' for help." -msgstr "Ungültiger Befehl. Drücken Sie '%s' für Hilfe." +msgid "%d Authentication failed" +msgstr "%d Anmeldung fehlgeschlagen" #: src/lang.c:92 -msgid "Base article" -msgstr "Ursprungsartikel" +#, c-format +msgid "NNTP authorization password not found for %s" +msgstr "NNTP Anmeldepasswort für %s nicht gefunden" #: src/lang.c:93 -msgid "Base article range" -msgstr "Bereich für Ursprungsartikel" +msgid "Server expects authentication.\n" +msgstr "Der Server verlangt Anmeldung (Passwort).\n" #: src/lang.c:94 -#, c-format -msgid "%s: Updating of index files not supported\n" -msgstr "%s: Aktualisieren der Index-Dateien nicht unterstützt\n" +msgid " Please enter password: " +msgstr " Bitte das Passwort eingeben: " #: src/lang.c:95 -msgid "*** Beginning of article ***" -msgstr "*** Anfang des Artikels ***" +msgid " Please enter username: " +msgstr " Bitte den Usernamen eingeben: " + +#: src/lang.c:96 +#, c-format +msgid "Authorized for user: %s\n" +msgstr "Angemeldet als Benutzer: %s\n" #: src/lang.c:97 #, c-format -msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " -msgstr "[%%s] canceln (löschen) oder superseden (überschreiben)? (%s/%s/%s): " +msgid "Authorization failed for user: %s\n" +msgstr "Anmeldung für den Benutzer \"%s\" fehlgeschlagen\n" -#: src/lang.c:98 -msgid "Cancelling article..." -msgstr "Lösche Artikel..." +#: src/lang.c:99 +#, c-format +msgid "Author search backwards [%s]> " +msgstr "Autorsuche rückwärts [%s]> " #: src/lang.c:100 #, c-format -msgid "Cannot create %s" -msgstr "Kann %s nicht erstellen" +msgid "Author search forwards [%s]> " +msgstr "Autorsuche vorwärts [%s]> " #: src/lang.c:101 #, c-format -msgid "Can't find base article %d" -msgstr "Kann den Basisartikel %d nicht finden" +msgid "\n" + "Autosubscribed to %s" +msgstr "\n" + "Automatisch abonniert: %s" #: src/lang.c:102 -#, c-format -msgid "Can't open %s" -msgstr "Kann %s nicht öffnen" +msgid "Autosubscribing groups...\n" +msgstr "Automatisches Abonnieren der Gruppen...\n" #: src/lang.c:103 #, c-format -msgid "Couldn't open %s for saving" -msgstr "Kann %s nicht speichern" - -#: src/lang.c:104 -msgid "*** Posting not allowed ***" -msgstr "*** Posten nicht erlaubt ***" +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "Automatische Artikelauswahl ('%s' um alle ungelesenen zu sehen) ..." #: src/lang.c:105 #, c-format -msgid "Posting is not allowed to %s" -msgstr "Posten nach %s ist nicht erlaubt" +msgid "Active file corrupt - %s" +msgstr "Die Datei 'active' ist beschädigt - %s" #: src/lang.c:106 #, c-format -msgid "Can't retrieve %s" -msgstr "Kann %s nicht empfangen" +msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "Artikel verursachte Fehler/Warnungen. %s=beenden, %s=Menü, %s=editieren: " #: src/lang.c:107 #, c-format -msgid "%s is a directory" -msgstr "%s ist ein Verzeichnis" +msgid "Unrecognized attribute: %s" +msgstr "Unbekannte Attribute: %s" #: src/lang.c:108 -msgid "Catchup" -msgstr "Aufholen" - -#: src/lang.c:109 #, c-format -msgid "Catchup %s..." -msgstr "Aufholen von %s..." +msgid "Bad command. Type '%s' for help." +msgstr "Ungültiger Befehl. Drücken Sie '%s' für Hilfe." #: src/lang.c:110 -msgid "Catchup all groups entered during this session?" -msgstr "Alle betretenen Gruppen als gelesen markieren?" +msgid "Base article" +msgstr "Ursprungsartikel" #: src/lang.c:111 -msgid "You have tagged articles in this group - catchup anyway?" -msgstr "Markierte Artikel in der Gruppe - trotzdem aufholen (als gelesen markieren)?" +msgid "Base article range" +msgstr "Bereich für Ursprungsartikel" #: src/lang.c:112 #, c-format -msgid "%s %d %s in %lu seconds\n" -msgstr "%s %d %s in %lu Sekunden\n" +msgid "%s: Updating of index files not supported\n" +msgstr "%s: Aktualisieren der Index-Dateien nicht unterstützt\n" #: src/lang.c:113 -msgid "Caughtup" -msgstr "Aufgeholt" +msgid "*** Beginning of article ***" +msgstr "*** Anfang des Artikels ***" #: src/lang.c:114 -msgid "Check Prepared Article" -msgstr "Überprüfe vorbereiteten Artikel" - -#: src/lang.c:115 -msgid "Checking for new groups... " -msgstr "Prüfe, ob neue Gruppen vorhanden sind... " +msgid "*** Beginning of page ***" +msgstr "*** Seitenanfang ***" #: src/lang.c:116 -msgid "Checking for news..." -msgstr "Prüfe, ob neue Artikel vorhanden sind..." +#, c-format +msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " +msgstr "[%%s] canceln (löschen) oder superseden (überschreiben)? (%s/%s/%s): " #: src/lang.c:117 -#, c-format -msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " -msgstr "Nachbearbeiten %s=nein, %s=ja, %s=shar, %s=Ende: " +msgid "Cancelling article..." +msgstr "Lösche Artikel..." #: src/lang.c:119 -msgid "ANSI color disabled" -msgstr "ANSI Farben ausgeschaltet" +#, c-format +msgid "Cannot create %s" +msgstr "Kann %s nicht erstellen" #: src/lang.c:120 -msgid "ANSI color enabled" -msgstr "ANSI Farben eingeschaltet" +#, c-format +msgid "Can't find base article %d" +msgstr "Kann den Basisartikel %d nicht finden" + +#: src/lang.c:121 +#, c-format +msgid "Can't open %s" +msgstr "Kann %s nicht öffnen" #: src/lang.c:122 #, c-format -msgid "Command failed: %s" -msgstr "Befehl fehlgeschlagen: %s" +msgid "Couldn't open %s for saving" +msgstr "Kann %s nicht speichern" #: src/lang.c:123 -msgid "Mark not selected articles read?" -msgstr "Nicht ausgewählte (hot) Artikel auf gelesen setzen?" +msgid "*** Posting not allowed ***" +msgstr "*** Posten nicht erlaubt ***" #: src/lang.c:124 #, c-format -msgid "Connecting to %s..." -msgstr "Verbinde mit %s..." - -#: src/lang.c:125 -msgid "" -msgstr "" +msgid "Posting is not allowed to %s" +msgstr "Posten nach %s ist nicht erlaubt" #: src/lang.c:126 -msgid "Creating active file for saved groups...\n" -msgstr "Erzeuge die Datei 'active' für gespeicherte Gruppen...\n" +#, c-format +msgid "Can't retrieve %s" +msgstr "Kann %s nicht empfangen" + +#: src/lang.c:128 +#, c-format +msgid "%s is a directory" +msgstr "%s ist ein Verzeichnis" -#: src/lang.c:127 -msgid "Creating newsrc file...\n" -msgstr "Erzeuge newsrc Datei...\n" - -#: src/lang.c:129 src/lang.c:1150 -msgid "Default" -msgstr "Voreinstellung" +#: src/lang.c:129 +msgid "Catchup" +msgstr "Catchup" #: src/lang.c:130 -msgid "Delete saved files that have been post processed?" -msgstr "Löschen der gespeicherten Dateien, die nachbearbeitet wurden?" +#, c-format +msgid "Catchup %s..." +msgstr "Catchup von %s..." #: src/lang.c:131 -msgid "Deleting temporary files..." -msgstr "Lösche temporäre Dateien..." +msgid "Catchup all groups entered during this session?" +msgstr "Alle betretenen Gruppen als gelesen markieren?" + +#: src/lang.c:132 +msgid "You have tagged articles in this group - catchup anyway?" +msgstr "Markierte Artikel in der Gruppe - trotzdem aufholen (als gelesen markieren)?" #: src/lang.c:133 -msgid "*** End of article ***" -msgstr "*** Ende des Artikels ***" +#, c-format +msgid "%s %d %s in %lu seconds\n" +msgstr "%s %d %s in %lu Sekunden\n" #: src/lang.c:134 -msgid "*** End of articles ***" -msgstr "*** Ende der Artikel ***" +msgid "Caughtup" +msgstr "Aufgeholt" #: src/lang.c:135 -msgid "*** End of groups ***" -msgstr "*** Ende der Gruppen ***" +msgid "Check Prepared Article" +msgstr "Überprüfe vorbereiteten Artikel" #: src/lang.c:136 -msgid "*** End of thread ***" -msgstr "*** Ende des Threads ***" +msgid "Checking for new groups... " +msgstr "Prüfe, ob neue Gruppen vorhanden sind... " #: src/lang.c:137 -msgid "Enter limit of articles to get> " -msgstr "Anzahl zu holender Artikel> " +msgid "Checking for news..." +msgstr "Prüfe, ob neue Artikel vorhanden sind..." #: src/lang.c:138 -msgid "Enter Message-ID to go to> " -msgstr "Message-ID, die Sie suchen> " - -#: src/lang.c:139 -msgid " and enter next unread thread" -msgstr " und nächsten ungel. Thread betreten" +#, c-format +msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " +msgstr "Nachbearbeiten %s=nein, %s=ja, %s=shar, %s=Ende: " #: src/lang.c:140 -msgid " and enter next unread group" -msgstr " und betritt nächste Gruppe" +msgid "ANSI color disabled" +msgstr "ANSI Farben ausgeschaltet" #: src/lang.c:141 -msgid "Enter option number> " -msgstr "Optionsnummer eingeben> " +msgid "ANSI color enabled" +msgstr "ANSI Farben eingeschaltet" -#: src/lang.c:142 +#: src/lang.c:143 #, c-format -msgid "Enter range [%s]> " -msgstr "Bereich eingeben [%s]> " +msgid "Command failed: %s" +msgstr "Befehl fehlgeschlagen: %s" -#: src/lang.c:143 -msgid "\n" - "Warning: Approved: header used.\n" -msgstr "\n" - "Warnung: Approved:-Header benutzt.\n" - -#: src/lang.c:145 -msgid "\n" - "Error: Bad address in Approved: header.\n" -msgstr "\n" - "Fehler: Ungültige Adresse im Approved:-Header.\n" +#: src/lang.c:144 +msgid "Mark not selected articles read?" +msgstr "Nicht ausgewählte (hot) Artikel auf gelesen setzen?" #: src/lang.c:146 -msgid "\n" - "Error: Bad address in From: header.\n" -msgstr "\n" - "Fehler: Ungültige Adresse im From:-Header.\n" - -#: src/lang.c:147 -msgid "\n" - "Error: Bad address in Reply-To: header.\n" -msgstr "\n" - "Fehler: Ungültige Adresse im Reply-To:-Header.\n" +#, c-format +msgid "Connecting to %s..." +msgstr "Verbinde mit %s..." #: src/lang.c:148 -msgid "\n" - "Error: Bad FQDN in Message-ID: header.\n" -msgstr "\n" - "Fehler: Ungültiger FQDN im Message-ID:-Header.\n" +msgid "" +msgstr "" #: src/lang.c:149 -#, c-format -msgid "Can't unlock %s" -msgstr "Kann Lock auf %s nicht entfernen" - -#: src/lang.c:151 -#, c-format -msgid "Corrupted file %s" -msgstr "Datei %s ist beschädigt" +msgid "Creating active file for saved groups...\n" +msgstr "Erzeuge die Datei 'active' für gespeicherte Gruppen...\n" -#: src/lang.c:152 -#, c-format -msgid "Couldn't dotlock %s - article not appended!" -msgstr "Konnte %s nicht dotlocken - Artikel nicht angehängt!" +#: src/lang.c:150 +msgid "Creating newsrc file...\n" +msgstr "Erzeuge newsrc Datei...\n" + +#: src/lang.c:152 src/lang.c:1296 +msgid "Default" +msgstr "Voreinstellung" #: src/lang.c:153 -#, c-format -msgid "Couldn't lock %s - article not appended!" -msgstr "Konnte %s nicht locken - Artikel nicht angehängt!" +msgid "Delete saved files that have been post processed?" +msgstr "Löschen der gespeicherten Dateien, die nachbearbeitet wurden?" -#: src/lang.c:155 -msgid "Internal error in GNKSA routine - send bug report.\n" -msgstr "Interner Fehler in der GNKSA Routine - Senden Sie einen Fehlerbericht.\n" +#: src/lang.c:154 +msgid "Deleting temporary files..." +msgstr "Lösche temporäre Dateien..." #: src/lang.c:156 -msgid "Left angle bracket missing in route address.\n" -msgstr "Linkes Größerzeichen '<' fehlt in Route-Adresse.\n" +msgid "*** End of article ***" +msgstr "*** Ende des Artikels ***" #: src/lang.c:157 -msgid "Left parenthesis missing in old-style address.\n" -msgstr "Linke Klammer '(' fehlt in EMail-Adresse (alter Stil).\n" +msgid "*** End of articles ***" +msgstr "*** Ende der Artikel ***" #: src/lang.c:158 -msgid "Right parenthesis missing in old-style address.\n" -msgstr "Rechte Klammer ')' fehlt in EMail-Adresse (alter Stil).\n" +msgid "*** End of attachments ***" +msgstr "*** Ende der Anhänge ***" #: src/lang.c:159 -msgid "At-sign missing in mail address.\n" -msgstr "In der Mailadresse fehlt das '@'.\n" +msgid "*** End of groups ***" +msgstr "*** Ende der Gruppen ***" #: src/lang.c:160 -msgid "Single component FQDN is not allowed. Add your domain.\n" -msgstr "Ein einteiliger FQDN ist nicht erlaubt. Fügen Sie Ihre Domain hinzu.\n" +msgid "*** End of page ***" +msgstr "*** Seitenende ***" #: src/lang.c:161 -msgid "Invalid domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Unzulässige Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n" - "wirklich gibt. Benutzen Sie .invalid für bewusst falsche Adressen.\n" +msgid "*** End of scopes ***" +msgstr "" #: src/lang.c:162 -msgid "Illegal domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Regelwidrige Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n" - "wirklich gibt. Benutzen Sie .invalid für bewusst falsche Adressen.\n" +msgid "*** End of thread ***" +msgstr "*** Ende des Threads ***" #: src/lang.c:163 -msgid "Unknown domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Unbekannte Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n" - "wirklich gibt. Benutzen Sie .invalid für bewusst falsche Adressen.\n" +msgid "*** End of URLs ***" +msgstr "*** Ende der URLs ***" #: src/lang.c:164 -msgid "Illegal character in FQDN.\n" -msgstr "Ungültiges Zeichen im FQDN.\n" +msgid "Enter limit of articles to get> " +msgstr "Anzahl zu holender Artikel> " #: src/lang.c:165 -msgid "Zero length FQDN component not allowed.\n" -msgstr "Der FQDN darf keine leere Komponente enthalten.\n" +msgid "Enter Message-ID to go to> " +msgstr "Message-ID, die Sie suchen> " #: src/lang.c:166 -msgid "FQDN component exceeds maximum allowed length (63 chars).\n" -msgstr "Eine Komponente des FQDN überschreitet die maximale Länge (63 Zeichen).\n" +msgid " and enter next unread thread" +msgstr " und nächsten ungel. Thread betreten" #: src/lang.c:167 -msgid "FQDN component may not start or end with hyphen.\n" -msgstr "Komponenten des FQDN dürfen nicht mit einem Bindestrich beginnen.\n" +msgid " and enter next unread article" +msgstr " und nächsten ungel. Artikel betreten" #: src/lang.c:168 -msgid "FQDN component may not start with digit.\n" -msgstr "Komponenten des FQDN dürfen nicht mit einer Zahl beginnen.\n" +msgid " and enter next unread group" +msgstr " und betritt nächste Gruppe" #: src/lang.c:169 -msgid "Domain literal has impossible numeric value.\n" -msgstr "Die IP-Adresse ist nicht gültig.\n" +msgid "Enter option number> " +msgstr "Optionsnummer eingeben> " #: src/lang.c:170 -msgid "Domain literal is for private use only and not allowed for global use.\n" -msgstr "Die IP-Adresse ist ausschließlich für den privaten Gebrauch gedacht.\n" +#, c-format +msgid "Enter range [%s]> " +msgstr "Bereich eingeben [%s]> " #: src/lang.c:171 -msgid "Right bracket missing in domain literal.\n" -msgstr "Die rechte Klammer nach der IP-Adresse fehlt.\n" - -#: src/lang.c:172 -msgid "Missing localpart of mail address.\n" -msgstr "Fehlender Lokalteil in der Mailadresse.\n" +msgid "\n" + "Warning: Approved: header used.\n" +msgstr "\n" + "Warnung: Approved:-Header benutzt.\n" #: src/lang.c:173 -msgid "Illegal character in localpart of mail address.\n" -msgstr "Ungültiges Zeichen im Lokalteil der Mailadresse.\n" +msgid "\n" + "Error: Bad address in Approved: header.\n" +msgstr "\n" + "Fehler: Ungültige Adresse im Approved:-Header.\n" #: src/lang.c:174 -msgid "Zero length localpart component not allowed.\n" -msgstr "Eine leere Lokalteilkomponente ist nicht erlaubt.\n" +msgid "\n" + "Error: Bad address in From: header.\n" +msgstr "\n" + "Fehler: Ungültige Adresse im From:-Header.\n" #: src/lang.c:175 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" -msgstr "Ungültiges Zeichen im Realname.\n" - "Ungeschützte Wörter dürfen kein '!()<>@,;:\\.[]' in der Adresse enthalten.\n" +msgid "\n" + "Error: Bad address in Reply-To: header.\n" +msgstr "\n" + "Fehler: Ungültige Adresse im Reply-To:-Header.\n" #: src/lang.c:176 -msgid "Illegal character in realname.\n" - "Quoted words may not contain '()<>\\'.\n" -msgstr "Ungültiges Zeichen im Realname.\n" - "Geschützte Wörter dürfen kein '()<>\\' enthalten.\n" - -#: src/lang.c:177 -msgid "Illegal character in realname.\n" - "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" -msgstr "Ungültiges Zeichen im Realname.\n" - "Kodierte Wörter dürfen '!()<>@,;:\"\\.[]/=' nicht enthalten.\n" +msgid "\n" + "Error: Bad FQDN in Message-ID: header.\n" +msgstr "\n" + "Fehler: Ungültiger FQDN im Message-ID:-Header.\n" #: src/lang.c:178 -msgid "Bad syntax in encoded word used in realname.\n" -msgstr "Falsche Syntax im kodierten Wort, das im Realname enthalten ist.\n" +#, c-format +msgid "Can't unlock %s" +msgstr "Kann Lock auf %s nicht entfernen" #: src/lang.c:179 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '()<>\\' in old-style addresses.\n" -msgstr "Ungültiges Zeichen im Realname.\n" - "Ungeschützte Wörter dürfen kein '()<>\\' in Adressen enthalten (alter Stil).\n" +#, c-format +msgid "Couldn't dotlock %s - article not appended!" +msgstr "Konnte %s nicht dotlocken - Artikel nicht angehängt!" #: src/lang.c:180 -msgid "Illegal character in realname.\n" - "Control characters and unencoded 8bit characters > 127 are not allowed.\n" -msgstr "Ungültiges Zeichen im Realname.\n" - "Kontrollzeichen und unkodierte 8bit Zeichen > 127 sind verboten.\n" - -#: src/lang.c:181 -msgid "\n" - "Error: No blank line found after header.\n" -msgstr "\n" - "Fehler: Keine Leerzeile nach dem Header gefunden.\n" +#, c-format +msgid "Couldn't lock %s - article not appended!" +msgstr "Konnte %s nicht locken - Artikel nicht angehängt!" -#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:183 -msgid "\n" - "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" - " US-ASCII - please change this setting to a suitable value for\n" - " your language using the M)enu of configurable options or by\n" - " editing tinrc.\n" -msgstr "\n" - "Fehler: Das Posting enthält nicht-ASCII Zeichen, aber MM_CHARSET ist\n" - " auf US-ASCII eingestellt. Bitte ändern Sie dies auf einen\n" - " passenden Wert für Ihre Sprache, indem Sie M)enü benutzen,\n" - " oder direkt die tinrc ändern.\n" +#, c-format +msgid "Corrupted file %s" +msgstr "Datei %s ist beschädigt" + +#: src/lang.c:185 +msgid "\n" + "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" +msgstr "\n" + "Fehler: Followup-To \"poster\" zusammen mit einem Gruppenname\n" + " ist nicht erlaubt!\n" + +#: src/lang.c:186 +msgid "Internal error in GNKSA routine - send bug report.\n" +msgstr "Interner Fehler in der GNKSA Routine - Senden Sie einen Fehlerbericht.\n" + +#: src/lang.c:187 +msgid "Left angle bracket missing in route address.\n" +msgstr "Linkes Größerzeichen '<' fehlt in Route-Adresse.\n" #: src/lang.c:188 -msgid "\n" - "Error: Posting contains non-ASCII characters but the MIME encoding\n" - " for news messages is set to \"7bit\" - please change this\n" - " setting to \"8bit\" or \"quoted-printable\" depending on what\n" - " is more common in your part of the world. This can be done\n" - " using the M)enu of configurable options or by editing tinrc.\n" -msgstr "\n" - "Fehler: Das Posting enthält nicht-ASCII Zeichen, aber die MIME-Kodierung\n" - " für Artikel ist auf \"7bit\" gesetzt. Bitte ändern Sie dies auf\n" - " \"8bit\" oder \"quoted-printable\" - Zeichensatzabhängig - via\n" - " M)enü oder durch editieren der tinrc.\n" +msgid "Left parenthesis missing in old-style address.\n" +msgstr "Linke Klammer '(' fehlt in EMail-Adresse (alter Stil).\n" + +#: src/lang.c:189 +msgid "Right parenthesis missing in old-style address.\n" +msgstr "Rechte Klammer ')' fehlt in EMail-Adresse (alter Stil).\n" + +#: src/lang.c:190 +msgid "At-sign missing in mail address.\n" +msgstr "In der Mailadresse fehlt das '@'.\n" + +#: src/lang.c:191 +msgid "Single component FQDN is not allowed. Add your domain.\n" +msgstr "Ein einteiliger FQDN ist nicht erlaubt. Fügen Sie Ihre Domain hinzu.\n" + +#: src/lang.c:192 +msgid "Invalid domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Unzulässige Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n" + "wirklich gibt. Benutzen Sie .invalid für bewusst falsche Adressen.\n" + +#: src/lang.c:193 +msgid "Illegal domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Regelwidrige Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n" + "wirklich gibt. Benutzen Sie .invalid für bewusst falsche Adressen.\n" #: src/lang.c:194 -msgid "\n" - "Error: Article starts with blank line instead of header\n" -msgstr "\n" - "Fehler: Der Artikel beginnt mit einer Leerzeile anstatt des Headers\n" +msgid "Unknown domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Unbekannte Domain. Senden Sie einen Fehlerbericht, wenn es Ihre TL-Domain\n" + "wirklich gibt. Benutzen Sie .invalid für bewusst falsche Adressen.\n" #: src/lang.c:195 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a colon after the header name:\n" - "%s\n" -msgstr "\n" - "Fehler: Der Header in Zeile %d enthält kein ':' nach seinem Bezeichner:\n" - "%s\n" +msgid "Illegal character in FQDN.\n" +msgstr "Ungültiges Zeichen im FQDN.\n" #: src/lang.c:196 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is empty.\n" -msgstr "\n" - "Fehler: Die \"%s:\" Zeile ist leer.\n" +msgid "Zero length FQDN component not allowed.\n" +msgstr "Der FQDN darf keine leere Komponente enthalten.\n" #: src/lang.c:197 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is missing from the article header.\n" -msgstr "\n" - "Fehler: Die \"%s:\" Zeile fehlt im Artikel Header.\n" +msgid "FQDN component exceeds maximum allowed length (63 chars).\n" +msgstr "Eine Komponente des FQDN überschreitet die maximale Länge (63 Zeichen).\n" #: src/lang.c:198 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a space after the colon:\n" - "%s\n" -msgstr "\n" - "Fehler: Der Header in der Zeile %d hat kein Leerzeichen nach dem ':' :\n" - "%s\n" +msgid "FQDN component may not start or end with hyphen.\n" +msgstr "Komponenten des FQDN dürfen nicht mit einem Bindestrich beginnen.\n" #: src/lang.c:199 -#, c-format -msgid "\n" - "Error: There are multiple (%d) \"%s:\" lines in the header.\n" -msgstr "\n" - "Fehler: Es sind mehrere (%d) \"%s:\" Zeilen im Header.\n" +msgid "FQDN component may not start with digit.\n" +msgstr "Komponenten des FQDN dürfen nicht mit einer Zahl beginnen.\n" #: src/lang.c:200 -#, c-format -msgid "Insecure permissions of %s (%o)" -msgstr "Unsichere Zugriffsbeschränkungen auf %s (%o)" +msgid "Domain literal has impossible numeric value.\n" +msgstr "Die IP-Adresse ist nicht gültig.\n" #: src/lang.c:201 -#, c-format -msgid "Invalid response to GROUP command, %s" -msgstr "Ungültige Antwort auf GROUP-Befehl, %s" +msgid "Domain literal is for private use only and not allowed for global use.\n" +msgstr "Die IP-Adresse ist ausschließlich für den privaten Gebrauch gedacht.\n" + +#: src/lang.c:202 +msgid "Right bracket missing in domain literal.\n" +msgstr "Die rechte Klammer nach der IP-Adresse fehlt.\n" #: src/lang.c:203 -#, c-format -msgid "MIME parse error: Unexpected end of %s/%s article" -msgstr "MIME-Fehler: Unerwartetes Ende des %s/%s-Artikels" +msgid "Missing localpart of mail address.\n" +msgstr "Fehlender Lokalteil in der Mailadresse.\n" #: src/lang.c:204 -msgid "MIME parse error: Start boundary whilst reading headers" -msgstr "MIME-Fehler: Anfangsgrenze in Hadern" +msgid "Illegal character in localpart of mail address.\n" +msgstr "Ungültiges Zeichen im Lokalteil der Mailadresse.\n" #: src/lang.c:205 -msgid "Can't get a (fully-qualified) domain-name!" -msgstr "Kann keinen (vollqualifizierten) Domainnamen finden!" +msgid "Zero length localpart component not allowed.\n" +msgstr "Eine leere Lokalteilkomponente ist nicht erlaubt.\n" #: src/lang.c:206 -#, c-format -msgid "No permissions to go into %s\n" -msgstr "Keine Berechtigung um %s zu betreten\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" +msgstr "Ungültiges Zeichen im Realname.\n" + "Ungeschützte Wörter dürfen kein '!()<>@,;:\\.[]' in der Adresse enthalten.\n" #: src/lang.c:207 -msgid "\n" - "Error: From: line missing.\n" -msgstr "\n" - "Fehler: Die From: Zeile fehlt.\n" +msgid "Illegal character in realname.\n" + "Quoted words may not contain '()<>\\'.\n" +msgstr "Ungültiges Zeichen im Realname.\n" + "Geschützte Wörter dürfen kein '()<>\\' enthalten.\n" #: src/lang.c:208 -#, c-format -msgid "No read permissions for %s\n" -msgstr "Keine Leseberechtigung für %s\n" +msgid "Illegal character in realname.\n" + "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" +msgstr "Ungültiges Zeichen im Realname.\n" + "Kodierte Wörter dürfen '!()<>@,;:\"\\.[]/=' nicht enthalten.\n" #: src/lang.c:209 -#, c-format -msgid "File %s does not exist\n" -msgstr "Datei %s existiert nicht\n" +msgid "Bad syntax in encoded word used in realname.\n" +msgstr "Falsche Syntax im kodierten Wort, das im Realname enthalten ist.\n" #: src/lang.c:210 -#, c-format -msgid "No write permissions for %s\n" -msgstr "Keine Schreibberechtigung für %s\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '()<>\\' in old-style addresses.\n" +msgstr "Ungültiges Zeichen im Realname.\n" + "Ungeschützte Wörter dürfen kein '()<>\\' in Adressen enthalten (alter Stil).\n" #: src/lang.c:211 -msgid "Can't get user information (/etc/passwd missing?)" -msgstr "Kann Benutzer-Infos nicht finden (/etc/passwd fehlt?)" +msgid "Illegal character in realname.\n" + "Control characters and unencoded 8bit characters > 127 are not allowed.\n" +msgstr "Ungültiges Zeichen im Realname.\n" + "Kontrollzeichen und unkodierte 8bit Zeichen > 127 sind verboten.\n" #: src/lang.c:212 -msgid "errors" -msgstr "Fehler" +msgid "\n" + "Error: No blank line found after header.\n" +msgstr "\n" + "Fehler: Keine Leerzeile nach dem Header gefunden.\n" #: src/lang.c:213 #, c-format -msgid "\n" - "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" -msgstr "\n" - "Fehler in Zeile %d: \"Sender:\" Header ist nicht erlaubt (wird hinzugefügt)\n" - -#: src/lang.c:214 -#, c-format -msgid "Server has non of the groups listed in %s" -msgstr "Server führt keine der Gruppen aus %s" +msgid "\n" + "Error: Illegal formatted %s.\n" +msgstr "\n" + "Fehler: Ungültiges %s Format.\n" +#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:215 -msgid "error" -msgstr "Fehler" - -#: src/lang.c:216 -msgid "Unknown display level" -msgstr "Unbekannter Level" - -#: src/lang.c:217 -msgid "" -msgstr "" - -#: src/lang.c:218 -msgid "Exiting..." -msgstr "Beenden..." - -#: src/lang.c:219 -msgid "leaving external mail-reader" -msgstr "Verlasse externen Mailreader" +msgid "\n" + "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" + " US-ASCII - please change this setting to a suitable value for\n" + " your language using the M)enu of configurable options or by\n" + " editing tinrc.\n" +msgstr "\n" + "Fehler: Das Posting enthält nicht-ASCII Zeichen, aber MM_CHARSET ist\n" + " auf US-ASCII eingestellt. Bitte ändern Sie dies auf einen\n" + " passenden Wert für Ihre Sprache, indem Sie M)enü benutzen,\n" + " oder direkt die tinrc ändern.\n" #: src/lang.c:220 +msgid "\n" + "Error: Posting contains non-ASCII characters but the MIME encoding\n" + " for news messages is set to \"7bit\" - please change this\n" + " setting to \"8bit\" or \"quoted-printable\" depending on what\n" + " is more common in your part of the world. This can be done\n" + " using the M)enu of configurable options or by editing tinrc.\n" +msgstr "\n" + "Fehler: Das Posting enthält nicht-ASCII Zeichen, aber die MIME-Kodierung\n" + " für Artikel ist auf \"7bit\" gesetzt. Bitte ändern Sie dies auf\n" + " \"8bit\" oder \"quoted-printable\" - Zeichensatz abhängig - via\n" + " M)enü oder durch editieren der tinrc.\n" + +#: src/lang.c:226 +msgid "\n" + "Error: Article starts with blank line instead of header\n" +msgstr "\n" + "Fehler: Der Artikel beginnt mit einer Leerzeile anstatt des Headers\n" + +#: src/lang.c:227 #, c-format -msgid "Extracting %s..." -msgstr "Entpacke %s..." +msgid "\n" + "Error: Header on line %d does not have a colon after the header name:\n" + "%s\n" +msgstr "\n" + "Fehler: Der Header in Zeile %d enthält kein ':' nach seinem Bezeichner:\n" + "%s\n" -#: src/lang.c:222 +#: src/lang.c:228 #, c-format -msgid "Error writing %s file. Filesystem full? File reset to previous state." -msgstr "Fehler beim Schreiben von %s. Dateisystem voll? Datei zurückgesetzt." +msgid "\n" + "Error: The \"%s:\" line is empty.\n" +msgstr "\n" + "Fehler: Die \"%s:\" Zeile ist leer.\n" -#: src/lang.c:223 +#: src/lang.c:229 #, c-format -msgid "Error making backup of %s file. Filesystem full?" -msgstr "Fehler beim Erzeugen der Sicherung von %s. Dateisystem voll?" +msgid "\n" + "Error: The \"%s:\" line is missing from the article header.\n" +msgstr "\n" + "Fehler: Die \"%s:\" Zeile fehlt im Artikel Header.\n" -#: src/lang.c:224 +#: src/lang.c:230 #, c-format -msgid "Filtering global rules (%d/%d)..." -msgstr "Filtern nach den globalen Regeln (%d/%d)..." +msgid "\n" + "Error: %s contains non 7bit chars.\n" +msgstr "\n" + "Fehler: %s enthält auch nicht 7Bit Zeichen.\n" -#: src/lang.c:225 -msgid "Rule created by: " -msgstr "Regel erstellt von: " +#: src/lang.c:231 +#, c-format +msgid "\n" + "Error: Header on line %d does not have a space after the colon:\n" + "%s\n" +msgstr "\n" + "Fehler: Der Header in der Zeile %d hat kein Leerzeichen nach dem ':' :\n" + "%s\n" -#: src/lang.c:226 +#: src/lang.c:232 #, c-format -msgid "Enter pattern [%s]> " -msgstr "Muster eingeben [%s]> " +msgid "\n" + "Error: There are multiple (%d) \"%s:\" lines in the header.\n" +msgstr "\n" + "Fehler: Es sind mehrere (%d) \"%s:\" Zeilen im Header.\n" -#: src/lang.c:227 +#: src/lang.c:233 #, c-format -msgid "\n" - "You requested followups to your article to go to the following %s:\n" -msgstr "\n" - "Antworten auf Ihre Artikel sollen in folgenden %s erscheinen:\n" +msgid "Insecure permissions of %s (%o)" +msgstr "Unsichere Zugriffsbeschränkungen auf %s (%o)" -#: src/lang.c:228 +#: src/lang.c:235 #, c-format -msgid " %s\t Answers will be directed to you by mail.\n" -msgstr " %s\t Antworten erhalten Sie direkt per Mail.\n" +msgid "Invalid response to GROUP command, %s" +msgstr "Ungültige Antwort auf GROUP-Befehl, %s" -#: src/lang.c:229 -msgid "-- forwarded message --\n" -msgstr "-- weitergeleitete Nachricht --\n" +#: src/lang.c:240 +#, c-format +msgid "MIME parse error: Unexpected end of %s/%s article" +msgstr "MIME-Fehler: Unerwartetes Ende des %s/%s-Artikels" -#: src/lang.c:230 -msgid "-- end of forwarded message --\n" -msgstr "-- Ende der weitergeleiteten Nachricht --\n" +#: src/lang.c:241 +msgid "MIME parse error: Start boundary whilst reading headers" +msgstr "MIME-Fehler: Anfangsgrenze in Hadern" -#: src/lang.c:231 -msgid "# Format:\n" - "# comment=STRING Optional. Multiple lines allowed. Comments must be " - "placed\n" - "# at the beginning of a rule, or they will be moved to " - "the\n" - "# next rule. '#' is not a valid keyword for a comment!\n" - "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" - "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" - "# score=NUM|STRING Mandatory. Score to give. Either:\n" - "# score=NUM A number (e.g. 70). Or:\n" - "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" - "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" - "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" - "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" - "# full references.\n" - "# msgid_last=STRING Optional. Like above, but with last reference only.\n" - "# msgid_only=STRING Optional. Like above, but without references.\n" - "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " - "without\n" - "# Message-ID:\n" - "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" - "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " - "opt.\n" - "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" - "# time=NUM Optional. time_t value when rule expires\n" - "#\n" -msgstr "# Format:\n" - "# comment=Z.KETTE Optionaler Kommentar. Es sind mehrere " - "Kommentareinträge\n" - "# pro Regel erlaubt. Kommentare müssen ganz am Anfang " - "stehen,\n" - "# sonst werden sie zur nächsten Regel verschoben. '#' " - "darf\n" - "# nicht im Kommentar vorkommen!\n" - "# group=Z.KETTE Liste der Newsgroups (z.B. comp.*,!*sources*) " - "[obligatorisch]\n" - "# case=ZAHL Groß/Kleinschreibung beim Filtern beachten=0,\n" - "# ignorieren=1 [obligatorisch]\n" - "# score=ZAHL|ZKETTE Score/Bewertung für diese Regel, entweder eine\n" - "# Zahl (z.B. 70) oder eines der beiden Schlüsselwörter\n" - "# 'hot' oder 'kill'\n" - "# subj=ZEICHENKETTE Subject(Betreff). (z.B. How to be a wizard)\n" - "# from=ZEICHENKETTE From(Absender). (z.B. *Craig Shergold*)\n" - "# msgid=Z.KETTE Message-ID (z.B.<123@@ether.net>) kommt in Message-ID-\n" - "# oder References-Zeile vor. - Regel wirkt auf den " - "Artikel\n" - "# mit der M-ID und alle Antworten darauf.\n" - "# msgid_last=ZKETTE Message-ID-Header selbst und letzte Element von " - "References\n" - "# Regel wirkt auf Posting selbst oder _direkte_ " - "Antworten.\n" - "# msgid_only=ZKETTE Message-ID lautet (z.B.<123@@ether.net>).\n" - "# refs_only=Z.KETTE References-Header (z.B.<123@@ether.net>), kein\n" - "# Vergleich mit Message-ID-Header.\n" - "# lines=[<>]?ZAHL Zeilenanzahl (Lines-Header)\n" - "# gnksa=[<>]?ZAHL Rückgabewert der Funktion GNKSA parse_from()\n" - "#\n" - "# xref=MUSTER Muster passt auf Xref-Header (z.B. alt.flame*)\n" - "#\n" - "# time=ZAHL Ablaufdatum der Regel als time_t Wert\n" - "# (Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC)\n" - "#\n" +#: src/lang.c:242 +msgid "\n" + "Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "\n" + "Fehler: \"poster\" ist nicht erlaubt in Newsgroups!\n" -#: src/lang.c:252 +#: src/lang.c:243 +msgid "Can't get a (fully-qualified) domain-name!" +msgstr "Kann keinen (voll qualifizierten) Domainnamen finden!" + +#: src/lang.c:244 #, c-format -msgid "Enter score for rule (default=%d): " -msgstr "Bewertung für Regel (Standard=%d): " +msgid "No permissions to go into %s\n" +msgstr "Keine Berechtigung um %s zu betreten\n" -#: src/lang.c:253 +#: src/lang.c:246 +msgid "\n" + "Error: From: line missing.\n" +msgstr "\n" + "Fehler: Die From: Zeile fehlt.\n" + +#: src/lang.c:248 #, c-format -msgid "Enter the score weight (range 0 < score <= %d)" -msgstr "Geben Sie die Höhe der Bewertung an (Bereich 0 < Bewertung <= %d)" +msgid "No read permissions for %s\n" +msgstr "Keine Leseberechtigung für %s\n" -#. SCORE_MAX -#: src/lang.c:254 -msgid "Full" -msgstr "Voll" +#: src/lang.c:249 +#, c-format +msgid "File %s does not exist\n" +msgstr "Datei %s existiert nicht\n" + +#: src/lang.c:250 +#, c-format +msgid "No write permissions for %s\n" +msgstr "Keine Schreibberechtigung für %s\n" -#: src/lang.c:255 -msgid "Comment (optional) : " -msgstr "Kommentar (optional): " +#: src/lang.c:251 +msgid "Can't get user information (/etc/passwd missing?)" +msgstr "Kann Benutzer-Infos nicht finden (/etc/passwd fehlt?)" + +#: src/lang.c:252 +msgid "errors" +msgstr "Fehler" + +#: src/lang.c:254 +#, c-format +msgid "\n" + "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" +msgstr "\n" + "Fehler in Zeile %d: \"Sender:\"-Header ist nicht erlaubt (wird hinzugefügt)\n" #: src/lang.c:256 -msgid "Apply pattern to : " -msgstr "Wende Muster an auf : " +#, c-format +msgid "Server has non of the groups listed in %s" +msgstr "Server führt keine der Gruppen aus %s" #: src/lang.c:257 -msgid "From: line (ignore case) " -msgstr "From: Zeile (ignoriere Groß- Kleinschreibung)" +msgid "error" +msgstr "Fehler" #: src/lang.c:258 -msgid "From: line (case sensitive) " -msgstr "From: Zeile (Groß- Kleinschreibung beachten) " +msgid "Unknown display level" +msgstr "Unbekannter Level" + +#: src/lang.c:259 +msgid "" +msgstr "" #: src/lang.c:260 -#, c-format -msgid "%s%s: Unknown host.\n" -msgstr "%s%s: Unbekannter Host.\n" +msgid "Exiting..." +msgstr "Beenden..." #: src/lang.c:261 -msgid "global " -msgstr "Global " +msgid "leaving external mail-reader" +msgstr "Verlasse externen Mailreader" #: src/lang.c:262 #, c-format -msgid "Please use %.100s instead" -msgstr "Bitte %.100s statt dessen benutzen" - -#: src/lang.c:263 -#, c-format -msgid "%s is bogus" -msgstr "%s ist ungültig" +msgid "Extracting %s..." +msgstr "Entpacke %s..." #: src/lang.c:264 #, c-format -msgid "Group %s is moderated. Continue?" -msgstr "Gruppe %s ist moderiert. Fortfahren?" +msgid "Error writing %s file. Filesystem full? File reset to previous state." +msgstr "Fehler beim Schreiben von %s. Dateisystem voll? Datei zurückgesetzt." #: src/lang.c:265 -msgid "groups" -msgstr "Gruppen" +#, c-format +msgid "Error making backup of %s file. Filesystem full?" +msgstr "Fehler beim Erzeugen der Sicherung von %s. Dateisystem voll?" #: src/lang.c:266 #, c-format -msgid "Rereading %s..." -msgstr "Lese %s..." +msgid "Filtering global rules (%d/%d)..." +msgstr "Filtern nach den globalen Regeln (%d/%d)..." #: src/lang.c:267 -msgid "Top Level Commands" -msgstr "Top Level Befehle" +msgid "Rule created by: " +msgstr "Regel erstellt von: " #: src/lang.c:268 -msgid "Group Selection" -msgstr "Gruppen-Auswahl" +#, c-format +msgid "Enter pattern [%s]> " +msgstr "Muster eingeben [%s]> " #: src/lang.c:269 -msgid "group" -msgstr "Gruppe" +#, c-format +msgid "\n" + "You requested followups to your article to go to the following %s:\n" +msgstr "\n" + "Antworten auf Ihre Artikel sollen in folgenden %s erscheinen:\n" + +#: src/lang.c:270 +#, c-format +msgid " %s\t Answers will be directed to you by mail.\n" +msgstr " %s\t Antworten erhalten Sie direkt per Mail.\n" #: src/lang.c:271 -msgid "One or more lines of comment. to add a line or proceed if line is empty." -msgstr "Kommentarzeile(n). für nächsten Menüpunkt bzw. Ende der eingeg. Zeile." +msgid "-- forwarded message --\n" +msgstr "-- weitergeleitete Nachricht --\n" #: src/lang.c:272 -msgid "From: line to add to filter file. toggles & sets." -msgstr "From: zum Filter hinzufügen. wechselt & setzt." +msgid "-- end of forwarded message --\n" +msgstr "-- Ende der weitergeleiteten Nachricht --\n" #: src/lang.c:273 -msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." -msgstr "Zeilenzahl der Artikel, die gefiltert werden. < weniger, > mehr, = gleich." - -#: src/lang.c:274 -msgid "Message-ID: line to add to filter file. toggles & sets." -msgstr "Message-ID: zum Filter hinzufügen. wechselt & setzt." - -#: src/lang.c:275 -msgid "Subject: line to add to filter file. toggles & sets." -msgstr "Subject: zum Filter hinzufügen. wechselt & setzt." - -#: src/lang.c:276 -msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." -msgstr "Textmuster zum Filtern, wenn Subject: & From: nicht Ihren Wünschen entspricht." - -#: src/lang.c:277 -msgid "Select where text pattern should be applied. toggles & sets." -msgstr "Wähle worauf das Textmuster angewendet wird. wechselt & setzt." - -#: src/lang.c:278 -msgid "Expiration time in days for the entered filter. toggles & sets." -msgstr "Gültigkeitsdauer in Tagen für den Filter. wechselt & setzt." - -#: src/lang.c:279 -msgid "Apply kill only to current group or all groups. toggles & sets." -msgstr "Filterregel gilt für aktuelle/alle Gruppe(n). wechselt & setzt." - -#: src/lang.c:280 -msgid "Apply select to current group or all groups. toggles & sets." -msgstr "Filterregel gilt für aktuelle/allen Gruppe(n). wechselt & setzt." - -#: src/lang.c:281 -msgid "kill an article via a menu" -msgstr "killt einen Artikel mittels eines Menüs" - -#: src/lang.c:282 -msgid "auto-select (hot) an article via a menu" -msgstr "Filterregel (hochscoren) für Artikel via Menü erstellen" - -#: src/lang.c:283 -msgid "Browse URLs in article" -msgstr "URLs im Artikel mit Browser öffnen" - -#: src/lang.c:284 -msgid "0 - 9\t display article by number in current thread" -msgstr "0 - 9\t zeigt Artikel nach Nummern sortiert im aktuellen Thread" - -#: src/lang.c:285 -msgid "cancel (delete) or supersede (overwrite) current article" -msgstr "cancelt (löscht) oder ersetzt den aktuellen Artikel" - -#: src/lang.c:286 -msgid "edit article (mail-groups only)" -msgstr "editiere Artikel (nur bei Mail-Gruppen)" - -#: src/lang.c:287 -msgid "display first article in current thread" -msgstr "ersten Artikel im aktuellen Thread anzeigen" - -#: src/lang.c:288 -msgid "display first page of article" -msgstr "zeigt erste Seite des Artikels an" - -#: src/lang.c:289 -msgid "post followup to current article" -msgstr "aktuellen Artikel beantworten (followup)" - -#: src/lang.c:290 -msgid "post followup (don't copy text) to current article" -msgstr "aktuellen Artikel beantworten, ohne Zitieren des Textes" - -#: src/lang.c:291 -msgid "post followup to current article quoting complete headers" -msgstr "aktuellen Artikel beantworten, mit Komplettzitat der Header" - -#: src/lang.c:292 -msgid "display last article in current thread" -msgstr "letzten Artikel im aktuellen Thread anzeigen" - -#: src/lang.c:293 -msgid "display last page of article" -msgstr "letzte Seite des Artikels anzeigen" +msgid "# Format:\n" + "# comment=STRING Optional. Multiple lines allowed. Comments must be " + "placed\n" + "# at the beginning of a rule, or they will be moved to " + "the\n" + "# next rule. '#' is not a valid keyword for a comment!\n" + "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" + "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" + "# score=NUM|STRING Mandatory. Score to give. Either:\n" + "# score=NUM A number (e.g. 70). Or:\n" + "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" + "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" + "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" + "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" + "# full references.\n" + "# msgid_last=STRING Optional. Like above, but with last reference only.\n" + "# msgid_only=STRING Optional. Like above, but without references.\n" + "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " + "without\n" + "# Message-ID:\n" + "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" + "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " + "opt.\n" + "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" + "# time=NUM Optional. time_t value when rule expires\n" + "#\n" +msgstr "# Format:\n" + "# comment=Z.KETTE Optionaler Kommentar. Es sind mehrere " + "Kommentareinträge\n" + "# pro Regel erlaubt. Kommentare müssen ganz am Anfang\n" + "# stehen, sonst werden sie zur nächsten Regel " + "verschoben.\n" + "# '#' darf nicht im Kommentar vorkommen!\n" + "# group=Z.KETTE Liste der Newsgroups (z.B. comp.*,!*sources*) " + "[notwendig]\n" + "# case=ZAHL Groß/Kleinschreibung beim Filtern beachten=0,\n" + "# ignorieren=1 [notwendig]\n" + "# score=ZAHL|ZKETTE Score/Bewertung für diese Regel, entweder eine\n" + "# Zahl (z.B. 70) oder eines der beiden Schlüsselwörter\n" + "# 'hot' oder 'kill'\n" + "# subj=ZEICHENKETTE Subject(Betreff). (z.B. How to be a wizard)\n" + "# from=ZEICHENKETTE From(Absender). (z.B. *Erika Mustermann*)\n" + "# msgid=Z.KETTE Message-ID (z.B. <123@@example.com>) kommt in Message-" + "ID-\n" + "# oder References-Zeile vor. Regel wirkt auf den Artikel\n" + "# mit der Message-ID und alle Antworten darauf.\n" + "# msgid_last=ZKETTE Message-ID-Header selbst und das letzte Element von\n" + "# References. Regel wirkt auf Posting selbst oder\n" + "# _direkte_ Antworten.\n" + "# msgid_only=ZKETTE Message-ID lautet (z.B. <123@@ether.net>).\n" + "# refs_only=Z.KETTE References-Header (z.B. <123@@ether.net>), kein\n" + "# Vergleich mit Message-ID-Header.\n" + "# lines=[<>]?ZAHL Zeilenanzahl (Lines-Header)\n" + "# gnksa=[<>]?ZAHL Rückgabewert der Funktion GNKSA parse_from()\n" + "# xref=MUSTER Muster passt auf Xref-Header (z.B. alt.flame*)\n" + "# time=ZAHL Ablaufdatum der Regel als time_t Wert\n" + "# (Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC)\n" + "#\n" #: src/lang.c:294 -msgid "mark rest of thread as read and advance to next unread" -msgstr "markiere Rest des Thread als gelesen, springe zu nächstem ungelesenen" +#, c-format +msgid "Enter score for rule (default=%d): " +msgstr "Bewertung für Regel (Standard=%d): " #: src/lang.c:295 -msgid "display next article" -msgstr "nächsten Artikel anzeigen" +#, c-format +msgid "Enter the score weight (range 0 < score <= %d)" +msgstr "Geben Sie die Höhe der Bewertung an (Bereich 0 < Bewertung <= %d)" +#. SCORE_MAX #: src/lang.c:296 -msgid "display first article in next thread" -msgstr "zeigt den ersten Artikel im nächsten Thread an" +msgid "Full" +msgstr "Voll" #: src/lang.c:297 -msgid "display next unread article" -msgstr "nächsten ungelesenen Artikel anzeigen" +msgid "Comment (optional) : " +msgstr "Kommentar (optional): " #: src/lang.c:298 -msgid "go to the article that this one followed up" -msgstr "(Bezugs)Artikel anzeigen, den der aktuelle Artikel beantwortet hat" +msgid "Apply pattern to : " +msgstr "Wende Muster an auf : " #: src/lang.c:299 -msgid "display previous article" -msgstr "vorhergehenden Artikel anzeigen" +msgid "From: line (ignore case) " +msgstr "From: Zeile (ignoriere Groß- Kleinschreibung)" #: src/lang.c:300 -msgid "display previous unread article" -msgstr "vorhergehenden ungelesenen Artikel anzeigen" - -#: src/lang.c:301 -msgid "quickly kill an article using defaults" -msgstr "killt einen Artikel schnell und benutzt dabei die Voreinstellungen" +msgid "From: line (case sensitive) " +msgstr "From: Zeile (Groß- Kleinschreibung beachten) " #: src/lang.c:302 -msgid "quickly auto-select (hot) an article using defaults" -msgstr "markiert (hervorheben) Artikel und benutzt die Voreinstellungen" - -#: src/lang.c:303 -msgid "return to group selection level" -msgstr "kehrt zum Gruppenauswahlmenü zurück" +#, c-format +msgid "%s%s: Unknown host.\n" +msgstr "%s%s: Unbekannter Host.\n" #: src/lang.c:304 -msgid "reply through mail to author" -msgstr "Antwort per Mail an den Autor" +msgid "global " +msgstr "Global " #: src/lang.c:305 -msgid "reply through mail (don't copy text) to author" -msgstr "Antwort per Mail an den Autor (ohne Zitieren des Textes)" +#, c-format +msgid "Please use %.100s instead" +msgstr "Bitte %.100s statt dessen benutzen" #: src/lang.c:306 -msgid "reply through mail to author quoting complete headers" -msgstr "Antwort per Mail an den Autor, wobei der komplette Header zitiert wird" +#, c-format +msgid "%s is bogus" +msgstr "%s ist ungültig" #: src/lang.c:307 -msgid "repost chosen article to another group" -msgstr "gewählten Artikel in eine andere Gruppe reposten" +#, c-format +msgid "Group %s is moderated. Continue?" +msgstr "Gruppe %s ist moderiert. Fortfahren?" #: src/lang.c:308 -msgid "search backwards within this article" -msgstr "sucht rückwärts innerhalb des Artikels" +msgid "groups" +msgstr "Gruppen" #: src/lang.c:309 -msgid "search forwards within this article" -msgstr "sucht vorwärts innerhalb des Artikels" +#, c-format +msgid "Rereading %s..." +msgstr "Lese %s..." #: src/lang.c:310 -msgid "show article in raw-mode (including all headers)" -msgstr "Artikel im Rohformat (inklusive aller Header) anzeigen" +msgid "Top Level Commands" +msgstr "Top Level Befehle" #: src/lang.c:311 -msgid "skip next block of included text" -msgstr "überspringt den nächsten Zitatblock" +msgid "Group Selection" +msgstr "Gruppen-Auswahl" #: src/lang.c:312 -msgid "toggle display of sections hidden by a form-feed (^L) on/off" -msgstr "schalte Anzeige von durch Form-Feed (^L) versteckten Teilen ein/aus" - -#: src/lang.c:313 -msgid "toggle word highlighting on/off" -msgstr "schaltet das Wort-Hervorheben ein/aus" +msgid "group" +msgstr "Gruppe" #: src/lang.c:314 -msgid "toggle ROT-13 (basic decode) for current article" -msgstr "(de)aktiviert ROT-13 Dekodierung für den aktuellen Artikel" +msgid "One or more lines of comment. to add a line or proceed if line is empty." +msgstr "Kommentarzeile(n). für nächsten Menüpunkt bzw. Ende der eingeg. Zeile." #: src/lang.c:315 -msgid "toggle tabwidth 4 <-> 8" -msgstr "wechsle Tabulatorweite 4 <-> 8" +msgid "From: line to add to filter file. toggles & sets." +msgstr "From: zum Filter hinzufügen. wechselt & setzt." #: src/lang.c:316 -msgid "toggle german TeX style decoding for current article" -msgstr "(de)aktiviere deutsche TeX-style Dekodierung für aktuellen Artikel" +msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." +msgstr "Zeilenzahl der Artikel, die gefiltert werden. < weniger, > mehr, = gleich." #: src/lang.c:317 -msgid "toggle display of uuencoded sections" -msgstr "Anzeige von UU-kodierten Teilen umschalten" +msgid "Message-ID: line to add to filter file. toggles & sets." +msgstr "Message-ID: zum Filter hinzufügen. wechselt & setzt." #: src/lang.c:318 -msgid "View/save multimedia attachments" -msgstr "Multimedia-Anhänge anzeigen/speichern" +msgid "Subject: line to add to filter file. toggles & sets." +msgstr "Subject: zum Filter hinzufügen. wechselt & setzt." #: src/lang.c:319 -#, c-format -msgid "report bug or comment via mail to %s" -msgstr "sendet Fehlerbericht oder Kommentar via Mail an %s" +msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." +msgstr "Textmuster zum Filtern, wenn Subject: & From: nicht Ihren Wünschen entspricht." #: src/lang.c:320 -msgid "choose range of articles to be affected by next command" -msgstr "Bereich der Artikel, die vom nächsten Kommando betroffen sind" +msgid "Select where text pattern should be applied. toggles & sets." +msgstr "Wähle worauf das Textmuster angewendet wird. wechselt & setzt." #: src/lang.c:321 -msgid "escape from command prompt" -msgstr "Verlassen der Kommandozeile" +msgid "Expiration time in days for the entered filter. toggles & sets." +msgstr "Gültigkeitsdauer in Tagen für den Filter. wechselt & setzt." #: src/lang.c:322 -msgid "edit filter file" -msgstr "Filter-Datei bearbeiten" +msgid "Apply kill only to current group or all groups. toggles & sets." +msgstr "Filterregel gilt für aktuelle/alle Gruppe(n). wechselt & setzt." #: src/lang.c:323 -msgid "get help" -msgstr "zeigt die Hilfe" +msgid "Apply select to current group or all groups. toggles & sets." +msgstr "Filterregel gilt für aktuelle/allen Gruppe(n). wechselt & setzt." #: src/lang.c:324 -msgid "display last article viewed" -msgstr "zeigt den zuletzt angezeigten Artikel an" +msgid "kill an article via a menu" +msgstr "killt einen Artikel mittels eines Menüs" #: src/lang.c:325 -msgid "down one line" -msgstr "eine Zeile runter" +msgid "auto-select (hot) an article via a menu" +msgstr "Filterregel (hochscoren) für Artikel via Menü erstellen" #: src/lang.c:326 -msgid "up one line" -msgstr "eine Zeile hoch" +msgid "Browse URLs in article" +msgstr "URLs im Artikel mit Browser öffnen" #: src/lang.c:327 -msgid "go to article chosen by Message-ID" -msgstr "Artikel mit dieser Message-ID anzeigen" - -#: src/lang.c:328 -msgid "mail article/thread/hot/pattern/tagged articles to someone" -msgstr "Artikel/Thread/hervorgeh./markierten Artikel per Mail weiterleiten" +msgid "0 - 9\t display article by number in current thread" +msgstr "0 - 9\t zeigt Artikel nach Nummern sortiert im aktuellen Thread" #: src/lang.c:329 -msgid "menu of configurable options" -msgstr "Menü der konfigurierbaren Optionen" +msgid "cancel (delete) or supersede (overwrite) current article" +msgstr "cancelt (löscht) oder ersetzt den aktuellen Artikel" #: src/lang.c:330 -msgid "down one page" -msgstr "eine Seite runter" +msgid "post followup to current article" +msgstr "aktuellen Artikel beantworten (followup)" #: src/lang.c:331 -msgid "up one page" -msgstr "eine Seite hoch" +msgid "post followup (don't copy text) to current article" +msgstr "aktuellen Artikel beantworten, ohne Zitieren des Textes" #: src/lang.c:332 -msgid "post (write) article to current group" -msgstr "poste (schreibe) Artikel in die aktuelle Gruppe" +msgid "post followup to current article quoting complete headers" +msgstr "aktuellen Artikel beantworten, mit Komplettzitat der Header" #: src/lang.c:333 -msgid "post postponed articles" -msgstr "poste zurückgestellte Artikel" - -#: src/lang.c:334 -msgid "list articles posted by you (from posted file)" -msgstr "listet Ihre geposteten Artikel auf (aus der 'posted' Datei)" +msgid "repost chosen article to another group" +msgstr "gewählten Artikel in eine andere Gruppe reposten" #: src/lang.c:335 -msgid "return to previous menu" -msgstr "kehrt zum vorherigen Menü zurück" +msgid "edit article (mail-groups only)" +msgstr "editiere Artikel (nur bei Mail-Gruppen)" #: src/lang.c:336 -msgid "quit tin immediately" -msgstr "beendet tin sofort" +msgid "display first article in current thread" +msgstr "ersten Artikel im aktuellen Thread anzeigen" #: src/lang.c:337 -msgid "redraw page" -msgstr "Bildschirmdarstellung neu zeichnen" +msgid "display first page of article" +msgstr "zeigt erste Seite des Artikels an" #: src/lang.c:338 -msgid "save article/thread/hot/pattern/tagged articles to file" -msgstr "speichert Artikel/Thread hervorgehoben/Muster/markierten Artikel" +msgid "display last article in current thread" +msgstr "letzten Artikel im aktuellen Thread anzeigen" #: src/lang.c:339 -msgid "save marked articles automatically without user prompts" -msgstr "speichert markierte Artikel automatisch ohne Nachfrage" +msgid "display last page of article" +msgstr "letzte Seite des Artikels anzeigen" #: src/lang.c:340 -msgid "scroll the screen one line down" -msgstr "Bildschirm eine Zeile nach oben schieben" +msgid "mark rest of thread as read and advance to next unread" +msgstr "markiere Rest des Thread als gelesen, springe zu nächstem ungelesenen" #: src/lang.c:341 -msgid "scroll the screen one line up" -msgstr "Bildschirm eine Zeile nach unten schieben" +msgid "display next article" +msgstr "nächsten Artikel anzeigen" #: src/lang.c:342 -msgid "search for articles by author backwards" -msgstr "sucht rückwärts nach Artikeln von Autor" +msgid "display first article in next thread" +msgstr "zeigt den ersten Artikel im nächsten Thread an" #: src/lang.c:343 -msgid "search for articles by author forwards" -msgstr "sucht vorwärts nach Artikeln von Autor" +msgid "display next unread article" +msgstr "nächsten ungelesenen Artikel anzeigen" #: src/lang.c:344 -msgid "search all articles for a given string (this may take some time)" -msgstr "sucht in allen Artikel nach vorgegebener Zeichenkette (kann dauern)" +msgid "go to the article that this one followed up" +msgstr "(Bezugs)Artikel anzeigen, den der aktuelle Artikel beantwortet hat" -# TODO: formating #: src/lang.c:345 -msgid " \t (searches are case-insensitive and wrap around to all articles)" -msgstr " \t (Suchen beachten Gross/Kleinschreibung nicht und laufen über den\n" - " letzten Artikel hinaus zum ersten Artikel der Gruppe und von dort\n" - " aus weiter.)" +msgid "display previous article" +msgstr "vorhergehenden Artikel anzeigen" #: src/lang.c:346 -msgid "search for articles by Subject line backwards" -msgstr "durchsucht Artikel rückwärts nach Subject Zeile" +msgid "display previous unread article" +msgstr "vorhergehenden ungelesenen Artikel anzeigen" #: src/lang.c:347 -msgid "search for articles by Subject line forwards" -msgstr "durchsucht Artikel vorwärts nach Subject Zeile" +msgid "quickly kill an article using defaults" +msgstr "killt einen Artikel schnell und benutzt dabei die Voreinstellungen" #: src/lang.c:348 -msgid "repeat last search" -msgstr "letzte Suche wiederholen" +msgid "quickly auto-select (hot) an article using defaults" +msgstr "markiert (hervorheben) Artikel und benutzt die Voreinstellungen" #: src/lang.c:349 -msgid "tag current article for reposting/mailing/piping/printing/saving" -msgstr "markiere Artikel für nochmaliges posten/pipen/drucken/abspeichern" +msgid "return to group selection level" +msgstr "kehrt zum Gruppenauswahlmenü zurück" #: src/lang.c:350 -msgid "toggle info message in last line (subject/description)" -msgstr "Anzeige von Subject/Beschreibung in d. letzten Zeile (de)aktivieren" +msgid "reply through mail to author" +msgstr "Antwort per Mail an den Autor" #: src/lang.c:351 -msgid "toggle inverse video" -msgstr "(de)aktiviert inverse Darstellung" +msgid "reply through mail (don't copy text) to author" +msgstr "Antwort per Mail an den Autor (ohne Zitieren des Textes)" #: src/lang.c:352 -msgid "toggle mini help menu display" -msgstr "schaltet das Minihilfemenü ein/aus" +msgid "reply through mail to author quoting complete headers" +msgstr "Antwort per Mail an den Autor, wobei der komplette Header zitiert wird" #: src/lang.c:353 -msgid "cycle the display of authors email address, real name, both or neither" -msgstr "Zeigt des Autors EMail Adresse, Realname, beides oder nichts von beidem an" +msgid "search backwards within this article" +msgstr "sucht rückwärts innerhalb des Artikels" #: src/lang.c:354 -msgid "show version information" -msgstr "zeige Versionsinformationen" +msgid "search forwards within this article" +msgstr "sucht vorwärts innerhalb des Artikels" #: src/lang.c:355 -msgid "mark all articles as read and return to group selection menu" -msgstr "markiert alle Artikel als gelesen und kehrt zum Gruppenmenü zurück" +msgid "show article in raw-mode (including all headers)" +msgstr "Artikel im Rohformat (inklusive aller Header) anzeigen" #: src/lang.c:356 -msgid "mark all articles as read and enter next group with unread articles" -msgstr "markiere Artikel gelesen; öffne nä. Gruppe mit ungelesenen Artikeln" +msgid "skip next block of included text" +msgstr "überspringt den nächsten Zitatblock" #: src/lang.c:357 -msgid "choose first thread in list" -msgstr "Wähle ersten Thread in der Liste" +msgid "toggle display of sections hidden by a form-feed (^L) on/off" +msgstr "schalte Anzeige von durch Form-Feed (^L) versteckten Teilen ein/aus" #: src/lang.c:358 -msgid "choose last thread in list" -msgstr "Wähle letzten Thread in der Liste" +msgid "toggle display of all headers" +msgstr "" #: src/lang.c:359 -msgid "list articles within current thread (bring up Thread sub-menu)" -msgstr "listet Artikel im aktuellen Thread (öffnet das Thread Untermenü)" +msgid "toggle word highlighting on/off" +msgstr "schaltet das Wort-Hervorheben ein/aus" #: src/lang.c:360 -msgid "mark article as unread" -msgstr "markiert Artikel als ungelesen" +msgid "toggle ROT-13 (basic decode) for current article" +msgstr "(de)aktiviert ROT-13 Dekodierung für den aktuellen Artikel" #: src/lang.c:361 -msgid "mark current thread or tagged threads as read" -msgstr "markiert den aktuellen Thread oder markierte Artikel als gelesen" +msgid "toggle tabwidth 4 <-> 8" +msgstr "wechsle Tabulatorweite 4 <-> 8" #: src/lang.c:362 -msgid "mark thread as unread" -msgstr "markiert den aktuellen Thread als ungelesen" +msgid "toggle german TeX style decoding for current article" +msgstr "(de)aktiviere deutsche TeX-style Dekodierung für aktuellen Artikel" #: src/lang.c:363 -msgid "toggle display of all/selected articles" -msgstr "wechselt zwischen der Anzeige aller/markierter (hot) Artikel" +msgid "toggle display of uuencoded sections" +msgstr "Anzeige von UU-kodierten Teilen umschalten" #: src/lang.c:364 -msgid "display next group" -msgstr "zeige nächste Gruppe" +msgid "View/pipe/save multimedia attachments" +msgstr "Multimedia-Anhänge anzeigen/pipen/speichern" #: src/lang.c:365 -msgid "display previous group" -msgstr "zeige vorhergehende Gruppe" +msgid "choose first attachment in list" +msgstr "wähle ersten Anhang in der Liste" #: src/lang.c:366 -msgid "toggle all selections (all articles)" -msgstr "Markierung 'hot'/wichtig für alle Artikel umschalten" +msgid "0 - 9\t choose attachment by number" +msgstr "0 - 9\t Wähle Anhang anhand der Nummer" #: src/lang.c:367 -msgid "select group (make \"hot\")" -msgstr "Markierung 'hot'/wichtig für Gruppe setzen" - -#: src/lang.c:368 -msgid "select thread" -msgstr "Markierung 'hot'/wichtig für Thread setzen" +msgid "choose last attachment in list" +msgstr "wähle letzten Anhang in der Liste" -# TODO: formating #: src/lang.c:369 -msgid "select threads if at least one unread article is selected" -msgstr "Markierung 'hot'/wichtig für alle Threads setzen, die schon einen\n" - " ungelesenen Artikel mit Markierung 'hot'/wichtig enthalten." +msgid "pipe attachment into command" +msgstr "" -# TODO: formating #: src/lang.c:370 -msgid "select threads that match user specified pattern" -msgstr "Markierung 'hot'/wichtig für alle Threads setzen, die einem\n" - " gewählten Muster entsprechen" - -#: src/lang.c:371 -msgid "tag all parts of current multipart-message in order" -msgstr "markiert alle Teile der multipart-Nachrichten in der Reihenfolge" +msgid "pipe raw attachment into command" +msgstr "" #: src/lang.c:372 -msgid "0 - 9\t choose thread by number" -msgstr "0 - 9\t wählt Thread anhand der Nummer" +msgid "save attachment to disk" +msgstr "Anhang speichern" #: src/lang.c:373 -msgid "toggle limit number of articles to get, and reload" -msgstr "Anzahl der zu holenden oder wieder zu ladenden Artikel ändern" +msgid "search for attachments forwards" +msgstr "" #: src/lang.c:374 -msgid "toggle display of all/unread articles" -msgstr "wechselt zwischen der Anzeige aller/ungelesener Artikel" +msgid "search for attachments backwards" +msgstr "" #: src/lang.c:375 -msgid "toggle selection of thread" -msgstr "Markierung 'hot'/wichtig für Thread setzen/entfernen" +msgid "view attachment" +msgstr "Anhang ansehen" #: src/lang.c:376 -msgid "cycle through threading options available" -msgstr "wechsle durch die verschiedenen Threading-Optionen" +msgid "tag attachment" +msgstr "Anhang markieren" +# TODO: formating #: src/lang.c:377 -msgid "undo all selections (all articles)" -msgstr "Markierung 'hot'/wichtig für alle Artikel entfernen" +msgid "tag attachments that match user specified pattern" +msgstr "" #: src/lang.c:378 -msgid "untag all tagged threads" -msgstr "hebt die Markierung der markierten Artikel auf" +msgid "reverse tagging on all attachments (toggle)" +msgstr "" #: src/lang.c:379 -msgid "mark all articles in group as read" -msgstr "markiert alle Artikel der Gruppe als gelesen" +msgid "untag all tagged attachments" +msgstr "hebt die Markierung der markierten Anhänge auf" #: src/lang.c:380 -msgid "mark all articles in group as read and move to next unread group" -msgstr "markiert Gruppe als gelesen, springt zur nächsten mit ungel. Artikeln" +msgid "toggle info message in last line (name/description of attachment)" +msgstr "" #: src/lang.c:381 -msgid "choose first group in list" -msgstr "Wähle erste Gruppe in der Liste" +msgid "choose first attribute in list" +msgstr "wähle erstes Attribut in der Liste" #: src/lang.c:382 -msgid "choose group by name" -msgstr "Gruppe anhand des Namens auswählen" +msgid "0 - 9\t choose attribute by number" +msgstr "0 - 9\t Wähle Attribut anhand der Nummer" #: src/lang.c:383 -msgid "0 - 9\t choose group by number" -msgstr "0 - 9\t wählt die Gruppe anhand der Nummer" +msgid "choose last attribute in list" +msgstr "wähle letztes Attribut in der Liste" #: src/lang.c:384 -msgid "choose range of groups to be affected by next command" -msgstr "Bereich der Gruppen, die vom nächsten Kommando betroffen sind" +msgid "reset attribute to a default value" +msgstr "" #: src/lang.c:385 -msgid "choose last group in list" -msgstr "Wähle letzte Gruppe in der Liste" +msgid "search forwards for an attribute" +msgstr "suche vorwärts nach einem Attribut" #: src/lang.c:386 -msgid "mark all articles in chosen group unread" -msgstr "markiert alle Artikel in der gewählten Gruppe als ungelesen" +msgid "search backwards for an attribute" +msgstr "sucht rückwärts nach einem Attribut" #: src/lang.c:387 -msgid "move chosen group within list" -msgstr "bewegt die gewählte Gruppe innerhalb der Liste" +msgid "select attribute" +msgstr "" #: src/lang.c:388 -msgid "choose next group with unread news" -msgstr "wählt die nächste Gruppe mit ungelesenen Artikeln" +msgid "toggle back to options menu when invoked from there" +msgstr "" -#: src/lang.c:389 src/lang.c:1197 -msgid "quit" -msgstr "Beenden" +#: src/lang.c:389 +#, c-format +msgid "report bug or comment via mail to %s" +msgstr "sendet Fehlerbericht oder Kommentar via Mail an %s" #: src/lang.c:390 -msgid "quit without saving configuration changes" -msgstr "beenden ohne die Konfigurationsänderungen zu sichern" +msgid "choose first option in list" +msgstr "Wähle erste Option in der Liste" #: src/lang.c:391 -msgid "read chosen group" -msgstr "liest ausgewählte Gruppe" +msgid "0 - 9\t choose option by number" +msgstr "0 - 9\t wählt die Option anhand der Nummer" #: src/lang.c:392 -msgid "reset .newsrc (all available articles in groups marked unread)" -msgstr "setzt die .newsrc zurück (alle Artikel als gelesen markiert)" +msgid "choose last option in list" +msgstr "Wähle letzte Option in der Liste" #: src/lang.c:393 -msgid "search backwards for a group name" -msgstr "sucht rückwärts nach einem Gruppennamen" +msgid "start scopes menu" +msgstr "" #: src/lang.c:394 -msgid " \t (all searches are case-insensitive and wrap around)" -msgstr " \t (alle Suchen sind case-insensitive und beginnen am Ende von vorn)" +msgid "search forwards for an option" +msgstr "suche vorwärts nach einer Option" #: src/lang.c:395 -msgid "search forwards for a group name" -msgstr "suche vorwärts nach einer Gruppe" +msgid "search backwards for an option" +msgstr "sucht rückwärts nach einer Option" #: src/lang.c:396 -msgid "subscribe to chosen group" -msgstr "abonniert ausgewählte Gruppe" +msgid "select option" +msgstr "Option auswählen" #: src/lang.c:397 -msgid "subscribe to groups that match pattern" -msgstr "abonniere Gruppen, die auf das Muster passen" +msgid "toggle to attributes menu" +msgstr "" #: src/lang.c:398 -msgid "reread active file to check for any new news" -msgstr "lies die Datei 'active' neu ein, um nach neuen Artikeln zu suchen" +msgid "choose range of articles to be affected by next command" +msgstr "Bereich der Artikel, die vom nächsten Kommando betroffen sind" #: src/lang.c:399 -msgid "toggle display of group name only or group name plus description" -msgstr "Anzeige der Kurzbeschreibung der Gruppe (de)aktivieren." +msgid "escape from command prompt" +msgstr "Verlassen der Kommandozeile" #: src/lang.c:400 -msgid "toggle display to show all/unread subscribed groups" -msgstr "wechselt die Anzeige zwischen allen/ungelesenen abonnierten Gruppen" +msgid "edit filter file" +msgstr "Filter-Datei bearbeiten" #: src/lang.c:401 -msgid "unsubscribe from chosen group" -msgstr "bestellt ausgewählte Gruppe ab" +msgid "get help" +msgstr "zeigt die Hilfe" #: src/lang.c:402 -msgid "unsubscribe from groups that match pattern" -msgstr "bestelle Gruppen ab, die auf das Muster passen" +msgid "display last article viewed" +msgstr "zeigt den zuletzt angezeigten Artikel an" #: src/lang.c:403 -msgid "sort the list of groups" -msgstr "Liste der Gruppen sortieren" +msgid "down one line" +msgstr "eine Zeile runter" #: src/lang.c:404 -msgid "toggle display to show all/subscribed groups" -msgstr "schaltet um zwischen der Anzeige aller/abonnierten Gruppen" +msgid "up one line" +msgstr "eine Zeile hoch" #: src/lang.c:405 -msgid "0 - 9\t choose article by number" -msgstr "0 - 9\t Wähle Artikel anhand der Nummer" +msgid "go to article chosen by Message-ID" +msgstr "Artikel mit dieser Message-ID anzeigen" #: src/lang.c:406 -msgid "mark thread as read and return to group index page" -msgstr "markiert den Thread als gelesen und kehrt zum Gruppenindex zurück" +msgid "mail article/thread/hot/pattern/tagged articles to someone" +msgstr "Artikel/Thread/hervorgeh./markierten Artikel per Mail weiterleiten" #: src/lang.c:407 -msgid "mark thread as read and enter next unread thread or group" -msgstr "markiert Thread als gelesen; nächster ungelesener Thread/Gruppe" +msgid "menu of configurable options" +msgstr "Menü der konfigurierbaren Optionen" #: src/lang.c:408 -msgid "choose first article in list" -msgstr "wähle ersten Artikel in der Liste" +msgid "down one page" +msgstr "eine Seite runter" #: src/lang.c:409 -msgid "choose last article in list" -msgstr "wähle letzten Artikel in der Liste" - -#: src/lang.c:410 -msgid "mark article or tagged articles as read and move cursor to next unread article" -msgstr "markiert Artikel als gelesen geht zum nächsten ungelesenen Artikel" +msgid "up one page" +msgstr "eine Seite hoch" #: src/lang.c:411 -msgid "read chosen article" -msgstr "zeige gewählten Artikel" +msgid "post (write) article to current group" +msgstr "poste (schreibe) Artikel in die aktuelle Gruppe" #: src/lang.c:412 -msgid "Display properties\n" - "------------------" -msgstr "Darstellungsoptionen\n" - "--------------------" - -#: src/lang.c:413 -msgid "Miscellaneous\n" - "-------------" -msgstr "Verschiedenes\n" - "-------------" +msgid "post postponed articles" +msgstr "poste zurückgestellte Artikel" #: src/lang.c:414 -msgid "Moving around\n" - "-------------" -msgstr "Position ändern\n" - "---------------" +msgid "list articles posted by you (from posted file)" +msgstr "listet Ihre geposteten Artikel auf (aus der 'posted' Datei)" #: src/lang.c:415 -msgid "Group/thread/article operations\n" - "-------------------------------" -msgstr "Gruppe/Thread/Artikel Kommandos\n" - "-------------------------------" +msgid "return to previous menu" +msgstr "kehrt zum vorherigen Menü zurück" + +#: src/lang.c:416 +msgid "quit tin immediately" +msgstr "beendet tin sofort" #: src/lang.c:417 -msgid "Group Level Commands" -msgstr "Gruppenlevel Befehle" +msgid "redraw page" +msgstr "Bildschirmdarstellung neu zeichnen" #: src/lang.c:418 -msgid "Kill filter added" -msgstr "Killfilter hinzugefügt" +msgid "save article/thread/hot/pattern/tagged articles to file" +msgstr "speichert Artikel/Thread hervorgehoben/Muster/markierten Artikel" #: src/lang.c:419 -msgid "Auto-selection filter added" -msgstr "Automatischer Auswahlfilter hinzugefügt" +msgid "save marked articles automatically without user prompts" +msgstr "speichert markierte Artikel automatisch ohne Nachfrage" #: src/lang.c:420 -msgid "All parts tagged" -msgstr "Alle Teile markiert" +msgid "scroll the screen one line down" +msgstr "Bildschirm eine Zeile nach oben schieben" #: src/lang.c:421 -msgid "Storing article for later posting" -msgstr "Speichert Artikel, um ihn später zu posten" +msgid "scroll the screen one line up" +msgstr "Bildschirm eine Zeile nach unten schieben" #: src/lang.c:422 -msgid "Please enter a valid character" -msgstr "Bitte ein gültiges Zeichen eingeben" +msgid "search for articles by author backwards" +msgstr "sucht rückwärts nach Artikeln von Autor" #: src/lang.c:423 -#, c-format -msgid "Missing part #%d" -msgstr "Teil Nummer %d fehlt." +msgid "search for articles by author forwards" +msgstr "sucht vorwärts nach Artikeln von Autor" #: src/lang.c:424 -msgid "*** No postponed articles ***" -msgstr "*** Keine zurückgelegten Artikel ***" +msgid "search all articles for a given string (this may take some time)" +msgstr "sucht in allen Artikel nach vorgegebener Zeichenkette (kann dauern)" +# TODO: formating #: src/lang.c:425 -msgid "Not a multi-part message" -msgstr "Kein mehrteiliger Artikel" +msgid " \t (searches are case-insensitive and wrap around to all articles)" +msgstr " \t (Suchen beachten Groß/Kleinschreibung nicht und laufen über den\n" + " letzten Artikel hinaus zum ersten Artikel der Gruppe und von dort\n" + " aus weiter.)" #: src/lang.c:426 -msgid "You are not subscribed to this group" -msgstr "Sie haben diese Gruppe nicht abonniert" +msgid "search for articles by Subject line backwards" +msgstr "durchsucht Artikel rückwärts nach Subject Zeile" #: src/lang.c:427 -msgid "No previous expression" -msgstr "Kein vorhergehender Ausdruck" +msgid "search for articles by Subject line forwards" +msgstr "durchsucht Artikel vorwärts nach Subject Zeile" #: src/lang.c:428 -msgid "Operation disabled in no-overwrite mode" -msgstr "Ausführung nicht möglich im nicht-überschreiben Modus" +msgid "repeat last search" +msgstr "letzte Suche wiederholen" + +#: src/lang.c:429 +msgid "tag current article for reposting/mailing/piping/printing/saving" +msgstr "markiere Artikel für nochmaliges posten/pipen/drucken/abspeichern" -#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:430 -#, c-format -msgid "%d postponed %s, reuse with ^O...\n" -msgstr "%d zurückgelegte %s, hervorholen mit ^O...\n" +msgid "toggle info message in last line (subject/description)" +msgstr "Anzeige von Subject/Beschreibung in d. letzten Zeile (de)aktivieren" #: src/lang.c:431 -msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" - " To get the whole article, turn alternative handling OFF in the Option Menu\n" -msgstr "X-Conversion-Note: multipart/alternative Inhalt wurde entfernt.\n" - " Um das zu ändern, setzen Sie in der tinrc das alternative_handling auf OFF\n" +msgid "toggle inverse video" +msgstr "(de)aktiviert inverse Darstellung" + +#: src/lang.c:432 +msgid "toggle mini help menu display" +msgstr "schaltet das Minihilfemenü ein/aus" #: src/lang.c:433 -#, c-format -msgid "Save filename for %s/%s is a mailbox. Attachment not saved" -msgstr "Dateiname für %s/%s ist eine Mailbox. Anhang nicht gespeichert" +msgid "cycle the display of authors email address, real name, both or neither" +msgstr "Zeigt des Autors EMail Adresse, Realname, beides oder nichts\n" + " von beidem an" #: src/lang.c:434 -msgid "TeX2Iso encoded article" -msgstr "TeX2Iso kodierter Artikel" +msgid "show version information" +msgstr "zeige Versionsinformationen" #: src/lang.c:435 -msgid "incomplete " -msgstr "unvollständige " +msgid "mark all articles as read and return to group selection menu" +msgstr "markiert alle Artikel als gelesen und kehrt zum Gruppenmenü zurück" + +#: src/lang.c:436 +msgid "mark all articles as read and enter next group with unread articles" +msgstr "markiere Artikel gelesen; öffne nä. Gruppe mit ungelesenen Artikeln" -#. TODO: replace hardcoded key-names #: src/lang.c:437 -#, c-format -msgid "\n" - "Welcome to %s, a full screen threaded Netnews reader. It can read news " - "locally\n" - "(ie. /news) or remotely (-r option) from a NNTP (Network News " - "Transport\n" - "Protocol) server. -h lists the available command line options.\n" - "\n" - "%s has four newsreading levels, the newsgroup selection page, the group " - "index\n" - "page, the thread listing page and the article viewer. Help is available at " - "each\n" - "level by pressing the 'h' command.\n" - "\n" - "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " - "or\n" - "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" - "\n" - "Articles, threads, tagged articles or articles matching a pattern can be " - "mailed\n" - "('m' command), printed ('o' command), saved ('s' command), piped ('|' " - "command).\n" - "Use the 'w' command to post a news article, the 'f'/'F' commands to post " - "a\n" - "follow-up to an existing news article and the 'r'/'R' commands to reply " - "via\n" - "mail to an existing news article author. The 'M' command allows the " - "operation\n" - "of %s to be configured via a menu.\n" - "\n" - "For more information read the manual page, README, INSTALL, TODO and FTP " - "files.\n" - "Please send bug-reports/comments to %s with the 'R' command.\n" -msgstr "\n" - "Willkommen bei %s, dem vollbildfähigen Newsreader mit Threaddarstellung.\n" - "Er kann News lokal (z.B. /news), oder von entfernten Rechnern\n" - "(-r Option) von einem NNTP Server lesen. -h zeigt alle " - "Kommandozeilenoptionen.\n" - "\n" - "%s hat 4 verschiedene Level um News zu lesen: die Newsgruppenauswahl, den\n" - "Gruppenindex, den Threadlevel und den Artikelbetrachter. Eine Hilfe gibt es\n" - "zu jedem Level indem man einfach 'h' drückt.\n" - "\n" - "Zum rauf- und runterbewegen benutzt man die Cursortasten oder 'j' und 'k'.\n" - "'Bildrauf/Bildrunter', STRG-U und STRG-D um eine Seite hoch oder runter zu\n" - "scrollen. Eine Newsgruppe betritt man mittels RETURN oder TAB.\n" - "\n" - "Artikel, Threads, markierte Artikel oder Artikel, die einem Suchmuster\n" - "entsprechen, können gemailt ('m'), gedruckt ('o'), gespeichert ('s') oder\n" - "gepipet ('|') werden. Benutzen Sie 'w', um einen neuen Artikel zu schreiben,\n" - "'f'/'F', um auf einen Artikel zu antworten und 'r'/'R', um den Autor via\n" - "Mail zu antworten. Mit 'M' können Sie %s mittels eines Menüs konfigurieren.\n" - "\n" - "Für mehr Informationen lesen Sie die Manpage, das README, INSTALL, TODO etc.\n" - "Bitte senden Sie Fehlerberichte und Kommentare mittels des 'R' Kommandos an\n" - "%s.\n" +msgid "choose first thread in list" +msgstr "Wähle ersten Thread in der Liste" + +#: src/lang.c:438 +msgid "choose last thread in list" +msgstr "Wähle letzten Thread in der Liste" + +#: src/lang.c:439 +msgid "list articles within current thread (bring up Thread sub-menu)" +msgstr "listet Artikel im aktuellen Thread (öffnet das Thread Untermenü)" + +#: src/lang.c:440 +msgid "mark article as unread" +msgstr "markiert Artikel als ungelesen" + +#: src/lang.c:441 +msgid "mark current thread, range or tagged threads as read" +msgstr "markiert den aktuellen Thread, Bereich oder markierte Artikel als gelesen" + +#: src/lang.c:442 +msgid "mark current thread, range or tagged threads as unread" +msgstr "markiert den aktuellen Thread, Bereich oder markierte Artikel als ungelesen" + +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "" + +#: src/lang.c:445 +msgid "toggle display of all/selected articles" +msgstr "wechselt zwischen der Anzeige aller/markierter (hot) Artikel" + +#: src/lang.c:446 +msgid "display next group" +msgstr "zeige nächste Gruppe" + +#: src/lang.c:447 +msgid "display previous group" +msgstr "zeige vorhergehende Gruppe" + +#: src/lang.c:448 +msgid "toggle all selections (all articles)" +msgstr "Markierung 'hot'/wichtig für alle Artikel umschalten" + +#: src/lang.c:449 +msgid "select group (make \"hot\")" +msgstr "Markierung 'hot'/wichtig für Gruppe setzen" + +#: src/lang.c:450 +msgid "select thread" +msgstr "Markierung 'hot'/wichtig für Thread setzen" + +# TODO: formating +#: src/lang.c:451 +msgid "select threads if at least one unread article is selected" +msgstr "Markierung 'hot'/wichtig für alle Threads setzen, die schon einen\n" + " ungelesenen Artikel mit Markierung 'hot'/wichtig enthalten." + +# TODO: formating +#: src/lang.c:452 +msgid "select threads that match user specified pattern" +msgstr "Markierung 'hot'/wichtig für alle Threads setzen, die einem\n" + " gewählten Muster entsprechen" #: src/lang.c:453 -#, c-format -msgid "Invalid From: %s line. Read the INSTALL file again." -msgstr "Ungültige From: %s Zeile. Lesen Sie INSTALL nochmal." +msgid "tag all parts of current multipart-message in order" +msgstr "markiert alle Teile der multipart-Nachrichten in der Reihenfolge" + +#: src/lang.c:454 +msgid "0 - 9\t choose thread by number" +msgstr "0 - 9\t wählt Thread anhand der Nummer" #: src/lang.c:455 -msgid "Invalid multibyte sequence found\n" -msgstr "Ungültige Mehrbytezeichen-Folge vorhanden\n" +msgid "toggle limit number of articles to get, and reload" +msgstr "Anzahl der zu holenden oder wieder zu ladenden Artikel ändern" + +#: src/lang.c:456 +msgid "toggle display of all/unread articles" +msgstr "wechselt zwischen der Anzeige aller/ungelesener Artikel" #: src/lang.c:457 -#, c-format -msgid "Invalid Sender:-header %s" -msgstr "Ungültiger Sender:-Header %s" +msgid "toggle selection of thread" +msgstr "Markierung 'hot'/wichtig für Thread setzen/entfernen" #: src/lang.c:458 -msgid "Inverse video disabled" -msgstr "Inverse Bilddarstellung abgestellt" +msgid "cycle through threading options available" +msgstr "wechsle durch die verschiedenen Threading-Optionen" #: src/lang.c:459 -msgid "Inverse video enabled" -msgstr "Inverse Bilddarstellung eingeschaltet" +msgid "undo all selections (all articles)" +msgstr "Markierung 'hot'/wichtig für alle Artikel entfernen" + +#: src/lang.c:460 +msgid "untag all tagged threads" +msgstr "hebt die Markierung der markierten Artikel auf" #: src/lang.c:461 -#, c-format -msgid "Missing definition for %s\n" -msgstr "Fehlende Definition für %s\n" +msgid "add new scope" +msgstr "" #: src/lang.c:462 -#, c-format -msgid "Invalid key definition '%s'\n" -msgstr "Ungültige Tastenbelegung '%s'\n" +msgid "delete scope" +msgstr "" #: src/lang.c:463 -#, c-format -msgid "Invalid keyname '%s'\n" -msgstr "Ungültiger Tastenname '%s'\n" +msgid "edit attributes file" +msgstr "" #: src/lang.c:464 -#, c-format -msgid "Keymap file was upgraded to version %s\n" -msgstr "Keymap-File wurde auf Version %s umgestellt\n" +msgid "choose first scope in list" +msgstr "" #: src/lang.c:465 -#, c-format -msgid "Kill From: [%s] (y/n): " -msgstr "Filter From: [%s] (j/n): " +msgid "0 - 9\t choose scope by number" +msgstr "" #: src/lang.c:466 -msgid "Kill Lines: (num): " -msgstr "Filter Z.: (num): " +msgid "choose last scope in list" +msgstr "" #: src/lang.c:467 -msgid "Kill Article Menu" -msgstr "Filter Menü (Kill, Bewertung/Score verringern)" +msgid "move scope" +msgstr "" #: src/lang.c:468 -#, c-format -msgid "Kill Msg-Id: [%s] (f/l/o/n): " -msgstr "Filter Msg-Id: [%s] (v/l/n/n): " +msgid "rename scope" +msgstr "" #: src/lang.c:469 -msgid "Kill pattern scope : " -msgstr "Filter nach Muster : " +msgid "select scope" +msgstr "" #: src/lang.c:470 -#, c-format -msgid "Kill Subject: [%s] (y/n): " -msgstr "Filter Subject:[%s] (j/n): " +msgid "mark all articles in group as read" +msgstr "markiert alle Artikel der Gruppe als gelesen" #: src/lang.c:471 -msgid "Kill text pattern : " -msgstr "Filter Textmuster : " +msgid "mark all articles in group as read and move to next unread group" +msgstr "markiert Gruppe als gelesen, springt zur nächsten mit ungel. Artikeln" #: src/lang.c:472 -msgid "Kill time in days : " -msgstr "Filterzeit in Tagen : " +msgid "choose first group in list" +msgstr "Wähle erste Gruppe in der Liste" + +#: src/lang.c:473 +msgid "choose group by name" +msgstr "Gruppe anhand des Namens auswählen" #: src/lang.c:474 -msgid "Last" -msgstr "Letzte" +msgid "0 - 9\t choose group by number" +msgstr "0 - 9\t wählt die Gruppe anhand der Nummer" #: src/lang.c:475 -msgid "-- Last response --" -msgstr "-- Letzte Antwort --" +msgid "choose range of groups to be affected by next command" +msgstr "Bereich der Gruppen, die vom nächsten Kommando betroffen sind" #: src/lang.c:476 -#, c-format -msgid "Lines %s " -msgstr "Zeilen %s " +msgid "choose last group in list" +msgstr "Wähle letzte Gruppe in der Liste" + +#: src/lang.c:477 +msgid "mark all articles in chosen group unread" +msgstr "markiert alle Artikel in der gewählten Gruppe als ungelesen" #: src/lang.c:478 -msgid "Message-ID: line " -msgstr "Message-ID: Zeile " +msgid "move chosen group within list" +msgstr "bewegt die gewählte Gruppe innerhalb der Liste" #: src/lang.c:479 -msgid "Mail" -msgstr "Maile" +msgid "choose next group with unread news" +msgstr "wählt die nächste Gruppe mit ungelesenen Artikeln" -#: src/lang.c:480 -msgid "mailbox " -msgstr "Mailbox " +#: src/lang.c:480 src/lang.c:1351 +msgid "quit" +msgstr "Beenden" #: src/lang.c:481 -#, c-format -msgid "Mail article(s) to [%.*s]> " -msgstr "Mailt Artikel an [%.*s]> " +msgid "quit without saving configuration changes" +msgstr "beenden ohne die Konfigurationsänderungen zu sichern" #: src/lang.c:482 -#, c-format -msgid "Mailing log to %s\n" -msgstr "Maile Log-Datei an %s\n" +msgid "read chosen group" +msgstr "liest ausgewählte Gruppe" #: src/lang.c:483 -msgid "Mail bug report..." -msgstr "Maile einen Fehlerbericht..." +msgid "reset .newsrc (all available articles in groups marked unread)" +msgstr "setzt die .newsrc zurück (alle Artikel als gelesen markiert)" #: src/lang.c:484 -#, c-format -msgid "Mail BUG REPORT to %s?" -msgstr "Fehlerbericht an %s senden?" +msgid "search backwards for a group name" +msgstr "sucht rückwärts nach einem Gruppennamen" #: src/lang.c:485 -msgid "Mailed" -msgstr "Gemailt" +msgid " \t (all searches are case-insensitive and wrap around)" +msgstr " \t (alle Suchen sind case-insensitive und beginnen am Ende von vorn)" #: src/lang.c:486 -#, c-format -msgid "Mailing to %s..." -msgstr "Senden der Mail an %s..." +msgid "search forwards for a group name" +msgstr "suche vorwärts nach einer Gruppe" #: src/lang.c:487 -msgid "# [Mail/Save] active file. Format is like news active file:\n" - "# groupname max.artnum min.artnum /dir\n" - "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" - "#\n" -msgstr "# [Mail/Speicher] active-Datei. Format ist wie die news active-Datei:\n" - "# Gruppenname max.Artnum min.Artnum /dir\n" - "# Das 4. Feld ist das Basisverzeichnis (z.B. ~/Mail oder ~/News)\n" - "#\n" +msgid "subscribe to chosen group" +msgstr "abonniert ausgewählte Gruppe" + +#: src/lang.c:488 +msgid "subscribe to groups that match pattern" +msgstr "abonniere Gruppen, die auf das Muster passen" + +#: src/lang.c:489 +msgid "reread active file to check for any new news" +msgstr "lies die Datei 'active' neu ein, um nach neuen Artikeln zu suchen" #: src/lang.c:490 -#, c-format -msgid "%s marked as unread" -msgstr "%s als ungelesen markiert" +msgid "toggle display of group name only or group name plus description" +msgstr "Anzeige der Kurzbeschreibung der Gruppe (de)aktivieren." #: src/lang.c:491 -#, c-format -msgid "Marked %d of %d tagged %s as read" -msgstr "%d von %d %s als gelesen markiert" +msgid "toggle display to show all/unread subscribed groups" +msgstr "wechselt die Anzeige zwischen allen/ungelesenen abonnierten Gruppen" #: src/lang.c:492 -#, c-format -msgid "Mark all articles as read%s?" -msgstr "Alle Artikel als gelesen markieren%s?" +msgid "unsubscribe from chosen group" +msgstr "bestellt ausgewählte Gruppe ab" #: src/lang.c:493 -#, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " -msgstr "%s=markierte oder %s=aktuellen Artikel auf gelesen setzen. %s=Abbrechen: " +msgid "unsubscribe from groups that match pattern" +msgstr "bestelle Gruppen ab, die auf das Muster passen" #: src/lang.c:494 -#, c-format -msgid "Mark group %s as read?" -msgstr "Die Gruppe %s als gelesen markieren?" +msgid "sort the list of groups" +msgstr "Liste der Gruppen sortieren" #: src/lang.c:495 -#, c-format -msgid "Mark thread as read%s?" -msgstr "Den Thread als gelesen markieren%s?" +msgid "toggle display to show all/subscribed groups" +msgstr "schaltet um zwischen der Anzeige aller/abonnierten Gruppen" #: src/lang.c:496 -#, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " -msgstr "%s=markierte oder %s=aktuellen Artikel/Thread auf gelesen setzen. %" - "s=Abbrechen: " +msgid "0 - 9\t choose article by number" +msgstr "0 - 9\t Wähle Artikel anhand der Nummer" #: src/lang.c:497 -#, c-format -msgid "Matching %s groups..." -msgstr "Übereinstimmende %s Gruppen..." +msgid "mark thread as read and return to group index page" +msgstr "markiert den Thread als gelesen und kehrt zum Gruppenindex zurück" -#: src/lang.c:498 src/lang.c:502 -#, c-format -msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" -msgstr "=Wähle n; %s=n. ungel.; %s=Suche; %s=Filter" +#: src/lang.c:498 +msgid "mark thread as read and enter next unread thread or group" +msgstr "markiert Thread als gelesen; nächster ungelesener Thread/Gruppe" #: src/lang.c:499 -#, c-format -msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " - "thread" -msgstr "%s=Autorsuche; %s=Catchup; %s=n. unten; %s=n. oben; %s=gelesen; %s=Thread anz." +msgid "choose first article in list" +msgstr "wähle ersten Artikel in der Liste" #: src/lang.c:500 -#, c-format -msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" -msgstr "%s=n. oben; %s=n. unten; %s=BildAuf; %s=BildAb; %s=Anfang; %s=letzte Zeile" +msgid "choose last article in list" +msgstr "wähle letzten Artikel in der Liste" #: src/lang.c:501 -#, c-format -msgid "%s=search forwards; %s=search backwards; %s=quit" -msgstr "%s=Suche vorwärts; %s=Suche rückwärts; %s=Beenden" +msgid "mark art, range or tagged arts as read; move crsr to next unread art" +msgstr "" + +#: src/lang.c:502 +msgid "mark article, range or tagged articles as unread" +msgstr "" #: src/lang.c:503 -#, c-format -msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" -msgstr "%s=Autorsuche; %s=Su. Inhalt; %s=Catchup; %s=Antw in NG; %s=gelesen" +msgid "mark current thread as unread" +msgstr "markiert den aktuellen Thread als ungelesen" #: src/lang.c:504 -#, c-format -msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" -msgstr "=Wähle n; %s=n. ungel.; %s,%s=Suche; %s=Catchup" +msgid "read chosen article" +msgstr "zeige gewählten Artikel" #: src/lang.c:505 -#, c-format -msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" -msgstr "%s=n. unten; %s=n. oben; %s=Hilfe; %s=verschieben; %s=Ende; %s=Alle/Nur ungel." +msgid "Display properties\n" + "------------------" +msgstr "Darstellungsoptionen\n" + "--------------------" #: src/lang.c:506 -#, c-format -msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" -msgstr "%s=Abo; %s=Abo n. Muster; %s=Abbestellen; %s=Abbest. n. Muster; %s=Alle/Nur " - "abon." +msgid "Miscellaneous\n" + "-------------" +msgstr "Verschiedenes\n" + "-------------" #: src/lang.c:507 -#, c-format -msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" -msgstr "=Wähle n; %s=n. ungel.; %s=Catchup; %s=Infozeile" +msgid "Moving around\n" + "-------------" +msgstr "Position ändern\n" + "---------------" #: src/lang.c:508 -#, c-format -msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" -msgstr "%s=Hilfe; %s=n. unten; %s=n. oben; %s=Ende; %s=tag; %s=ungelesen" +msgid "Group/thread/article operations\n" + "-------------------------------" +msgstr "Gruppe/Thread/Artikel Kommandos\n" + "-------------------------------" #: src/lang.c:509 -msgid "--More--" -msgstr "--Mehr--" +msgid "Attachment operations\n" + "---------------------" +msgstr "" #: src/lang.c:510 -#, c-format -msgid "Moving %s..." -msgstr "Verschiebe %s..." +msgid "Attribute operations\n" + "--------------------" +msgstr "" + +#: src/lang.c:511 +msgid "Option operations\n" + "-----------------" +msgstr "" #: src/lang.c:512 -msgid ", name: " -msgstr ", Name: " +msgid "Scope operations\n" + "----------------" +msgstr "" #: src/lang.c:513 -#, c-format -msgid "Goto newsgroup [%s]> " -msgstr "Gehe zu Gruppe [%s]> " +msgid "URL operations\n" + "--------------" +msgstr "" #: src/lang.c:514 -msgid "newsgroups" -msgstr "Gruppen" +msgid "choose first URL in list" +msgstr "Wähle erste URL in der Liste" #: src/lang.c:515 -#, c-format -msgid "Position %s in group list (1,2,..,$) [%d]> " -msgstr "Position %s in der Gruppenliste (1,2,..,$) [%d]> " +msgid "0 - 9\t choose URL by number" +msgstr "0 - 9\t wählt die URL anhand der Nummer" #: src/lang.c:516 -msgid "newsgroup" -msgstr "Gruppe" +msgid "choose last URL in list" +msgstr "Wähle letzte URL in der Liste" #: src/lang.c:517 -msgid "Try and save newsrc file again?" -msgstr "Erneut versuchen, die newsrc-Datei zu schreiben?" +msgid "search for URLs forwards" +msgstr "Suche vorwärts nach URLs" #: src/lang.c:518 -msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." -msgstr "Warnung: Keine Newsgruppen in die newsrc geschrieben. Speicherabbruch." +msgid "search for URLs backwards" +msgstr "Suche rückwärts nach URLs" #: src/lang.c:519 -msgid "newsrc file saved successfully.\n" -msgstr "newsrc-Datei erfolgreich geschrieben.\n" +msgid "Open URL in browser" +msgstr "" #: src/lang.c:520 -msgid "-- Next response --" -msgstr "-- Nächste Antwort --" - -#: src/lang.c:521 -#, c-format -msgid "NNTP authorization password not found for %s" -msgstr "NNTP Anmeldepasswort für %s nicht gefunden" +msgid "toggle info message in last line (URL)" +msgstr "" #: src/lang.c:522 -msgid "No " -msgstr "Nein" +msgid "Group Level Commands" +msgstr "Gruppenlevel Befehle" #: src/lang.c:523 -msgid "*** No articles ***" -msgstr "*** Keine Artikel ***" +msgid "Kill filter added" +msgstr "Killfilter hinzugefügt" #: src/lang.c:524 -msgid "No articles have been posted" -msgstr "Es wurden keine Artikel gepostet" +msgid "Auto-selection filter added" +msgstr "Automatischer Auswahlfilter hinzugefügt" #: src/lang.c:525 -msgid "*** No description ***" -msgstr "*** Keine Kurzbeschreibung ***" +msgid "All parts tagged" +msgstr "Alle Teile markiert" #: src/lang.c:526 -msgid "No filename" -msgstr "Kein Dateiname" +msgid "Storing article for later posting" +msgstr "Speichert Artikel, um ihn später zu posten" #: src/lang.c:527 -msgid "No group" -msgstr "Keine Gruppe" +msgid "Please enter a valid character" +msgstr "Bitte ein gültiges Zeichen eingeben" #: src/lang.c:528 -msgid "*** No groups ***" -msgstr "*** Keine Newsgruppen ***" +#, c-format +msgid "Missing part #%d" +msgstr "Teil Nummer %d fehlt." #: src/lang.c:529 -msgid "No more groups to read" -msgstr "Keine Gruppen zum Lesen übrig" +msgid "*** No postponed articles ***" +msgstr "*** Keine zurückgelegten Artikel ***" #: src/lang.c:530 -msgid "No last message" -msgstr "Keine letzte Nachricht" +msgid "Not a multi-part message" +msgstr "Kein mehrteiliger Artikel" #: src/lang.c:531 -msgid "No mail address" -msgstr "Keine EMail-Adresse" +msgid "You are not subscribed to this group" +msgstr "Sie haben diese Gruppe nicht abonniert" #: src/lang.c:532 -msgid "No articles marked for saving" -msgstr "Keine Artikel zum Speichern markiert" +msgid "No previous expression" +msgstr "Kein vorhergehender Ausdruck" #: src/lang.c:533 -msgid "No match" -msgstr "Kein Treffer" - -#: src/lang.c:534 -msgid "No more groups" -msgstr "Keine Gruppen mehr" +msgid "Operation disabled in no-overwrite mode" +msgstr "Ausführung nicht möglich im nicht-überschreiben Modus" +#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:535 -msgid "No newsgroups" -msgstr "Keine Newsgruppen" +#, c-format +msgid "%d postponed %s, reuse with ^O...\n" +msgstr "%d zurückgelegte %s, hervorholen mit ^O...\n" #: src/lang.c:536 -msgid "No next unread article" -msgstr "Kein nächster ungelesener Artikel" - -#: src/lang.c:537 -msgid "No previous group" -msgstr "Keine vorherige Gruppe" +msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" + " To get the whole article, turn alternative handling OFF in the Option Menu\n" +msgstr "X-Conversion-Note: multipart/alternative Inhalt wurde entfernt.\n" + " Um das zu ändern, setzen Sie in der tinrc das alternative_handling auf OFF\n" #: src/lang.c:538 -msgid "No previous unread article" -msgstr "Kein vorheriger ungelesener Artikel" +#, c-format +msgid "Save filename for %s/%s is a mailbox. Attachment not saved" +msgstr "Dateiname für %s/%s ist eine Mailbox. Anhang nicht gespeichert" #: src/lang.c:539 -msgid "No responses" -msgstr "Keine Antworten" +msgid "TeX2Iso encoded article" +msgstr "TeX2Iso kodierter Artikel" #: src/lang.c:540 -msgid "No responses to list in current thread" -msgstr "Keine Antworten vorhanden im aktuellen Thread" - -#: src/lang.c:541 -msgid "No search string" -msgstr "Kein Suchmuster" +msgid "incomplete " +msgstr "unvollständige " +#. TODO: replace hardcoded key-names #: src/lang.c:542 -msgid "No subject" -msgstr "Kein Subject" - -#: src/lang.c:544 #, c-format -msgid "%s: Terminal must have clear to end-of-line (ce)\n" -msgstr "%s: Terminal muss Löschen bis zum Ende der Zeile (ce) unterstützen\n" - -#: src/lang.c:545 -#, c-format -msgid "%s: Terminal must have clear to end-of-screen (cd)\n" -msgstr "%s: Terminal muss Löschen bis zum Ende des Schirmes unterstützen (cd)\n" - -#: src/lang.c:546 -#, c-format -msgid "%s: Terminal must have clearscreen (cl) capability\n" -msgstr "%s: Terminal muss Schirmlöschen (cl) unterstützen\n" - -#: src/lang.c:547 -#, c-format -msgid "%s: Terminal must have cursor motion (cm)\n" -msgstr "%s: Terminal muss Cursor-Bewegungen unterstützen (cm)\n" - -#: src/lang.c:548 -#, c-format -msgid "%s: TERM variable must be set to use screen capabilities\n" -msgstr "%s: TERM-Variable muss gesetzt sein, um das Terminal richtig anzusteuern\n" - -#: src/lang.c:550 -#, c-format -msgid "No viewer found for %s/%s\n" -msgstr "Kein Programm für %s/%s gefunden\n" - -#: src/lang.c:551 -msgid "Newsgroup does not exist on this server" -msgstr "Newsgruppe existiert nicht auf diesem Server" - -#: src/lang.c:552 -#, c-format -msgid "Group %s not found in active file" -msgstr "Gruppe %s nicht in der Active-Datei gefunden" - -#: src/lang.c:553 -msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "c=erzeuge, a=alternativer Name, d=voreingestellte .newsrc, q=beende tin: " - -#: src/lang.c:554 -msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "a=alternativer Name, d=voreingestellte .newsrc, q=beende tin: " - -#: src/lang.c:555 -#, c-format -msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" - "# shortname list for %s %s\n" - "#\n" - "# the format of this file is\n" - "# ...\n" - "#\n" - "# if is given without path, $HOME is assumed as its location\n" - "#\n" - "# examples:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" -msgstr "# NNTP-Server -> newsrc Übersetzungstabelle und NNTP-Server\n" - "# Abkürzungen für %s %s\n" - "#\n" - "# Das Format für diese Datei ist\n" - "# ...\n" - "#\n" - "# Wird ohne Pfad angegeben, so wird $HOME als Ort angenommen\n" - "#\n" - "# Beispiele:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" - -#: src/lang.c:562 -msgid "Only" -msgstr "Nur" +msgid "\n" + "Welcome to %s, a full screen threaded Netnews reader. It can read news " + "locally\n" + "(ie. /news) or remotely (-r option) from a NNTP (Network News " + "Transport\n" + "Protocol) server. -h lists the available command line options.\n" + "\n" + "%s has four newsreading levels, the newsgroup selection page, the group " + "index\n" + "page, the thread listing page and the article viewer. Help is available at " + "each\n" + "level by pressing the 'h' command.\n" + "\n" + "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " + "or\n" + "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" + "\n" + "Articles, threads, tagged articles or articles matching a pattern can be " + "mailed\n" + "('m' command), printed ('o' command), saved ('s' command), piped ('|' " + "command).\n" + "Use the 'w' command to post a news article, the 'f'/'F' commands to post " + "a\n" + "follow-up to an existing news article and the 'r'/'R' commands to reply " + "via\n" + "mail to an existing news article author. The 'M' command allows the " + "operation\n" + "of %s to be configured via a menu.\n" + "\n" + "For more information read the manual page, README, INSTALL, TODO and FTP " + "files.\n" + "Please send bug-reports/comments to %s with the 'R' command.\n" +msgstr "\n" + "Willkommen bei %s, dem vollbildfähigen Newsreader mit Threaddarstellung.\n" + "Er kann News lokal (z.B. /news), oder von entfernten Rechnern\n" + "(-r Option) von einem NNTP Server lesen. -h zeigt alle " + "Kommandozeilenoptionen.\n" + "\n" + "%s hat 4 verschiedene Level um News zu lesen: die Newsgruppenauswahl, den\n" + "Gruppenindex, den Threadlevel und den Artikelbetrachter. Eine Hilfe gibt es\n" + "zu jedem Level indem man einfach 'h' drückt.\n" + "\n" + "Zum rauf- und runterbewegen benutzt man die Cursortasten oder 'j' und 'k'.\n" + "'Bildrauf/Bildrunter', STRG-U und STRG-D um eine Seite hoch oder runter zu\n" + "scrollen. Eine Newsgruppe betritt man mittels RETURN oder TAB.\n" + "\n" + "Artikel, Threads, markierte Artikel oder Artikel, die einem Suchmuster\n" + "entsprechen, können gemailt ('m'), gedruckt ('o'), gespeichert ('s') oder\n" + "gepipet ('|') werden. Benutzen Sie 'w', um einen neuen Artikel zu schreiben,\n" + "'f'/'F', um auf einen Artikel zu antworten und 'r'/'R', um den Autor via\n" + "Mail zu antworten. Mit 'M' können Sie %s mittels eines Menüs konfigurieren.\n" + "\n" + "Für mehr Informationen lesen Sie die Manpage, das README, INSTALL, TODO etc.\n" + "Bitte senden Sie Fehlerberichte und Kommentare mittels des 'R' Kommandos an\n" + "%s.\n" + +#: src/lang.c:558 +#, c-format +msgid "Invalid From: %s line. Read the INSTALL file again." +msgstr "Ungültige From: %s Zeile. Lesen Sie INSTALL nochmal." + +#: src/lang.c:560 +msgid "Invalid multibyte sequence found\n" +msgstr "Ungültige Mehrbytezeichen-Folge vorhanden\n" #: src/lang.c:563 #, c-format -msgid "Option not enabled. Recompile with %s." -msgstr "Option nicht vorhanden. Neu kompilieren mit %s." +msgid "Invalid Sender:-header %s" +msgstr "Ungültiger Sender:-Header %s" -#: src/lang.c:564 -msgid "Options Menu" -msgstr "Optionsmenü" - -#: src/lang.c:567 -#, c-format -msgid "Error in regex: %s at pos. %d '%s'" -msgstr "Fehler im regulären Ausdruck: %s an Pos. %d '%s'" +#: src/lang.c:565 +msgid "Inverse video disabled" +msgstr "Inverse Bilddarstellung abgestellt" + +#: src/lang.c:566 +msgid "Inverse video enabled" +msgstr "Inverse Bilddarstellung eingeschaltet" #: src/lang.c:568 #, c-format -msgid "Error in regex: pcre internal error %d" -msgstr "Fehler im regulären Ausdruck: Interner Fehler %d des pcre" +msgid "Missing definition for %s\n" +msgstr "Fehlende Definition für %s\n" #: src/lang.c:569 #, c-format -msgid "Error in regex: study - pcre internal error %s" -msgstr "Fehler im regulären Ausdruck: pcre interner Fehler %s" +msgid "Invalid key definition '%s'\n" +msgstr "Ungültige Tastenbelegung '%s'\n" #: src/lang.c:570 -msgid "Post a followup..." -msgstr "Schreibe eine Antwort..." +#, c-format +msgid "Invalid keyname '%s'\n" +msgstr "Ungültiger Tastenname '%s'\n" + +#: src/lang.c:571 +#, c-format +msgid "Keymap file was upgraded to version %s\n" +msgstr "Keymap-File wurde auf Version %s umgestellt\n" -#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone #: src/lang.c:572 -msgid "An error has occurred while posting the article. If you think that this\n" - "error is temporary or otherwise correctable, you can postpone the article\n" - "and pick it up again with ^O later.\n" -msgstr "Ein Fehler trat beim Posten des Artikels auf. Wenn Sie meinen, dass dies nur\n" - "ein temporäres Problem ist, das später nicht mehr vorhanden ist, können Sie\n" - "den Artikel zurückstellen und später mit ^O wieder hervorholen.\n" +#, c-format +msgid "Kill From: [%s] (y/n): " +msgstr "Filter From: [%s] (j/n): " + +#: src/lang.c:573 +msgid "Kill Lines: (num): " +msgstr "Filter Z.: (num): " + +#: src/lang.c:574 +msgid "Kill Article Menu" +msgstr "Filter Menü (Kill, Bewertung/Score verringern)" #: src/lang.c:575 -msgid "Posted articles history" -msgstr "Übersicht der geposteten Artikel" +#, c-format +msgid "Kill Msg-Id: [%s] (f/l/o/n): " +msgstr "Filter Msg-Id: [%s] (v/l/n/n): " #: src/lang.c:576 -#, c-format -msgid "Post to newsgroup(s) [%s]> " -msgstr "In Newsgruppe(n) [%s] posten> " +msgid "Kill pattern scope : " +msgstr "Filter nach Muster : " #: src/lang.c:577 -msgid "-- post processing started --" -msgstr "-- Nachbearbeitung gestartet --" +#, c-format +msgid "Kill Subject: [%s] (y/n): " +msgstr "Filter Subject:[%s] (j/n): " #: src/lang.c:578 -msgid "-- post processing completed --" -msgstr "-- Nachbearbeitung beendet --" +msgid "Kill text pattern : " +msgstr "Filter Textmuster : " #: src/lang.c:579 -#, c-format -msgid "Post subject [%s]> " -msgstr "Wähle Subject [%s]> " - -#: src/lang.c:580 -msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" -msgstr "# Zusammenfassung der gemailten/geposteten Artikel mit 'W' in tin.\n" +msgid "Kill time in days : " +msgstr "Filterzeit in Tagen : " #: src/lang.c:581 -msgid "Posting article..." -msgstr "Poste Artikel..." +msgid "Last" +msgstr "Letzte" #: src/lang.c:582 -#, c-format -msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " -msgstr "Zurückgelegten Artikel [%%s]posten? (%s/%s/%s/%s/%s): " +msgid "-- Last response --" +msgstr "-- Letzte Antwort --" #: src/lang.c:583 #, c-format -msgid "Hot %s" -msgstr "Wichtig/Hot %s" - -#: src/lang.c:584 -#, c-format -msgid "Tagged %s" -msgstr "%s markiert" +msgid "Lines %s " +msgstr "Zeilen %s " #: src/lang.c:585 -#, c-format -msgid "Untagged %s" -msgstr "%s Markierung entfernt" +msgid "Mail" +msgstr "Maile" #: src/lang.c:586 -msgid "Processing mail messages marked for deletion." -msgstr "Bearbeite zum Löschen markierte EMails." +msgid "mailbox " +msgstr "Mailbox " #: src/lang.c:587 -msgid "Processing saved articles marked for deletion." -msgstr "Bearbeite zum Löschen markierte gespeicherte Artikel." +#, c-format +msgid "Mail article(s) to [%.*s]> " +msgstr "Mailt Artikel an [%.*s]> " #: src/lang.c:588 #, c-format -msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " -msgstr "Followup-To akzeptieren? %s=posten, %s=ignorieren, %s=Ende: " +msgid "Mailing log to %s\n" +msgstr "Maile Log-Datei an %s\n" #: src/lang.c:589 -msgid "Article unchanged, abort mailing?" -msgstr "Mail unverändert, Absenden abbrechen?" +msgid "Mail bug report..." +msgstr "Maile einen Fehlerbericht..." #: src/lang.c:590 #, c-format -msgid "Do you want to see postponed articles (%d)?" -msgstr "Wollen Sie die zurückgestellten Artikel sehen (%d)?" +msgid "Mail BUG REPORT to %s?" +msgstr "Fehlerbericht an %s senden?" + +#: src/lang.c:591 +msgid "Mailed" +msgstr "Gemailt" #: src/lang.c:592 -msgid "Add quick kill filter?" -msgstr "Artikel schnell (laut Voreinstellungen) killen?" +#, c-format +msgid "Mailing to %s..." +msgstr "Senden der Mail an %s..." #: src/lang.c:593 -msgid "Add quick selection filter?" -msgstr "Filterregel (hochscoren) (laut Voreinstellungen) hinzufügen?" - -#: src/lang.c:594 -msgid "Do you really want to quit?" -msgstr "Möchten Sie das Programm wirklich beenden?" - -#: src/lang.c:595 -#, c-format -msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " -msgstr "%s=cancel-Nachricht editieren, %s=Ende, %s=löschen [%%s]: " +msgid "# [Mail/Save] active file. Format is like news active file:\n" + "# groupname max.artnum min.artnum /dir\n" + "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" + "#\n" +msgstr "# [Mail/Speicher] active-Datei. Format ist wie die news active-Datei:\n" + "# Gruppenname max.Artnum min.Artnum /dir\n" + "# Das 4. Feld ist das Basisverzeichnis (z.B. ~/Mail oder ~/News)\n" + "#\n" #: src/lang.c:596 -msgid "You have tagged articles in this group - quit anyway?" -msgstr "Es befinden sich markierte Artikel in der Gruppe, trotzdem beenden?" +#, c-format +msgid "%s marked as read" +msgstr "%s als gelesen markiert" #: src/lang.c:597 #, c-format -msgid "%s=quit, %s=edit, %s=postpone: " -msgstr "%s=Ende, %s=bearbeiten, %s=zurücklegen: " +msgid "%s marked as unread" +msgstr "%s als ungelesen markiert" #: src/lang.c:598 #, c-format -msgid "%s=quit %s=edit %s=save kill description: " -msgstr "%s=Abbrechen %s=Editieren %s=Kill-Filter speichern: " +msgid "Marked %d of %d %s as read" +msgstr "%d von %d %s als gelesen markiert" #: src/lang.c:599 #, c-format -msgid "%s=quit %s=edit %s=save select description: " -msgstr "%s=Abbrechen %s=Editieren %s=Filter (hot) speichern: " +msgid "Marked %d of %d %s as unread" +msgstr "%d von %d %s als ungelesen markiert" + +#: src/lang.c:600 src/lang.c:1321 +msgid "Mark" +msgstr "Markierung" + +#: src/lang.c:601 +#, c-format +msgid "Mark all articles as read%s?" +msgstr "Alle Artikel als gelesen markieren%s?" -#: src/lang.c:600 -msgid "Do you really want to quit without saving your configuration?" -msgstr "Wirklich ohne Speichern der Konfiguration beenden?" +#: src/lang.c:602 +#, c-format +msgid "Mark article as read%s?" +msgstr "Artikel als gelesen markieren%s?" #: src/lang.c:603 -msgid "Invalid range - valid are '0-9.$' eg. 1-$" -msgstr "Ungültige Bereichsangabe - Gültig wäre '0-9.$' z.B. 1-$" +#, c-format +msgid "Mark group %s as read?" +msgstr "Die Gruppe %s als gelesen markieren?" #: src/lang.c:604 -msgid "Do you want to abort this operation?" -msgstr "Wollen Sie diese Operation abbrechen?" +#, c-format +msgid "Mark thread as read%s?" +msgstr "Den Thread als gelesen markieren%s?" #: src/lang.c:605 -msgid "Do you want to exit tin immediately?" -msgstr "Wollen Sie tin augenblicklich verlassen?" - -#: src/lang.c:606 -msgid "Read response> " -msgstr "Lese Antwort> " - -#: src/lang.c:607 -msgid "Reading ('q' to quit)..." -msgstr "Lesen ('q' zum Beenden)..." +#, c-format +msgid "Matching %s groups..." +msgstr "Übereinstimmende %s Gruppen..." -#: src/lang.c:608 +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 #, c-format -msgid "Reading %sarticles..." -msgstr "Lese %sArtikel..." +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "" -#: src/lang.c:609 +#: src/lang.c:608 #, c-format -msgid "Reading %sattributes file...\n" -msgstr "Lese %sAttribute-Datei...\n" +msgid "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "" #: src/lang.c:610 #, c-format -msgid "Reading %sconfig file...\n" -msgstr "Lese %sKonfigurations-Datei...\n" - -#: src/lang.c:611 -msgid "Reading filter file...\n" -msgstr "Lese Filter-Datei...\n" +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=anzeigen; %s=pipen; %s=markieren; %s=Muster markieren; %s=Markierung " + "aufheben" #: src/lang.c:612 #, c-format -msgid "Reading %s groups..." -msgstr "Lese %s Gruppen..." +msgid "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "" -#: src/lang.c:613 -msgid "Reading input history file...\n" -msgstr "Lese Eingabe-History...\n" +#: src/lang.c:613 src/lang.c:617 +#, c-format +msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" +msgstr "=Wähle n; %s=n. ungel.; %s=Suche; %s=Filter" #: src/lang.c:614 -msgid "Reading keymap file...\n" -msgstr "Lese Tastaturbelegungen...\n" +#, c-format +msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " + "thread" +msgstr "%s=Autorsuche; %s=Catchup; %s=n. unten; %s=n. oben; %s=gelesen; %s=Thread anz." #: src/lang.c:615 -msgid "Reading groups from active file... " -msgstr "Lese Gruppen aus dem Active... " +#, c-format +msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" +msgstr "%s=n. oben; %s=n. unten; %s=BildAuf; %s=BildAb; %s=Anfang; %s=letzte Zeile" #: src/lang.c:616 -msgid "Reading groups from newsrc file... " -msgstr "Lese Gruppen aus der newsrc-Datei... " - -#: src/lang.c:617 -msgid "Reading newsgroups file... " -msgstr "Lese Newsgroups-Datei... " +#, c-format +msgid "%s=search forwards; %s=search backwards; %s=quit" +msgstr "%s=Suche vorwärts; %s=Suche rückwärts; %s=Beenden" #: src/lang.c:618 -msgid "Reading newsrc file..." -msgstr "Lese newsrc-Datei..." +#, c-format +msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" +msgstr "%s=Autorsuche; %s=Su. Inhalt; %s=Catchup; %s=Antw in NG; %s=gelesen" -#: src/lang.c:620 +#: src/lang.c:619 #, c-format -msgid "(%d:%02d remaining)" -msgstr "(noch %d:%02d benötigt)" +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "%s=hinzufügen; %s=verschieben; %s=umbenennen; %s=löschen" + +#: src/lang.c:621 +#, c-format +msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" +msgstr "=Wähle n; %s=n. ungel.; %s,%s=Suche; %s=Catchup" #: src/lang.c:622 #, c-format -msgid "Bogus group %s removed." -msgstr "Nicht vorhandene Gruppe %s entfernt." +msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" +msgstr "%s=n. unten; %s=n. oben; %s=Hilfe; %s=verschieben; %s=Ende; %s=Alle/Nur ungel." #: src/lang.c:623 #, c-format -msgid "Error: rename %s to %s" -msgstr "Fehler: Benenne %s in %s" +msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" +msgstr "%s=Abo; %s=Abo n. Muster; %s=Abbestellen; %s=Abbest. n. Muster; %s=Alle/Nur " + "abon." #: src/lang.c:624 -msgid "Reply to author..." -msgstr "Mailantwort an Autor..." +#, c-format +msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" +msgstr "=Wähle n; %s=n. ungel.; %s=Catchup; %s=Infozeile" #: src/lang.c:625 -msgid "Repost" -msgstr "Reposte" - -#: src/lang.c:626 -msgid "Reposting article..." -msgstr "Wiederholtes posten des Artikels..." +#, c-format +msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" +msgstr "%s=Hilfe; %s=n. unten; %s=n. oben; %s=Ende; %s=tag; %s=ungelesen" #: src/lang.c:627 #, c-format -msgid "Repost article(s) to group(s) [%s]> " -msgstr "Wiederholtes posten de(s|r) Artikel(s) in [%s]> " +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=Suche vorwärts; %s=Suche rückwärts; %s=Suche wiederholen" #: src/lang.c:628 -msgid "Reset newsrc?" -msgstr "newsrc zurücksetzen?" +msgid "--More--" +msgstr "--Mehr--" #: src/lang.c:629 -msgid "Responses have been directed to the following newsgroups" -msgstr "Antworten werden in folgende Gruppen gepostet" +#, c-format +msgid "Moving %s..." +msgstr "Verschiebe %s..." #: src/lang.c:630 -#, c-format -msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " -msgstr "Antwort per Mail wurde angefordert. %s=Mail, %s=post, %s=beenden: " +msgid "Message-ID: & last Reference " +msgstr "Message-ID: & letzte Reference" #: src/lang.c:631 -#, c-format -msgid "RespNo %4d of %4d" -msgstr "Antw. %4d von %4d" +msgid "Message-ID: line " +msgstr "Message-ID: Zeile " #: src/lang.c:632 -msgid "Press to continue..." -msgstr "Drücken Sie um fortzufahren..." +msgid "Message-ID: & References: line" +msgstr "Message-ID: & References: " #: src/lang.c:634 -#, c-format -msgid "Select From [%s] (y/n): " -msgstr "Wähle From [%s] (j/n): " +msgid ", name: " +msgstr ", Name: " #: src/lang.c:635 -msgid "Select Lines: (num): " -msgstr "Wähle Zeilen: (num): " +#, c-format +msgid "Go to newsgroup [%s]> " +msgstr "Gehe zu Gruppe [%s]> " #: src/lang.c:636 -msgid "Auto-select Article Menu" -msgstr "Filter Menü (Bewertung/Score erhöhen)" +msgid "newsgroups" +msgstr "Gruppen" #: src/lang.c:637 #, c-format -msgid "Select Msg-Id [%s] (f/l/o/n): " -msgstr "Wähle Msg-Id [%s] (v/l/n/n): " +msgid "Position %s in group list (1,2,..,$) [%d]> " +msgstr "Position %s in der Gruppenliste (1,2,..,$) [%d]> " #: src/lang.c:638 -msgid "Select pattern scope: " -msgstr "Wähle Muster : " +msgid "newsgroup" +msgstr "Gruppe" #: src/lang.c:639 -#, c-format -msgid "Select Subject [%s] (y/n): " -msgstr "Wähle Subject [%s] (j/n): " +msgid "Try and save newsrc file again?" +msgstr "Erneut versuchen, die newsrc-Datei zu schreiben?" #: src/lang.c:640 -msgid "Select text pattern : " -msgstr "Wähle Textmuster : " +msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." +msgstr "Warnung: Keine Newsgruppen in die newsrc geschrieben. Speicherabbruch." #: src/lang.c:641 -msgid "Select time in days : " -msgstr "Wähle Zeit in Tagen : " +msgid "newsrc file saved successfully.\n" +msgstr "newsrc-Datei erfolgreich geschrieben.\n" #: src/lang.c:642 -#, c-format -msgid "# %s server configuration file\n" - "# This file was automatically saved by %s %s %s (\"%s\")\n" - "#\n" - "# Do not edit while %s is running, since all your changes to this file\n" - "# will be overwritten when you leave %s.\n" - "# Do not edit at all if you don't know what you do.\n" - "############################################################################\n" - "\n" -msgstr "# %s Server Konfigurationsdatei\n" - "# Diese Datei wurde automatisch von %s %s %s (\"%s\") erzeugt.\n" - "#\n" - "# Nicht verändern während %s läuft, da alle Änderungen automatisch\n" - "# überschrieben werden wenn Sie %s verlassen.\n" - "# Wenn Sie nicht genau wissen was Sie tun, dann lassen Sie einfach die\n" - "# Finger von dieser Datei.\n" - "############################################################################\n" - "\n" +msgid "-- Next response --" +msgstr "-- Nächste Antwort --" + +#: src/lang.c:643 +msgid "No " +msgstr "Nein" + +#: src/lang.c:644 +msgid "*** No articles ***" +msgstr "*** Keine Artikel ***" + +#: src/lang.c:645 +msgid "No articles have been posted" +msgstr "Es wurden keine Artikel gepostet" + +#: src/lang.c:646 +msgid "*** No attachments ***" +msgstr "*** Keine Anhänge ***" + +#: src/lang.c:647 +msgid "*** No description ***" +msgstr "*** Keine Kurzbeschreibung ***" #: src/lang.c:648 -msgid "Showing unread groups only" -msgstr "Zeige nur Gruppen mit ungelesenen Artikeln" +msgid "No filename" +msgstr "Kein Dateiname" #: src/lang.c:649 -msgid "Subject: line (ignore case) " -msgstr "Subject: Z. (Groß-Kl. ign.) " +msgid "No group" +msgstr "Keine Gruppe" #: src/lang.c:650 -msgid "Subject: line (case sensitive)" -msgstr "Subject: Z. (Groß-Kl. beachten) " +msgid "*** No groups ***" +msgstr "*** Keine Newsgruppen ***" #: src/lang.c:651 -msgid "Save" -msgstr "Speichern" +msgid "No more groups to read" +msgstr "Keine Gruppen zum Lesen übrig" #: src/lang.c:652 -#, c-format -msgid "Save '%s' (%s/%s)?" -msgstr "'%s' (%s/%s) speichern?" +msgid "No last message" +msgstr "Keine letzte Nachricht" #: src/lang.c:653 -msgid "Save configuration before continuing?" -msgstr "Zuerst Konfiguration speichern und danach fortfahren?" +msgid "No mail address" +msgstr "Keine EMail-Adresse" #: src/lang.c:654 -msgid "Save filename> " -msgstr "Name der zu speichernden Datei> " +msgid "No articles marked for saving" +msgstr "Keine Artikel zum Speichern markiert" #: src/lang.c:655 -msgid "Saved" -msgstr "Gespeichert" +msgid "No match" +msgstr "Kein Treffer" #: src/lang.c:656 -#, c-format -msgid "%4d unread (%4d hot) %s in %s\n" -msgstr "%4d ungelesene (%4d 'hot') %s in %s\n" +msgid "No more groups" +msgstr "Keine Gruppen mehr" #: src/lang.c:657 -#, c-format -msgid "Saved %s...\n" -msgstr "%s gespeichert...\n" +msgid "No newsgroups" +msgstr "Keine Newsgruppen" #: src/lang.c:658 -msgid "Nothing was saved" -msgstr "Nichts gespeichert" +msgid "No next unread article" +msgstr "Kein nächster ungelesener Artikel" #: src/lang.c:659 -#, c-format -msgid "\n" - "%s %d %s from %d %s\n" -msgstr "\n" - "%s %d %s aus %d %s\n" +msgid "No previous group" +msgstr "Keine vorherige Gruppe" #: src/lang.c:660 -#, c-format -msgid "-- %s saved to %s%s --" -msgstr "-- %s nach %s%s gespeichert --" +msgid "No previous search, nothing to repeat" +msgstr "Keine vorherige Suche, nichts zu wiederholen" #: src/lang.c:661 -#, c-format -msgid "-- %s saved to %s - %s --" -msgstr "-- %s gespeichert als %s - %s --" +msgid "No previous unread article" +msgstr "Kein vorheriger ungelesener Artikel" #: src/lang.c:662 -msgid "Saving..." -msgstr "Speichere..." +msgid "No responses" +msgstr "Keine Antworten" #: src/lang.c:663 -#, c-format -msgid "%s: Screen initialization failed" -msgstr "%s: Initialisierung des Bildschirms fehlgeschlagen" +msgid "No responses to list in current thread" +msgstr "Keine Antworten vorhanden im aktuellen Thread" + +#: src/lang.c:664 +msgid "*** No scopes ***" +msgstr "" #: src/lang.c:665 -#, c-format -msgid "%s: screen is too small\n" -msgstr "%s: Anzeige ist zu klein\n" +msgid "No search string" +msgstr "Kein Suchmuster" -#: src/lang.c:667 -#, c-format -msgid "screen is too small, %s is exiting\n" -msgstr "Anzeige zu klein, %s beendet sich\n" +#: src/lang.c:666 +msgid "No subject" +msgstr "Kein Subject" #: src/lang.c:668 #, c-format -msgid "Search backwards [%s]> " -msgstr "Suche rückwärts [%s]> " +msgid "%s: Terminal must have clear to end-of-line (ce)\n" +msgstr "%s: Terminal muss Löschen bis zum Ende der Zeile (ce) unterstützen\n" #: src/lang.c:669 #, c-format -msgid "Search body [%s]> " -msgstr "Durchsuche Artikelinhalt [%s]> " +msgid "%s: Terminal must have clear to end-of-screen (cd)\n" +msgstr "%s: Terminal muss Löschen bis zum Ende des Schirmes unterstützen (cd)\n" #: src/lang.c:670 #, c-format -msgid "Search forwards [%s]> " -msgstr "Suche vorwärts [%s]> " +msgid "%s: Terminal must have clearscreen (cl) capability\n" +msgstr "%s: Terminal muss Schirmlöschen (cl) unterstützen\n" #: src/lang.c:671 -msgid "Searching..." -msgstr "Suche..." +#, c-format +msgid "%s: Terminal must have cursor motion (cm)\n" +msgstr "%s: Terminal muss Cursor-Bewegungen unterstützen (cm)\n" #: src/lang.c:672 #, c-format -msgid "Searching article %d of %d ('q' to abort)..." -msgstr "Suche Artikel %d von %d ('q' zum abbrechen)..." - -#: src/lang.c:673 -msgid "Select article> " -msgstr "Wähle Artikel> " +msgid "%s: TERM variable must be set to use screen capabilities\n" +msgstr "%s: TERM-Variable muss gesetzt sein, um das Terminal richtig anzusteuern\n" #: src/lang.c:674 -msgid "Select option number before text or use arrow keys and . 'q' to quit." -msgstr "Wähle Optionsnummer, oder benutze die Cursor Tasten und . 'q' zum beenden." +#, c-format +msgid "No viewer found for %s/%s\n" +msgstr "Kein Programm für %s/%s gefunden\n" #: src/lang.c:675 -msgid "Select group> " -msgstr "Wähle Gruppe> " +msgid "Newsgroup does not exist on this server" +msgstr "Newsgruppe existiert nicht auf diesem Server" #: src/lang.c:676 #, c-format -msgid "Enter selection pattern [%s]> " -msgstr "Nenne das Auswahlmuster [%s]> " +msgid "Group %s not found in active file" +msgstr "Gruppe %s nicht in der Active-Datei gefunden" #: src/lang.c:677 -msgid "Select thread > " -msgstr "Wähle thread > " +msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "c=erzeuge, a=alternativer Name, d=voreingestellte .newsrc, q=beende tin: " #: src/lang.c:678 -#, c-format -msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" -msgstr "%s %s %s (\"%s\") [%s]: schicken Sie einen DETAILLIERTEN Fehlerbericht an %s\n" +msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "a=alternativer Name, d=voreingestellte .newsrc, q=beende tin: " #: src/lang.c:679 -msgid "servers active-file" -msgstr "Die 'active' Datei des Servers" +#, c-format +msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" + "# shortname list for %s %s\n" + "#\n" + "# the format of this file is\n" + "# ...\n" + "#\n" + "# if is given without path, $HOME is assumed as its location\n" + "#\n" + "# examples:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" +msgstr "# NNTP-Server -> newsrc Übersetzungstabelle und NNTP-Server\n" + "# Abkürzungen für %s %s\n" + "#\n" + "# Das Format für diese Datei ist\n" + "# ...\n" + "#\n" + "# Wird ohne Pfad angegeben, so wird $HOME als Ort angenommen\n" + "#\n" + "# Beispiele:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" + +#: src/lang.c:686 +msgid "Only" +msgstr "Nur" + +#: src/lang.c:687 +#, c-format +msgid "Option not enabled. Recompile with %s." +msgstr "Option nicht vorhanden. Neu kompilieren mit %s." -#: src/lang.c:680 -msgid "Cannot move into new newsgroups. Subscribe first..." -msgstr "Kann die Newsgruppe nicht öffnen. Sie muss erst abonniert werden..." +#: src/lang.c:688 +msgid "Options Menu" +msgstr "Optionsmenü" -#: src/lang.c:681 -msgid "" -msgstr "" +#: src/lang.c:689 +msgid "Options Menu Commands" +msgstr "Optionsmenü Befehle" -#: src/lang.c:682 +#: src/lang.c:692 #, c-format -msgid "Starting: (%s)" -msgstr "Starte: (%s)" +msgid "Error in regex: %s at pos. %d '%s'" +msgstr "Fehler im regulären Ausdruck: %s an Pos. %d '%s'" -#: src/lang.c:683 +#: src/lang.c:693 #, c-format -msgid "List Thread (%d of %d)" -msgstr "Zeige Thread (%d von %d)" +msgid "Error in regex: pcre internal error %d" +msgstr "Fehler im regulären Ausdruck: Interner Fehler %d des pcre" -#: src/lang.c:684 +#: src/lang.c:694 #, c-format -msgid "Thread (%.*s)" -msgstr "Thread (%.*s)" +msgid "Error in regex: study - pcre internal error %s" +msgstr "Fehler im regulären Ausdruck: pcre interner Fehler %s" -#: src/lang.c:685 -msgid "Enter wildcard subscribe pattern> " -msgstr "Wildcardmuster für zu abonnierende Gruppen> " +#: src/lang.c:695 +msgid "Post a followup..." +msgstr "Schreibe eine Antwort..." -#: src/lang.c:686 -#, c-format -msgid "subscribed to %d groups" -msgstr "%d Gruppen sind abonniert" +#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone +#: src/lang.c:697 +msgid "An error has occurred while posting the article. If you think that this\n" + "error is temporary or otherwise correctable, you can postpone the article\n" + "and pick it up again with ^O later.\n" +msgstr "Ein Fehler trat beim Posten des Artikels auf. Wenn Sie meinen, dass dies nur\n" + "ein temporäres Problem ist, das später nicht mehr vorhanden ist, können Sie\n" + "den Artikel zurückstellen und später mit ^O wieder hervorholen.\n" -#: src/lang.c:687 +#: src/lang.c:700 +msgid "Posted articles history" +msgstr "Übersicht der geposteten Artikel" + +#: src/lang.c:701 #, c-format -msgid "Subscribed to %s" -msgstr "%s wurde abonniert" +msgid "Post to newsgroup(s) [%s]> " +msgstr "In Newsgruppe(n) [%s] posten> " -#: src/lang.c:688 -msgid "Subscribing... " -msgstr "Abonniere... " +#: src/lang.c:702 +msgid "-- post processing started --" +msgstr "-- Nachbearbeitung gestartet --" -#: src/lang.c:689 -#, c-format -msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " -msgstr "Artikel erneut posten oder überschreiben [%%s]? (%s/%s/%s): " +#: src/lang.c:703 +msgid "-- post processing completed --" +msgstr "-- Nachbearbeitung beendet --" -#: src/lang.c:690 +#: src/lang.c:704 #, c-format -msgid "Supersede article(s) to group(s) [%s]> " -msgstr "Supersede (überschreibe) Artikel in den Gruppen [%s]> " +msgid "Post subject [%s]> " +msgstr "Wähle Subject [%s]> " -#: src/lang.c:691 -msgid "Superseding article ..." -msgstr "Überschreibe Artikel ..." +#: src/lang.c:705 +msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" +msgstr "# Zusammenfassung der gemailten/geposteten Artikel mit 'W' in tin.\n" -#: src/lang.c:692 -#, c-format -msgid "\n" - "Stopped. Type 'fg' to restart %s\n" -msgstr "\n" - "Angehalten. Geben Sie 'fg' ein um %s wieder zu starten\n" +#: src/lang.c:706 +msgid "Posting article..." +msgstr "Poste Artikel..." -#: src/lang.c:694 +#: src/lang.c:707 #, c-format -msgid "%d days" -msgstr "%d Tage" - -#: src/lang.c:695 -msgid "" -msgstr "" +msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " +msgstr "Zurückgelegten Artikel [%%s]posten? (%s/%s/%s/%s/%s): " -#: src/lang.c:696 -msgid "TeX " -msgstr "TeX " +#: src/lang.c:708 +#, c-format +msgid "Hot %s" +msgstr "Wichtig/Hot %s" -#: src/lang.c:697 -msgid "# Default action/prompt strings\n" -msgstr "# Voreingestellte Aktion/zeige Zeichenkette\n" +#: src/lang.c:709 +#, c-format +msgid "Tagged %s" +msgstr "%s markiert" -#: src/lang.c:698 -msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" - "# 5=Message-ID: & last References: entry only\n" - "# 6=Message-ID: entry only 7=Lines:\n" - "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" -msgstr "# Voreinstellung für schnellen (1 Taste) Filterregeln (Kill & Hochscoren)\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & volle References: Zeile\n" - "# 5=Message-ID: & letzter Reference: Eintrag ausschliesslich\n" - "# 6=Message-ID: Eintrag nur 7=Zeilen:\n" - "# global=ON/OFF ON=alle Gruppen OFF=nur für die aktuellen Gruppe\n" - "# case=ON/OFF ON=Filter case sensitive OFF=ignoriere case\n" - "# expire=ON/OFF ON=Verfallen nach default_filter_days OFF=verfällt nie\n" +#: src/lang.c:710 +#, c-format +msgid "Untagged %s" +msgstr "%s Markierung entfernt" #: src/lang.c:711 -msgid "# If ON use print current subject or newsgroup description in the last line\n" -msgstr "# Falls ON anzeige des Subject oder des Gruppennamens in der letzten Zeile.\n" +msgid "Processing mail messages marked for deletion." +msgstr "Bearbeite zum Löschen markierte EMails." #: src/lang.c:712 -msgid "# Host & time info used for detecting new groups (don't touch)\n" -msgstr "# Benutzte Host- & Zeit-Info um neue Gruppen zu finden (nicht ändern)\n" +msgid "Processing saved articles marked for deletion." +msgstr "Bearbeite zum Löschen markierte gespeicherte Artikel." #: src/lang.c:713 -msgid "There is no news\n" -msgstr "Es gibt keine neuen Artikel\n" +#, c-format +msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " +msgstr "Followup-To akzeptieren? %s=posten, %s=ignorieren, %s=Ende: " #: src/lang.c:714 -msgid "Thread" -msgstr "Thread" +msgid "Article unchanged, abort mailing?" +msgstr "Mail unverändert, Absenden abbrechen?" #: src/lang.c:715 -msgid "Thread Level Commands" -msgstr "Thread Level Kommandos" - -#: src/lang.c:716 -msgid "Thread deselected" -msgstr "Thread nicht mehr ausgewählt" +#, c-format +msgid "Do you want to see postponed articles (%d)?" +msgstr "Wollen Sie die zurückgestellten Artikel sehen (%d)?" #: src/lang.c:717 -msgid "Thread selected" -msgstr "Thread ausgewählt" +msgid "Add quick kill filter?" +msgstr "Artikel schnell (laut Voreinstellungen) killen?" + +#: src/lang.c:718 +msgid "Add quick selection filter?" +msgstr "Filterregel (hochscoren) (laut Voreinstellungen) hinzufügen?" #: src/lang.c:719 -msgid "threads" -msgstr "Threads" +msgid "Do you really want to quit?" +msgstr "Möchten Sie das Programm wirklich beenden?" + +#: src/lang.c:720 +#, c-format +msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " +msgstr "%s=cancel-Nachricht editieren, %s=Ende, %s=löschen [%%s]: " #: src/lang.c:721 -msgid "Thread range" -msgstr "Thread-Bereich" +msgid "You have tagged articles in this group - quit anyway?" +msgstr "Es befinden sich markierte Artikel in der Gruppe, trotzdem beenden?" #: src/lang.c:722 -msgid "thread" -msgstr "Thread" +#, c-format +msgid "%s=quit, %s=edit, %s=postpone: " +msgstr "%s=Ende, %s=bearbeiten, %s=zurücklegen: " #: src/lang.c:723 #, c-format -msgid "Thread %4s of %4s" -msgstr "Thread %4s v. %4s" +msgid "%s=quit %s=edit %s=save kill description: " +msgstr "%s=Abbrechen %s=Editieren %s=Kill-Filter speichern: " #: src/lang.c:724 -msgid "Threading articles..." -msgstr "Sortiere Artikel..." - -#: src/lang.c:725 #, c-format -msgid "Toggled word highlighting %s" -msgstr "Wort-Hervorhebung: %s" - -#: src/lang.c:726 -msgid "Toggled rot13 encoding" -msgstr "ROT13-Kodierung (de)aktiviert" +msgid "%s=quit %s=edit %s=save select description: " +msgstr "%s=Abbrechen %s=Editieren %s=Filter (hot) speichern: " -#: src/lang.c:727 -#, c-format -msgid "Toggled german TeX encoding %s" -msgstr "Deutsche TeX-Dekodierung: %s" +#: src/lang.c:725 +msgid "Do you really want to quit without saving your configuration?" +msgstr "Wirklich ohne Speichern der Konfiguration beenden?" #: src/lang.c:728 -#, c-format -msgid "Toggled tab-width to %d" -msgstr "Tabulatorweite zu %d gewechselt" - -#: src/lang.c:729 -#, c-format -msgid "%d Trying to dotlock %s" -msgstr "%d Versuche %s zu dotlocken" +msgid "Invalid range - valid are '0-9.$' eg. 1-$" +msgstr "Ungültige Bereichsangabe - Gültig wäre '0-9.$' z.B. 1-$" #: src/lang.c:730 -#, c-format -msgid "%d Trying to lock %s" -msgstr "%d Versuche %s zu locken" +msgid "Do you want to abort this operation?" +msgstr "Wollen Sie diese Operation abbrechen?" #: src/lang.c:731 -msgid " h=help\n" -msgstr " h=Hilfe\n" +msgid "Do you want to exit tin immediately?" +msgstr "Wollen Sie tin augenblicklich verlassen?" #: src/lang.c:733 -msgid "Unlimited" -msgstr "Unbegrenzt" +msgid "Reading ('q' to quit)..." +msgstr "Lesen ('q' zum Beenden)..." #: src/lang.c:734 -msgid "Enter wildcard unsubscribe pattern> " -msgstr "Wildcardmuster für abzubestellende Gruppen> " +#, c-format +msgid "Reading %sarticles..." +msgstr "Lese %sArtikel..." #: src/lang.c:735 #, c-format -msgid "Error decoding %s : %s" -msgstr "Fehler beim Dekodieren von %s : %s" +msgid "Reading %sattributes file...\n" +msgstr "Lese %sAttribute-Datei...\n" #: src/lang.c:736 -msgid "No end." -msgstr "Kein Ende." +#, c-format +msgid "Reading %sconfig file...\n" +msgstr "Lese %sKonfigurations-Datei...\n" #: src/lang.c:737 -#, c-format -msgid "%s successfully decoded." -msgstr "%s erfolgreich dekodiert." +msgid "Reading filter file...\n" +msgstr "Lese Filter-Datei...\n" #: src/lang.c:738 #, c-format -msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" - "\n" -msgstr "%*s[-- %s/%s, %suukodierte Datei, %d Zeilen, Name: %s --]\n" - "\n" +msgid "Reading %s groups..." +msgstr "Lese %s Gruppen..." #: src/lang.c:739 -msgid "unread " -msgstr "ungelesen " +msgid "Reading input history file...\n" +msgstr "Lese Eingabe-History...\n" #: src/lang.c:740 -#, c-format -msgid "unsubscribed from %d groups" -msgstr "%d Gruppen abbestellt" +msgid "Reading keymap file...\n" +msgstr "Lese Tastaturbelegungen...\n" #: src/lang.c:741 -#, c-format -msgid "Unsubscribed from %s" -msgstr "%s wurde abbestellt" +msgid "Reading groups from active file... " +msgstr "Lese Gruppen aus dem Active... " #: src/lang.c:742 -msgid "Unsubscribing... " -msgstr "Abbestellen... " +msgid "Reading groups from newsrc file... " +msgstr "Lese Gruppen aus der newsrc-Datei... " #: src/lang.c:743 -msgid "Unthreading articles..." -msgstr "Aktuelle Sortierung der Artikel aufheben..." +msgid "Reading newsgroups file... " +msgstr "Lese Newsgroups-Datei... " #: src/lang.c:744 -msgid "Updated" -msgstr "Aktualisiert" +msgid "Reading newsrc file..." +msgstr "Lese newsrc-Datei..." #: src/lang.c:745 -msgid "Updating" -msgstr "Aktualisiere" - -#: src/lang.c:746 -#, c-format -msgid "Opening %s\n" -msgstr "Öffne %s\n" +msgid "References: line " +msgstr "References: Zeile " #: src/lang.c:747 -msgid "No more URL's in this article" -msgstr "Keine weiteren URLs im Artikel" - -#: src/lang.c:748 -msgid "Use MIME display program for this message?" -msgstr "MIME-Anzeigeprogramm für diese Nachricht benutzen?" +#, c-format +msgid "(%d:%02d remaining)" +msgstr "(noch %d:%02d benötigt)" #: src/lang.c:749 -msgid " -c mark all news as read in subscribed newsgroups (batch mode)" -msgstr " -c Markiere Artikel gelesen in den abonnierten Gruppen (Batch-Modus)" +#, c-format +msgid "Bogus group %s removed." +msgstr "Nicht vorhandene Gruppe %s entfernt." #: src/lang.c:750 -msgid " -Z return status indicating if any unread news (batch mode)" -msgstr " -Z Rückgabewert zeigt, ob ungelesene Artikel vorliegen (Batch-Modus)" +msgid "Removed from the previous rule: " +msgstr "Aus der vorigen Regel gelöscht: " #: src/lang.c:751 -msgid " -q don't check for new newsgroups" -msgstr " -q Überprüfe nicht auf neue Newsgruppen" +#, c-format +msgid "Error: rename %s to %s" +msgstr "Fehler: Benenne %s in %s" #: src/lang.c:752 -msgid " -X don't save any files on quit" -msgstr " -X Speicher keine Dateien beim Beenden" +msgid "Reply to author..." +msgstr "Mailantwort an Autor..." #: src/lang.c:753 -msgid " -d don't show newsgroup descriptions" -msgstr " -d Zeige keine Newsgruppenbeschreibungen" +msgid "Repost" +msgstr "Reposte" #: src/lang.c:754 -msgid " -G limit get only limit articles/group" -msgstr " -G limit Hole nur 'limit' Artikel pro Newsgruppe" +msgid "Reposting article..." +msgstr "Wiederholtes posten des Artikels..." #: src/lang.c:755 #, c-format -msgid " -H help information about %s" -msgstr " -H Hilfe und Informationen über %s" +msgid "Repost article(s) to group(s) [%s]> " +msgstr "Wiederholtes posten de(s|r) Artikel(s) in [%s]> " #: src/lang.c:756 -msgid " -h this help message" -msgstr " -h Diese Hilfeseite" +msgid "Reset newsrc?" +msgstr "newsrc zurücksetzen?" #: src/lang.c:757 -#, c-format -msgid " -I dir news index file directory [default=%s]" -msgstr " -I Verz. Verzeichnis für Artikel-Index-Datei [Standard=%s]" +msgid "Responses have been directed to the following newsgroups" +msgstr "Antworten werden in folgende Gruppen gepostet" #: src/lang.c:758 -msgid " -u update index files (batch mode)" -msgstr " -u Erneuere Index-Dateien (Batch-Modus)" - -#: src/lang.c:759 #, c-format -msgid " -m dir mailbox directory [default=%s]" -msgstr " -m Verz. Mailbox-Verzeichnis [Standard=%s]" +msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " +msgstr "Antwort per Mail wurde angefordert. %s=Mail, %s=post, %s=beenden: " #: src/lang.c:760 -#, c-format -msgid "\n" - "Mail bug reports/comments to %s" -msgstr "\n" - "Schicken Sie Fehlerberichte/Kommentare an %s" - -#: src/lang.c:761 -msgid " -N mail new news to your posts (batch mode)" -msgstr " -N Maile neue Artikel an sich selbst (Batch-Modus)" +msgid "Press to continue..." +msgstr "Drücken Sie um fortzufahren..." #: src/lang.c:762 -msgid " -M user mail new news to specified user (batch mode)" -msgstr " -M user Maile neue News-Artikel an 'user' (Batch-Modus)" +#, c-format +msgid "Select From [%s] (y/n): " +msgstr "Wähle From [%s] (j/n): " #: src/lang.c:763 -#, c-format -msgid " -f file subscribed to newsgroups file [default=%s]" -msgstr " -f Datei 'Datei' als .newsrc-Datei nutzen [Standard=%s]" +msgid "Select Lines: (num): " +msgstr "Wähle Zeilen: (num): " #: src/lang.c:764 -msgid " -x no posting mode" -msgstr " -x Posten nicht erlaubt Modus" +msgid "Auto-select Article Menu" +msgstr "Filter Menü (Bewertung/Score erhöhen)" #: src/lang.c:765 -msgid " -w post an article and exit" -msgstr " -w Postet einen Artikel und beendet tin" +#, c-format +msgid "Select Msg-Id [%s] (f/l/o/n): " +msgstr "Wähle Msg-Id [%s] (v/l/n/n): " #: src/lang.c:766 -msgid " -o post all postponed articles and exit" -msgstr " -o Postet alle zurückgelegten Artikel und beendet tin" +msgid "Select pattern scope: " +msgstr "Wähle Muster : " #: src/lang.c:767 -msgid " -r read news remotely from default NNTP server" -msgstr " -r Lese Artikel vom Standard-NNTP-Server" +#, c-format +msgid "Select Subject [%s] (y/n): " +msgstr "Wähle Subject [%s] (j/n): " #: src/lang.c:768 -msgid " -R read news saved by -S option" -msgstr " -R Lese Artikel, die durch -S gespeichert wurden" +msgid "Select text pattern : " +msgstr "Wähle Textmuster : " #: src/lang.c:769 -#, c-format -msgid " -s dir save news directory [default=%s]" -msgstr " -s Verz. Verzeichnis zum News-Speichern [Standard=%s]" +msgid "Select time in days : " +msgstr "Wähle Zeit in Tagen : " #: src/lang.c:770 -msgid " -S save new news for later reading (batch mode)" -msgstr " -S Speichere Artikel für das spätere Lesen (Batch-Modus)" - -#: src/lang.c:771 -msgid " -z start if any unread news" -msgstr " -z Starte, wenn ungelesene Artikel vorliegen" - -#: src/lang.c:772 -#, c-format -msgid "A Usenet reader.\n" - "\n" - "Usage: %s [options] [newsgroup[,...]]" -msgstr "Ein Usenet-Client.\n" - "\n" - "Syntax: %s [Optionen] [Newsgruppe[,...]]" - -#: src/lang.c:773 -msgid " -v verbose output for batch mode options" -msgstr " -v Ausführliche Ausgabe für Batch-Modus-Optionen" - -#: src/lang.c:774 -msgid " -V print version & date information" -msgstr " -V Gebe Versions- und Datumsinformationen aus" - -#: src/lang.c:775 #, c-format -msgid "%s only useful without batch mode operations\n" -msgstr "%s ist nur sinnvoll ohne Batchmodeoperationen\n" +msgid "# %s server configuration file\n" + "# This file was automatically saved by %s %s %s (\"%s\")\n" + "#\n" + "# Do not edit while %s is running, since all your changes to this file\n" + "# will be overwritten when you leave %s.\n" + "# Do not edit at all if you don't know what you do.\n" + "############################################################################\n" + "\n" +msgstr "# %s Server Konfigurationsdatei\n" + "# Diese Datei wurde automatisch von %s %s %s (\"%s\") erzeugt.\n" + "#\n" + "# Nicht verändern während %s läuft, da alle Änderungen automatisch\n" + "# überschrieben werden wenn Sie %s verlassen.\n" + "# Wenn Sie nicht genau wissen was Sie tun, dann lassen Sie einfach die\n" + "# Finger von dieser Datei.\n" + "############################################################################\n" + "\n" #: src/lang.c:776 -#, c-format -msgid "%s only useful for batch mode operations\n" -msgstr "%s ist nur sinnvoll für Batchmodeoperationen\n" +msgid "Showing unread groups only" +msgstr "Zeige nur Gruppen mit ungelesenen Artikeln" + +#: src/lang.c:777 +msgid "Subject: line (ignore case) " +msgstr "Subject: Zeile (Groß-Kl. ignorieren) " #: src/lang.c:778 -#, c-format -msgid "\n" - "%s%d out of range (0 - %d). Reset to 0" -msgstr "\n" - "%s%d ist außerhalb der Grenzen (0 - %d). Zurücksetzen auf 0" +msgid "Subject: line (case sensitive)" +msgstr "Subject: Zeile (Groß-Kl. beachten) " #: src/lang.c:779 +msgid "Save" +msgstr "Speichern" + +#: src/lang.c:780 #, c-format -msgid "View '%s' (%s/%s)?" -msgstr "'%s' (%s/%s) anzeigen?" +msgid "Save '%s' (%s/%s)?" +msgstr "'%s' (%s/%s) speichern?" #: src/lang.c:781 -#, c-format -msgid "\n" - "Warning: posting exceeds %d columns. Line %d is the first long one:\n" - "%-100s\n" -msgstr "\n" - "Warnung: Artikel überschreitet %d Spalten. Zeile %d ist die erste lange:\n" - "%-100s\n" +msgid "Save configuration before continuing?" +msgstr "Zuerst Konfiguration speichern und danach fortfahren?" #: src/lang.c:782 -msgid "\n" - "Warning: article unchanged after editing\n" -msgstr "\n" - "Warnung: Artikel wurde im Editor nicht verändert\n" +msgid "Save filename> " +msgstr "Name der zu speichernden Datei> " #: src/lang.c:783 -msgid "\n" - "Warning: \"Subject:\" contains only whitespaces.\n" -msgstr "\n" - "Warnung: \"Subject:\" enthält nur Leerzeichen.\n" +msgid "Saved" +msgstr "Gespeichert" #: src/lang.c:784 -msgid "\n" - "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" -msgstr "\n" - "Warnung: \"Subject:\" beginnt mit \"Re: \", aber es gibt keine \"References:" - "\".\n" +#, c-format +msgid "%4d unread (%4d hot) %s in %s\n" +msgstr "%4d ungelesene (%4d 'hot') %s in %s\n" + +#: src/lang.c:785 +#, c-format +msgid "Saved %s...\n" +msgstr "%s gespeichert...\n" #: src/lang.c:786 -msgid "\n" - "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" - " with \"Re: \" and does not contain \"(was:\".\n" -msgstr "\n" - "Warnung: Artikel hat \"References:\" aber \"Subject:\" beginnt nicht\n" - " mit \"Re: \" and enthält auch kein \"(was:\".\n" +msgid "Nothing was saved" +msgstr "Nichts gespeichert" + +#: src/lang.c:787 +#, c-format +msgid "\n" + "%s %d %s from %d %s\n" +msgstr "\n" + "%s %d %s aus %d %s\n" + +#: src/lang.c:788 +#, c-format +msgid "-- %s saved to %s%s --" +msgstr "-- %s nach %s%s gespeichert --" #: src/lang.c:789 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly written by you. This will " - "wipe\n" - " the article from most news servers throughout the world, but there is " - "no\n" - " guarantee that it will work.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Sorgfältig lesen!\n" - "\n" - " Sie wollen einen Artikel canceln (löschen), der offenbar von ihnen stammt.\n" - " Dies wird den Artikel von den meisten Newsservern dieser Welt löschen.\n" - " Es gibt aber keine Garantie, das dies überall geschieht.\n" - "\n" - "Das ist der Artikel, den Sie canceln (löschen) wollen:\n" - "\n" +#, c-format +msgid "-- %s saved to %s - %s --" +msgstr "-- %s gespeichert als %s - %s --" + +#: src/lang.c:790 +msgid "Saving..." +msgstr "Speichere..." + +#: src/lang.c:791 +#, c-format +msgid "%s: Screen initialization failed" +msgstr "%s: Initialisierung des Bildschirms fehlgeschlagen" #: src/lang.c:793 -msgid "\n" - "Warning: You are using a non-plain transfer encoding (such as base64 or\n" - " quoted-printable) and an external inews program to submit your\n" - " article. If a signature is appended by that inews program it will\n" - " not be encoded properly.\n" -msgstr "\n" - "Warnung: Sie benutzen eine Zeichenkodierung, die Zeichen verändert (z.B.\n" - " base64 oder quoted-printable) und einen externen inews um Ihren\n" - " Artikel zu übertragen. Falls durch diesen inews eine Signatur\n" - " angehängt wird, so kann diese nicht korrekt kodiert werden.\n" +#, c-format +msgid "%s: screen is too small\n" +msgstr "%s: Anzeige ist zu klein\n" -#: src/lang.c:798 +#: src/lang.c:795 #, c-format -msgid "\n" - "\n" - "You are upgrading to tin %s from an earlier version.\n" - "Some values in your %s file have changed!\n" - "Read WHATSNEW, etc...\n" -msgstr "\n" - "\n" - "Sie benutzen jetzt tin %s, eine neuere Version als früher.\n" - "Einige Einstellungen in Ihrem %s-File haben sich geändert!\n" - "Lesen Sie \"WHATSNEW\", usw....\n" +msgid "screen is too small, %s is exiting\n" +msgstr "Anzeige zu klein, %s beendet sich\n" + +#: src/lang.c:796 +msgid "Delete scope?" +msgstr "" + +#: src/lang.c:797 +msgid "Enter scope> " +msgstr "" + +#: src/lang.c:798 +msgid "Select new position> " +msgstr "Neue Position auswählen> " + +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "" #: src/lang.c:800 -#, c-format -msgid "\n" - "\n" - "You are downgrading to tin %s from a more recent version!\n" - "Some values in your %s file may be ignored, others might have changed!\n" -msgstr "\n" - "\n" - "Sie benutzen jetzt tin %s, eine ältere Version als früher!\n" - "Evtl. werden Einstellungen in Ihrem %s-File\n" - "nicht erkannt oder ändern sich!\n" +msgid "Global scope, operation not allowed" +msgstr "" + +#: src/lang.c:801 +msgid "Rename scope> " +msgstr "" + +#: src/lang.c:802 +msgid "Select scope> " +msgstr "" #: src/lang.c:803 +msgid "Scopes Menu" +msgstr "" + +#: src/lang.c:804 +msgid "Scopes Menu Commands" +msgstr "" + +#: src/lang.c:805 #, c-format -msgid "Warning: tin wrote fewer groups to your\n" - "\t%s\n" - "than it read at startup. If you didn't unsubscribe from %ld %s during\n" - "this session this indicates an error and you should backup your %s\n" - "before you start tin once again!\n" -msgstr "Warnung: tin hat weniger Gruppen in Ihre\n" - "\t%s\n" - "geschrieben, als es beim Start eingelesen hat. Falls Sie nicht %ld %s\n" - "währenddessen abbestellt haben, ist ein Fehler aufgetreten und Sie sollten\n" - "Ihre %s wiederherstellen, bevor Sie tin nochmal starten!\n" +msgid "Search backwards [%s]> " +msgstr "Suche rückwärts [%s]> " + +#: src/lang.c:806 +#, c-format +msgid "Search body [%s]> " +msgstr "Durchsuche Artikelinhalt [%s]> " #: src/lang.c:807 #, c-format -msgid "\n" - "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" -msgstr "\n" - "Warnung: Es gibt %d '-- \\n' Zeilen. Das könnte einige Leute verwirren.\n" +msgid "Search forwards [%s]> " +msgstr "Suche vorwärts [%s]> " #: src/lang.c:808 -#, c-format -msgid "Warning: Only %d out of %d articles were saved" -msgstr "Warnung: Nur %d von %d Artikeln gespeichert" +msgid "Searching..." +msgstr "Suche..." #: src/lang.c:809 #, c-format -msgid "\n" - "Warning: Your signature is longer than %d lines. Since signatures usually " - "do\n" - " not transport any useful information, they should be as short " - "as\n" - " possible.\n" -msgstr "\n" - "Warnung: Ihre Signatur ist mehr als %d Zeilen lang. Da Signaturen meist " - "keine\n" - " nützlichen Informationen enthalten, sollten sie so kurz wie möglich\n" - " gehalten werden.\n" +msgid "Searching article %d of %d ('q' to abort)..." +msgstr "Suche Artikel %d von %d ('q' zum abbrechen)..." + +#: src/lang.c:810 +msgid "Select article> " +msgstr "Wähle Artikel> " + +#: src/lang.c:811 +msgid "Select option number before text or use arrow keys and . 'q' to quit." +msgstr "Wähle Optionsnummer, oder benutze die Cursor Tasten und . 'q' zum beenden." + +#: src/lang.c:812 +msgid "Select group> " +msgstr "Wähle Gruppe> " #: src/lang.c:813 #, c-format -msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " -msgstr "Warnung: E-Mailadr. evtl. verfälscht (Spamfalle). %s=weiter, %s=Abbruch? " +msgid "Enter selection pattern [%s]> " +msgstr "Nenne das Auswahlmuster [%s]> " #: src/lang.c:814 -msgid "\n" - "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" -msgstr "\n" - "Warnung: Signaturen sollten mit '-- \\n' und nicht mit '--\\n' beginnen.\n" +msgid "Select thread > " +msgstr "Wähle thread > " #: src/lang.c:815 -msgid "Writing attributes file..." -msgstr "Schreibe Datei mit den Eigenschaften der Newsgruppen..." +#, c-format +msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" +msgstr "%s %s %s (\"%s\") [%s]: schicken Sie einen DETAILLIERTEN Fehlerbericht an %s\n" + +#: src/lang.c:816 +msgid "servers active-file" +msgstr "Die 'active' Datei des Servers" #: src/lang.c:817 -#, c-format -msgid "%d Responses" -msgstr "%d Antworten" +msgid "Cannot move into new newsgroups. Subscribe first..." +msgstr "Kann die Newsgruppe nicht öffnen. Sie muss erst abonniert werden..." + +#: src/lang.c:818 +msgid "" +msgstr "" #: src/lang.c:819 #, c-format -msgid "Added %d %s" -msgstr "%d %s hinzugefügt" +msgid "Starting: (%s)" +msgstr "Starte: (%s)" #: src/lang.c:820 -msgid "No unsubscribed groups to show" -msgstr "Keine nicht abonnierte Gruppen gefunden" +#, c-format +msgid "List Thread (%d of %d)" +msgstr "Zeige Thread (%d von %d)" #: src/lang.c:821 -msgid "Showing subscribed to groups only" -msgstr "Zeige nur abonnierte Gruppen" +#, c-format +msgid "Thread (%.*s)" +msgstr "Thread (%.*s)" #: src/lang.c:822 -msgid "Yes " -msgstr "Ja " +msgid "Enter wildcard subscribe pattern> " +msgstr "Wildcardmuster für zu abonnierende Gruppen> " #: src/lang.c:823 -msgid " You have mail\n" -msgstr " Sie haben Mail\n" +#, c-format +msgid "subscribed to %d groups" +msgstr "%d Gruppen sind abonniert" + +#: src/lang.c:824 +#, c-format +msgid "Subscribed to %s" +msgstr "%s wurde abonniert" + +#: src/lang.c:825 +msgid "Subscribing... " +msgstr "Abonniere... " + +#: src/lang.c:826 +#, c-format +msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " +msgstr "Artikel erneut posten oder überschreiben [%%s]? (%s/%s/%s): " + +#: src/lang.c:827 +#, c-format +msgid "Supersede article(s) to group(s) [%s]> " +msgstr "Supersede (überschreibe) Artikel in den Gruppen [%s]> " #: src/lang.c:828 +msgid "Superseding article ..." +msgstr "Überschreibe Artikel ..." + +#: src/lang.c:829 #, c-format -msgid "\n" - "Warning: Posting is in %s and contains characters which are not\n" - " in your selected MM_NETWORK_CHARSET: %s.\n" - " These characters will be replaced by '?' if you post this\n" - " article unchanged. To avoid garbling your article please either\n" - " edit it and remove those characters or change the setting of\n" - " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" - " M)enu option.\n" -msgstr "\n" - "Warnung: Artikel ist in %s und enthält Zeichen die nicht im\n" - " konfiguriertem MM_NETWORK_CHARSET: %s enthalten sind.\n" - " Diese Zeichen werden durch '?' ersetzt wenn der Artikel\n" - " unverändert gepostet wird. Um das zu vermeiden sollten Sie\n" - " entweder den Artikeln entsprechend ändern und diese Zeichen\n" - " entfernen oder MM_NETWORK_CHARSET im M)neu auf einen\n" - " passenderen Wert setzen.\n" - -#: src/lang.c:839 -msgid " -D debug mode 1=NNTP 2=ALL" -msgstr " -D Debug-Modus 1=NNTP 2=ALLES" - -#: src/lang.c:843 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly not written by you. This " - "will\n" - " wipe the article from lots of news servers throughout the world;\n" - " Usenet's majority considers this rather inappropriate, to say the " - "least.\n" - " Only press 'd' if you are absolutely positive that you are ready to " - "take\n" - " the rap.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Sorgfältig lesen!\n" - "\n" - " Sie wollen einen Artikel canceln (löschen), der offenbar nicht von ihnen " - "stammt.\n" - " Dies wird den Artikel auf sehr vielen Newsservern dieser Welt löschen;\n" - " Der Grossteil der Usenetteilnehmer hält dies für nicht akzeptabel.\n" - " Drücken Sie 'd' nur, wenn Sie wirklich sicher sind, das Sie mit den\n" - " eventuellen Konsequenzen leben können.\n" - "\n" - "Dies ist der Artikel, den Sie canceln (löschen) wollen:\n" - "\n" +msgid "\n" + "Stopped. Type 'fg' to restart %s\n" +msgstr "\n" + "Angehalten. Geben Sie 'fg' ein um %s wieder zu starten\n" + +#: src/lang.c:831 +#, c-format +msgid "%d days" +msgstr "%d Tage" + +#: src/lang.c:832 +msgid "" +msgstr "" + +#: src/lang.c:833 +msgid "TeX " +msgstr "TeX " + +#: src/lang.c:834 +msgid "# Default action/prompt strings\n" +msgstr "# Voreingestellte Aktion/zeige Zeichenkette\n" + +#: src/lang.c:835 +msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" + "# 5=Message-ID: & last References: entry only\n" + "# 6=Message-ID: entry only 7=Lines:\n" + "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +msgstr "# Voreinstellung für schnellen (1 Taste) Filterregeln (Kill & Hochscoren)\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & volle References: Zeile\n" + "# 5=Message-ID: & letzter Reference: Eintrag ausschließlich\n" + "# 6=Message-ID: Eintrag nur 7=Zeilen:\n" + "# global=ON/OFF ON=alle Gruppen OFF=nur für die aktuellen Gruppe\n" + "# case=ON/OFF ON=Filter case sensitive OFF=ignoriere case\n" + "# expire=ON/OFF ON=Verfallen nach default_filter_days OFF=verfällt nie\n" + +#: src/lang.c:848 +msgid "# If ON use print current subject or newsgroup description in the last line\n" +msgstr "# Falls ON anzeige des Subject oder des Gruppennamens in der letzten Zeile.\n" + +#: src/lang.c:849 +msgid "# Host & time info used for detecting new groups (don't touch)\n" +msgstr "# Benutzte Host- & Zeit-Info um neue Gruppen zu finden (nicht ändern)\n" + +#: src/lang.c:850 +msgid "There is no news\n" +msgstr "Es gibt keine neuen Artikel\n" + +#: src/lang.c:851 +msgid "Thread" +msgstr "Thread" #: src/lang.c:852 -msgid "toggle color" -msgstr "Farben ein/aus" +msgid "Thread Level Commands" +msgstr "Thread Level Kommandos" #: src/lang.c:853 -msgid "# Changing colors of several screen parts\n" - "# Possible values are:\n" - "# -1 = default (white for foreground and black for background)\n" - "# 0 = black\n" - "# 1 = red\n" - "# 2 = green\n" - "# 3 = brown\n" - "# 4 = blue\n" - "# 5 = pink\n" - "# 6 = cyan\n" - "# 7 = white\n" - "# These are *only* for foreground:\n" - "# 8 = gray\n" - "# 9 = light red\n" - "# 10 = light green\n" - "# 11 = yellow\n" - "# 12 = light blue\n" - "# 13 = light pink\n" - "# 14 = light cyan\n" - "# 15 = light white\n" - "\n" -msgstr "# Farbeinstellungen\n" - "# Mögliche Werte sind:\n" - "# -1 = Voreinstellung (weißer Vordergrund, schwarzer Hintergrund)\n" - "# 0 = schwarz\n" - "# 1 = rot\n" - "# 2 = grün\n" - "# 3 = braun\n" - "# 4 = blau\n" - "# 5 = rosa\n" - "# 6 = cyan\n" - "# 7 = weiß\n" - "# Diese sind *nur* für den Vordergrund:\n" - "# 8 = grau\n" - "# 9 = hellrot\n" - "# 10 = hellgrün\n" - "# 11 = gelb\n" - "# 12 = hellblau\n" - "# 13 = hellrosa\n" - "# 14 = hellcyan\n" - "# 15 = hellweiß\n" - "\n" +msgid "Thread deselected" +msgstr "Thread nicht mehr ausgewählt" + +#: src/lang.c:854 +msgid "Thread selected" +msgstr "Thread ausgewählt" + +#: src/lang.c:856 +msgid "threads" +msgstr "Threads" + +#: src/lang.c:858 +msgid "thread" +msgstr "Thread" + +#: src/lang.c:859 +#, c-format +msgid "Thread %4s of %4s" +msgstr "Thread %4s v. %4s" + +#: src/lang.c:860 +msgid "Threading articles..." +msgstr "Sortiere Artikel..." + +#: src/lang.c:861 +#, c-format +msgid "Toggled word highlighting %s" +msgstr "Wort-Hervorhebung: %s" + +#: src/lang.c:862 +msgid "Toggled rot13 encoding" +msgstr "ROT13-Kodierung (de)aktiviert" + +#: src/lang.c:863 +#, c-format +msgid "Toggled german TeX encoding %s" +msgstr "Deutsche TeX-Dekodierung: %s" + +#: src/lang.c:864 +#, c-format +msgid "Toggled tab-width to %d" +msgstr "Tabulatorweite zu %d gewechselt" + +#: src/lang.c:866 +#, c-format +msgid "%d Trying to dotlock %s" +msgstr "%d Versuche %s zu dotlocken" + +#: src/lang.c:867 +#, c-format +msgid "%d Trying to lock %s" +msgstr "%d Versuche %s zu locken" + +#: src/lang.c:869 +msgid " h=help" +msgstr " h=Hilfe" + +#: src/lang.c:871 +msgid "Unlimited" +msgstr "Unbegrenzt" + +#: src/lang.c:872 +msgid "Enter wildcard unsubscribe pattern> " +msgstr "Wildcardmuster für abzubestellende Gruppen> " #: src/lang.c:873 -msgid " -a toggle color flag" -msgstr " -a Farbe ein- oder ausschalten" +#, c-format +msgid "Error decoding %s : %s" +msgstr "Fehler beim Dekodieren von %s : %s" + +#: src/lang.c:874 +msgid "No end." +msgstr "Kein Ende." + +#: src/lang.c:875 +#, c-format +msgid "%s successfully decoded." +msgstr "%s erfolgreich dekodiert." + +#: src/lang.c:876 +#, c-format +msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" + "\n" +msgstr "%*s[-- %s/%s, %suukodierte Datei, %d Zeilen, Name: %s --]\n" + "\n" #: src/lang.c:877 -msgid "\n" - "Error: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "Fehler: Followup-To auf mehr als eine Newsgruppe gesetzt!\n" +msgid "unread " +msgstr "ungelesen " #: src/lang.c:878 #, c-format -msgid "\n" - "Error: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "Fehler: Crossposting in %d Newsgruppen und kein Followup-To gesetzt!\n" +msgid "unsubscribed from %d groups" +msgstr "%d Gruppen abbestellt" #: src/lang.c:879 #, c-format -msgid "\n" - "Error: \"%s\" is not a valid newsgroup!\n" -msgstr "\n" - "Fehler: \"%s\" ist keine gültige Newsgruppe!\n" +msgid "Unsubscribed from %s" +msgstr "%s wurde abbestellt" + +#: src/lang.c:880 +msgid "Unsubscribing... " +msgstr "Abbestellen... " #: src/lang.c:881 -msgid "\n" - "Warning: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "Warnung: Followup-To in mehr als eine Newsgruppe gesetzt!\n" +msgid "Unthreading articles..." +msgstr "Aktuelle Sortierung der Artikel aufheben..." #: src/lang.c:882 -#, c-format -msgid "\n" - "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "Warnung: Crossposting in %d Newsgruppen und kein Followup-To gesetzt!\n" - -#: src/lang.c:883 -#, c-format -msgid "\n" - "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" -msgstr "\n" - "Warnung: \"%s\" ist nicht in Ihrer newsrc, sie könnte ungültig sein!\n" +msgid "Updated" +msgstr "Aktualisiert" #: src/lang.c:884 #, c-format -msgid "\n" - "Warning: \"%s\" is not a valid newsgroup at this site!\n" -msgstr "\n" - "Warnung: \"%s\" ist keine gültige Newsgruppe auf diesem Server!\n" +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "Nicht auswertbare \"LIST COUNTS\" Zeile: \"%s\"" + +#: src/lang.c:886 +msgid "Updating" +msgstr "Aktualisiere" + +#: src/lang.c:887 +msgid "URL Menu" +msgstr "URL Menü" #: src/lang.c:888 -#, c-format -msgid "%d files successfully written from %d articles. %d %s occurred." -msgstr "%d Dateien aus %d Artikeln erfolgreich geschrieben. %d %s trat(en) auf." +msgid "URL Menu Commands" +msgstr "URL Menü Befehle" #: src/lang.c:889 -msgid "Missing parts." -msgstr "Teile fehlen." +#, c-format +msgid "Opening %s" +msgstr "Öffne %s" #: src/lang.c:890 -msgid "No beginning." -msgstr "Kein Anfang." +msgid "Select URL> " +msgstr "Wähle URL> " #: src/lang.c:891 -msgid "No data." -msgstr "Keine Daten." +msgid "No URLs in this article" +msgstr "Keine URLs im Artikel" #: src/lang.c:892 -msgid "Unknown error." -msgstr "Unbekannter Fehler." +msgid "Use MIME display program for this message?" +msgstr "MIME-Anzeigeprogramm für diese Nachricht benutzen?" + +#: src/lang.c:893 +msgid " -c mark all news as read in subscribed newsgroups (batch mode)" +msgstr " -c Markiere Artikel gelesen in den abonnierten Gruppen (Batch-Modus)" + +#: src/lang.c:894 +msgid " -Z return status indicating if any unread news (batch mode)" +msgstr " -Z Rückgabewert zeigt, ob ungelesene Artikel vorliegen (Batch-Modus)" #: src/lang.c:895 +msgid " -q don't check for new newsgroups" +msgstr " -q Überprüfe nicht auf neue Newsgruppen" + +#: src/lang.c:896 +msgid " -X don't save any files on quit" +msgstr " -X Speicher keine Dateien beim Beenden" + +#: src/lang.c:897 +msgid " -d don't show newsgroup descriptions" +msgstr " -d Zeige keine Newsgruppenbeschreibungen" + +#: src/lang.c:898 +msgid " -G limit get only limit articles/group" +msgstr " -G limit Hole nur 'limit' Artikel pro Newsgruppe" + +#: src/lang.c:899 #, c-format -msgid "\tChecksum of %s (%ld %s)" -msgstr "\tPrüfsumme für %s (%ld %s)" +msgid " -H help information about %s" +msgstr " -H Hilfe und Informationen über %s" #: src/lang.c:900 -msgid "Reading mail active file... " -msgstr "Lese EMail-Active-Datei... " +msgid " -h this help message" +msgstr " -h Diese Hilfeseite" #: src/lang.c:901 -msgid "Reading mailgroups file... " -msgstr "Lese Mailgruppen-Datei... " +#, c-format +msgid " -I dir news index file directory [default=%s]" +msgstr " -I Verz. Verzeichnis für Artikel-Index-Datei [Standard=%s]" + +#: src/lang.c:902 +msgid " -u update index files (batch mode)" +msgstr " -u Erneuere Index-Dateien (Batch-Modus)" + +#: src/lang.c:903 +#, c-format +msgid " -m dir mailbox directory [default=%s]" +msgstr " -m Verz. Mailbox-Verzeichnis [Standard=%s]" + +#: src/lang.c:904 +#, c-format +msgid "\n" + "Mail bug reports/comments to %s" +msgstr "\n" + "Schicken Sie Fehlerberichte/Kommentare an %s" #: src/lang.c:905 -msgid "perform PGP operations on article" -msgstr "wendet PGP auf den Artikel an" +msgid " -N mail new news to your posts (batch mode)" +msgstr " -N Maile neue Artikel an sich selbst (Batch-Modus)" #: src/lang.c:906 -msgid "Add key(s) to public keyring?" -msgstr "Schlüssel dem Öffentlichen Schlüsselring hinzufügen?" +msgid " -M user mail new news to specified user (batch mode)" +msgstr " -M user Maile neue News-Artikel an 'user' (Batch-Modus)" #: src/lang.c:907 #, c-format -msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " -msgstr "%s=verschlüsseln, %s=signieren, %s=beides, %s=Ende: " +msgid " -f file subscribed to newsgroups file [default=%s]" +msgstr " -f Datei 'Datei' als .newsrc-Datei nutzen [Standard=%s]" #: src/lang.c:908 -#, c-format -msgid "%s=sign, %s=sign & include public key, %s=quit: " -msgstr "%s=signiere, %s=signiere & füge öffentl. Schlüssel hinzu, %s=Ende: " +msgid " -x no posting mode" +msgstr " -x Posten nicht erlaubt Modus" #: src/lang.c:909 -#, c-format -msgid "PGP has not been set up (can't open %s)" -msgstr "PGP Wurde nicht konfiguriert (kann %s nicht öffnen)" +msgid " -w post an article and exit" +msgstr " -w Postet einen Artikel und beendet tin" #: src/lang.c:910 -msgid "Article not signed and no public keys found" -msgstr "Artikel ist nicht signiert; keine öffentlichen Schlüssel gefunden" +msgid " -o post all postponed articles and exit" +msgstr " -o Postet alle zurückgelegten Artikel und beendet tin" + +#: src/lang.c:911 +msgid " -R read news saved by -S option" +msgstr " -R Lese Artikel, die durch -S gespeichert wurden" #: src/lang.c:912 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=Menü, %s=posten, %" - "s=zurücklegen: " +msgid " -s dir save news directory [default=%s]" +msgstr " -s Verz. Verzeichnis zum News-Speichern [Standard=%s]" #: src/lang.c:913 -#, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " -msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=verschicken [%%s]: " +msgid " -S save new news for later reading (batch mode)" +msgstr " -S Speichere Artikel für das spätere Lesen (Batch-Modus)" #: src/lang.c:914 +msgid " -z start if any unread news" +msgstr " -z Starte, wenn ungelesene Artikel vorliegen" + +#: src/lang.c:915 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=Menü, %s=posten, %s=zurücklegen " - "[%%s]: " +msgid "A Usenet reader.\n" + "\n" + "Usage: %s [options] [newsgroup[,...]]" +msgstr "Ein Usenet-Client.\n" + "\n" + "Syntax: %s [Optionen] [Newsgruppe[,...]]" #: src/lang.c:916 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=Ende, %s=bearbeiten, %s=pgp, %s=Menü, %s=posten, %s=zurücklegen: " +msgid " -v verbose output for batch mode options" +msgstr " -v Ausführliche Ausgabe für Batch-Modus-Optionen" #: src/lang.c:917 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " -msgstr "%s=Ende, %s=bearbeiten, %s=pgp, %s=verschicken [%%s]: " +msgid " -V print version & date information" +msgstr " -V Gebe Versions- und Datumsinformationen aus" #: src/lang.c:918 #, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=Ende, %s=bearbeiten, %s=pgp, %s=Menü, %s=posten, %s=zurücklegen [%%s]: " +msgid "%s only useful without batch mode operations\n" +msgstr "%s ist nur sinnvoll ohne Batchmodeoperationen\n" + +#: src/lang.c:919 +#, c-format +msgid "%s only useful for batch mode operations\n" +msgstr "%s ist nur sinnvoll für Batchmodeoperationen\n" + +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "Unsinnige Kombination von %s und %s. Ignoriere %s.\n" #: src/lang.c:922 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " -msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=Menü, %s=posten, %s=zurücklegen: " +msgid "\n" + "%s%d out of range (0 - %d). Reset to 0" +msgstr "\n" + "%s%d ist außerhalb der Grenzen (0 - %d). Zurücksetzen auf 0" #: src/lang.c:923 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " -msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=verschicken [%%s]: " +msgid "View '%s' (%s/%s)?" +msgstr "'%s' (%s/%s) anzeigen?" -#: src/lang.c:924 +#: src/lang.c:925 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=Menü, %s=post, %s=Zurückl. [%%s]: " +msgid "\n" + "Warning: posting exceeds %d columns. Line %d is the first long one:\n" + "%-100s\n" +msgstr "\n" + "Warnung: Artikel überschreitet %d Spalten. Zeile %d ist die erste lange:\n" + "%-100s\n" #: src/lang.c:926 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " -msgstr "%s=Ende, %s=bearbeiten, %s=Menü, %s=posten, %s=zurücklegen: " +msgid "\n" + "Warning: article unchanged after editing\n" +msgstr "\n" + "Warnung: Artikel wurde im Editor nicht verändert\n" #: src/lang.c:927 -#, c-format -msgid "%s=quit, %s=edit, %s=send [%%s]: " -msgstr "%s=Ende, %s=bearbeiten, %s=verschicken [%%s]: " +msgid "\n" + "Warning: \"Subject:\" contains only whitespaces.\n" +msgstr "\n" + "Warnung: \"Subject:\" enthält nur Leerzeichen.\n" #: src/lang.c:928 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=Ende, %s=bearbeiten, %s=Menü, %s=posten, %s=zurücklegen [%%s]: " +msgid "\n" + "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" +msgstr "\n" + "Warnung: \"Subject:\" beginnt mit \"Re: \", aber es gibt keine \"References:" + "\".\n" + +#: src/lang.c:930 +msgid "\n" + "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" + " with \"Re: \" and does not contain \"(was:\".\n" +msgstr "\n" + "Warnung: Artikel hat \"References:\" aber \"Subject:\" beginnt nicht\n" + " mit \"Re: \" and enthält auch kein \"(was:\".\n" + +#: src/lang.c:933 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly written by you. This will " + "wipe\n" + " the article from most news servers throughout the world, but there is " + "no\n" + " guarantee that it will work.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "Sorgfältig lesen!\n" + "\n" + " Sie wollen einen Artikel canceln (löschen), der offenbar von ihnen stammt.\n" + " Dies wird den Artikel von den meisten Newsservern dieser Welt löschen.\n" + " Es gibt aber keine Garantie, das dies überall geschieht.\n" + "\n" + "Das ist der Artikel, den Sie canceln (löschen) wollen:\n" + "\n" #: src/lang.c:937 -msgid "Try cache_overview_files to speed up things.\n" -msgstr "Setze cache_overview_files um das lesen zu beschleunigen.\n" - -#: src/lang.c:938 -msgid "Tin will use local index files instead.\n" -msgstr "Tin wird lokale index files benutzen.\n" - -#: src/lang.c:939 -msgid "Cannot find NNTP server name" -msgstr "Kann den Namen des NNTP Servers nicht finden" - -#: src/lang.c:940 -#, c-format -msgid "Connecting to %s:%d..." -msgstr "Verbinde mit %s:%d..." - -#: src/lang.c:941 -msgid "Disconnecting from server...\n" -msgstr "Trenne Verbindung zum Server...\n" +msgid "\n" + "Warning: You are using a non-plain transfer encoding (such as base64 or\n" + " quoted-printable) and an external inews program to submit your\n" + " article. If a signature is appended by that inews program it will\n" + " not be encoded properly.\n" +msgstr "\n" + "Warnung: Sie benutzen eine Zeichenkodierung, die Zeichen verändert (z.B.\n" + " base64 oder quoted-printable) und einen externen inews um Ihren\n" + " Artikel zu übertragen. Falls durch diesen inews eine Signatur\n" + " angehängt wird, so kann diese nicht korrekt kodiert werden.\n" #: src/lang.c:942 -#, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" -msgstr "Falsche Newsgruppe in Antwort auf GROUP-Befehl, %s statt %s" +msgid "\n" + "Warning: \"example\" is a reserved hierarchy!\n" +msgstr "\n" + "Warnung: \"example\" ist eine reserviert Hierarchie!\n" #: src/lang.c:943 #, c-format -msgid "Failed to connect to NNTP server %s. Exiting..." -msgstr "Konnte nicht zum NNTP Server %s verbinden. Beende..." - -#: src/lang.c:944 -msgid "205 Closing connection" -msgstr "205 Schließe Verbindung" +msgid "\n" + "\n" + "You are upgrading to tin %s from an earlier version.\n" + "Some values in your %s file have changed!\n" + "Read WHATSNEW, etc...\n" +msgstr "\n" + "\n" + "Sie benutzen jetzt tin %s, eine neuere Version als früher.\n" + "Einige Einstellungen in Ihrem %s-File haben sich geändert!\n" + "Lesen Sie \"WHATSNEW\", usw....\n" #: src/lang.c:945 -msgid "Your server does not support the NNTP XOVER or OVER command.\n" -msgstr "Ihr Server unterstützt kein NNTP XOVER oder OVER Kommando.\n" - -#: src/lang.c:946 -msgid "Connection to news server has timed out. Reconnect?" -msgstr "Die Verbindung zum Newsserver wurde unterbrochen. Wieder verbinden?" - -#: src/lang.c:947 -#, c-format -msgid "Put the server name in the file %s,\n" - "or set the environment variable NNTPSERVER" -msgstr "Schreiben Sie den Servernamen in die Datei %s,\n" - "oder setzen Sie die Umgebungsvariable NNTPSERVER" - -#: src/lang.c:948 -msgid " -A force authentication on connect" -msgstr " -A Erzwinge Anmeldung bei Verbindung" - -#: src/lang.c:949 #, c-format -msgid " -g serv read news from NNTP server serv [default=%s]" -msgstr " -g serv Lese Artikel vom NNTP-Server 'serv' [Standard=%s]" +msgid "\n" + "\n" + "You are downgrading to tin %s from a more recent version!\n" + "Some values in your %s file may be ignored, others might have changed!\n" +msgstr "\n" + "\n" + "Sie benutzen jetzt tin %s, eine ältere Version als früher!\n" + "Evtl. werden Einstellungen in Ihrem %s-File\n" + "nicht erkannt oder ändern sich!\n" -#: src/lang.c:950 +#: src/lang.c:948 #, c-format -msgid " -p port use port as NNTP port [default=%d]" -msgstr " -p port Benutze 'port' als NNTP-Port [Standard=%d]" - -#: src/lang.c:951 -msgid " -Q quick start. Same as -nqd" -msgstr " -Q Schnellstart. Das Selbe wie -nqd" +msgid "Warning: tin wrote fewer groups to your\n" + "\t%s\n" + "than it read at startup. If you didn't unsubscribe from %ld %s during\n" + "this session this indicates an error and you should backup your %s\n" + "before you start tin once again!\n" +msgstr "Warnung: tin hat weniger Gruppen in Ihre\n" + "\t%s\n" + "geschrieben, als es beim Start eingelesen hat. Falls Sie nicht %ld %s\n" + "währenddessen abbestellt haben, ist ein Fehler aufgetreten und Sie sollten\n" + "Ihre %s wiederherstellen, bevor Sie tin nochmal starten!\n" #: src/lang.c:952 -msgid " -l use only LIST instead of GROUP (-n) command" -msgstr " -l Benutze nur das LIST anstelle vom GROUP-Kommando (-n)" +#, c-format +msgid "\n" + "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" +msgstr "\n" + "Warnung: Es gibt %d '-- \\n' Zeilen. Das könnte einige Leute verwirren.\n" #: src/lang.c:953 -msgid " -n only read subscribed .newsrc groups from NNTP server" -msgstr " -n Lese nur Gruppen aus der .newsrc-Datei vom NNTP-Server" +#, c-format +msgid "Warning: Only %d out of %d articles were saved" +msgstr "Warnung: Nur %d von %d Artikeln gespeichert" -#: src/lang.c:955 +#: src/lang.c:954 #, c-format -msgid "%s/tcp: Unknown service.\n" -msgstr "%s/tcp: Unbekannter Service.\n" +msgid "\n" + "Warning: Your signature is longer than %d lines. Since signatures usually " + "do\n" + " not transport any useful information, they should be as short " + "as\n" + " possible.\n" +msgstr "\n" + "Warnung: Ihre Signatur ist mehr als %d Zeilen lang. Da Signaturen meist " + "keine\n" + " nützlichen Informationen enthalten, sollten sie so kurz wie möglich\n" + " gehalten werden.\n" #: src/lang.c:958 -msgid "\n" - "socket or connect problem\n" -msgstr "\n" - "Socket oder Verbindungsproblem\n" +#, c-format +msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " +msgstr "Warnung: E-Mailadr. evtl. verfälscht (Spamfalle). %s=weiter, %s=Abbruch? " + +#: src/lang.c:959 +msgid "\n" + "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" +msgstr "\n" + "Warnung: Signaturen sollten mit '-- \\n' und nicht mit '--\\n' beginnen.\n" #: src/lang.c:960 +msgid "Writing attributes file..." +msgstr "Schreibe Datei mit den Eigenschaften der Newsgruppen..." + +#: src/lang.c:962 #, c-format -msgid "\n" - "Connection to %s: " -msgstr "\n" - "Verbindung mit %s: " - -#: src/lang.c:961 -msgid "Giving up...\n" -msgstr "Gebe auf...\n" +msgid "%d Responses" +msgstr "%d Antworten" #: src/lang.c:964 -msgid "Your server does not have Xref: in its XOVER information.\n" - "Tin will try to use XHDR XREF instead (slows down things a bit).\n" -msgstr "Ihr Server hat kein Xref: in seiner XOVER-Information.\n" - "Tin versucht XHDR XREF zu benutzen (verlangsamt den Prozess etwas).\n" +#, c-format +msgid "Added %d %s" +msgstr "%d %s hinzugefügt" + +#: src/lang.c:965 +msgid "No unsubscribed groups to show" +msgstr "Keine nicht abonnierte Gruppen gefunden" + +#: src/lang.c:966 +msgid "Showing subscribed to groups only" +msgstr "Zeige nur abonnierte Gruppen" #: src/lang.c:967 -msgid "Your server does not have Xref: in its XOVER information.\n" -msgstr "Ihr Server hat kein Xref: in seiner XOVER-Information.\n" +msgid "Yes " +msgstr "Ja " -#: src/lang.c:970 -#, c-format -msgid "Can't open %s. Try %s -r to read news via NNTP.\n" -msgstr "Kann %s nicht öffnen. Probieren Sie %s -r um via NNTP zu lesen.\n" +#: src/lang.c:968 +msgid " You have mail" +msgstr " Sie haben Mail" #: src/lang.c:973 -msgid " -Q quick start. Same as -qd" -msgstr " -Q Schnellstart. Das Selbe wie -qd" +#, c-format +msgid "\n" + "Warning: Posting is in %s and contains characters which are not\n" + " in your selected MM_NETWORK_CHARSET: %s.\n" + " These characters will be replaced by '?' if you post this\n" + " article unchanged. To avoid garbling your article please either\n" + " edit it and remove those characters or change the setting of\n" + " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" + " M)enu option.\n" +msgstr "\n" + "Warnung: Artikel ist in %s und enthält Zeichen die nicht im\n" + " konfiguriertem MM_NETWORK_CHARSET: %s enthalten sind.\n" + " Diese Zeichen werden durch '?' ersetzt wenn der Artikel\n" + " unverändert gepostet wird. Um das zu vermeiden sollten Sie\n" + " entweder den Artikeln entsprechend ändern und diese Zeichen\n" + " entfernen oder MM_NETWORK_CHARSET im M)neu auf einen\n" + " passenderen Wert setzen.\n" + +#: src/lang.c:984 +msgid " -D mode debug mode" +msgstr " -D Modus Debug-Modus" + +#: src/lang.c:988 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly not written by you. This " + "will\n" + " wipe the article from lots of news servers throughout the world;\n" + " Usenet's majority considers this rather inappropriate, to say the " + "least.\n" + " Only press 'd' if you are absolutely positive that you are ready to " + "take\n" + " the rap.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "Sorgfältig lesen!\n" + "\n" + " Sie wollen einen Artikel canceln (löschen), der offenbar nicht von ihnen " + "stammt.\n" + " Dies wird den Artikel auf sehr vielen Newsservern dieser Welt löschen;\n" + " Der Großteil der Usenetteilnehmer hält dies für nicht akzeptabel.\n" + " Drücken Sie 'd' nur, wenn Sie wirklich sicher sind, das Sie mit den\n" + " eventuellen Konsequenzen leben können.\n" + "\n" + "Dies ist der Artikel, den Sie canceln (löschen) wollen:\n" + "\n" -#: src/lang.c:974 -msgid " -l read only active file instead of scanning spool (-n) command" -msgstr " -l Nur active File lesen ohne den Spool zu durchsuchen (-n) Kommando" +#: src/lang.c:997 +msgid "toggle color" +msgstr "Farben ein/aus" -#: src/lang.c:975 -msgid " -n only read subscribed .newsrc groups from spool" -msgstr " -n Lese nur Gruppen aus der .newsrc-Datei aus dem lokalen Spool" +#: src/lang.c:998 +msgid "# Changing colors of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" +msgstr "# Farbeinstellungen\n" + "# Mögliche Werte sind:\n" + "# -1 = Voreinstellung (weißer Vordergrund, schwarzer Hintergrund)\n" + "# 0 = schwarz\n" + "# 1 = rot\n" + "# 2 = grün\n" + "# 3 = braun\n" + "# 4 = blau\n" + "# 5 = rosa\n" + "# 6 = cyan\n" + "# 7 = weiß\n" + "# Diese sind *nur* für den Vordergrund:\n" + "# 8 = grau\n" + "# 9 = hellrot\n" + "# 10 = hellgrün\n" + "# 11 = gelb\n" + "# 12 = hellblau\n" + "# 13 = hellrosa\n" + "# 14 = hellcyan\n" + "# 15 = hellweiß\n" + "\n" + +#: src/lang.c:1018 +msgid " -a toggle color flag" +msgstr " -a Farbe ein- oder ausschalten" + +#: src/lang.c:1022 +msgid "\n" + "Error: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "Fehler: Followup-To auf mehr als eine Newsgruppe gesetzt!\n" + +#: src/lang.c:1023 +#, c-format +msgid "\n" + "Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "\n" + "Fehler: \"%s\" wurde umbenannt, \"%s\" stattdessen benutzen!\n" + +#: src/lang.c:1024 +#, c-format +msgid "\n" + "Error: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "Fehler: Crossposting in %d Newsgruppen und kein Followup-To gesetzt!\n" -#: src/lang.c:976 -msgid "Your server does not have Xref: in its NOV-files.\n" -msgstr "Ihr Server hat kein Xref: in seinen NOV-Dateien.\n" +#: src/lang.c:1025 +#, c-format +msgid "\n" + "Error: \"%s\" is not a valid newsgroup!\n" +msgstr "\n" + "Fehler: \"%s\" ist keine gültige Newsgruppe!\n" -#: src/lang.c:980 -msgid "Posting using external inews failed. Use built in inews instead?" -msgstr "Fehler beim Posten mit externem inews, verwende eingebautes?" +#: src/lang.c:1027 +msgid "\n" + "Warning: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "Warnung: Followup-To in mehr als eine Newsgruppe gesetzt!\n" -#: src/lang.c:981 -msgid "It worked! Should I always use my built in inews from now on?" -msgstr "Das hat funktioniert. In Zukunft immer eingebautes inews verwenden?" +#: src/lang.c:1028 +#, c-format +msgid "\n" + "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "\n" + "Warnung: \"%s\" wurde umbenannt, bitte \"%s\" stattdessen benutzen!\n" -#: src/lang.c:989 +#: src/lang.c:1029 #, c-format -msgid "%d %s printed" -msgstr "%d %s gedruckt" +msgid "\n" + "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "Warnung: Crossposting in %d Newsgruppen und kein Followup-To gesetzt!\n" -#: src/lang.c:990 -msgid "output article/thread/hot/pattern/tagged articles to printer" -msgstr "druckt Artikel/Thread/hervorgehobene/Muster/markierten" +#: src/lang.c:1030 +#, c-format +msgid "\n" + "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" +msgstr "\n" + "Warnung: \"%s\" ist nicht in Ihrer newsrc, sie könnte ungültig sein!\n" -#: src/lang.c:991 -msgid "Print" -msgstr "Drucke" +#: src/lang.c:1031 +#, c-format +msgid "\n" + "Warning: \"%s\" is not a valid newsgroup at this site!\n" +msgstr "\n" + "Warnung: \"%s\" ist keine gültige Newsgruppe auf diesem Server!\n" -#: src/lang.c:992 -msgid "Printing..." -msgstr "Drucke..." +#: src/lang.c:1035 +#, c-format +msgid "%d files successfully written from %d articles. %d %s occurred." +msgstr "%d Dateien aus %d Artikeln erfolgreich geschrieben. %d %s trat(en) auf." -#: src/lang.c:996 -msgid "pipe article/thread/hot/pattern/tagged articles into command" -msgstr "pipet Artikel/thread hervorgehoben/Muster/markierten Artikel" +#: src/lang.c:1036 +msgid "Missing parts." +msgstr "Teile fehlen." -#: src/lang.c:997 -msgid "No command" -msgstr "Kein Kommando" +#: src/lang.c:1037 +msgid "No beginning." +msgstr "Kein Anfang." -#: src/lang.c:998 -msgid "Pipe" -msgstr "Pipe" +#: src/lang.c:1038 +msgid "No data." +msgstr "Keine Daten." -#: src/lang.c:999 +#: src/lang.c:1039 +msgid "Unknown error." +msgstr "Unbekannter Fehler." + +#: src/lang.c:1042 #, c-format -msgid "Pipe to command [%.*s]> " -msgstr "Pipen in Kommando [%.*s]> " +msgid "\tChecksum of %s (%ld %s)" +msgstr "\tPrüfsumme für %s (%ld %s)" -#: src/lang.c:1000 -msgid "Piping..." -msgstr "Pipen..." - -#: src/lang.c:1002 -msgid "Piping not enabled." -msgstr "Pipen nicht aktiviert." - -#: src/lang.c:1006 -#, c-format -msgid "\n" - "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" - " The only allowable space is the one separating the colon (:)\n" - " from the contents. Use a comma (,) to separate multiple\n" - " newsgroup names.\n" -msgstr "\n" - "Fehler: Die \"%s:\" Zeile hat Leerzeichen, die entfernt werden MÜSSEN.\n" - " Der einzig erlaubte Leerraum ist derjenige, der das ':'\n" - " vom Inhalt trennt. Benutzen Sie ein ',' um mehrere Newsgruppen\n" - " anzugeben\n" - -#: src/lang.c:1011 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is continued in the next line. Since\n" - " the line may not contain whitespace, this is not allowed.\n" - " Please write all newsgroups into a single line.\n" -msgstr "\n" - "Fehler: Die \"%s:\" Zeile ist in der nächsten Zeile fortgesetzt.\n" - " Da diese Zeile keinen leeren Raum enthalten darf, ist dies nicht\n" - " erlaubt. Bitte schreiben Sie alle Newsgruppen in eine Zeile\n" - -#: src/lang.c:1016 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line is continued in the next line.\n" - " This is a very new feature and may not be accepted by all servers.\n" - " To avoid trouble please write all newsgroups into a single line.\n" -msgstr "\n" - "Warnung: Die \"%s:\" Zeile ist in der nächsten Zeile fortgesetzt.\n" - " Da diese Zeile keinen leeren Raum enthalten darf, ist dies nicht\n" - " erlaubt. Bitte schreiben Sie alle Newsgruppen in eine Zeile.\n" - -#: src/lang.c:1020 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" -msgstr "\n" - "Warnung: Die \"%s:\" Zeile enthält Leerzeichen die entfernt\n" - " werden sollten.\n" +#: src/lang.c:1047 +msgid "Reading mail active file... " +msgstr "Lese EMail-Active-Datei... " -#: src/lang.c:1025 -msgid "\n" - " If your article contains quoted text please take some time to pare it " - "down\n" - " to just the key points to which you are responding, or people will " - "think\n" - " you are a dweeb! Many people have the habit of skipping any article " - "whose\n" - " first page is largely quoted material. Format your article to fit in " - "less\n" - " then 80 chars, since that's the conventional size (72 is a good choice " - "as\n" - " it allows quoting without exceeding the limit). If your lines are too " - "long\n" - " they'll wrap around ugly and people won't read what you write. If " - "you\n" - " aren't careful and considerate in formatting your posting, people " - "are\n" - " likely to ignore it completely. It's a crowded net out there.\n" -msgstr "\n" - " Wenn Ihr Artikel zitierten Text enthält, nehmen Sie sich Zeit und kürzen\n" - " Sie die Zitate auf das Nötigste, behalten Sie nur die Kernpunkte bei, auf\n" - " die Sie sich beziehen! Viele Leute lesen Artikel, deren erste Seite nur\n" - " aus zitiertem Text besteht, überhaupt nicht. Formatieren Sie Ihren Artikel\n" - " so, dass er maximal 80 Zeichen lange Zeilen enthält, für Ihren eigenen\n" - " Text sind 72 Zeichen eine gute Wahl, so bleibt dieser auch zitiert unter\n" - " 80 Zeichen. Wenn Ihre Zeilen zu lang sind, werden Sie auf dem Bildschirm\n" - " kammartig umbrochen, und sind daher sehr mühsam zu lesen. Wenn Sie Ihren\n" - " Artikel nicht sorgfältig formatieren, ist es sehr wahrscheinlich, dass er\n" - " von vielen gar nicht gelesen wird.\n" +#: src/lang.c:1048 +msgid "Reading mailgroups file... " +msgstr "Lese Mailgruppen-Datei... " -#: src/lang.c:1038 -msgid "shell escape" -msgstr "Ausgang zur Shell" +#: src/lang.c:1052 +msgid "perform PGP operations on article" +msgstr "wendet PGP auf den Artikel an" + +#: src/lang.c:1053 +msgid "Add key(s) to public keyring?" +msgstr "Schlüssel dem Öffentlichen Schlüsselring hinzufügen?" -#: src/lang.c:1039 +#: src/lang.c:1054 #, c-format -msgid "Shell Command (%s)" -msgstr "Shellkommando (%s)" +msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " +msgstr "%s=verschlüsseln, %s=signieren, %s=beides, %s=Ende: " -#: src/lang.c:1040 +#: src/lang.c:1055 #, c-format -msgid "Enter shell command [%s]> " -msgstr "Geben Sie ein Shellkommando ein [%s]> " +msgid "%s=sign, %s=sign & include public key, %s=quit: " +msgstr "%s=signiere, %s=signiere & füge öffentl. Schlüssel hinzu, %s=Ende: " -#: src/lang.c:1044 +#: src/lang.c:1056 #, c-format -msgid "%s: Can't get entry for TERM\n" -msgstr "%s: Kann den Wert für TERM nicht finden\n" +msgid "PGP has not been set up (can't open %s)" +msgstr "PGP Wurde nicht konfiguriert (kann %s nicht öffnen)" -#: src/lang.c:1048 -#, c-format -msgid "Group %.*s ('q' to quit)..." -msgstr "Gruppe %.*s ('q' zum beenden)..." +#: src/lang.c:1057 +msgid "Article not signed and no public keys found" +msgstr "Artikel ist nicht signiert; keine öffentlichen Schlüssel gefunden" -#: src/lang.c:1050 +#: src/lang.c:1059 #, c-format -msgid "Group %.*s..." -msgstr "Gruppe %.*s..." - -#: src/lang.c:1054 -msgid "Server unavailable\n" -msgstr "Server nicht erreichbar\n" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=Menü, %s=posten, %" + "s=zurücklegen: " #: src/lang.c:1060 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" - "s=post" -msgstr "%s=Pipe; %s=Mail; %s=Drucken; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %" - "s=tag; %s=Posten" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " +msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=verschicken [%%s]: " #: src/lang.c:1061 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=Pipe; %s=Mail; %s=Drucken; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %" - "s=Posten" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=pgp, %s=Menü, %s=posten, %s=zurücklegen " + "[%%s]: " #: src/lang.c:1063 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=Mail; %s=Drucken; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %" - "s=Posten" +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=Ende, %s=bearbeiten, %s=pgp, %s=Menü, %s=posten, %s=zurücklegen: " #: src/lang.c:1064 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=Mail; %s=Drucken; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten" +msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " +msgstr "%s=Ende, %s=bearbeiten, %s=pgp, %s=verschicken [%%s]: " -#: src/lang.c:1068 +#: src/lang.c:1065 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=Pipe; %s=Mail; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %s=Posten" +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=Ende, %s=bearbeiten, %s=pgp, %s=Menü, %s=posten, %s=zurücklegen [%%s]: " #: src/lang.c:1069 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=Pipe; %s=Mail; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " +msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=Menü, %s=posten, %s=zurücklegen: " + +#: src/lang.c:1070 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " +msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=verschicken [%%s]: " #: src/lang.c:1071 #, c-format -msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=Mail; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %s=Posten" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=Ende, %s=bearbeiten, %s=ispell, %s=Menü, %s=post, %s=Zurückl. [%%s]: " -#: src/lang.c:1072 +#: src/lang.c:1073 #, c-format -msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=Mail; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " +msgstr "%s=Ende, %s=bearbeiten, %s=Menü, %s=posten, %s=zurücklegen: " -#: src/lang.c:1078 -msgid "Terminal does not support color" -msgstr "Terminal unterstützt keine Farben" +#: src/lang.c:1074 +#, c-format +msgid "%s=quit, %s=edit, %s=send [%%s]: " +msgstr "%s=Ende, %s=bearbeiten, %s=verschicken [%%s]: " -#: src/lang.c:1083 +#: src/lang.c:1075 #, c-format -msgid "Trying %s" -msgstr "Versuche %s" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=Ende, %s=bearbeiten, %s=Menü, %s=posten, %s=zurücklegen [%%s]: " -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 src/refs.c:296 -msgid "None" -msgstr "Nichts" +#: src/lang.c:1084 +msgid "Try cache_overview_files to speed up things.\n" +msgstr "Setze cache_overview_files um das lesen zu beschleunigen.\n" + +#: src/lang.c:1085 +msgid "Tin will use local index files instead.\n" +msgstr "Tin wird lokale index files benutzen.\n" + +#: src/lang.c:1086 +msgid "Cannot find NNTP server name" +msgstr "Kann den Namen des NNTP Servers nicht finden" + +#: src/lang.c:1087 +#, c-format +msgid "Connecting to %s:%u..." +msgstr "Verbinde mit %s:%u..." + +#: src/lang.c:1088 +msgid "Disconnecting from server...\n" +msgstr "Trenne Verbindung zum Server...\n" + +#: src/lang.c:1089 +#, c-format +msgid "Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" +msgstr "Falsche Newsgruppe (\"%s\") in Antwort auf \"GROUP%s\"-Befehl: \"%s\"" + +#: src/lang.c:1090 +#, c-format +msgid "Failed to connect to NNTP server %s. Exiting..." +msgstr "Konnte nicht zum NNTP Server %s verbinden. Beende..." + +#: src/lang.c:1091 +msgid "205 Closing connection" +msgstr "205 Schließe Verbindung" + +#: src/lang.c:1092 +msgid "Your server does not support the NNTP XOVER or OVER command.\n" +msgstr "Ihr Server unterstützt kein NNTP XOVER oder OVER Kommando.\n" + +#: src/lang.c:1093 +msgid "Connection to news server has timed out. Reconnect?" +msgstr "Die Verbindung zum Newsserver wurde unterbrochen. Wieder verbinden?" + +#: src/lang.c:1094 +#, c-format +msgid "Put the server name in the file %s,\n" + "or set the environment variable NNTPSERVER" +msgstr "Schreiben Sie den Servernamen in die Datei %s,\n" + "oder setzen Sie die Umgebungsvariable NNTPSERVER" + +#: src/lang.c:1095 +msgid " -A force authentication on connect" +msgstr " -A Erzwinge Anmeldung bei Verbindung" + +#: src/lang.c:1096 +#, c-format +msgid " -g serv read news from NNTP server serv [default=%s]" +msgstr " -g serv Lese Artikel vom NNTP-Server 'serv' [Standard=%s]" + +#: src/lang.c:1097 +#, c-format +msgid " -p port use port as NNTP port [default=%d]" +msgstr " -p port Benutze 'port' als NNTP-Port [Standard=%d]" #: src/lang.c:1098 -msgid "Subject" -msgstr "Subject" +msgid " -Q quick start. Same as -nqd" +msgstr " -Q Schnellstart. Das Selbe wie -nqd" #: src/lang.c:1099 -msgid "References" -msgstr "References" +msgid " -r read news remotely from default NNTP server" +msgstr " -r Lese Artikel vom Standard-NNTP-Server" #: src/lang.c:1100 -msgid "Both Subject and References" -msgstr "Beides: Subject und References" +msgid " -l use only LIST instead of GROUP (-n) command" +msgstr " -l Benutze nur das LIST anstelle vom GROUP-Kommando (-n)" #: src/lang.c:1101 -msgid "Multipart Subject" -msgstr "Mehrteilige Artikel (Subject)" +msgid " -n only read subscribed .newsrc groups from NNTP server" +msgstr " -n Lese nur Gruppen aus der .newsrc-Datei vom NNTP-Server" + +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" +msgstr " -4 IPv4 benutzen" + +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr " -6 IPv6 benutzen" + +#: src/lang.c:1105 +msgid "\n" + "socket or connect problem\n" +msgstr "\n" + "Socket oder Verbindungsproblem\n" + +#: src/lang.c:1107 +#, c-format +msgid "\n" + "Connection to %s: " +msgstr "\n" + "Verbindung mit %s: " + +#: src/lang.c:1108 +msgid "Giving up...\n" +msgstr "Gebe auf...\n" + +#: src/lang.c:1110 +#, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "%s/tcp: Unbekannter Service.\n" + +#: src/lang.c:1114 +msgid "Your server does not have Xref: in its XOVER information.\n" + "Tin will try to use XHDR XREF instead (slows down things a bit).\n" +msgstr "Ihr Server hat kein Xref: in seiner XOVER-Information.\n" + "Tin versucht XHDR XREF zu benutzen (verlangsamt den Prozess etwas).\n" -#: src/lang.c:1102 -msgid "Percentage Match" -msgstr "Prozentualer Treffer" - -#: src/lang.c:1114 src/lang.c:1225 -msgid "No" -msgstr "Nein" - -#: src/lang.c:1115 src/lang.c:1227 -msgid "Yes" -msgstr "Ja" - -#: src/lang.c:1116 -msgid "Hide All" -msgstr "Alle ausblenden" +#: src/lang.c:1117 +msgid "Your server does not have Xref: in its XOVER information.\n" +msgstr "Ihr Server hat kein Xref: in seiner XOVER-Information.\n" + +#: src/lang.c:1120 +#, c-format +msgid "Can't open %s. Try %s -r to read news via NNTP.\n" +msgstr "Kann %s nicht öffnen. Probieren Sie %s -r um via NNTP zu lesen.\n" + +#: src/lang.c:1123 +msgid " -Q quick start. Same as -qd" +msgstr " -Q Schnellstart. Das Selbe wie -qd" #: src/lang.c:1124 -msgid "Address" -msgstr "Adresse" +msgid " -l read only active file instead of scanning spool (-n) command" +msgstr " -l Nur active File lesen ohne den Spool zu durchsuchen (-n) Kommando" #: src/lang.c:1125 -msgid "Full Name" -msgstr "Voller Name" +msgid " -n only read subscribed .newsrc groups from spool" +msgstr " -n Lese nur Gruppen aus der .newsrc-Datei aus dem lokalen Spool" #: src/lang.c:1126 -msgid "Address and Name" -msgstr "Adresse und Name" +msgid "Your server does not have Xref: in its NOV-files.\n" +msgstr "Ihr Server hat kein Xref: in seinen NOV-Dateien.\n" -#: src/lang.c:1133 -msgid "Max" -msgstr "Höchster" - -#: src/lang.c:1134 -msgid "Sum" -msgstr "Summe" +#: src/lang.c:1130 +msgid "Posting using external inews failed. Use built in inews instead?" +msgstr "Fehler beim Posten mit externem inews, verwende eingebautes?" + +#: src/lang.c:1131 +msgid "It worked! Should I always use my built in inews from now on?" +msgstr "Das hat funktioniert. In Zukunft immer eingebautes inews verwenden?" #: src/lang.c:1135 -msgid "Average" -msgstr "Durchschnitt" +#, c-format +msgid "%d %s printed" +msgstr "%d %s gedruckt" -#: src/lang.c:1140 -msgid "Lines" -msgstr "Zeilen" - -#: src/lang.c:1141 -msgid "Score" -msgstr "Bewertung" +#: src/lang.c:1136 +msgid "output article/thread/hot/pattern/tagged articles to printer" +msgstr "druckt Artikel/Thread/hervorgehobene/Muster/markierten" + +#: src/lang.c:1137 +msgid "Print" +msgstr "Drucke" + +#: src/lang.c:1138 +msgid "Printing..." +msgstr "Drucke..." #: src/lang.c:1142 -msgid "Lines & Score" -msgstr "Zeilen und Bewertung" +msgid "pipe article/thread/hot/pattern/tagged articles into command" +msgstr "pipet Artikel/thread hervorgehoben/Muster/markierten Artikel" -#: src/lang.c:1151 -msgid "Black" -msgstr "Schwarz" +#: src/lang.c:1143 +msgid "No command" +msgstr "Kein Kommando" -#: src/lang.c:1152 -msgid "Red" -msgstr "Rot" +#: src/lang.c:1144 +msgid "Pipe" +msgstr "Pipe" -#: src/lang.c:1153 -msgid "Green" -msgstr "Grün" - -#: src/lang.c:1154 -msgid "Brown" -msgstr "Braun" - -#: src/lang.c:1155 -msgid "Blue" -msgstr "Blau" - -#: src/lang.c:1156 -msgid "Pink" -msgstr "Rosa" +#: src/lang.c:1145 +#, c-format +msgid "Pipe to command [%.*s]> " +msgstr "Pipen in Kommando [%.*s]> " -#: src/lang.c:1157 -msgid "Cyan" -msgstr "Cyan" +#: src/lang.c:1146 +msgid "Piping..." +msgstr "Pipen..." -#: src/lang.c:1158 -msgid "White" -msgstr "Weiß" - -#: src/lang.c:1159 -msgid "Gray" -msgstr "Grau" - -#: src/lang.c:1160 -msgid "Light Red" -msgstr "Helles Rot" - -#: src/lang.c:1161 -msgid "Light Green" -msgstr "Helles Grün" +#: src/lang.c:1148 +msgid "Piping not enabled." +msgstr "Pipen nicht aktiviert." -#: src/lang.c:1162 -msgid "Yellow" -msgstr "Gelb" +#: src/lang.c:1152 +#, c-format +msgid "\n" + "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" + " The only allowable space is the one separating the colon (:)\n" + " from the contents. Use a comma (,) to separate multiple\n" + " newsgroup names.\n" +msgstr "\n" + "Fehler: Die \"%s:\" Zeile hat Leerzeichen, die entfernt werden MÜSSEN.\n" + " Der einzig erlaubte Leerraum ist derjenige, der das ':'\n" + " vom Inhalt trennt. Benutzen Sie ein ',' um mehrere Newsgruppen\n" + " anzugeben\n" -#: src/lang.c:1163 -msgid "Light Blue" -msgstr "Helles Blau" - -#: src/lang.c:1164 -msgid "Light Pink" -msgstr "Helles Rosa" - -#: src/lang.c:1165 -msgid "Light Cyan" -msgstr "Helles Cyan" +#: src/lang.c:1157 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is continued in the next line. Since\n" + " the line may not contain whitespace, this is not allowed.\n" + " Please write all newsgroups into a single line.\n" +msgstr "\n" + "Fehler: Die \"%s:\" Zeile ist in der nächsten Zeile fortgesetzt.\n" + " Da diese Zeile keinen leeren Raum enthalten darf, ist dies nicht\n" + " erlaubt. Bitte schreiben Sie alle Newsgruppen in eine Zeile\n" -#: src/lang.c:1166 -msgid "Light White" -msgstr "Helles Weiß" +#: src/lang.c:1162 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line is continued in the next line.\n" + " This is a very new feature and may not be accepted by all servers.\n" + " To avoid trouble please write all newsgroups into a single line.\n" +msgstr "\n" + "Warnung: Die \"%s:\" Zeile ist in der nächsten Zeile fortgesetzt.\n" + " Da diese Zeile keinen leeren Raum enthalten darf, ist dies nicht\n" + " erlaubt. Bitte schreiben Sie alle Newsgruppen in eine Zeile.\n" -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 -msgid "Nothing" -msgstr "Nichts" - -#: src/lang.c:1175 -msgid "Mark" -msgstr "Markierung" - -#: src/lang.c:1176 -msgid "Space" -msgstr "Leerzeichen" - -#: src/lang.c:1183 -msgid "Normal" -msgstr "Normal" +#: src/lang.c:1166 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" +msgstr "\n" + "Warnung: Die \"%s:\" Zeile enthält Leerzeichen die entfernt\n" + " werden sollten.\n" + +#: src/lang.c:1171 +msgid "\n" + " If your article contains quoted text please take some time to pare it " + "down\n" + " to just the key points to which you are responding, or people will " + "think\n" + " you are a dweeb! Many people have the habit of skipping any article " + "whose\n" + " first page is largely quoted material. Format your article to fit in " + "less\n" + " then 80 chars, since that's the conventional size (72 is a good choice " + "as\n" + " it allows quoting without exceeding the limit). If your lines are too " + "long\n" + " they'll wrap around ugly and people won't read what you write. If " + "you\n" + " aren't careful and considerate in formatting your posting, people " + "are\n" + " likely to ignore it completely. It's a crowded net out there.\n" +msgstr "\n" + " Wenn Ihr Artikel zitierten Text enthält, nehmen Sie sich Zeit und kürzen\n" + " Sie die Zitate auf das Nötigste, behalten Sie nur die Kernpunkte bei, auf\n" + " die Sie sich beziehen! Viele Leute lesen Artikel, deren erste Seite nur\n" + " aus zitiertem Text besteht, überhaupt nicht. Formatieren Sie Ihren Artikel\n" + " so, dass er maximal 80 Zeichen lange Zeilen enthält, für Ihren eigenen\n" + " Text sind 72 Zeichen eine gute Wahl, so bleibt dieser auch zitiert unter\n" + " 80 Zeichen. Wenn Ihre Zeilen zu lang sind, werden Sie auf dem Bildschirm\n" + " kammartig umbrochen, und sind daher sehr mühsam zu lesen. Wenn Sie Ihren\n" + " Artikel nicht sorgfältig formatieren, ist es sehr wahrscheinlich, dass er\n" + " von vielen gar nicht gelesen wird.\n" #: src/lang.c:1184 -msgid "Best highlighting" -msgstr "Beste Hervorhebung" +msgid "shell escape" +msgstr "Ausgang zur Shell" #: src/lang.c:1185 -msgid "Underline" -msgstr "Unterstreichen" +#, c-format +msgid "Shell Command (%s)" +msgstr "Shellkommando (%s)" #: src/lang.c:1186 -msgid "Reverse video" -msgstr "Invers" +#, c-format +msgid "Enter shell command [%s]> " +msgstr "Geben Sie ein Shellkommando ein [%s]> " -#: src/lang.c:1187 -msgid "Blinking" -msgstr "Blinkend" - -#: src/lang.c:1188 -msgid "Half bright" -msgstr "Halbe Helligkeit" - -#: src/lang.c:1189 -msgid "Bold" -msgstr "Fett" +#: src/lang.c:1190 +#, c-format +msgid "%s: Can't get entry for TERM\n" +msgstr "%s: Kann den Wert für TERM nicht finden\n" #: src/lang.c:1194 -msgid "none" -msgstr "Nichts" - -#: src/lang.c:1195 -msgid "commands" -msgstr "Kommandos" +#, c-format +msgid "Group %.*s ('q' to quit)..." +msgstr "Gruppe %.*s ('q' zum beenden)..." #: src/lang.c:1196 -msgid "select" -msgstr "X-Befehl" - -#: src/lang.c:1198 -msgid "commands & quit" -msgstr "Kommandos & Ende" - -#: src/lang.c:1199 -msgid "commands & select" -msgstr "Kommandos & X-Befehl" +#, c-format +msgid "Group %.*s..." +msgstr "Gruppe %.*s..." #: src/lang.c:1200 -msgid "quit & select" -msgstr "Ende & X-Befehl" +msgid "Server unavailable\n" +msgstr "Server nicht erreichbar\n" -#: src/lang.c:1201 -msgid "commands & quit & select" -msgstr "Kmndos & Ende & X-Befehl" - -#: src/lang.c:1226 -msgid "Shell archive" -msgstr "Shellarchiv" - -#: src/lang.c:1232 -msgid "Subject: (descending)" -msgstr "Subject: (Absteigend)" - -#: src/lang.c:1233 -msgid "Subject: (ascending)" -msgstr "Subject: (Aufsteigend)" - -#: src/lang.c:1234 -msgid "From: (descending)" -msgstr "From: (Absteigend)" - -#: src/lang.c:1235 -msgid "From: (ascending)" -msgstr "From: (Aufsteigend)" - -#: src/lang.c:1236 -msgid "Date: (descending)" -msgstr "Date: (Absteigend)" - -#: src/lang.c:1237 -msgid "Date: (ascending)" -msgstr "Date: (Aufsteigend)" - -#: src/lang.c:1238 src/lang.c:1246 -msgid "Score (descending)" -msgstr "Bewertung (Absteigend)" - -#: src/lang.c:1239 src/lang.c:1247 -msgid "Score (ascending)" -msgstr "Bewertung (Aufsteigend)" - -#: src/lang.c:1240 -msgid "Lines: (descending)" -msgstr "Lines: (Absteigend)" - -#: src/lang.c:1241 -msgid "Lines: (ascending)" -msgstr "Lines: (Aufsteigend)" - -#: src/lang.c:1252 -msgid "Always Keep" -msgstr "Immer behalten" - -#: src/lang.c:1253 -msgid "Always Remove" -msgstr "Immer entfernen" - -#: src/lang.c:1254 -msgid "Mark with D on selection screen" -msgstr "Mit D in der Anzeige markiert" - -#: src/lang.c:1259 -msgid "Kill only unread arts" -msgstr "Killt nur ungelesene Artikel" - -#: src/lang.c:1260 -msgid "Kill all arts & show with K" -msgstr "Killt alle Artikel, markiert mit K" +#: src/lang.c:1206 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" + "s=post" +msgstr "%s=Pipe; %s=Mail; %s=Drucken; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %" + "s=tag; %s=Posten" -#. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 -msgid "Kill all arts and never show" -msgstr "Killt alle Artikel, zeigt sie nie" - -#: src/lang.c:1266 -msgid "Nothing special" -msgstr "Nichts besonderes" - -#: src/lang.c:1267 -msgid "Compress quotes" -msgstr "Zitatzeichen zusammenfassen" - -#: src/lang.c:1268 -msgid "Quote signatures" -msgstr "Signaturen zitieren" - -#: src/lang.c:1269 -msgid "Compress quotes, quote sigs" -msgstr "Zitatz. kürzen, Signat. zitieren" +#: src/lang.c:1207 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=Pipe; %s=Mail; %s=Drucken; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %" + "s=Posten" + +#: src/lang.c:1209 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=Mail; %s=Drucken; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %" + "s=Posten" + +#: src/lang.c:1210 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=Mail; %s=Drucken; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten" + +#: src/lang.c:1214 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=Pipe; %s=Mail; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %s=Posten" + +#: src/lang.c:1215 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=Pipe; %s=Mail; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten" + +#: src/lang.c:1217 +#, c-format +msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=Mail; %s=Ende; %s=Alle/Nur ungel.; %s=Speich.; %s=tag; %s=Posten" + +#: src/lang.c:1218 +#, c-format +msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=Mail; %s=Ende; %s=Antw. Mail; %s=Speich.; %s=tag; %s=Posten" + +#: src/lang.c:1224 +msgid "Terminal does not support color" +msgstr "Terminal unterstützt keine Farben" + +#: src/lang.c:1229 +#, c-format +msgid "Trying %s" +msgstr "Versuche %s" + +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 src/refs.c:288 +msgid "None" +msgstr "Nichts" + +#: src/lang.c:1244 +msgid "Subject" +msgstr "Subject" + +#: src/lang.c:1245 +msgid "References" +msgstr "References" + +#: src/lang.c:1246 +msgid "Both Subject and References" +msgstr "Beides: Subject und References" + +#: src/lang.c:1247 +msgid "Multipart Subject" +msgstr "Mehrteilige Artikel (Subject)" + +#: src/lang.c:1248 +msgid "Percentage Match" +msgstr "Prozentualer Treffer" + +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 +msgid "No" +msgstr "Nein" + +#: src/lang.c:1261 src/lang.c:1413 +msgid "Yes" +msgstr "Ja" + +#: src/lang.c:1262 +msgid "Hide All" +msgstr "Alle ausblenden" #: src/lang.c:1270 -msgid "Quote empty lines" -msgstr "Leerzeilen zitieren" +msgid "Address" +msgstr "Adresse" #: src/lang.c:1271 -msgid "Compress quotes, quote empty lines" -msgstr "Zitatz. kürzen, Leerzeilen zit." +msgid "Full Name" +msgstr "Voller Name" #: src/lang.c:1272 -msgid "Quote sigs & empty lines" -msgstr "Signat. und Leerzeilen zitieren" +msgid "Address and Name" +msgstr "Adresse und Name" -#: src/lang.c:1273 -msgid "Comp. q., quote sigs & empty lines" -msgstr "Zitatz. kürzen, Sign & Leerz. zit." +#: src/lang.c:1279 +msgid "Max" +msgstr "Höchster" + +#: src/lang.c:1280 +msgid "Sum" +msgstr "Summe" + +#: src/lang.c:1281 +msgid "Average" +msgstr "Durchschnitt" + +#: src/lang.c:1286 +msgid "Lines" +msgstr "Zeilen" + +#: src/lang.c:1287 +msgid "Score" +msgstr "Bewertung" + +#: src/lang.c:1288 +msgid "Lines & Score" +msgstr "Zeilen und Bewertung" + +#: src/lang.c:1297 +msgid "Black" +msgstr "Schwarz" + +#: src/lang.c:1298 +msgid "Red" +msgstr "Rot" + +#: src/lang.c:1299 +msgid "Green" +msgstr "Grün" + +#: src/lang.c:1300 +msgid "Brown" +msgstr "Braun" + +#: src/lang.c:1301 +msgid "Blue" +msgstr "Blau" + +#: src/lang.c:1302 +msgid "Pink" +msgstr "Rosa" + +#: src/lang.c:1303 +msgid "Cyan" +msgstr "Cyan" + +#: src/lang.c:1304 +msgid "White" +msgstr "Weiß" + +#: src/lang.c:1305 +msgid "Gray" +msgstr "Grau" + +#: src/lang.c:1306 +msgid "Light Red" +msgstr "Helles Rot" + +#: src/lang.c:1307 +msgid "Light Green" +msgstr "Helles Grün" + +#: src/lang.c:1308 +msgid "Yellow" +msgstr "Gelb" + +#: src/lang.c:1309 +msgid "Light Blue" +msgstr "Helles Blau" + +#: src/lang.c:1310 +msgid "Light Pink" +msgstr "Helles Rosa" #: src/lang.c:1311 -msgid "no" -msgstr "nein" +msgid "Light Cyan" +msgstr "Helles Cyan" #: src/lang.c:1312 -msgid "with headers" -msgstr "mit Header" +msgid "Light White" +msgstr "Helles Weiß" -#: src/lang.c:1313 -msgid "without headers" -msgstr "ohne Header" - -#: src/lang.c:1320 src/lang.c:1326 -msgid "NFKC" -msgstr "NFKC" - -#: src/lang.c:1321 -msgid "NFKD" -msgstr "NFKD" +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 +msgid "Nothing" +msgstr "Nichts" #: src/lang.c:1322 -msgid "NFC" -msgstr "NFC" +msgid "Space" +msgstr "Leerzeichen" -#: src/lang.c:1323 -msgid "NFD" -msgstr "NFD" +#: src/lang.c:1329 +msgid "Normal" +msgstr "Normal" + +#: src/lang.c:1330 +msgid "Best highlighting" +msgstr "Beste Hervorhebung" + +#: src/lang.c:1331 +msgid "Underline" +msgstr "Unterstreichen" + +#: src/lang.c:1332 +msgid "Reverse video" +msgstr "Invers" + +#: src/lang.c:1333 +msgid "Blinking" +msgstr "Blinkend" #: src/lang.c:1334 -msgid "Display Options" -msgstr "Darstellungseinstellungen" +msgid "Half bright" +msgstr "Halbe Helligkeit" + +#: src/lang.c:1335 +msgid "Bold" +msgstr "Fett" #: src/lang.c:1341 -msgid "Color Options" -msgstr "Farbeinstellungen" +msgid "Cc" +msgstr "Cc" -#: src/lang.c:1348 -msgid "Article-Limiting Options" -msgstr "Artikel-Begrenzungseinstellungen" +#: src/lang.c:1342 +msgid "Bcc" +msgstr "Bcc" + +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "Cc und Bcc" + +#: src/lang.c:1348 src/lang.c:1360 +msgid "none" +msgstr "Nichts" + +#: src/lang.c:1349 +msgid "commands" +msgstr "Kommandos" + +#: src/lang.c:1350 +msgid "select" +msgstr "X-Befehl" + +#: src/lang.c:1352 +msgid "commands & quit" +msgstr "Kommandos & Ende" + +#: src/lang.c:1353 +msgid "commands & select" +msgstr "Kommandos & X-Befehl" #: src/lang.c:1354 -msgid "Posting/Mailing Options" -msgstr "Versandeinstellungen für Mail und News" +msgid "quit & select" +msgstr "Ende & X-Befehl" -#: src/lang.c:1360 -msgid "Saving/Printing Options" -msgstr "Speicher- und Druckereinstellungen" - -#: src/lang.c:1366 -msgid "Expert Options" -msgstr "Experteneinstellungen" +#: src/lang.c:1355 +msgid "commands & quit & select" +msgstr "Kmndos & Ende & X-Befehl" + +#: src/lang.c:1361 +msgid "PageDown" +msgstr "" + +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "" + +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "" + +#: src/lang.c:1368 +msgid "Subject: (case sensitive)" +msgstr "Subject: Zeile (Groß-Kl. beachten) " + +#: src/lang.c:1369 +msgid "Subject: (ignore case)" +msgstr "Subject: Zeile (Groß-Kl. ignorieren) " + +#: src/lang.c:1370 +msgid "From: (case sensitive)" +msgstr "From: Zeile (Groß- Kleinschreibung beachten) " + +#: src/lang.c:1371 +msgid "From: (ignore case)" +msgstr "From: Zeile (ignoriere Groß- Kleinschreibung)" #: src/lang.c:1372 -msgid "Filtering Options" -msgstr "Filtereinstellungen" +msgid "Msg-ID: & full References: line" +msgstr "Message-ID: & References: " -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 src/lang.c:1490 -#: src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 src/lang.c:1601 src/lang.c:1771 -#: src/lang.c:1777 src/lang.c:1783 src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 -#: src/lang.c:1862 src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 src/lang.c:1926 -#: src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 src/lang.c:1954 src/lang.c:1961 -#: src/lang.c:1968 src/lang.c:1975 src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 -#: src/lang.c:2003 src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 src/lang.c:2076 -#: src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 src/lang.c:2117 src/lang.c:2151 -#: src/lang.c:2204 src/lang.c:2211 src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 -#: src/lang.c:2312 src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 -msgid " toggles, sets, cancels." -msgstr " schaltet um, setzt, bricht ab." - -#: src/lang.c:1378 -msgid "Show mini menu & posting etiquette" -msgstr "Zeigt Minimenü & Posting etiquette" - -#: src/lang.c:1379 -msgid "# If ON show a mini menu of useful commands at each level\n" - "# and posting etiquette after composing an article\n" -msgstr "# Falls ON wird ein kleines Menü mit nützlichen Kommandos in jedem Level\n" - "# angezeigt. Nach dem Erstellen eines Artikels wird die etiquette angezeigt\n" +#: src/lang.c:1373 +msgid "Msg-ID: & last References: only" +msgstr "Message-ID: & letzte Reference" + +#: src/lang.c:1374 +msgid "Message-ID: entry only" +msgstr "Message-ID: allein " + +#: src/lang.c:1375 +msgid "Lines:" +msgstr "Zeilen:" + +#: src/lang.c:1380 +msgid "Don't trim article body" +msgstr "Artikelrumpf nicht anpassen" + +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "Führende Leerzeilen überspringen" + +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "Abschliessende Leerzeilen überspr." + +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "Führ. & abschlies. Leerz. überspr." #: src/lang.c:1384 -msgid "Show short description for each newsgroup. toggles & sets." -msgstr "Zeige Kurzbeschreibung für Gruppe. wechselt & setzt." +msgid "Compact multiple between text" +msgstr "" #: src/lang.c:1385 -msgid "Show description of each newsgroup" -msgstr "Zeige Beschreibung der Newsgruppen" +msgid "Compact multiple and skip leading" +msgstr "" #: src/lang.c:1386 -msgid "# If ON show group description text after newsgroup name at\n" - "# group selection level\n" -msgstr "# Falls ON wird die Newsgruppenbeschreibung im Gruppenauswahlmenü\n" - "# nach dem Namen angezeigt\n" - -#: src/lang.c:1391 -msgid "Show Subject & From (author) fields in group menu. toggles & " - "sets." -msgstr "Zeigt Subject & From (Autor) Felder im Gruppenmenü. wechselt & " - "setzt." - -#: src/lang.c:1392 -msgid "In group menu, show author by" -msgstr "Im Gruppenmenü, zeige Autor an nach" - -#: src/lang.c:1393 -msgid "# Part of from field to display\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = none\n" - "# 1 = address\n" - "# * 2 = full name\n" - "# 3 = both\n" -msgstr "# Anzeige des 'From:' Felds\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# 0 = nichts\n" - "# 1 = Adresse\n" - "# * 2 = Voller Name\n" - "# 3 = beides (Adresse und Name)\n" - -#: src/lang.c:1402 -msgid "Draw -> or highlighted bar for selection. toggles & sets." -msgstr "Zeige -> oder Hervorhebung für Auswahl. wechselt & setzt." - -#: src/lang.c:1403 -msgid "Draw -> instead of highlighted bar" -msgstr "Zeige -> anstatt einer Markierung" - -#: src/lang.c:1404 -msgid "# If ON use -> otherwise highlighted bar for selection\n" -msgstr "# Falls ON benutze -> andernfalls benutze eine Markierung zur Auswahl\n" - -#: src/lang.c:1409 -msgid "Use inverse video for page headers" -msgstr "Inverse Darstellung für die Header" - -#: src/lang.c:1410 -msgid "# If ON use inverse video for page headers at different levels\n" -msgstr "# Falls ON nutze inverse Darstellung für Header bei verschiedenen Ebenen\n" - -#: src/lang.c:1415 -msgid "Thread articles by" -msgstr "Threade Artikel anhand" - -#: src/lang.c:1416 -msgid "# Thread articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = Both (Subject and References)\n" - "# 4 = Multipart Subject\n" - "# 5 = Percentage Match\n" -msgstr "# Gruppiere Artikel nach\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# 0 = nichts\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = beides (Subject und References)\n" - "# 4 = Mehrteilige Artikel\n" - "# 5 = prozentualer Subject vergleich\n" +msgid "Compact multiple and skip trailing" +msgstr "" + +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "" + +#: src/lang.c:1412 +msgid "Shell archive" +msgstr "Shellarchiv" + +#: src/lang.c:1418 +msgid "Subject: (descending)" +msgstr "Subject: (Absteigend)" + +#: src/lang.c:1419 +msgid "Subject: (ascending)" +msgstr "Subject: (Aufsteigend)" + +#: src/lang.c:1420 +msgid "From: (descending)" +msgstr "From: (Absteigend)" + +#: src/lang.c:1421 +msgid "From: (ascending)" +msgstr "From: (Aufsteigend)" + +#: src/lang.c:1422 +msgid "Date: (descending)" +msgstr "Date: (Absteigend)" + +#: src/lang.c:1423 +msgid "Date: (ascending)" +msgstr "Date: (Aufsteigend)" + +#: src/lang.c:1424 src/lang.c:1432 +msgid "Score (descending)" +msgstr "Bewertung (Absteigend)" + +#: src/lang.c:1425 src/lang.c:1433 +msgid "Score (ascending)" +msgstr "Bewertung (Aufsteigend)" + +#: src/lang.c:1426 +msgid "Lines: (descending)" +msgstr "Lines: (Absteigend)" #: src/lang.c:1427 -msgid "Enter percentage match required to thread together. sets." -msgstr "Prozent des Subject das gleich sein muß. setzt." +msgid "Lines: (ascending)" +msgstr "Lines: (Aufsteigend)" -#: src/lang.c:1428 -msgid "Thread percentage match" -msgstr "Prozentualer Subject vergleich" - -# TRANSLATION MISSING -#: src/lang.c:1429 -#, c-format -msgid "# Thread percentage match...\n" - "# the percentage of characters in the subject of an article that must match\n" - "# a base article for both those articles to be considered to belong to the\n" - "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" - "# follow. If 80 is used here, then 80%% of the characters must match " - "exactly,\n" - "# no insertion of a character, for the two articles to be put in the same\n" - "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" - "# 'harppy' would be threaded separately from 'happy'\n" -msgstr "" +#: src/lang.c:1434 +msgid "Last posting date (descending)" +msgstr "Datum des letzten Artikels (Absteigend)" + +#: src/lang.c:1435 +msgid "Last posting date (ascending)" +msgstr "Datum des letzten Artikels (Aufsteigend)" + +#: src/lang.c:1440 +msgid "Always Keep" +msgstr "Immer behalten" #: src/lang.c:1441 -msgid "Score of a thread" -msgstr "Bewertung eines Threads" +msgid "Always Remove" +msgstr "Immer entfernen" #: src/lang.c:1442 -msgid "# Thread score\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = max\n" - "# 1 = sum\n" - "# 2 = average\n" -msgstr "# Bewertung des Threads\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# * 0 = Höchster\n" - "# 1 = Summe\n" - "# 2 = Durchschnitt\n" - -#: src/lang.c:1450 -msgid "Sort articles by Subject, From, Date or Score. toggles & sets." -msgstr "Sortiere Artikel nach Subject, From, Datum oder Bewertung." - -#: src/lang.c:1451 -msgid "Sort articles by" -msgstr "Sortiere Artikel nach" - -#: src/lang.c:1452 -msgid "# Sort articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject descending\n" - "# 2 = Subject ascending\n" - "# 3 = From descending\n" - "# 4 = From ascending\n" - "# 5 = Date descending\n" - "# * 6 = Date ascending\n" - "# 7 = Score descending\n" - "# 8 = Score ascending\n" - "# 9 = Lines descending\n" - "# 10 = Lines ascending\n" -msgstr "# Sortiere Artikel nach\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# 0 = nichts\n" - "# 1 = Subject absteigend\n" - "# 2 = Subject aufsteigend\n" - "# 3 = From absteigend\n" - "# 4 = From aufsteigend\n" - "# 5 = Datum absteigend\n" - "# * 6 = Datum aufsteigend\n" - "# 7 = Bewertung absteigend\n" - "# 8 = Bewertung aufsteigend\n" - "# 9 = Lines absteigend\n" - "# 10 = Lines aufsteigend\n" - -#: src/lang.c:1468 -msgid "Sort threads by Nothing or Score. toggles & sets." -msgstr "Threads nach Bewertung (Score) ordnen? wechselt & setzt." - -#: src/lang.c:1469 -msgid "Sort threads by" -msgstr "Sortiere Threads nach" - -#: src/lang.c:1470 -msgid "# Sort thread by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = Score descending\n" - "# 2 = Score ascending\n" -msgstr "# Ordne Threads nach\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# 0 = nichts \n" - "# * 1 = Bewertung absteigend\n" - "# 2 = Bewertung aufsteigend\n" - -#: src/lang.c:1478 -msgid "Put cursor at first/last unread art in groups. toggles & sets." -msgstr "Setze Cursor an ersten/letzten ungel. Artikel. wechselt & setzt." - -#: src/lang.c:1479 -msgid "Goto first unread article in group" -msgstr "Setze Cursor auf ersten ungel. Art." - -#: src/lang.c:1480 -msgid "# If ON put cursor at first unread art in group otherwise last art\n" -msgstr "# Falls ON setze Cursor auf ersten ungelesenen Artikel, sonst auf letzten\n" - -#: src/lang.c:1484 -msgid "Show all articles or only unread articles. toggles & sets." -msgstr "Zeige alle oder nur ungelesene Artikel. wechselt & setzt." - -#: src/lang.c:1485 -msgid "Show only unread articles" -msgstr "Zeige nur ungelesene Artikel" - -#: src/lang.c:1486 -msgid "# If ON show only new/unread articles otherwise show all.\n" -msgstr "# Falls ON zeige nur neue/ungelesene Artikel, sonst alle.\n" - -#: src/lang.c:1491 -msgid "Show only groups with unread arts" -msgstr "Zeige nur Gruppen mit ungel. Art." - -#: src/lang.c:1492 -msgid "# If ON show only subscribed to groups that contain unread articles.\n" -msgstr "# Falls ON zeige nur abonnierte Gruppen mit ungelesen Artikeln.\n" - -#: src/lang.c:1497 -msgid "Filter which articles" -msgstr "Filter (kill) anwenden auf" - -#: src/lang.c:1498 -msgid "# Filter which articles\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = only kill unread articles\n" - "# 1 = kill all articles and show in threads marked with K\n" - "# 2 = kill all articles and never show them\n" -msgstr "# Filter (kill) anwenden auf\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# * 0 = Filtert nur ungelesene Artikel\n" - "# 1 = Filtert alle Artikel und markiert sie mit K\n" - "# 2 = Filtert alle Artikel und zeigt gekillte niemals an\n" - -#: src/lang.c:1507 -msgid "Tab goes to next unread article" -msgstr "Tab zeigt nächsten ungelesenen Art." - -#: src/lang.c:1508 -msgid "# If ON the TAB command will go to next unread article at article viewer " - "level\n" -msgstr "# Falls ON wechselt TAB sofort zum nächsten ungelesenen Artikel\n" - -#: src/lang.c:1512 -msgid "Scrolling with past the end of an art. jumps to the next unread one." -msgstr "Weiterscrollen mit Leertaste am Artikelende wechselt zum nächsten ungel. " - "Artikel." - -#: src/lang.c:1513 -msgid "Space goes to next unread article" -msgstr "Leertaste zeigt nächsten unge. Art." - -#: src/lang.c:1514 -msgid "# If ON the SPACE command will go to next unread article at article viewer\n" - "# level when the end of the article is reached (rn-style pager)\n" -msgstr "# Falls ON wechselt die Leertaste zum nächsten ungelesenen Artikel, wenn\n" - "# das Ende des Artikels erreicht wird (rn-Stil)\n" - -#: src/lang.c:1519 -msgid "Scrolling with / past the end of an art. jumps to the unread one." -msgstr "Weiterscrollen mit BildAb am Artikelende wechselt zum nächsten ungel. Artikel." - -#: src/lang.c:1520 -msgid "PgDn goes to next unread article" -msgstr "PgDn zeigt nächst. ungelesenen Art." - -#: src/lang.c:1521 -msgid "# If ON the PGDN or DOWN command will go to next unread article when\n" - "# pressed at end of message\n" -msgstr "# Falls ON wechselt Bildrunter oder Cursorrunter zum nächsten ungelesenen\n" - "# Artikel, wenn das Artikelende erreicht wurde\n" - -#: src/lang.c:1527 -msgid "List thread using right arrow key" -msgstr "Zeige Thread mit rechter Pfeilt. an" - -#: src/lang.c:1528 -msgid "# If ON automatically list thread when entering it using right arrow key.\n" -msgstr "# Falls ON: Thread beim Betreten mit der rechten Cursortaste automatisch\n" - "# anzeigen?\n" - -#: src/lang.c:1532 -msgid "Enter character to indicate deleted articles. sets, cancels." -msgstr "Definiere Zeichen für gelöschte Artikel. setzt, bricht ab." - -#: src/lang.c:1533 -msgid "Character to show deleted articles" -msgstr "Zeichen für gelöschte Artikel" - -#: src/lang.c:1534 -msgid "# Character used to show that an art was deleted (default 'D')\n" - "# _ is turned into ' '\n" -msgstr "# Zeichen für einen Artikel, der gelöscht wurde (Voreinstellung 'D')\n" - "# _ wird in ' ' umgewandelt\n" - -#: src/lang.c:1539 -msgid "Enter character to indicate articles in a range. sets, cancels." -msgstr "Definiere Zeichen, das Artikel im Bereich anzeigt. setzt, bricht ab." - -#: src/lang.c:1540 -msgid "Character to show inrange articles" -msgstr "Zeichen für Artikel im Bereich" - -#: src/lang.c:1541 -msgid "# Character used to show that an art is in a range (default '#')\n" - "# _ is turned into ' '\n" -msgstr "# Zeichen für Artikel die im Bereich sind (Voreinstellung '#')\n" - "# _ wird in ' ' umgewandelt\n" - -#: src/lang.c:1546 -msgid "Enter character to indicate that article will return. sets, " - "cancels." -msgstr "Definiere Zeichen für wiederkehrende Art. setzt. bricht ab." - -#: src/lang.c:1547 -msgid "Character to show returning arts" -msgstr "Zeichen für wiederkehrende Artikel" +msgid "Mark with D on selection screen" +msgstr "Mit D in der Anzeige markiert" + +#: src/lang.c:1447 +msgid "Kill only unread arts" +msgstr "Killt nur ungelesene Artikel" + +#: src/lang.c:1448 +msgid "Kill all arts & show with K" +msgstr "Killt alle Artikel, markiert mit K" + +#. TODO: s/K/art_marked_killed/ +#: src/lang.c:1449 +msgid "Kill all arts and never show" +msgstr "Killt alle Artikel, zeigt sie nie" + +#: src/lang.c:1454 +msgid "Nothing special" +msgstr "Nichts besonderes" + +#: src/lang.c:1455 +msgid "Compress quotes" +msgstr "Zitatzeichen zusammenfassen" + +#: src/lang.c:1456 +msgid "Quote signatures" +msgstr "Signaturen zitieren" + +#: src/lang.c:1457 +msgid "Compress quotes, quote sigs" +msgstr "Zitatz. kürzen, Signat. zitieren" + +#: src/lang.c:1458 +msgid "Quote empty lines" +msgstr "Leerzeilen zitieren" + +#: src/lang.c:1459 +msgid "Compress quotes, quote empty lines" +msgstr "Zitatz. kürzen, Leerzeilen zit." + +#: src/lang.c:1460 +msgid "Quote sigs & empty lines" +msgstr "Signat. und Leerzeilen zitieren" + +#: src/lang.c:1461 +msgid "Comp. q., quote sigs & empty lines" +msgstr "Zitatz. kürzen, Sign & Leerz. zit." + +#: src/lang.c:1499 +msgid "no" +msgstr "nein" + +#: src/lang.c:1500 +msgid "with headers" +msgstr "mit Header" + +#: src/lang.c:1501 +msgid "without headers" +msgstr "ohne Header" + +#: src/lang.c:1508 src/lang.c:1514 +msgid "NFKC" +msgstr "NFKC" + +#: src/lang.c:1509 +msgid "NFKD" +msgstr "NFKD" + +#: src/lang.c:1510 +msgid "NFC" +msgstr "NFC" + +#: src/lang.c:1511 +msgid "NFD" +msgstr "NFD" + +#: src/lang.c:1522 +msgid "Display Options" +msgstr "Darstellungseinstellungen" + +#: src/lang.c:1529 +msgid "Color Options" +msgstr "Farbeinstellungen" + +#: src/lang.c:1536 +msgid "Article-Limiting Options" +msgstr "Artikel-Begrenzungseinstellungen" + +#: src/lang.c:1542 +msgid "Posting/Mailing Options" +msgstr "Versandeinstellungen für Mail und News" #: src/lang.c:1548 -msgid "# Character used to show that an art will return (default '-')\n" - "# _ is turned into ' '\n" -msgstr "# Zeichen, dass ein Artikel wiederkommen wird (Voreinstellung '-')\n" - "# _ wird in ' ' umgewandelt\n" - -#: src/lang.c:1553 -msgid "Enter character to indicate selected articles. sets, cancels." -msgstr "Zeichen für Artikel mit Markierung wichtig/'hot' setzt, bricht ab." +msgid "Saving/Printing Options" +msgstr "Speicher- und Druckereinstellungen" #: src/lang.c:1554 -msgid "Character to show selected articles" -msgstr "Zeichen für wichtige Artikel" - -#: src/lang.c:1555 -msgid "# Character used to show that an art was auto-selected (default '*')\n" - "# _ is turned into ' '\n" -msgstr "# Zeichen für Artikel mit Markierung wichtig/'hot' (Voreinstellung '*')\n" - "# _ wird in ' ' umgewandelt\n" +msgid "Expert Options" +msgstr "Experteneinstellungen" #: src/lang.c:1560 -msgid "Enter character to indicate recent articles. sets, cancels." -msgstr "Definiere Zeichen für aktuelle Artikel. setzt, bricht ab." +msgid "Filtering Options" +msgstr "Filtereinstellungen" -#: src/lang.c:1561 -msgid "Character to show recent articles" -msgstr "Zeichen für aktuelle Artikel" - -#: src/lang.c:1562 -msgid "# Character used to show that an art is recent (default 'o')\n" - "# _ is turned into ' '\n" -msgstr "# Zeichen für einen aktuellen Artikel (Voreinstellung ist 'o')\n" - "# _ wird in ' ' umgewandelt\n" +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 src/lang.c:1680 +#: src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 src/lang.c:1725 src/lang.c:1800 +#: src/lang.c:1808 src/lang.c:1998 src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 +#: src/lang.c:2028 src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 src/lang.c:2139 +#: src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 src/lang.c:2167 src/lang.c:2174 +#: src/lang.c:2181 src/lang.c:2188 src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 +#: src/lang.c:2216 src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 src/lang.c:2289 +#: src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 src/lang.c:2316 src/lang.c:2322 +#: src/lang.c:2339 src/lang.c:2351 src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 +#: src/lang.c:2458 src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 src/lang.c:2660 +#: src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 src/lang.c:2734 src/lang.c:2745 +#: src/lang.c:2751 src/lang.c:2789 +msgid " toggles, sets, cancels." +msgstr " schaltet um, setzt, bricht ab." + +#: src/lang.c:1566 +msgid "Show mini menu & posting etiquette" +msgstr "Zeigt Minimenü & Posting etiquette" #: src/lang.c:1567 -msgid "Enter character to indicate unread articles. sets, cancels." -msgstr "Zeichen für ungelesene Artikel. setzt, bricht ab." - -#: src/lang.c:1568 -msgid "Character to show unread articles" -msgstr "Zeichen für ungelesene Artikel" - -#: src/lang.c:1569 -msgid "# Character used to show that an art is unread (default '+')\n" - "# _ is turned into ' '\n" -msgstr "# Zeichen für ungelesene Artikel (Voreinstellung '+')\n" - "# _ wird in ' ' umgewandelt\n" +msgid "# If ON show a mini menu of useful commands at each level\n" + "# and posting etiquette after composing an article\n" +msgstr "# Falls ON wird ein kleines Menü mit nützlichen Kommandos in jedem Level\n" + "# angezeigt. Nach dem Erstellen eines Artikels wird die etiquette angezeigt\n" + +#: src/lang.c:1572 +msgid "Show short description for each newsgroup. toggles & sets." +msgstr "Zeige Kurzbeschreibung für Gruppe. wechselt & setzt." + +#: src/lang.c:1573 +msgid "Show description of each newsgroup" +msgstr "Zeige Beschreibung der Newsgruppen" #: src/lang.c:1574 -msgid "Enter character to indicate read articles. sets, cancels." -msgstr "Zeichen für gelesene Artikel. setzt, bricht ab." - -#: src/lang.c:1575 -msgid "Character to show read articles" -msgstr "Zeichen für gelesene Artikel" - -#: src/lang.c:1576 -msgid "# Character used to show that an art was read (default ' ')\n" - "# _ is turned into ' '\n" -msgstr "# Zeichen für gelesene Artikel (Voreinstellung ' ')\n" - "# _ wird in ' ' umgewandelt\n" +msgid "# If ON show group description text after newsgroup name at\n" + "# group selection level\n" +msgstr "# Falls ON wird die Newsgruppenbeschreibung im Gruppenauswahlmenü\n" + "# nach dem Gruppennamen angezeigt\n" + +#: src/lang.c:1579 +msgid "Show Subject & From (author) fields in group menu. toggles & " + "sets." +msgstr "Zeigt Subject & From (Autor) Felder im Gruppenmenü. wechselt & " + "setzt." + +#: src/lang.c:1580 +msgid "In group menu, show author by" +msgstr "Im Gruppenmenü, zeige Autor an nach" #: src/lang.c:1581 -msgid "Enter character to indicate killed articles. sets, cancels." -msgstr "Zeichen für gekillte Artikel. setzt, bricht ab." - -#: src/lang.c:1582 -msgid "Character to show killed articles" -msgstr "Zeichen für gekillte Artikel" - -#: src/lang.c:1583 -msgid "# Character used to show that an art was killed (default 'K')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "# Zeichen für gekillte Artikel (Voreinstellung 'K')\n" - "# _ wird in ' ' umgewandelt, kill_level muss passend gesetzt sein.\n" - -#: src/lang.c:1588 -msgid "Enter character to indicate read selected articles. sets, cancels." -msgstr "Zeichen für gelesene wichtige/'hot' Artikel. setzt, bricht ab." - -#: src/lang.c:1589 -msgid "Character to show readselected arts" -msgstr "Zeichen für gelesene wichtige Art." +msgid "# Part of from field to display\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = none\n" + "# 1 = address\n" + "# * 2 = full name\n" + "# 3 = both\n" +msgstr "# Anzeige des 'From:' Felds\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = nichts\n" + "# 1 = Adresse\n" + "# * 2 = Voller Name\n" + "# 3 = beides (Adresse und Name)\n" #: src/lang.c:1590 -msgid "# Character used to show that an art was selected before read (default ':')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "# Zeichen für bereits gelesene Artikel mit Markierung wichtig/'hot'\n" - "# (Voreinstellung ':')\n" - "# _ wird in ' ' umgewandelt, kill_level muss passend gesetzt sein.\n" - -#: src/lang.c:1595 -msgid "Enter maximum length of newsgroup names displayed. sets." -msgstr "Maximale Länge des angezeigten Newsgruppennamens. setzt." - -#: src/lang.c:1596 -msgid "Max. length of group names shown" -msgstr "Max. Länge angezeigter Gruppennamen" +msgid "Draw -> or highlighted bar for selection. toggles & sets." +msgstr "Zeige -> oder Hervorhebung für Auswahl. wechselt & setzt." + +#: src/lang.c:1591 +msgid "Draw -> instead of highlighted bar" +msgstr "Zeige -> anstatt einer Markierung" + +#: src/lang.c:1592 +msgid "# If ON use -> otherwise highlighted bar for selection\n" +msgstr "# Falls ON benutze -> andernfalls benutze eine Markierung zur Auswahl\n" #: src/lang.c:1597 -msgid "# Maximum length of the names of newsgroups displayed\n" -msgstr "# Maximale Länge der angezeigten Newsgruppennamen\n" +msgid "Use inverse video for page headers" +msgstr "Inverse Darstellung für die Header" -#: src/lang.c:1602 -msgid "Show lines/score in listings" -msgstr "Zeige Zeilenz./Bewert. in Übersicht" +#: src/lang.c:1598 +msgid "# If ON use inverse video for page headers at different levels\n" +msgstr "# Falls ON nutze inverse Darstellung für Header bei verschiedenen Ebenen\n" #: src/lang.c:1603 -msgid "# What informations should be displayed in article/thread listing\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = lines\n" - "# 2 = score\n" - "# 3 = lines & score\n" -msgstr "# Welche weiteren Informationen sollen in der Artikel/Thread Übersicht\n" - "# angezeigt werden.\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# 0 = keine\n" - "# 1 = Zeilenzahl\n" - "# 2 = Bewertung\n" - "# 3 = Zeilenzahl & Bewertung\n" - -#: src/lang.c:1612 -msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" - "2 = half page" -msgstr "0 = seitenweise, -1 = zeige zusätzlich letzte Zeile der vorigen Seite, -2 = " - "halbe Seite" - -#: src/lang.c:1613 -msgid "Number of lines to scroll in pager" -msgstr "Blättere Artikel um ... Zeilen" - -#: src/lang.c:1614 -msgid "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behavior)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" -msgstr "# Anzahl der Zeilen, die Cursor-Auf/Ab bei der Artikelanzeige\n" - "# weiterblättert.\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# -2 = um eine halbe Seite\n" - "# -1 = seitenweise, zeigt zusätzlich letzte Zeile der vorigen Seite\n" - "# 0 = seitenweise\n" - "# * 1 = zeilenweise\n" - "# 2 oder mehr = um 2 oder mehr Zeilen\n" - -#: src/lang.c:1624 -msgid "Display signatures. toggles & sets." -msgstr "Zeige Signaturen an. wechselt & setzt." - -#: src/lang.c:1625 -msgid "Display signatures" -msgstr "Zeige Signaturen an" - -#: src/lang.c:1626 -msgid "# If OFF don't show signatures when displaying articles\n" -msgstr "# Falls OFF zeige keine Signaturen an\n" +msgid "Thread articles by" +msgstr "Threade Artikel anhand" -#: src/lang.c:1630 -msgid "Display uuencoded data as tagged attachments. toggles & sets." -msgstr "Uu-kodierte Teile als Attachment anzeigen. wechselt & setzt." +#: src/lang.c:1604 +msgid "# Thread articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = Both (Subject and References)\n" + "# 4 = Multipart Subject\n" + "# 5 = Percentage Match\n" +msgstr "# Gruppiere Artikel nach\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = nichts\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = beides (Subject und References)\n" + "# 4 = Mehrteilige Artikel\n" + "# 5 = prozentualer Subject Vergleich\n" + +#: src/lang.c:1615 +msgid "Enter percentage match required to thread together. sets." +msgstr "Prozent des Subject das gleich sein muss. setzt." + +#: src/lang.c:1616 +msgid "Thread percentage match" +msgstr "Prozentualer Subject Vergleich" + +#: src/lang.c:1617 +#, c-format +msgid "# Thread percentage match...\n" + "# the percentage of characters in the subject of an article that must match\n" + "# a base article for both those articles to be considered to belong to the\n" + "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" + "# follow. If 80 is used here, then 80%% of the characters must match " + "exactly,\n" + "# no insertion of a character, for the two articles to be put in the same\n" + "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" + "# 'harppy' would be threaded separately from 'happy'\n" +msgstr "# Prozentsatzthreading...\n" + "# Anteil der Zeichen im Subject eines Artikels die gleich sein müssen um zum\n" + "# selben Thread zu gehören. Diese Option erwartet eine positive ganze Zahl.\n" + "# Falls z.B. 80 verwendet wird, dann müssen mind. 80%% der Zeichen im " + "Subject\n" + "# am Stück mit dem Subject des obersten Artikels im Thread übereinstimmen um\n" + "# in den gleichen Thread sortiert zu werden.\n" + +#: src/lang.c:1629 +msgid "Score of a thread" +msgstr "Bewertung eines Threads" -#: src/lang.c:1631 -msgid "Display uue data as an attachment" -msgstr "Zeige uue-Teile als Attachment" - -#: src/lang.c:1632 -msgid "# Handling of uuencoded data in the pager\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no, display raw uuencoded data\n" - "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" - "# size and filename, similar to how MIME attachments are displayed\n" - "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" - "# be folded into a tag line.\n" -msgstr "# Behandlung von uuencodeten Daten bei der Artikelanzeige.\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# * 0 = Anzeige der Rohdaten\n" - "# 1 = Einzeilige Zusammenfassung für vollständige Daten\n" - "# ähnlich der von MIME Anhängen\n" - "# 2 = Einzeilige Zusammenfassung auch für unvollständige Daten\n" - -#: src/lang.c:1642 -msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." -msgstr "TeX german.sty Umlautkodierung auswerten. wechselt & setzt." - -#: src/lang.c:1643 -msgid "Display \"a as Umlaut-a" -msgstr "Wandle TeX-Umlaute automatisch um" - -#: src/lang.c:1644 -msgid "# If ON decode German style TeX umlaut codes to ISO and\n" - "# show \"a as Umlaut-a, etc.\n" -msgstr "# Wenn ON dekodiere laut german.sty (TeX) kodierte Umlaute und stelle\n" - "# \"a als ä, usw. dar\n" - -#: src/lang.c:1649 src/lang.c:1659 -msgid "Space separated list of header fields" -msgstr "Durch Leerzeichen getrennte Liste der Header-Felder" - -#: src/lang.c:1650 -msgid "Display these header fields (or *)" -msgstr "Zeige diese Header-Felder (oder *)" - -#: src/lang.c:1651 -msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" - "# place an '*' as this value. This is the only way a wildcard can be used.\n" - "# If you enter 'X-' as the value, you will see all headers beginning with\n" - "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " - "with\n" - "# spaces. Not defining anything turns off this option.\n" -msgstr "# Welche Header wollen Sie sehen. Wenn Sie _alle_ sehen wollen, setzen\n" - "# Sie ein '*' als Wert ein. Dies ist die einzige Möglichkeit, um eine\n" - "# Wildcard zu nutzen. Wenn Sie als Wert 'X-' angeben, sehen Sie alle Header\n" - "# die mit 'X-' beginnen (wie X-Alan oder X-Pape). Sie können mehrere durch\n" - "# Leerzeichen getrennte Werte angeben. Wenn Sie hier nichts definieren\n" - "# wird diese Option deaktiviert.\n" - -#: src/lang.c:1660 -msgid "Do not display these header fields" -msgstr "Zeige folgende Header nicht an" - -#: src/lang.c:1661 -msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" - "# An example of using both options might be if you thought X- headers were\n" - "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " - "you\n" - "# would do something like this:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Not defining anything turns off this option.\n" -msgstr "# Genau das gleiche wie 'news_headers_to_display', mit der Ausnahme,\n" - "# das es das Gegenteil bewirkt. Wenn Sie dachten, das die X- Header eine\n" - "# tolle Sachen waren, nun aber festgestellt haben, das dort einiges\n" - "# überflüssiges steht, dann könnten Sie wie folgt vorgehen:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Wenn Sie hier nichts angeben, wird diese Option deaktiviert.\n" - -#: src/lang.c:1671 -msgid "Do you want to enable automatic handling of multipart/alternative articles?" -msgstr "Automatische Bearbeitung von Art. mit multipart/alternative-Teilen aktivieren?" - -#: src/lang.c:1672 -msgid "Skip multipart/alternative parts" -msgstr "Übersp. multipart/alternative-Teile" - -#: src/lang.c:1673 -msgid "# If ON strip multipart/alternative messages automatically\n" -msgstr "# Falls ON entsorge multipart/alternative Teile des Artikels automatisch\n" - -#: src/lang.c:1678 -msgid "A regex used to decide which lines to show in col_quote." -msgstr "Regulärer Ausdruck für Zeilen, die mit col_quote dargestellt werden." - -#: src/lang.c:1679 -msgid "Regex used to show quoted lines" -msgstr "Regulärer Ausd. für zit. Zeilen" - -#: src/lang.c:1680 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Ein regulärer Ausdruck, den tin benutzt um zu entscheiden, welche Zeilen\n" - "# zitiert sind, wenn man den Artikel liest. Zitierte Zeilen, werden in der\n" - "# Farbe angezeigt, die in col_quote definiert sind.\n" - "# Wenn Sie hier nichts angeben, werden die Voreinstellungen benutzt.\n" - -#: src/lang.c:1686 -msgid "A regex used to decide which lines to show in col_quote2." -msgstr "Regulärer Ausdruck für Zeilen, die mit col_quote2 dargestellt werden." +#: src/lang.c:1630 +msgid "# Thread score\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = max\n" + "# 1 = sum\n" + "# 2 = average\n" +msgstr "# Bewertung des Threads\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# * 0 = Höchster\n" + "# 1 = Summe\n" + "# 2 = Durchschnitt\n" + +#: src/lang.c:1638 +msgid "Sort articles by Subject, From, Date or Score. toggles & sets." +msgstr "Sortiere Artikel nach Subject, From, Datum oder Bewertung." + +#: src/lang.c:1639 +msgid "Sort articles by" +msgstr "Sortiere Artikel nach" + +#: src/lang.c:1640 +msgid "# Sort articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject descending\n" + "# 2 = Subject ascending\n" + "# 3 = From descending\n" + "# 4 = From ascending\n" + "# 5 = Date descending\n" + "# * 6 = Date ascending\n" + "# 7 = Score descending\n" + "# 8 = Score ascending\n" + "# 9 = Lines descending\n" + "# 10 = Lines ascending\n" +msgstr "# Sortiere Artikel nach\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = nichts\n" + "# 1 = Subject absteigend\n" + "# 2 = Subject aufsteigend\n" + "# 3 = From absteigend\n" + "# 4 = From aufsteigend\n" + "# 5 = Datum absteigend\n" + "# * 6 = Datum aufsteigend\n" + "# 7 = Bewertung absteigend\n" + "# 8 = Bewertung aufsteigend\n" + "# 9 = Lines absteigend\n" + "# 10 = Lines aufsteigend\n" + +#: src/lang.c:1656 +msgid "Sort threads by Nothing or Score. toggles & sets." +msgstr "Threads nach Bewertung (Score) ordnen? wechselt & setzt." + +#: src/lang.c:1657 +msgid "Sort threads by" +msgstr "Sortiere Threads nach" + +#: src/lang.c:1658 +msgid "# Sort thread by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = Score descending\n" + "# 2 = Score ascending\n" + "# 3 = Last posting date descending\n" + "# 4 = Last posting date ascending\n" +msgstr "# Ordne Threads nach\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = nichts \n" + "# * 1 = Bewertung absteigend\n" + "# 2 = Bewertung aufsteigend\n" + "# 3 = Datum des letzten Artikels (absteigend)\n" + "# 4 = Datum des letzten Artikels (aufsteigend)\n" + +#: src/lang.c:1668 +msgid "Put cursor at first/last unread art in groups. toggles & sets." +msgstr "Setze Cursor an ersten/letzten ungel. Artikel. wechselt & setzt." + +#: src/lang.c:1669 +msgid "Go to first unread article in group" +msgstr "Setze Cursor auf ersten ungel. Art." + +#: src/lang.c:1670 +msgid "# If ON put cursor at first unread art in group otherwise last art\n" +msgstr "# Falls ON setze Cursor auf ersten ungelesenen Artikel, sonst auf letzten\n" + +#: src/lang.c:1674 +msgid "Show all articles or only unread articles. toggles & sets." +msgstr "Zeige alle oder nur ungelesene Artikel. wechselt & setzt." + +#: src/lang.c:1675 +msgid "Show only unread articles" +msgstr "Zeige nur ungelesene Artikel" + +#: src/lang.c:1676 +msgid "# If ON show only new/unread articles otherwise show all.\n" +msgstr "# Falls ON zeige nur neue/ungelesene Artikel, sonst alle.\n" + +#: src/lang.c:1681 +msgid "Show only groups with unread arts" +msgstr "Zeige nur Gruppen mit ungel. Art." + +#: src/lang.c:1682 +msgid "# If ON show only subscribed to groups that contain unread articles.\n" +msgstr "# Falls ON zeige nur abonnierte Gruppen mit ungelesen Artikeln.\n" #: src/lang.c:1687 -msgid "Regex used to show twice quoted l." -msgstr "Reg. Ausd. für zweifach zitierte Z." +msgid "Filter which articles" +msgstr "Filter (kill) anwenden auf" #: src/lang.c:1688 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted twice. Twice quoted lines are shown in col_quote2.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Ein regulärer Ausdruck, den tin benutzt, um zu entscheiden welche\n" - "# Zeilen zweifach zitiert wurden. Zweifach zitierte Zeilen werden mit der\n" - "# Farbe dargestellt, die in col_quote2 definiert ist.\n" - "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" - -#: src/lang.c:1694 -msgid "A regex used to decide which lines to show in col_quote3." -msgstr "Regulärer Ausdruck für Zeilen, die mit col_quote3 dargestellt werden." - -#: src/lang.c:1695 -msgid "Regex used to show >= 3 times q.l." -msgstr "Reg. Ausd. für >=3-fach zitierte Z." - -#: src/lang.c:1696 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Ein regulärer Ausdruck, der entscheidet, ob eine Zeile 3 mal oder öfter\n" - "# zitiert wurde. Zeilen, die darauf passen, werden in der Farbe\n" - "# dargestellt, die in col_quote3 definiert sind.\n" - "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" - -#: src/lang.c:1703 -msgid "A regex used to decide which words to show in col_markslashes." -msgstr "Regulärer Ausdruck für Zeilen, die mit col_markslashes dargestellt werden." - -#: src/lang.c:1704 -msgid "Regex used to highlight /slashes/" -msgstr "Reg. für /Schrägst./ Hervorhebungen" - -#: src/lang.c:1705 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '/' are to be shown in col_markslashes.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Ein regulärer Ausdruck, der entscheidet, welche Wörter\n" - "# zwischen '/' in col_markslashes angezeigt werden.\n" - "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" - -#: src/lang.c:1711 -msgid "A regex used to decide which words to show in col_markstars." -msgstr "Regulärer Ausdruck für Zeilen, die mit col_markstars dargestellt werden." - -#: src/lang.c:1712 -msgid "Regex used to highlight *stars*" -msgstr "Regu. A. für *Stern* Hervorhebungen" - -#: src/lang.c:1713 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '*' are to be shown in col_markstars.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Ein regulärer Ausdruck, der entscheidet, welche Wörter\n" - "# zwischen '*' in col_markstars angezeigt werden.\n" - "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" - -#: src/lang.c:1719 -msgid "A regex used to decide which words to show in col_markstroke." -msgstr "Regulärer Ausdruck für Zeilen, die mit col_markstroke dargestellt werden." - -#: src/lang.c:1720 -msgid "Regex used to highlight -strokes-" -msgstr "Reg. für -Durchstr.- Hervorhebungen" - -#: src/lang.c:1721 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '-' are to be shown in col_markstroke.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Ein regulärer Ausdruck, der entscheidet, welche Wörter\n" - "# zwischen '-' in col_markstroke angezeigt werden.\n" - "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" +msgid "# Filter which articles\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = only kill unread articles\n" + "# 1 = kill all articles and show in threads marked with K\n" + "# 2 = kill all articles and never show them\n" +msgstr "# Filter (kill) anwenden auf\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# * 0 = Filtert nur ungelesene Artikel\n" + "# 1 = Filtert alle Artikel und markiert sie mit K\n" + "# 2 = Filtert alle Artikel und zeigt gekillte niemals an\n" + +#: src/lang.c:1697 +msgid "Go to the next unread article with" +msgstr "Zum nächsten ungelesenen Artikel springen mit" + +#: src/lang.c:1698 +msgid "# Go to the unread article with following key(s)\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN or TAB\n" +msgstr "# Taste(n) um zum nächsten ungelesenen Artikel zu springen.\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = nichts\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN oder TAB\n" + +#: src/lang.c:1708 +msgid "How to treat blank lines" +msgstr "Wie mit Leerzeilen umgegangen werden soll" + +#: src/lang.c:1709 +msgid "# Trim the article body, remove unnecessary blank lines.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = Nothing special\n" + "# 1 = Skip leading blank lines\n" + "# 2 = Skip trailing blank lines\n" + "# 3 = Skip leading and trailing blank lines\n" + "# 4 = Compact multiple blank lines between text blocks\n" + "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" + "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" + "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/lang.c:1726 +msgid "List thread using right arrow key" +msgstr "Zeige Thread mit rechter Pfeilt. an" #: src/lang.c:1727 -msgid "A regex used to decide which words to show in col_markdash." -msgstr "Regulärer Ausdruck für Zeilen, die mit col_markdash dargestellt werden." - -#: src/lang.c:1728 -msgid "Regex used to highlight _underline_" -msgstr "Reg. für _Unterstr._ Hervorhebungen" - -#: src/lang.c:1729 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '_' are to be shown in col_markdash.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Ein regulärer Ausdruck, der entscheidet, welche Wörter\n" - "# zwischen '_' in col_markdash angezeigt werden.\n" - "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" - -#: src/lang.c:1735 -msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." -msgstr "Reg. Ausd., um Teile im Subjectanfang zu entfernen. '|' trennt die Ausd.." - -#: src/lang.c:1736 -msgid "Regex with Subject prefixes" -msgstr "Reg. Ausd. für den Subjectanfang" - -#: src/lang.c:1737 -msgid "# A regular expression that tin will use to find Subject prefixes\n" - "# which will be removed before showing the header.\n" -msgstr "# Ein regulärer Ausdruck, mit dem tin Worte im Anfang des Subjects findet,\n" - "# die dann entfernt werden.\n" - -#: src/lang.c:1742 -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." -msgstr "Reg. Ausd., um Teile am Subjectanfang zu entfernen. '|' trennt die Ausd.." - -#: src/lang.c:1743 -msgid "Regex with Subject suffixes" -msgstr "Reg. Ausd. für das Subjectende" - -#: src/lang.c:1744 -msgid "# A regular expression that tin will use to find Subject suffixes\n" - "# which will be removed when replying or posting followup.\n" -msgstr "# Ein regulärer Ausdruck, der beim Antworten zum Abschneiden von\n" - "# unerwünschten Teilen am Ende des Subjects verwendet wird.\n" - -#: src/lang.c:1749 -msgid "Enter name and options for external MIME viewer, --internal for built-in " - "viewer" -msgstr "Name und Optionen für ext. MIME-Viewer, --internal für eingebaute Version" - -#: src/lang.c:1750 -msgid "MIME binary content viewer" -msgstr "MIME-Viewer" - -#: src/lang.c:1751 -msgid "# If --internal automatically use the built in MIME viewer for non-text\n" - "# parts of articles.\n" - "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" - "# for no automatic viewing\n" -msgstr "# Falls --internal wird der eingebaute MIME-Viewer für die Anzeige von\n" - "# nicht Text teilen benutzt. Andernfalls das angegebene Programm\n" - "# (z.B. metamail). Keine Angabe schaltet die automatische Anzeige aus.\n" - -#: src/lang.c:1758 -msgid "Confirm before starting non-text viewing program" -msgstr "Start des MIME-Viewers bestätigen" +msgid "# If ON automatically list thread when entering it using right arrow key.\n" +msgstr "# Falls ON: Thread beim Betreten mit der rechten Cursortaste automatisch\n" + "# anzeigen?\n" + +#: src/lang.c:1731 +msgid "Enter character to indicate deleted articles. sets, cancels." +msgstr "Definiere Zeichen für gelöschte Artikel. setzt, bricht ab." + +#: src/lang.c:1732 +msgid "Character to show deleted articles" +msgstr "Zeichen für gelöschte Artikel" + +#: src/lang.c:1733 +msgid "# Character used to show that an art was deleted (default 'D')\n" + "# _ is turned into ' '\n" +msgstr "# Zeichen für einen Artikel, der gelöscht wurde (Voreinstellung 'D')\n" + "# _ wird in ' ' umgewandelt\n" + +#: src/lang.c:1738 +msgid "Enter character to indicate articles in a range. sets, cancels." +msgstr "Definiere Zeichen, das Artikel im Bereich anzeigt. setzt, bricht ab." + +#: src/lang.c:1739 +msgid "Character to show inrange articles" +msgstr "Zeichen für Artikel im Bereich" + +#: src/lang.c:1740 +msgid "# Character used to show that an art is in a range (default '#')\n" + "# _ is turned into ' '\n" +msgstr "# Zeichen für Artikel die im Bereich sind (Voreinstellung '#')\n" + "# _ wird in ' ' umgewandelt\n" + +#: src/lang.c:1745 +msgid "Enter character to indicate that article will return. sets, " + "cancels." +msgstr "Definiere Zeichen für wiederkehrende Art. setzt. bricht ab." + +#: src/lang.c:1746 +msgid "Character to show returning arts" +msgstr "Zeichen für wiederkehrende Artikel" + +#: src/lang.c:1747 +msgid "# Character used to show that an art will return (default '-')\n" + "# _ is turned into ' '\n" +msgstr "# Zeichen, dass ein Artikel wiederkommen wird (Voreinstellung '-')\n" + "# _ wird in ' ' umgewandelt\n" + +#: src/lang.c:1752 +msgid "Enter character to indicate selected articles. sets, cancels." +msgstr "Zeichen für Artikel mit Markierung wichtig/'hot' setzt, bricht ab." + +#: src/lang.c:1753 +msgid "Character to show selected articles" +msgstr "Zeichen für wichtige Artikel" + +#: src/lang.c:1754 +msgid "# Character used to show that an art was auto-selected (default '*')\n" + "# _ is turned into ' '\n" +msgstr "# Zeichen für Artikel mit Markierung wichtig/'hot' (Voreinstellung '*')\n" + "# _ wird in ' ' umgewandelt\n" #: src/lang.c:1759 -msgid "Ask before using MIME viewer" -msgstr "Start des MIME-Viewers bestätigen" +msgid "Enter character to indicate recent articles. sets, cancels." +msgstr "Definiere Zeichen für aktuelle Artikel. setzt, bricht ab." #: src/lang.c:1760 -msgid "# If ON tin will ask before using metamail to display MIME messages\n" - "# this only happens if metamail_prog is set to something\n" -msgstr "# Falls ON fragt tin nach, bevor metamail zum Anzeigen von MIME Artikeln\n" - "# benutzt wird. Das passiert nur, wenn auch metamail_prog gesetzt ist.\n" - -#: src/lang.c:1765 -msgid "Ask to mark groups read when quitting. toggles & sets." -msgstr "Beim Beenden anbieten, alle betretenen Gruppen als gelesen zu markieren?" +msgid "Character to show recent articles" +msgstr "Zeichen für aktuelle Artikel" + +#: src/lang.c:1761 +msgid "# Character used to show that an art is recent (default 'o')\n" + "# _ is turned into ' '\n" +msgstr "# Zeichen für einen aktuellen Artikel (Voreinstellung ist 'o')\n" + "# _ wird in ' ' umgewandelt\n" #: src/lang.c:1766 -msgid "Catchup read groups when quitting" -msgstr "Aufholen der Gruppen beim Beenden" +msgid "Enter character to indicate unread articles. sets, cancels." +msgstr "Zeichen für ungelesene Artikel. setzt, bricht ab." #: src/lang.c:1767 -msgid "# If ON ask user if read groups should all be marked read\n" -msgstr "# Falls ON: Beim Beenden von tin anbieten, alle betretenen Gruppen\n" - "# als gelesen zu markieren\n" - -#: src/lang.c:1772 -msgid "Catchup group using left key" -msgstr "Catchup der Gruppe mit l. Cursor" +msgid "Character to show unread articles" +msgstr "Zeichen für ungelesene Artikel" + +#: src/lang.c:1768 +msgid "# Character used to show that an art is unread (default '+')\n" + "# _ is turned into ' '\n" +msgstr "# Zeichen für ungelesene Artikel (Voreinstellung '+')\n" + "# _ wird in ' ' umgewandelt\n" #: src/lang.c:1773 -msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" -msgstr "# Falls ON: Aufholen (als gelesen markieren) der Gruppe/des Threads\n" - "# beim Verlassen mit der linken Cursortaste\n" - -#: src/lang.c:1778 -msgid "Catchup thread by using left key" -msgstr "Catchup mit der linken Cursort." - -#: src/lang.c:1784 -msgid "Which actions require confirmation" -msgstr "Bestätigung erforderlich für" - -#: src/lang.c:1785 -msgid "# What should we ask confirmation for.\n" -msgstr "# Welche Operationen müssen explizit bestätigt werden.\n" - "# Kommandos, die im Manual mit [after confirmation] markiert sind,\n" - "# Beenden von tin, markieren aller nicht hochgescorter Artikel als\n" - "# gelesen (siehe 'X' Befehl im Manual).\n" +msgid "Enter character to indicate read articles. sets, cancels." +msgstr "Zeichen für gelesene Artikel. setzt, bricht ab." -# TRANSLATION TOO LONG -#: src/lang.c:1790 -msgid "'Mark article read' ignores tags" -msgstr "'Art. gelesen markieren' ignoriert Markierte" - -#: src/lang.c:1791 -msgid "# If ON the 'Mark article read' function marks only the current article.\n" -msgstr "# Falls ON wird mit der Funktion 'Artikel als gelesen markieren' nur\n" - "# der jeweilige Artikel markiert.\n" +#: src/lang.c:1774 +msgid "Character to show read articles" +msgstr "Zeichen für gelesene Artikel" + +#: src/lang.c:1775 +msgid "# Character used to show that an art was read (default ' ')\n" + "# _ is turned into ' '\n" +msgstr "# Zeichen für gelesene Artikel (Voreinstellung ' ')\n" + "# _ wird in ' ' umgewandelt\n" + +#: src/lang.c:1780 +msgid "Enter character to indicate killed articles. sets, cancels." +msgstr "Zeichen für gekillte Artikel. setzt, bricht ab." + +#: src/lang.c:1781 +msgid "Character to show killed articles" +msgstr "Zeichen für gekillte Artikel" + +#: src/lang.c:1782 +msgid "# Character used to show that an art was killed (default 'K')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "# Zeichen für gekillte Artikel (Voreinstellung 'K')\n" + "# _ wird in ' ' umgewandelt, kill_level muss passend gesetzt sein.\n" + +#: src/lang.c:1787 +msgid "Enter character to indicate read selected articles. sets, cancels." +msgstr "Zeichen für gelesene wichtige/'hot' Artikel. setzt, bricht ab." + +#: src/lang.c:1788 +msgid "Character to show readselected arts" +msgstr "Zeichen für gelesene wichtige Art." + +#: src/lang.c:1789 +msgid "# Character used to show that an art was selected before read (default ':')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "# Zeichen für bereits gelesene Artikel mit Markierung wichtig/'hot'\n" + "# (Voreinstellung ':')\n" + "# _ wird in ' ' umgewandelt, kill_level muss passend gesetzt sein.\n" + +#: src/lang.c:1794 +msgid "Enter maximum length of newsgroup names displayed. sets." +msgstr "Maximale Länge des angezeigten Newsgruppennamens. setzt." #: src/lang.c:1795 -msgid "Program to run to open URL's, sets, cancels." -msgstr "Öffne URLs mit ... setzt, bricht ab." +msgid "Max. length of group names shown" +msgstr "Max. Länge angezeigter Gruppennamen" #: src/lang.c:1796 -msgid "Program that opens URL's" -msgstr "Öffne URLs mit ..." +msgid "# Maximum length of the names of newsgroups displayed\n" +msgstr "# Maximale Länge der angezeigten Newsgruppennamen\n" -#: src/lang.c:1797 -msgid "# The program used to open URL's. The actual URL will be appended\n" -msgstr "# Programm zum Öffnen von URLs, die jeweilige URL wird hinten angehängt.\n" +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "Lange Newsgruppennamen abkürzen" #: src/lang.c:1802 -msgid "Use mouse in xterm" -msgstr "Maus in xterm nutzen" - -#: src/lang.c:1803 -msgid "# If ON enable mouse key support on xterm terminals\n" -msgstr "# Falls ON wird die Maustastenunterstützung für xterm aktiviert\n" +msgid "# If ON abbreviate (if necessary) long newsgroup names at group selection\n" + "# level and article level like this:\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "" #: src/lang.c:1809 -msgid "Use scroll keys on keypad" -msgstr "Scrollt. vom Nummernblock nutzen" +msgid "Show lines/score in listings" +msgstr "Zeige Zeilenz./Bewert. in Übersicht" #: src/lang.c:1810 -msgid "# If ON enable scroll keys on terminals that support it\n" -msgstr "# Falls ON werden die Scrolltasten genutzt (Terminalabhängig)\n" - -#: src/lang.c:1815 -msgid "Enter maximum number of article to get. sets." -msgstr "Maximale Anzahl der zu holenden Artikel eingeben. setzt." - -#: src/lang.c:1816 -msgid "Number of articles to get" -msgstr "Anzahl der zu holenden Artikel" - -#: src/lang.c:1817 -msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" - "# of already read articles to be read before first unread one\n" -msgstr "# Anzahl der zu holenden Artikel (0=unbegrenzt), falls ein negativer Wert\n" - "# angegeben wird, holt tin alle ungelesenen plus die letzten n gelesenen\n" - "# Artikel\n" - -#: src/lang.c:1822 -msgid "Enter number of days article is considered recent. sets." -msgstr "Anzahl der Tage, die ein Artikel als neu eingestuft wird. setzt." - -#: src/lang.c:1823 -msgid "Article recentness time limit" -msgstr "Artikel Neuheitszeit-Limit" - -#: src/lang.c:1824 -msgid "# Number of days in which article is considered recent, (0=OFF)\n" -msgstr "# Anzahl der Tage, die ein Artikel als neu eingestuft wird, (0=Aus)\n" - -#: src/lang.c:1828 -msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." -msgstr "WILDMAT für normale Wildcards, REGEX für die Nutzung von regulären Ausdrücken." - -#: src/lang.c:1829 -msgid "Wildcard matching" -msgstr "Wildcardprüfung" - -#: src/lang.c:1830 -msgid "# Wildcard matching\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" -msgstr "# Wildcardprüfung\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# * 0 = wildmat\n" - "# 1 = Regulärer Ausdruck\n" +msgid "# What information should be displayed in article/thread listing\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = lines\n" + "# 2 = score\n" + "# 3 = lines & score\n" +msgstr "# Welche weiteren Informationen sollen in der Artikel/Thread Übersicht\n" + "# angezeigt werden.\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = Nichts\n" + "# * 1 = Zeilenzahl\n" + "# 2 = Bewertung\n" + "# 3 = Zeilenzahl & Bewertung\n" + +#: src/lang.c:1819 +msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" + "2 = half page" +msgstr "0 = seitenweise, -1 = zeige zusätzlich letzte Zeile der vorigen Seite, -2 = " + "halbe Seite" + +#: src/lang.c:1820 +msgid "Number of lines to scroll in pager" +msgstr "Blättere Artikel um ... Zeilen" + +#: src/lang.c:1821 +msgid "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behavior)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" +msgstr "# Anzahl der Zeilen, die Cursor-Auf/Ab bei der Artikelanzeige " + "weiterblättert.\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# -2 = um eine halbe Seite\n" + "# -1 = seitenweise, zeigt zusätzlich letzte Zeile der vorigen Seite\n" + "# 0 = seitenweise\n" + "# * 1 = zeilenweise\n" + "# 2 oder mehr = um 2 oder mehr Zeilen\n" + +#: src/lang.c:1831 +msgid "Display signatures. toggles & sets." +msgstr "Zeige Signaturen an. wechselt & setzt." + +#: src/lang.c:1832 +msgid "Display signatures" +msgstr "Zeige Signaturen an" + +#: src/lang.c:1833 +msgid "# If OFF don't show signatures when displaying articles\n" +msgstr "# Falls OFF zeige keine Signaturen an\n" #: src/lang.c:1837 -msgid "Enter minimal score before an article is marked killed. sets." -msgstr "Artikel mit weniger Bewertung (Score) werden als `gekillt' markiert. " - "setzt." +msgid "Display uuencoded data as tagged attachments. toggles & sets." +msgstr "Uu-kodierte Teile als Anhang anzeigen. wechselt & setzt." #: src/lang.c:1838 -msgid "Score limit (kill)" -msgstr "Bewertungsgrenze (kill)" +msgid "Display uue data as an attachment" +msgstr "Zeige uue-Teile als Anhang an" #: src/lang.c:1839 -msgid "# Score limit before an article is marked killed\n" -msgstr "# Jeder Artikel mit einer niedrigeren Bewertung (Score) wird als\n" - "# gekillt markiert\n" - -#: src/lang.c:1843 -msgid "Enter default score to kill articles. sets." -msgstr "Bewertung für gekillte Artikel. setzt." - -#: src/lang.c:1844 -msgid "Default score to kill articles" -msgstr "Bewertung für gekillte Artikel" - -#: src/lang.c:1845 -msgid "# Default score to kill articles\n" -msgstr "# Bewertung für gekillte Artikel\n" +msgid "# Handling of uuencoded data in the pager\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no, display raw uuencoded data\n" + "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" + "# size and filename, similar to how MIME attachments are displayed\n" + "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" + "# be folded into a tag line.\n" +msgstr "# Behandlung von uuencodeten Daten bei der Artikelanzeige.\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# * 0 = Anzeige der Rohdaten\n" + "# 1 = Einzeilige Zusammenfassung für vollständige Daten\n" + "# ähnlich der von MIME-Anhängen\n" + "# 2 = Einzeilige Zusammenfassung auch für unvollständige Daten\n" #: src/lang.c:1849 -msgid "Enter minimal score before an article is marked hot. sets." -msgstr "Artikel mit einer höheren Bewertung (Score) werd. als wichtig/hot markiert." +msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." +msgstr "TeX german.sty Umlautkodierung auswerten. wechselt & setzt." #: src/lang.c:1850 -msgid "Score limit (select)" -msgstr "Bewertungsgrenze (select)" +msgid "Display \"a as Umlaut-a" +msgstr "Wandle TeX-Umlaute automatisch um" #: src/lang.c:1851 -msgid "# Score limit before an article is marked hot\n" -msgstr "# Artikel mit einer höheren Bewertung (Score) werden als\n" - "# wichtig (hot) markiert\n" - -#: src/lang.c:1855 -msgid "Enter default score to select articles. sets." -msgstr "Bewertung für wichtige Artikel (hot). setzt." - -#: src/lang.c:1856 -msgid "Default score to select articles" -msgstr "Bewertung für wichtige Artikel" +msgid "# If ON decode German style TeX umlaut codes to ISO and\n" + "# show \"a as Umlaut-a, etc.\n" +msgstr "# Wenn ON dekodiere laut german.sty (TeX) kodierte Umlaute und stelle\n" + "# \"a als ä, usw. dar\n" + +#: src/lang.c:1856 src/lang.c:1866 +msgid "Space separated list of header fields" +msgstr "Durch Leerzeichen getrennte Liste der Header-Felder" #: src/lang.c:1857 -msgid "# Default score to select articles\n" -msgstr "# Bewertung für wichtige Artikel (hot)\n" +msgid "Display these header fields (or *)" +msgstr "Zeige diese Header-Felder (oder *)" -#: src/lang.c:1863 -msgid "Use slrnface to show ''X-Face:''s" -msgstr "''X-Face:''s mit slrnface Anzeigen" - -#: src/lang.c:1864 -msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" - "# Only useful when running in an xterm.\n" -msgstr "# Falls ON benutze slrnface(1) um ''X-Face:'' anzuzeigen.\n" - "# Funktioniert nur wenn tin in einem xterm läuft.\n" - -#: src/lang.c:1872 -msgid "Use ANSI color" -msgstr "Benutze ANSI-Farben" - -#: src/lang.c:1873 -msgid "# If ON using ANSI-color\n" -msgstr "# Falls ON benutze ANSI-Farben\n" +#: src/lang.c:1858 +msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" + "# place an '*' as this value. This is the only way a wildcard can be used.\n" + "# If you enter 'X-' as the value, you will see all headers beginning with\n" + "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " + "with\n" + "# spaces. Not defining anything turns off this option.\n" +msgstr "# Welche Header wollen Sie sehen. Wenn Sie _alle_ sehen wollen, setzen\n" + "# Sie ein '*' als Wert ein. Dies ist die einzige Möglichkeit, um eine\n" + "# Wildcard zu nutzen. Wenn Sie als Wert 'X-' angeben, sehen Sie alle Header\n" + "# die mit 'X-' beginnen (wie X-Alan oder X-Pape). Sie können mehrere durch\n" + "# Leerzeichen getrennte Werte angeben. Wenn Sie hier nichts definieren\n" + "# wird diese Option deaktiviert.\n" + +#: src/lang.c:1867 +msgid "Do not display these header fields" +msgstr "Zeige folgende Header nicht an" + +#: src/lang.c:1868 +msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" + "# An example of using both options might be if you thought X- headers were\n" + "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " + "you\n" + "# would do something like this:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Not defining anything turns off this option.\n" +msgstr "# Genau das gleiche wie 'news_headers_to_display', mit der Ausnahme,\n" + "# das es das Gegenteil bewirkt. Wenn Sie dachten, das die X- Header eine\n" + "# tolle Sachen waren, nun aber festgestellt haben, das dort einiges\n" + "# überflüssiges steht, dann könnten Sie wie folgt vorgehen:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Wenn Sie hier nichts angeben, wird diese Option deaktiviert.\n" #: src/lang.c:1878 -msgid "Standard foreground color" -msgstr "Standard Vordergrundfarbe" +msgid "Do you want to enable automatic handling of multipart/alternative articles?" +msgstr "Automatische Bearbeitung von Art. mit multipart/alternative-Teilen aktivieren?" #: src/lang.c:1879 -msgid "# Standard foreground color\n" - "# Default: -1 (default color)\n" -msgstr "# Standard Vordergrundfarbe\n" - "# Voreinstellung: -1 (Standard Farbe)\n" +msgid "Skip multipart/alternative parts" +msgstr "Übersp. multipart/alternative-Teile" + +#: src/lang.c:1880 +msgid "# If ON strip multipart/alternative messages automatically\n" +msgstr "# Falls ON entsorge multipart/alternative Teile des Artikels automatisch\n" + +#: src/lang.c:1884 +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "" #: src/lang.c:1885 -msgid "Standard background color" -msgstr "Standard Hintergrundfarbe" +msgid "Detection of verbatim blocks" +msgstr "" #: src/lang.c:1886 -msgid "# Standard background color\n" - "# Default: -1 (default color)\n" -msgstr "# Standard Hintergrundfarbe\n" - "# Voreinstellung: -1 (Standard Farbe)\n" +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "" + +#: src/lang.c:1891 +msgid "A regex used to decide which lines to show in col_quote." +msgstr "Regulärer Ausdruck für Zeilen, die mit col_quote dargestellt werden." #: src/lang.c:1892 -msgid "Color for inverse text (background)" -msgstr "Farbe des inversen Text (Hinterg.)" +msgid "Regex used to show quoted lines" +msgstr "Regulärer Ausd. für zit. Zeilen" #: src/lang.c:1893 -msgid "# Color of background for inverse text\n" - "# Default: 4 (blue)\n" -msgstr "# Farbe des Hintergrunds für inversen Text\n" - "# Voreinstellung: 4 (blau)\n" +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Ein regulärer Ausdruck, den tin benutzt um zu entscheiden, welche Zeilen\n" + "# zitiert sind, wenn man den Artikel liest. Zitierte Zeilen, werden in der\n" + "# Farbe angezeigt, die in col_quote definiert sind.\n" + "# Wenn Sie hier nichts angeben, werden die Voreinstellungen benutzt.\n" #: src/lang.c:1899 -msgid "Color for inverse text (foreground)" -msgstr "Farbe des inversen Text (Vordergr.)" +msgid "A regex used to decide which lines to show in col_quote2." +msgstr "Regulärer Ausdruck für Zeilen, die mit col_quote2 dargestellt werden." #: src/lang.c:1900 -msgid "# Color of foreground for inverse text\n" - "# Default: 7 (white)\n" -msgstr "# Farbe des Vordergrunds für inversen Text\n" - "# Voreinstellung: 7 (weiß)\n" - -#: src/lang.c:1906 -msgid "Color of text lines" -msgstr "Farbe der Textzeilen" +msgid "Regex used to show twice quoted l." +msgstr "Reg. Ausd. für zweifach zitierte Z." + +#: src/lang.c:1901 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted twice. Twice quoted lines are shown in col_quote2.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Ein regulärer Ausdruck, den tin benutzt, um zu entscheiden welche\n" + "# Zeilen zweifach zitiert wurden. Zweifach zitierte Zeilen werden mit der\n" + "# Farbe dargestellt, die in col_quote2 definiert ist.\n" + "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" #: src/lang.c:1907 -msgid "# Color of text lines\n" - "# Default: -1 (default color)\n" -msgstr "# Farbe der Textzeilen\n" - "# Voreinstellung: -1 (Standard Farbe)\n" - -#: src/lang.c:1913 -msgid "Color of mini help menu" -msgstr "Farbe des Minihilfemenü" - -#: src/lang.c:1914 -msgid "# Color of mini help menu\n" - "# Default: 3 (brown)\n" -msgstr "# Farbe des Minihilfemenü\n" - "# Voreinstellung: 3 (braun)\n" - -#: src/lang.c:1920 -msgid "Color of help text" -msgstr "Farbe des Hilfstext" - -#: src/lang.c:1921 -msgid "# Color of help pages\n" - "# Default: -1 (default color)\n" -msgstr "# Farbe der Hilfsseiten\n" - "# Voreinstellung: -1 (Standard Farbe)\n" - -#: src/lang.c:1927 -msgid "Color of status messages" -msgstr "Farbe der Statusmeldungen" - -#: src/lang.c:1928 -msgid "# Color of messages in last line\n" - "# Default: 6 (cyan)\n" -msgstr "# Farbe der letzten Zeile im Artikel\n" - "# Voreinstellung: 6 (cyan)\n" +msgid "A regex used to decide which lines to show in col_quote3." +msgstr "Regulärer Ausdruck für Zeilen, die mit col_quote3 dargestellt werden." -#: src/lang.c:1934 -msgid "Color of quoted lines" -msgstr "Farbe der zitierten Zeilen" +#: src/lang.c:1908 +msgid "Regex used to show >= 3 times q.l." +msgstr "Reg. Ausd. für >=3-fach zitierte Z." + +#: src/lang.c:1909 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Ein regulärer Ausdruck, der entscheidet, ob eine Zeile 3 mal oder öfter\n" + "# zitiert wurde. Zeilen, die darauf passen, werden in der Farbe\n" + "# dargestellt, die in col_quote3 definiert sind.\n" + "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" + +#: src/lang.c:1916 +msgid "A regex used to decide which words to show in col_markslashes." +msgstr "Regulärer Ausdruck für Zeilen, die mit col_markslashes dargestellt werden." + +#: src/lang.c:1917 +msgid "Regex used to highlight /slashes/" +msgstr "Reg. für /Schrägst./ Hervorhebungen" + +#: src/lang.c:1918 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '/' are to be shown in col_markslashes.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Ein regulärer Ausdruck, der entscheidet, welche Wörter\n" + "# zwischen '/' in col_markslashes angezeigt werden.\n" + "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" + +#: src/lang.c:1924 +msgid "A regex used to decide which words to show in col_markstars." +msgstr "Regulärer Ausdruck für Zeilen, die mit col_markstars dargestellt werden." + +#: src/lang.c:1925 +msgid "Regex used to highlight *stars*" +msgstr "Regu. A. für *Stern* Hervorhebungen" + +#: src/lang.c:1926 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '*' are to be shown in col_markstars.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Ein regulärer Ausdruck, der entscheidet, welche Wörter\n" + "# zwischen '*' in col_markstars angezeigt werden.\n" + "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" + +#: src/lang.c:1932 +msgid "A regex used to decide which words to show in col_markstroke." +msgstr "Regulärer Ausdruck für Zeilen, die mit col_markstroke dargestellt werden." + +#: src/lang.c:1933 +msgid "Regex used to highlight -strokes-" +msgstr "Reg. für -Durchstr.- Hervorhebungen" -#: src/lang.c:1935 -msgid "# Color of quote-lines\n" - "# Default: 2 (green)\n" -msgstr "# Farbe der zitierten Zeilen\n" - "# Voreinstellung: 2 (grün)\n" +#: src/lang.c:1934 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '-' are to be shown in col_markstroke.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Ein regulärer Ausdruck, der entscheidet, welche Wörter\n" + "# zwischen '-' in col_markstroke angezeigt werden.\n" + "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" + +#: src/lang.c:1940 +msgid "A regex used to decide which words to show in col_markdash." +msgstr "Regulärer Ausdruck für Zeilen, die mit col_markdash dargestellt werden." #: src/lang.c:1941 -msgid "Color of twice quoted line" -msgstr "Farbe von zweifach zitierten Zeilen" +msgid "Regex used to highlight _underline_" +msgstr "Reg. für _Unterstr._ Hervorhebungen" #: src/lang.c:1942 -msgid "# Color of twice quoted lines\n" - "# Default: 3 (brown)\n" -msgstr "# Farbe von zweifach zitierten Zeilen\n" - "# Voreinstellung: 3 (braun)\n" +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '_' are to be shown in col_markdash.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Ein regulärer Ausdruck, der entscheidet, welche Wörter\n" + "# zwischen '_' in col_markdash angezeigt werden.\n" + "# Wenn Sie hier nichts eingeben, werden die Voreinstellungen benutzt.\n" #: src/lang.c:1948 -msgid "Color of =>3 times quoted line" -msgstr "Farbe von =>3-fach zitierten Zeilen" +msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." +msgstr "Reg. Ausd., um Teile im Subjectanfang zu entfernen. '|' trennt die Ausd.." #: src/lang.c:1949 -msgid "# Color of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" -msgstr "# Farbe von =>3-fach zitierten Zeilen\n" - "# Voreinstellung: 4 (blau)\n" +msgid "Regex with Subject prefixes" +msgstr "Reg. Ausd. für den Subjectanfang" + +#: src/lang.c:1950 +msgid "# A regular expression that tin will use to find Subject prefixes\n" + "# which will be removed before showing the header.\n" +msgstr "# Ein regulärer Ausdruck, mit dem tin Worte im Anfang des Subjects findet,\n" + "# die dann entfernt werden.\n" #: src/lang.c:1955 -msgid "Color of article header lines" -msgstr "Farbe der Artikelheaderzeilen" +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "Reg. Ausd., um Teile am Subjectanfang zu entfernen. '|' trennt die Ausd.." #: src/lang.c:1956 -msgid "# Color of header-lines\n" - "# Default: 2 (green)\n" -msgstr "# Farbe der Artikelheaderzeilen\n" - "# Voreinstellung: 2 (grün)\n" +msgid "Regex with Subject suffixes" +msgstr "Reg. Ausd. für das Subjectende" + +#: src/lang.c:1957 +msgid "# A regular expression that tin will use to find Subject suffixes\n" + "# which will be removed when replying or posting followup.\n" +msgstr "# Ein regulärer Ausdruck, der beim Antworten zum Abschneiden von\n" + "# unerwünschten Teilen am Ende des Subjects verwendet wird.\n" #: src/lang.c:1962 -msgid "Color of actual news header fields" -msgstr "Farbe des angezeigten Headers" +msgid "A regex used to find the begin of a verbatim block." +msgstr "Reg. Ausd., um den Beginn eines wortgetreu wiederzugebenden Absatz zu finden." #: src/lang.c:1963 -msgid "# Color of actual news header fields\n" - "# Default: 9 (light red)\n" -msgstr "# Farbe des angezeigten Headers\n" - "# Voreinstellung: 9 (hellrot)\n" +msgid "Regex for begin of a verbatim block" +msgstr "Reg. Ausd. für den Anfang eines wortgetreu wiederzugebenden Absatzes" + +#: src/lang.c:1964 +msgid "# A regular expression that tin will use to find the begin of\n" + "# a verbatim block.\n" +msgstr "# Ein regulärer Ausdruck, der den Beginn eines wortgetreu wiederzugebenden\n" + "# Absatzes findet.\n" #: src/lang.c:1969 -msgid "Color of article subject lines" -msgstr "Farbe der Subjectzeile" +msgid "A regex used to find the end of a verbatim block." +msgstr "Reg. Ausd., um das Ende eines wortgetreu wiederzugebenden Absatz zu finden." #: src/lang.c:1970 -msgid "# Color of article subject\n" - "# Default: 6 (cyan)\n" -msgstr "# Farbe der Subjectzeile\n" - "# Voreinstellung: 6 (cyan)\n" +msgid "Regex for end of a verbatim block" +msgstr "Reg. Ausd. für das Ende eines wortgetreu wiederzugebenden Absatzes" + +#: src/lang.c:1971 +msgid "# A regular expression that tin will use to find the end of\n" + "# a verbatim block.\n" +msgstr "# Ein regulärer Ausdruck, der das Ende eines wortgetreu wiederzugebenden\n" + "# Absatzes findet.\n" #: src/lang.c:1976 -msgid "Color of response counter" -msgstr "Farbe des Antwortzählers" +msgid "Enter name and options for external MIME viewer, --internal for built-in " + "viewer" +msgstr "Name und Optionen für ext. MIME-Viewer, --internal für eingebaute Version" #: src/lang.c:1977 -msgid "# Color of response counter\n" - "# Default: 2 (green)\n" -msgstr "# Farbe des Antwortzählers\n" - "# Voreinstellung: 2 (grün)\n" - -#: src/lang.c:1983 -msgid "Color of sender (From:)" -msgstr "Farbe des Autors (From:)" - -#: src/lang.c:1984 -msgid "# Color of sender (From:)\n" - "# Default: 2 (green)\n" -msgstr "# Farbe des Autors (From:)\n" - "# Voreinstellung: 2 (grün)\n" - -#: src/lang.c:1990 -msgid "Color of help/mail sign" -msgstr "Farbe des Hilfe/Mail-Zeichen" - -#: src/lang.c:1991 -msgid "# Color of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" -msgstr "# Farbe des Hilfe/Mail-Zeichen\n" - "# Voreinstellung: 4 (blau)\n" - -#: src/lang.c:1997 -msgid "Color of signatures" -msgstr "Farbe von Signaturen" - -#: src/lang.c:1998 -msgid "# Color of signature\n" - "# Default: 4 (blue)\n" -msgstr "# Farbe von Signaturen\n" - "# Voreinstellung: 4 (blau)\n" - -#: src/lang.c:2004 -msgid "Color of highlighted URLs" -msgstr "Farbe der hervorgehobenen URLs" +msgid "MIME binary content viewer" +msgstr "MIME-Viewer" + +#: src/lang.c:1978 +msgid "# If --internal automatically use the built in MIME viewer for non-text\n" + "# parts of articles.\n" + "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" + "# for no automatic viewing\n" +msgstr "# Falls --internal wird der eingebaute MIME-Viewer für die Anzeige von\n" + "# nicht Text teilen benutzt. Andernfalls das angegebene Programm\n" + "# (z.B. metamail). Keine Angabe schaltet die automatische Anzeige aus.\n" + +#: src/lang.c:1985 +msgid "Confirm before starting non-text viewing program" +msgstr "Start des MIME-Viewers bestätigen" + +#: src/lang.c:1986 +msgid "Ask before using MIME viewer" +msgstr "Start des MIME-Viewers bestätigen" + +#: src/lang.c:1987 +msgid "# If ON tin will ask before using metamail to display MIME messages\n" + "# this only happens if metamail_prog is set to something\n" +msgstr "# Falls ON fragt tin nach, bevor metamail zum Anzeigen von MIME-Artikeln\n" + "# benutzt wird. Das passiert nur, wenn auch metamail_prog gesetzt ist.\n" + +#: src/lang.c:1992 +msgid "Ask to mark groups read when quitting. toggles & sets." +msgstr "Beim Beenden anbieten, alle betretenen Gruppen als gelesen zu markieren?" + +#: src/lang.c:1993 +msgid "Catchup read groups when quitting" +msgstr "Catchup der Gruppen beim Beenden" + +#: src/lang.c:1994 +msgid "# If ON ask user if read groups should all be marked read\n" +msgstr "# Falls ON: Beim Beenden von tin anbieten, alle betretenen Gruppen\n" + "# als gelesen zu markieren\n" + +#: src/lang.c:1999 +msgid "Catchup group using left key" +msgstr "Catchup der Gruppe mit l. Cursor" + +#: src/lang.c:2000 +msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" +msgstr "# Falls ON: Catchup (als gelesen markieren) der Gruppe/des Threads\n" + "# beim Verlassen mit der linken Cursortaste\n" #: src/lang.c:2005 -msgid "# Color of highlighted URLs\n" - "# Default: -1 (default color)\n" -msgstr "# Farbe der hervorgehobenen URLs\n" - "# Voreinstellung: -1 (Standard Farbe)\n" +msgid "Catchup thread by using left key" +msgstr "Catchup mit der linken Cursort." #: src/lang.c:2011 -msgid "Color of highlighting with *stars*" -msgstr "Farbe der Hervorhebung *Sterne*" +msgid "Which actions require confirmation" +msgstr "Bestätigung erforderlich für" #: src/lang.c:2012 -msgid "# Color of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" -msgstr "# Farbe der Hervorhebung durch *Sterne*\n" - "# Voreinstellung: 11 (gelb)\n" +msgid "# What should we ask confirmation for.\n" +msgstr "# Welche Operationen müssen explizit bestätigt werden.\n" + "# Kommandos, die im Manual mit [after confirmation] markiert sind,\n" + "# Beenden von tin, markieren aller nicht hochgescorter Artikel als\n" + "# gelesen (siehe 'X' Befehl im Manual).\n" -#: src/lang.c:2018 -msgid "Color of highlighting with _dash_" -msgstr "Farbe der Hervorhebung _Striche_" +# TRANSLATION TOO LONG +#: src/lang.c:2017 +msgid "'Mark as (un)read' ignores tags" +msgstr "'Art. (un)gelesen markieren' ignoriert Markierte" -#: src/lang.c:2019 -msgid "# Color of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" -msgstr "# Farbe der Hervorhebung durch _Striche_\n" - "# Voreinstellung: 13 (hellrosa)\n" - -#: src/lang.c:2025 -msgid "Color of highlighting with /slash/" -msgstr "Farbe der Hervorhebung /Schrägstr./" - -#: src/lang.c:2026 -msgid "# Color of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" -msgstr "# Farbe der Hervorhebung durch /Schrägstriche/\n" - "# Voreinstellung: 11 (hellcyan)\n" - -#: src/lang.c:2032 -msgid "Color of highlighting with -stroke-" -msgstr "Farbe der Hervorhebung -Durchstr.-" - -#: src/lang.c:2033 -msgid "# Color of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" -msgstr "# Farbe der Hervorhebung durch -Durchstreichen-\n" - "# Voreinstellung: 12 (hellblau)\n" - -#: src/lang.c:2040 -msgid "Attr. of highlighting with *stars*" -msgstr "Hervorhebungsattribute *Sterne*" - -#: src/lang.c:2041 -msgid "# Attributes of word highlighting on mono terminals\n" - "# Possible values are:\n" - "# 0 = Normal\n" - "# 1 = Underline\n" - "# 2 = Best highlighting\n" - "# 3 = Reverse video\n" - "# 4 = Blinking\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# Attribute of word highlighting with *stars*\n" - "# Default: 6 (bold)\n" -msgstr "# Attribute der Hervorhebung von Wörtern auf monochromen Terminals.\n" - "# Mögliche Werte sind:\n" - "# 0 = normal\n" - "# 1 = unterstrichen\n" - "# 2 = beste Hervorhebung\n" - "# 3 = invers\n" - "# 4 = blinkend\n" - "# 5 = halbe Helligkeit\n" - "# 6 = fett\n" - "\n" - "# Hervorhebungsattribut für *Sterne*\n" - "# Voreinstellung: 6 (fett)\n" +#: src/lang.c:2018 +msgid "# If ON the 'Mark as (un)read' function marks only the current article.\n" +msgstr "# Falls ON wird mit der Funktion 'Art. (un)gelesen markieren' nur\n" + "# der jeweilige Artikel markiert.\n" + +#: src/lang.c:2022 +msgid "Program to run to open URLs, sets, cancels." +msgstr "Öffne URLs mit ... setzt, bricht ab." + +#: src/lang.c:2023 +msgid "Program that opens URLs" +msgstr "Öffne URLs mit ..." + +#: src/lang.c:2024 +msgid "# The program used to open URLs. The actual URL will be appended\n" +msgstr "# Programm zum Öffnen von URLs, die jeweilige URL wird hinten angehängt.\n" + +#: src/lang.c:2029 +msgid "Use mouse in xterm" +msgstr "Maus in xterm nutzen" + +#: src/lang.c:2030 +msgid "# If ON enable mouse button support on xterm terminals\n" +msgstr "# Falls ON wird die Maustastenunterstützung für xterm aktiviert\n" + +#: src/lang.c:2036 +msgid "Use scroll keys on keypad" +msgstr "Scrollt. vom Nummernblock nutzen" + +#: src/lang.c:2037 +msgid "# If ON enable scroll keys on terminals that support it\n" +msgstr "# Falls ON werden die Scrolltasten genutzt (Terminal abhängig)\n" + +#: src/lang.c:2042 +msgid "Enter maximum number of article to get. sets." +msgstr "Maximale Anzahl der zu holenden Artikel eingeben. setzt." + +#: src/lang.c:2043 +msgid "Number of articles to get" +msgstr "Anzahl der zu holenden Artikel" + +#: src/lang.c:2044 +msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" + "# of already read articles to be read before first unread one\n" +msgstr "# Anzahl der zu holenden Artikel (0=unbegrenzt), falls ein negativer Wert\n" + "# angegeben wird, holt tin alle ungelesenen plus die letzten n gelesenen\n" + "# Artikel\n" + +#: src/lang.c:2049 +msgid "Enter number of days article is considered recent. sets." +msgstr "Anzahl der Tage, die ein Artikel als neu eingestuft wird. setzt." + +#: src/lang.c:2050 +msgid "Article recentness time limit" +msgstr "Artikel Neuheitszeit-Limit" + +#: src/lang.c:2051 +msgid "# Number of days in which article is considered recent, (0=OFF)\n" +msgstr "# Anzahl der Tage, die ein Artikel als neu eingestuft wird, (0=Aus)\n" + +#: src/lang.c:2055 +msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." +msgstr "WILDMAT für normale Wildcards, REGEX für die Nutzung von regulären Ausdrücken." #: src/lang.c:2056 -msgid "Attr. of highlighting with _dash_" -msgstr "Hervorhebungsattr. _Unterstriche_" +msgid "Wildcard matching" +msgstr "Wildcardprüfung" #: src/lang.c:2057 -msgid "# Attribute of word highlighting with _dash_\n" - "# Default: 2 (best highlighting)\n" -msgstr "# Hervorhebungsattribut für _Unterstriche_\n" - "# Voreinstellung: 2 (beste Hervorhebung)\n" - -#: src/lang.c:2063 -msgid "Attr. of highlighting with /slash/" -msgstr "Hervorhebungsattr. /Schrägstriche/" +msgid "# Wildcard matching\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" +msgstr "# Wildcardprüfung\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# * 0 = wildmat\n" + "# 1 = Regulärer Ausdruck\n" #: src/lang.c:2064 -msgid "# Attribute of word highlighting with /slash/\n" - "# Default: 5 (half bright)\n" -msgstr "# Hervorhebungsattribut für /Schrägstriche/\n" - "# Voreinstellung: 5 (halbe Helligkeit)\n" +msgid "Enter minimal score before an article is marked killed. sets." +msgstr "Artikel mit weniger Bewertung (Score) werden als `gekillt' markiert. " + "setzt." + +#: src/lang.c:2065 +msgid "Score limit (kill)" +msgstr "Bewertungsgrenze (kill)" + +#: src/lang.c:2066 +msgid "# Score limit before an article is marked killed\n" +msgstr "# Jeder Artikel mit einer niedrigeren Bewertung (Score) wird als\n" + "# gekillt markiert\n" #: src/lang.c:2070 -msgid "Attr. of highlighting with -stroke-" -msgstr "Hervorhebungsattr. -Durchstreich.-" +msgid "Enter default score to kill articles. sets." +msgstr "Bewertung für gekillte Artikel. setzt." #: src/lang.c:2071 -msgid "# Attribute of word highlighting with -stroke-\n" - "# Default: 3 (reverse video)\n" -msgstr "# Hervorhebungsattribut für -Durchstreichen-\n" - "# Voreinstellung: 3 (Invers)\n" +msgid "Default score to kill articles" +msgstr "Bewertung für gekillte Artikel" + +#: src/lang.c:2072 +msgid "# Default score to kill articles\n" +msgstr "# Bewertung für gekillte Artikel\n" + +#: src/lang.c:2076 +msgid "Enter minimal score before an article is marked hot. sets." +msgstr "Artikel mit einer höheren Bewertung (Score) werd. als wichtig/hot markiert." #: src/lang.c:2077 -msgid "URL highlighting in message body" -msgstr "URL-Hervorhebung im Artikel" +msgid "Score limit (select)" +msgstr "Bewertungsgrenze (select)" #: src/lang.c:2078 -msgid "# Enable URL highlighting?\n" -msgstr "# URL-Hervorhebung aktivieren?\n" +msgid "# Score limit before an article is marked hot\n" +msgstr "# Artikel mit einer höheren Bewertung (Score) werden als\n" + "# wichtig (hot) markiert\n" + +#: src/lang.c:2082 +msgid "Enter default score to select articles. sets." +msgstr "Bewertung für wichtige Artikel (hot). setzt." #: src/lang.c:2083 -msgid "Word highlighting in message body" -msgstr "Wort-Hervorhebung im Artikel" +msgid "Default score to select articles" +msgstr "Bewertung für wichtige Artikel" #: src/lang.c:2084 -msgid "# Enable word highlighting?\n" -msgstr "# Wort-Hervorhebung aktivieren?\n" - -#: src/lang.c:2089 -msgid "What to display instead of mark" -msgstr "Anstelle der Markierung anzeigen" +msgid "# Default score to select articles\n" +msgstr "# Bewertung für wichtige Artikel (hot)\n" #: src/lang.c:2090 -msgid "# Should the leading and ending stars and dashes also be displayed,\n" - "# even when they are highlighting marks?\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = no\n" - "# 1 = yes, display mark\n" - "# * 2 = print a space instead\n" -msgstr "# Sollen die führenden und abschließenden Sterne und Striche dargestellt\n" - "# werden, auch wenn sie Hervorhebungsmarkierungen sind?\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# 0 = nein\n" - "# 1 = ja, anzeigen\n" - "# * 2 = Leerzeichen anstelle darstellen\n" +msgid "Use slrnface to show ''X-Face:''s" +msgstr "''X-Face:''s mit slrnface Anzeigen" + +#: src/lang.c:2091 +msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" + "# Only useful when running in an xterm.\n" +msgstr "# Falls ON benutze slrnface(1) um ''X-Face:'' anzuzeigen.\n" + "# Funktioniert nur wenn tin in einem xterm läuft.\n" #: src/lang.c:2099 -msgid "Enter column number to wrap article lines to in the pager. sets." -msgstr "Nach wie vielen Zeichen soll im Pager umbrochen werden? setzt." +msgid "Use ANSI color" +msgstr "Benutze ANSI-Farben" #: src/lang.c:2100 -msgid "Page line wrap column" -msgstr "Zeilen umbrechen nach" +msgid "# If ON using ANSI-color\n" +msgstr "# Falls ON benutze ANSI-Farben\n" -#: src/lang.c:2101 -msgid "# Wrap article lines at column\n" -msgstr "# In der Artikelanzeige Zeilen umbrechen bei Spalte\n" +#: src/lang.c:2105 +msgid "Standard foreground color" +msgstr "Standard Vordergrundfarbe" #: src/lang.c:2106 -msgid "Wrap around threads on next unread" -msgstr "Nä.ungel.-kein Abbr. am Listenende?" - -#: src/lang.c:2107 -msgid "# If ON wrap around threads on searching next unread article\n" -msgstr "# Diverse Funktionen in tin wechseln zum \"nächsten\" ungelesenen\n" - "# Artikel. Diese Einstellung kontrolliert, ob tin am Ende der\n" - "# Artikel/Threadliste abbricht (OFF) oder zum Beginn derselben springt und\n" - "# von dort aus den nächsten ungelesenen Artikel sucht. (ON)\n" - -#: src/lang.c:2111 -msgid "Enter default mail address (and fullname). sets." -msgstr "Standard Mail-Adresse (und Name) eingeben. setzt." +msgid "# Standard foreground color\n" + "# Default: -1 (default color)\n" +msgstr "# Standard Vordergrundfarbe\n" + "# Voreinstellung: -1 (Standard Farbe)\n" #: src/lang.c:2112 -msgid "Mail address (and fullname)" -msgstr "Mailadresse (und Name)" +msgid "Standard background color" +msgstr "Standard Hintergrundfarbe" #: src/lang.c:2113 -msgid "# User's mail address (and fullname), if not username@host (fullname)\n" -msgstr "# EMail-Adresse und vollständiger Name des Benutzers, wenn sie nicht\n" - "# benutzername@host (Vollständiger Name) lautet\n" - -#: src/lang.c:2118 -msgid "Show empty Followup-To in editor" -msgstr "Leeres Fup'2 im Editor anzeigen" +msgid "# Standard background color\n" + "# Default: -1 (default color)\n" +msgstr "# Standard Hintergrundfarbe\n" + "# Voreinstellung: -1 (Standard Farbe)\n" #: src/lang.c:2119 -msgid "# If ON show empty Followup-To header when editing an article\n" -msgstr "# Wenn ON, zeige leeren Followup-To:-Header im Editor\n" +msgid "Color for inverse text (background)" +msgstr "Farbe des inversen Text (Hinterg.)" -#: src/lang.c:2123 -msgid "Enter path/! command/--none to create your default signature. sets." -msgstr "Setze Pfad/! Kommando/--none um Ihre Signatur festzulegen. setzt." - -#: src/lang.c:2124 -msgid "Create signature from path/command" -msgstr "Erzeuge Signatur aus Pfad/Kommando" - -#: src/lang.c:2125 -msgid "# Signature path (random sigs)/file to be used when posting/replying\n" - "# default_sigfile=file appends file as signature\n" - "# default_sigfile=!command executes external command to generate a " - "signature\n" - "# default_sigfile=--none don't append a signature\n" -msgstr "# Pfad der Sig (Zufällige Sigs)/Datei die für Antworten genutzt wird\n" - "# default_sigfile=Datei fügt Datei als Signatur an\n" - "# default_sigfile=!Kommando führt Kommando aus um Sig zu erzeugen\n" - "# default_sigfile=--none hängt keine Signatur an\n" - -#: src/lang.c:2132 -msgid "Prepend signature with \"-- \" on own line. toggles & sets." -msgstr "Trenne Sig mit \"-- \" in eigener Zeile ab. wechselt & setzt." +#: src/lang.c:2120 +msgid "# Color of background for inverse text\n" + "# Default: 4 (blue)\n" +msgstr "# Farbe des Hintergrunds für inversen Text\n" + "# Voreinstellung: 4 (blau)\n" + +#: src/lang.c:2126 +msgid "Color for inverse text (foreground)" +msgstr "Farbe des inversen Text (Vordergr.)" + +#: src/lang.c:2127 +msgid "# Color of foreground for inverse text\n" + "# Default: 7 (white)\n" +msgstr "# Farbe des Vordergrunds für inversen Text\n" + "# Voreinstellung: 7 (weiß)\n" #: src/lang.c:2133 -msgid "Prepend signature with \"-- \"" -msgstr "Trenne Sig mit \"-- \" ab" +msgid "Color of text lines" +msgstr "Farbe der Textzeilen" #: src/lang.c:2134 -msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" -msgstr "# Falls ON trenne Signatur mit '\\n-- \\n' ab\n" - -#: src/lang.c:2138 -msgid "Add signature when reposting articles. toggles & sets." -msgstr "Sig. beim Reposten eines Artikels hinzufügen? wechselt & setzt." - -#: src/lang.c:2139 -msgid "Add signature when reposting" -msgstr "Signatur beim Reposten anhängen" +msgid "# Color of text lines\n" + "# Default: -1 (default color)\n" +msgstr "# Farbe der Textzeilen\n" + "# Voreinstellung: -1 (Standard Farbe)\n" #: src/lang.c:2140 -msgid "# If ON add signature to reposted articles\n" -msgstr "# Falls ON wird die Signatur auch an repostete Artikel angehängt.\n" +msgid "Color of mini help menu" +msgstr "Farbe des Minihilfemenü" -#: src/lang.c:2144 -#, c-format -msgid "Enter quotation marks, %s or %S for author's initials." -msgstr "Zitatzeichen eingeben, %s oder %S für die Initialen des Verfassers." - -#: src/lang.c:2145 -msgid "Characters used as quote-marks" -msgstr "Zitatzeichen" - -#: src/lang.c:2146 -#, c-format -msgid "# Characters used in quoting to followups and replies.\n" - "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" -msgstr "# Zeichen für Zitate in Antworten.\n" - "# '_' wird durch ' ' ersetzt. %%s, %%S wird ersetzt durch Autoreninitialen.\n" - -#: src/lang.c:2152 -msgid "Quoting behavior" -msgstr "Zitierverhalten" - -#: src/lang.c:2153 -msgid "# How quoting should be handled when following up or replying.\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = Nothing special\n" - "# 1 = Compress quotes\n" - "# 2 = Quote signatures\n" - "# 3 = Compress quotes, quote signatures\n" - "# 4 = Quote empty lines\n" - "# * 5 = Compress quotes, quote empty lines\n" - "# 6 = Quote signatures, quote empty lines\n" - "# 7 = Compress quotes, quote signatures, quote empty lines\n" -msgstr "# Spezielle Optionen beim Zitieren\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# 0 = nichts besonderes\n" - "# 1 = Zitatzeichen zusammenziehen: '>>> ' statt '> > > '\n" - "# 2 = Signaturen zitieren\n" - "# 3 = Zitatzeichen zusammenziehen & Signaturen zitieren\n" - "# 4 = Leerzeilen zitieren\n" - "# * 5 = Zitatzeichen zusammenziehen & Leerzeilen zitieren\n" - "# 6 = Signaturen zitieren & Leerzeilen zitieren\n" - "# 7 = Zitatzeichen zusammenziehen & Signaturen zitieren & Leerzeilen " - "zitieren\n" - -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 -msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" -msgstr "%A Adr %D Datum %F Adr+Name %G Gruppenname %M Message-ID %N Name %C Vorname" - -#: src/lang.c:2167 -msgid "Quote line when following up" -msgstr "Einleitungszeile beim Antworten" +#: src/lang.c:2141 +msgid "# Color of mini help menu\n" + "# Default: 3 (brown)\n" +msgstr "# Farbe des Minihilfemenü\n" + "# Voreinstellung: 3 (braun)\n" + +#: src/lang.c:2147 +msgid "Color of help text" +msgstr "Farbe des Hilfstext" + +#: src/lang.c:2148 +msgid "# Color of help pages\n" + "# Default: -1 (default color)\n" +msgstr "# Farbe der Hilfsseiten\n" + "# Voreinstellung: -1 (Standard Farbe)\n" + +#: src/lang.c:2154 +msgid "Color of status messages" +msgstr "Farbe der Statusmeldungen" + +#: src/lang.c:2155 +msgid "# Color of messages in last line\n" + "# Default: 6 (cyan)\n" +msgstr "# Farbe der letzten Zeile im Artikel\n" + "# Voreinstellung: 6 (cyan)\n" + +#: src/lang.c:2161 +msgid "Color of quoted lines" +msgstr "Farbe der zitierten Zeilen" + +#: src/lang.c:2162 +msgid "# Color of quote-lines\n" + "# Default: 2 (green)\n" +msgstr "# Farbe der zitierten Zeilen\n" + "# Voreinstellung: 2 (grün)\n" #: src/lang.c:2168 -#, c-format -msgid "# Format of quote line when mailing/posting/following-up an article\n" - "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" - "# %%N Full Name %%C First Name %%I Initials\n" -msgstr "# Format der Einleitungszeile beim Schreiben/Beantworten von Artikeln\n" - "# %%A Adresse %%D Datum %%F Adr+Name %%G Gruppenname %%M Message-ID\n" - "# %%N Voller Name %%C Vorname %%I Initialen\n" +msgid "Color of twice quoted line" +msgstr "Farbe von zweifach zitierten Zeilen" + +#: src/lang.c:2169 +msgid "# Color of twice quoted lines\n" + "# Default: 3 (brown)\n" +msgstr "# Farbe von zweifach zitierten Zeilen\n" + "# Voreinstellung: 3 (braun)\n" #: src/lang.c:2175 -msgid "Quote line when cross-posting" -msgstr "Einleitungszeile beim Crossposten" +msgid "Color of =>3 times quoted line" +msgstr "Farbe von =>3-fach zitierten Zeilen" -#: src/lang.c:2181 -msgid "Quote line when mailing" -msgstr "Einleitungszeile bei Mailantwort" - -#: src/lang.c:2186 -msgid "If ON, include User-Agent: header. toggles & sets." -msgstr "Falls ON, füge User-Agent:-Header ein. wechselt & setzt." - -#: src/lang.c:2187 -msgid "Insert 'User-Agent:'-header" -msgstr "Füge 'User-Agent:'-header ein" - -#: src/lang.c:2188 -msgid "# If ON include advertising User-Agent: header\n" -msgstr "# Falls ON füge 'User-Agent: header' ein\n" - -#: src/lang.c:2193 -msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." -msgstr "Zeichensatz für MIME (z.B. US-ASCII, ISO-8859-1, EUC-KR), setzt." - -#: src/lang.c:2194 -msgid "MM_CHARSET" -msgstr "MM_CHARSET" - -#: src/lang.c:2195 -msgid "# Charset supported locally which is also used for MIME header and\n" - "# Content-Type header.\n" - "# If not set, the value of the environment variable MM_CHARSET is used.\n" - "# Set to US-ASCII or compile time default if neither of them is defined.\n" - "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" - "# mm_charset is considered not displayable and represented as '?'.\n" -msgstr "# Der lokale Zeichensatz, der auch für MIME- und Content-Type-Header\n" - "# genutzt wird.\n" - "# Wenn der Wert nicht hier gesetzt wird, wird die Umgebungsvariable " - "MM_CHARSET\n" - "# benutzt, ansonsten wird US-ASCII oder der bei Kompilieren angegebene Wert\n" - "# verwendet.\n" - "# War während des Kompilierens MIME_STRICT_CHARSET\n" - "# definiert, werden andere Zeichensätze als mm_charset nicht dargestellt\n" - "# und die jeweiligen Zeichen durch ein '?' ersetzt.\n" - -#: src/lang.c:2205 -msgid "MM_NETWORK_CHARSET" -msgstr "MM_NETWORK_CHARSET" - -#: src/lang.c:2206 -msgid "# Charset used for MIME (Content-Type) header in postings.\n" -msgstr "# Zeichensatz für den MIME (Content-Type) Header der Artikel.\n" - -#: src/lang.c:2212 -msgid "Mailbox format" -msgstr "Mailbox-Format" - -#: src/lang.c:2213 -msgid "# Format of the mailbox.\n" -msgstr "# Format der Mailbox.\n" +#: src/lang.c:2176 +msgid "# Color of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" +msgstr "# Farbe von =>3-fach zitierten Zeilen\n" + "# Voreinstellung: 4 (blau)\n" + +#: src/lang.c:2182 +msgid "Color of article header lines" +msgstr "Farbe der Artikelheaderzeilen" + +#: src/lang.c:2183 +msgid "# Color of header-lines\n" + "# Default: 2 (green)\n" +msgstr "# Farbe der Artikelheaderzeilen\n" + "# Voreinstellung: 2 (grün)\n" + +#: src/lang.c:2189 +msgid "Color of actual news header fields" +msgstr "Farbe des angezeigten Headers" + +#: src/lang.c:2190 +msgid "# Color of actual news header fields\n" + "# Default: 9 (light red)\n" +msgstr "# Farbe des angezeigten Headers\n" + "# Voreinstellung: 9 (hellrot)\n" + +#: src/lang.c:2196 +msgid "Color of article subject lines" +msgstr "Farbe der Subjectzeile" + +#: src/lang.c:2197 +msgid "# Color of article subject\n" + "# Default: 6 (cyan)\n" +msgstr "# Farbe der Subjectzeile\n" + "# Voreinstellung: 6 (cyan)\n" + +#: src/lang.c:2203 +msgid "Color of response counter" +msgstr "Farbe des Antwortzählers" + +#: src/lang.c:2204 +msgid "# Color of response counter\n" + "# Default: 2 (green)\n" +msgstr "# Farbe des Antwortzählers\n" + "# Voreinstellung: 2 (grün)\n" + +#: src/lang.c:2210 +msgid "Color of sender (From:)" +msgstr "Farbe des Autors (From:)" + +#: src/lang.c:2211 +msgid "# Color of sender (From:)\n" + "# Default: 2 (green)\n" +msgstr "# Farbe des Autors (From:)\n" + "# Voreinstellung: 2 (grün)\n" + +#: src/lang.c:2217 +msgid "Color of help/mail sign" +msgstr "Farbe des Hilfe/Mail-Zeichens" #: src/lang.c:2218 -msgid "MIME encoding in news messages" -msgstr "MIME-Kodierung in Newsartikeln" - -#: src/lang.c:2219 -msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" - "# for mails and posts, if necessary. QP is efficient for most European\n" - "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" - "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" - "# Russian charsets with a lot of 8bit characters.\n" -msgstr "# MIME-Kodierung (8bit, base64, quoted-printable, 7bit) des Textkörpers " - "(Body)\n" - "# von Mails oder Postings (falls nötig). QP ist sinnvoll für die meisten\n" - "# Europäischen Zeichensätze (ISO-8859-X), die nur einen kleinen Anteil\n" - "# von nicht-US-ASCII Zeichen haben, während Base64 die bessere Wahl für\n" - "# die meisten 8Bit Zeichensätze aus Ostasien, Griechenland und Russland\n" - "# ist, da dort gehäuft 8Bit Zeichen vorkommen.\n" - -#: src/lang.c:2227 src/lang.c:2248 -msgid "Don't change unless you know what you are doing. cancels." -msgstr "Nur ändern, wenn Sie genau wissen, was Sie machen. bricht ab." - -#: src/lang.c:2228 -msgid "Use 8bit characters in news headers" -msgstr "Benutze 8bit-Zeichen im Newsheader" - -#: src/lang.c:2229 -msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in header are encoded regardless of the value of this\n" - "# parameter unless post_mime_encoding is 8bit as well.\n" -msgstr "# Wenn ON werden 8-Bit-Zeichen (wie z.B. Umlaute) im Header von\n" - "# Newsartikeln NICHT kodiert.\n" - "# Voreinstellung ist OFF, d.h. 8-Bit-Zeichen werden kodiert.\n" - "# 8-Bit-Zeichen in Newsheadern werden unabhängig von dieser Einstellung\n" - "# kodiert, wenn post_mime_encoding nicht auch auf 8bit eingestellt\n" - "# ist.\n" - -#: src/lang.c:2236 -msgid "Auto-view post-processed files toggles, sets, cancels." -msgstr "Nachbearbeitete Artikel autom. anz. wechselt, setzt, Ende." - -#: src/lang.c:2237 -msgid "View post-processed files" -msgstr "Nachbearbeitete Artikel anzeigen" +msgid "# Color of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" +msgstr "# Farbe des Hilfe/Mail-Zeichens\n" + "# Voreinstellung: 4 (blau)\n" + +#: src/lang.c:2224 +msgid "Color of signatures" +msgstr "Farbe von Signaturen" + +#: src/lang.c:2225 +msgid "# Color of signature\n" + "# Default: 4 (blue)\n" +msgstr "# Farbe von Signaturen\n" + "# Voreinstellung: 4 (blau)\n" + +#: src/lang.c:2231 +msgid "Color of highlighted URLs" +msgstr "Farbe der hervorgehobenen URLs" + +#: src/lang.c:2232 +msgid "# Color of highlighted URLs\n" + "# Default: -1 (default color)\n" +msgstr "# Farbe der hervorgehobenen URLs\n" + "# Voreinstellung: -1 (Standard Farbe)\n" #: src/lang.c:2238 -msgid "# If set, post processed files will be opened in a viewer\n" -msgstr "# Wenn ON werden nachbearbeitete Artikel automatisch angezeigt.\n" +msgid "Color of verbatim blocks" +msgstr "" -#: src/lang.c:2243 -msgid "MIME encoding in mail messages" -msgstr "MIME-Kodierung für E-Mails" - -#: src/lang.c:2249 -msgid "Use 8bit characters in mail headers" -msgstr "Benutze 8bit Zeichen im Mail Header" - -#: src/lang.c:2250 -msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in headers are encoded regardless of the value of this " - "parameter\n" - "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" - "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" - "# turn it ON unless you have some compelling reason.\n" -msgstr "# Wenn ON werden 8-Bit-Zeichen (wie z.B. Umlaute) im Header von\n" - "# E-Mails NICHT kodiert.\n" - "# Voreinstellung ist OFF, d.h. 8-Bit-Zeichen werden kodiert.\n" - "# 8-Bit-Zeichen in E-Mailheadern werden unabhängig von dieser Einstellung\n" - "# kodiert, wenn mail_mime_encoding nicht auch auf 8bit eingestellt\n" - "# ist. Beachten Sie aber, dass RFC 2822 8-Bit-Zeichen in\n" - "# E-Mailheadern verbieten, daher sollte diese Einstellung NICHT auf ON\n" - "# geändert werden, wenn es keine zwingende Gründe dafür gibt.\n" +#: src/lang.c:2239 +msgid "# Color of verbatim blocks\n" + "# Default: 5 (pink)\n" +msgstr "" + +#: src/lang.c:2245 +msgid "Color of highlighting with *stars*" +msgstr "Farbe der Hervorhebung *Sterne*" + +#: src/lang.c:2246 +msgid "# Color of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" +msgstr "# Farbe der Hervorhebung durch *Sterne*\n" + "# Voreinstellung: 11 (gelb)\n" + +#: src/lang.c:2252 +msgid "Color of highlighting with _dash_" +msgstr "Farbe der Hervorhebung _Striche_" + +#: src/lang.c:2253 +msgid "# Color of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" +msgstr "# Farbe der Hervorhebung durch _Striche_\n" + "# Voreinstellung: 13 (hellrosa)\n" + +#: src/lang.c:2259 +msgid "Color of highlighting with /slash/" +msgstr "Farbe der Hervorhebung /Schrägstr./" #: src/lang.c:2260 -msgid "Strip blanks from ends of lines" -msgstr "Leerzeichen am Zeilenende entfernen" - -#: src/lang.c:2261 -msgid "# If ON strip blanks from ends of lines for faster display on slow " - "terminals.\n" -msgstr "# Falls ON lösche Leerzeichen am Zeilenende; verbessert die Geschwindigkeit\n" +msgid "# Color of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" +msgstr "# Farbe der Hervorhebung durch /Schrägstriche/\n" + "# Voreinstellung: 11 (hellcyan)\n" #: src/lang.c:2266 -msgid "If ON, use transliteration. toggles & sets." -msgstr "Wenn ON verwende Umschreibungen. wechselt & setzt." +msgid "Color of highlighting with -stroke-" +msgstr "Farbe der Hervorhebung -Durchstr.-" #: src/lang.c:2267 -msgid "Transliteration" -msgstr "Verwende Umschreibungen" - -#: src/lang.c:2268 -msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" - "# be represented in the in the target character set, it can be approximated\n" - "# through one or several similarly looking characters.\n" -msgstr "# Wenn ON verwende //TRANSLIT Erweiterung. Das heisst, dass nicht\n" - "# darstellbare Zeichen durch Umschreibungen oder ähnlich aussehende\n" - "# Zeichen ersetzt werden. So würde z.B. das Euro-Symbol auf einem latin-1\n" - "# Terminal als EUR umschrieben, ohne //TRANSLIT würde tin ein\n" - "# Fragezeichen verwenden.\n" +msgid "# Color of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" +msgstr "# Farbe der Hervorhebung durch -Durchstreichen-\n" + "# Voreinstellung: 12 (hellblau)\n" + +#: src/lang.c:2274 +msgid "Attr. of highlighting with *stars*" +msgstr "Hervorhebungsattribute *Sterne*" #: src/lang.c:2275 -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "Sendet ihnen automatisch eine Kopie. wechselt & setzt." - -#: src/lang.c:2276 -msgid "Send you a cc automatically" -msgstr "Sendet Ihnen ein Cc automatisch" - -#: src/lang.c:2277 -msgid "# If ON automatically put your name in the Cc: field when mailing an article\n" -msgstr "# Falls ON wird Ihr Name in das Cc: Feld beim Mailen des Artikels eingesetzt\n" - -#: src/lang.c:2281 -msgid "Send you a blind carbon copy automatically. toggles & sets." -msgstr "Sendet ihnen automatisch eine blinde Kopie. wechselt & setzt." - -#: src/lang.c:2282 -msgid "Send you a blind cc automatically" -msgstr "Sendet Ihnen eine blinde cc autom." - -#: src/lang.c:2283 -msgid "# If ON automatically put your name in the Bcc: field when mailing an " - "article\n" -msgstr "# Falls ON wird Ihr Name in das Bcc: Feld beim Mailen des Artikels " - "eingesetzt\n" - -#: src/lang.c:2287 -msgid "Enter address elements about which you want to be warned. sets." -msgstr "Geben Sie den Adressenteil an, vor dem Sie gewarnt werden. setzt." - -#: src/lang.c:2288 -msgid "Spamtrap warning address parts" -msgstr "Spamfallenwarnung in Adresse" - -#: src/lang.c:2289 -msgid "# A comma-delimited list of address-parts you want to be warned\n" - "# about when trying to reply by email.\n" -msgstr "# Eine Komma-separierte Liste von Adressteilen, vor denen gewarnt wird, wenn\n" - "# Sie via Mail antworten wollen.\n" - -#: src/lang.c:2294 -msgid "Enter default number of days a filter entry will be valid. sets." -msgstr "Gültigkeit eines Filtereintrags in Tagen. setzt." - -#: src/lang.c:2295 -msgid "No. of days a filter entry is valid" -msgstr "Tage, die ein Filter gültig ist" - -#: src/lang.c:2296 -msgid "# Number of days a short term filter will be active\n" -msgstr "# Anzahl der Tage die ein temporärer Filter aktiv ist\n" - -#: src/lang.c:2300 -msgid "Add posted articles to filter. toggles & sets." -msgstr "Gepostete Artikel zum Filter hinzufügen. wechselt & setzt." - -#: src/lang.c:2301 -msgid "Add posted articles to filter" -msgstr "Füge gepostete Artikel zum Filter" - -#: src/lang.c:2302 -msgid "# If ON add posted articles which start a new thread to filter for\n" - "# highlighting follow-ups\n" -msgstr "# Falls ON füge gepostete Artikel die einen neuen Thread einleiten\n" - "# zum Filter hinzu um evtl. Antworten hervorzuheben\n" - -#: src/lang.c:2306 -msgid "The directory where articles/threads are to be saved in mailbox format." -msgstr "Verzeichnis, in dem Artikel/Threads im mailbox-Format gespeichert werden." - -#: src/lang.c:2307 -msgid "Mail directory" -msgstr "Mail Verzeichnis" - -#: src/lang.c:2308 -msgid "# (-m) directory where articles/threads are saved in mailbox format\n" -msgstr "# (-m) Verzeichnis für im mailbox-Format gespeicherte Artikel/Threads\n" - -#: src/lang.c:2313 -msgid "Save articles in batch mode (-S)" -msgstr "Speicher Artikel im Batchmode (-S)" - -#: src/lang.c:2314 -msgid "# If ON articles/threads will be saved in batch mode when save -S\n" - "# or mail (-M/-N) is specified on the command line\n" -msgstr "# Falls ON werden Artikel/Threads im Batchmode gespeichert wenn -S,\n" - "# oder gemailt, wenn -M bzw. -N in der Kommandozeile angegeben wurde.\n" - -#: src/lang.c:2319 -msgid "The directory where you want articles/threads saved." -msgstr "Das Verzeichnis, in dem Artikel/Threads gespeichert werden sollen." - -#: src/lang.c:2320 -msgid "Directory to save arts/threads in" -msgstr "Verz. um Art/Threads zu speichern" - -#: src/lang.c:2321 -msgid "# Directory where articles/threads are saved\n" -msgstr "# Verzeichnis in dem Artikel/Threads gespeichert werden\n" - -#: src/lang.c:2325 -msgid "Auto save article/thread by Archive-name: header. toggles & sets." -msgstr "Autom. sp. von Art/Thread anhand Archive-name:-Header. wechselt & " - " setzt." - -#: src/lang.c:2326 -msgid "Use Archive-name: header for save" -msgstr "Nutze Archive-name: zum Speichern" - -#: src/lang.c:2327 -msgid "# If ON articles/threads with Archive-name: in mail header will\n" - "# be automatically saved with the Archive-name & part/patch no.\n" -msgstr "# Falls ON werden Artikel mit gesetztem Archive-name:-Header unter\n" - "# diesem abgespeichert\n" - -#: src/lang.c:2332 -msgid "Mark saved articles/threads as read. toggles, sets, " - "cancels." -msgstr "Gesp. Art. gelesen markieren. wechselt, setzt, bricht ab." +msgid "# Attributes of word highlighting on mono terminals\n" + "# Possible values are:\n" + "# 0 = Normal\n" + "# 1 = Underline\n" + "# 2 = Best highlighting\n" + "# 3 = Reverse video\n" + "# 4 = Blinking\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# Attribute of word highlighting with *stars*\n" + "# Default: 6 (bold)\n" +msgstr "# Attribute der Hervorhebung von Wörtern auf monochromen Terminals.\n" + "# Mögliche Werte sind:\n" + "# 0 = normal\n" + "# 1 = unterstrichen\n" + "# 2 = beste Hervorhebung\n" + "# 3 = invers\n" + "# 4 = blinkend\n" + "# 5 = halbe Helligkeit\n" + "# 6 = fett\n" + "\n" + "# Hervorhebungsattribut für *Sterne*\n" + "# Voreinstellung: 6 (fett)\n" + +#: src/lang.c:2290 +msgid "Attr. of highlighting with _dash_" +msgstr "Hervorhebungsattr. _Unterstriche_" + +#: src/lang.c:2291 +msgid "# Attribute of word highlighting with _dash_\n" + "# Default: 2 (best highlighting)\n" +msgstr "# Hervorhebungsattribut für _Unterstriche_\n" + "# Voreinstellung: 2 (beste Hervorhebung)\n" + +#: src/lang.c:2297 +msgid "Attr. of highlighting with /slash/" +msgstr "Hervorhebungsattr. /Schrägstriche/" + +#: src/lang.c:2298 +msgid "# Attribute of word highlighting with /slash/\n" + "# Default: 5 (half bright)\n" +msgstr "# Hervorhebungsattribut für /Schrägstriche/\n" + "# Voreinstellung: 5 (halbe Helligkeit)\n" + +#: src/lang.c:2304 +msgid "Attr. of highlighting with -stroke-" +msgstr "Hervorhebungsattr. -Durchstreich.-" + +#: src/lang.c:2305 +msgid "# Attribute of word highlighting with -stroke-\n" + "# Default: 3 (reverse video)\n" +msgstr "# Hervorhebungsattribut für -Durchstreichen-\n" + "# Voreinstellung: 3 (Invers)\n" + +#: src/lang.c:2311 +msgid "URL highlighting in message body" +msgstr "URL-Hervorhebung im Artikel" + +#: src/lang.c:2312 +msgid "# Enable URL highlighting?\n" +msgstr "# URL-Hervorhebung aktivieren?\n" + +#: src/lang.c:2317 +msgid "Word highlighting in message body" +msgstr "Wort-Hervorhebung im Artikel" + +#: src/lang.c:2318 +msgid "# Enable word highlighting?\n" +msgstr "# Wort-Hervorhebung aktivieren?\n" + +#: src/lang.c:2323 +msgid "What to display instead of mark" +msgstr "Anstelle der Markierung anzeigen" + +#: src/lang.c:2324 +msgid "# Should the leading and ending stars and dashes also be displayed,\n" + "# even when they are highlighting marks?\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = no\n" + "# 1 = yes, display mark\n" + "# * 2 = print a space instead\n" +msgstr "# Sollen die führenden und abschließenden Sterne und Striche dargestellt\n" + "# werden, auch wenn sie Hervorhebungsmarkierungen sind?\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = nein\n" + "# 1 = ja, anzeigen\n" + "# * 2 = Leerzeichen anstelle darstellen\n" #: src/lang.c:2333 -msgid "Mark saved articles/threads as read" -msgstr "Mark. gesp. Artikel/Threads gelesen" +msgid "Enter column number to wrap article lines to in the pager. sets." +msgstr "Nach wie vielen Zeichen soll im Pager umbrochen werden? setzt." #: src/lang.c:2334 -msgid "# If ON mark articles that are saved as read\n" -msgstr "# Falls ON werden gespeicherte Artikel als gelesen markiert\n" +msgid "Page line wrap column" +msgstr "Zeilen umbrechen nach" -#: src/lang.c:2338 -msgid "Do post processing (eg. extract attachments) for saved articles." -msgstr "Bearbeite (z.B. unshar) gesp. Art/Threads. wechselt, setzt." - -#: src/lang.c:2339 -msgid "Post process saved articles" -msgstr "Nachbearbeiten gespeichert. Artikel" +#: src/lang.c:2335 +msgid "# Wrap article lines at column\n" +msgstr "# In der Artikelanzeige Zeilen umbrechen bei Spalte\n" #: src/lang.c:2340 -msgid "# Perform post processing (saving binary attachments) from saved articles.\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no\n" - "# 1 = extract shell archives (shar) only\n" - "# 2 = yes\n" -msgstr "# Nachbearbeiten gespeicherter Artikel\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# * 0 = nein\n" - "# 1 = ja\n" - "# 2 = nur Shell Archive (shar) auspacken\n" - -#: src/lang.c:2349 -msgid "Process only unread articles" -msgstr "Bearbeite nur ungelesene Artikel" - -#: src/lang.c:2350 -msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" -msgstr "# Falls ON speichere/drucke/pipe/maile nur ungelesene Artikel\n" - "# (markierte Artikel ausgenommen)\n" - -#: src/lang.c:2355 -msgid "Print all or just part of header. toggles & sets." -msgstr "Drucke alles oder nur Teile des Headers wechselt & setzt." - -#: src/lang.c:2356 -msgid "Print all headers when printing" -msgstr "Alle Header beim Drucken ausgeben" +msgid "Wrap around threads on next unread" +msgstr "Nä.ungel.-kein Abbr. am Listenende?" + +#: src/lang.c:2341 +msgid "# If ON wrap around threads on searching next unread article\n" +msgstr "# Diverse Funktionen in tin wechseln zum \"nächsten\" ungelesenen\n" + "# Artikel. Diese Einstellung kontrolliert, ob tin am Ende der\n" + "# Artikel/Threadliste abbricht (OFF) oder zum Beginn derselben springt und\n" + "# von dort aus den nächsten ungelesenen Artikel sucht. (ON)\n" + +#: src/lang.c:2345 +msgid "Enter default mail address (and fullname). sets." +msgstr "Standard Mail-Adresse (und Name) eingeben. setzt." + +#: src/lang.c:2346 src/lang.c:2770 +msgid "Mail address (and fullname)" +msgstr "Mailadresse (und Name)" + +#: src/lang.c:2347 +msgid "# User's mail address (and fullname), if not username@host (fullname)\n" +msgstr "# EMail-Adresse und vollständiger Name des Benutzers, wenn sie nicht\n" + "# benutzername@host (Vollständiger Name) lautet\n" + +#: src/lang.c:2352 +msgid "Show empty Followup-To in editor" +msgstr "Leeres Fup'2 im Editor anzeigen" + +#: src/lang.c:2353 +msgid "# If ON show empty Followup-To header when editing an article\n" +msgstr "# Wenn ON, zeige leeren Followup-To:-Header im Editor\n" #: src/lang.c:2357 -msgid "# If ON print all of article header otherwise just the important lines\n" -msgstr "# Falls ON drucke alle Header des Artikels aus. Ansonsten nur die " - "wichtigsten\n" - -#: src/lang.c:2361 -msgid "The printer program with options that is to be used to print articles/threads." -msgstr "Das Druckprogramm, das zum drucken von Artikeln/Threads benutzt wird." - -#: src/lang.c:2362 -msgid "Printer program with options" -msgstr "Druckprogramm mit Optionen" - -#: src/lang.c:2363 -msgid "# Print program with parameters used to print articles/threads\n" -msgstr "# Druckprogramm mit Optionen zum drucken der Artikel/Threads\n" - -#: src/lang.c:2369 -msgid "Force redraw after certain commands" -msgstr "Anzeigeauffrischung nach Kommandos" - -#: src/lang.c:2370 -msgid "# If ON a screen redraw will always be done after certain external commands\n" -msgstr "# Falls ON wird die Anzeige nach einigen externen Kommandos aufgefrischt\n" +msgid "Enter path/! command/--none to create your default signature. sets." +msgstr "Setze Pfad/! Kommando/--none um Ihre Signatur festzulegen. setzt." + +#: src/lang.c:2358 +msgid "Create signature from path/command" +msgstr "Erzeuge Signatur aus Pfad/Kommando" + +#: src/lang.c:2359 +msgid "# Signature path (random sigs)/file to be used when posting/replying\n" + "# sigfile=file appends file as signature\n" + "# sigfile=!command executes external command to generate a signature\n" + "# sigfile=--none don't append a signature\n" +msgstr "# Pfad der Sig (Zufällige Sigs)/Datei die für Antworten genutzt wird\n" + "# sigfile=Datei fügt Datei als Signatur an\n" + "# sigfile=!Kommando führt Kommando aus um Sig zu erzeugen\n" + "# sigfile=--none hängt keine Signatur an\n" + +#: src/lang.c:2366 +msgid "Prepend signature with \"-- \" on own line. toggles & sets." +msgstr "Trenne Sig mit \"-- \" in eigener Zeile ab. wechselt & setzt." + +#: src/lang.c:2367 +msgid "Prepend signature with \"-- \"" +msgstr "Trenne Sig mit \"-- \" ab" + +#: src/lang.c:2368 +msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" +msgstr "# Falls ON trenne Signatur mit '\\n-- \\n' ab\n" + +#: src/lang.c:2372 +msgid "Add signature when reposting articles. toggles & sets." +msgstr "Sig. beim Reposten eines Artikels hinzufügen? wechselt & setzt." + +#: src/lang.c:2373 +msgid "Add signature when reposting" +msgstr "Signatur beim Reposten anhängen" #: src/lang.c:2374 -msgid "Start editor with line offset. toggles, sets, cancels." -msgstr "Starte Editor mit Einrückung. wechselt, setzt, bricht ab." +msgid "# If ON add signature to reposted articles\n" +msgstr "# Falls ON wird die Signatur auch an repostete Artikel angehängt.\n" -#: src/lang.c:2375 -msgid "Start editor with line offset" -msgstr "Starte Editor mit Einrückung" - -#: src/lang.c:2376 -msgid "# If ON editor will be started with cursor offset into the file\n" - "# otherwise the cursor will be positioned at the first line\n" -msgstr "# Falls ON wird der Cursor im Editor an die definierte Position gesetzt.\n" - "# Anderenfalls wird der Cursor in die erste Zeile gesetzt\n" - -#: src/lang.c:2381 -msgid "Enter %E for editor, %F for filename, %N for line-number, to set." -msgstr "%E für Editor, %F für Dateiname, %N für Zeilennummer, setzt." - -#: src/lang.c:2382 -msgid "Invocation of your editor" -msgstr "Aufruf Ihres Editors" - -#: src/lang.c:2383 -#, c-format -msgid "# Format of editor line including parameters\n" - "# %%E Editor %%F Filename %%N Linenumber\n" -msgstr "# Format der Editorzeile mit den Parametern für den Aufruf\n" - "# %%E Editor %%F Dateiname %%N Zeilennummer\n" - -#: src/lang.c:2388 -msgid "Enter name and options for external-inews, --internal for internal inews" -msgstr "Name und Optionen für ext. inews, --internal für eingebaute Version" - -#: src/lang.c:2389 -msgid "External inews" -msgstr "Externes inews-Programm" - -#: src/lang.c:2390 -msgid "# If --internal use the built in mini inews for posting via NNTP\n" - "# otherwise use an external inews program\n" -msgstr "# Falls --internal wird das eingebaute mini inews zum posten via NNTP\n" - "# benutzt, sonst wird das hier angegebene Programm mit den angegebenen\n" - "# Optionen verwendet. z.B. 'inews -h'\n" - -#: src/lang.c:2394 -msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." -msgstr "%M für den Mailer, %S für Subject, %T für to, %F für Dateinamen, setzt." - -#: src/lang.c:2395 -msgid "Invocation of your mail command" -msgstr "Aufruf Ihres Mailkommandos" - -#: src/lang.c:2396 -#, c-format -msgid "# Format of mailer line including parameters\n" - "# %%M Mailer %%S Subject %%T To %%F Filename\n" - "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" - "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" -msgstr "# Format der Mailkommandozeile mit Ihren Parametern\n" - "# %%M Mailprogramm %%S Subject %%T To %%F Dateiname\n" - "# Ein Beispiel für elm : elm -s \"%%S\" \"%%T\" < %%F\n" - "# Ein Beispiel für elm interaktiv: elm -i %%F -s \"%%S\" \"%%T\"\n" - -#: src/lang.c:2404 -msgid "Use interactive mail reader" -msgstr "Benutze interaktives Mailprogramm" - -#: src/lang.c:2405 -msgid "# Interactive mailreader\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no interactive mailreader\n" - "# 1 = use interactive mailreader with headers in file\n" - "# 2 = use interactive mailreader without headers in file\n" -msgstr "# Interaktives Mailprogramm.\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# * 0 = kein interaktives Mailprogramm\n" - "# 1 = interaktives Mailprogramm, Mailheader werden in der Datei mit " - "übergeben\n" - "# 2 = interaktives Mailprogramm, Mailheader werden als Argumente übergeben\n" - -#: src/lang.c:2414 -msgid "Remove ~/.article after posting" -msgstr "Entferne ~/.article nach dem posten" +#: src/lang.c:2378 +#, c-format +msgid "Enter quotation marks, %s or %S for author's initials." +msgstr "Zitatzeichen eingeben, %s oder %S für die Initialen des Verfassers." -#: src/lang.c:2415 -msgid "# If ON remove ~/.article after posting.\n" -msgstr "# Falls ON entferne ~/.article nach dem posten.\n" +#: src/lang.c:2379 +msgid "Characters used as quote-marks" +msgstr "Zitatzeichen" + +#: src/lang.c:2380 +#, c-format +msgid "# Characters used in quoting to followups and replies.\n" + "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" +msgstr "# Zeichen für Zitate in Antworten.\n" + "# '_' wird durch ' ' ersetzt. %%s, %%S wird ersetzt durch Autoreninitialen.\n" + +#: src/lang.c:2386 +msgid "Quoting behavior" +msgstr "Zitierverhalten" + +#: src/lang.c:2387 +msgid "# How quoting should be handled when following up or replying.\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = Nothing special\n" + "# 1 = Compress quotes\n" + "# 2 = Quote signatures\n" + "# 3 = Compress quotes, quote signatures\n" + "# 4 = Quote empty lines\n" + "# * 5 = Compress quotes, quote empty lines\n" + "# 6 = Quote signatures, quote empty lines\n" + "# 7 = Compress quotes, quote signatures, quote empty lines\n" +msgstr "# Spezielle Optionen beim Zitieren\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = nichts besonderes\n" + "# 1 = Zitatzeichen zusammenziehen: '>>> ' statt '> > > '\n" + "# 2 = Signaturen zitieren\n" + "# 3 = Zitatzeichen zusammenziehen & Signaturen zitieren\n" + "# 4 = Leerzeilen zitieren\n" + "# * 5 = Zitatzeichen zusammenziehen & Leerzeilen zitieren\n" + "# 6 = Signaturen zitieren & Leerzeilen zitieren\n" + "# 7 = Zitatzeichen zusammenziehen & Signaturen zitieren & Leerzeilen " + "zitieren\n" + +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 +msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" +msgstr "%A Adr %D Datum %F Adr+Name %G Gruppenname %M Message-ID %N Name %C Vorname" + +#: src/lang.c:2401 +msgid "Quote line when following up" +msgstr "Einleitungszeile beim Antworten" + +#: src/lang.c:2402 +#, c-format +msgid "# Format of quote line when mailing/posting/following-up an article\n" + "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" + "# %%N Full Name %%C First Name %%I Initials\n" +msgstr "# Format der Einleitungszeile beim Schreiben/Beantworten von Artikeln\n" + "# %%A Adresse %%D Datum %%F Adr+Name %%G Gruppenname %%M Message-ID\n" + "# %%N Voller Name %%C Vorname %%I Initialen\n" + +#: src/lang.c:2409 +msgid "Quote line when cross-posting" +msgstr "Einleitungszeile beim Crossposten" -#: src/lang.c:2419 -msgid "Filename for all posted articles, sets, no filename=do not save." -msgstr "Dateiname für Kopie geposteter Artikel. setzt, kein Name=keine Kopie." +#: src/lang.c:2415 +msgid "Quote line when mailing" +msgstr "Einleitungszeile bei Mailantwort" #: src/lang.c:2420 -msgid "Filename for posted articles" -msgstr "Gepostete Artikel speichern in" +msgid "If ON, include User-Agent: header. toggles & sets." +msgstr "Falls ON, füge User-Agent:-Header ein. wechselt & setzt." #: src/lang.c:2421 -msgid "# Filename where to keep all postings (default posted)\n" - "# If no filename is set then postings will not be saved\n" -msgstr "# Dateiname für die Kopie aller Postings (Voreinstellung posted)\n" - "# Ist kein Name angegeben wird keine Kopie gespeichert\n" - -#: src/lang.c:2426 -msgid "Keep all failed articles in ~/dead.articles. toggles & sets." -msgstr "Behalte alle Fehlschläge in ~/dead.articles. wechselt & setzt." +msgid "Insert 'User-Agent:' header" +msgstr "Füge 'User-Agent:'-Header ein" + +#: src/lang.c:2422 +msgid "# If ON include advertising User-Agent: header\n" +msgstr "# Falls ON füge User-Agent:-Header ein\n" #: src/lang.c:2427 -msgid "Keep failed arts in ~/dead.articles" -msgstr "Halte Fehlschl. in ~/dead.articles" +msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "Zeichensatz für MIME (z.B. US-ASCII, ISO-8859-1, EUC-KR), setzt." #: src/lang.c:2428 -msgid "# If ON keep all failed postings in ~/dead.articles\n" -msgstr "# Falls ON werden Fehlgeschlagene Artikel in ~/dead.articles verwahrt\n" +msgid "MM_CHARSET" +msgstr "MM_CHARSET" -#: src/lang.c:2432 -msgid "Do you want to strip unsubscribed groups from .newsrc" -msgstr "Wollen Sie nicht-abonnierte Gruppen aus der .newsrc entfernen?" - -#: src/lang.c:2433 -msgid "No unsubscribed groups in newsrc" -msgstr "Nur abonnierte Gruppen in newsrc" - -#: src/lang.c:2434 -msgid "# If ON strip unsubscribed groups from newsrc\n" -msgstr "# Falls ON entferne nicht-abonnierte Gruppen aus der newsrc\n" +#: src/lang.c:2429 +msgid "# Charset supported locally which is also used for MIME header and\n" + "# Content-Type header.\n" + "# If not set, the value of the environment variable MM_CHARSET is used.\n" + "# Set to US-ASCII or compile time default if neither of them is defined.\n" + "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" + "# mm_charset is considered not displayable and represented as '?'.\n" +msgstr "# Der lokale Zeichensatz, der auch für MIME- und Content-Type-Header\n" + "# genutzt wird.\n" + "# Wenn der Wert nicht hier gesetzt wird, wird die Umgebungsvariable " + "MM_CHARSET\n" + "# benutzt, ansonsten wird US-ASCII oder der bei Kompilieren angegebene Wert\n" + "# verwendet.\n" + "# War während des Kompilierens MIME_STRICT_CHARSET\n" + "# definiert, werden andere Zeichensätze als mm_charset nicht dargestellt\n" + "# und die jeweiligen Zeichen durch ein '?' ersetzt.\n" #: src/lang.c:2439 -msgid "Remove bogus groups from newsrc" -msgstr "Lösche nicht vorhan. G. aus newsrc" +msgid "MM_NETWORK_CHARSET" +msgstr "MM_NETWORK_CHARSET" #: src/lang.c:2440 -msgid "# What to do with bogus groups in newsrc file\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = keep\n" - "# 1 = remove\n" - "# 2 = highlight with D on selection screen\n" -msgstr "# Was soll mit nicht mehr vorhanden Gruppen in der newsrc-Datei passieren?\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# * 0 = Behalten\n" - "# 1 = entfernen\n" - "# 2 = Mit D in der Auswahl markieren.\n" - -#: src/lang.c:2448 -msgid "Enter number of seconds until active file will be reread. sets." -msgstr "Sekunden, nach denen die active-Datei wieder gelesen wird. setzt." - -#: src/lang.c:2449 -msgid "Interval in secs to reread active" -msgstr "Active alle ... Sekunden neu lesen" - -#: src/lang.c:2450 -msgid "# Time interval in seconds between rereading the active file (0=never)\n" -msgstr "# Zeitintervall in Sekunden zwischen dem Wiedereinlesen des active (0=nie)\n" - -#: src/lang.c:2455 -msgid "Reconnect to server automatically" -msgstr "Autom. Wiederverbindung zum Server" - -#: src/lang.c:2456 -msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" -msgstr "# Falls ON wird eine unterbrochene Verbindung zum NNTP Server\n" - "# automatisch reaktiviert\n" +msgid "# Charset used for MIME (Content-Type) header in postings.\n" +msgstr "# Zeichensatz für den MIME (Content-Type) Header der Artikel.\n" -#: src/lang.c:2460 -msgid "Create local copies of NNTP overview files. toggles & sets." -msgstr "Erzeuge lokale Kopien der NNTP Overview Dateien. wechselt & " - "setzt." - -#: src/lang.c:2461 -msgid "Cache NNTP overview files locally" -msgstr "Speichere NNTP Overview Daten lokal" - -#: src/lang.c:2462 -msgid "# If ON, create local copies of NNTP overview files.\n" -msgstr "# Falls ON, erzeuge lokale Kopien der NNTP Overview Dateien.\n" - -#: src/lang.c:2466 -msgid "Enter format string. sets, cancels." -msgstr "Format-Zeichenkette eingeben. setzt, bricht ab." - -#: src/lang.c:2467 -msgid "Format string for display of dates" -msgstr "Datums Format-Zeichenkette" - -#: src/lang.c:2468 -msgid "# Format string for date representation\n" -msgstr "# Zeichenkette die die Datumsanzeige beschreibt.\n" - -#: src/lang.c:2474 -msgid "Unicode normalization form" -msgstr "Unicode Normalisierungsart" - -#: src/lang.c:2475 -msgid "# Unicode normalization form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" -msgstr "# Unicode Normalisierungsart\n" - "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" - "# 0 = keine\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" - -#: src/lang.c:2487 -msgid "Render BiDi" -msgstr "BiDi wiedergeben" - -#: src/lang.c:2488 -msgid "# If ON, bi-directional text is rendered by tin\n" -msgstr "# Falls ON, wird bi-direktionaler Text von tin wiedergeben.\n" - -#: src/misc.c:3750 -#, c-format -msgid "Version: %s %s release %s (\"%s\") %s %s\n" -msgstr "Version: %s %s Ausgabe %s (\"%s\") %s %s\n" - -#: src/misc.c:3753 -#, c-format -msgid "Version: %s %s release %s (\"%s\")\n" -msgstr "Version: %s %s Ausgabe %s (\"%s\")\n" - -#: src/newsrc.c:430 -msgid "Unreachable?\n" -msgstr "Unerreichbar?\n" - -#: src/nntplib.c:824 -#, c-format -msgid "\n" - "Server timed out, trying reconnect # %d\n" -msgstr "\n" - "Server reagierte nicht, Wiederholung Nummer # %d\n" - -#: src/nntplib.c:842 src/nntplib.c:1630 -msgid "Rejoin current group\n" -msgstr "Betrete aktuelle Gruppe neu\n" - -#: src/nntplib.c:849 src/nntplib.c:1637 -#, c-format -msgid "Read (%s)\n" -msgstr "Lese (%s)\n" - -#: src/nntplib.c:851 -#, c-format -msgid "Resend last command (%s)\n" -msgstr "Sende letztes Kommando (%s) neu\n" - -# TRANSLATION MISSING -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 -msgid "MOTD: " -msgstr "" - -#: src/nrctbl.c:170 -#, c-format -msgid "couldn't expand %s\n" -msgstr "Kann %s nicht expandieren\n" - -#: src/post.c:1171 -#, c-format -msgid "Line %d is longer than 998 octets and should be folded, but\n" - "encoding is neither set to %s nor to %s\n" -msgstr "Zeile %d ist länger als 998 Oktets und sollte gefaltet werden,\n" - "aber die Kodierung ist weder auf %s noch auf %s gestellt\n" +#: src/lang.c:2444 +msgid "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "Lokaler Zeichensatz (z.B. US-ASCII, ISO-8859-1, EUC-KR), setzt." + +#: src/lang.c:2445 +msgid "MM_LOCAL_CHARSET" +msgstr "MM_LOCAL_CHARSET" + +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "# Lokaler Zeichensatz.\n" + +#: src/lang.c:2453 +msgid "Mailbox format" +msgstr "Mailbox-Format" + +#: src/lang.c:2454 +msgid "# Format of the mailbox.\n" +msgstr "# Format der Mailbox.\n" + +#: src/lang.c:2459 +msgid "MIME encoding in news messages" +msgstr "MIME-Kodierung in Newsartikeln" -#: src/post.c:1176 -#, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" - "posting doesn't contain any 8bit chars and thus folding won't happen\n" -msgstr "Zeile %d ist länger als 998 Oktets und sollte gefaltet werden,\n" - "aber die Kodierung ist auf %s gestellt ohne MIME_BREAK_LONG_LINES\n" - "angeschaltet zu haben, oder der Artikel enhält keine 8Bit Zeichen\n" - "und wird daher nicht automatisch gefaltet wird.\n" - -#: src/post.c:1178 -#, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is not set to %s\n" -msgstr "Zeile %d ist länger als 998 Oktets und sollte gefaltet werden,\n" - "aber die Kodierung ist nicht auf %s gesetzt\n" +#: src/lang.c:2460 +msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" + "# for mails and posts, if necessary. QP is efficient for most European\n" + "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" + "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" + "# Russian charsets with a lot of 8bit characters.\n" +msgstr "# MIME-Kodierung (8bit, base64, quoted-printable, 7bit) des Artikelrumpfs\n" + "# (Body) von Mails oder Postings (falls nötig). QP ist sinnvoll für die\n" + "# meisten Europäischen Zeichensätze (ISO-8859-X), die nur einen kleinen\n" + "# Anteil von nicht-US-ASCII Zeichen haben, während Base64 die bessere Wahl\n" + "# für die meisten 8Bit Zeichensätze aus Ostasien, Griechenland und Russland\n" + "# ist, da dort gehäuft 8Bit Zeichen vorkommen.\n" + +#: src/lang.c:2468 src/lang.c:2489 +msgid "Don't change unless you know what you are doing. cancels." +msgstr "Nur ändern, wenn Sie genau wissen, was Sie machen. bricht ab." + +#: src/lang.c:2469 +msgid "Use 8bit characters in news headers" +msgstr "Benutze 8bit-Zeichen im Newsheader" + +#: src/lang.c:2470 +msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in header are encoded regardless of the value of this\n" + "# parameter unless post_mime_encoding is 8bit as well.\n" +msgstr "# Wenn ON werden 8-Bit-Zeichen (wie z.B. Umlaute) im Header von\n" + "# Newsartikeln NICHT kodiert.\n" + "# Voreinstellung ist OFF, d.h. 8-Bit-Zeichen werden kodiert.\n" + "# 8-Bit-Zeichen in Newsheadern werden unabhängig von dieser Einstellung\n" + "# kodiert, wenn post_mime_encoding nicht auch auf 8bit eingestellt\n" + "# ist.\n" + +#: src/lang.c:2477 +msgid "Auto-view post-processed files toggles, sets, cancels." +msgstr "Nachbearbeitete Artikel autom. anz. wechselt, setzt, Ende." + +#: src/lang.c:2478 +msgid "View post-processed files" +msgstr "Nachbearbeitete Artikel anzeigen" + +#: src/lang.c:2479 +msgid "# If set, post processed files will be opened in a viewer\n" +msgstr "# Wenn ON werden nachbearbeitete Artikel automatisch angezeigt.\n" + +#: src/lang.c:2484 +msgid "MIME encoding in mail messages" +msgstr "MIME-Kodierung für E-Mails" + +#: src/lang.c:2490 +msgid "Use 8bit characters in mail headers" +msgstr "Benutze 8bit Zeichen im Mail Header" + +#: src/lang.c:2491 +msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in headers are encoded regardless of the value of this " + "parameter\n" + "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" + "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" + "# turn it ON unless you have some compelling reason.\n" +msgstr "# Wenn ON werden 8-Bit-Zeichen (wie z.B. Umlaute) im Header von\n" + "# E-Mails NICHT kodiert.\n" + "# Voreinstellung ist OFF, d.h. 8-Bit-Zeichen werden kodiert.\n" + "# 8-Bit-Zeichen in E-Mailheadern werden unabhängig von dieser Einstellung\n" + "# kodiert, wenn mail_mime_encoding nicht auch auf 8bit eingestellt\n" + "# ist. Beachten Sie aber, dass RFC 2822 8-Bit-Zeichen in\n" + "# E-Mailheadern verbieten, daher sollte diese Einstellung NICHT auf ON\n" + "# geändert werden, wenn es keine zwingende Gründe dafür gibt.\n" + +#: src/lang.c:2501 +msgid "Strip blanks from ends of lines" +msgstr "Leerzeichen am Zeilenende entfernen" + +#: src/lang.c:2502 +msgid "# If ON strip blanks from ends of lines for faster display on slow " + "terminals.\n" +msgstr "# Falls ON lösche Leerzeichen am Zeilenende; verbessert die Geschwindigkeit\n" + +#: src/lang.c:2507 +msgid "If ON, use transliteration. toggles & sets." +msgstr "Wenn ON verwende Umschreibungen. wechselt & setzt." + +#: src/lang.c:2508 +msgid "Transliteration" +msgstr "Verwende Umschreibungen" + +#: src/lang.c:2509 +msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" + "# be represented in the in the target character set, it can be approximated\n" + "# through one or several similarly looking characters.\n" +msgstr "# Wenn ON verwende //TRANSLIT Erweiterung. Das heißt, dass nicht\n" + "# darstellbare Zeichen durch Umschreibungen oder ähnlich aussehende\n" + "# Zeichen ersetzt werden. So würde z.B. das Euro-Symbol auf einem latin-1\n" + "# Terminal als EUR umschrieben, ohne //TRANSLIT würde tin ein\n" + "# Fragezeichen verwenden.\n" + +#: src/lang.c:2517 +msgid "Send you a Cc/Bcc automatically" +msgstr "Sendet Ihnen ein Cc/bbc automatisch" + +#: src/lang.c:2518 +msgid "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = No\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc and Bcc\n" +msgstr "" + +#: src/lang.c:2527 +msgid "Enter address elements about which you want to be warned. sets." +msgstr "Geben Sie den Adressenteil an, vor dem Sie gewarnt werden. setzt." + +#: src/lang.c:2528 +msgid "Spamtrap warning address parts" +msgstr "Spamfallenwarnung in Adresse" + +#: src/lang.c:2529 +msgid "# A comma-delimited list of address-parts you want to be warned\n" + "# about when trying to reply by email.\n" +msgstr "# Eine Komma-separierte Liste von Adressteilen, vor denen gewarnt wird, wenn\n" + "# Sie via Mail antworten wollen.\n" + +#: src/lang.c:2534 +msgid "Enter default number of days a filter entry will be valid. sets." +msgstr "Gültigkeit eines Filtereintrags in Tagen. setzt." + +#: src/lang.c:2535 +msgid "No. of days a filter entry is valid" +msgstr "Tage, die ein Filter gültig ist" + +#: src/lang.c:2536 +msgid "# Number of days a short term filter will be active\n" +msgstr "# Anzahl der Tage die ein temporärer Filter aktiv ist\n" + +#: src/lang.c:2540 +msgid "Add posted articles to filter. toggles & sets." +msgstr "Gepostete Artikel zum Filter hinzufügen. wechselt & setzt." + +#: src/lang.c:2541 +msgid "Add posted articles to filter" +msgstr "Füge gepostete Artikel zum Filter" + +#: src/lang.c:2542 +msgid "# If ON add posted articles which start a new thread to filter for\n" + "# highlighting follow-ups\n" +msgstr "# Falls ON füge gepostete Artikel die einen neuen Thread einleiten\n" + "# zum Filter hinzu um evtl. Antworten hervorzuheben\n" + +#: src/lang.c:2546 +msgid "The directory where articles/threads are to be saved in mailbox format." +msgstr "Verzeichnis, in dem Artikel/Threads im mailbox-Format gespeichert werden." + +#: src/lang.c:2547 +msgid "Mail directory" +msgstr "Mail Verzeichnis" + +#: src/lang.c:2548 +msgid "# (-m) directory where articles/threads are saved in mailbox format\n" +msgstr "# (-m) Verzeichnis für im mailbox-Format gespeicherte Artikel/Threads\n" + +#: src/lang.c:2553 +msgid "Save articles in batch mode (-S)" +msgstr "Speicher Artikel im Batchmode (-S)" + +#: src/lang.c:2554 +msgid "# If ON articles/threads will be saved in batch mode when save -S\n" + "# or mail (-M/-N) is specified on the command line\n" +msgstr "# Falls ON werden Artikel/Threads im Batchmode gespeichert wenn -S,\n" + "# oder gemailt, wenn -M bzw. -N in der Kommandozeile angegeben wurde.\n" + +#: src/lang.c:2559 +msgid "The directory where you want articles/threads saved." +msgstr "Das Verzeichnis, in dem Artikel/Threads gespeichert werden sollen." + +#: src/lang.c:2560 +msgid "Directory to save arts/threads in" +msgstr "Verz. um Art/Threads zu speichern" + +#: src/lang.c:2561 +msgid "# Directory where articles/threads are saved\n" +msgstr "# Verzeichnis in dem Artikel/Threads gespeichert werden\n" + +#: src/lang.c:2565 +msgid "Auto save article/thread by Archive-name: header. toggles & sets." +msgstr "Autom. sp. von Art/Thread anhand Archive-name:-Header. wechselt & " + " setzt." + +#: src/lang.c:2566 +msgid "Use Archive-name: header for save" +msgstr "Nutze Archive-name: zum Speichern" + +#: src/lang.c:2567 +msgid "# If ON articles/threads with Archive-name: in mail header will\n" + "# be automatically saved with the Archive-name & part/patch no.\n" +msgstr "# Falls ON werden Artikel mit gesetztem Archive-name:-Header unter\n" + "# diesem abgespeichert\n" + +#: src/lang.c:2572 +msgid "Mark saved articles/threads as read. toggles, sets, " + "cancels." +msgstr "Gesp. Art. gelesen markieren. wechselt, setzt, bricht ab." + +#: src/lang.c:2573 +msgid "Mark saved articles/threads as read" +msgstr "Mark. gesp. Artikel/Threads gelesen" + +#: src/lang.c:2574 +msgid "# If ON mark articles that are saved as read\n" +msgstr "# Falls ON werden gespeicherte Artikel als gelesen markiert\n" + +#: src/lang.c:2578 +msgid "Do post processing (eg. extract attachments) for saved articles." +msgstr "Bearbeite (z.B. unshar) gesp. Art/Threads. wechselt, setzt." + +#: src/lang.c:2579 +msgid "Post process saved articles" +msgstr "Nachbearbeiten gespeichert. Artikel" + +#: src/lang.c:2580 +msgid "# Perform post processing (saving binary attachments) from saved articles.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no\n" + "# 1 = extract shell archives (shar) only\n" + "# 2 = yes\n" +msgstr "# Nachbearbeiten gespeicherter Artikel\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# * 0 = nein\n" + "# 1 = nur Shell Archive (shar) auspacken\n" + "# 2 = ja\n" + +#: src/lang.c:2589 +msgid "Process only unread articles" +msgstr "Bearbeite nur ungelesene Artikel" + +#: src/lang.c:2590 +msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" +msgstr "# Falls ON speichere/drucke/pipe/maile nur ungelesene Artikel\n" + "# (markierte Artikel ausgenommen)\n" + +#: src/lang.c:2595 +msgid "Print all or just part of header. toggles & sets." +msgstr "Drucke alles oder nur Teile des Headers wechselt & setzt." + +#: src/lang.c:2596 +msgid "Print all headers when printing" +msgstr "Alle Header beim Drucken ausgeben" + +#: src/lang.c:2597 +msgid "# If ON print all of article header otherwise just the important lines\n" +msgstr "# Falls ON drucke alle Header des Artikels aus. Ansonsten nur die " + "wichtigsten\n" + +#: src/lang.c:2601 +msgid "The printer program with options that is to be used to print articles/threads." +msgstr "Das Druckprogramm, das zum drucken von Artikeln/Threads benutzt wird." + +#: src/lang.c:2602 +msgid "Printer program with options" +msgstr "Druckprogramm mit Optionen" + +#: src/lang.c:2603 +msgid "# Print program with parameters used to print articles/threads\n" +msgstr "# Druckprogramm mit Optionen zum drucken der Artikel/Threads\n" + +#: src/lang.c:2609 +msgid "Force redraw after certain commands" +msgstr "Anzeigeauffrischung nach Kommandos" + +#: src/lang.c:2610 +msgid "# If ON a screen redraw will always be done after certain external commands\n" +msgstr "# Falls ON wird die Anzeige nach einigen externen Kommandos aufgefrischt\n" + +#: src/lang.c:2614 +msgid "Start editor with line offset. toggles, sets, cancels." +msgstr "Starte Editor mit Einrückung. wechselt, setzt, bricht ab." + +#: src/lang.c:2615 +msgid "Start editor with line offset" +msgstr "Starte Editor mit Einrückung" + +#: src/lang.c:2616 +msgid "# If ON editor will be started with cursor offset into the file\n" + "# otherwise the cursor will be positioned at the first line\n" +msgstr "# Falls ON wird der Cursor im Editor an die definierte Position gesetzt.\n" + "# Anderenfalls wird der Cursor in die erste Zeile gesetzt\n" + +#: src/lang.c:2621 +msgid "Enter %E for editor, %F for filename, %N for line-number, to set." +msgstr "%E für Editor, %F für Dateiname, %N für Zeilennummer, setzt." + +#: src/lang.c:2622 +msgid "Invocation of your editor" +msgstr "Aufruf Ihres Editors" + +#: src/lang.c:2623 +#, c-format +msgid "# Format of editor line including parameters\n" + "# %%E Editor %%F Filename %%N Linenumber\n" +msgstr "# Format der Editorzeile mit den Parametern für den Aufruf\n" + "# %%E Editor %%F Dateiname %%N Zeilennummer\n" + +#: src/lang.c:2628 +msgid "Enter name and options for external-inews, --internal for internal inews" +msgstr "Name und Optionen für ext. inews, --internal für eingebaute Version" + +#: src/lang.c:2629 +msgid "External inews" +msgstr "Externes inews-Programm" + +#: src/lang.c:2630 +msgid "# If --internal use the built in mini inews for posting via NNTP\n" + "# otherwise use an external inews program\n" +msgstr "# Falls --internal wird das eingebaute mini inews zum posten via NNTP\n" + "# benutzt, sonst wird das hier angegebene Programm mit den angegebenen\n" + "# Optionen verwendet. z.B. 'inews -h'\n" + +#: src/lang.c:2634 +msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." +msgstr "%M für den Mailer, %S für Subject, %T für to, %F für Dateinamen, setzt." + +#: src/lang.c:2635 +msgid "Invocation of your mail command" +msgstr "Aufruf Ihres Mailkommandos" + +#: src/lang.c:2636 +#, c-format +msgid "# Format of mailer line including parameters\n" + "# %%M Mailer %%S Subject %%T To %%F Filename\n" + "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" + "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" +msgstr "# Format der Mailkommandozeile mit Ihren Parametern\n" + "# %%M Mailprogramm %%S Subject %%T To %%F Dateiname\n" + "# Ein Beispiel für elm : elm -s \"%%S\" \"%%T\" < %%F\n" + "# Ein Beispiel für elm interaktiv: elm -i %%F -s \"%%S\" \"%%T\"\n" + +#: src/lang.c:2644 +msgid "Use interactive mail reader" +msgstr "Benutze interaktives Mailprogramm" + +#: src/lang.c:2645 +msgid "# Interactive mailreader\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no interactive mailreader\n" + "# 1 = use interactive mailreader with headers in file\n" + "# 2 = use interactive mailreader without headers in file\n" +msgstr "# Interaktives Mailprogramm.\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# * 0 = kein interaktives Mailprogramm\n" + "# 1 = interaktives Mailprogramm, Mailheader werden in der Datei mit " + "übergeben\n" + "# 2 = interaktives Mailprogramm, Mailheader werden als Argumente übergeben\n" + +#: src/lang.c:2654 +msgid "Remove ~/.article after posting" +msgstr "Entferne ~/.article nach dem posten" + +#: src/lang.c:2655 +msgid "# If ON remove ~/.article after posting.\n" +msgstr "# Falls ON entferne ~/.article nach dem posten.\n" + +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" + +#: src/lang.c:2662 +msgid "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" + +#: src/lang.c:2667 +msgid "Filename for all posted articles, sets, no filename=do not save." +msgstr "Dateiname für Kopie geposteter Artikel. setzt, kein Name=keine Kopie." + +#: src/lang.c:2668 +msgid "Filename for posted articles" +msgstr "Gepostete Artikel speichern in" + +#: src/lang.c:2669 +msgid "# Filename where to keep all postings (default posted)\n" + "# If no filename is set then postings will not be saved\n" +msgstr "# Dateiname für die Kopie aller Postings (Voreinstellung posted)\n" + "# Ist kein Name angegeben wird keine Kopie gespeichert\n" + +#: src/lang.c:2674 +msgid "Keep all failed articles in ~/dead.articles. toggles & sets." +msgstr "Behalte alle Fehlschläge in ~/dead.articles. wechselt & setzt." + +#: src/lang.c:2675 +msgid "Keep failed arts in ~/dead.articles" +msgstr "Halte Fehlschl. in ~/dead.articles" + +#: src/lang.c:2676 +msgid "# If ON keep all failed postings in ~/dead.articles\n" +msgstr "# Falls ON werden Fehlgeschlagene Artikel in ~/dead.articles verwahrt\n" + +#: src/lang.c:2680 +msgid "Do you want to strip unsubscribed groups from .newsrc" +msgstr "Wollen Sie nicht-abonnierte Gruppen aus der .newsrc entfernen?" + +#: src/lang.c:2681 +msgid "No unsubscribed groups in newsrc" +msgstr "Nur abonnierte Gruppen in newsrc" + +#: src/lang.c:2682 +msgid "# If ON strip unsubscribed groups from newsrc\n" +msgstr "# Falls ON entferne nicht-abonnierte Gruppen aus der newsrc\n" + +#: src/lang.c:2687 +msgid "Remove bogus groups from newsrc" +msgstr "Lösche nicht vorhan. G. aus newsrc" + +#: src/lang.c:2688 +msgid "# What to do with bogus groups in newsrc file\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = keep\n" + "# 1 = remove\n" + "# 2 = highlight with D on selection screen\n" +msgstr "# Was soll mit nicht mehr vorhanden Gruppen in der newsrc-Datei passieren?\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# * 0 = Behalten\n" + "# 1 = entfernen\n" + "# 2 = Mit D in der Auswahl markieren.\n" + +#: src/lang.c:2696 +msgid "Enter number of seconds until active file will be reread. sets." +msgstr "Sekunden, nach denen die active-Datei wieder gelesen wird. setzt." + +#: src/lang.c:2697 +msgid "Interval in secs to reread active" +msgstr "Active alle ... Sekunden neu lesen" + +#: src/lang.c:2698 +msgid "# Time interval in seconds between rereading the active file (0=never)\n" +msgstr "# Zeitintervall in Sekunden zwischen dem Wiedereinlesen des active (0=nie)\n" + +#: src/lang.c:2703 +msgid "Reconnect to server automatically" +msgstr "Autom. Wiederverbindung zum Server" + +#: src/lang.c:2704 +msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" +msgstr "# Falls ON wird eine unterbrochene Verbindung zum NNTP Server\n" + "# automatisch reaktiviert\n" + +#: src/lang.c:2708 +msgid "Create local copies of NNTP overview files. toggles & sets." +msgstr "Erzeuge lokale Kopien der NNTP Overview Dateien. wechselt & " + "setzt." + +#: src/lang.c:2709 +msgid "Cache NNTP overview files locally" +msgstr "Speichere NNTP Overview Daten lokal" + +#: src/lang.c:2710 +msgid "# If ON, create local copies of NNTP overview files.\n" +msgstr "# Falls ON, erzeuge lokale Kopien der NNTP Overview Dateien.\n" + +#: src/lang.c:2714 +msgid "Enter format string. sets, cancels." +msgstr "Format-Zeichenkette eingeben. setzt, bricht ab." + +#: src/lang.c:2715 +msgid "Format string for display of dates" +msgstr "Datums Format-Zeichenkette" + +#: src/lang.c:2716 +msgid "# Format string for date representation\n" +msgstr "# Zeichenkette die die Datumsanzeige beschreibt.\n" + +#: src/lang.c:2722 +msgid "Unicode normalization form" +msgstr "Unicode Normalisierungsart" + +#: src/lang.c:2723 +msgid "# Unicode normalization form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" +msgstr "# Unicode Normalisierungsart\n" + "# Mögliche Werte sind (die Voreinstellung ist mit * gekennzeichnet):\n" + "# 0 = keine\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" + +#: src/lang.c:2735 +msgid "Render BiDi" +msgstr "BiDi wiedergeben" + +#: src/lang.c:2736 +msgid "# If ON, bi-directional text is rendered by tin\n" +msgstr "# Falls ON, wird bi-direktionaler Text von tin wiedergeben.\n" + +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "" + +#: src/lang.c:2752 +msgid "Delete post-process files" +msgstr "" + +#: src/lang.c:2757 +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "" + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "" + +#: src/lang.c:2763 +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "" + +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "Followup-To:-Header" + +#: src/lang.c:2769 +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "Standard Mail-Adresse (und Name) eingeben. setzt, bricht ab." + +#: src/lang.c:2776 +msgid "Path and options for ispell-like spell-checker. sets, cancels." +msgstr "" + +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "ispell Programm" + +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "" + +#: src/lang.c:2784 +msgid "Mailing list address" +msgstr "" + +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "" + +#: src/lang.c:2795 +msgid "A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "" + +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "" + +#: src/lang.c:2801 +msgid "Value of the Organization: header. sets, cancels." +msgstr "" + +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "Organization:-Header" + +#: src/lang.c:2807 +msgid "Filename for saved articles. sets, cancels." +msgstr "" + +#: src/lang.c:2808 +msgid "savefile" +msgstr "Dateiname" + +#: src/lang.c:2813 src/lang.c:2837 +msgid "Scope for the filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2814 +msgid "Quick (1 key) select filter scope" +msgstr "" + +#: src/lang.c:2819 src/lang.c:2843 +msgid "Header for filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" + +#: src/lang.c:2825 src/lang.c:2849 +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "" + +#: src/lang.c:2826 +msgid "Quick (1 key) select filter case" +msgstr "" + +#: src/lang.c:2831 src/lang.c:2855 +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "" + +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" + +#: src/lang.c:2838 +msgid "Quick (1 key) kill filter scope" +msgstr "" + +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" + +#: src/lang.c:2850 +msgid "Quick (1 key) kill filter case" +msgstr "" + +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" + +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "" + +#: src/lang.c:2863 +msgid "UNDECLARED_CHARSET" +msgstr "UNDECLARED_CHARSET" + +#: src/lang.c:2869 +msgid "Add this text at the start of the message body. sets, cancels." +msgstr "" + +#: src/lang.c:2870 +msgid "X_Body" +msgstr "X_Body" + +#: src/lang.c:2875 +msgid "Insert this header when posting. sets, cancels." +msgstr "" + +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "X_Headers" + +#: src/lang.c:2881 +msgid "Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "" + +#: src/lang.c:2882 +msgid "Insert 'X-Comment-To:' header" +msgstr "Füge 'X-Comment-To:'-Header ein" + +#: src/misc.c:3754 +#, c-format +msgid "Version: %s %s release %s (\"%s\") %s %s\n" +msgstr "Version: %s %s Ausgabe %s (\"%s\") %s %s\n" + +#: src/misc.c:3757 +#, c-format +msgid "Version: %s %s release %s (\"%s\")\n" +msgstr "Version: %s %s Ausgabe %s (\"%s\")\n" + +#: src/newsrc.c:453 +msgid "Unreachable?\n" +msgstr "Unerreichbar?\n" + +#: src/nntplib.c:819 +#, c-format +msgid "\n" + "Server timed out, trying reconnect # %d\n" +msgstr "\n" + "Server reagierte nicht, Wiederholung Nummer # %d\n" + +#: src/nntplib.c:855 src/nntplib.c:1830 +msgid "Rejoin current group\n" +msgstr "Betrete aktuelle Gruppe neu\n" + +#: src/nntplib.c:863 src/nntplib.c:1838 +#, c-format +msgid "Read (%s)\n" +msgstr "Lese (%s)\n" + +#: src/nntplib.c:865 +#, c-format +msgid "Resend last command (%s)\n" +msgstr "Sende letztes Kommando (%s) neu\n" + +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "" + +#: src/nntplib.c:1979 +msgid "MOTD: " +msgstr "" + +#: src/nrctbl.c:175 +#, c-format +msgid "couldn't expand %s\n" +msgstr "Kann %s nicht expandieren\n" + +#: src/post.c:1307 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is neither set to %s nor to %s\n" +msgstr "Zeile %d ist länger als 998 Oktets und sollte gefaltet werden,\n" + "aber die Kodierung ist weder auf %s noch auf %s gestellt\n" + +#: src/post.c:1312 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" + "posting doesn't contain any 8bit chars and thus folding won't happen\n" +msgstr "Zeile %d ist länger als 998 Oktets und sollte gefaltet werden,\n" + "aber die Kodierung ist auf %s gestellt ohne MIME_BREAK_LONG_LINES\n" + "angeschaltet zu haben, oder der Artikel enthält keine 8Bit Zeichen\n" + "und wird daher nicht automatisch gefaltet wird.\n" + +#: src/post.c:1314 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is not set to %s\n" +msgstr "Zeile %d ist länger als 998 Oktets und sollte gefaltet werden,\n" + "aber die Kodierung ist nicht auf %s gesetzt\n" -#: src/post.c:1993 +#: src/post.c:2278 #, c-format -msgid "Posting: %.*s ..." -msgstr "Poste: %.*s ..." +msgid "Posting: %.*s ..." +msgstr "Poste: %.*s ..." #. Check if okay to read -#: src/read.c:211 -msgid "Aborting read, please wait..." -msgstr "Breche Lesen ab, bitte warten..." - -#: src/read.c:358 -msgid "Aborted read\n" -msgstr "Lesen abgebrochen\n" - -#: src/read.c:414 -msgid "Draining\n" -msgstr "Ablassen\n" - -#. Don't hash the initial '<' -#: src/refs.c:251 -msgid "unchanged" -msgstr "unverändert" - -#: src/refs.c:609 -msgid "[- Unavailable -]" -msgstr "[- Nicht Verfügbar -]" +#: src/read.c:197 +msgid "Aborting read, please wait..." +msgstr "Breche Lesen ab, bitte warten..." + +#: src/read.c:344 +msgid "Aborted read\n" +msgstr "Lesen abgebrochen\n" + +#: src/read.c:399 +msgid "Draining\n" +msgstr "Ablassen\n" + +#: src/refs.c:232 +msgid "unchanged" +msgstr "unverändert" + +#: src/refs.c:599 +msgid "[- Unavailable -]" +msgstr "[- Nicht Verfügbar -]" #. #. * preamble #. * TODO: -> lang.c #. -#: src/rfc2047.c:1201 +#: src/rfc2047.c:1287 #, c-format -msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" - "are reading this prefix, your mail reader probably has not yet been modified\n" - "to understand the new format, and some of what follows may look strange.\n" - "\n" -msgstr "Dieser Artikel wurde im 'multipart/mixed' MIME-Format verfasst. Wenn Sie\n" - "dieses Präfix lesen ist Ihr Mailprogramm vermutlich nicht in der Lage dieses\n" - "Format zu verstehen und einiges von was folgt, kann merkwürdig aussehen.\n" - "\n" - -#: src/save.c:972 -msgid "bytes" -msgstr "Bytes" - -#: src/select.c:379 -msgid "unread" -msgstr "ungelesen" - -#: src/select.c:379 -msgid "all" -msgstr "Alle" - -#: src/select.c:549 src/select.c:551 -msgid " R" -msgstr " R" - -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 -#, c-format -msgid "Can't run slrnface: Environment variable %s not found." -msgstr "Kann slrnface nicht starten: Umgebungsvariable %s nicht gefunden." - -#: src/xface.c:99 src/xface.c:131 -#, c-format -msgid "Can't run slrnface: failed to create %s" -msgstr "Kann slrnface nicht starten: Anlegen von %s fehlgeschlagen" - -#: src/xface.c:109 -msgid "This directory is used to create named pipes for communication between\n" - "slrnface and its parent process. It should normally be empty because\n" - "the pipe is deleted right after it has been opened by both processes.\n" - "\n" - "File names generated by slrnface have the form \"hostname.pid\". It is\n" - "probably an error if they linger here longer than a fraction of a second.\n" - "\n" - "However, if the directory is mounted from an NFS server, you might see\n" - "special files created by your NFS server while slrnface is running.\n" - "Do not try to remove them.\n" -msgstr "Diese Verzeichnis enthält \"named pipes\" zur Kommunikation zwischen\n" - "slrnface und dem aufrufenden Prozess. Normalerweise sollte es leer sein,\n" - "da diese Dateien nach erfolgreicher Kommunikation sofort gelöscht werden.\n" - "\n" - "slrnface verwendet Dateinamen der Form hostname.pid, sollten derartige\n" - "Dateien länger als wenige Sekundenbruchteile erscheinen, handelt es sich\n" - "vermutlich um einen Fehler.\n" - "\n" - "Wenn dieses Verzeichnis auf einem NFS-Laufwerk liegt, ist es möglich,\n" - "dass der NFS-Server spezielle Dateien in diesem Verzeichnis erzeugt,\n" - "während slrnface ausgeführt wird. Diese sollten nicht gelöscht werden.\n" - -# TRANSLATION MISSING -#: src/xface.c:123 -msgid "Can't run slrnface: couldn't construct fifo name." -msgstr "" - -#: src/xface.c:162 +msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" + "are reading this prefix, your mail reader probably has not yet been modified\n" + "to understand the new format, and some of what follows may look strange.\n" + "\n" +msgstr "Dieser Artikel wurde im 'multipart/mixed' MIME-Format verfasst. Wenn Sie\n" + "dieses Präfix lesen ist Ihr Mailprogramm vermutlich nicht in der Lage dieses\n" + "Format zu verstehen und einiges von was folgt, kann merkwürdig aussehen.\n" + "\n" + +#: src/save.c:1045 +msgid "bytes" +msgstr "Bytes" + +#: src/select.c:378 +msgid "unread" +msgstr "ungelesen" + +#: src/select.c:378 +msgid "all" +msgstr "Alle" + +#: src/select.c:554 src/select.c:556 +msgid " R" +msgstr " R" + +#: src/xface.c:70 +msgid "Can't run slrnface: Not running in a xterm." +msgstr "Kann slrnface nicht starten: tin läuft nicht in einem xterm." + +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 +#, c-format +msgid "Can't run slrnface: Environment variable %s not found." +msgstr "Kann slrnface nicht starten: Umgebungsvariable %s nicht gefunden." + +#: src/xface.c:111 src/xface.c:143 +#, c-format +msgid "Can't run slrnface: failed to create %s" +msgstr "Kann slrnface nicht starten: Anlegen von %s fehlgeschlagen" + +#: src/xface.c:121 +msgid "This directory is used to create named pipes for communication between\n" + "slrnface and its parent process. It should normally be empty because\n" + "the pipe is deleted right after it has been opened by both processes.\n" + "\n" + "File names generated by slrnface have the form \"hostname.pid\". It is\n" + "probably an error if they linger here longer than a fraction of a second.\n" + "\n" + "However, if the directory is mounted from an NFS server, you might see\n" + "special files created by your NFS server while slrnface is running.\n" + "Do not try to remove them.\n" +msgstr "Diese Verzeichnis enthält \"named pipes\" zur Kommunikation zwischen\n" + "slrnface und dem aufrufenden Prozess. Normalerweise sollte es leer sein,\n" + "da diese Dateien nach erfolgreicher Kommunikation sofort gelöscht werden.\n" + "\n" + "slrnface verwendet Dateinamen der Form hostname.pid, sollten derartige\n" + "Dateien länger als wenige Sekundenbruchteile erscheinen, handelt es sich\n" + "vermutlich um einen Fehler.\n" + "\n" + "Wenn dieses Verzeichnis auf einem NFS-Laufwerk liegt, ist es möglich,\n" + "dass der NFS-Server spezielle Dateien in diesem Verzeichnis erzeugt,\n" + "während slrnface ausgeführt wird. Diese sollten nicht gelöscht werden.\n" + +#: src/xface.c:135 +msgid "Can't run slrnface: couldn't construct fifo name." +msgstr "" + +#: src/xface.c:174 #, c-format -msgid "Slrnface abnormally exited, code %d." -msgstr "Slrnface wurde mit Fehler %d beendet." +msgid "Slrnface abnormally exited, code %d." +msgstr "Slrnface wurde mit Fehler %d beendet." -#: src/xface.c:206 +#: src/xface.c:218 #, c-format -msgid "Slrnface failed: %s." -msgstr "Fehler %s beim Aufruf von Slrnface." +msgid "Slrnface failed: %s." +msgstr "Fehler %s beim Aufruf von Slrnface." Binary files tin-1.8.3/po/en_GB.gmo and tin-2.0.0/po/en_GB.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/en_GB.po tin-2.0.0/po/en_GB.po --- tin-1.8.3/po/en_GB.po 2007-02-01 13:58:03.000000000 +0100 +++ tin-2.0.0/po/en_GB.po 2011-08-22 18:32:41.367266830 +0200 @@ -1,6071 +1,7061 @@ -# English (British) translation. -# Robert Brady , 2000-2002 +# English (British) translation for tin. +# Robert Brady , 2000-2002. # -msgid "" -msgstr "Project-Id-Version: tin 1.8.3\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-02-01 13:57+0100\n" - "PO-Revision-Date: 2002-11-15 20:10+0000\n" - "Last-Translator: Robert Brady \n" - "Language-Team: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=ISO-8859-1\n" - "Content-Transfer-Encoding: 8bit\n" +msgid "" +msgstr "Project-Id-Version: tin 1.8.1\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2011-08-22 18:32+0200\n" + "PO-Revision-Date: 2002-11-15 20:10+0000\n" + "Last-Translator: Robert Brady \n" + "Language-Team: \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=ISO-8859-1\n" + "Content-Transfer-Encoding: 8bit\n" -#: src/art.c:1534 +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 #, c-format -msgid "%d Bad overview record (%d fields) '%s'" -msgstr "" +msgid "attribute with no scope: %s" +msgstr "" -#: src/attrib.c:649 +#: src/attrib.c:884 +msgid "Processing attributes... " +msgstr "" + +#: src/attrib.c:1102 #, c-format -msgid "# Do not edit this comment block\n" - "#\n" -msgstr "" +msgid "# Do not edit this comment block\n" + "#\n" +msgstr "" -#: src/attrib.c:650 +#: src/attrib.c:1103 #, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" -msgstr "" +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" +msgstr "" -#: src/attrib.c:651 +#: src/attrib.c:1104 #, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" -msgstr "" +msgid "# add_posted_to_filter=ON/OFF\n" +msgstr "" -#: src/attrib.c:652 +#: src/attrib.c:1105 #, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" -msgstr "" +msgid "# advertising=ON/OFF\n" +msgstr "" -#: src/attrib.c:653 +#: src/attrib.c:1106 #, c-format -msgid "# savefile=STRING (ie. =linux)\n" -msgstr "" +msgid "# alternative_handling=ON/OFF\n" +msgstr "" -#: src/attrib.c:654 +#: src/attrib.c:1107 #, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" -msgstr "" +msgid "# ask_for_metamail=ON/OFF\n" +msgstr "" -#: src/attrib.c:655 +#: src/attrib.c:1108 #, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" -msgstr "" +msgid "# auto_cc_bcc=NUM\n" +msgstr "" -#: src/attrib.c:656 +#: src/attrib.c:1109 #, c-format -msgid "# followup_to=STRING\n" -msgstr "" +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "" -#: src/attrib.c:657 +#: src/attrib.c:1110 #, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" -msgstr "" +msgid "# auto_list_thread=ON/OFF\n" +msgstr "" -#: src/attrib.c:658 +#: src/attrib.c:1111 #, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" -msgstr "" +msgid "# auto_save=ON/OFF\n" +msgstr "" -#: src/attrib.c:659 +#: src/attrib.c:1112 #, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" -msgstr "" +msgid "# auto_select=ON/OFF\n" +msgstr "" -#: src/attrib.c:660 +#: src/attrib.c:1113 #, c-format -msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" -msgstr "" +msgid "# batch_save=ON/OFF\n" +msgstr "" -#: src/attrib.c:661 +#: src/attrib.c:1114 #, c-format -msgid "# news_quote_format=STRING\n" -msgstr "" +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "" -#: src/attrib.c:662 +#: src/attrib.c:1115 #, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" -msgstr "" +msgid "# delete_tmp_files=ON/OFF\n" +msgstr "" -#: src/attrib.c:663 +#: src/attrib.c:1116 #, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" -msgstr "" +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" +msgstr "" -#: src/attrib.c:665 +#: src/attrib.c:1117 #, c-format -msgid "# ispell=STRING\n" -msgstr "" +msgid "# fcc=STRING (eg. =mailbox)\n" +msgstr "" -#: src/attrib.c:667 +#: src/attrib.c:1118 #, c-format -msgid "# auto_select=ON/OFF\n" -msgstr "" +msgid "# followup_to=STRING\n" +msgstr "" -#: src/attrib.c:668 +#: src/attrib.c:1119 #, c-format -msgid "# auto_save=ON/OFF\n" -msgstr "" +msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" +msgstr "" -#: src/attrib.c:669 +#: src/attrib.c:1120 #, c-format -msgid "# batch_save=ON/OFF\n" -msgstr "" +msgid "# group_catchup_on_exit=ON/OFF\n" +msgstr "" -#: src/attrib.c:670 +#: src/attrib.c:1121 #, c-format -msgid "# delete_tmp_files=ON/OFF\n" -msgstr "" +msgid "# mail_8bit_header=ON/OFF\n" +msgstr "" -#: src/attrib.c:671 +#: src/attrib.c:1122 #, c-format -msgid "# show_only_unread=ON/OFF\n" -msgstr "" +msgid "# mail_mime_encoding=supported_encoding" +msgstr "" -#: src/attrib.c:672 +#: src/attrib.c:1130 #, c-format -msgid "# thread_arts=NUM" -msgstr "" +msgid "# ispell=STRING\n" +msgstr "" -#: src/attrib.c:679 +#: src/attrib.c:1132 #, c-format -msgid "# thread_perc=NUM\n" -msgstr "" +msgid "# maildir=STRING (eg. ~/Mail)\n" +msgstr "" -#: src/attrib.c:680 +#: src/attrib.c:1133 #, c-format -msgid "# show_author=NUM\n" -msgstr "" +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" +msgstr "" -#: src/attrib.c:686 +#: src/attrib.c:1134 #, c-format -msgid "# show_info=NUM\n" -msgstr "" +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgstr "" -#: src/attrib.c:692 +#: src/attrib.c:1135 #, c-format -msgid "# sort_art_type=NUM\n" -msgstr "" +msgid "# mark_ignore_tags=ON/OFF\n" +msgstr "" -#: src/attrib.c:710 +#: src/attrib.c:1136 #, c-format -msgid "# sort_threads_type=NUM\n" -msgstr "" +msgid "# mark_saved_read=ON/OFF\n" +msgstr "" -#: src/attrib.c:715 +#: src/attrib.c:1137 #, c-format -msgid "# post_proc_type=NUM\n" -msgstr "" +msgid "# mime_forward=ON/OFF\n" +msgstr "" -#: src/attrib.c:720 +#: src/attrib.c:1139 #, c-format -msgid "# quick_kill_scope=STRING (ie. talk.*)\n" -msgstr "" +msgid "# mm_network_charset=supported_charset" +msgstr "" -#: src/attrib.c:721 +#: src/attrib.c:1146 #, c-format -msgid "# quick_kill_expire=ON/OFF\n" -msgstr "" +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgstr "" -#: src/attrib.c:722 +#: src/attrib.c:1148 #, c-format -msgid "# quick_kill_case=ON/OFF\n" -msgstr "" +msgid "# news_headers_to_display=STRING\n" +msgstr "" -#: src/attrib.c:723 +#: src/attrib.c:1149 #, c-format -msgid "# quick_kill_header=NUM\n" -msgstr "" +msgid "# news_headers_to_not_display=STRING\n" +msgstr "" -#: src/attrib.c:724 src/attrib.c:731 +#: src/attrib.c:1150 #, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" -msgstr "" +msgid "# news_quote_format=STRING\n" +msgstr "" -#: src/attrib.c:725 src/attrib.c:732 +#: src/attrib.c:1151 #, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" -msgstr "" +msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgstr "" -#: src/attrib.c:726 src/attrib.c:733 +#: src/attrib.c:1152 #, c-format -msgid "# 4=msgid 5=lines\n" -msgstr "" +msgid "# pos_first_unread=ON/OFF\n" +msgstr "" -#: src/attrib.c:727 +#: src/attrib.c:1153 #, c-format -msgid "# quick_select_scope=STRING\n" -msgstr "" +msgid "# post_8bit_header=ON/OFF\n" +msgstr "" -#: src/attrib.c:728 +#: src/attrib.c:1154 #, c-format -msgid "# quick_select_expire=ON/OFF\n" -msgstr "" +msgid "# post_mime_encoding=supported_encoding" +msgstr "" -#: src/attrib.c:729 +#: src/attrib.c:1161 #, c-format -msgid "# quick_select_case=ON/OFF\n" -msgstr "" +msgid "# post_process_type=NUM\n" +msgstr "" -#: src/attrib.c:730 +#: src/attrib.c:1166 #, c-format -msgid "# quick_select_header=NUM\n" -msgstr "" +msgid "# post_process_view=ON/OFF\n" +msgstr "" -#: src/attrib.c:734 +#: src/attrib.c:1167 #, c-format -msgid "# x_comment_to=ON/OFF\n" -msgstr "" +msgid "# quick_kill_scope=STRING (ie. talk.*)\n" +msgstr "" -#: src/attrib.c:735 +#: src/attrib.c:1168 #, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" -msgstr "" +msgid "# quick_kill_expire=ON/OFF\n" +msgstr "" -#: src/attrib.c:736 +#: src/attrib.c:1169 #, c-format -msgid "# tex2iso_conv=ON/OFF\n" -msgstr "" +msgid "# quick_kill_case=ON/OFF\n" +msgstr "" -#: src/attrib.c:737 +#: src/attrib.c:1170 #, c-format -msgid "# mime_forward=ON/OFF\n" -msgstr "" +msgid "# quick_kill_header=NUM\n" +msgstr "" -#: src/attrib.c:739 +#: src/attrib.c:1171 src/attrib.c:1180 #, c-format -msgid "# mm_network_charset=supported_charset" -msgstr "" +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "" -#: src/attrib.c:746 +#: src/attrib.c:1172 src/attrib.c:1181 #, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" -msgstr "" +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "" -#: src/attrib.c:748 +#: src/attrib.c:1173 src/attrib.c:1182 #, c-format -msgid "#\n" - "# Note that it is best to put general (global scoping)\n" -msgstr "" +msgid "# 4=Message-ID: & full References: line\n" +msgstr "" -#: src/attrib.c:749 +#: src/attrib.c:1174 src/attrib.c:1183 #, c-format -msgid "# entries first followed by group specific entries.\n" - "#\n" -msgstr "" +msgid "# 5=Message-ID: & last References: entry only\n" +msgstr "" -#: src/attrib.c:750 +#: src/attrib.c:1175 src/attrib.c:1184 #, c-format -msgid "############################################################################\n" - "\n" -msgstr "" +msgid "# 6=Message-ID: entry only 7=Lines:\n" +msgstr "" -#: src/attrib.c:756 +#: src/attrib.c:1176 #, c-format -msgid "# include extra headers\n" -msgstr "" +msgid "# quick_select_scope=STRING\n" +msgstr "" -#: src/attrib.c:764 +#: src/attrib.c:1177 #, c-format -msgid "# in *sources* set post process type to shar only\n" -msgstr "" +msgid "# quick_select_expire=ON/OFF\n" +msgstr "" -#: src/attrib.c:768 +#: src/attrib.c:1178 #, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" -msgstr "" +msgid "# quick_select_case=ON/OFF\n" +msgstr "" -#: src/attrib.c:769 +#: src/attrib.c:1179 #, c-format -msgid "# remove tmp files and set Followup-To: poster\n" -msgstr "" +msgid "# quick_select_header=NUM\n" +msgstr "" -#: src/cook.c:499 -msgid "(unknown)" -msgstr "" +#: src/attrib.c:1185 +#, c-format +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgstr "" -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -msgid "Removed from the previous rule: " -msgstr "" - -#: src/keymap.c:271 -msgid "NULL" -msgstr "" +#: src/attrib.c:1187 +#, c-format +msgid "# print_header=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1189 +#, c-format +msgid "# process_only_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1190 +#, c-format +msgid "# prompt_followupto=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1191 +#, c-format +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "" + +#: src/attrib.c:1192 +#, c-format +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "" + +#: src/attrib.c:1193 +#, c-format +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "" + +#: src/attrib.c:1194 +#, c-format +msgid "# show_author=NUM\n" +msgstr "" + +#: src/attrib.c:1200 +#, c-format +msgid "# show_info=NUM\n" +msgstr "" + +#: src/attrib.c:1206 +#, c-format +msgid "# show_signatures=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1207 +#, c-format +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1208 +#, c-format +msgid "# sigdashes=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1209 +#, c-format +msgid "# signature_repost=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1210 +#, c-format +msgid "# sort_article_type=NUM\n" +msgstr "" + +#: src/attrib.c:1228 +#, c-format +msgid "# sort_threads_type=NUM\n" +msgstr "" + +#: src/attrib.c:1237 +#, c-format +msgid "# start_editor_offset=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1238 +#, c-format +msgid "# tex2iso_conv=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1239 +#, c-format +msgid "# thread_catchup_on_exit=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1240 +#, c-format +msgid "# thread_articles=NUM" +msgstr "" + +#: src/attrib.c:1247 +#, c-format +msgid "# thread_perc=NUM\n" +msgstr "" + +#: src/attrib.c:1248 +#, c-format +msgid "# trim_article_body=NUM\n" +msgstr "" + +#: src/attrib.c:1249 +#, c-format +msgid "# 0 = Don't trim article body\n" +msgstr "" + +#: src/attrib.c:1250 +#, c-format +msgid "# 1 = Skip leading blank lines\n" +msgstr "" + +#: src/attrib.c:1251 +#, c-format +msgid "# 2 = Skip trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1252 +#, c-format +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1253 +#, c-format +msgid "# 4 = Compact multiple blank lines between text blocks\n" +msgstr "" + +#: src/attrib.c:1254 +#, c-format +msgid "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" +msgstr "" + +#: src/attrib.c:1255 +#, c-format +msgid "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1256 +#, c-format +msgid "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1257 +#, c-format +msgid "# verbatim_handling=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1258 +#, c-format +msgid "# wrap_on_next_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1259 +#, c-format +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" +msgstr "" + +#: src/attrib.c:1260 +#, c-format +msgid "# x_comment_to=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1261 +#, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" +msgstr "" + +#: src/attrib.c:1262 +#, c-format +msgid "#\n" + "# Note that it is best to put general (global scoping)\n" +msgstr "" + +#: src/attrib.c:1263 +#, c-format +msgid "# entries first followed by group specific entries.\n" + "#\n" +msgstr "" + +#: src/attrib.c:1264 +#, c-format +msgid "############################################################################\n" +msgstr "" + +#: src/cook.c:625 +msgid "(unknown)" +msgstr "" + +#: src/keymap.c:277 +msgid "NULL" +msgstr "" #: src/lang.c:42 -msgid "1 Response" -msgstr "" +msgid "1 Response" +msgstr "" #: src/lang.c:46 #, c-format -msgid "\n" - "%s contains no newsgroups. Exiting." -msgstr "" +msgid "\n" + "%s contains no newsgroups. Exiting." +msgstr "" #: src/lang.c:47 -msgid "all " -msgstr "" +msgid "all " +msgstr "" #: src/lang.c:48 -msgid "All groups" -msgstr "" +msgid "All groups" +msgstr "" #: src/lang.c:49 #, c-format -msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " -msgstr "" +msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " +msgstr "" #: src/lang.c:50 -msgid "Article cancelled (deleted)." -msgstr "" - -#: src/lang.c:51 -msgid "Article cannot be cancelled (deleted)." -msgstr "" +msgid "Article cancelled (deleted)." +msgstr "" #: src/lang.c:52 -msgid "Article deleted." -msgstr "" - -#: src/lang.c:53 -#, c-format -msgid "\n" - "Your article:\n" - " \"%s\"\n" - "will be posted to the following %s:\n" -msgstr "" +msgid "Article cannot be cancelled (deleted)." +msgstr "" #: src/lang.c:54 -msgid "Article not posted!" -msgstr "" +msgid "Article deleted." +msgstr "" #: src/lang.c:55 -msgid "Article not saved" -msgstr "" +#, c-format +msgid "\n" + "Your article:\n" + " \"%s\"\n" + "will be posted to the following %s:\n" +msgstr "" #: src/lang.c:56 -msgid "Article Level Commands" -msgstr "" +msgid "Article not posted!" +msgstr "" #: src/lang.c:57 -msgid "Article has no parent" -msgstr "" +msgid "Article not saved" +msgstr "" #: src/lang.c:58 -msgid "Parent article has been killed" -msgstr "" +msgid "Article Level Commands" +msgstr "" #: src/lang.c:59 -msgid "Parent article is unavailable" -msgstr "" +msgid "Article has no parent" +msgstr "" #: src/lang.c:60 -#, c-format -msgid "Article posted: %s" -msgstr "" +msgid "Parent article has been killed" +msgstr "" #: src/lang.c:61 -#, c-format -msgid "Article rejected (saved to %s)" -msgstr "" +msgid "Parent article is unavailable" +msgstr "" #: src/lang.c:62 #, c-format -msgid "%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " -msgstr "" +msgid "Article posted: %s" +msgstr "" #: src/lang.c:63 -msgid "Article unavailable" -msgstr "" +#, c-format +msgid "Article rejected (saved to %s)" +msgstr "" #: src/lang.c:64 -msgid "Article undeleted." -msgstr "" +#, c-format +msgid "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " +msgstr "" + +#: src/lang.c:65 +msgid "Article unavailable" +msgstr "" #: src/lang.c:66 -msgid "articles" -msgstr "" +msgid "Article undeleted." +msgstr "" #: src/lang.c:67 -msgid "This is a repost of the following article:" -msgstr "" - -#: src/lang.c:68 -msgid "article" -msgstr "" +#, c-format +msgid "Article %4d of %4d" +msgstr "" #: src/lang.c:69 -msgid "Article" -msgstr "" +msgid "articles" +msgstr "" #: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" -msgstr "" +msgid "This is a repost of the following article:" +msgstr "" #: src/lang.c:71 -#, c-format -msgid " at %s" -msgstr "" +msgid "article" +msgstr "" #: src/lang.c:72 -#, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" -msgstr "" +msgid "Article" +msgstr "" #: src/lang.c:73 -msgid ", charset: " -msgstr "" +#, c-format +msgid "-- %d %s mailed --" +msgstr "" #: src/lang.c:74 #, c-format -msgid "%*s[-- Description: %s --]\n" -msgstr "" +msgid " at %s" +msgstr "" #: src/lang.c:75 #, c-format -msgid "%d Authentication failed" -msgstr "" +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgstr "" #: src/lang.c:76 -msgid "Server expects authentication.\n" -msgstr "" +msgid ", charset: " +msgstr "" #: src/lang.c:77 -msgid " Please enter password: " -msgstr "" +#, c-format +msgid "%*s[-- charset %s not supported --]\n" +msgstr "" #: src/lang.c:78 -msgid " Please enter username: " -msgstr "" +#, c-format +msgid "%*s[-- Description: %s --]\n" +msgstr "" #: src/lang.c:79 #, c-format -msgid "Author search backwards [%s]> " -msgstr "" +msgid "%d lines" +msgstr "" #: src/lang.c:80 -#, c-format -msgid "Author search forwards [%s]> " -msgstr "" +msgid "Attachment Menu" +msgstr "" #: src/lang.c:81 -#, c-format -msgid "Authorized for user: %s\n" -msgstr "Authorised for user: %s\n" +msgid "Attachment Menu Commands" +msgstr "" #: src/lang.c:82 -#, c-format -msgid "Authorization failed for user: %s\n" -msgstr "Authorisation failed for user: %s\n" +msgid "" +msgstr "" #: src/lang.c:83 #, c-format -msgid "\n" - "Autosubscribed to %s" -msgstr "" +msgid "Attachment saved successfully. (%s)" +msgstr "" #: src/lang.c:84 -msgid "Autosubscribing groups...\n" -msgstr "" +#, c-format +msgid "%d of %d attachments saved successfully." +msgstr "" #: src/lang.c:85 -#, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." -msgstr "" +msgid "Select attachment> " +msgstr "" + +#: src/lang.c:86 +msgid "Tagged attachment" +msgstr "" #: src/lang.c:87 #, c-format -msgid "Active file corrupt - %s" -msgstr "" +msgid "%d attachments tagged" +msgstr "" #: src/lang.c:88 -#, c-format -msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " -msgstr "" +msgid "Untagged attachment" +msgstr "" #: src/lang.c:89 -#, c-format -msgid "Unrecognized attribute: %s" -msgstr "Unrecognised attribute: %s" +msgid "Attributes Menu Commands" +msgstr "" -#: src/lang.c:90 +#: src/lang.c:91 #, c-format -msgid "Bad command. Type '%s' for help." -msgstr "" +msgid "%d Authentication failed" +msgstr "" #: src/lang.c:92 -msgid "Base article" -msgstr "" +#, c-format +msgid "NNTP authorization password not found for %s" +msgstr "NNTP authorisation password not found for %s" #: src/lang.c:93 -msgid "Base article range" -msgstr "" +msgid "Server expects authentication.\n" +msgstr "" #: src/lang.c:94 -#, c-format -msgid "%s: Updating of index files not supported\n" -msgstr "" +msgid " Please enter password: " +msgstr "" #: src/lang.c:95 -msgid "*** Beginning of article ***" -msgstr "" +msgid " Please enter username: " +msgstr "" + +#: src/lang.c:96 +#, c-format +msgid "Authorized for user: %s\n" +msgstr "Authorised for user: %s\n" #: src/lang.c:97 #, c-format -msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " -msgstr "" +msgid "Authorization failed for user: %s\n" +msgstr "Authorisation failed for user: %s\n" -#: src/lang.c:98 -msgid "Cancelling article..." -msgstr "" +#: src/lang.c:99 +#, c-format +msgid "Author search backwards [%s]> " +msgstr "" #: src/lang.c:100 #, c-format -msgid "Cannot create %s" -msgstr "" +msgid "Author search forwards [%s]> " +msgstr "" #: src/lang.c:101 #, c-format -msgid "Can't find base article %d" -msgstr "" +msgid "\n" + "Autosubscribed to %s" +msgstr "" #: src/lang.c:102 -#, c-format -msgid "Can't open %s" -msgstr "" +msgid "Autosubscribing groups...\n" +msgstr "" #: src/lang.c:103 #, c-format -msgid "Couldn't open %s for saving" -msgstr "" - -#: src/lang.c:104 -msgid "*** Posting not allowed ***" -msgstr "" +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "" #: src/lang.c:105 #, c-format -msgid "Posting is not allowed to %s" -msgstr "" +msgid "Active file corrupt - %s" +msgstr "" #: src/lang.c:106 #, c-format -msgid "Can't retrieve %s" -msgstr "" +msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "" #: src/lang.c:107 #, c-format -msgid "%s is a directory" -msgstr "" +msgid "Unrecognized attribute: %s" +msgstr "Unrecognised attribute: %s" #: src/lang.c:108 -msgid "Catchup" -msgstr "" - -#: src/lang.c:109 #, c-format -msgid "Catchup %s..." -msgstr "" +msgid "Bad command. Type '%s' for help." +msgstr "" #: src/lang.c:110 -msgid "Catchup all groups entered during this session?" -msgstr "" +msgid "Base article" +msgstr "" #: src/lang.c:111 -msgid "You have tagged articles in this group - catchup anyway?" -msgstr "" +msgid "Base article range" +msgstr "" #: src/lang.c:112 #, c-format -msgid "%s %d %s in %lu seconds\n" -msgstr "" +msgid "%s: Updating of index files not supported\n" +msgstr "" #: src/lang.c:113 -msgid "Caughtup" -msgstr "" +msgid "*** Beginning of article ***" +msgstr "" #: src/lang.c:114 -msgid "Check Prepared Article" -msgstr "" - -#: src/lang.c:115 -msgid "Checking for new groups... " -msgstr "" +msgid "*** Beginning of page ***" +msgstr "" #: src/lang.c:116 -msgid "Checking for news..." -msgstr "" +#, c-format +msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " +msgstr "" #: src/lang.c:117 -#, c-format -msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " -msgstr "" +msgid "Cancelling article..." +msgstr "" #: src/lang.c:119 -msgid "ANSI color disabled" -msgstr "ANSI colour disabled" +#, c-format +msgid "Cannot create %s" +msgstr "" #: src/lang.c:120 -msgid "ANSI color enabled" -msgstr "ANSI colour enabled" +#, c-format +msgid "Can't find base article %d" +msgstr "" + +#: src/lang.c:121 +#, c-format +msgid "Can't open %s" +msgstr "" #: src/lang.c:122 #, c-format -msgid "Command failed: %s" -msgstr "" +msgid "Couldn't open %s for saving" +msgstr "" #: src/lang.c:123 -msgid "Mark not selected articles read?" -msgstr "" +msgid "*** Posting not allowed ***" +msgstr "" #: src/lang.c:124 #, c-format -msgid "Connecting to %s..." -msgstr "" - -#: src/lang.c:125 -msgid "" -msgstr "" +msgid "Posting is not allowed to %s" +msgstr "" #: src/lang.c:126 -msgid "Creating active file for saved groups...\n" -msgstr "" +#, c-format +msgid "Can't retrieve %s" +msgstr "" + +#: src/lang.c:128 +#, c-format +msgid "%s is a directory" +msgstr "" -#: src/lang.c:127 -msgid "Creating newsrc file...\n" -msgstr "" - -#: src/lang.c:129 src/lang.c:1150 -msgid "Default" -msgstr "" +#: src/lang.c:129 +msgid "Catchup" +msgstr "" #: src/lang.c:130 -msgid "Delete saved files that have been post processed?" -msgstr "" +#, c-format +msgid "Catchup %s..." +msgstr "" #: src/lang.c:131 -msgid "Deleting temporary files..." -msgstr "" +msgid "Catchup all groups entered during this session?" +msgstr "" + +#: src/lang.c:132 +msgid "You have tagged articles in this group - catchup anyway?" +msgstr "" #: src/lang.c:133 -msgid "*** End of article ***" -msgstr "" +#, c-format +msgid "%s %d %s in %lu seconds\n" +msgstr "" #: src/lang.c:134 -msgid "*** End of articles ***" -msgstr "" +msgid "Caughtup" +msgstr "" #: src/lang.c:135 -msgid "*** End of groups ***" -msgstr "" +msgid "Check Prepared Article" +msgstr "" #: src/lang.c:136 -msgid "*** End of thread ***" -msgstr "" +msgid "Checking for new groups... " +msgstr "" #: src/lang.c:137 -msgid "Enter limit of articles to get> " -msgstr "" +msgid "Checking for news..." +msgstr "" #: src/lang.c:138 -msgid "Enter Message-ID to go to> " -msgstr "" - -#: src/lang.c:139 -msgid " and enter next unread thread" -msgstr "" +#, c-format +msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " +msgstr "" #: src/lang.c:140 -msgid " and enter next unread group" -msgstr "" +msgid "ANSI color disabled" +msgstr "ANSI colour disabled" #: src/lang.c:141 -msgid "Enter option number> " -msgstr "" +msgid "ANSI color enabled" +msgstr "ANSI colour enabled" -#: src/lang.c:142 +#: src/lang.c:143 #, c-format -msgid "Enter range [%s]> " -msgstr "" +msgid "Command failed: %s" +msgstr "" -#: src/lang.c:143 -msgid "\n" - "Warning: Approved: header used.\n" -msgstr "" - -#: src/lang.c:145 -msgid "\n" - "Error: Bad address in Approved: header.\n" -msgstr "" +#: src/lang.c:144 +msgid "Mark not selected articles read?" +msgstr "" #: src/lang.c:146 -msgid "\n" - "Error: Bad address in From: header.\n" -msgstr "" - -#: src/lang.c:147 -msgid "\n" - "Error: Bad address in Reply-To: header.\n" -msgstr "" +#, c-format +msgid "Connecting to %s..." +msgstr "" #: src/lang.c:148 -msgid "\n" - "Error: Bad FQDN in Message-ID: header.\n" -msgstr "" +msgid "" +msgstr "" #: src/lang.c:149 -#, c-format -msgid "Can't unlock %s" -msgstr "" - -#: src/lang.c:151 -#, c-format -msgid "Corrupted file %s" -msgstr "" +msgid "Creating active file for saved groups...\n" +msgstr "" -#: src/lang.c:152 -#, c-format -msgid "Couldn't dotlock %s - article not appended!" -msgstr "" +#: src/lang.c:150 +msgid "Creating newsrc file...\n" +msgstr "" + +#: src/lang.c:152 src/lang.c:1296 +msgid "Default" +msgstr "" #: src/lang.c:153 -#, c-format -msgid "Couldn't lock %s - article not appended!" -msgstr "" +msgid "Delete saved files that have been post processed?" +msgstr "" -#: src/lang.c:155 -msgid "Internal error in GNKSA routine - send bug report.\n" -msgstr "" +#: src/lang.c:154 +msgid "Deleting temporary files..." +msgstr "" #: src/lang.c:156 -msgid "Left angle bracket missing in route address.\n" -msgstr "" +msgid "*** End of article ***" +msgstr "" #: src/lang.c:157 -msgid "Left parenthesis missing in old-style address.\n" -msgstr "" +msgid "*** End of articles ***" +msgstr "" #: src/lang.c:158 -msgid "Right parenthesis missing in old-style address.\n" -msgstr "" +msgid "*** End of attachments ***" +msgstr "" #: src/lang.c:159 -msgid "At-sign missing in mail address.\n" -msgstr "" +msgid "*** End of groups ***" +msgstr "" #: src/lang.c:160 -msgid "Single component FQDN is not allowed. Add your domain.\n" -msgstr "" +msgid "*** End of page ***" +msgstr "" #: src/lang.c:161 -msgid "Invalid domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "" +msgid "*** End of scopes ***" +msgstr "" #: src/lang.c:162 -msgid "Illegal domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "" +msgid "*** End of thread ***" +msgstr "" #: src/lang.c:163 -msgid "Unknown domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "" +msgid "*** End of URLs ***" +msgstr "" #: src/lang.c:164 -msgid "Illegal character in FQDN.\n" -msgstr "" +msgid "Enter limit of articles to get> " +msgstr "" #: src/lang.c:165 -msgid "Zero length FQDN component not allowed.\n" -msgstr "" +msgid "Enter Message-ID to go to> " +msgstr "" #: src/lang.c:166 -msgid "FQDN component exceeds maximum allowed length (63 chars).\n" -msgstr "" +msgid " and enter next unread thread" +msgstr "" #: src/lang.c:167 -msgid "FQDN component may not start or end with hyphen.\n" -msgstr "" +msgid " and enter next unread article" +msgstr "" #: src/lang.c:168 -msgid "FQDN component may not start with digit.\n" -msgstr "" +msgid " and enter next unread group" +msgstr "" #: src/lang.c:169 -msgid "Domain literal has impossible numeric value.\n" -msgstr "" +msgid "Enter option number> " +msgstr "" #: src/lang.c:170 -msgid "Domain literal is for private use only and not allowed for global use.\n" -msgstr "" +#, c-format +msgid "Enter range [%s]> " +msgstr "" #: src/lang.c:171 -msgid "Right bracket missing in domain literal.\n" -msgstr "" - -#: src/lang.c:172 -msgid "Missing localpart of mail address.\n" -msgstr "" +msgid "\n" + "Warning: Approved: header used.\n" +msgstr "" #: src/lang.c:173 -msgid "Illegal character in localpart of mail address.\n" -msgstr "" +msgid "\n" + "Error: Bad address in Approved: header.\n" +msgstr "" #: src/lang.c:174 -msgid "Zero length localpart component not allowed.\n" -msgstr "" +msgid "\n" + "Error: Bad address in From: header.\n" +msgstr "" #: src/lang.c:175 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" -msgstr "" +msgid "\n" + "Error: Bad address in Reply-To: header.\n" +msgstr "" #: src/lang.c:176 -msgid "Illegal character in realname.\n" - "Quoted words may not contain '()<>\\'.\n" -msgstr "" - -#: src/lang.c:177 -msgid "Illegal character in realname.\n" - "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" -msgstr "" +msgid "\n" + "Error: Bad FQDN in Message-ID: header.\n" +msgstr "" #: src/lang.c:178 -msgid "Bad syntax in encoded word used in realname.\n" -msgstr "" +#, c-format +msgid "Can't unlock %s" +msgstr "" #: src/lang.c:179 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '()<>\\' in old-style addresses.\n" -msgstr "" +#, c-format +msgid "Couldn't dotlock %s - article not appended!" +msgstr "" #: src/lang.c:180 -msgid "Illegal character in realname.\n" - "Control characters and unencoded 8bit characters > 127 are not allowed.\n" -msgstr "" - -#: src/lang.c:181 -msgid "\n" - "Error: No blank line found after header.\n" -msgstr "" +#, c-format +msgid "Couldn't lock %s - article not appended!" +msgstr "" -#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:183 -msgid "\n" - "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" - " US-ASCII - please change this setting to a suitable value for\n" - " your language using the M)enu of configurable options or by\n" - " editing tinrc.\n" -msgstr "" +#, c-format +msgid "Corrupted file %s" +msgstr "" + +#: src/lang.c:185 +msgid "\n" + "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" +msgstr "" + +#: src/lang.c:186 +msgid "Internal error in GNKSA routine - send bug report.\n" +msgstr "" + +#: src/lang.c:187 +msgid "Left angle bracket missing in route address.\n" +msgstr "" #: src/lang.c:188 -msgid "\n" - "Error: Posting contains non-ASCII characters but the MIME encoding\n" - " for news messages is set to \"7bit\" - please change this\n" - " setting to \"8bit\" or \"quoted-printable\" depending on what\n" - " is more common in your part of the world. This can be done\n" - " using the M)enu of configurable options or by editing tinrc.\n" -msgstr "" +msgid "Left parenthesis missing in old-style address.\n" +msgstr "" + +#: src/lang.c:189 +msgid "Right parenthesis missing in old-style address.\n" +msgstr "" + +#: src/lang.c:190 +msgid "At-sign missing in mail address.\n" +msgstr "" + +#: src/lang.c:191 +msgid "Single component FQDN is not allowed. Add your domain.\n" +msgstr "" + +#: src/lang.c:192 +msgid "Invalid domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" + +#: src/lang.c:193 +msgid "Illegal domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" #: src/lang.c:194 -msgid "\n" - "Error: Article starts with blank line instead of header\n" -msgstr "" +msgid "Unknown domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" #: src/lang.c:195 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a colon after the header name:\n" - "%s\n" -msgstr "" +msgid "Illegal character in FQDN.\n" +msgstr "" #: src/lang.c:196 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is empty.\n" -msgstr "" +msgid "Zero length FQDN component not allowed.\n" +msgstr "" #: src/lang.c:197 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is missing from the article header.\n" -msgstr "" +msgid "FQDN component exceeds maximum allowed length (63 chars).\n" +msgstr "" #: src/lang.c:198 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a space after the colon:\n" - "%s\n" -msgstr "" +msgid "FQDN component may not start or end with hyphen.\n" +msgstr "" #: src/lang.c:199 -#, c-format -msgid "\n" - "Error: There are multiple (%d) \"%s:\" lines in the header.\n" -msgstr "" +msgid "FQDN component may not start with digit.\n" +msgstr "" #: src/lang.c:200 -#, c-format -msgid "Insecure permissions of %s (%o)" -msgstr "" +msgid "Domain literal has impossible numeric value.\n" +msgstr "" #: src/lang.c:201 -#, c-format -msgid "Invalid response to GROUP command, %s" -msgstr "" +msgid "Domain literal is for private use only and not allowed for global use.\n" +msgstr "" + +#: src/lang.c:202 +msgid "Right bracket missing in domain literal.\n" +msgstr "" #: src/lang.c:203 -#, c-format -msgid "MIME parse error: Unexpected end of %s/%s article" -msgstr "" +msgid "Missing localpart of mail address.\n" +msgstr "" #: src/lang.c:204 -msgid "MIME parse error: Start boundary whilst reading headers" -msgstr "" +msgid "Illegal character in localpart of mail address.\n" +msgstr "" #: src/lang.c:205 -msgid "Can't get a (fully-qualified) domain-name!" -msgstr "" +msgid "Zero length localpart component not allowed.\n" +msgstr "" #: src/lang.c:206 -#, c-format -msgid "No permissions to go into %s\n" -msgstr "" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" +msgstr "" #: src/lang.c:207 -msgid "\n" - "Error: From: line missing.\n" -msgstr "" +msgid "Illegal character in realname.\n" + "Quoted words may not contain '()<>\\'.\n" +msgstr "" #: src/lang.c:208 -#, c-format -msgid "No read permissions for %s\n" -msgstr "" +msgid "Illegal character in realname.\n" + "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" +msgstr "" #: src/lang.c:209 -#, c-format -msgid "File %s does not exist\n" -msgstr "" +msgid "Bad syntax in encoded word used in realname.\n" +msgstr "" #: src/lang.c:210 -#, c-format -msgid "No write permissions for %s\n" -msgstr "" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '()<>\\' in old-style addresses.\n" +msgstr "" #: src/lang.c:211 -msgid "Can't get user information (/etc/passwd missing?)" -msgstr "" +msgid "Illegal character in realname.\n" + "Control characters and unencoded 8bit characters > 127 are not allowed.\n" +msgstr "" #: src/lang.c:212 -msgid "errors" -msgstr "" +msgid "\n" + "Error: No blank line found after header.\n" +msgstr "" #: src/lang.c:213 #, c-format -msgid "\n" - "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" -msgstr "" - -#: src/lang.c:214 -#, c-format -msgid "Server has non of the groups listed in %s" -msgstr "" +msgid "\n" + "Error: Illegal formatted %s.\n" +msgstr "" +#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:215 -msgid "error" -msgstr "" - -#: src/lang.c:216 -msgid "Unknown display level" -msgstr "" - -#: src/lang.c:217 -msgid "" -msgstr "" - -#: src/lang.c:218 -msgid "Exiting..." -msgstr "" - -#: src/lang.c:219 -msgid "leaving external mail-reader" -msgstr "" +msgid "\n" + "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" + " US-ASCII - please change this setting to a suitable value for\n" + " your language using the M)enu of configurable options or by\n" + " editing tinrc.\n" +msgstr "" #: src/lang.c:220 +msgid "\n" + "Error: Posting contains non-ASCII characters but the MIME encoding\n" + " for news messages is set to \"7bit\" - please change this\n" + " setting to \"8bit\" or \"quoted-printable\" depending on what\n" + " is more common in your part of the world. This can be done\n" + " using the M)enu of configurable options or by editing tinrc.\n" +msgstr "" + +#: src/lang.c:226 +msgid "\n" + "Error: Article starts with blank line instead of header\n" +msgstr "" + +#: src/lang.c:227 #, c-format -msgid "Extracting %s..." -msgstr "" +msgid "\n" + "Error: Header on line %d does not have a colon after the header name:\n" + "%s\n" +msgstr "" -#: src/lang.c:222 +#: src/lang.c:228 #, c-format -msgid "Error writing %s file. Filesystem full? File reset to previous state." -msgstr "" +msgid "\n" + "Error: The \"%s:\" line is empty.\n" +msgstr "" -#: src/lang.c:223 +#: src/lang.c:229 #, c-format -msgid "Error making backup of %s file. Filesystem full?" -msgstr "" +msgid "\n" + "Error: The \"%s:\" line is missing from the article header.\n" +msgstr "" -#: src/lang.c:224 +#: src/lang.c:230 #, c-format -msgid "Filtering global rules (%d/%d)..." -msgstr "" +msgid "\n" + "Error: %s contains non 7bit chars.\n" +msgstr "" -#: src/lang.c:225 -msgid "Rule created by: " -msgstr "" +#: src/lang.c:231 +#, c-format +msgid "\n" + "Error: Header on line %d does not have a space after the colon:\n" + "%s\n" +msgstr "" -#: src/lang.c:226 +#: src/lang.c:232 #, c-format -msgid "Enter pattern [%s]> " -msgstr "" +msgid "\n" + "Error: There are multiple (%d) \"%s:\" lines in the header.\n" +msgstr "" -#: src/lang.c:227 +#: src/lang.c:233 #, c-format -msgid "\n" - "You requested followups to your article to go to the following %s:\n" -msgstr "" +msgid "Insecure permissions of %s (%o)" +msgstr "" -#: src/lang.c:228 +#: src/lang.c:235 #, c-format -msgid " %s\t Answers will be directed to you by mail.\n" -msgstr "" +msgid "Invalid response to GROUP command, %s" +msgstr "" -#: src/lang.c:229 -msgid "-- forwarded message --\n" -msgstr "" +#: src/lang.c:240 +#, c-format +msgid "MIME parse error: Unexpected end of %s/%s article" +msgstr "" -#: src/lang.c:230 -msgid "-- end of forwarded message --\n" -msgstr "" +#: src/lang.c:241 +msgid "MIME parse error: Start boundary whilst reading headers" +msgstr "" -#: src/lang.c:231 -msgid "# Format:\n" - "# comment=STRING Optional. Multiple lines allowed. Comments must be " - "placed\n" - "# at the beginning of a rule, or they will be moved to " - "the\n" - "# next rule. '#' is not a valid keyword for a comment!\n" - "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" - "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" - "# score=NUM|STRING Mandatory. Score to give. Either:\n" - "# score=NUM A number (e.g. 70). Or:\n" - "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" - "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" - "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" - "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" - "# full references.\n" - "# msgid_last=STRING Optional. Like above, but with last reference only.\n" - "# msgid_only=STRING Optional. Like above, but without references.\n" - "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " - "without\n" - "# Message-ID:\n" - "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" - "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " - "opt.\n" - "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" - "# time=NUM Optional. time_t value when rule expires\n" - "#\n" -msgstr "" +#: src/lang.c:242 +msgid "\n" + "Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "" -#: src/lang.c:252 +#: src/lang.c:243 +msgid "Can't get a (fully-qualified) domain-name!" +msgstr "" + +#: src/lang.c:244 #, c-format -msgid "Enter score for rule (default=%d): " -msgstr "" +msgid "No permissions to go into %s\n" +msgstr "" -#: src/lang.c:253 +#: src/lang.c:246 +msgid "\n" + "Error: From: line missing.\n" +msgstr "" + +#: src/lang.c:248 #, c-format -msgid "Enter the score weight (range 0 < score <= %d)" -msgstr "" +msgid "No read permissions for %s\n" +msgstr "" -#. SCORE_MAX -#: src/lang.c:254 -msgid "Full" -msgstr "" +#: src/lang.c:249 +#, c-format +msgid "File %s does not exist\n" +msgstr "" + +#: src/lang.c:250 +#, c-format +msgid "No write permissions for %s\n" +msgstr "" -#: src/lang.c:255 -msgid "Comment (optional) : " -msgstr "" +#: src/lang.c:251 +msgid "Can't get user information (/etc/passwd missing?)" +msgstr "" + +#: src/lang.c:252 +msgid "errors" +msgstr "" + +#: src/lang.c:254 +#, c-format +msgid "\n" + "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" +msgstr "" #: src/lang.c:256 -msgid "Apply pattern to : " -msgstr "" +#, c-format +msgid "Server has non of the groups listed in %s" +msgstr "" #: src/lang.c:257 -msgid "From: line (ignore case) " -msgstr "" +msgid "error" +msgstr "" #: src/lang.c:258 -msgid "From: line (case sensitive) " -msgstr "" +msgid "Unknown display level" +msgstr "" + +#: src/lang.c:259 +msgid "" +msgstr "" #: src/lang.c:260 -#, c-format -msgid "%s%s: Unknown host.\n" -msgstr "" +msgid "Exiting..." +msgstr "" #: src/lang.c:261 -msgid "global " -msgstr "" +msgid "leaving external mail-reader" +msgstr "" #: src/lang.c:262 #, c-format -msgid "Please use %.100s instead" -msgstr "" - -#: src/lang.c:263 -#, c-format -msgid "%s is bogus" -msgstr "" +msgid "Extracting %s..." +msgstr "" #: src/lang.c:264 #, c-format -msgid "Group %s is moderated. Continue?" -msgstr "" +msgid "Error writing %s file. Filesystem full? File reset to previous state." +msgstr "" #: src/lang.c:265 -msgid "groups" -msgstr "" +#, c-format +msgid "Error making backup of %s file. Filesystem full?" +msgstr "" #: src/lang.c:266 #, c-format -msgid "Rereading %s..." -msgstr "" +msgid "Filtering global rules (%d/%d)..." +msgstr "" #: src/lang.c:267 -msgid "Top Level Commands" -msgstr "" +msgid "Rule created by: " +msgstr "" #: src/lang.c:268 -msgid "Group Selection" -msgstr "" +#, c-format +msgid "Enter pattern [%s]> " +msgstr "" #: src/lang.c:269 -msgid "group" -msgstr "" +#, c-format +msgid "\n" + "You requested followups to your article to go to the following %s:\n" +msgstr "" + +#: src/lang.c:270 +#, c-format +msgid " %s\t Answers will be directed to you by mail.\n" +msgstr "" #: src/lang.c:271 -msgid "One or more lines of comment. to add a line or proceed if line is empty." -msgstr "" +msgid "-- forwarded message --\n" +msgstr "" #: src/lang.c:272 -msgid "From: line to add to filter file. toggles & sets." -msgstr "" +msgid "-- end of forwarded message --\n" +msgstr "" #: src/lang.c:273 -msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." -msgstr "" - -#: src/lang.c:274 -msgid "Message-ID: line to add to filter file. toggles & sets." -msgstr "" - -#: src/lang.c:275 -msgid "Subject: line to add to filter file. toggles & sets." -msgstr "" - -#: src/lang.c:276 -msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." -msgstr "" - -#: src/lang.c:277 -msgid "Select where text pattern should be applied. toggles & sets." -msgstr "" - -#: src/lang.c:278 -msgid "Expiration time in days for the entered filter. toggles & sets." -msgstr "" - -#: src/lang.c:279 -msgid "Apply kill only to current group or all groups. toggles & sets." -msgstr "" - -#: src/lang.c:280 -msgid "Apply select to current group or all groups. toggles & sets." -msgstr "" - -#: src/lang.c:281 -msgid "kill an article via a menu" -msgstr "" - -#: src/lang.c:282 -msgid "auto-select (hot) an article via a menu" -msgstr "" - -#: src/lang.c:283 -msgid "Browse URLs in article" -msgstr "" - -#: src/lang.c:284 -msgid "0 - 9\t display article by number in current thread" -msgstr "" - -#: src/lang.c:285 -msgid "cancel (delete) or supersede (overwrite) current article" -msgstr "" - -#: src/lang.c:286 -msgid "edit article (mail-groups only)" -msgstr "" - -#: src/lang.c:287 -msgid "display first article in current thread" -msgstr "" - -#: src/lang.c:288 -msgid "display first page of article" -msgstr "" - -#: src/lang.c:289 -msgid "post followup to current article" -msgstr "" - -#: src/lang.c:290 -msgid "post followup (don't copy text) to current article" -msgstr "" - -#: src/lang.c:291 -msgid "post followup to current article quoting complete headers" -msgstr "" - -#: src/lang.c:292 -msgid "display last article in current thread" -msgstr "" - -#: src/lang.c:293 -msgid "display last page of article" -msgstr "" +msgid "# Format:\n" + "# comment=STRING Optional. Multiple lines allowed. Comments must be " + "placed\n" + "# at the beginning of a rule, or they will be moved to " + "the\n" + "# next rule. '#' is not a valid keyword for a comment!\n" + "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" + "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" + "# score=NUM|STRING Mandatory. Score to give. Either:\n" + "# score=NUM A number (e.g. 70). Or:\n" + "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" + "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" + "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" + "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" + "# full references.\n" + "# msgid_last=STRING Optional. Like above, but with last reference only.\n" + "# msgid_only=STRING Optional. Like above, but without references.\n" + "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " + "without\n" + "# Message-ID:\n" + "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" + "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " + "opt.\n" + "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" + "# time=NUM Optional. time_t value when rule expires\n" + "#\n" +msgstr "" #: src/lang.c:294 -msgid "mark rest of thread as read and advance to next unread" -msgstr "" +#, c-format +msgid "Enter score for rule (default=%d): " +msgstr "" #: src/lang.c:295 -msgid "display next article" -msgstr "" +#, c-format +msgid "Enter the score weight (range 0 < score <= %d)" +msgstr "" +#. SCORE_MAX #: src/lang.c:296 -msgid "display first article in next thread" -msgstr "" +msgid "Full" +msgstr "" #: src/lang.c:297 -msgid "display next unread article" -msgstr "" +msgid "Comment (optional) : " +msgstr "" #: src/lang.c:298 -msgid "go to the article that this one followed up" -msgstr "" +msgid "Apply pattern to : " +msgstr "" #: src/lang.c:299 -msgid "display previous article" -msgstr "" +msgid "From: line (ignore case) " +msgstr "" #: src/lang.c:300 -msgid "display previous unread article" -msgstr "" - -#: src/lang.c:301 -msgid "quickly kill an article using defaults" -msgstr "" +msgid "From: line (case sensitive) " +msgstr "" #: src/lang.c:302 -msgid "quickly auto-select (hot) an article using defaults" -msgstr "" - -#: src/lang.c:303 -msgid "return to group selection level" -msgstr "" +#, c-format +msgid "%s%s: Unknown host.\n" +msgstr "" #: src/lang.c:304 -msgid "reply through mail to author" -msgstr "" +msgid "global " +msgstr "" #: src/lang.c:305 -msgid "reply through mail (don't copy text) to author" -msgstr "" +#, c-format +msgid "Please use %.100s instead" +msgstr "" #: src/lang.c:306 -msgid "reply through mail to author quoting complete headers" -msgstr "" +#, c-format +msgid "%s is bogus" +msgstr "" #: src/lang.c:307 -msgid "repost chosen article to another group" -msgstr "" +#, c-format +msgid "Group %s is moderated. Continue?" +msgstr "" #: src/lang.c:308 -msgid "search backwards within this article" -msgstr "" +msgid "groups" +msgstr "" #: src/lang.c:309 -msgid "search forwards within this article" -msgstr "" +#, c-format +msgid "Rereading %s..." +msgstr "" #: src/lang.c:310 -msgid "show article in raw-mode (including all headers)" -msgstr "" +msgid "Top Level Commands" +msgstr "" #: src/lang.c:311 -msgid "skip next block of included text" -msgstr "" +msgid "Group Selection" +msgstr "" #: src/lang.c:312 -msgid "toggle display of sections hidden by a form-feed (^L) on/off" -msgstr "" - -#: src/lang.c:313 -msgid "toggle word highlighting on/off" -msgstr "" +msgid "group" +msgstr "" #: src/lang.c:314 -msgid "toggle ROT-13 (basic decode) for current article" -msgstr "" +msgid "One or more lines of comment. to add a line or proceed if line is empty." +msgstr "" #: src/lang.c:315 -msgid "toggle tabwidth 4 <-> 8" -msgstr "" +msgid "From: line to add to filter file. toggles & sets." +msgstr "" #: src/lang.c:316 -msgid "toggle german TeX style decoding for current article" -msgstr "" +msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." +msgstr "" #: src/lang.c:317 -msgid "toggle display of uuencoded sections" -msgstr "" +msgid "Message-ID: line to add to filter file. toggles & sets." +msgstr "" #: src/lang.c:318 -msgid "View/save multimedia attachments" -msgstr "" +msgid "Subject: line to add to filter file. toggles & sets." +msgstr "" #: src/lang.c:319 -#, c-format -msgid "report bug or comment via mail to %s" -msgstr "" +msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." +msgstr "" #: src/lang.c:320 -msgid "choose range of articles to be affected by next command" -msgstr "" +msgid "Select where text pattern should be applied. toggles & sets." +msgstr "" #: src/lang.c:321 -msgid "escape from command prompt" -msgstr "" +msgid "Expiration time in days for the entered filter. toggles & sets." +msgstr "" #: src/lang.c:322 -msgid "edit filter file" -msgstr "" +msgid "Apply kill only to current group or all groups. toggles & sets." +msgstr "" #: src/lang.c:323 -msgid "get help" -msgstr "" +msgid "Apply select to current group or all groups. toggles & sets." +msgstr "" #: src/lang.c:324 -msgid "display last article viewed" -msgstr "" +msgid "kill an article via a menu" +msgstr "" #: src/lang.c:325 -msgid "down one line" -msgstr "" +msgid "auto-select (hot) an article via a menu" +msgstr "" #: src/lang.c:326 -msgid "up one line" -msgstr "" +msgid "Browse URLs in article" +msgstr "" #: src/lang.c:327 -msgid "go to article chosen by Message-ID" -msgstr "" - -#: src/lang.c:328 -msgid "mail article/thread/hot/pattern/tagged articles to someone" -msgstr "" +msgid "0 - 9\t display article by number in current thread" +msgstr "" #: src/lang.c:329 -msgid "menu of configurable options" -msgstr "" +msgid "cancel (delete) or supersede (overwrite) current article" +msgstr "" #: src/lang.c:330 -msgid "down one page" -msgstr "" +msgid "post followup to current article" +msgstr "" #: src/lang.c:331 -msgid "up one page" -msgstr "" +msgid "post followup (don't copy text) to current article" +msgstr "" #: src/lang.c:332 -msgid "post (write) article to current group" -msgstr "" +msgid "post followup to current article quoting complete headers" +msgstr "" #: src/lang.c:333 -msgid "post postponed articles" -msgstr "" - -#: src/lang.c:334 -msgid "list articles posted by you (from posted file)" -msgstr "" +msgid "repost chosen article to another group" +msgstr "" #: src/lang.c:335 -msgid "return to previous menu" -msgstr "" +msgid "edit article (mail-groups only)" +msgstr "" #: src/lang.c:336 -msgid "quit tin immediately" -msgstr "" +msgid "display first article in current thread" +msgstr "" #: src/lang.c:337 -msgid "redraw page" -msgstr "" +msgid "display first page of article" +msgstr "" #: src/lang.c:338 -msgid "save article/thread/hot/pattern/tagged articles to file" -msgstr "" +msgid "display last article in current thread" +msgstr "" #: src/lang.c:339 -msgid "save marked articles automatically without user prompts" -msgstr "" +msgid "display last page of article" +msgstr "" #: src/lang.c:340 -msgid "scroll the screen one line down" -msgstr "" +msgid "mark rest of thread as read and advance to next unread" +msgstr "" #: src/lang.c:341 -msgid "scroll the screen one line up" -msgstr "" +msgid "display next article" +msgstr "" #: src/lang.c:342 -msgid "search for articles by author backwards" -msgstr "" +msgid "display first article in next thread" +msgstr "" #: src/lang.c:343 -msgid "search for articles by author forwards" -msgstr "" +msgid "display next unread article" +msgstr "" #: src/lang.c:344 -msgid "search all articles for a given string (this may take some time)" -msgstr "" +msgid "go to the article that this one followed up" +msgstr "" #: src/lang.c:345 -msgid " \t (searches are case-insensitive and wrap around to all articles)" -msgstr "" +msgid "display previous article" +msgstr "" #: src/lang.c:346 -msgid "search for articles by Subject line backwards" -msgstr "" +msgid "display previous unread article" +msgstr "" #: src/lang.c:347 -msgid "search for articles by Subject line forwards" -msgstr "" +msgid "quickly kill an article using defaults" +msgstr "" #: src/lang.c:348 -msgid "repeat last search" -msgstr "" +msgid "quickly auto-select (hot) an article using defaults" +msgstr "" #: src/lang.c:349 -msgid "tag current article for reposting/mailing/piping/printing/saving" -msgstr "" +msgid "return to group selection level" +msgstr "" #: src/lang.c:350 -msgid "toggle info message in last line (subject/description)" -msgstr "" +msgid "reply through mail to author" +msgstr "" #: src/lang.c:351 -msgid "toggle inverse video" -msgstr "" +msgid "reply through mail (don't copy text) to author" +msgstr "" #: src/lang.c:352 -msgid "toggle mini help menu display" -msgstr "" +msgid "reply through mail to author quoting complete headers" +msgstr "" #: src/lang.c:353 -msgid "cycle the display of authors email address, real name, both or neither" -msgstr "" +msgid "search backwards within this article" +msgstr "" #: src/lang.c:354 -msgid "show version information" -msgstr "" +msgid "search forwards within this article" +msgstr "" #: src/lang.c:355 -msgid "mark all articles as read and return to group selection menu" -msgstr "" +msgid "show article in raw-mode (including all headers)" +msgstr "" #: src/lang.c:356 -msgid "mark all articles as read and enter next group with unread articles" -msgstr "" +msgid "skip next block of included text" +msgstr "" #: src/lang.c:357 -msgid "choose first thread in list" -msgstr "" +msgid "toggle display of sections hidden by a form-feed (^L) on/off" +msgstr "" #: src/lang.c:358 -msgid "choose last thread in list" -msgstr "" +msgid "toggle display of all headers" +msgstr "" #: src/lang.c:359 -msgid "list articles within current thread (bring up Thread sub-menu)" -msgstr "" +msgid "toggle word highlighting on/off" +msgstr "" #: src/lang.c:360 -msgid "mark article as unread" -msgstr "" +msgid "toggle ROT-13 (basic decode) for current article" +msgstr "" #: src/lang.c:361 -msgid "mark current thread or tagged threads as read" -msgstr "" +msgid "toggle tabwidth 4 <-> 8" +msgstr "" #: src/lang.c:362 -msgid "mark thread as unread" -msgstr "" +msgid "toggle german TeX style decoding for current article" +msgstr "" #: src/lang.c:363 -msgid "toggle display of all/selected articles" -msgstr "" +msgid "toggle display of uuencoded sections" +msgstr "" #: src/lang.c:364 -msgid "display next group" -msgstr "" +msgid "View/pipe/save multimedia attachments" +msgstr "" #: src/lang.c:365 -msgid "display previous group" -msgstr "" +msgid "choose first attachment in list" +msgstr "" #: src/lang.c:366 -msgid "toggle all selections (all articles)" -msgstr "" +msgid "0 - 9\t choose attachment by number" +msgstr "" #: src/lang.c:367 -msgid "select group (make \"hot\")" -msgstr "" - -#: src/lang.c:368 -msgid "select thread" -msgstr "" +msgid "choose last attachment in list" +msgstr "" #: src/lang.c:369 -msgid "select threads if at least one unread article is selected" -msgstr "" +msgid "pipe attachment into command" +msgstr "" #: src/lang.c:370 -msgid "select threads that match user specified pattern" -msgstr "" - -#: src/lang.c:371 -msgid "tag all parts of current multipart-message in order" -msgstr "" +msgid "pipe raw attachment into command" +msgstr "" #: src/lang.c:372 -msgid "0 - 9\t choose thread by number" -msgstr "" +msgid "save attachment to disk" +msgstr "" #: src/lang.c:373 -msgid "toggle limit number of articles to get, and reload" -msgstr "" +msgid "search for attachments forwards" +msgstr "" #: src/lang.c:374 -msgid "toggle display of all/unread articles" -msgstr "" +msgid "search for attachments backwards" +msgstr "" #: src/lang.c:375 -msgid "toggle selection of thread" -msgstr "" +msgid "view attachment" +msgstr "" #: src/lang.c:376 -msgid "cycle through threading options available" -msgstr "" +msgid "tag attachment" +msgstr "" #: src/lang.c:377 -msgid "undo all selections (all articles)" -msgstr "" +msgid "tag attachments that match user specified pattern" +msgstr "" #: src/lang.c:378 -msgid "untag all tagged threads" -msgstr "" +msgid "reverse tagging on all attachments (toggle)" +msgstr "" #: src/lang.c:379 -msgid "mark all articles in group as read" -msgstr "" +msgid "untag all tagged attachments" +msgstr "" #: src/lang.c:380 -msgid "mark all articles in group as read and move to next unread group" -msgstr "" +msgid "toggle info message in last line (name/description of attachment)" +msgstr "" #: src/lang.c:381 -msgid "choose first group in list" -msgstr "" +msgid "choose first attribute in list" +msgstr "" #: src/lang.c:382 -msgid "choose group by name" -msgstr "" +msgid "0 - 9\t choose attribute by number" +msgstr "" #: src/lang.c:383 -msgid "0 - 9\t choose group by number" -msgstr "" +msgid "choose last attribute in list" +msgstr "" #: src/lang.c:384 -msgid "choose range of groups to be affected by next command" -msgstr "" +msgid "reset attribute to a default value" +msgstr "" #: src/lang.c:385 -msgid "choose last group in list" -msgstr "" +msgid "search forwards for an attribute" +msgstr "" #: src/lang.c:386 -msgid "mark all articles in chosen group unread" -msgstr "" +msgid "search backwards for an attribute" +msgstr "" #: src/lang.c:387 -msgid "move chosen group within list" -msgstr "" +msgid "select attribute" +msgstr "" #: src/lang.c:388 -msgid "choose next group with unread news" -msgstr "" +msgid "toggle back to options menu when invoked from there" +msgstr "" -#: src/lang.c:389 src/lang.c:1197 -msgid "quit" -msgstr "" +#: src/lang.c:389 +#, c-format +msgid "report bug or comment via mail to %s" +msgstr "" #: src/lang.c:390 -msgid "quit without saving configuration changes" -msgstr "" +msgid "choose first option in list" +msgstr "" #: src/lang.c:391 -msgid "read chosen group" -msgstr "" +msgid "0 - 9\t choose option by number" +msgstr "" #: src/lang.c:392 -msgid "reset .newsrc (all available articles in groups marked unread)" -msgstr "" +msgid "choose last option in list" +msgstr "" #: src/lang.c:393 -msgid "search backwards for a group name" -msgstr "" +msgid "start scopes menu" +msgstr "" #: src/lang.c:394 -msgid " \t (all searches are case-insensitive and wrap around)" -msgstr "" +msgid "search forwards for an option" +msgstr "" #: src/lang.c:395 -msgid "search forwards for a group name" -msgstr "" +msgid "search backwards for an option" +msgstr "" #: src/lang.c:396 -msgid "subscribe to chosen group" -msgstr "" +msgid "select option" +msgstr "" #: src/lang.c:397 -msgid "subscribe to groups that match pattern" -msgstr "" +msgid "toggle to attributes menu" +msgstr "" #: src/lang.c:398 -msgid "reread active file to check for any new news" -msgstr "" +msgid "choose range of articles to be affected by next command" +msgstr "" #: src/lang.c:399 -msgid "toggle display of group name only or group name plus description" -msgstr "" +msgid "escape from command prompt" +msgstr "" #: src/lang.c:400 -msgid "toggle display to show all/unread subscribed groups" -msgstr "" +msgid "edit filter file" +msgstr "" #: src/lang.c:401 -msgid "unsubscribe from chosen group" -msgstr "" +msgid "get help" +msgstr "" #: src/lang.c:402 -msgid "unsubscribe from groups that match pattern" -msgstr "" +msgid "display last article viewed" +msgstr "" #: src/lang.c:403 -msgid "sort the list of groups" -msgstr "" +msgid "down one line" +msgstr "" #: src/lang.c:404 -msgid "toggle display to show all/subscribed groups" -msgstr "" +msgid "up one line" +msgstr "" #: src/lang.c:405 -msgid "0 - 9\t choose article by number" -msgstr "" +msgid "go to article chosen by Message-ID" +msgstr "" #: src/lang.c:406 -msgid "mark thread as read and return to group index page" -msgstr "" +msgid "mail article/thread/hot/pattern/tagged articles to someone" +msgstr "" #: src/lang.c:407 -msgid "mark thread as read and enter next unread thread or group" -msgstr "" +msgid "menu of configurable options" +msgstr "" #: src/lang.c:408 -msgid "choose first article in list" -msgstr "" +msgid "down one page" +msgstr "" #: src/lang.c:409 -msgid "choose last article in list" -msgstr "" - -#: src/lang.c:410 -msgid "mark article or tagged articles as read and move cursor to next unread article" -msgstr "" +msgid "up one page" +msgstr "" #: src/lang.c:411 -msgid "read chosen article" -msgstr "" +msgid "post (write) article to current group" +msgstr "" #: src/lang.c:412 -msgid "Display properties\n" - "------------------" -msgstr "" - -#: src/lang.c:413 -msgid "Miscellaneous\n" - "-------------" -msgstr "" +msgid "post postponed articles" +msgstr "" #: src/lang.c:414 -msgid "Moving around\n" - "-------------" -msgstr "" +msgid "list articles posted by you (from posted file)" +msgstr "" #: src/lang.c:415 -msgid "Group/thread/article operations\n" - "-------------------------------" -msgstr "" +msgid "return to previous menu" +msgstr "" + +#: src/lang.c:416 +msgid "quit tin immediately" +msgstr "" #: src/lang.c:417 -msgid "Group Level Commands" -msgstr "" +msgid "redraw page" +msgstr "" #: src/lang.c:418 -msgid "Kill filter added" -msgstr "" +msgid "save article/thread/hot/pattern/tagged articles to file" +msgstr "" #: src/lang.c:419 -msgid "Auto-selection filter added" -msgstr "" +msgid "save marked articles automatically without user prompts" +msgstr "" #: src/lang.c:420 -msgid "All parts tagged" -msgstr "" +msgid "scroll the screen one line down" +msgstr "" #: src/lang.c:421 -msgid "Storing article for later posting" -msgstr "" +msgid "scroll the screen one line up" +msgstr "" #: src/lang.c:422 -msgid "Please enter a valid character" -msgstr "" +msgid "search for articles by author backwards" +msgstr "" #: src/lang.c:423 -#, c-format -msgid "Missing part #%d" -msgstr "" +msgid "search for articles by author forwards" +msgstr "" #: src/lang.c:424 -msgid "*** No postponed articles ***" -msgstr "" +msgid "search all articles for a given string (this may take some time)" +msgstr "" #: src/lang.c:425 -msgid "Not a multi-part message" -msgstr "" +msgid " \t (searches are case-insensitive and wrap around to all articles)" +msgstr "" #: src/lang.c:426 -msgid "You are not subscribed to this group" -msgstr "" +msgid "search for articles by Subject line backwards" +msgstr "" #: src/lang.c:427 -msgid "No previous expression" -msgstr "" +msgid "search for articles by Subject line forwards" +msgstr "" #: src/lang.c:428 -msgid "Operation disabled in no-overwrite mode" -msgstr "" +msgid "repeat last search" +msgstr "" + +#: src/lang.c:429 +msgid "tag current article for reposting/mailing/piping/printing/saving" +msgstr "" -#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:430 -#, c-format -msgid "%d postponed %s, reuse with ^O...\n" -msgstr "" +msgid "toggle info message in last line (subject/description)" +msgstr "" #: src/lang.c:431 -msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" - " To get the whole article, turn alternative handling OFF in the Option Menu\n" -msgstr "" +msgid "toggle inverse video" +msgstr "" + +#: src/lang.c:432 +msgid "toggle mini help menu display" +msgstr "" #: src/lang.c:433 -#, c-format -msgid "Save filename for %s/%s is a mailbox. Attachment not saved" -msgstr "" +msgid "cycle the display of authors email address, real name, both or neither" +msgstr "" #: src/lang.c:434 -msgid "TeX2Iso encoded article" -msgstr "" +msgid "show version information" +msgstr "" #: src/lang.c:435 -msgid "incomplete " -msgstr "" +msgid "mark all articles as read and return to group selection menu" +msgstr "" + +#: src/lang.c:436 +msgid "mark all articles as read and enter next group with unread articles" +msgstr "" -#. TODO: replace hardcoded key-names #: src/lang.c:437 -#, c-format -msgid "\n" - "Welcome to %s, a full screen threaded Netnews reader. It can read news " - "locally\n" - "(ie. /news) or remotely (-r option) from a NNTP (Network News " - "Transport\n" - "Protocol) server. -h lists the available command line options.\n" - "\n" - "%s has four newsreading levels, the newsgroup selection page, the group " - "index\n" - "page, the thread listing page and the article viewer. Help is available at " - "each\n" - "level by pressing the 'h' command.\n" - "\n" - "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " - "or\n" - "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" - "\n" - "Articles, threads, tagged articles or articles matching a pattern can be " - "mailed\n" - "('m' command), printed ('o' command), saved ('s' command), piped ('|' " - "command).\n" - "Use the 'w' command to post a news article, the 'f'/'F' commands to post " - "a\n" - "follow-up to an existing news article and the 'r'/'R' commands to reply " - "via\n" - "mail to an existing news article author. The 'M' command allows the " - "operation\n" - "of %s to be configured via a menu.\n" - "\n" - "For more information read the manual page, README, INSTALL, TODO and FTP " - "files.\n" - "Please send bug-reports/comments to %s with the 'R' command.\n" -msgstr "" +msgid "choose first thread in list" +msgstr "" + +#: src/lang.c:438 +msgid "choose last thread in list" +msgstr "" + +#: src/lang.c:439 +msgid "list articles within current thread (bring up Thread sub-menu)" +msgstr "" + +#: src/lang.c:440 +msgid "mark article as unread" +msgstr "" + +#: src/lang.c:441 +msgid "mark current thread, range or tagged threads as read" +msgstr "" + +#: src/lang.c:442 +msgid "mark current thread, range or tagged threads as unread" +msgstr "" + +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "" + +#: src/lang.c:445 +msgid "toggle display of all/selected articles" +msgstr "" + +#: src/lang.c:446 +msgid "display next group" +msgstr "" + +#: src/lang.c:447 +msgid "display previous group" +msgstr "" + +#: src/lang.c:448 +msgid "toggle all selections (all articles)" +msgstr "" + +#: src/lang.c:449 +msgid "select group (make \"hot\")" +msgstr "" + +#: src/lang.c:450 +msgid "select thread" +msgstr "" + +#: src/lang.c:451 +msgid "select threads if at least one unread article is selected" +msgstr "" + +#: src/lang.c:452 +msgid "select threads that match user specified pattern" +msgstr "" #: src/lang.c:453 -#, c-format -msgid "Invalid From: %s line. Read the INSTALL file again." -msgstr "" +msgid "tag all parts of current multipart-message in order" +msgstr "" + +#: src/lang.c:454 +msgid "0 - 9\t choose thread by number" +msgstr "" #: src/lang.c:455 -msgid "Invalid multibyte sequence found\n" -msgstr "" +msgid "toggle limit number of articles to get, and reload" +msgstr "" + +#: src/lang.c:456 +msgid "toggle display of all/unread articles" +msgstr "" #: src/lang.c:457 -#, c-format -msgid "Invalid Sender:-header %s" -msgstr "" +msgid "toggle selection of thread" +msgstr "" #: src/lang.c:458 -msgid "Inverse video disabled" -msgstr "" +msgid "cycle through threading options available" +msgstr "" #: src/lang.c:459 -msgid "Inverse video enabled" -msgstr "" +msgid "undo all selections (all articles)" +msgstr "" + +#: src/lang.c:460 +msgid "untag all tagged threads" +msgstr "" #: src/lang.c:461 -#, c-format -msgid "Missing definition for %s\n" -msgstr "" +msgid "add new scope" +msgstr "" #: src/lang.c:462 -#, c-format -msgid "Invalid key definition '%s'\n" -msgstr "" +msgid "delete scope" +msgstr "" #: src/lang.c:463 -#, c-format -msgid "Invalid keyname '%s'\n" -msgstr "" +msgid "edit attributes file" +msgstr "" #: src/lang.c:464 -#, c-format -msgid "Keymap file was upgraded to version %s\n" -msgstr "" +msgid "choose first scope in list" +msgstr "" #: src/lang.c:465 -#, c-format -msgid "Kill From: [%s] (y/n): " -msgstr "" +msgid "0 - 9\t choose scope by number" +msgstr "" #: src/lang.c:466 -msgid "Kill Lines: (num): " -msgstr "" +msgid "choose last scope in list" +msgstr "" #: src/lang.c:467 -msgid "Kill Article Menu" -msgstr "" +msgid "move scope" +msgstr "" #: src/lang.c:468 -#, c-format -msgid "Kill Msg-Id: [%s] (f/l/o/n): " -msgstr "" +msgid "rename scope" +msgstr "" #: src/lang.c:469 -msgid "Kill pattern scope : " -msgstr "" +msgid "select scope" +msgstr "" #: src/lang.c:470 -#, c-format -msgid "Kill Subject: [%s] (y/n): " -msgstr "" +msgid "mark all articles in group as read" +msgstr "" #: src/lang.c:471 -msgid "Kill text pattern : " -msgstr "" +msgid "mark all articles in group as read and move to next unread group" +msgstr "" #: src/lang.c:472 -msgid "Kill time in days : " -msgstr "" +msgid "choose first group in list" +msgstr "" + +#: src/lang.c:473 +msgid "choose group by name" +msgstr "" #: src/lang.c:474 -msgid "Last" -msgstr "" +msgid "0 - 9\t choose group by number" +msgstr "" #: src/lang.c:475 -msgid "-- Last response --" -msgstr "" +msgid "choose range of groups to be affected by next command" +msgstr "" #: src/lang.c:476 -#, c-format -msgid "Lines %s " -msgstr "" +msgid "choose last group in list" +msgstr "" + +#: src/lang.c:477 +msgid "mark all articles in chosen group unread" +msgstr "" #: src/lang.c:478 -msgid "Message-ID: line " -msgstr "" +msgid "move chosen group within list" +msgstr "" #: src/lang.c:479 -msgid "Mail" -msgstr "" +msgid "choose next group with unread news" +msgstr "" -#: src/lang.c:480 -msgid "mailbox " -msgstr "" +#: src/lang.c:480 src/lang.c:1351 +msgid "quit" +msgstr "" #: src/lang.c:481 -#, c-format -msgid "Mail article(s) to [%.*s]> " -msgstr "" +msgid "quit without saving configuration changes" +msgstr "" #: src/lang.c:482 -#, c-format -msgid "Mailing log to %s\n" -msgstr "" +msgid "read chosen group" +msgstr "" #: src/lang.c:483 -msgid "Mail bug report..." -msgstr "" +msgid "reset .newsrc (all available articles in groups marked unread)" +msgstr "" #: src/lang.c:484 -#, c-format -msgid "Mail BUG REPORT to %s?" -msgstr "" +msgid "search backwards for a group name" +msgstr "" #: src/lang.c:485 -msgid "Mailed" -msgstr "" +msgid " \t (all searches are case-insensitive and wrap around)" +msgstr "" #: src/lang.c:486 -#, c-format -msgid "Mailing to %s..." -msgstr "" +msgid "search forwards for a group name" +msgstr "" #: src/lang.c:487 -msgid "# [Mail/Save] active file. Format is like news active file:\n" - "# groupname max.artnum min.artnum /dir\n" - "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" - "#\n" -msgstr "" +msgid "subscribe to chosen group" +msgstr "" + +#: src/lang.c:488 +msgid "subscribe to groups that match pattern" +msgstr "" + +#: src/lang.c:489 +msgid "reread active file to check for any new news" +msgstr "" #: src/lang.c:490 -#, c-format -msgid "%s marked as unread" -msgstr "" +msgid "toggle display of group name only or group name plus description" +msgstr "" #: src/lang.c:491 -#, c-format -msgid "Marked %d of %d tagged %s as read" -msgstr "" +msgid "toggle display to show all/unread subscribed groups" +msgstr "" #: src/lang.c:492 -#, c-format -msgid "Mark all articles as read%s?" -msgstr "" +msgid "unsubscribe from chosen group" +msgstr "" #: src/lang.c:493 -#, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " -msgstr "" +msgid "unsubscribe from groups that match pattern" +msgstr "" #: src/lang.c:494 -#, c-format -msgid "Mark group %s as read?" -msgstr "" +msgid "sort the list of groups" +msgstr "" #: src/lang.c:495 -#, c-format -msgid "Mark thread as read%s?" -msgstr "" +msgid "toggle display to show all/subscribed groups" +msgstr "" #: src/lang.c:496 -#, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " -msgstr "" +msgid "0 - 9\t choose article by number" +msgstr "" #: src/lang.c:497 -#, c-format -msgid "Matching %s groups..." -msgstr "" +msgid "mark thread as read and return to group index page" +msgstr "" -#: src/lang.c:498 src/lang.c:502 -#, c-format -msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" -msgstr "" +#: src/lang.c:498 +msgid "mark thread as read and enter next unread thread or group" +msgstr "" #: src/lang.c:499 -#, c-format -msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " - "thread" -msgstr "" +msgid "choose first article in list" +msgstr "" #: src/lang.c:500 -#, c-format -msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" -msgstr "" +msgid "choose last article in list" +msgstr "" #: src/lang.c:501 -#, c-format -msgid "%s=search forwards; %s=search backwards; %s=quit" -msgstr "" +msgid "mark art, range or tagged arts as read; move crsr to next unread art" +msgstr "" + +#: src/lang.c:502 +msgid "mark article, range or tagged articles as unread" +msgstr "" #: src/lang.c:503 -#, c-format -msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" -msgstr "" +msgid "mark current thread as unread" +msgstr "" #: src/lang.c:504 -#, c-format -msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" -msgstr "" +msgid "read chosen article" +msgstr "" #: src/lang.c:505 -#, c-format -msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" -msgstr "" +msgid "Display properties\n" + "------------------" +msgstr "" #: src/lang.c:506 -#, c-format -msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" -msgstr "" +msgid "Miscellaneous\n" + "-------------" +msgstr "" #: src/lang.c:507 -#, c-format -msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" -msgstr "" +msgid "Moving around\n" + "-------------" +msgstr "" #: src/lang.c:508 -#, c-format -msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" -msgstr "" +msgid "Group/thread/article operations\n" + "-------------------------------" +msgstr "" #: src/lang.c:509 -msgid "--More--" -msgstr "" +msgid "Attachment operations\n" + "---------------------" +msgstr "" #: src/lang.c:510 -#, c-format -msgid "Moving %s..." -msgstr "" +msgid "Attribute operations\n" + "--------------------" +msgstr "" + +#: src/lang.c:511 +msgid "Option operations\n" + "-----------------" +msgstr "" #: src/lang.c:512 -msgid ", name: " -msgstr "" +msgid "Scope operations\n" + "----------------" +msgstr "" #: src/lang.c:513 -#, c-format -msgid "Goto newsgroup [%s]> " -msgstr "" +msgid "URL operations\n" + "--------------" +msgstr "" #: src/lang.c:514 -msgid "newsgroups" -msgstr "" +msgid "choose first URL in list" +msgstr "" #: src/lang.c:515 -#, c-format -msgid "Position %s in group list (1,2,..,$) [%d]> " -msgstr "" +msgid "0 - 9\t choose URL by number" +msgstr "" #: src/lang.c:516 -msgid "newsgroup" -msgstr "" +msgid "choose last URL in list" +msgstr "" #: src/lang.c:517 -msgid "Try and save newsrc file again?" -msgstr "" +msgid "search for URLs forwards" +msgstr "" #: src/lang.c:518 -msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." -msgstr "" +msgid "search for URLs backwards" +msgstr "" #: src/lang.c:519 -msgid "newsrc file saved successfully.\n" -msgstr "" +msgid "Open URL in browser" +msgstr "" #: src/lang.c:520 -msgid "-- Next response --" -msgstr "" - -#: src/lang.c:521 -#, c-format -msgid "NNTP authorization password not found for %s" -msgstr "NNTP authorisation password not found for %s" +msgid "toggle info message in last line (URL)" +msgstr "" #: src/lang.c:522 -msgid "No " -msgstr "" +msgid "Group Level Commands" +msgstr "" #: src/lang.c:523 -msgid "*** No articles ***" -msgstr "" +msgid "Kill filter added" +msgstr "" #: src/lang.c:524 -msgid "No articles have been posted" -msgstr "" +msgid "Auto-selection filter added" +msgstr "" #: src/lang.c:525 -msgid "*** No description ***" -msgstr "" +msgid "All parts tagged" +msgstr "" #: src/lang.c:526 -msgid "No filename" -msgstr "" +msgid "Storing article for later posting" +msgstr "" #: src/lang.c:527 -msgid "No group" -msgstr "" +msgid "Please enter a valid character" +msgstr "" #: src/lang.c:528 -msgid "*** No groups ***" -msgstr "" +#, c-format +msgid "Missing part #%d" +msgstr "" #: src/lang.c:529 -msgid "No more groups to read" -msgstr "" +msgid "*** No postponed articles ***" +msgstr "" #: src/lang.c:530 -msgid "No last message" -msgstr "" +msgid "Not a multi-part message" +msgstr "" #: src/lang.c:531 -msgid "No mail address" -msgstr "" +msgid "You are not subscribed to this group" +msgstr "" #: src/lang.c:532 -msgid "No articles marked for saving" -msgstr "" +msgid "No previous expression" +msgstr "" #: src/lang.c:533 -msgid "No match" -msgstr "" - -#: src/lang.c:534 -msgid "No more groups" -msgstr "" +msgid "Operation disabled in no-overwrite mode" +msgstr "" +#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:535 -msgid "No newsgroups" -msgstr "" +#, c-format +msgid "%d postponed %s, reuse with ^O...\n" +msgstr "" #: src/lang.c:536 -msgid "No next unread article" -msgstr "" - -#: src/lang.c:537 -msgid "No previous group" -msgstr "" +msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" + " To get the whole article, turn alternative handling OFF in the Option Menu\n" +msgstr "" #: src/lang.c:538 -msgid "No previous unread article" -msgstr "" +#, c-format +msgid "Save filename for %s/%s is a mailbox. Attachment not saved" +msgstr "" #: src/lang.c:539 -msgid "No responses" -msgstr "" +msgid "TeX2Iso encoded article" +msgstr "" #: src/lang.c:540 -msgid "No responses to list in current thread" -msgstr "" - -#: src/lang.c:541 -msgid "No search string" -msgstr "" +msgid "incomplete " +msgstr "" +#. TODO: replace hardcoded key-names #: src/lang.c:542 -msgid "No subject" -msgstr "" - -#: src/lang.c:544 -#, c-format -msgid "%s: Terminal must have clear to end-of-line (ce)\n" -msgstr "" - -#: src/lang.c:545 -#, c-format -msgid "%s: Terminal must have clear to end-of-screen (cd)\n" -msgstr "" - -#: src/lang.c:546 #, c-format -msgid "%s: Terminal must have clearscreen (cl) capability\n" -msgstr "" - -#: src/lang.c:547 -#, c-format -msgid "%s: Terminal must have cursor motion (cm)\n" -msgstr "" - -#: src/lang.c:548 -#, c-format -msgid "%s: TERM variable must be set to use screen capabilities\n" -msgstr "" - -#: src/lang.c:550 -#, c-format -msgid "No viewer found for %s/%s\n" -msgstr "" - -#: src/lang.c:551 -msgid "Newsgroup does not exist on this server" -msgstr "" - -#: src/lang.c:552 -#, c-format -msgid "Group %s not found in active file" -msgstr "" - -#: src/lang.c:553 -msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "" - -#: src/lang.c:554 -msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "" - -#: src/lang.c:555 -#, c-format -msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" - "# shortname list for %s %s\n" - "#\n" - "# the format of this file is\n" - "# ...\n" - "#\n" - "# if is given without path, $HOME is assumed as its location\n" - "#\n" - "# examples:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" -msgstr "" - -#: src/lang.c:562 -msgid "Only" -msgstr "" +msgid "\n" + "Welcome to %s, a full screen threaded Netnews reader. It can read news " + "locally\n" + "(ie. /news) or remotely (-r option) from a NNTP (Network News " + "Transport\n" + "Protocol) server. -h lists the available command line options.\n" + "\n" + "%s has four newsreading levels, the newsgroup selection page, the group " + "index\n" + "page, the thread listing page and the article viewer. Help is available at " + "each\n" + "level by pressing the 'h' command.\n" + "\n" + "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " + "or\n" + "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" + "\n" + "Articles, threads, tagged articles or articles matching a pattern can be " + "mailed\n" + "('m' command), printed ('o' command), saved ('s' command), piped ('|' " + "command).\n" + "Use the 'w' command to post a news article, the 'f'/'F' commands to post " + "a\n" + "follow-up to an existing news article and the 'r'/'R' commands to reply " + "via\n" + "mail to an existing news article author. The 'M' command allows the " + "operation\n" + "of %s to be configured via a menu.\n" + "\n" + "For more information read the manual page, README, INSTALL, TODO and FTP " + "files.\n" + "Please send bug-reports/comments to %s with the 'R' command.\n" +msgstr "" + +#: src/lang.c:558 +#, c-format +msgid "Invalid From: %s line. Read the INSTALL file again." +msgstr "" + +#: src/lang.c:560 +msgid "Invalid multibyte sequence found\n" +msgstr "" #: src/lang.c:563 #, c-format -msgid "Option not enabled. Recompile with %s." -msgstr "" - -#: src/lang.c:564 -msgid "Options Menu" -msgstr "" +msgid "Invalid Sender:-header %s" +msgstr "" -#: src/lang.c:567 -#, c-format -msgid "Error in regex: %s at pos. %d '%s'" -msgstr "" +#: src/lang.c:565 +msgid "Inverse video disabled" +msgstr "" + +#: src/lang.c:566 +msgid "Inverse video enabled" +msgstr "" #: src/lang.c:568 #, c-format -msgid "Error in regex: pcre internal error %d" -msgstr "" +msgid "Missing definition for %s\n" +msgstr "" #: src/lang.c:569 #, c-format -msgid "Error in regex: study - pcre internal error %s" -msgstr "" +msgid "Invalid key definition '%s'\n" +msgstr "" #: src/lang.c:570 -msgid "Post a followup..." -msgstr "" +#, c-format +msgid "Invalid keyname '%s'\n" +msgstr "" + +#: src/lang.c:571 +#, c-format +msgid "Keymap file was upgraded to version %s\n" +msgstr "" -#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone #: src/lang.c:572 -msgid "An error has occurred while posting the article. If you think that this\n" - "error is temporary or otherwise correctable, you can postpone the article\n" - "and pick it up again with ^O later.\n" -msgstr "" +#, c-format +msgid "Kill From: [%s] (y/n): " +msgstr "" + +#: src/lang.c:573 +msgid "Kill Lines: (num): " +msgstr "" + +#: src/lang.c:574 +msgid "Kill Article Menu" +msgstr "" #: src/lang.c:575 -msgid "Posted articles history" -msgstr "" +#, c-format +msgid "Kill Msg-Id: [%s] (f/l/o/n): " +msgstr "" #: src/lang.c:576 -#, c-format -msgid "Post to newsgroup(s) [%s]> " -msgstr "" +msgid "Kill pattern scope : " +msgstr "" #: src/lang.c:577 -msgid "-- post processing started --" -msgstr "" +#, c-format +msgid "Kill Subject: [%s] (y/n): " +msgstr "" #: src/lang.c:578 -msgid "-- post processing completed --" -msgstr "" +msgid "Kill text pattern : " +msgstr "" #: src/lang.c:579 -#, c-format -msgid "Post subject [%s]> " -msgstr "" - -#: src/lang.c:580 -msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" -msgstr "" +msgid "Kill time in days : " +msgstr "" #: src/lang.c:581 -msgid "Posting article..." -msgstr "" +msgid "Last" +msgstr "" #: src/lang.c:582 -#, c-format -msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " -msgstr "" +msgid "-- Last response --" +msgstr "" #: src/lang.c:583 #, c-format -msgid "Hot %s" -msgstr "" - -#: src/lang.c:584 -#, c-format -msgid "Tagged %s" -msgstr "" +msgid "Lines %s " +msgstr "" #: src/lang.c:585 -#, c-format -msgid "Untagged %s" -msgstr "" +msgid "Mail" +msgstr "" #: src/lang.c:586 -msgid "Processing mail messages marked for deletion." -msgstr "" +msgid "mailbox " +msgstr "" #: src/lang.c:587 -msgid "Processing saved articles marked for deletion." -msgstr "" +#, c-format +msgid "Mail article(s) to [%.*s]> " +msgstr "" #: src/lang.c:588 #, c-format -msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " -msgstr "" +msgid "Mailing log to %s\n" +msgstr "" #: src/lang.c:589 -msgid "Article unchanged, abort mailing?" -msgstr "" +msgid "Mail bug report..." +msgstr "" #: src/lang.c:590 #, c-format -msgid "Do you want to see postponed articles (%d)?" -msgstr "" +msgid "Mail BUG REPORT to %s?" +msgstr "" + +#: src/lang.c:591 +msgid "Mailed" +msgstr "" #: src/lang.c:592 -msgid "Add quick kill filter?" -msgstr "" +#, c-format +msgid "Mailing to %s..." +msgstr "" #: src/lang.c:593 -msgid "Add quick selection filter?" -msgstr "" - -#: src/lang.c:594 -msgid "Do you really want to quit?" -msgstr "" - -#: src/lang.c:595 -#, c-format -msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " -msgstr "" +msgid "# [Mail/Save] active file. Format is like news active file:\n" + "# groupname max.artnum min.artnum /dir\n" + "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" + "#\n" +msgstr "" #: src/lang.c:596 -msgid "You have tagged articles in this group - quit anyway?" -msgstr "" +#, c-format +msgid "%s marked as read" +msgstr "" #: src/lang.c:597 #, c-format -msgid "%s=quit, %s=edit, %s=postpone: " -msgstr "" +msgid "%s marked as unread" +msgstr "" #: src/lang.c:598 #, c-format -msgid "%s=quit %s=edit %s=save kill description: " -msgstr "" +msgid "Marked %d of %d %s as read" +msgstr "" #: src/lang.c:599 #, c-format -msgid "%s=quit %s=edit %s=save select description: " -msgstr "" +msgid "Marked %d of %d %s as unread" +msgstr "" -#: src/lang.c:600 -msgid "Do you really want to quit without saving your configuration?" -msgstr "" +#: src/lang.c:600 src/lang.c:1321 +msgid "Mark" +msgstr "" + +#: src/lang.c:601 +#, c-format +msgid "Mark all articles as read%s?" +msgstr "" + +#: src/lang.c:602 +#, c-format +msgid "Mark article as read%s?" +msgstr "" #: src/lang.c:603 -msgid "Invalid range - valid are '0-9.$' eg. 1-$" -msgstr "" +#, c-format +msgid "Mark group %s as read?" +msgstr "" #: src/lang.c:604 -msgid "Do you want to abort this operation?" -msgstr "" +#, c-format +msgid "Mark thread as read%s?" +msgstr "" #: src/lang.c:605 -msgid "Do you want to exit tin immediately?" -msgstr "" - -#: src/lang.c:606 -msgid "Read response> " -msgstr "" - -#: src/lang.c:607 -msgid "Reading ('q' to quit)..." -msgstr "" +#, c-format +msgid "Matching %s groups..." +msgstr "" -#: src/lang.c:608 +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 #, c-format -msgid "Reading %sarticles..." -msgstr "" +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "" -#: src/lang.c:609 +#: src/lang.c:608 #, c-format -msgid "Reading %sattributes file...\n" -msgstr "" +msgid "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "" #: src/lang.c:610 #, c-format -msgid "Reading %sconfig file...\n" -msgstr "" - -#: src/lang.c:611 -msgid "Reading filter file...\n" -msgstr "" +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "" #: src/lang.c:612 #, c-format -msgid "Reading %s groups..." -msgstr "" +msgid "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "" -#: src/lang.c:613 -msgid "Reading input history file...\n" -msgstr "" +#: src/lang.c:613 src/lang.c:617 +#, c-format +msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" +msgstr "" #: src/lang.c:614 -msgid "Reading keymap file...\n" -msgstr "" +#, c-format +msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " + "thread" +msgstr "" #: src/lang.c:615 -msgid "Reading groups from active file... " -msgstr "" +#, c-format +msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" +msgstr "" #: src/lang.c:616 -msgid "Reading groups from newsrc file... " -msgstr "" - -#: src/lang.c:617 -msgid "Reading newsgroups file... " -msgstr "" +#, c-format +msgid "%s=search forwards; %s=search backwards; %s=quit" +msgstr "" #: src/lang.c:618 -msgid "Reading newsrc file..." -msgstr "" +#, c-format +msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" +msgstr "" + +#: src/lang.c:619 +#, c-format +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "" -#: src/lang.c:620 +#: src/lang.c:621 #, c-format -msgid "(%d:%02d remaining)" -msgstr "" +msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" +msgstr "" #: src/lang.c:622 #, c-format -msgid "Bogus group %s removed." -msgstr "" +msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" +msgstr "" #: src/lang.c:623 #, c-format -msgid "Error: rename %s to %s" -msgstr "" +msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" +msgstr "" #: src/lang.c:624 -msgid "Reply to author..." -msgstr "" +#, c-format +msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" +msgstr "" #: src/lang.c:625 -msgid "Repost" -msgstr "" - -#: src/lang.c:626 -msgid "Reposting article..." -msgstr "" +#, c-format +msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" +msgstr "" #: src/lang.c:627 #, c-format -msgid "Repost article(s) to group(s) [%s]> " -msgstr "" +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "" #: src/lang.c:628 -msgid "Reset newsrc?" -msgstr "" +msgid "--More--" +msgstr "" #: src/lang.c:629 -msgid "Responses have been directed to the following newsgroups" -msgstr "" +#, c-format +msgid "Moving %s..." +msgstr "" #: src/lang.c:630 -#, c-format -msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " -msgstr "" +msgid "Message-ID: & last Reference " +msgstr "" #: src/lang.c:631 -#, c-format -msgid "RespNo %4d of %4d" -msgstr "" +msgid "Message-ID: line " +msgstr "" #: src/lang.c:632 -msgid "Press to continue..." -msgstr "" +msgid "Message-ID: & References: line" +msgstr "" #: src/lang.c:634 -#, c-format -msgid "Select From [%s] (y/n): " -msgstr "" +msgid ", name: " +msgstr "" #: src/lang.c:635 -msgid "Select Lines: (num): " -msgstr "" +#, c-format +msgid "Go to newsgroup [%s]> " +msgstr "" #: src/lang.c:636 -msgid "Auto-select Article Menu" -msgstr "" +msgid "newsgroups" +msgstr "" #: src/lang.c:637 #, c-format -msgid "Select Msg-Id [%s] (f/l/o/n): " -msgstr "" +msgid "Position %s in group list (1,2,..,$) [%d]> " +msgstr "" #: src/lang.c:638 -msgid "Select pattern scope: " -msgstr "" +msgid "newsgroup" +msgstr "" #: src/lang.c:639 -#, c-format -msgid "Select Subject [%s] (y/n): " -msgstr "" +msgid "Try and save newsrc file again?" +msgstr "" #: src/lang.c:640 -msgid "Select text pattern : " -msgstr "" +msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." +msgstr "" #: src/lang.c:641 -msgid "Select time in days : " -msgstr "" +msgid "newsrc file saved successfully.\n" +msgstr "" #: src/lang.c:642 -#, c-format -msgid "# %s server configuration file\n" - "# This file was automatically saved by %s %s %s (\"%s\")\n" - "#\n" - "# Do not edit while %s is running, since all your changes to this file\n" - "# will be overwritten when you leave %s.\n" - "# Do not edit at all if you don't know what you do.\n" - "############################################################################\n" - "\n" -msgstr "" +msgid "-- Next response --" +msgstr "" + +#: src/lang.c:643 +msgid "No " +msgstr "" + +#: src/lang.c:644 +msgid "*** No articles ***" +msgstr "" + +#: src/lang.c:645 +msgid "No articles have been posted" +msgstr "" + +#: src/lang.c:646 +msgid "*** No attachments ***" +msgstr "" + +#: src/lang.c:647 +msgid "*** No description ***" +msgstr "" #: src/lang.c:648 -msgid "Showing unread groups only" -msgstr "" +msgid "No filename" +msgstr "" #: src/lang.c:649 -msgid "Subject: line (ignore case) " -msgstr "" +msgid "No group" +msgstr "" #: src/lang.c:650 -msgid "Subject: line (case sensitive)" -msgstr "" +msgid "*** No groups ***" +msgstr "" #: src/lang.c:651 -msgid "Save" -msgstr "" +msgid "No more groups to read" +msgstr "" #: src/lang.c:652 -#, c-format -msgid "Save '%s' (%s/%s)?" -msgstr "" +msgid "No last message" +msgstr "" #: src/lang.c:653 -msgid "Save configuration before continuing?" -msgstr "" +msgid "No mail address" +msgstr "" #: src/lang.c:654 -msgid "Save filename> " -msgstr "" +msgid "No articles marked for saving" +msgstr "" #: src/lang.c:655 -msgid "Saved" -msgstr "" +msgid "No match" +msgstr "" #: src/lang.c:656 -#, c-format -msgid "%4d unread (%4d hot) %s in %s\n" -msgstr "" +msgid "No more groups" +msgstr "" #: src/lang.c:657 -#, c-format -msgid "Saved %s...\n" -msgstr "" +msgid "No newsgroups" +msgstr "" #: src/lang.c:658 -msgid "Nothing was saved" -msgstr "" +msgid "No next unread article" +msgstr "" #: src/lang.c:659 -#, c-format -msgid "\n" - "%s %d %s from %d %s\n" -msgstr "" +msgid "No previous group" +msgstr "" #: src/lang.c:660 -#, c-format -msgid "-- %s saved to %s%s --" -msgstr "" +msgid "No previous search, nothing to repeat" +msgstr "" #: src/lang.c:661 -#, c-format -msgid "-- %s saved to %s - %s --" -msgstr "" +msgid "No previous unread article" +msgstr "" #: src/lang.c:662 -msgid "Saving..." -msgstr "" +msgid "No responses" +msgstr "" #: src/lang.c:663 -#, c-format -msgid "%s: Screen initialization failed" -msgstr "%s: Screen initialisation failed" +msgid "No responses to list in current thread" +msgstr "" + +#: src/lang.c:664 +msgid "*** No scopes ***" +msgstr "" #: src/lang.c:665 -#, c-format -msgid "%s: screen is too small\n" -msgstr "" +msgid "No search string" +msgstr "" -#: src/lang.c:667 -#, c-format -msgid "screen is too small, %s is exiting\n" -msgstr "" +#: src/lang.c:666 +msgid "No subject" +msgstr "" #: src/lang.c:668 #, c-format -msgid "Search backwards [%s]> " -msgstr "" +msgid "%s: Terminal must have clear to end-of-line (ce)\n" +msgstr "" #: src/lang.c:669 #, c-format -msgid "Search body [%s]> " -msgstr "" +msgid "%s: Terminal must have clear to end-of-screen (cd)\n" +msgstr "" #: src/lang.c:670 #, c-format -msgid "Search forwards [%s]> " -msgstr "" +msgid "%s: Terminal must have clearscreen (cl) capability\n" +msgstr "" #: src/lang.c:671 -msgid "Searching..." -msgstr "" +#, c-format +msgid "%s: Terminal must have cursor motion (cm)\n" +msgstr "" #: src/lang.c:672 #, c-format -msgid "Searching article %d of %d ('q' to abort)..." -msgstr "" - -#: src/lang.c:673 -msgid "Select article> " -msgstr "" +msgid "%s: TERM variable must be set to use screen capabilities\n" +msgstr "" #: src/lang.c:674 -msgid "Select option number before text or use arrow keys and . 'q' to quit." -msgstr "" +#, c-format +msgid "No viewer found for %s/%s\n" +msgstr "" #: src/lang.c:675 -msgid "Select group> " -msgstr "" +msgid "Newsgroup does not exist on this server" +msgstr "" #: src/lang.c:676 #, c-format -msgid "Enter selection pattern [%s]> " -msgstr "" +msgid "Group %s not found in active file" +msgstr "" #: src/lang.c:677 -msgid "Select thread > " -msgstr "" +msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "" #: src/lang.c:678 -#, c-format -msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" -msgstr "" +msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "" #: src/lang.c:679 -msgid "servers active-file" -msgstr "" +#, c-format +msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" + "# shortname list for %s %s\n" + "#\n" + "# the format of this file is\n" + "# ...\n" + "#\n" + "# if is given without path, $HOME is assumed as its location\n" + "#\n" + "# examples:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" +msgstr "" + +#: src/lang.c:686 +msgid "Only" +msgstr "" -#: src/lang.c:680 -msgid "Cannot move into new newsgroups. Subscribe first..." -msgstr "" +#: src/lang.c:687 +#, c-format +msgid "Option not enabled. Recompile with %s." +msgstr "" + +#: src/lang.c:688 +msgid "Options Menu" +msgstr "" -#: src/lang.c:681 -msgid "" -msgstr "" +#: src/lang.c:689 +msgid "Options Menu Commands" +msgstr "" -#: src/lang.c:682 +#: src/lang.c:692 #, c-format -msgid "Starting: (%s)" -msgstr "" +msgid "Error in regex: %s at pos. %d '%s'" +msgstr "" -#: src/lang.c:683 +#: src/lang.c:693 #, c-format -msgid "List Thread (%d of %d)" -msgstr "" +msgid "Error in regex: pcre internal error %d" +msgstr "" -#: src/lang.c:684 +#: src/lang.c:694 #, c-format -msgid "Thread (%.*s)" -msgstr "" +msgid "Error in regex: study - pcre internal error %s" +msgstr "" -#: src/lang.c:685 -msgid "Enter wildcard subscribe pattern> " -msgstr "" +#: src/lang.c:695 +msgid "Post a followup..." +msgstr "" -#: src/lang.c:686 -#, c-format -msgid "subscribed to %d groups" -msgstr "" +#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone +#: src/lang.c:697 +msgid "An error has occurred while posting the article. If you think that this\n" + "error is temporary or otherwise correctable, you can postpone the article\n" + "and pick it up again with ^O later.\n" +msgstr "" -#: src/lang.c:687 +#: src/lang.c:700 +msgid "Posted articles history" +msgstr "" + +#: src/lang.c:701 #, c-format -msgid "Subscribed to %s" -msgstr "" +msgid "Post to newsgroup(s) [%s]> " +msgstr "" -#: src/lang.c:688 -msgid "Subscribing... " -msgstr "" +#: src/lang.c:702 +msgid "-- post processing started --" +msgstr "" -#: src/lang.c:689 -#, c-format -msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " -msgstr "" +#: src/lang.c:703 +msgid "-- post processing completed --" +msgstr "" -#: src/lang.c:690 +#: src/lang.c:704 #, c-format -msgid "Supersede article(s) to group(s) [%s]> " -msgstr "" +msgid "Post subject [%s]> " +msgstr "" -#: src/lang.c:691 -msgid "Superseding article ..." -msgstr "" +#: src/lang.c:705 +msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" +msgstr "" -#: src/lang.c:692 -#, c-format -msgid "\n" - "Stopped. Type 'fg' to restart %s\n" -msgstr "" +#: src/lang.c:706 +msgid "Posting article..." +msgstr "" -#: src/lang.c:694 +#: src/lang.c:707 #, c-format -msgid "%d days" -msgstr "" - -#: src/lang.c:695 -msgid "" -msgstr "" +msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " +msgstr "" -#: src/lang.c:696 -msgid "TeX " -msgstr "" +#: src/lang.c:708 +#, c-format +msgid "Hot %s" +msgstr "" -#: src/lang.c:697 -msgid "# Default action/prompt strings\n" -msgstr "" +#: src/lang.c:709 +#, c-format +msgid "Tagged %s" +msgstr "" -#: src/lang.c:698 -msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" - "# 5=Message-ID: & last References: entry only\n" - "# 6=Message-ID: entry only 7=Lines:\n" - "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" -msgstr "" +#: src/lang.c:710 +#, c-format +msgid "Untagged %s" +msgstr "" #: src/lang.c:711 -msgid "# If ON use print current subject or newsgroup description in the last line\n" -msgstr "" +msgid "Processing mail messages marked for deletion." +msgstr "" #: src/lang.c:712 -msgid "# Host & time info used for detecting new groups (don't touch)\n" -msgstr "" +msgid "Processing saved articles marked for deletion." +msgstr "" #: src/lang.c:713 -msgid "There is no news\n" -msgstr "" +#, c-format +msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " +msgstr "" #: src/lang.c:714 -msgid "Thread" -msgstr "" +msgid "Article unchanged, abort mailing?" +msgstr "" #: src/lang.c:715 -msgid "Thread Level Commands" -msgstr "" - -#: src/lang.c:716 -msgid "Thread deselected" -msgstr "" +#, c-format +msgid "Do you want to see postponed articles (%d)?" +msgstr "" #: src/lang.c:717 -msgid "Thread selected" -msgstr "" +msgid "Add quick kill filter?" +msgstr "" + +#: src/lang.c:718 +msgid "Add quick selection filter?" +msgstr "" #: src/lang.c:719 -msgid "threads" -msgstr "" +msgid "Do you really want to quit?" +msgstr "" + +#: src/lang.c:720 +#, c-format +msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " +msgstr "" #: src/lang.c:721 -msgid "Thread range" -msgstr "" +msgid "You have tagged articles in this group - quit anyway?" +msgstr "" #: src/lang.c:722 -msgid "thread" -msgstr "" +#, c-format +msgid "%s=quit, %s=edit, %s=postpone: " +msgstr "" #: src/lang.c:723 #, c-format -msgid "Thread %4s of %4s" -msgstr "" +msgid "%s=quit %s=edit %s=save kill description: " +msgstr "" #: src/lang.c:724 -msgid "Threading articles..." -msgstr "" - -#: src/lang.c:725 #, c-format -msgid "Toggled word highlighting %s" -msgstr "" - -#: src/lang.c:726 -msgid "Toggled rot13 encoding" -msgstr "" +msgid "%s=quit %s=edit %s=save select description: " +msgstr "" -#: src/lang.c:727 -#, c-format -msgid "Toggled german TeX encoding %s" -msgstr "" +#: src/lang.c:725 +msgid "Do you really want to quit without saving your configuration?" +msgstr "" #: src/lang.c:728 -#, c-format -msgid "Toggled tab-width to %d" -msgstr "" - -#: src/lang.c:729 -#, c-format -msgid "%d Trying to dotlock %s" -msgstr "" +msgid "Invalid range - valid are '0-9.$' eg. 1-$" +msgstr "" #: src/lang.c:730 -#, c-format -msgid "%d Trying to lock %s" -msgstr "" +msgid "Do you want to abort this operation?" +msgstr "" #: src/lang.c:731 -msgid " h=help\n" -msgstr "" +msgid "Do you want to exit tin immediately?" +msgstr "" #: src/lang.c:733 -msgid "Unlimited" -msgstr "" +msgid "Reading ('q' to quit)..." +msgstr "" #: src/lang.c:734 -msgid "Enter wildcard unsubscribe pattern> " -msgstr "" +#, c-format +msgid "Reading %sarticles..." +msgstr "" #: src/lang.c:735 #, c-format -msgid "Error decoding %s : %s" -msgstr "" +msgid "Reading %sattributes file...\n" +msgstr "" #: src/lang.c:736 -msgid "No end." -msgstr "" +#, c-format +msgid "Reading %sconfig file...\n" +msgstr "" #: src/lang.c:737 -#, c-format -msgid "%s successfully decoded." -msgstr "" +msgid "Reading filter file...\n" +msgstr "" #: src/lang.c:738 #, c-format -msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" - "\n" -msgstr "" +msgid "Reading %s groups..." +msgstr "" #: src/lang.c:739 -msgid "unread " -msgstr "" +msgid "Reading input history file...\n" +msgstr "" #: src/lang.c:740 -#, c-format -msgid "unsubscribed from %d groups" -msgstr "" +msgid "Reading keymap file...\n" +msgstr "" #: src/lang.c:741 -#, c-format -msgid "Unsubscribed from %s" -msgstr "" +msgid "Reading groups from active file... " +msgstr "" #: src/lang.c:742 -msgid "Unsubscribing... " -msgstr "" +msgid "Reading groups from newsrc file... " +msgstr "" #: src/lang.c:743 -msgid "Unthreading articles..." -msgstr "" +msgid "Reading newsgroups file... " +msgstr "" #: src/lang.c:744 -msgid "Updated" -msgstr "" +msgid "Reading newsrc file..." +msgstr "" #: src/lang.c:745 -msgid "Updating" -msgstr "" - -#: src/lang.c:746 -#, c-format -msgid "Opening %s\n" -msgstr "" +msgid "References: line " +msgstr "" #: src/lang.c:747 -msgid "No more URL's in this article" -msgstr "" - -#: src/lang.c:748 -msgid "Use MIME display program for this message?" -msgstr "" +#, c-format +msgid "(%d:%02d remaining)" +msgstr "" #: src/lang.c:749 -msgid " -c mark all news as read in subscribed newsgroups (batch mode)" -msgstr "" +#, c-format +msgid "Bogus group %s removed." +msgstr "" #: src/lang.c:750 -msgid " -Z return status indicating if any unread news (batch mode)" -msgstr "" +msgid "Removed from the previous rule: " +msgstr "" #: src/lang.c:751 -msgid " -q don't check for new newsgroups" -msgstr "" +#, c-format +msgid "Error: rename %s to %s" +msgstr "" #: src/lang.c:752 -msgid " -X don't save any files on quit" -msgstr "" +msgid "Reply to author..." +msgstr "" #: src/lang.c:753 -msgid " -d don't show newsgroup descriptions" -msgstr "" +msgid "Repost" +msgstr "" #: src/lang.c:754 -msgid " -G limit get only limit articles/group" -msgstr "" +msgid "Reposting article..." +msgstr "" #: src/lang.c:755 #, c-format -msgid " -H help information about %s" -msgstr "" +msgid "Repost article(s) to group(s) [%s]> " +msgstr "" #: src/lang.c:756 -msgid " -h this help message" -msgstr "" +msgid "Reset newsrc?" +msgstr "" #: src/lang.c:757 -#, c-format -msgid " -I dir news index file directory [default=%s]" -msgstr "" +msgid "Responses have been directed to the following newsgroups" +msgstr "" #: src/lang.c:758 -msgid " -u update index files (batch mode)" -msgstr "" - -#: src/lang.c:759 #, c-format -msgid " -m dir mailbox directory [default=%s]" -msgstr "" +msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " +msgstr "" #: src/lang.c:760 -#, c-format -msgid "\n" - "Mail bug reports/comments to %s" -msgstr "" - -#: src/lang.c:761 -msgid " -N mail new news to your posts (batch mode)" -msgstr "" +msgid "Press to continue..." +msgstr "" #: src/lang.c:762 -msgid " -M user mail new news to specified user (batch mode)" -msgstr "" +#, c-format +msgid "Select From [%s] (y/n): " +msgstr "" #: src/lang.c:763 -#, c-format -msgid " -f file subscribed to newsgroups file [default=%s]" -msgstr "" +msgid "Select Lines: (num): " +msgstr "" #: src/lang.c:764 -msgid " -x no posting mode" -msgstr "" +msgid "Auto-select Article Menu" +msgstr "" #: src/lang.c:765 -msgid " -w post an article and exit" -msgstr "" +#, c-format +msgid "Select Msg-Id [%s] (f/l/o/n): " +msgstr "" #: src/lang.c:766 -msgid " -o post all postponed articles and exit" -msgstr "" +msgid "Select pattern scope: " +msgstr "" #: src/lang.c:767 -msgid " -r read news remotely from default NNTP server" -msgstr "" +#, c-format +msgid "Select Subject [%s] (y/n): " +msgstr "" #: src/lang.c:768 -msgid " -R read news saved by -S option" -msgstr "" +msgid "Select text pattern : " +msgstr "" #: src/lang.c:769 -#, c-format -msgid " -s dir save news directory [default=%s]" -msgstr "" +msgid "Select time in days : " +msgstr "" #: src/lang.c:770 -msgid " -S save new news for later reading (batch mode)" -msgstr "" - -#: src/lang.c:771 -msgid " -z start if any unread news" -msgstr "" - -#: src/lang.c:772 #, c-format -msgid "A Usenet reader.\n" - "\n" - "Usage: %s [options] [newsgroup[,...]]" -msgstr "" - -#: src/lang.c:773 -msgid " -v verbose output for batch mode options" -msgstr "" - -#: src/lang.c:774 -msgid " -V print version & date information" -msgstr "" - -#: src/lang.c:775 -#, c-format -msgid "%s only useful without batch mode operations\n" -msgstr "" +msgid "# %s server configuration file\n" + "# This file was automatically saved by %s %s %s (\"%s\")\n" + "#\n" + "# Do not edit while %s is running, since all your changes to this file\n" + "# will be overwritten when you leave %s.\n" + "# Do not edit at all if you don't know what you do.\n" + "############################################################################\n" + "\n" +msgstr "" #: src/lang.c:776 -#, c-format -msgid "%s only useful for batch mode operations\n" -msgstr "" +msgid "Showing unread groups only" +msgstr "" + +#: src/lang.c:777 +msgid "Subject: line (ignore case) " +msgstr "" #: src/lang.c:778 -#, c-format -msgid "\n" - "%s%d out of range (0 - %d). Reset to 0" -msgstr "" +msgid "Subject: line (case sensitive)" +msgstr "" #: src/lang.c:779 +msgid "Save" +msgstr "" + +#: src/lang.c:780 #, c-format -msgid "View '%s' (%s/%s)?" -msgstr "" +msgid "Save '%s' (%s/%s)?" +msgstr "" #: src/lang.c:781 -#, c-format -msgid "\n" - "Warning: posting exceeds %d columns. Line %d is the first long one:\n" - "%-100s\n" -msgstr "" +msgid "Save configuration before continuing?" +msgstr "" #: src/lang.c:782 -msgid "\n" - "Warning: article unchanged after editing\n" -msgstr "" +msgid "Save filename> " +msgstr "" #: src/lang.c:783 -msgid "\n" - "Warning: \"Subject:\" contains only whitespaces.\n" -msgstr "" +msgid "Saved" +msgstr "" #: src/lang.c:784 -msgid "\n" - "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" -msgstr "" +#, c-format +msgid "%4d unread (%4d hot) %s in %s\n" +msgstr "" + +#: src/lang.c:785 +#, c-format +msgid "Saved %s...\n" +msgstr "" #: src/lang.c:786 -msgid "\n" - "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" - " with \"Re: \" and does not contain \"(was:\".\n" -msgstr "" +msgid "Nothing was saved" +msgstr "" + +#: src/lang.c:787 +#, c-format +msgid "\n" + "%s %d %s from %d %s\n" +msgstr "" + +#: src/lang.c:788 +#, c-format +msgid "-- %s saved to %s%s --" +msgstr "" #: src/lang.c:789 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly written by you. This will " - "wipe\n" - " the article from most news servers throughout the world, but there is " - "no\n" - " guarantee that it will work.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "" +#, c-format +msgid "-- %s saved to %s - %s --" +msgstr "" + +#: src/lang.c:790 +msgid "Saving..." +msgstr "" + +#: src/lang.c:791 +#, c-format +msgid "%s: Screen initialization failed" +msgstr "%s: Screen initialisation failed" #: src/lang.c:793 -msgid "\n" - "Warning: You are using a non-plain transfer encoding (such as base64 or\n" - " quoted-printable) and an external inews program to submit your\n" - " article. If a signature is appended by that inews program it will\n" - " not be encoded properly.\n" -msgstr "" +#, c-format +msgid "%s: screen is too small\n" +msgstr "" -#: src/lang.c:798 +#: src/lang.c:795 #, c-format -msgid "\n" - "\n" - "You are upgrading to tin %s from an earlier version.\n" - "Some values in your %s file have changed!\n" - "Read WHATSNEW, etc...\n" -msgstr "" +msgid "screen is too small, %s is exiting\n" +msgstr "" + +#: src/lang.c:796 +msgid "Delete scope?" +msgstr "" + +#: src/lang.c:797 +msgid "Enter scope> " +msgstr "" + +#: src/lang.c:798 +msgid "Select new position> " +msgstr "" + +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "" #: src/lang.c:800 -#, c-format -msgid "\n" - "\n" - "You are downgrading to tin %s from a more recent version!\n" - "Some values in your %s file may be ignored, others might have changed!\n" -msgstr "" +msgid "Global scope, operation not allowed" +msgstr "" + +#: src/lang.c:801 +msgid "Rename scope> " +msgstr "" + +#: src/lang.c:802 +msgid "Select scope> " +msgstr "" #: src/lang.c:803 +msgid "Scopes Menu" +msgstr "" + +#: src/lang.c:804 +msgid "Scopes Menu Commands" +msgstr "" + +#: src/lang.c:805 #, c-format -msgid "Warning: tin wrote fewer groups to your\n" - "\t%s\n" - "than it read at startup. If you didn't unsubscribe from %ld %s during\n" - "this session this indicates an error and you should backup your %s\n" - "before you start tin once again!\n" -msgstr "" +msgid "Search backwards [%s]> " +msgstr "" + +#: src/lang.c:806 +#, c-format +msgid "Search body [%s]> " +msgstr "" #: src/lang.c:807 #, c-format -msgid "\n" - "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" -msgstr "" +msgid "Search forwards [%s]> " +msgstr "" #: src/lang.c:808 -#, c-format -msgid "Warning: Only %d out of %d articles were saved" -msgstr "" +msgid "Searching..." +msgstr "" #: src/lang.c:809 #, c-format -msgid "\n" - "Warning: Your signature is longer than %d lines. Since signatures usually " - "do\n" - " not transport any useful information, they should be as short " - "as\n" - " possible.\n" -msgstr "" +msgid "Searching article %d of %d ('q' to abort)..." +msgstr "" + +#: src/lang.c:810 +msgid "Select article> " +msgstr "" + +#: src/lang.c:811 +msgid "Select option number before text or use arrow keys and . 'q' to quit." +msgstr "" + +#: src/lang.c:812 +msgid "Select group> " +msgstr "" #: src/lang.c:813 #, c-format -msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " -msgstr "" +msgid "Enter selection pattern [%s]> " +msgstr "" #: src/lang.c:814 -msgid "\n" - "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" -msgstr "" +msgid "Select thread > " +msgstr "" #: src/lang.c:815 -msgid "Writing attributes file..." -msgstr "" +#, c-format +msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" +msgstr "" + +#: src/lang.c:816 +msgid "servers active-file" +msgstr "" #: src/lang.c:817 -#, c-format -msgid "%d Responses" -msgstr "" +msgid "Cannot move into new newsgroups. Subscribe first..." +msgstr "" + +#: src/lang.c:818 +msgid "" +msgstr "" #: src/lang.c:819 #, c-format -msgid "Added %d %s" -msgstr "" +msgid "Starting: (%s)" +msgstr "" #: src/lang.c:820 -msgid "No unsubscribed groups to show" -msgstr "" +#, c-format +msgid "List Thread (%d of %d)" +msgstr "" #: src/lang.c:821 -msgid "Showing subscribed to groups only" -msgstr "" +#, c-format +msgid "Thread (%.*s)" +msgstr "" #: src/lang.c:822 -msgid "Yes " -msgstr "" +msgid "Enter wildcard subscribe pattern> " +msgstr "" #: src/lang.c:823 -msgid " You have mail\n" -msgstr "" +#, c-format +msgid "subscribed to %d groups" +msgstr "" + +#: src/lang.c:824 +#, c-format +msgid "Subscribed to %s" +msgstr "" + +#: src/lang.c:825 +msgid "Subscribing... " +msgstr "" + +#: src/lang.c:826 +#, c-format +msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " +msgstr "" + +#: src/lang.c:827 +#, c-format +msgid "Supersede article(s) to group(s) [%s]> " +msgstr "" #: src/lang.c:828 +msgid "Superseding article ..." +msgstr "" + +#: src/lang.c:829 #, c-format -msgid "\n" - "Warning: Posting is in %s and contains characters which are not\n" - " in your selected MM_NETWORK_CHARSET: %s.\n" - " These characters will be replaced by '?' if you post this\n" - " article unchanged. To avoid garbling your article please either\n" - " edit it and remove those characters or change the setting of\n" - " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" - " M)enu option.\n" -msgstr "" - -#: src/lang.c:839 -msgid " -D debug mode 1=NNTP 2=ALL" -msgstr "" - -#: src/lang.c:843 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly not written by you. This " - "will\n" - " wipe the article from lots of news servers throughout the world;\n" - " Usenet's majority considers this rather inappropriate, to say the " - "least.\n" - " Only press 'd' if you are absolutely positive that you are ready to " - "take\n" - " the rap.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "" +msgid "\n" + "Stopped. Type 'fg' to restart %s\n" +msgstr "" + +#: src/lang.c:831 +#, c-format +msgid "%d days" +msgstr "" + +#: src/lang.c:832 +msgid "" +msgstr "" + +#: src/lang.c:833 +msgid "TeX " +msgstr "" + +#: src/lang.c:834 +msgid "# Default action/prompt strings\n" +msgstr "" + +#: src/lang.c:835 +msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" + "# 5=Message-ID: & last References: entry only\n" + "# 6=Message-ID: entry only 7=Lines:\n" + "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +msgstr "" + +#: src/lang.c:848 +msgid "# If ON use print current subject or newsgroup description in the last line\n" +msgstr "" + +#: src/lang.c:849 +msgid "# Host & time info used for detecting new groups (don't touch)\n" +msgstr "" + +#: src/lang.c:850 +msgid "There is no news\n" +msgstr "" + +#: src/lang.c:851 +msgid "Thread" +msgstr "" #: src/lang.c:852 -msgid "toggle color" -msgstr "toggle colour" +msgid "Thread Level Commands" +msgstr "" #: src/lang.c:853 -msgid "# Changing colors of several screen parts\n" - "# Possible values are:\n" - "# -1 = default (white for foreground and black for background)\n" - "# 0 = black\n" - "# 1 = red\n" - "# 2 = green\n" - "# 3 = brown\n" - "# 4 = blue\n" - "# 5 = pink\n" - "# 6 = cyan\n" - "# 7 = white\n" - "# These are *only* for foreground:\n" - "# 8 = gray\n" - "# 9 = light red\n" - "# 10 = light green\n" - "# 11 = yellow\n" - "# 12 = light blue\n" - "# 13 = light pink\n" - "# 14 = light cyan\n" - "# 15 = light white\n" - "\n" -msgstr "" +msgid "Thread deselected" +msgstr "" + +#: src/lang.c:854 +msgid "Thread selected" +msgstr "" + +#: src/lang.c:856 +msgid "threads" +msgstr "" + +#: src/lang.c:858 +msgid "thread" +msgstr "" + +#: src/lang.c:859 +#, c-format +msgid "Thread %4s of %4s" +msgstr "" + +#: src/lang.c:860 +msgid "Threading articles..." +msgstr "" + +#: src/lang.c:861 +#, c-format +msgid "Toggled word highlighting %s" +msgstr "" + +#: src/lang.c:862 +msgid "Toggled rot13 encoding" +msgstr "" + +#: src/lang.c:863 +#, c-format +msgid "Toggled german TeX encoding %s" +msgstr "" + +#: src/lang.c:864 +#, c-format +msgid "Toggled tab-width to %d" +msgstr "" + +#: src/lang.c:866 +#, c-format +msgid "%d Trying to dotlock %s" +msgstr "" + +#: src/lang.c:867 +#, c-format +msgid "%d Trying to lock %s" +msgstr "" + +#: src/lang.c:869 +msgid " h=help" +msgstr "" + +#: src/lang.c:871 +msgid "Unlimited" +msgstr "" + +#: src/lang.c:872 +msgid "Enter wildcard unsubscribe pattern> " +msgstr "" #: src/lang.c:873 -msgid " -a toggle color flag" -msgstr " -a toggle colour flag" +#, c-format +msgid "Error decoding %s : %s" +msgstr "" + +#: src/lang.c:874 +msgid "No end." +msgstr "" + +#: src/lang.c:875 +#, c-format +msgid "%s successfully decoded." +msgstr "" + +#: src/lang.c:876 +#, c-format +msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" + "\n" +msgstr "" #: src/lang.c:877 -msgid "\n" - "Error: Followup-To set to more than one newsgroup!\n" -msgstr "" +msgid "unread " +msgstr "" #: src/lang.c:878 #, c-format -msgid "\n" - "Error: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "" +msgid "unsubscribed from %d groups" +msgstr "" #: src/lang.c:879 #, c-format -msgid "\n" - "Error: \"%s\" is not a valid newsgroup!\n" -msgstr "" +msgid "Unsubscribed from %s" +msgstr "" + +#: src/lang.c:880 +msgid "Unsubscribing... " +msgstr "" #: src/lang.c:881 -msgid "\n" - "Warning: Followup-To set to more than one newsgroup!\n" -msgstr "" +msgid "Unthreading articles..." +msgstr "" #: src/lang.c:882 -#, c-format -msgid "\n" - "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "" - -#: src/lang.c:883 -#, c-format -msgid "\n" - "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" -msgstr "" +msgid "Updated" +msgstr "" #: src/lang.c:884 #, c-format -msgid "\n" - "Warning: \"%s\" is not a valid newsgroup at this site!\n" -msgstr "" +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "" + +#: src/lang.c:886 +msgid "Updating" +msgstr "" + +#: src/lang.c:887 +msgid "URL Menu" +msgstr "" #: src/lang.c:888 -#, c-format -msgid "%d files successfully written from %d articles. %d %s occurred." -msgstr "" +msgid "URL Menu Commands" +msgstr "" #: src/lang.c:889 -msgid "Missing parts." -msgstr "" +#, c-format +msgid "Opening %s" +msgstr "" #: src/lang.c:890 -msgid "No beginning." -msgstr "" +msgid "Select URL> " +msgstr "" #: src/lang.c:891 -msgid "No data." -msgstr "" +msgid "No URLs in this article" +msgstr "" #: src/lang.c:892 -msgid "Unknown error." -msgstr "" +msgid "Use MIME display program for this message?" +msgstr "" + +#: src/lang.c:893 +msgid " -c mark all news as read in subscribed newsgroups (batch mode)" +msgstr "" + +#: src/lang.c:894 +msgid " -Z return status indicating if any unread news (batch mode)" +msgstr "" #: src/lang.c:895 +msgid " -q don't check for new newsgroups" +msgstr "" + +#: src/lang.c:896 +msgid " -X don't save any files on quit" +msgstr "" + +#: src/lang.c:897 +msgid " -d don't show newsgroup descriptions" +msgstr "" + +#: src/lang.c:898 +msgid " -G limit get only limit articles/group" +msgstr "" + +#: src/lang.c:899 #, c-format -msgid "\tChecksum of %s (%ld %s)" -msgstr "" +msgid " -H help information about %s" +msgstr "" #: src/lang.c:900 -msgid "Reading mail active file... " -msgstr "" +msgid " -h this help message" +msgstr "" #: src/lang.c:901 -msgid "Reading mailgroups file... " -msgstr "" +#, c-format +msgid " -I dir news index file directory [default=%s]" +msgstr "" + +#: src/lang.c:902 +msgid " -u update index files (batch mode)" +msgstr "" + +#: src/lang.c:903 +#, c-format +msgid " -m dir mailbox directory [default=%s]" +msgstr "" + +#: src/lang.c:904 +#, c-format +msgid "\n" + "Mail bug reports/comments to %s" +msgstr "" #: src/lang.c:905 -msgid "perform PGP operations on article" -msgstr "" +msgid " -N mail new news to your posts (batch mode)" +msgstr "" #: src/lang.c:906 -msgid "Add key(s) to public keyring?" -msgstr "" +msgid " -M user mail new news to specified user (batch mode)" +msgstr "" #: src/lang.c:907 #, c-format -msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " -msgstr "" +msgid " -f file subscribed to newsgroups file [default=%s]" +msgstr "" #: src/lang.c:908 -#, c-format -msgid "%s=sign, %s=sign & include public key, %s=quit: " -msgstr "" +msgid " -x no posting mode" +msgstr "" #: src/lang.c:909 -#, c-format -msgid "PGP has not been set up (can't open %s)" -msgstr "" +msgid " -w post an article and exit" +msgstr "" #: src/lang.c:910 -msgid "Article not signed and no public keys found" -msgstr "" +msgid " -o post all postponed articles and exit" +msgstr "" + +#: src/lang.c:911 +msgid " -R read news saved by -S option" +msgstr "" #: src/lang.c:912 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "" +msgid " -s dir save news directory [default=%s]" +msgstr "" #: src/lang.c:913 -#, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " -msgstr "" +msgid " -S save new news for later reading (batch mode)" +msgstr "" #: src/lang.c:914 +msgid " -z start if any unread news" +msgstr "" + +#: src/lang.c:915 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "" +msgid "A Usenet reader.\n" + "\n" + "Usage: %s [options] [newsgroup[,...]]" +msgstr "" #: src/lang.c:916 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "" +msgid " -v verbose output for batch mode options" +msgstr "" #: src/lang.c:917 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " -msgstr "" +msgid " -V print version & date information" +msgstr "" #: src/lang.c:918 #, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "" +msgid "%s only useful without batch mode operations\n" +msgstr "" + +#: src/lang.c:919 +#, c-format +msgid "%s only useful for batch mode operations\n" +msgstr "" + +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "" #: src/lang.c:922 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " -msgstr "" +msgid "\n" + "%s%d out of range (0 - %d). Reset to 0" +msgstr "" #: src/lang.c:923 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " -msgstr "" +msgid "View '%s' (%s/%s)?" +msgstr "" -#: src/lang.c:924 +#: src/lang.c:925 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "" +msgid "\n" + "Warning: posting exceeds %d columns. Line %d is the first long one:\n" + "%-100s\n" +msgstr "" #: src/lang.c:926 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " -msgstr "" +msgid "\n" + "Warning: article unchanged after editing\n" +msgstr "" #: src/lang.c:927 -#, c-format -msgid "%s=quit, %s=edit, %s=send [%%s]: " -msgstr "" +msgid "\n" + "Warning: \"Subject:\" contains only whitespaces.\n" +msgstr "" #: src/lang.c:928 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "" +msgid "\n" + "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" +msgstr "" + +#: src/lang.c:930 +msgid "\n" + "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" + " with \"Re: \" and does not contain \"(was:\".\n" +msgstr "" + +#: src/lang.c:933 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly written by you. This will " + "wipe\n" + " the article from most news servers throughout the world, but there is " + "no\n" + " guarantee that it will work.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "" #: src/lang.c:937 -msgid "Try cache_overview_files to speed up things.\n" -msgstr "" - -#: src/lang.c:938 -msgid "Tin will use local index files instead.\n" -msgstr "" - -#: src/lang.c:939 -msgid "Cannot find NNTP server name" -msgstr "" - -#: src/lang.c:940 -#, c-format -msgid "Connecting to %s:%d..." -msgstr "" - -#: src/lang.c:941 -msgid "Disconnecting from server...\n" -msgstr "" +msgid "\n" + "Warning: You are using a non-plain transfer encoding (such as base64 or\n" + " quoted-printable) and an external inews program to submit your\n" + " article. If a signature is appended by that inews program it will\n" + " not be encoded properly.\n" +msgstr "" #: src/lang.c:942 -#, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" -msgstr "" +msgid "\n" + "Warning: \"example\" is a reserved hierarchy!\n" +msgstr "" #: src/lang.c:943 #, c-format -msgid "Failed to connect to NNTP server %s. Exiting..." -msgstr "" - -#: src/lang.c:944 -msgid "205 Closing connection" -msgstr "" +msgid "\n" + "\n" + "You are upgrading to tin %s from an earlier version.\n" + "Some values in your %s file have changed!\n" + "Read WHATSNEW, etc...\n" +msgstr "" #: src/lang.c:945 -msgid "Your server does not support the NNTP XOVER or OVER command.\n" -msgstr "" - -#: src/lang.c:946 -msgid "Connection to news server has timed out. Reconnect?" -msgstr "" - -#: src/lang.c:947 -#, c-format -msgid "Put the server name in the file %s,\n" - "or set the environment variable NNTPSERVER" -msgstr "" - -#: src/lang.c:948 -msgid " -A force authentication on connect" -msgstr "" - -#: src/lang.c:949 #, c-format -msgid " -g serv read news from NNTP server serv [default=%s]" -msgstr "" +msgid "\n" + "\n" + "You are downgrading to tin %s from a more recent version!\n" + "Some values in your %s file may be ignored, others might have changed!\n" +msgstr "" -#: src/lang.c:950 +#: src/lang.c:948 #, c-format -msgid " -p port use port as NNTP port [default=%d]" -msgstr "" - -#: src/lang.c:951 -msgid " -Q quick start. Same as -nqd" -msgstr "" +msgid "Warning: tin wrote fewer groups to your\n" + "\t%s\n" + "than it read at startup. If you didn't unsubscribe from %ld %s during\n" + "this session this indicates an error and you should backup your %s\n" + "before you start tin once again!\n" +msgstr "" #: src/lang.c:952 -msgid " -l use only LIST instead of GROUP (-n) command" -msgstr "" +#, c-format +msgid "\n" + "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" +msgstr "" #: src/lang.c:953 -msgid " -n only read subscribed .newsrc groups from NNTP server" -msgstr "" +#, c-format +msgid "Warning: Only %d out of %d articles were saved" +msgstr "" -#: src/lang.c:955 +#: src/lang.c:954 #, c-format -msgid "%s/tcp: Unknown service.\n" -msgstr "" +msgid "\n" + "Warning: Your signature is longer than %d lines. Since signatures usually " + "do\n" + " not transport any useful information, they should be as short " + "as\n" + " possible.\n" +msgstr "" #: src/lang.c:958 -msgid "\n" - "socket or connect problem\n" -msgstr "" - -#: src/lang.c:960 #, c-format -msgid "\n" - "Connection to %s: " -msgstr "" - -#: src/lang.c:961 -msgid "Giving up...\n" -msgstr "" +msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " +msgstr "" -#: src/lang.c:964 -msgid "Your server does not have Xref: in its XOVER information.\n" - "Tin will try to use XHDR XREF instead (slows down things a bit).\n" -msgstr "" +#: src/lang.c:959 +msgid "\n" + "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" +msgstr "" -#: src/lang.c:967 -msgid "Your server does not have Xref: in its XOVER information.\n" -msgstr "" +#: src/lang.c:960 +msgid "Writing attributes file..." +msgstr "" -#: src/lang.c:970 +#: src/lang.c:962 #, c-format -msgid "Can't open %s. Try %s -r to read news via NNTP.\n" -msgstr "" - -#: src/lang.c:973 -msgid " -Q quick start. Same as -qd" -msgstr "" +msgid "%d Responses" +msgstr "" -#: src/lang.c:974 -msgid " -l read only active file instead of scanning spool (-n) command" -msgstr "" - -#: src/lang.c:975 -msgid " -n only read subscribed .newsrc groups from spool" -msgstr "" - -#: src/lang.c:976 -msgid "Your server does not have Xref: in its NOV-files.\n" -msgstr "" - -#: src/lang.c:980 -msgid "Posting using external inews failed. Use built in inews instead?" -msgstr "" - -#: src/lang.c:981 -msgid "It worked! Should I always use my built in inews from now on?" -msgstr "" - -#: src/lang.c:989 +#: src/lang.c:964 #, c-format -msgid "%d %s printed" -msgstr "" +msgid "Added %d %s" +msgstr "" -#: src/lang.c:990 -msgid "output article/thread/hot/pattern/tagged articles to printer" -msgstr "" +#: src/lang.c:965 +msgid "No unsubscribed groups to show" +msgstr "" + +#: src/lang.c:966 +msgid "Showing subscribed to groups only" +msgstr "" -#: src/lang.c:991 -msgid "Print" -msgstr "" +#: src/lang.c:967 +msgid "Yes " +msgstr "" -#: src/lang.c:992 -msgid "Printing..." -msgstr "" +#: src/lang.c:968 +msgid " You have mail" +msgstr "" -#: src/lang.c:996 -msgid "pipe article/thread/hot/pattern/tagged articles into command" -msgstr "" +#: src/lang.c:973 +#, c-format +msgid "\n" + "Warning: Posting is in %s and contains characters which are not\n" + " in your selected MM_NETWORK_CHARSET: %s.\n" + " These characters will be replaced by '?' if you post this\n" + " article unchanged. To avoid garbling your article please either\n" + " edit it and remove those characters or change the setting of\n" + " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" + " M)enu option.\n" +msgstr "" + +#: src/lang.c:984 +msgid " -D mode debug mode" +msgstr "" + +#: src/lang.c:988 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly not written by you. This " + "will\n" + " wipe the article from lots of news servers throughout the world;\n" + " Usenet's majority considers this rather inappropriate, to say the " + "least.\n" + " Only press 'd' if you are absolutely positive that you are ready to " + "take\n" + " the rap.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "" #: src/lang.c:997 -msgid "No command" -msgstr "" +msgid "toggle color" +msgstr "toggle colour" #: src/lang.c:998 -msgid "Pipe" -msgstr "" +msgid "# Changing colors of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" +msgstr "# Changing colours of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" + +#: src/lang.c:1018 +msgid " -a toggle color flag" +msgstr " -a toggle colour flag" + +#: src/lang.c:1022 +msgid "\n" + "Error: Followup-To set to more than one newsgroup!\n" +msgstr "" + +#: src/lang.c:1023 +#, c-format +msgid "\n" + "Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "" + +#: src/lang.c:1024 +#, c-format +msgid "\n" + "Error: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "" -#: src/lang.c:999 +#: src/lang.c:1025 #, c-format -msgid "Pipe to command [%.*s]> " -msgstr "" +msgid "\n" + "Error: \"%s\" is not a valid newsgroup!\n" +msgstr "" -#: src/lang.c:1000 -msgid "Piping..." -msgstr "" +#: src/lang.c:1027 +msgid "\n" + "Warning: Followup-To set to more than one newsgroup!\n" +msgstr "" -#: src/lang.c:1002 -msgid "Piping not enabled." -msgstr "" +#: src/lang.c:1028 +#, c-format +msgid "\n" + "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "" -#: src/lang.c:1006 +#: src/lang.c:1029 #, c-format -msgid "\n" - "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" - " The only allowable space is the one separating the colon (:)\n" - " from the contents. Use a comma (,) to separate multiple\n" - " newsgroup names.\n" -msgstr "" +msgid "\n" + "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "" -#: src/lang.c:1011 +#: src/lang.c:1030 #, c-format -msgid "\n" - "Error: The \"%s:\" line is continued in the next line. Since\n" - " the line may not contain whitespace, this is not allowed.\n" - " Please write all newsgroups into a single line.\n" -msgstr "" +msgid "\n" + "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" +msgstr "" -#: src/lang.c:1016 +#: src/lang.c:1031 #, c-format -msgid "\n" - "Warning: The \"%s:\" line is continued in the next line.\n" - " This is a very new feature and may not be accepted by all servers.\n" - " To avoid trouble please write all newsgroups into a single line.\n" -msgstr "" +msgid "\n" + "Warning: \"%s\" is not a valid newsgroup at this site!\n" +msgstr "" -#: src/lang.c:1020 +#: src/lang.c:1035 #, c-format -msgid "\n" - "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" -msgstr "" +msgid "%d files successfully written from %d articles. %d %s occurred." +msgstr "" -#: src/lang.c:1025 -msgid "\n" - " If your article contains quoted text please take some time to pare it " - "down\n" - " to just the key points to which you are responding, or people will " - "think\n" - " you are a dweeb! Many people have the habit of skipping any article " - "whose\n" - " first page is largely quoted material. Format your article to fit in " - "less\n" - " then 80 chars, since that's the conventional size (72 is a good choice " - "as\n" - " it allows quoting without exceeding the limit). If your lines are too " - "long\n" - " they'll wrap around ugly and people won't read what you write. If " - "you\n" - " aren't careful and considerate in formatting your posting, people " - "are\n" - " likely to ignore it completely. It's a crowded net out there.\n" -msgstr "" +#: src/lang.c:1036 +msgid "Missing parts." +msgstr "" + +#: src/lang.c:1037 +msgid "No beginning." +msgstr "" #: src/lang.c:1038 -msgid "shell escape" -msgstr "" +msgid "No data." +msgstr "" #: src/lang.c:1039 -#, c-format -msgid "Shell Command (%s)" -msgstr "" +msgid "Unknown error." +msgstr "" -#: src/lang.c:1040 +#: src/lang.c:1042 #, c-format -msgid "Enter shell command [%s]> " -msgstr "" +msgid "\tChecksum of %s (%ld %s)" +msgstr "" -#: src/lang.c:1044 -#, c-format -msgid "%s: Can't get entry for TERM\n" -msgstr "" +#: src/lang.c:1047 +msgid "Reading mail active file... " +msgstr "" #: src/lang.c:1048 +msgid "Reading mailgroups file... " +msgstr "" + +#: src/lang.c:1052 +msgid "perform PGP operations on article" +msgstr "" + +#: src/lang.c:1053 +msgid "Add key(s) to public keyring?" +msgstr "" + +#: src/lang.c:1054 #, c-format -msgid "Group %.*s ('q' to quit)..." -msgstr "" +msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " +msgstr "" -#: src/lang.c:1050 +#: src/lang.c:1055 #, c-format -msgid "Group %.*s..." -msgstr "" +msgid "%s=sign, %s=sign & include public key, %s=quit: " +msgstr "" -#: src/lang.c:1054 -msgid "Server unavailable\n" -msgstr "" +#: src/lang.c:1056 +#, c-format +msgid "PGP has not been set up (can't open %s)" +msgstr "" + +#: src/lang.c:1057 +msgid "Article not signed and no public keys found" +msgstr "" + +#: src/lang.c:1059 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "" #: src/lang.c:1060 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" - "s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " +msgstr "" #: src/lang.c:1061 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" #: src/lang.c:1063 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "" #: src/lang.c:1064 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " +msgstr "" -#: src/lang.c:1068 +#: src/lang.c:1065 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" #: src/lang.c:1069 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " +msgstr "" + +#: src/lang.c:1070 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " +msgstr "" #: src/lang.c:1071 #, c-format -msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" -#: src/lang.c:1072 +#: src/lang.c:1073 #, c-format -msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " +msgstr "" -#: src/lang.c:1078 -msgid "Terminal does not support color" -msgstr "Terminal does not support colour" +#: src/lang.c:1074 +#, c-format +msgid "%s=quit, %s=edit, %s=send [%%s]: " +msgstr "" -#: src/lang.c:1083 +#: src/lang.c:1075 #, c-format -msgid "Trying %s" -msgstr "" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" + +#: src/lang.c:1084 +msgid "Try cache_overview_files to speed up things.\n" +msgstr "" + +#: src/lang.c:1085 +msgid "Tin will use local index files instead.\n" +msgstr "" + +#: src/lang.c:1086 +msgid "Cannot find NNTP server name" +msgstr "" + +#: src/lang.c:1087 +#, c-format +msgid "Connecting to %s:%u..." +msgstr "" + +#: src/lang.c:1088 +msgid "Disconnecting from server...\n" +msgstr "" + +#: src/lang.c:1089 +#, c-format +msgid "Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" +msgstr "" + +#: src/lang.c:1090 +#, c-format +msgid "Failed to connect to NNTP server %s. Exiting..." +msgstr "" + +#: src/lang.c:1091 +msgid "205 Closing connection" +msgstr "" -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 src/refs.c:296 -msgid "None" -msgstr "" +#: src/lang.c:1092 +msgid "Your server does not support the NNTP XOVER or OVER command.\n" +msgstr "" + +#: src/lang.c:1093 +msgid "Connection to news server has timed out. Reconnect?" +msgstr "" + +#: src/lang.c:1094 +#, c-format +msgid "Put the server name in the file %s,\n" + "or set the environment variable NNTPSERVER" +msgstr "" + +#: src/lang.c:1095 +msgid " -A force authentication on connect" +msgstr "" + +#: src/lang.c:1096 +#, c-format +msgid " -g serv read news from NNTP server serv [default=%s]" +msgstr "" + +#: src/lang.c:1097 +#, c-format +msgid " -p port use port as NNTP port [default=%d]" +msgstr "" #: src/lang.c:1098 -msgid "Subject" -msgstr "" +msgid " -Q quick start. Same as -nqd" +msgstr "" #: src/lang.c:1099 -msgid "References" -msgstr "" +msgid " -r read news remotely from default NNTP server" +msgstr "" #: src/lang.c:1100 -msgid "Both Subject and References" -msgstr "" +msgid " -l use only LIST instead of GROUP (-n) command" +msgstr "" #: src/lang.c:1101 -msgid "Multipart Subject" -msgstr "" +msgid " -n only read subscribed .newsrc groups from NNTP server" +msgstr "" + +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" +msgstr "" + +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr "" + +#: src/lang.c:1105 +msgid "\n" + "socket or connect problem\n" +msgstr "" + +#: src/lang.c:1107 +#, c-format +msgid "\n" + "Connection to %s: " +msgstr "" + +#: src/lang.c:1108 +msgid "Giving up...\n" +msgstr "" -#: src/lang.c:1102 -msgid "Percentage Match" -msgstr "" - -#: src/lang.c:1114 src/lang.c:1225 -msgid "No" -msgstr "" - -#: src/lang.c:1115 src/lang.c:1227 -msgid "Yes" -msgstr "" - -#: src/lang.c:1116 -msgid "Hide All" -msgstr "" +#: src/lang.c:1110 +#, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "" + +#: src/lang.c:1114 +msgid "Your server does not have Xref: in its XOVER information.\n" + "Tin will try to use XHDR XREF instead (slows down things a bit).\n" +msgstr "" + +#: src/lang.c:1117 +msgid "Your server does not have Xref: in its XOVER information.\n" +msgstr "" + +#: src/lang.c:1120 +#, c-format +msgid "Can't open %s. Try %s -r to read news via NNTP.\n" +msgstr "" + +#: src/lang.c:1123 +msgid " -Q quick start. Same as -qd" +msgstr "" #: src/lang.c:1124 -msgid "Address" -msgstr "" +msgid " -l read only active file instead of scanning spool (-n) command" +msgstr "" #: src/lang.c:1125 -msgid "Full Name" -msgstr "" +msgid " -n only read subscribed .newsrc groups from spool" +msgstr "" #: src/lang.c:1126 -msgid "Address and Name" -msgstr "" +msgid "Your server does not have Xref: in its NOV-files.\n" +msgstr "" -#: src/lang.c:1133 -msgid "Max" -msgstr "" - -#: src/lang.c:1134 -msgid "Sum" -msgstr "" +#: src/lang.c:1130 +msgid "Posting using external inews failed. Use built in inews instead?" +msgstr "" + +#: src/lang.c:1131 +msgid "It worked! Should I always use my built in inews from now on?" +msgstr "" #: src/lang.c:1135 -msgid "Average" -msgstr "" +#, c-format +msgid "%d %s printed" +msgstr "" -#: src/lang.c:1140 -msgid "Lines" -msgstr "" - -#: src/lang.c:1141 -msgid "Score" -msgstr "" +#: src/lang.c:1136 +msgid "output article/thread/hot/pattern/tagged articles to printer" +msgstr "" + +#: src/lang.c:1137 +msgid "Print" +msgstr "" + +#: src/lang.c:1138 +msgid "Printing..." +msgstr "" #: src/lang.c:1142 -msgid "Lines & Score" -msgstr "" +msgid "pipe article/thread/hot/pattern/tagged articles into command" +msgstr "" -#: src/lang.c:1151 -msgid "Black" -msgstr "" +#: src/lang.c:1143 +msgid "No command" +msgstr "" -#: src/lang.c:1152 -msgid "Red" -msgstr "" +#: src/lang.c:1144 +msgid "Pipe" +msgstr "" -#: src/lang.c:1153 -msgid "Green" -msgstr "" - -#: src/lang.c:1154 -msgid "Brown" -msgstr "" - -#: src/lang.c:1155 -msgid "Blue" -msgstr "" - -#: src/lang.c:1156 -msgid "Pink" -msgstr "" +#: src/lang.c:1145 +#, c-format +msgid "Pipe to command [%.*s]> " +msgstr "" -#: src/lang.c:1157 -msgid "Cyan" -msgstr "" +#: src/lang.c:1146 +msgid "Piping..." +msgstr "" -#: src/lang.c:1158 -msgid "White" -msgstr "" - -#: src/lang.c:1159 -msgid "Gray" -msgstr "Grey" - -#: src/lang.c:1160 -msgid "Light Red" -msgstr "" - -#: src/lang.c:1161 -msgid "Light Green" -msgstr "" +#: src/lang.c:1148 +msgid "Piping not enabled." +msgstr "" -#: src/lang.c:1162 -msgid "Yellow" -msgstr "" +#: src/lang.c:1152 +#, c-format +msgid "\n" + "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" + " The only allowable space is the one separating the colon (:)\n" + " from the contents. Use a comma (,) to separate multiple\n" + " newsgroup names.\n" +msgstr "" + +#: src/lang.c:1157 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is continued in the next line. Since\n" + " the line may not contain whitespace, this is not allowed.\n" + " Please write all newsgroups into a single line.\n" +msgstr "" -#: src/lang.c:1163 -msgid "Light Blue" -msgstr "" - -#: src/lang.c:1164 -msgid "Light Pink" -msgstr "" - -#: src/lang.c:1165 -msgid "Light Cyan" -msgstr "" +#: src/lang.c:1162 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line is continued in the next line.\n" + " This is a very new feature and may not be accepted by all servers.\n" + " To avoid trouble please write all newsgroups into a single line.\n" +msgstr "" #: src/lang.c:1166 -msgid "Light White" -msgstr "" - -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 -msgid "Nothing" -msgstr "" - -#: src/lang.c:1175 -msgid "Mark" -msgstr "" - -#: src/lang.c:1176 -msgid "Space" -msgstr "" - -#: src/lang.c:1183 -msgid "Normal" -msgstr "" +#, c-format +msgid "\n" + "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" +msgstr "" + +#: src/lang.c:1171 +msgid "\n" + " If your article contains quoted text please take some time to pare it " + "down\n" + " to just the key points to which you are responding, or people will " + "think\n" + " you are a dweeb! Many people have the habit of skipping any article " + "whose\n" + " first page is largely quoted material. Format your article to fit in " + "less\n" + " then 80 chars, since that's the conventional size (72 is a good choice " + "as\n" + " it allows quoting without exceeding the limit). If your lines are too " + "long\n" + " they'll wrap around ugly and people won't read what you write. If " + "you\n" + " aren't careful and considerate in formatting your posting, people " + "are\n" + " likely to ignore it completely. It's a crowded net out there.\n" +msgstr "" #: src/lang.c:1184 -msgid "Best highlighting" -msgstr "" +msgid "shell escape" +msgstr "" #: src/lang.c:1185 -msgid "Underline" -msgstr "" +#, c-format +msgid "Shell Command (%s)" +msgstr "" #: src/lang.c:1186 -msgid "Reverse video" -msgstr "" +#, c-format +msgid "Enter shell command [%s]> " +msgstr "" -#: src/lang.c:1187 -msgid "Blinking" -msgstr "" - -#: src/lang.c:1188 -msgid "Half bright" -msgstr "" - -#: src/lang.c:1189 -msgid "Bold" -msgstr "" +#: src/lang.c:1190 +#, c-format +msgid "%s: Can't get entry for TERM\n" +msgstr "" #: src/lang.c:1194 -msgid "none" -msgstr "" - -#: src/lang.c:1195 -msgid "commands" -msgstr "" +#, c-format +msgid "Group %.*s ('q' to quit)..." +msgstr "" #: src/lang.c:1196 -msgid "select" -msgstr "" - -#: src/lang.c:1198 -msgid "commands & quit" -msgstr "" - -#: src/lang.c:1199 -msgid "commands & select" -msgstr "" +#, c-format +msgid "Group %.*s..." +msgstr "" #: src/lang.c:1200 -msgid "quit & select" -msgstr "" +msgid "Server unavailable\n" +msgstr "" -#: src/lang.c:1201 -msgid "commands & quit & select" -msgstr "" - -#: src/lang.c:1226 -msgid "Shell archive" -msgstr "" - -#: src/lang.c:1232 -msgid "Subject: (descending)" -msgstr "" - -#: src/lang.c:1233 -msgid "Subject: (ascending)" -msgstr "" - -#: src/lang.c:1234 -msgid "From: (descending)" -msgstr "" - -#: src/lang.c:1235 -msgid "From: (ascending)" -msgstr "" - -#: src/lang.c:1236 -msgid "Date: (descending)" -msgstr "" - -#: src/lang.c:1237 -msgid "Date: (ascending)" -msgstr "" - -#: src/lang.c:1238 src/lang.c:1246 -msgid "Score (descending)" -msgstr "" - -#: src/lang.c:1239 src/lang.c:1247 -msgid "Score (ascending)" -msgstr "" - -#: src/lang.c:1240 -msgid "Lines: (descending)" -msgstr "" - -#: src/lang.c:1241 -msgid "Lines: (ascending)" -msgstr "" - -#: src/lang.c:1252 -msgid "Always Keep" -msgstr "" - -#: src/lang.c:1253 -msgid "Always Remove" -msgstr "" - -#: src/lang.c:1254 -msgid "Mark with D on selection screen" -msgstr "" - -#: src/lang.c:1259 -msgid "Kill only unread arts" -msgstr "" - -#: src/lang.c:1260 -msgid "Kill all arts & show with K" -msgstr "" +#: src/lang.c:1206 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" + "s=post" +msgstr "" -#. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 -msgid "Kill all arts and never show" -msgstr "" - -#: src/lang.c:1266 -msgid "Nothing special" -msgstr "" - -#: src/lang.c:1267 -msgid "Compress quotes" -msgstr "" - -#: src/lang.c:1268 -msgid "Quote signatures" -msgstr "" - -#: src/lang.c:1269 -msgid "Compress quotes, quote sigs" -msgstr "" +#: src/lang.c:1207 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1209 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1210 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1214 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1215 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1217 +#, c-format +msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1218 +#, c-format +msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1224 +msgid "Terminal does not support color" +msgstr "Terminal does not support colour" + +#: src/lang.c:1229 +#, c-format +msgid "Trying %s" +msgstr "" + +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 src/refs.c:288 +msgid "None" +msgstr "" + +#: src/lang.c:1244 +msgid "Subject" +msgstr "" + +#: src/lang.c:1245 +msgid "References" +msgstr "" + +#: src/lang.c:1246 +msgid "Both Subject and References" +msgstr "" + +#: src/lang.c:1247 +msgid "Multipart Subject" +msgstr "" + +#: src/lang.c:1248 +msgid "Percentage Match" +msgstr "" + +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 +msgid "No" +msgstr "" + +#: src/lang.c:1261 src/lang.c:1413 +msgid "Yes" +msgstr "" + +#: src/lang.c:1262 +msgid "Hide All" +msgstr "" #: src/lang.c:1270 -msgid "Quote empty lines" -msgstr "" +msgid "Address" +msgstr "" #: src/lang.c:1271 -msgid "Compress quotes, quote empty lines" -msgstr "" +msgid "Full Name" +msgstr "" #: src/lang.c:1272 -msgid "Quote sigs & empty lines" -msgstr "" +msgid "Address and Name" +msgstr "" -#: src/lang.c:1273 -msgid "Comp. q., quote sigs & empty lines" -msgstr "" +#: src/lang.c:1279 +msgid "Max" +msgstr "" + +#: src/lang.c:1280 +msgid "Sum" +msgstr "" + +#: src/lang.c:1281 +msgid "Average" +msgstr "" + +#: src/lang.c:1286 +msgid "Lines" +msgstr "" + +#: src/lang.c:1287 +msgid "Score" +msgstr "" + +#: src/lang.c:1288 +msgid "Lines & Score" +msgstr "" + +#: src/lang.c:1297 +msgid "Black" +msgstr "" + +#: src/lang.c:1298 +msgid "Red" +msgstr "" + +#: src/lang.c:1299 +msgid "Green" +msgstr "" + +#: src/lang.c:1300 +msgid "Brown" +msgstr "" + +#: src/lang.c:1301 +msgid "Blue" +msgstr "" + +#: src/lang.c:1302 +msgid "Pink" +msgstr "" + +#: src/lang.c:1303 +msgid "Cyan" +msgstr "" + +#: src/lang.c:1304 +msgid "White" +msgstr "" + +#: src/lang.c:1305 +msgid "Gray" +msgstr "Grey" + +#: src/lang.c:1306 +msgid "Light Red" +msgstr "" + +#: src/lang.c:1307 +msgid "Light Green" +msgstr "" + +#: src/lang.c:1308 +msgid "Yellow" +msgstr "" + +#: src/lang.c:1309 +msgid "Light Blue" +msgstr "" + +#: src/lang.c:1310 +msgid "Light Pink" +msgstr "" #: src/lang.c:1311 -msgid "no" -msgstr "" +msgid "Light Cyan" +msgstr "" #: src/lang.c:1312 -msgid "with headers" -msgstr "" +msgid "Light White" +msgstr "" -#: src/lang.c:1313 -msgid "without headers" -msgstr "" - -#: src/lang.c:1320 src/lang.c:1326 -msgid "NFKC" -msgstr "" - -#: src/lang.c:1321 -msgid "NFKD" -msgstr "" +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 +msgid "Nothing" +msgstr "" #: src/lang.c:1322 -msgid "NFC" -msgstr "" +msgid "Space" +msgstr "" -#: src/lang.c:1323 -msgid "NFD" -msgstr "" +#: src/lang.c:1329 +msgid "Normal" +msgstr "" + +#: src/lang.c:1330 +msgid "Best highlighting" +msgstr "" + +#: src/lang.c:1331 +msgid "Underline" +msgstr "" + +#: src/lang.c:1332 +msgid "Reverse video" +msgstr "" + +#: src/lang.c:1333 +msgid "Blinking" +msgstr "" #: src/lang.c:1334 -msgid "Display Options" -msgstr "" +msgid "Half bright" +msgstr "" + +#: src/lang.c:1335 +msgid "Bold" +msgstr "" #: src/lang.c:1341 -msgid "Color Options" -msgstr "Colour Options" +msgid "Cc" +msgstr "" -#: src/lang.c:1348 -msgid "Article-Limiting Options" -msgstr "" +#: src/lang.c:1342 +msgid "Bcc" +msgstr "" + +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "" + +#: src/lang.c:1348 src/lang.c:1360 +msgid "none" +msgstr "" + +#: src/lang.c:1349 +msgid "commands" +msgstr "" + +#: src/lang.c:1350 +msgid "select" +msgstr "" + +#: src/lang.c:1352 +msgid "commands & quit" +msgstr "" + +#: src/lang.c:1353 +msgid "commands & select" +msgstr "" #: src/lang.c:1354 -msgid "Posting/Mailing Options" -msgstr "" +msgid "quit & select" +msgstr "" -#: src/lang.c:1360 -msgid "Saving/Printing Options" -msgstr "" - -#: src/lang.c:1366 -msgid "Expert Options" -msgstr "" +#: src/lang.c:1355 +msgid "commands & quit & select" +msgstr "" + +#: src/lang.c:1361 +msgid "PageDown" +msgstr "" + +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "" + +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "" + +#: src/lang.c:1368 +msgid "Subject: (case sensitive)" +msgstr "" + +#: src/lang.c:1369 +msgid "Subject: (ignore case)" +msgstr "" + +#: src/lang.c:1370 +msgid "From: (case sensitive)" +msgstr "" + +#: src/lang.c:1371 +msgid "From: (ignore case)" +msgstr "" #: src/lang.c:1372 -msgid "Filtering Options" -msgstr "" +msgid "Msg-ID: & full References: line" +msgstr "" -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 src/lang.c:1490 -#: src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 src/lang.c:1601 src/lang.c:1771 -#: src/lang.c:1777 src/lang.c:1783 src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 -#: src/lang.c:1862 src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 src/lang.c:1926 -#: src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 src/lang.c:1954 src/lang.c:1961 -#: src/lang.c:1968 src/lang.c:1975 src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 -#: src/lang.c:2003 src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 src/lang.c:2076 -#: src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 src/lang.c:2117 src/lang.c:2151 -#: src/lang.c:2204 src/lang.c:2211 src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 -#: src/lang.c:2312 src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 -msgid " toggles, sets, cancels." -msgstr "" - -#: src/lang.c:1378 -msgid "Show mini menu & posting etiquette" -msgstr "" - -#: src/lang.c:1379 -msgid "# If ON show a mini menu of useful commands at each level\n" - "# and posting etiquette after composing an article\n" -msgstr "" +#: src/lang.c:1373 +msgid "Msg-ID: & last References: only" +msgstr "" + +#: src/lang.c:1374 +msgid "Message-ID: entry only" +msgstr "" + +#: src/lang.c:1375 +msgid "Lines:" +msgstr "" + +#: src/lang.c:1380 +msgid "Don't trim article body" +msgstr "" + +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "" + +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "" + +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "" #: src/lang.c:1384 -msgid "Show short description for each newsgroup. toggles & sets." -msgstr "" +msgid "Compact multiple between text" +msgstr "" #: src/lang.c:1385 -msgid "Show description of each newsgroup" -msgstr "" +msgid "Compact multiple and skip leading" +msgstr "" #: src/lang.c:1386 -msgid "# If ON show group description text after newsgroup name at\n" - "# group selection level\n" -msgstr "" - -#: src/lang.c:1391 -msgid "Show Subject & From (author) fields in group menu. toggles & " - "sets." -msgstr "" - -#: src/lang.c:1392 -msgid "In group menu, show author by" -msgstr "" - -#: src/lang.c:1393 -msgid "# Part of from field to display\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = none\n" - "# 1 = address\n" - "# * 2 = full name\n" - "# 3 = both\n" -msgstr "" - -#: src/lang.c:1402 -msgid "Draw -> or highlighted bar for selection. toggles & sets." -msgstr "" - -#: src/lang.c:1403 -msgid "Draw -> instead of highlighted bar" -msgstr "" - -#: src/lang.c:1404 -msgid "# If ON use -> otherwise highlighted bar for selection\n" -msgstr "" - -#: src/lang.c:1409 -msgid "Use inverse video for page headers" -msgstr "" - -#: src/lang.c:1410 -msgid "# If ON use inverse video for page headers at different levels\n" -msgstr "" - -#: src/lang.c:1415 -msgid "Thread articles by" -msgstr "" - -#: src/lang.c:1416 -msgid "# Thread articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = Both (Subject and References)\n" - "# 4 = Multipart Subject\n" - "# 5 = Percentage Match\n" -msgstr "" +msgid "Compact multiple and skip trailing" +msgstr "" + +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "" + +#: src/lang.c:1412 +msgid "Shell archive" +msgstr "" + +#: src/lang.c:1418 +msgid "Subject: (descending)" +msgstr "" + +#: src/lang.c:1419 +msgid "Subject: (ascending)" +msgstr "" + +#: src/lang.c:1420 +msgid "From: (descending)" +msgstr "" + +#: src/lang.c:1421 +msgid "From: (ascending)" +msgstr "" + +#: src/lang.c:1422 +msgid "Date: (descending)" +msgstr "" + +#: src/lang.c:1423 +msgid "Date: (ascending)" +msgstr "" + +#: src/lang.c:1424 src/lang.c:1432 +msgid "Score (descending)" +msgstr "" + +#: src/lang.c:1425 src/lang.c:1433 +msgid "Score (ascending)" +msgstr "" + +#: src/lang.c:1426 +msgid "Lines: (descending)" +msgstr "" #: src/lang.c:1427 -msgid "Enter percentage match required to thread together. sets." -msgstr "" +msgid "Lines: (ascending)" +msgstr "" -#: src/lang.c:1428 -msgid "Thread percentage match" -msgstr "" - -#: src/lang.c:1429 -#, c-format -msgid "# Thread percentage match...\n" - "# the percentage of characters in the subject of an article that must match\n" - "# a base article for both those articles to be considered to belong to the\n" - "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" - "# follow. If 80 is used here, then 80%% of the characters must match " - "exactly,\n" - "# no insertion of a character, for the two articles to be put in the same\n" - "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" - "# 'harppy' would be threaded separately from 'happy'\n" -msgstr "" +#: src/lang.c:1434 +msgid "Last posting date (descending)" +msgstr "" + +#: src/lang.c:1435 +msgid "Last posting date (ascending)" +msgstr "" + +#: src/lang.c:1440 +msgid "Always Keep" +msgstr "" #: src/lang.c:1441 -msgid "Score of a thread" -msgstr "" +msgid "Always Remove" +msgstr "" #: src/lang.c:1442 -msgid "# Thread score\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = max\n" - "# 1 = sum\n" - "# 2 = average\n" -msgstr "" - -#: src/lang.c:1450 -msgid "Sort articles by Subject, From, Date or Score. toggles & sets." -msgstr "" - -#: src/lang.c:1451 -msgid "Sort articles by" -msgstr "" - -#: src/lang.c:1452 -msgid "# Sort articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject descending\n" - "# 2 = Subject ascending\n" - "# 3 = From descending\n" - "# 4 = From ascending\n" - "# 5 = Date descending\n" - "# * 6 = Date ascending\n" - "# 7 = Score descending\n" - "# 8 = Score ascending\n" - "# 9 = Lines descending\n" - "# 10 = Lines ascending\n" -msgstr "" - -#: src/lang.c:1468 -msgid "Sort threads by Nothing or Score. toggles & sets." -msgstr "" - -#: src/lang.c:1469 -msgid "Sort threads by" -msgstr "" - -#: src/lang.c:1470 -msgid "# Sort thread by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = Score descending\n" - "# 2 = Score ascending\n" -msgstr "" - -#: src/lang.c:1478 -msgid "Put cursor at first/last unread art in groups. toggles & sets." -msgstr "" - -#: src/lang.c:1479 -msgid "Goto first unread article in group" -msgstr "" - -#: src/lang.c:1480 -msgid "# If ON put cursor at first unread art in group otherwise last art\n" -msgstr "" - -#: src/lang.c:1484 -msgid "Show all articles or only unread articles. toggles & sets." -msgstr "" - -#: src/lang.c:1485 -msgid "Show only unread articles" -msgstr "" - -#: src/lang.c:1486 -msgid "# If ON show only new/unread articles otherwise show all.\n" -msgstr "" - -#: src/lang.c:1491 -msgid "Show only groups with unread arts" -msgstr "" - -#: src/lang.c:1492 -msgid "# If ON show only subscribed to groups that contain unread articles.\n" -msgstr "" - -#: src/lang.c:1497 -msgid "Filter which articles" -msgstr "" - -#: src/lang.c:1498 -msgid "# Filter which articles\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = only kill unread articles\n" - "# 1 = kill all articles and show in threads marked with K\n" - "# 2 = kill all articles and never show them\n" -msgstr "" - -#: src/lang.c:1507 -msgid "Tab goes to next unread article" -msgstr "" - -#: src/lang.c:1508 -msgid "# If ON the TAB command will go to next unread article at article viewer " - "level\n" -msgstr "" - -#: src/lang.c:1512 -msgid "Scrolling with past the end of an art. jumps to the next unread one." -msgstr "" - -#: src/lang.c:1513 -msgid "Space goes to next unread article" -msgstr "" - -#: src/lang.c:1514 -msgid "# If ON the SPACE command will go to next unread article at article viewer\n" - "# level when the end of the article is reached (rn-style pager)\n" -msgstr "" - -#: src/lang.c:1519 -msgid "Scrolling with / past the end of an art. jumps to the unread one." -msgstr "" - -#: src/lang.c:1520 -msgid "PgDn goes to next unread article" -msgstr "" - -#: src/lang.c:1521 -msgid "# If ON the PGDN or DOWN command will go to next unread article when\n" - "# pressed at end of message\n" -msgstr "" - -#: src/lang.c:1527 -msgid "List thread using right arrow key" -msgstr "" - -#: src/lang.c:1528 -msgid "# If ON automatically list thread when entering it using right arrow key.\n" -msgstr "" - -#: src/lang.c:1532 -msgid "Enter character to indicate deleted articles. sets, cancels." -msgstr "" - -#: src/lang.c:1533 -msgid "Character to show deleted articles" -msgstr "" - -#: src/lang.c:1534 -msgid "# Character used to show that an art was deleted (default 'D')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1539 -msgid "Enter character to indicate articles in a range. sets, cancels." -msgstr "" - -#: src/lang.c:1540 -msgid "Character to show inrange articles" -msgstr "" - -#: src/lang.c:1541 -msgid "# Character used to show that an art is in a range (default '#')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1546 -msgid "Enter character to indicate that article will return. sets, " - "cancels." -msgstr "" - -#: src/lang.c:1547 -msgid "Character to show returning arts" -msgstr "" +msgid "Mark with D on selection screen" +msgstr "" + +#: src/lang.c:1447 +msgid "Kill only unread arts" +msgstr "" + +#: src/lang.c:1448 +msgid "Kill all arts & show with K" +msgstr "" + +#. TODO: s/K/art_marked_killed/ +#: src/lang.c:1449 +msgid "Kill all arts and never show" +msgstr "" + +#: src/lang.c:1454 +msgid "Nothing special" +msgstr "" + +#: src/lang.c:1455 +msgid "Compress quotes" +msgstr "" + +#: src/lang.c:1456 +msgid "Quote signatures" +msgstr "" + +#: src/lang.c:1457 +msgid "Compress quotes, quote sigs" +msgstr "" + +#: src/lang.c:1458 +msgid "Quote empty lines" +msgstr "" + +#: src/lang.c:1459 +msgid "Compress quotes, quote empty lines" +msgstr "" + +#: src/lang.c:1460 +msgid "Quote sigs & empty lines" +msgstr "" + +#: src/lang.c:1461 +msgid "Comp. q., quote sigs & empty lines" +msgstr "" + +#: src/lang.c:1499 +msgid "no" +msgstr "" + +#: src/lang.c:1500 +msgid "with headers" +msgstr "" + +#: src/lang.c:1501 +msgid "without headers" +msgstr "" + +#: src/lang.c:1508 src/lang.c:1514 +msgid "NFKC" +msgstr "" + +#: src/lang.c:1509 +msgid "NFKD" +msgstr "" + +#: src/lang.c:1510 +msgid "NFC" +msgstr "" + +#: src/lang.c:1511 +msgid "NFD" +msgstr "" + +#: src/lang.c:1522 +msgid "Display Options" +msgstr "" + +#: src/lang.c:1529 +msgid "Color Options" +msgstr "Colour Options" + +#: src/lang.c:1536 +msgid "Article-Limiting Options" +msgstr "" + +#: src/lang.c:1542 +msgid "Posting/Mailing Options" +msgstr "" #: src/lang.c:1548 -msgid "# Character used to show that an art will return (default '-')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1553 -msgid "Enter character to indicate selected articles. sets, cancels." -msgstr "" +msgid "Saving/Printing Options" +msgstr "" #: src/lang.c:1554 -msgid "Character to show selected articles" -msgstr "" - -#: src/lang.c:1555 -msgid "# Character used to show that an art was auto-selected (default '*')\n" - "# _ is turned into ' '\n" -msgstr "" +msgid "Expert Options" +msgstr "" #: src/lang.c:1560 -msgid "Enter character to indicate recent articles. sets, cancels." -msgstr "" +msgid "Filtering Options" +msgstr "" -#: src/lang.c:1561 -msgid "Character to show recent articles" -msgstr "" - -#: src/lang.c:1562 -msgid "# Character used to show that an art is recent (default 'o')\n" - "# _ is turned into ' '\n" -msgstr "" +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 src/lang.c:1680 +#: src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 src/lang.c:1725 src/lang.c:1800 +#: src/lang.c:1808 src/lang.c:1998 src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 +#: src/lang.c:2028 src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 src/lang.c:2139 +#: src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 src/lang.c:2167 src/lang.c:2174 +#: src/lang.c:2181 src/lang.c:2188 src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 +#: src/lang.c:2216 src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 src/lang.c:2289 +#: src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 src/lang.c:2316 src/lang.c:2322 +#: src/lang.c:2339 src/lang.c:2351 src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 +#: src/lang.c:2458 src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 src/lang.c:2660 +#: src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 src/lang.c:2734 src/lang.c:2745 +#: src/lang.c:2751 src/lang.c:2789 +msgid " toggles, sets, cancels." +msgstr "" + +#: src/lang.c:1566 +msgid "Show mini menu & posting etiquette" +msgstr "" #: src/lang.c:1567 -msgid "Enter character to indicate unread articles. sets, cancels." -msgstr "" - -#: src/lang.c:1568 -msgid "Character to show unread articles" -msgstr "" - -#: src/lang.c:1569 -msgid "# Character used to show that an art is unread (default '+')\n" - "# _ is turned into ' '\n" -msgstr "" +msgid "# If ON show a mini menu of useful commands at each level\n" + "# and posting etiquette after composing an article\n" +msgstr "" + +#: src/lang.c:1572 +msgid "Show short description for each newsgroup. toggles & sets." +msgstr "" + +#: src/lang.c:1573 +msgid "Show description of each newsgroup" +msgstr "" #: src/lang.c:1574 -msgid "Enter character to indicate read articles. sets, cancels." -msgstr "" - -#: src/lang.c:1575 -msgid "Character to show read articles" -msgstr "" - -#: src/lang.c:1576 -msgid "# Character used to show that an art was read (default ' ')\n" - "# _ is turned into ' '\n" -msgstr "" +msgid "# If ON show group description text after newsgroup name at\n" + "# group selection level\n" +msgstr "" + +#: src/lang.c:1579 +msgid "Show Subject & From (author) fields in group menu. toggles & " + "sets." +msgstr "" + +#: src/lang.c:1580 +msgid "In group menu, show author by" +msgstr "" #: src/lang.c:1581 -msgid "Enter character to indicate killed articles. sets, cancels." -msgstr "" - -#: src/lang.c:1582 -msgid "Character to show killed articles" -msgstr "" - -#: src/lang.c:1583 -msgid "# Character used to show that an art was killed (default 'K')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1588 -msgid "Enter character to indicate read selected articles. sets, cancels." -msgstr "" - -#: src/lang.c:1589 -msgid "Character to show readselected arts" -msgstr "" +msgid "# Part of from field to display\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = none\n" + "# 1 = address\n" + "# * 2 = full name\n" + "# 3 = both\n" +msgstr "" #: src/lang.c:1590 -msgid "# Character used to show that an art was selected before read (default ':')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1595 -msgid "Enter maximum length of newsgroup names displayed. sets." -msgstr "" - -#: src/lang.c:1596 -msgid "Max. length of group names shown" -msgstr "" +msgid "Draw -> or highlighted bar for selection. toggles & sets." +msgstr "" + +#: src/lang.c:1591 +msgid "Draw -> instead of highlighted bar" +msgstr "" + +#: src/lang.c:1592 +msgid "# If ON use -> otherwise highlighted bar for selection\n" +msgstr "" #: src/lang.c:1597 -msgid "# Maximum length of the names of newsgroups displayed\n" -msgstr "" +msgid "Use inverse video for page headers" +msgstr "" -#: src/lang.c:1602 -msgid "Show lines/score in listings" -msgstr "" +#: src/lang.c:1598 +msgid "# If ON use inverse video for page headers at different levels\n" +msgstr "" #: src/lang.c:1603 -msgid "# What informations should be displayed in article/thread listing\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = lines\n" - "# 2 = score\n" - "# 3 = lines & score\n" -msgstr "" - -#: src/lang.c:1612 -msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" - "2 = half page" -msgstr "" - -#: src/lang.c:1613 -msgid "Number of lines to scroll in pager" -msgstr "" - -#: src/lang.c:1614 -msgid "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behavior)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" -msgstr "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behaviour)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" - -#: src/lang.c:1624 -msgid "Display signatures. toggles & sets." -msgstr "" - -#: src/lang.c:1625 -msgid "Display signatures" -msgstr "" - -#: src/lang.c:1626 -msgid "# If OFF don't show signatures when displaying articles\n" -msgstr "" +msgid "Thread articles by" +msgstr "" -#: src/lang.c:1630 -msgid "Display uuencoded data as tagged attachments. toggles & sets." -msgstr "" +#: src/lang.c:1604 +msgid "# Thread articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = Both (Subject and References)\n" + "# 4 = Multipart Subject\n" + "# 5 = Percentage Match\n" +msgstr "" + +#: src/lang.c:1615 +msgid "Enter percentage match required to thread together. sets." +msgstr "" + +#: src/lang.c:1616 +msgid "Thread percentage match" +msgstr "" + +#: src/lang.c:1617 +#, c-format +msgid "# Thread percentage match...\n" + "# the percentage of characters in the subject of an article that must match\n" + "# a base article for both those articles to be considered to belong to the\n" + "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" + "# follow. If 80 is used here, then 80%% of the characters must match " + "exactly,\n" + "# no insertion of a character, for the two articles to be put in the same\n" + "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" + "# 'harppy' would be threaded separately from 'happy'\n" +msgstr "" + +#: src/lang.c:1629 +msgid "Score of a thread" +msgstr "" -#: src/lang.c:1631 -msgid "Display uue data as an attachment" -msgstr "" - -#: src/lang.c:1632 -msgid "# Handling of uuencoded data in the pager\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no, display raw uuencoded data\n" - "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" - "# size and filename, similar to how MIME attachments are displayed\n" - "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" - "# be folded into a tag line.\n" -msgstr "" - -#: src/lang.c:1642 -msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." -msgstr "" - -#: src/lang.c:1643 -msgid "Display \"a as Umlaut-a" -msgstr "" - -#: src/lang.c:1644 -msgid "# If ON decode German style TeX umlaut codes to ISO and\n" - "# show \"a as Umlaut-a, etc.\n" -msgstr "" - -#: src/lang.c:1649 src/lang.c:1659 -msgid "Space separated list of header fields" -msgstr "" - -#: src/lang.c:1650 -msgid "Display these header fields (or *)" -msgstr "" - -#: src/lang.c:1651 -msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" - "# place an '*' as this value. This is the only way a wildcard can be used.\n" - "# If you enter 'X-' as the value, you will see all headers beginning with\n" - "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " - "with\n" - "# spaces. Not defining anything turns off this option.\n" -msgstr "" - -#: src/lang.c:1660 -msgid "Do not display these header fields" -msgstr "" - -#: src/lang.c:1661 -msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" - "# An example of using both options might be if you thought X- headers were\n" - "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " - "you\n" - "# would do something like this:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Not defining anything turns off this option.\n" -msgstr "" - -#: src/lang.c:1671 -msgid "Do you want to enable automatic handling of multipart/alternative articles?" -msgstr "" - -#: src/lang.c:1672 -msgid "Skip multipart/alternative parts" -msgstr "" - -#: src/lang.c:1673 -msgid "# If ON strip multipart/alternative messages automatically\n" -msgstr "" - -#: src/lang.c:1678 -msgid "A regex used to decide which lines to show in col_quote." -msgstr "" - -#: src/lang.c:1679 -msgid "Regex used to show quoted lines" -msgstr "" - -#: src/lang.c:1680 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1686 -msgid "A regex used to decide which lines to show in col_quote2." -msgstr "" +#: src/lang.c:1630 +msgid "# Thread score\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = max\n" + "# 1 = sum\n" + "# 2 = average\n" +msgstr "" + +#: src/lang.c:1638 +msgid "Sort articles by Subject, From, Date or Score. toggles & sets." +msgstr "" + +#: src/lang.c:1639 +msgid "Sort articles by" +msgstr "" + +#: src/lang.c:1640 +msgid "# Sort articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject descending\n" + "# 2 = Subject ascending\n" + "# 3 = From descending\n" + "# 4 = From ascending\n" + "# 5 = Date descending\n" + "# * 6 = Date ascending\n" + "# 7 = Score descending\n" + "# 8 = Score ascending\n" + "# 9 = Lines descending\n" + "# 10 = Lines ascending\n" +msgstr "" + +#: src/lang.c:1656 +msgid "Sort threads by Nothing or Score. toggles & sets." +msgstr "" + +#: src/lang.c:1657 +msgid "Sort threads by" +msgstr "" + +#: src/lang.c:1658 +msgid "# Sort thread by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = Score descending\n" + "# 2 = Score ascending\n" + "# 3 = Last posting date descending\n" + "# 4 = Last posting date ascending\n" +msgstr "" + +#: src/lang.c:1668 +msgid "Put cursor at first/last unread art in groups. toggles & sets." +msgstr "" + +#: src/lang.c:1669 +msgid "Go to first unread article in group" +msgstr "" + +#: src/lang.c:1670 +msgid "# If ON put cursor at first unread art in group otherwise last art\n" +msgstr "" + +#: src/lang.c:1674 +msgid "Show all articles or only unread articles. toggles & sets." +msgstr "" + +#: src/lang.c:1675 +msgid "Show only unread articles" +msgstr "" + +#: src/lang.c:1676 +msgid "# If ON show only new/unread articles otherwise show all.\n" +msgstr "" + +#: src/lang.c:1681 +msgid "Show only groups with unread arts" +msgstr "" + +#: src/lang.c:1682 +msgid "# If ON show only subscribed to groups that contain unread articles.\n" +msgstr "" #: src/lang.c:1687 -msgid "Regex used to show twice quoted l." -msgstr "" +msgid "Filter which articles" +msgstr "" #: src/lang.c:1688 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted twice. Twice quoted lines are shown in col_quote2.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1694 -msgid "A regex used to decide which lines to show in col_quote3." -msgstr "" - -#: src/lang.c:1695 -msgid "Regex used to show >= 3 times q.l." -msgstr "" - -#: src/lang.c:1696 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1703 -msgid "A regex used to decide which words to show in col_markslashes." -msgstr "" - -#: src/lang.c:1704 -msgid "Regex used to highlight /slashes/" -msgstr "" - -#: src/lang.c:1705 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '/' are to be shown in col_markslashes.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1711 -msgid "A regex used to decide which words to show in col_markstars." -msgstr "" - -#: src/lang.c:1712 -msgid "Regex used to highlight *stars*" -msgstr "" - -#: src/lang.c:1713 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '*' are to be shown in col_markstars.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1719 -msgid "A regex used to decide which words to show in col_markstroke." -msgstr "" - -#: src/lang.c:1720 -msgid "Regex used to highlight -strokes-" -msgstr "" - -#: src/lang.c:1721 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '-' are to be shown in col_markstroke.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" +msgid "# Filter which articles\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = only kill unread articles\n" + "# 1 = kill all articles and show in threads marked with K\n" + "# 2 = kill all articles and never show them\n" +msgstr "" + +#: src/lang.c:1697 +msgid "Go to the next unread article with" +msgstr "" + +#: src/lang.c:1698 +msgid "# Go to the unread article with following key(s)\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN or TAB\n" +msgstr "" + +#: src/lang.c:1708 +msgid "How to treat blank lines" +msgstr "" + +#: src/lang.c:1709 +msgid "# Trim the article body, remove unnecessary blank lines.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = Nothing special\n" + "# 1 = Skip leading blank lines\n" + "# 2 = Skip trailing blank lines\n" + "# 3 = Skip leading and trailing blank lines\n" + "# 4 = Compact multiple blank lines between text blocks\n" + "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" + "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" + "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/lang.c:1726 +msgid "List thread using right arrow key" +msgstr "" #: src/lang.c:1727 -msgid "A regex used to decide which words to show in col_markdash." -msgstr "" +msgid "# If ON automatically list thread when entering it using right arrow key.\n" +msgstr "" -#: src/lang.c:1728 -msgid "Regex used to highlight _underline_" -msgstr "" - -#: src/lang.c:1729 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '_' are to be shown in col_markdash.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1735 -msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." -msgstr "" - -#: src/lang.c:1736 -msgid "Regex with Subject prefixes" -msgstr "" - -#: src/lang.c:1737 -msgid "# A regular expression that tin will use to find Subject prefixes\n" - "# which will be removed before showing the header.\n" -msgstr "" - -#: src/lang.c:1742 -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." -msgstr "" - -#: src/lang.c:1743 -msgid "Regex with Subject suffixes" -msgstr "" - -#: src/lang.c:1744 -msgid "# A regular expression that tin will use to find Subject suffixes\n" - "# which will be removed when replying or posting followup.\n" -msgstr "" - -#: src/lang.c:1749 -msgid "Enter name and options for external MIME viewer, --internal for built-in " - "viewer" -msgstr "" - -#: src/lang.c:1750 -msgid "MIME binary content viewer" -msgstr "" - -#: src/lang.c:1751 -msgid "# If --internal automatically use the built in MIME viewer for non-text\n" - "# parts of articles.\n" - "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" - "# for no automatic viewing\n" -msgstr "" - -#: src/lang.c:1758 -msgid "Confirm before starting non-text viewing program" -msgstr "" +#: src/lang.c:1731 +msgid "Enter character to indicate deleted articles. sets, cancels." +msgstr "" + +#: src/lang.c:1732 +msgid "Character to show deleted articles" +msgstr "" + +#: src/lang.c:1733 +msgid "# Character used to show that an art was deleted (default 'D')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1738 +msgid "Enter character to indicate articles in a range. sets, cancels." +msgstr "" + +#: src/lang.c:1739 +msgid "Character to show inrange articles" +msgstr "" + +#: src/lang.c:1740 +msgid "# Character used to show that an art is in a range (default '#')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1745 +msgid "Enter character to indicate that article will return. sets, " + "cancels." +msgstr "" + +#: src/lang.c:1746 +msgid "Character to show returning arts" +msgstr "" + +#: src/lang.c:1747 +msgid "# Character used to show that an art will return (default '-')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1752 +msgid "Enter character to indicate selected articles. sets, cancels." +msgstr "" + +#: src/lang.c:1753 +msgid "Character to show selected articles" +msgstr "" + +#: src/lang.c:1754 +msgid "# Character used to show that an art was auto-selected (default '*')\n" + "# _ is turned into ' '\n" +msgstr "" #: src/lang.c:1759 -msgid "Ask before using MIME viewer" -msgstr "" +msgid "Enter character to indicate recent articles. sets, cancels." +msgstr "" #: src/lang.c:1760 -msgid "# If ON tin will ask before using metamail to display MIME messages\n" - "# this only happens if metamail_prog is set to something\n" -msgstr "" - -#: src/lang.c:1765 -msgid "Ask to mark groups read when quitting. toggles & sets." -msgstr "" +msgid "Character to show recent articles" +msgstr "" + +#: src/lang.c:1761 +msgid "# Character used to show that an art is recent (default 'o')\n" + "# _ is turned into ' '\n" +msgstr "" #: src/lang.c:1766 -msgid "Catchup read groups when quitting" -msgstr "" +msgid "Enter character to indicate unread articles. sets, cancels." +msgstr "" #: src/lang.c:1767 -msgid "# If ON ask user if read groups should all be marked read\n" -msgstr "" +msgid "Character to show unread articles" +msgstr "" -#: src/lang.c:1772 -msgid "Catchup group using left key" -msgstr "" +#: src/lang.c:1768 +msgid "# Character used to show that an art is unread (default '+')\n" + "# _ is turned into ' '\n" +msgstr "" #: src/lang.c:1773 -msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" -msgstr "" +msgid "Enter character to indicate read articles. sets, cancels." +msgstr "" -#: src/lang.c:1778 -msgid "Catchup thread by using left key" -msgstr "" - -#: src/lang.c:1784 -msgid "Which actions require confirmation" -msgstr "" - -#: src/lang.c:1785 -msgid "# What should we ask confirmation for.\n" -msgstr "" - -#: src/lang.c:1790 -msgid "'Mark article read' ignores tags" -msgstr "" - -#: src/lang.c:1791 -msgid "# If ON the 'Mark article read' function marks only the current article.\n" -msgstr "" +#: src/lang.c:1774 +msgid "Character to show read articles" +msgstr "" + +#: src/lang.c:1775 +msgid "# Character used to show that an art was read (default ' ')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1780 +msgid "Enter character to indicate killed articles. sets, cancels." +msgstr "" + +#: src/lang.c:1781 +msgid "Character to show killed articles" +msgstr "" + +#: src/lang.c:1782 +msgid "# Character used to show that an art was killed (default 'K')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1787 +msgid "Enter character to indicate read selected articles. sets, cancels." +msgstr "" + +#: src/lang.c:1788 +msgid "Character to show readselected arts" +msgstr "" + +#: src/lang.c:1789 +msgid "# Character used to show that an art was selected before read (default ':')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1794 +msgid "Enter maximum length of newsgroup names displayed. sets." +msgstr "" #: src/lang.c:1795 -msgid "Program to run to open URL's, sets, cancels." -msgstr "" +msgid "Max. length of group names shown" +msgstr "" #: src/lang.c:1796 -msgid "Program that opens URL's" -msgstr "" +msgid "# Maximum length of the names of newsgroups displayed\n" +msgstr "" -#: src/lang.c:1797 -msgid "# The program used to open URL's. The actual URL will be appended\n" -msgstr "" +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "" #: src/lang.c:1802 -msgid "Use mouse in xterm" -msgstr "" - -#: src/lang.c:1803 -msgid "# If ON enable mouse key support on xterm terminals\n" -msgstr "" +msgid "# If ON abbreviate (if necessary) long newsgroup names at group selection\n" + "# level and article level like this:\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "" #: src/lang.c:1809 -msgid "Use scroll keys on keypad" -msgstr "" +msgid "Show lines/score in listings" +msgstr "" #: src/lang.c:1810 -msgid "# If ON enable scroll keys on terminals that support it\n" -msgstr "" - -#: src/lang.c:1815 -msgid "Enter maximum number of article to get. sets." -msgstr "" - -#: src/lang.c:1816 -msgid "Number of articles to get" -msgstr "" - -#: src/lang.c:1817 -msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" - "# of already read articles to be read before first unread one\n" -msgstr "" - -#: src/lang.c:1822 -msgid "Enter number of days article is considered recent. sets." -msgstr "" - -#: src/lang.c:1823 -msgid "Article recentness time limit" -msgstr "" - -#: src/lang.c:1824 -msgid "# Number of days in which article is considered recent, (0=OFF)\n" -msgstr "" - -#: src/lang.c:1828 -msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." -msgstr "" - -#: src/lang.c:1829 -msgid "Wildcard matching" -msgstr "" - -#: src/lang.c:1830 -msgid "# Wildcard matching\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" -msgstr "" +msgid "# What information should be displayed in article/thread listing\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = lines\n" + "# 2 = score\n" + "# 3 = lines & score\n" +msgstr "" + +#: src/lang.c:1819 +msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" + "2 = half page" +msgstr "" + +#: src/lang.c:1820 +msgid "Number of lines to scroll in pager" +msgstr "" + +#: src/lang.c:1821 +msgid "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behavior)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" +msgstr "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behaviour)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" + +#: src/lang.c:1831 +msgid "Display signatures. toggles & sets." +msgstr "" + +#: src/lang.c:1832 +msgid "Display signatures" +msgstr "" + +#: src/lang.c:1833 +msgid "# If OFF don't show signatures when displaying articles\n" +msgstr "" #: src/lang.c:1837 -msgid "Enter minimal score before an article is marked killed. sets." -msgstr "" +msgid "Display uuencoded data as tagged attachments. toggles & sets." +msgstr "" #: src/lang.c:1838 -msgid "Score limit (kill)" -msgstr "" +msgid "Display uue data as an attachment" +msgstr "" #: src/lang.c:1839 -msgid "# Score limit before an article is marked killed\n" -msgstr "" - -#: src/lang.c:1843 -msgid "Enter default score to kill articles. sets." -msgstr "" - -#: src/lang.c:1844 -msgid "Default score to kill articles" -msgstr "" - -#: src/lang.c:1845 -msgid "# Default score to kill articles\n" -msgstr "" +msgid "# Handling of uuencoded data in the pager\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no, display raw uuencoded data\n" + "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" + "# size and filename, similar to how MIME attachments are displayed\n" + "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" + "# be folded into a tag line.\n" +msgstr "" #: src/lang.c:1849 -msgid "Enter minimal score before an article is marked hot. sets." -msgstr "" +msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." +msgstr "" #: src/lang.c:1850 -msgid "Score limit (select)" -msgstr "" +msgid "Display \"a as Umlaut-a" +msgstr "" #: src/lang.c:1851 -msgid "# Score limit before an article is marked hot\n" -msgstr "" - -#: src/lang.c:1855 -msgid "Enter default score to select articles. sets." -msgstr "" - -#: src/lang.c:1856 -msgid "Default score to select articles" -msgstr "" +msgid "# If ON decode German style TeX umlaut codes to ISO and\n" + "# show \"a as Umlaut-a, etc.\n" +msgstr "" + +#: src/lang.c:1856 src/lang.c:1866 +msgid "Space separated list of header fields" +msgstr "" #: src/lang.c:1857 -msgid "# Default score to select articles\n" -msgstr "" +msgid "Display these header fields (or *)" +msgstr "" -#: src/lang.c:1863 -msgid "Use slrnface to show ''X-Face:''s" -msgstr "" - -#: src/lang.c:1864 -msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" - "# Only useful when running in an xterm.\n" -msgstr "" - -#: src/lang.c:1872 -msgid "Use ANSI color" -msgstr "Use ANSI colour" - -#: src/lang.c:1873 -msgid "# If ON using ANSI-color\n" -msgstr "# If ON using ANSI-colour\n" +#: src/lang.c:1858 +msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" + "# place an '*' as this value. This is the only way a wildcard can be used.\n" + "# If you enter 'X-' as the value, you will see all headers beginning with\n" + "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " + "with\n" + "# spaces. Not defining anything turns off this option.\n" +msgstr "" + +#: src/lang.c:1867 +msgid "Do not display these header fields" +msgstr "" + +#: src/lang.c:1868 +msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" + "# An example of using both options might be if you thought X- headers were\n" + "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " + "you\n" + "# would do something like this:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Not defining anything turns off this option.\n" +msgstr "" #: src/lang.c:1878 -msgid "Standard foreground color" -msgstr "Standard foreground colour" +msgid "Do you want to enable automatic handling of multipart/alternative articles?" +msgstr "" #: src/lang.c:1879 -msgid "# Standard foreground color\n" - "# Default: -1 (default color)\n" -msgstr "# Standard foreground colour\n" - "# Default: -1 (default colour)\n" +msgid "Skip multipart/alternative parts" +msgstr "" + +#: src/lang.c:1880 +msgid "# If ON strip multipart/alternative messages automatically\n" +msgstr "" + +#: src/lang.c:1884 +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "" #: src/lang.c:1885 -msgid "Standard background color" -msgstr "Standard background colour" +msgid "Detection of verbatim blocks" +msgstr "" #: src/lang.c:1886 -msgid "# Standard background color\n" - "# Default: -1 (default color)\n" -msgstr "# Standard background colour\n" - "# Default: -1 (default colour)\n" +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "" + +#: src/lang.c:1891 +msgid "A regex used to decide which lines to show in col_quote." +msgstr "" #: src/lang.c:1892 -msgid "Color for inverse text (background)" -msgstr "Colour for inverse text (bg)" +msgid "Regex used to show quoted lines" +msgstr "" #: src/lang.c:1893 -msgid "# Color of background for inverse text\n" - "# Default: 4 (blue)\n" -msgstr "# Colour of background for inverse text\n" - "# Default: 4 (blue)\n" +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1899 -msgid "Color for inverse text (foreground)" -msgstr "Colour for inverse text (fg)" +msgid "A regex used to decide which lines to show in col_quote2." +msgstr "" #: src/lang.c:1900 -msgid "# Color of foreground for inverse text\n" - "# Default: 7 (white)\n" -msgstr "# Colour of foreground for inverse text\n" - "# Default: 7 (white)\n" - -#: src/lang.c:1906 -msgid "Color of text lines" -msgstr "Colour of text lines" +msgid "Regex used to show twice quoted l." +msgstr "" + +#: src/lang.c:1901 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted twice. Twice quoted lines are shown in col_quote2.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1907 -msgid "# Color of text lines\n" - "# Default: -1 (default color)\n" -msgstr "# Colour of text lines\n" - "# Default: -1 (default colour\n" - -#: src/lang.c:1913 -msgid "Color of mini help menu" -msgstr "Colour of mini help menu" - -#: src/lang.c:1914 -msgid "# Color of mini help menu\n" - "# Default: 3 (brown)\n" -msgstr "# Colour of mini help menu\n" - "# Default: 3 (brown)\n" - -#: src/lang.c:1920 -msgid "Color of help text" -msgstr "Colour of help text" - -#: src/lang.c:1921 -msgid "# Color of help pages\n" - "# Default: -1 (default color)\n" -msgstr "# Colour of help pages\n" - "# Default: -1 (default colour)\n" - -#: src/lang.c:1927 -msgid "Color of status messages" -msgstr "Colour of status messages" - -#: src/lang.c:1928 -msgid "# Color of messages in last line\n" - "# Default: 6 (cyan)\n" -msgstr "# Colour of messages in last line\n" - "# Default: 6 (cyan)\n" +msgid "A regex used to decide which lines to show in col_quote3." +msgstr "" -#: src/lang.c:1934 -msgid "Color of quoted lines" -msgstr "Colour of quoted lines" +#: src/lang.c:1908 +msgid "Regex used to show >= 3 times q.l." +msgstr "" + +#: src/lang.c:1909 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1916 +msgid "A regex used to decide which words to show in col_markslashes." +msgstr "" + +#: src/lang.c:1917 +msgid "Regex used to highlight /slashes/" +msgstr "" + +#: src/lang.c:1918 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '/' are to be shown in col_markslashes.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1924 +msgid "A regex used to decide which words to show in col_markstars." +msgstr "" + +#: src/lang.c:1925 +msgid "Regex used to highlight *stars*" +msgstr "" + +#: src/lang.c:1926 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '*' are to be shown in col_markstars.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1932 +msgid "A regex used to decide which words to show in col_markstroke." +msgstr "" + +#: src/lang.c:1933 +msgid "Regex used to highlight -strokes-" +msgstr "" -#: src/lang.c:1935 -msgid "# Color of quote-lines\n" - "# Default: 2 (green)\n" -msgstr "# Colour of quote-lines\n" - "# Default: 2 (green)\n" +#: src/lang.c:1934 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '-' are to be shown in col_markstroke.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1940 +msgid "A regex used to decide which words to show in col_markdash." +msgstr "" #: src/lang.c:1941 -msgid "Color of twice quoted line" -msgstr "Colour of twice quoted line" +msgid "Regex used to highlight _underline_" +msgstr "" #: src/lang.c:1942 -msgid "# Color of twice quoted lines\n" - "# Default: 3 (brown)\n" -msgstr "# Colour of twice quoted lines\n" - "# Default: 3 (brown)\n" +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '_' are to be shown in col_markdash.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1948 -msgid "Color of =>3 times quoted line" -msgstr "Colour of =>3 times quoted line" +msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." +msgstr "" #: src/lang.c:1949 -msgid "# Color of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" -msgstr "# Colour of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" +msgid "Regex with Subject prefixes" +msgstr "" + +#: src/lang.c:1950 +msgid "# A regular expression that tin will use to find Subject prefixes\n" + "# which will be removed before showing the header.\n" +msgstr "" #: src/lang.c:1955 -msgid "Color of article header lines" -msgstr "Colour of article header lines" +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "" #: src/lang.c:1956 -msgid "# Color of header-lines\n" - "# Default: 2 (green)\n" -msgstr "# Colour of header-lines\n" - "# Default: 2 (green)\n" +msgid "Regex with Subject suffixes" +msgstr "" + +#: src/lang.c:1957 +msgid "# A regular expression that tin will use to find Subject suffixes\n" + "# which will be removed when replying or posting followup.\n" +msgstr "" #: src/lang.c:1962 -msgid "Color of actual news header fields" -msgstr "Colour of actual news header fields" +msgid "A regex used to find the begin of a verbatim block." +msgstr "" #: src/lang.c:1963 -msgid "# Color of actual news header fields\n" - "# Default: 9 (light red)\n" -msgstr "# Colour of actual news header fields\n" - "# Default: 9 (light red)\n" +msgid "Regex for begin of a verbatim block" +msgstr "" + +#: src/lang.c:1964 +msgid "# A regular expression that tin will use to find the begin of\n" + "# a verbatim block.\n" +msgstr "" #: src/lang.c:1969 -msgid "Color of article subject lines" -msgstr "Colour of article subject lines" +msgid "A regex used to find the end of a verbatim block." +msgstr "" #: src/lang.c:1970 -msgid "# Color of article subject\n" - "# Default: 6 (cyan)\n" -msgstr "# Colour of article subject\n" - "# Default: 6 (cyan)\n" +msgid "Regex for end of a verbatim block" +msgstr "" + +#: src/lang.c:1971 +msgid "# A regular expression that tin will use to find the end of\n" + "# a verbatim block.\n" +msgstr "" #: src/lang.c:1976 -msgid "Color of response counter" -msgstr "Colour of response counter" +msgid "Enter name and options for external MIME viewer, --internal for built-in " + "viewer" +msgstr "" #: src/lang.c:1977 -msgid "# Color of response counter\n" - "# Default: 2 (green)\n" -msgstr "# Colour of response counter\n" - "# Default: 2 (green)\n" - -#: src/lang.c:1983 -msgid "Color of sender (From:)" -msgstr "Colour of sender (From:)" - -#: src/lang.c:1984 -msgid "# Color of sender (From:)\n" - "# Default: 2 (green)\n" -msgstr "# Colour of sender (From:)\n" - "# Default: 2 (green)\n" - -#: src/lang.c:1990 -msgid "Color of help/mail sign" -msgstr "Colour of help/mail sign" - -#: src/lang.c:1991 -msgid "# Color of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" -msgstr "# Colour of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" - -#: src/lang.c:1997 -msgid "Color of signatures" -msgstr "Colour of signatures" - -#: src/lang.c:1998 -msgid "# Color of signature\n" - "# Default: 4 (blue)\n" -msgstr "# Colour of signature\n" - "# Default: 4 (blue)\n" - -#: src/lang.c:2004 -msgid "Color of highlighted URLs" -msgstr "Colour of highlighted URLs" +msgid "MIME binary content viewer" +msgstr "" + +#: src/lang.c:1978 +msgid "# If --internal automatically use the built in MIME viewer for non-text\n" + "# parts of articles.\n" + "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" + "# for no automatic viewing\n" +msgstr "" + +#: src/lang.c:1985 +msgid "Confirm before starting non-text viewing program" +msgstr "" + +#: src/lang.c:1986 +msgid "Ask before using MIME viewer" +msgstr "" + +#: src/lang.c:1987 +msgid "# If ON tin will ask before using metamail to display MIME messages\n" + "# this only happens if metamail_prog is set to something\n" +msgstr "" + +#: src/lang.c:1992 +msgid "Ask to mark groups read when quitting. toggles & sets." +msgstr "" + +#: src/lang.c:1993 +msgid "Catchup read groups when quitting" +msgstr "" + +#: src/lang.c:1994 +msgid "# If ON ask user if read groups should all be marked read\n" +msgstr "" + +#: src/lang.c:1999 +msgid "Catchup group using left key" +msgstr "" + +#: src/lang.c:2000 +msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" +msgstr "" #: src/lang.c:2005 -msgid "# Color of highlighted URLs\n" - "# Default: -1 (default color)\n" -msgstr "# Colour of highlighted URLs\n" - "# Default: -1 (default colour)\n" +msgid "Catchup thread by using left key" +msgstr "" #: src/lang.c:2011 -msgid "Color of highlighting with *stars*" -msgstr "Colour of highlighting with *stars*" +msgid "Which actions require confirmation" +msgstr "" #: src/lang.c:2012 -msgid "# Color of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" -msgstr "# Colour of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" +msgid "# What should we ask confirmation for.\n" +msgstr "" + +#: src/lang.c:2017 +msgid "'Mark as (un)read' ignores tags" +msgstr "" #: src/lang.c:2018 -msgid "Color of highlighting with _dash_" -msgstr "Colour of highlighting with _dash_" +msgid "# If ON the 'Mark as (un)read' function marks only the current article.\n" +msgstr "" -#: src/lang.c:2019 -msgid "# Color of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" -msgstr "# Colour of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" - -#: src/lang.c:2025 -msgid "Color of highlighting with /slash/" -msgstr "Colour of highlighting with /slash/" - -#: src/lang.c:2026 -msgid "# Color of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" -msgstr "# Colour of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" - -#: src/lang.c:2032 -msgid "Color of highlighting with -stroke-" -msgstr "Colour of highlighting w. -stroke-" - -#: src/lang.c:2033 -msgid "# Color of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" -msgstr "# Colour of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" - -#: src/lang.c:2040 -msgid "Attr. of highlighting with *stars*" -msgstr "" - -#: src/lang.c:2041 -msgid "# Attributes of word highlighting on mono terminals\n" - "# Possible values are:\n" - "# 0 = Normal\n" - "# 1 = Underline\n" - "# 2 = Best highlighting\n" - "# 3 = Reverse video\n" - "# 4 = Blinking\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# Attribute of word highlighting with *stars*\n" - "# Default: 6 (bold)\n" -msgstr "" +#: src/lang.c:2022 +msgid "Program to run to open URLs, sets, cancels." +msgstr "" + +#: src/lang.c:2023 +msgid "Program that opens URLs" +msgstr "" + +#: src/lang.c:2024 +msgid "# The program used to open URLs. The actual URL will be appended\n" +msgstr "" + +#: src/lang.c:2029 +msgid "Use mouse in xterm" +msgstr "" + +#: src/lang.c:2030 +msgid "# If ON enable mouse button support on xterm terminals\n" +msgstr "" + +#: src/lang.c:2036 +msgid "Use scroll keys on keypad" +msgstr "" + +#: src/lang.c:2037 +msgid "# If ON enable scroll keys on terminals that support it\n" +msgstr "" + +#: src/lang.c:2042 +msgid "Enter maximum number of article to get. sets." +msgstr "" + +#: src/lang.c:2043 +msgid "Number of articles to get" +msgstr "" + +#: src/lang.c:2044 +msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" + "# of already read articles to be read before first unread one\n" +msgstr "" + +#: src/lang.c:2049 +msgid "Enter number of days article is considered recent. sets." +msgstr "" + +#: src/lang.c:2050 +msgid "Article recentness time limit" +msgstr "" + +#: src/lang.c:2051 +msgid "# Number of days in which article is considered recent, (0=OFF)\n" +msgstr "" + +#: src/lang.c:2055 +msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." +msgstr "" #: src/lang.c:2056 -msgid "Attr. of highlighting with _dash_" -msgstr "" +msgid "Wildcard matching" +msgstr "" #: src/lang.c:2057 -msgid "# Attribute of word highlighting with _dash_\n" - "# Default: 2 (best highlighting)\n" -msgstr "" - -#: src/lang.c:2063 -msgid "Attr. of highlighting with /slash/" -msgstr "" +msgid "# Wildcard matching\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" +msgstr "" #: src/lang.c:2064 -msgid "# Attribute of word highlighting with /slash/\n" - "# Default: 5 (half bright)\n" -msgstr "" +msgid "Enter minimal score before an article is marked killed. sets." +msgstr "" + +#: src/lang.c:2065 +msgid "Score limit (kill)" +msgstr "" + +#: src/lang.c:2066 +msgid "# Score limit before an article is marked killed\n" +msgstr "" #: src/lang.c:2070 -msgid "Attr. of highlighting with -stroke-" -msgstr "" +msgid "Enter default score to kill articles. sets." +msgstr "" #: src/lang.c:2071 -msgid "# Attribute of word highlighting with -stroke-\n" - "# Default: 3 (reverse video)\n" -msgstr "" +msgid "Default score to kill articles" +msgstr "" + +#: src/lang.c:2072 +msgid "# Default score to kill articles\n" +msgstr "" + +#: src/lang.c:2076 +msgid "Enter minimal score before an article is marked hot. sets." +msgstr "" #: src/lang.c:2077 -msgid "URL highlighting in message body" -msgstr "" +msgid "Score limit (select)" +msgstr "" #: src/lang.c:2078 -msgid "# Enable URL highlighting?\n" -msgstr "" +msgid "# Score limit before an article is marked hot\n" +msgstr "" + +#: src/lang.c:2082 +msgid "Enter default score to select articles. sets." +msgstr "" #: src/lang.c:2083 -msgid "Word highlighting in message body" -msgstr "" +msgid "Default score to select articles" +msgstr "" #: src/lang.c:2084 -msgid "# Enable word highlighting?\n" -msgstr "" - -#: src/lang.c:2089 -msgid "What to display instead of mark" -msgstr "" +msgid "# Default score to select articles\n" +msgstr "" #: src/lang.c:2090 -msgid "# Should the leading and ending stars and dashes also be displayed,\n" - "# even when they are highlighting marks?\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = no\n" - "# 1 = yes, display mark\n" - "# * 2 = print a space instead\n" -msgstr "" +msgid "Use slrnface to show ''X-Face:''s" +msgstr "" + +#: src/lang.c:2091 +msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" + "# Only useful when running in an xterm.\n" +msgstr "" #: src/lang.c:2099 -msgid "Enter column number to wrap article lines to in the pager. sets." -msgstr "" +msgid "Use ANSI color" +msgstr "Use ANSI colour" #: src/lang.c:2100 -msgid "Page line wrap column" -msgstr "" +msgid "# If ON using ANSI-color\n" +msgstr "# If ON using ANSI-colour\n" -#: src/lang.c:2101 -msgid "# Wrap article lines at column\n" -msgstr "" +#: src/lang.c:2105 +msgid "Standard foreground color" +msgstr "Standard foreground colour" #: src/lang.c:2106 -msgid "Wrap around threads on next unread" -msgstr "" - -#: src/lang.c:2107 -msgid "# If ON wrap around threads on searching next unread article\n" -msgstr "" - -#: src/lang.c:2111 -msgid "Enter default mail address (and fullname). sets." -msgstr "" +msgid "# Standard foreground color\n" + "# Default: -1 (default color)\n" +msgstr "# Standard foreground colour\n" + "# Default: -1 (default colour)\n" #: src/lang.c:2112 -msgid "Mail address (and fullname)" -msgstr "" +msgid "Standard background color" +msgstr "Standard background colour" #: src/lang.c:2113 -msgid "# User's mail address (and fullname), if not username@host (fullname)\n" -msgstr "" - -#: src/lang.c:2118 -msgid "Show empty Followup-To in editor" -msgstr "" +msgid "# Standard background color\n" + "# Default: -1 (default color)\n" +msgstr "# Standard background colour\n" + "# Default: -1 (default colour)\n" #: src/lang.c:2119 -msgid "# If ON show empty Followup-To header when editing an article\n" -msgstr "" +msgid "Color for inverse text (background)" +msgstr "Colour for inverse text (bg)" -#: src/lang.c:2123 -msgid "Enter path/! command/--none to create your default signature. sets." -msgstr "" - -#: src/lang.c:2124 -msgid "Create signature from path/command" -msgstr "" - -#: src/lang.c:2125 -msgid "# Signature path (random sigs)/file to be used when posting/replying\n" - "# default_sigfile=file appends file as signature\n" - "# default_sigfile=!command executes external command to generate a " - "signature\n" - "# default_sigfile=--none don't append a signature\n" -msgstr "" - -#: src/lang.c:2132 -msgid "Prepend signature with \"-- \" on own line. toggles & sets." -msgstr "" +#: src/lang.c:2120 +msgid "# Color of background for inverse text\n" + "# Default: 4 (blue)\n" +msgstr "# Colour of background for inverse text\n" + "# Default: 4 (blue)\n" + +#: src/lang.c:2126 +msgid "Color for inverse text (foreground)" +msgstr "Colour for inverse text (fg)" + +#: src/lang.c:2127 +msgid "# Color of foreground for inverse text\n" + "# Default: 7 (white)\n" +msgstr "# Colour of foreground for inverse text\n" + "# Default: 7 (white)\n" #: src/lang.c:2133 -msgid "Prepend signature with \"-- \"" -msgstr "" +msgid "Color of text lines" +msgstr "Colour of text lines" #: src/lang.c:2134 -msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" -msgstr "" - -#: src/lang.c:2138 -msgid "Add signature when reposting articles. toggles & sets." -msgstr "" - -#: src/lang.c:2139 -msgid "Add signature when reposting" -msgstr "" +msgid "# Color of text lines\n" + "# Default: -1 (default color)\n" +msgstr "# Colour of text lines\n" + "# Default: -1 (default colour\n" #: src/lang.c:2140 -msgid "# If ON add signature to reposted articles\n" -msgstr "" +msgid "Color of mini help menu" +msgstr "Colour of mini help menu" -#: src/lang.c:2144 -#, c-format -msgid "Enter quotation marks, %s or %S for author's initials." -msgstr "" - -#: src/lang.c:2145 -msgid "Characters used as quote-marks" -msgstr "" - -#: src/lang.c:2146 -#, c-format -msgid "# Characters used in quoting to followups and replies.\n" - "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" -msgstr "" - -#: src/lang.c:2152 -msgid "Quoting behavior" -msgstr "Quoting behaviour" - -#: src/lang.c:2153 -msgid "# How quoting should be handled when following up or replying.\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = Nothing special\n" - "# 1 = Compress quotes\n" - "# 2 = Quote signatures\n" - "# 3 = Compress quotes, quote signatures\n" - "# 4 = Quote empty lines\n" - "# * 5 = Compress quotes, quote empty lines\n" - "# 6 = Quote signatures, quote empty lines\n" - "# 7 = Compress quotes, quote signatures, quote empty lines\n" -msgstr "" - -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 -msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" -msgstr "" - -#: src/lang.c:2167 -msgid "Quote line when following up" -msgstr "" +#: src/lang.c:2141 +msgid "# Color of mini help menu\n" + "# Default: 3 (brown)\n" +msgstr "# Colour of mini help menu\n" + "# Default: 3 (brown)\n" + +#: src/lang.c:2147 +msgid "Color of help text" +msgstr "Colour of help text" + +#: src/lang.c:2148 +msgid "# Color of help pages\n" + "# Default: -1 (default color)\n" +msgstr "# Colour of help pages\n" + "# Default: -1 (default colour)\n" + +#: src/lang.c:2154 +msgid "Color of status messages" +msgstr "Colour of status messages" + +#: src/lang.c:2155 +msgid "# Color of messages in last line\n" + "# Default: 6 (cyan)\n" +msgstr "# Colour of messages in last line\n" + "# Default: 6 (cyan)\n" + +#: src/lang.c:2161 +msgid "Color of quoted lines" +msgstr "Colour of quoted lines" + +#: src/lang.c:2162 +msgid "# Color of quote-lines\n" + "# Default: 2 (green)\n" +msgstr "# Colour of quote-lines\n" + "# Default: 2 (green)\n" #: src/lang.c:2168 -#, c-format -msgid "# Format of quote line when mailing/posting/following-up an article\n" - "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" - "# %%N Full Name %%C First Name %%I Initials\n" -msgstr "" +msgid "Color of twice quoted line" +msgstr "Colour of twice quoted line" + +#: src/lang.c:2169 +msgid "# Color of twice quoted lines\n" + "# Default: 3 (brown)\n" +msgstr "# Colour of twice quoted lines\n" + "# Default: 3 (brown)\n" #: src/lang.c:2175 -msgid "Quote line when cross-posting" -msgstr "" +msgid "Color of =>3 times quoted line" +msgstr "Colour of =>3 times quoted line" -#: src/lang.c:2181 -msgid "Quote line when mailing" -msgstr "" - -#: src/lang.c:2186 -msgid "If ON, include User-Agent: header. toggles & sets." -msgstr "" - -#: src/lang.c:2187 -msgid "Insert 'User-Agent:'-header" -msgstr "" - -#: src/lang.c:2188 -msgid "# If ON include advertising User-Agent: header\n" -msgstr "" - -#: src/lang.c:2193 -msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." -msgstr "" - -#: src/lang.c:2194 -msgid "MM_CHARSET" -msgstr "" - -#: src/lang.c:2195 -msgid "# Charset supported locally which is also used for MIME header and\n" - "# Content-Type header.\n" - "# If not set, the value of the environment variable MM_CHARSET is used.\n" - "# Set to US-ASCII or compile time default if neither of them is defined.\n" - "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" - "# mm_charset is considered not displayable and represented as '?'.\n" -msgstr "" - -#: src/lang.c:2205 -msgid "MM_NETWORK_CHARSET" -msgstr "" - -#: src/lang.c:2206 -msgid "# Charset used for MIME (Content-Type) header in postings.\n" -msgstr "" - -#: src/lang.c:2212 -msgid "Mailbox format" -msgstr "" - -#: src/lang.c:2213 -msgid "# Format of the mailbox.\n" -msgstr "" +#: src/lang.c:2176 +msgid "# Color of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" +msgstr "# Colour of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" + +#: src/lang.c:2182 +msgid "Color of article header lines" +msgstr "Colour of article header lines" + +#: src/lang.c:2183 +msgid "# Color of header-lines\n" + "# Default: 2 (green)\n" +msgstr "# Colour of header-lines\n" + "# Default: 2 (green)\n" + +#: src/lang.c:2189 +msgid "Color of actual news header fields" +msgstr "Colour of actual news header fields" + +#: src/lang.c:2190 +msgid "# Color of actual news header fields\n" + "# Default: 9 (light red)\n" +msgstr "# Colour of actual news header fields\n" + "# Default: 9 (light red)\n" + +#: src/lang.c:2196 +msgid "Color of article subject lines" +msgstr "Colour of article subject lines" + +#: src/lang.c:2197 +msgid "# Color of article subject\n" + "# Default: 6 (cyan)\n" +msgstr "# Colour of article subject\n" + "# Default: 6 (cyan)\n" + +#: src/lang.c:2203 +msgid "Color of response counter" +msgstr "Colour of response counter" + +#: src/lang.c:2204 +msgid "# Color of response counter\n" + "# Default: 2 (green)\n" +msgstr "# Colour of response counter\n" + "# Default: 2 (green)\n" + +#: src/lang.c:2210 +msgid "Color of sender (From:)" +msgstr "Colour of sender (From:)" + +#: src/lang.c:2211 +msgid "# Color of sender (From:)\n" + "# Default: 2 (green)\n" +msgstr "# Colour of sender (From:)\n" + "# Default: 2 (green)\n" + +#: src/lang.c:2217 +msgid "Color of help/mail sign" +msgstr "Colour of help/mail sign" #: src/lang.c:2218 -msgid "MIME encoding in news messages" -msgstr "" - -#: src/lang.c:2219 -msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" - "# for mails and posts, if necessary. QP is efficient for most European\n" - "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" - "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" - "# Russian charsets with a lot of 8bit characters.\n" -msgstr "" - -#: src/lang.c:2227 src/lang.c:2248 -msgid "Don't change unless you know what you are doing. cancels." -msgstr "" - -#: src/lang.c:2228 -msgid "Use 8bit characters in news headers" -msgstr "" - -#: src/lang.c:2229 -msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in header are encoded regardless of the value of this\n" - "# parameter unless post_mime_encoding is 8bit as well.\n" -msgstr "" - -#: src/lang.c:2236 -msgid "Auto-view post-processed files toggles, sets, cancels." -msgstr "" - -#: src/lang.c:2237 -msgid "View post-processed files" -msgstr "" +msgid "# Color of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" +msgstr "# Colour of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" + +#: src/lang.c:2224 +msgid "Color of signatures" +msgstr "Colour of signatures" + +#: src/lang.c:2225 +msgid "# Color of signature\n" + "# Default: 4 (blue)\n" +msgstr "# Colour of signature\n" + "# Default: 4 (blue)\n" + +#: src/lang.c:2231 +msgid "Color of highlighted URLs" +msgstr "Colour of highlighted URLs" + +#: src/lang.c:2232 +msgid "# Color of highlighted URLs\n" + "# Default: -1 (default color)\n" +msgstr "# Colour of highlighted URLs\n" + "# Default: -1 (default colour)\n" #: src/lang.c:2238 -msgid "# If set, post processed files will be opened in a viewer\n" -msgstr "" +msgid "Color of verbatim blocks" +msgstr "Colour of verbatim blocks" -#: src/lang.c:2243 -msgid "MIME encoding in mail messages" -msgstr "" - -#: src/lang.c:2249 -msgid "Use 8bit characters in mail headers" -msgstr "" - -#: src/lang.c:2250 -msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in headers are encoded regardless of the value of this " - "parameter\n" - "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" - "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" - "# turn it ON unless you have some compelling reason.\n" -msgstr "" +#: src/lang.c:2239 +msgid "# Color of verbatim blocks\n" + "# Default: 5 (pink)\n" +msgstr "# Colour of verbatim blocks\n" + "# Default: 5 (pink)\n" + +#: src/lang.c:2245 +msgid "Color of highlighting with *stars*" +msgstr "Colour of highlighting with *stars*" + +#: src/lang.c:2246 +msgid "# Color of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" +msgstr "# Colour of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" + +#: src/lang.c:2252 +msgid "Color of highlighting with _dash_" +msgstr "Colour of highlighting with _dash_" + +#: src/lang.c:2253 +msgid "# Color of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" +msgstr "# Colour of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" + +#: src/lang.c:2259 +msgid "Color of highlighting with /slash/" +msgstr "Colour of highlighting with /slash/" #: src/lang.c:2260 -msgid "Strip blanks from ends of lines" -msgstr "" - -#: src/lang.c:2261 -msgid "# If ON strip blanks from ends of lines for faster display on slow " - "terminals.\n" -msgstr "" +msgid "# Color of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" +msgstr "# Colour of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" #: src/lang.c:2266 -msgid "If ON, use transliteration. toggles & sets." -msgstr "" +msgid "Color of highlighting with -stroke-" +msgstr "Colour of highlighting w. -stroke-" #: src/lang.c:2267 -msgid "Transliteration" -msgstr "" - -#: src/lang.c:2268 -msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" - "# be represented in the in the target character set, it can be approximated\n" - "# through one or several similarly looking characters.\n" -msgstr "" +msgid "# Color of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" +msgstr "# Colour of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" + +#: src/lang.c:2274 +msgid "Attr. of highlighting with *stars*" +msgstr "" #: src/lang.c:2275 -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "" - -#: src/lang.c:2276 -msgid "Send you a cc automatically" -msgstr "" - -#: src/lang.c:2277 -msgid "# If ON automatically put your name in the Cc: field when mailing an article\n" -msgstr "" - -#: src/lang.c:2281 -msgid "Send you a blind carbon copy automatically. toggles & sets." -msgstr "" - -#: src/lang.c:2282 -msgid "Send you a blind cc automatically" -msgstr "" - -#: src/lang.c:2283 -msgid "# If ON automatically put your name in the Bcc: field when mailing an " - "article\n" -msgstr "" - -#: src/lang.c:2287 -msgid "Enter address elements about which you want to be warned. sets." -msgstr "" - -#: src/lang.c:2288 -msgid "Spamtrap warning address parts" -msgstr "" - -#: src/lang.c:2289 -msgid "# A comma-delimited list of address-parts you want to be warned\n" - "# about when trying to reply by email.\n" -msgstr "" - -#: src/lang.c:2294 -msgid "Enter default number of days a filter entry will be valid. sets." -msgstr "" - -#: src/lang.c:2295 -msgid "No. of days a filter entry is valid" -msgstr "" - -#: src/lang.c:2296 -msgid "# Number of days a short term filter will be active\n" -msgstr "" - -#: src/lang.c:2300 -msgid "Add posted articles to filter. toggles & sets." -msgstr "" - -#: src/lang.c:2301 -msgid "Add posted articles to filter" -msgstr "" - -#: src/lang.c:2302 -msgid "# If ON add posted articles which start a new thread to filter for\n" - "# highlighting follow-ups\n" -msgstr "" - -#: src/lang.c:2306 -msgid "The directory where articles/threads are to be saved in mailbox format." -msgstr "" - -#: src/lang.c:2307 -msgid "Mail directory" -msgstr "" - -#: src/lang.c:2308 -msgid "# (-m) directory where articles/threads are saved in mailbox format\n" -msgstr "" - -#: src/lang.c:2313 -msgid "Save articles in batch mode (-S)" -msgstr "" - -#: src/lang.c:2314 -msgid "# If ON articles/threads will be saved in batch mode when save -S\n" - "# or mail (-M/-N) is specified on the command line\n" -msgstr "" - -#: src/lang.c:2319 -msgid "The directory where you want articles/threads saved." -msgstr "" - -#: src/lang.c:2320 -msgid "Directory to save arts/threads in" -msgstr "" - -#: src/lang.c:2321 -msgid "# Directory where articles/threads are saved\n" -msgstr "" - -#: src/lang.c:2325 -msgid "Auto save article/thread by Archive-name: header. toggles & sets." -msgstr "" - -#: src/lang.c:2326 -msgid "Use Archive-name: header for save" -msgstr "" - -#: src/lang.c:2327 -msgid "# If ON articles/threads with Archive-name: in mail header will\n" - "# be automatically saved with the Archive-name & part/patch no.\n" -msgstr "" - -#: src/lang.c:2332 -msgid "Mark saved articles/threads as read. toggles, sets, " - "cancels." -msgstr "" +msgid "# Attributes of word highlighting on mono terminals\n" + "# Possible values are:\n" + "# 0 = Normal\n" + "# 1 = Underline\n" + "# 2 = Best highlighting\n" + "# 3 = Reverse video\n" + "# 4 = Blinking\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# Attribute of word highlighting with *stars*\n" + "# Default: 6 (bold)\n" +msgstr "" + +#: src/lang.c:2290 +msgid "Attr. of highlighting with _dash_" +msgstr "" + +#: src/lang.c:2291 +msgid "# Attribute of word highlighting with _dash_\n" + "# Default: 2 (best highlighting)\n" +msgstr "" + +#: src/lang.c:2297 +msgid "Attr. of highlighting with /slash/" +msgstr "" + +#: src/lang.c:2298 +msgid "# Attribute of word highlighting with /slash/\n" + "# Default: 5 (half bright)\n" +msgstr "" + +#: src/lang.c:2304 +msgid "Attr. of highlighting with -stroke-" +msgstr "" + +#: src/lang.c:2305 +msgid "# Attribute of word highlighting with -stroke-\n" + "# Default: 3 (reverse video)\n" +msgstr "" + +#: src/lang.c:2311 +msgid "URL highlighting in message body" +msgstr "" + +#: src/lang.c:2312 +msgid "# Enable URL highlighting?\n" +msgstr "" + +#: src/lang.c:2317 +msgid "Word highlighting in message body" +msgstr "" + +#: src/lang.c:2318 +msgid "# Enable word highlighting?\n" +msgstr "" + +#: src/lang.c:2323 +msgid "What to display instead of mark" +msgstr "" + +#: src/lang.c:2324 +msgid "# Should the leading and ending stars and dashes also be displayed,\n" + "# even when they are highlighting marks?\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = no\n" + "# 1 = yes, display mark\n" + "# * 2 = print a space instead\n" +msgstr "" #: src/lang.c:2333 -msgid "Mark saved articles/threads as read" -msgstr "" +msgid "Enter column number to wrap article lines to in the pager. sets." +msgstr "" #: src/lang.c:2334 -msgid "# If ON mark articles that are saved as read\n" -msgstr "" +msgid "Page line wrap column" +msgstr "" -#: src/lang.c:2338 -msgid "Do post processing (eg. extract attachments) for saved articles." -msgstr "" - -#: src/lang.c:2339 -msgid "Post process saved articles" -msgstr "" +#: src/lang.c:2335 +msgid "# Wrap article lines at column\n" +msgstr "" #: src/lang.c:2340 -msgid "# Perform post processing (saving binary attachments) from saved articles.\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no\n" - "# 1 = extract shell archives (shar) only\n" - "# 2 = yes\n" -msgstr "" - -#: src/lang.c:2349 -msgid "Process only unread articles" -msgstr "" - -#: src/lang.c:2350 -msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" -msgstr "" - -#: src/lang.c:2355 -msgid "Print all or just part of header. toggles & sets." -msgstr "" - -#: src/lang.c:2356 -msgid "Print all headers when printing" -msgstr "" +msgid "Wrap around threads on next unread" +msgstr "" + +#: src/lang.c:2341 +msgid "# If ON wrap around threads on searching next unread article\n" +msgstr "" + +#: src/lang.c:2345 +msgid "Enter default mail address (and fullname). sets." +msgstr "" + +#: src/lang.c:2346 src/lang.c:2770 +msgid "Mail address (and fullname)" +msgstr "" + +#: src/lang.c:2347 +msgid "# User's mail address (and fullname), if not username@host (fullname)\n" +msgstr "" + +#: src/lang.c:2352 +msgid "Show empty Followup-To in editor" +msgstr "" + +#: src/lang.c:2353 +msgid "# If ON show empty Followup-To header when editing an article\n" +msgstr "" #: src/lang.c:2357 -msgid "# If ON print all of article header otherwise just the important lines\n" -msgstr "" +msgid "Enter path/! command/--none to create your default signature. sets." +msgstr "" -#: src/lang.c:2361 -msgid "The printer program with options that is to be used to print articles/threads." -msgstr "" - -#: src/lang.c:2362 -msgid "Printer program with options" -msgstr "" - -#: src/lang.c:2363 -msgid "# Print program with parameters used to print articles/threads\n" -msgstr "" - -#: src/lang.c:2369 -msgid "Force redraw after certain commands" -msgstr "" - -#: src/lang.c:2370 -msgid "# If ON a screen redraw will always be done after certain external commands\n" -msgstr "" +#: src/lang.c:2358 +msgid "Create signature from path/command" +msgstr "" + +#: src/lang.c:2359 +msgid "# Signature path (random sigs)/file to be used when posting/replying\n" + "# sigfile=file appends file as signature\n" + "# sigfile=!command executes external command to generate a signature\n" + "# sigfile=--none don't append a signature\n" +msgstr "" + +#: src/lang.c:2366 +msgid "Prepend signature with \"-- \" on own line. toggles & sets." +msgstr "" + +#: src/lang.c:2367 +msgid "Prepend signature with \"-- \"" +msgstr "" + +#: src/lang.c:2368 +msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" +msgstr "" + +#: src/lang.c:2372 +msgid "Add signature when reposting articles. toggles & sets." +msgstr "" + +#: src/lang.c:2373 +msgid "Add signature when reposting" +msgstr "" #: src/lang.c:2374 -msgid "Start editor with line offset. toggles, sets, cancels." -msgstr "" +msgid "# If ON add signature to reposted articles\n" +msgstr "" + +#: src/lang.c:2378 +#, c-format +msgid "Enter quotation marks, %s or %S for author's initials." +msgstr "" -#: src/lang.c:2375 -msgid "Start editor with line offset" -msgstr "" - -#: src/lang.c:2376 -msgid "# If ON editor will be started with cursor offset into the file\n" - "# otherwise the cursor will be positioned at the first line\n" -msgstr "" - -#: src/lang.c:2381 -msgid "Enter %E for editor, %F for filename, %N for line-number, to set." -msgstr "" - -#: src/lang.c:2382 -msgid "Invocation of your editor" -msgstr "" - -#: src/lang.c:2383 -#, c-format -msgid "# Format of editor line including parameters\n" - "# %%E Editor %%F Filename %%N Linenumber\n" -msgstr "" - -#: src/lang.c:2388 -msgid "Enter name and options for external-inews, --internal for internal inews" -msgstr "" - -#: src/lang.c:2389 -msgid "External inews" -msgstr "" - -#: src/lang.c:2390 -msgid "# If --internal use the built in mini inews for posting via NNTP\n" - "# otherwise use an external inews program\n" -msgstr "" - -#: src/lang.c:2394 -msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." -msgstr "" - -#: src/lang.c:2395 -msgid "Invocation of your mail command" -msgstr "" - -#: src/lang.c:2396 -#, c-format -msgid "# Format of mailer line including parameters\n" - "# %%M Mailer %%S Subject %%T To %%F Filename\n" - "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" - "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" -msgstr "" - -#: src/lang.c:2404 -msgid "Use interactive mail reader" -msgstr "" - -#: src/lang.c:2405 -msgid "# Interactive mailreader\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no interactive mailreader\n" - "# 1 = use interactive mailreader with headers in file\n" - "# 2 = use interactive mailreader without headers in file\n" -msgstr "" - -#: src/lang.c:2414 -msgid "Remove ~/.article after posting" -msgstr "" +#: src/lang.c:2379 +msgid "Characters used as quote-marks" +msgstr "" + +#: src/lang.c:2380 +#, c-format +msgid "# Characters used in quoting to followups and replies.\n" + "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" +msgstr "" + +#: src/lang.c:2386 +msgid "Quoting behavior" +msgstr "Quoting behaviour" + +#: src/lang.c:2387 +msgid "# How quoting should be handled when following up or replying.\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = Nothing special\n" + "# 1 = Compress quotes\n" + "# 2 = Quote signatures\n" + "# 3 = Compress quotes, quote signatures\n" + "# 4 = Quote empty lines\n" + "# * 5 = Compress quotes, quote empty lines\n" + "# 6 = Quote signatures, quote empty lines\n" + "# 7 = Compress quotes, quote signatures, quote empty lines\n" +msgstr "" + +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 +msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" +msgstr "" + +#: src/lang.c:2401 +msgid "Quote line when following up" +msgstr "" + +#: src/lang.c:2402 +#, c-format +msgid "# Format of quote line when mailing/posting/following-up an article\n" + "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" + "# %%N Full Name %%C First Name %%I Initials\n" +msgstr "" + +#: src/lang.c:2409 +msgid "Quote line when cross-posting" +msgstr "" #: src/lang.c:2415 -msgid "# If ON remove ~/.article after posting.\n" -msgstr "" - -#: src/lang.c:2419 -msgid "Filename for all posted articles, sets, no filename=do not save." -msgstr "" +msgid "Quote line when mailing" +msgstr "" #: src/lang.c:2420 -msgid "Filename for posted articles" -msgstr "" +msgid "If ON, include User-Agent: header. toggles & sets." +msgstr "" #: src/lang.c:2421 -msgid "# Filename where to keep all postings (default posted)\n" - "# If no filename is set then postings will not be saved\n" -msgstr "" - -#: src/lang.c:2426 -msgid "Keep all failed articles in ~/dead.articles. toggles & sets." -msgstr "" +msgid "Insert 'User-Agent:' header" +msgstr "" + +#: src/lang.c:2422 +msgid "# If ON include advertising User-Agent: header\n" +msgstr "" #: src/lang.c:2427 -msgid "Keep failed arts in ~/dead.articles" -msgstr "" +msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "" #: src/lang.c:2428 -msgid "# If ON keep all failed postings in ~/dead.articles\n" -msgstr "" +msgid "MM_CHARSET" +msgstr "" -#: src/lang.c:2432 -msgid "Do you want to strip unsubscribed groups from .newsrc" -msgstr "" - -#: src/lang.c:2433 -msgid "No unsubscribed groups in newsrc" -msgstr "" - -#: src/lang.c:2434 -msgid "# If ON strip unsubscribed groups from newsrc\n" -msgstr "" +#: src/lang.c:2429 +msgid "# Charset supported locally which is also used for MIME header and\n" + "# Content-Type header.\n" + "# If not set, the value of the environment variable MM_CHARSET is used.\n" + "# Set to US-ASCII or compile time default if neither of them is defined.\n" + "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" + "# mm_charset is considered not displayable and represented as '?'.\n" +msgstr "" #: src/lang.c:2439 -msgid "Remove bogus groups from newsrc" -msgstr "" +msgid "MM_NETWORK_CHARSET" +msgstr "" #: src/lang.c:2440 -msgid "# What to do with bogus groups in newsrc file\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = keep\n" - "# 1 = remove\n" - "# 2 = highlight with D on selection screen\n" -msgstr "" - -#: src/lang.c:2448 -msgid "Enter number of seconds until active file will be reread. sets." -msgstr "" - -#: src/lang.c:2449 -msgid "Interval in secs to reread active" -msgstr "" - -#: src/lang.c:2450 -msgid "# Time interval in seconds between rereading the active file (0=never)\n" -msgstr "" - -#: src/lang.c:2455 -msgid "Reconnect to server automatically" -msgstr "" - -#: src/lang.c:2456 -msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" -msgstr "" +msgid "# Charset used for MIME (Content-Type) header in postings.\n" +msgstr "" -#: src/lang.c:2460 -msgid "Create local copies of NNTP overview files. toggles & sets." -msgstr "" +#: src/lang.c:2444 +msgid "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "" + +#: src/lang.c:2445 +msgid "MM_LOCAL_CHARSET" +msgstr "" + +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "" + +#: src/lang.c:2453 +msgid "Mailbox format" +msgstr "" + +#: src/lang.c:2454 +msgid "# Format of the mailbox.\n" +msgstr "" + +#: src/lang.c:2459 +msgid "MIME encoding in news messages" +msgstr "" -#: src/lang.c:2461 -msgid "Cache NNTP overview files locally" -msgstr "" - -#: src/lang.c:2462 -msgid "# If ON, create local copies of NNTP overview files.\n" -msgstr "" - -#: src/lang.c:2466 -msgid "Enter format string. sets, cancels." -msgstr "" - -#: src/lang.c:2467 -msgid "Format string for display of dates" -msgstr "" - -#: src/lang.c:2468 -msgid "# Format string for date representation\n" -msgstr "" - -#: src/lang.c:2474 -msgid "Unicode normalization form" -msgstr "Unicode normalisation form" - -#: src/lang.c:2475 -msgid "# Unicode normalization form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" -msgstr "# Unicode normalisation form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" - -#: src/lang.c:2487 -msgid "Render BiDi" -msgstr "" - -#: src/lang.c:2488 -msgid "# If ON, bi-directional text is rendered by tin\n" -msgstr "" - -#: src/misc.c:3750 -#, c-format -msgid "Version: %s %s release %s (\"%s\") %s %s\n" -msgstr "" - -#: src/misc.c:3753 -#, c-format -msgid "Version: %s %s release %s (\"%s\")\n" -msgstr "" - -#: src/newsrc.c:430 -msgid "Unreachable?\n" -msgstr "" - -#: src/nntplib.c:824 -#, c-format -msgid "\n" - "Server timed out, trying reconnect # %d\n" -msgstr "" - -#: src/nntplib.c:842 src/nntplib.c:1630 -msgid "Rejoin current group\n" -msgstr "" - -#: src/nntplib.c:849 src/nntplib.c:1637 -#, c-format -msgid "Read (%s)\n" -msgstr "" - -#: src/nntplib.c:851 -#, c-format -msgid "Resend last command (%s)\n" -msgstr "" - -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 -msgid "MOTD: " -msgstr "" - -#: src/nrctbl.c:170 -#, c-format -msgid "couldn't expand %s\n" -msgstr "" - -#: src/post.c:1171 -#, c-format -msgid "Line %d is longer than 998 octets and should be folded, but\n" - "encoding is neither set to %s nor to %s\n" -msgstr "" - -#: src/post.c:1176 -#, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" - "posting doesn't contain any 8bit chars and thus folding won't happen\n" -msgstr "" - -#: src/post.c:1178 -#, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is not set to %s\n" -msgstr "" +#: src/lang.c:2460 +msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" + "# for mails and posts, if necessary. QP is efficient for most European\n" + "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" + "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" + "# Russian charsets with a lot of 8bit characters.\n" +msgstr "" + +#: src/lang.c:2468 src/lang.c:2489 +msgid "Don't change unless you know what you are doing. cancels." +msgstr "" + +#: src/lang.c:2469 +msgid "Use 8bit characters in news headers" +msgstr "" + +#: src/lang.c:2470 +msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in header are encoded regardless of the value of this\n" + "# parameter unless post_mime_encoding is 8bit as well.\n" +msgstr "" + +#: src/lang.c:2477 +msgid "Auto-view post-processed files toggles, sets, cancels." +msgstr "" + +#: src/lang.c:2478 +msgid "View post-processed files" +msgstr "" + +#: src/lang.c:2479 +msgid "# If set, post processed files will be opened in a viewer\n" +msgstr "" + +#: src/lang.c:2484 +msgid "MIME encoding in mail messages" +msgstr "" + +#: src/lang.c:2490 +msgid "Use 8bit characters in mail headers" +msgstr "" + +#: src/lang.c:2491 +msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in headers are encoded regardless of the value of this " + "parameter\n" + "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" + "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" + "# turn it ON unless you have some compelling reason.\n" +msgstr "" + +#: src/lang.c:2501 +msgid "Strip blanks from ends of lines" +msgstr "" + +#: src/lang.c:2502 +msgid "# If ON strip blanks from ends of lines for faster display on slow " + "terminals.\n" +msgstr "" + +#: src/lang.c:2507 +msgid "If ON, use transliteration. toggles & sets." +msgstr "" + +#: src/lang.c:2508 +msgid "Transliteration" +msgstr "" + +#: src/lang.c:2509 +msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" + "# be represented in the in the target character set, it can be approximated\n" + "# through one or several similarly looking characters.\n" +msgstr "" + +#: src/lang.c:2517 +msgid "Send you a Cc/Bcc automatically" +msgstr "" + +#: src/lang.c:2518 +msgid "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = No\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc and Bcc\n" +msgstr "" + +#: src/lang.c:2527 +msgid "Enter address elements about which you want to be warned. sets." +msgstr "" + +#: src/lang.c:2528 +msgid "Spamtrap warning address parts" +msgstr "" + +#: src/lang.c:2529 +msgid "# A comma-delimited list of address-parts you want to be warned\n" + "# about when trying to reply by email.\n" +msgstr "" + +#: src/lang.c:2534 +msgid "Enter default number of days a filter entry will be valid. sets." +msgstr "" + +#: src/lang.c:2535 +msgid "No. of days a filter entry is valid" +msgstr "" + +#: src/lang.c:2536 +msgid "# Number of days a short term filter will be active\n" +msgstr "" + +#: src/lang.c:2540 +msgid "Add posted articles to filter. toggles & sets." +msgstr "" + +#: src/lang.c:2541 +msgid "Add posted articles to filter" +msgstr "" + +#: src/lang.c:2542 +msgid "# If ON add posted articles which start a new thread to filter for\n" + "# highlighting follow-ups\n" +msgstr "" + +#: src/lang.c:2546 +msgid "The directory where articles/threads are to be saved in mailbox format." +msgstr "" + +#: src/lang.c:2547 +msgid "Mail directory" +msgstr "" + +#: src/lang.c:2548 +msgid "# (-m) directory where articles/threads are saved in mailbox format\n" +msgstr "" + +#: src/lang.c:2553 +msgid "Save articles in batch mode (-S)" +msgstr "" + +#: src/lang.c:2554 +msgid "# If ON articles/threads will be saved in batch mode when save -S\n" + "# or mail (-M/-N) is specified on the command line\n" +msgstr "" + +#: src/lang.c:2559 +msgid "The directory where you want articles/threads saved." +msgstr "" + +#: src/lang.c:2560 +msgid "Directory to save arts/threads in" +msgstr "" + +#: src/lang.c:2561 +msgid "# Directory where articles/threads are saved\n" +msgstr "" + +#: src/lang.c:2565 +msgid "Auto save article/thread by Archive-name: header. toggles & sets." +msgstr "" + +#: src/lang.c:2566 +msgid "Use Archive-name: header for save" +msgstr "" + +#: src/lang.c:2567 +msgid "# If ON articles/threads with Archive-name: in mail header will\n" + "# be automatically saved with the Archive-name & part/patch no.\n" +msgstr "" + +#: src/lang.c:2572 +msgid "Mark saved articles/threads as read. toggles, sets, " + "cancels." +msgstr "" + +#: src/lang.c:2573 +msgid "Mark saved articles/threads as read" +msgstr "" + +#: src/lang.c:2574 +msgid "# If ON mark articles that are saved as read\n" +msgstr "" + +#: src/lang.c:2578 +msgid "Do post processing (eg. extract attachments) for saved articles." +msgstr "" + +#: src/lang.c:2579 +msgid "Post process saved articles" +msgstr "" + +#: src/lang.c:2580 +msgid "# Perform post processing (saving binary attachments) from saved articles.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no\n" + "# 1 = extract shell archives (shar) only\n" + "# 2 = yes\n" +msgstr "" + +#: src/lang.c:2589 +msgid "Process only unread articles" +msgstr "" + +#: src/lang.c:2590 +msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" +msgstr "" + +#: src/lang.c:2595 +msgid "Print all or just part of header. toggles & sets." +msgstr "" + +#: src/lang.c:2596 +msgid "Print all headers when printing" +msgstr "" + +#: src/lang.c:2597 +msgid "# If ON print all of article header otherwise just the important lines\n" +msgstr "" + +#: src/lang.c:2601 +msgid "The printer program with options that is to be used to print articles/threads." +msgstr "" + +#: src/lang.c:2602 +msgid "Printer program with options" +msgstr "" + +#: src/lang.c:2603 +msgid "# Print program with parameters used to print articles/threads\n" +msgstr "" + +#: src/lang.c:2609 +msgid "Force redraw after certain commands" +msgstr "" + +#: src/lang.c:2610 +msgid "# If ON a screen redraw will always be done after certain external commands\n" +msgstr "" + +#: src/lang.c:2614 +msgid "Start editor with line offset. toggles, sets, cancels." +msgstr "" + +#: src/lang.c:2615 +msgid "Start editor with line offset" +msgstr "" + +#: src/lang.c:2616 +msgid "# If ON editor will be started with cursor offset into the file\n" + "# otherwise the cursor will be positioned at the first line\n" +msgstr "" + +#: src/lang.c:2621 +msgid "Enter %E for editor, %F for filename, %N for line-number, to set." +msgstr "" + +#: src/lang.c:2622 +msgid "Invocation of your editor" +msgstr "" + +#: src/lang.c:2623 +#, c-format +msgid "# Format of editor line including parameters\n" + "# %%E Editor %%F Filename %%N Linenumber\n" +msgstr "" + +#: src/lang.c:2628 +msgid "Enter name and options for external-inews, --internal for internal inews" +msgstr "" + +#: src/lang.c:2629 +msgid "External inews" +msgstr "" + +#: src/lang.c:2630 +msgid "# If --internal use the built in mini inews for posting via NNTP\n" + "# otherwise use an external inews program\n" +msgstr "" + +#: src/lang.c:2634 +msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." +msgstr "" + +#: src/lang.c:2635 +msgid "Invocation of your mail command" +msgstr "" + +#: src/lang.c:2636 +#, c-format +msgid "# Format of mailer line including parameters\n" + "# %%M Mailer %%S Subject %%T To %%F Filename\n" + "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" + "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" +msgstr "" + +#: src/lang.c:2644 +msgid "Use interactive mail reader" +msgstr "" + +#: src/lang.c:2645 +msgid "# Interactive mailreader\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no interactive mailreader\n" + "# 1 = use interactive mailreader with headers in file\n" + "# 2 = use interactive mailreader without headers in file\n" +msgstr "" + +#: src/lang.c:2654 +msgid "Remove ~/.article after posting" +msgstr "" + +#: src/lang.c:2655 +msgid "# If ON remove ~/.article after posting.\n" +msgstr "" + +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" + +#: src/lang.c:2662 +msgid "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" + +#: src/lang.c:2667 +msgid "Filename for all posted articles, sets, no filename=do not save." +msgstr "" + +#: src/lang.c:2668 +msgid "Filename for posted articles" +msgstr "" + +#: src/lang.c:2669 +msgid "# Filename where to keep all postings (default posted)\n" + "# If no filename is set then postings will not be saved\n" +msgstr "" + +#: src/lang.c:2674 +msgid "Keep all failed articles in ~/dead.articles. toggles & sets." +msgstr "" + +#: src/lang.c:2675 +msgid "Keep failed arts in ~/dead.articles" +msgstr "" + +#: src/lang.c:2676 +msgid "# If ON keep all failed postings in ~/dead.articles\n" +msgstr "" + +#: src/lang.c:2680 +msgid "Do you want to strip unsubscribed groups from .newsrc" +msgstr "" + +#: src/lang.c:2681 +msgid "No unsubscribed groups in newsrc" +msgstr "" + +#: src/lang.c:2682 +msgid "# If ON strip unsubscribed groups from newsrc\n" +msgstr "" + +#: src/lang.c:2687 +msgid "Remove bogus groups from newsrc" +msgstr "" + +#: src/lang.c:2688 +msgid "# What to do with bogus groups in newsrc file\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = keep\n" + "# 1 = remove\n" + "# 2 = highlight with D on selection screen\n" +msgstr "" + +#: src/lang.c:2696 +msgid "Enter number of seconds until active file will be reread. sets." +msgstr "" + +#: src/lang.c:2697 +msgid "Interval in secs to reread active" +msgstr "" + +#: src/lang.c:2698 +msgid "# Time interval in seconds between rereading the active file (0=never)\n" +msgstr "" + +#: src/lang.c:2703 +msgid "Reconnect to server automatically" +msgstr "" + +#: src/lang.c:2704 +msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" +msgstr "" + +#: src/lang.c:2708 +msgid "Create local copies of NNTP overview files. toggles & sets." +msgstr "" + +#: src/lang.c:2709 +msgid "Cache NNTP overview files locally" +msgstr "" + +#: src/lang.c:2710 +msgid "# If ON, create local copies of NNTP overview files.\n" +msgstr "" + +#: src/lang.c:2714 +msgid "Enter format string. sets, cancels." +msgstr "" + +#: src/lang.c:2715 +msgid "Format string for display of dates" +msgstr "" + +#: src/lang.c:2716 +msgid "# Format string for date representation\n" +msgstr "" + +#: src/lang.c:2722 +msgid "Unicode normalization form" +msgstr "Unicode normalisation form" + +#: src/lang.c:2723 +msgid "# Unicode normalization form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" +msgstr "# Unicode normalisation form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" + +#: src/lang.c:2735 +msgid "Render BiDi" +msgstr "" + +#: src/lang.c:2736 +msgid "# If ON, bi-directional text is rendered by tin\n" +msgstr "" + +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "" + +#: src/lang.c:2752 +msgid "Delete post-process files" +msgstr "" + +#: src/lang.c:2757 +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "" + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "" + +#: src/lang.c:2763 +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "" + +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "" + +#: src/lang.c:2769 +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "" + +#: src/lang.c:2776 +msgid "Path and options for ispell-like spell-checker. sets, cancels." +msgstr "" + +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "" + +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "" + +#: src/lang.c:2784 +msgid "Mailing list address" +msgstr "" + +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "" + +#: src/lang.c:2795 +msgid "A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "" + +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "" + +#: src/lang.c:2801 +msgid "Value of the Organization: header. sets, cancels." +msgstr "" + +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "" + +#: src/lang.c:2807 +msgid "Filename for saved articles. sets, cancels." +msgstr "" + +#: src/lang.c:2808 +msgid "savefile" +msgstr "" + +#: src/lang.c:2813 src/lang.c:2837 +msgid "Scope for the filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2814 +msgid "Quick (1 key) select filter scope" +msgstr "" + +#: src/lang.c:2819 src/lang.c:2843 +msgid "Header for filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" + +#: src/lang.c:2825 src/lang.c:2849 +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "" + +#: src/lang.c:2826 +msgid "Quick (1 key) select filter case" +msgstr "" + +#: src/lang.c:2831 src/lang.c:2855 +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "" + +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" + +#: src/lang.c:2838 +msgid "Quick (1 key) kill filter scope" +msgstr "" + +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" + +#: src/lang.c:2850 +msgid "Quick (1 key) kill filter case" +msgstr "" + +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" + +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "" + +#: src/lang.c:2863 +msgid "UNDECLARED_CHARSET" +msgstr "" + +#: src/lang.c:2869 +msgid "Add this text at the start of the message body. sets, cancels." +msgstr "" + +#: src/lang.c:2870 +msgid "X_Body" +msgstr "" + +#: src/lang.c:2875 +msgid "Insert this header when posting. sets, cancels." +msgstr "" + +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "" + +#: src/lang.c:2881 +msgid "Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "" + +#: src/lang.c:2882 +msgid "Insert 'X-Comment-To:' header" +msgstr "" + +#: src/misc.c:3754 +#, c-format +msgid "Version: %s %s release %s (\"%s\") %s %s\n" +msgstr "" + +#: src/misc.c:3757 +#, c-format +msgid "Version: %s %s release %s (\"%s\")\n" +msgstr "" + +#: src/newsrc.c:453 +msgid "Unreachable?\n" +msgstr "" + +#: src/nntplib.c:819 +#, c-format +msgid "\n" + "Server timed out, trying reconnect # %d\n" +msgstr "" + +#: src/nntplib.c:855 src/nntplib.c:1830 +msgid "Rejoin current group\n" +msgstr "" + +#: src/nntplib.c:863 src/nntplib.c:1838 +#, c-format +msgid "Read (%s)\n" +msgstr "" + +#: src/nntplib.c:865 +#, c-format +msgid "Resend last command (%s)\n" +msgstr "" + +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "" + +#: src/nntplib.c:1979 +msgid "MOTD: " +msgstr "" + +#: src/nrctbl.c:175 +#, c-format +msgid "couldn't expand %s\n" +msgstr "" + +#: src/post.c:1307 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is neither set to %s nor to %s\n" +msgstr "" + +#: src/post.c:1312 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" + "posting doesn't contain any 8bit chars and thus folding won't happen\n" +msgstr "" + +#: src/post.c:1314 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is not set to %s\n" +msgstr "" -#: src/post.c:1993 +#: src/post.c:2278 #, c-format -msgid "Posting: %.*s ..." -msgstr "" +msgid "Posting: %.*s ..." +msgstr "" #. Check if okay to read -#: src/read.c:211 -msgid "Aborting read, please wait..." -msgstr "" - -#: src/read.c:358 -msgid "Aborted read\n" -msgstr "" - -#: src/read.c:414 -msgid "Draining\n" -msgstr "" - -#. Don't hash the initial '<' -#: src/refs.c:251 -msgid "unchanged" -msgstr "" - -#: src/refs.c:609 -msgid "[- Unavailable -]" -msgstr "" +#: src/read.c:197 +msgid "Aborting read, please wait..." +msgstr "" + +#: src/read.c:344 +msgid "Aborted read\n" +msgstr "" + +#: src/read.c:399 +msgid "Draining\n" +msgstr "" + +#: src/refs.c:232 +msgid "unchanged" +msgstr "" + +#: src/refs.c:599 +msgid "[- Unavailable -]" +msgstr "" #. #. * preamble #. * TODO: -> lang.c #. -#: src/rfc2047.c:1201 +#: src/rfc2047.c:1287 #, c-format -msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" - "are reading this prefix, your mail reader probably has not yet been modified\n" - "to understand the new format, and some of what follows may look strange.\n" - "\n" -msgstr "" - -#: src/save.c:972 -msgid "bytes" -msgstr "" - -#: src/select.c:379 -msgid "unread" -msgstr "" - -#: src/select.c:379 -msgid "all" -msgstr "" - -#: src/select.c:549 src/select.c:551 -msgid " R" -msgstr "" - -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 -#, c-format -msgid "Can't run slrnface: Environment variable %s not found." -msgstr "" - -#: src/xface.c:99 src/xface.c:131 -#, c-format -msgid "Can't run slrnface: failed to create %s" -msgstr "" - -#: src/xface.c:109 -msgid "This directory is used to create named pipes for communication between\n" - "slrnface and its parent process. It should normally be empty because\n" - "the pipe is deleted right after it has been opened by both processes.\n" - "\n" - "File names generated by slrnface have the form \"hostname.pid\". It is\n" - "probably an error if they linger here longer than a fraction of a second.\n" - "\n" - "However, if the directory is mounted from an NFS server, you might see\n" - "special files created by your NFS server while slrnface is running.\n" - "Do not try to remove them.\n" -msgstr "" - -#: src/xface.c:123 -msgid "Can't run slrnface: couldn't construct fifo name." -msgstr "" - -#: src/xface.c:162 +msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" + "are reading this prefix, your mail reader probably has not yet been modified\n" + "to understand the new format, and some of what follows may look strange.\n" + "\n" +msgstr "" + +#: src/save.c:1045 +msgid "bytes" +msgstr "" + +#: src/select.c:378 +msgid "unread" +msgstr "" + +#: src/select.c:378 +msgid "all" +msgstr "" + +#: src/select.c:554 src/select.c:556 +msgid " R" +msgstr "" + +#: src/xface.c:70 +msgid "Can't run slrnface: Not running in a xterm." +msgstr "" + +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 +#, c-format +msgid "Can't run slrnface: Environment variable %s not found." +msgstr "" + +#: src/xface.c:111 src/xface.c:143 +#, c-format +msgid "Can't run slrnface: failed to create %s" +msgstr "" + +#: src/xface.c:121 +msgid "This directory is used to create named pipes for communication between\n" + "slrnface and its parent process. It should normally be empty because\n" + "the pipe is deleted right after it has been opened by both processes.\n" + "\n" + "File names generated by slrnface have the form \"hostname.pid\". It is\n" + "probably an error if they linger here longer than a fraction of a second.\n" + "\n" + "However, if the directory is mounted from an NFS server, you might see\n" + "special files created by your NFS server while slrnface is running.\n" + "Do not try to remove them.\n" +msgstr "" + +#: src/xface.c:135 +msgid "Can't run slrnface: couldn't construct fifo name." +msgstr "" + +#: src/xface.c:174 #, c-format -msgid "Slrnface abnormally exited, code %d." -msgstr "" +msgid "Slrnface abnormally exited, code %d." +msgstr "" -#: src/xface.c:206 +#: src/xface.c:218 #, c-format -msgid "Slrnface failed: %s." -msgstr "" +msgid "Slrnface failed: %s." +msgstr "" Binary files tin-1.8.3/po/et.gmo and tin-2.0.0/po/et.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/et.po tin-2.0.0/po/et.po --- tin-1.8.3/po/et.po 2007-02-01 13:58:03.000000000 +0100 +++ tin-2.0.0/po/et.po 2011-08-22 18:32:41.719321499 +0200 @@ -1,6546 +1,7601 @@ -# Estonian translations for tin -# Copyright © 2002 Free Software Foundation, Inc. -# Toomas Soome , 2006. +# Estonian translations for tin. +# This file is distributed under the same license as the tin package. +# Toomas Soome , 2010. # -msgid "" -msgstr "Project-Id-Version: tin 1.8.2\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-02-01 13:57+0100\n" - "PO-Revision-Date: 2006-07-24 16:45+0300\n" - "Last-Translator: Toomas Soome \n" - "Language-Team: Estonian \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=ISO-8859-15\n" - "Content-Transfer-Encoding: 8bit\n" +msgid "" +msgstr "Project-Id-Version: tin 1.9.5\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2011-08-22 18:32+0200\n" + "PO-Revision-Date: 2010-08-12 17:33+0300\n" + "Last-Translator: Toomas Soome \n" + "Language-Team: Estonian \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=ISO-8859-15\n" + "Content-Transfer-Encoding: 8bit\n" -#: src/art.c:1534 +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 #, c-format -msgid "%d Bad overview record (%d fields) '%s'" -msgstr "%d Vigane overview kirje (%d välja) '%s'" +msgid "attribute with no scope: %s" +msgstr "atribuut ilma skoobita: %s" -#: src/attrib.c:649 +#: src/attrib.c:884 +msgid "Processing attributes... " +msgstr "Töötlen atribuute... " + +#: src/attrib.c:1102 +#, c-format +msgid "# Do not edit this comment block\n" + "#\n" +msgstr "# Ärge seda kommentaari blokki muutke\n" + "#\n" + +#: src/attrib.c:1103 +#, c-format +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" +msgstr "# scope=SÕNE (n. alt.*,!alt.bin*) [kohustuslik]\n" + +#: src/attrib.c:1104 +#, c-format +msgid "# add_posted_to_filter=ON/OFF\n" +msgstr "# add_posted_to_filter=ON/OFF\n" + +#: src/attrib.c:1105 +#, c-format +msgid "# advertising=ON/OFF\n" +msgstr "# advertising=ON/OFF\n" + +#: src/attrib.c:1106 +#, c-format +msgid "# alternative_handling=ON/OFF\n" +msgstr "# alternative_handling=ON/OFF\n" + +#: src/attrib.c:1107 +#, c-format +msgid "# ask_for_metamail=ON/OFF\n" +msgstr "# ask_for_metamail=ON/OFF\n" + +#: src/attrib.c:1108 +#, c-format +msgid "# auto_cc_bcc=NUM\n" +msgstr "# auto_cc_bcc=NUM\n" + +#: src/attrib.c:1109 +#, c-format +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "# 0=Ei pane, 1=Cc, 2=Bcc, 3=Cc ja Bcc\n" + +#: src/attrib.c:1110 +#, c-format +msgid "# auto_list_thread=ON/OFF\n" +msgstr "# auto_list_thread=ON/OFF\n" + +#: src/attrib.c:1111 +#, c-format +msgid "# auto_save=ON/OFF\n" +msgstr "# auto_save=ON/OFF\n" + +#: src/attrib.c:1112 +#, c-format +msgid "# auto_select=ON/OFF\n" +msgstr "# auto_select=ON/OFF\n" + +#: src/attrib.c:1113 +#, c-format +msgid "# batch_save=ON/OFF\n" +msgstr "# batch_save=ON/OFF\n" + +#: src/attrib.c:1114 +#, c-format +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "# date_format=SÕNE (n. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" + +#: src/attrib.c:1115 +#, c-format +msgid "# delete_tmp_files=ON/OFF\n" +msgstr "# delete_tmp_files=ON/OFF\n" + +#: src/attrib.c:1116 +#, c-format +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" +msgstr "# editor_format=SÕNE (n. %%E +%%N %%F)\n" + +#: src/attrib.c:1117 +#, c-format +msgid "# fcc=STRING (eg. =mailbox)\n" +msgstr "# fcc=SÕNE (n. =postkast)\n" + +#: src/attrib.c:1118 +#, c-format +msgid "# followup_to=STRING\n" +msgstr "# followup_to=SÕNE\n" + +#: src/attrib.c:1119 +#, c-format +msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" +msgstr "# from=SÕNE (kirjutage soovitav From: rida, ärge kasutage jutumärke)\n" + +#: src/attrib.c:1120 +#, c-format +msgid "# group_catchup_on_exit=ON/OFF\n" +msgstr "# group_catchup_on_exit=ON/OFF\n" + +#: src/attrib.c:1121 +#, c-format +msgid "# mail_8bit_header=ON/OFF\n" +msgstr "# mail_8bit_header=ON/OFF\n" + +#: src/attrib.c:1122 +#, c-format +msgid "# mail_mime_encoding=supported_encoding" +msgstr "# mail_mime_encoding=toetatud_kodeering" + +#: src/attrib.c:1130 +#, c-format +msgid "# ispell=STRING\n" +msgstr "# ispell=SÕNE\n" + +#: src/attrib.c:1132 +#, c-format +msgid "# maildir=STRING (eg. ~/Mail)\n" +msgstr "# maildir=SÕNE (n. ~/Mail)\n" + +#: src/attrib.c:1133 +#, c-format +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" +msgstr "# mailing_list=SÕNE (n. majordomo@example.org)\n" + +#: src/attrib.c:1134 +#, c-format +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgstr "# mime_types_to_save=SÕNE (n. image/*,!image/bmp)\n" + +#: src/attrib.c:1135 +#, c-format +msgid "# mark_ignore_tags=ON/OFF\n" +msgstr "# mark_ignore_tags=ON/OFF\n" + +#: src/attrib.c:1136 +#, c-format +msgid "# mark_saved_read=ON/OFF\n" +msgstr "# mark_saved_read=ON/OFF\n" + +#: src/attrib.c:1137 #, c-format -msgid "# Do not edit this comment block\n" - "#\n" -msgstr "# Ärge seda kommentaari blokki muutke\n" - "#\n" +msgid "# mime_forward=ON/OFF\n" +msgstr "# mime_forward=ON/OFF\n" -#: src/attrib.c:650 +#: src/attrib.c:1139 #, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" -msgstr "# scope=SÕNE (n. alt.*,!alt.bin*) [kohustuslik]\n" +msgid "# mm_network_charset=supported_charset" +msgstr "# mm_network_charset=toetatud_koodileht" -#: src/attrib.c:651 +#: src/attrib.c:1146 #, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" -msgstr "# maildir=SÕNE (n. ~/Mail)\n" +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgstr "# undeclared_charset=SÕNE (vaikimisi on US-ASCII)\n" -#: src/attrib.c:652 +#: src/attrib.c:1148 #, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" -msgstr "# savedir=SÕNE (n. ~user/News)\n" +msgid "# news_headers_to_display=STRING\n" +msgstr "# news_headers_to_display=SÕNE\n" -#: src/attrib.c:653 +#: src/attrib.c:1149 #, c-format -msgid "# savefile=STRING (ie. =linux)\n" -msgstr "# savefile=SÕNE (n. =linux)\n" +msgid "# news_headers_to_not_display=STRING\n" +msgstr "# news_headers_to_not_display=SÕNE\n" -#: src/attrib.c:654 +#: src/attrib.c:1150 #, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" -msgstr "# sigfile=SÕNE (n. $var/sig)\n" +msgid "# news_quote_format=STRING\n" +msgstr "# news_quote_format=SÕNE\n" -#: src/attrib.c:655 +#: src/attrib.c:1151 #, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" -msgstr "# organization=SÕNE (kui algab sümboliga '/', loe failist)\n" +msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgstr "# organization=SÕNE (kui algab sümboliga '/', loe failist)\n" -#: src/attrib.c:656 +#: src/attrib.c:1152 #, c-format -msgid "# followup_to=STRING\n" -msgstr "# followup_to=SÕNE\n" +msgid "# pos_first_unread=ON/OFF\n" +msgstr "# pos_first_unread=ON/OFF\n" -#: src/attrib.c:657 +#: src/attrib.c:1153 #, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" -msgstr "# mailing_list=SÕNE (n. majordomo@example.org)\n" +msgid "# post_8bit_header=ON/OFF\n" +msgstr "# post_8bit_header=ON/OFF\n" -#: src/attrib.c:658 +#: src/attrib.c:1154 #, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" -msgstr "# x_headers=SÕNE (n. ~/.tin/extra-headers)\n" +msgid "# post_mime_encoding=supported_encoding" +msgstr "# post_mime_encoding=toetatud_kodeering" -#: src/attrib.c:659 +#: src/attrib.c:1161 #, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" -msgstr "# x_body=SÕNE (n. ~/.tin/extra-body-text)\n" +msgid "# post_process_type=NUM\n" +msgstr "# post_process_type=NUM\n" -#: src/attrib.c:660 +#: src/attrib.c:1166 #, c-format -msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" -msgstr "# from=SÕNE (kirjutage soovitav From: rida, ärge kasutage jutumärke)\n" +msgid "# post_process_view=ON/OFF\n" +msgstr "# post_process_view=ON/OFF\n" -#: src/attrib.c:661 +#: src/attrib.c:1167 #, c-format -msgid "# news_quote_format=STRING\n" -msgstr "# news_quote_format=SÕNE\n" +msgid "# quick_kill_scope=STRING (ie. talk.*)\n" +msgstr "# quick_kill_scope=SÕNE (n. talk.*)\n" -#: src/attrib.c:662 +#: src/attrib.c:1168 #, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" -msgstr "# quote_chars=SÕNE (%%s, %%S annavad initsiaalid)\n" +msgid "# quick_kill_expire=ON/OFF\n" +msgstr "# quick_kill_expire=ON/OFF\n" -#: src/attrib.c:663 +#: src/attrib.c:1169 #, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" -msgstr "# mime_types_to_save=SÕNE (n. image/*,!image/bmp)\n" +msgid "# quick_kill_case=ON/OFF\n" +msgstr "# quick_kill_case=ON/OFF\n" -#: src/attrib.c:665 +#: src/attrib.c:1170 #, c-format -msgid "# ispell=STRING\n" -msgstr "# ispell=SÕNE\n" +msgid "# quick_kill_header=NUM\n" +msgstr "# quick_kill_header=NUM\n" -#: src/attrib.c:667 +#: src/attrib.c:1171 src/attrib.c:1180 #, c-format -msgid "# auto_select=ON/OFF\n" -msgstr "# auto_select=ON/OFF\n" +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "# 0=Subject: (tõstutundlik) 1=Subject: (tõstutundetu)\n" -#: src/attrib.c:668 +#: src/attrib.c:1172 src/attrib.c:1181 #, c-format -msgid "# auto_save=ON/OFF\n" -msgstr "# auto_save=ON/OFF\n" +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "# 2=From: (tõstutundlik) 3=From: (tõstutundetu)\n" -#: src/attrib.c:669 +#: src/attrib.c:1173 src/attrib.c:1182 #, c-format -msgid "# batch_save=ON/OFF\n" -msgstr "# batch_save=ON/OFF\n" +msgid "# 4=Message-ID: & full References: line\n" +msgstr "# 4=Message-ID: & kogu References: rida\n" -#: src/attrib.c:670 +#: src/attrib.c:1174 src/attrib.c:1183 #, c-format -msgid "# delete_tmp_files=ON/OFF\n" -msgstr "# delete_tmp_files=ON/OFF\n" +msgid "# 5=Message-ID: & last References: entry only\n" +msgstr "# 5=Message-ID: & ainult viimane References: kirje\n" -#: src/attrib.c:671 +#: src/attrib.c:1175 src/attrib.c:1184 #, c-format -msgid "# show_only_unread=ON/OFF\n" -msgstr "# show_only_unread=ON/OFF\n" +msgid "# 6=Message-ID: entry only 7=Lines:\n" +msgstr "# 6=Message-ID: kirje ainult 7=Lines:\n" -#: src/attrib.c:672 +#: src/attrib.c:1176 #, c-format -msgid "# thread_arts=NUM" -msgstr "# thread_arts=NUM" +msgid "# quick_select_scope=STRING\n" +msgstr "# quick_select_scope=SÕNE\n" -#: src/attrib.c:679 +#: src/attrib.c:1177 #, c-format -msgid "# thread_perc=NUM\n" -msgstr "# thread_perc=NUM\n" +msgid "# quick_select_expire=ON/OFF\n" +msgstr "# quick_select_expire=ON/OFF\n" -#: src/attrib.c:680 +#: src/attrib.c:1178 #, c-format -msgid "# show_author=NUM\n" -msgstr "# show_author=NUM\n" +msgid "# quick_select_case=ON/OFF\n" +msgstr "# quick_select_case=ON/OFF\n" -#: src/attrib.c:686 +#: src/attrib.c:1179 #, c-format -msgid "# show_info=NUM\n" -msgstr "# show_info=NUM\n" +msgid "# quick_select_header=NUM\n" +msgstr "# quick_select_header=NUM\n" -#: src/attrib.c:692 +#: src/attrib.c:1185 #, c-format -msgid "# sort_art_type=NUM\n" -msgstr "# sort_art_type=NUM\n" +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgstr "# quote_chars=SÕNE (%%s, %%S annavad initsiaalid)\n" -#: src/attrib.c:710 +#: src/attrib.c:1187 #, c-format -msgid "# sort_threads_type=NUM\n" -msgstr "# sort_threads_type=NUM\n" +msgid "# print_header=ON/OFF\n" +msgstr "# print_header=ON/OFF\n" -#: src/attrib.c:715 +#: src/attrib.c:1189 #, c-format -msgid "# post_proc_type=NUM\n" -msgstr "# post_proc_type=NUM\n" +msgid "# process_only_unread=ON/OFF\n" +msgstr "# process_only_unread=ON/OFF\n" -#: src/attrib.c:720 +#: src/attrib.c:1190 #, c-format -msgid "# quick_kill_scope=STRING (ie. talk.*)\n" -msgstr "# quick_kill_scope=SÕNE (n. talk.*)\n" +msgid "# prompt_followupto=ON/OFF\n" +msgstr "# prompt_followupto=ON/OFF\n" -#: src/attrib.c:721 +#: src/attrib.c:1191 #, c-format -msgid "# quick_kill_expire=ON/OFF\n" -msgstr "# quick_kill_expire=ON/OFF\n" +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "# savedir=SÕNE (n. ~user/News)\n" -#: src/attrib.c:722 +#: src/attrib.c:1192 #, c-format -msgid "# quick_kill_case=ON/OFF\n" -msgstr "# quick_kill_case=ON/OFF\n" +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "# savefile=SÕNE (n. =linux)\n" -#: src/attrib.c:723 +#: src/attrib.c:1193 #, c-format -msgid "# quick_kill_header=NUM\n" -msgstr "# quick_kill_header=NUM\n" +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "# sigfile=SÕNE (n. $var/sig)\n" -#: src/attrib.c:724 src/attrib.c:731 +#: src/attrib.c:1194 #, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" -msgstr "# 0=teema (tõstutundlik) 1=teema (tõstutundetu)\n" +msgid "# show_author=NUM\n" +msgstr "# show_author=NUM\n" -#: src/attrib.c:725 src/attrib.c:732 +#: src/attrib.c:1200 #, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" -msgstr "# 2=saatja (tõstutundlik) 3=saatja (tõstutundetu)\n" +msgid "# show_info=NUM\n" +msgstr "# show_info=NUM\n" -#: src/attrib.c:726 src/attrib.c:733 +#: src/attrib.c:1206 #, c-format -msgid "# 4=msgid 5=lines\n" -msgstr "# 4=msgid 5=read\n" +msgid "# show_signatures=ON/OFF\n" +msgstr "# show_signatures=ON/OFF\n" -#: src/attrib.c:727 +#: src/attrib.c:1207 #, c-format -msgid "# quick_select_scope=STRING\n" -msgstr "# quick_select_scope=SÕNE\n" +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "# show_only_unread_arts=ON/OFF\n" -#: src/attrib.c:728 +#: src/attrib.c:1208 #, c-format -msgid "# quick_select_expire=ON/OFF\n" -msgstr "# quick_select_expire=ON/OFF\n" +msgid "# sigdashes=ON/OFF\n" +msgstr "# sigdashes=ON/OFF\n" -#: src/attrib.c:729 +#: src/attrib.c:1209 #, c-format -msgid "# quick_select_case=ON/OFF\n" -msgstr "# quick_select_case=ON/OFF\n" +msgid "# signature_repost=ON/OFF\n" +msgstr "# signature_repost=ON/OFF\n" -#: src/attrib.c:730 +#: src/attrib.c:1210 #, c-format -msgid "# quick_select_header=NUM\n" -msgstr "# quick_select_header=NUM\n" +msgid "# sort_article_type=NUM\n" +msgstr "# sort_article_type=NUM\n" -#: src/attrib.c:734 +#: src/attrib.c:1228 #, c-format -msgid "# x_comment_to=ON/OFF\n" -msgstr "# x_comment_to=ON/OFF\n" +msgid "# sort_threads_type=NUM\n" +msgstr "# sort_threads_type=NUM\n" -#: src/attrib.c:735 +#: src/attrib.c:1237 #, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" -msgstr "# fcc=SÕNE (n. =postkast)\n" +msgid "# start_editor_offset=ON/OFF\n" +msgstr "# start_editor_offset=ON/OFF\n" # -#: src/attrib.c:736 +#: src/attrib.c:1238 +#, c-format +msgid "# tex2iso_conv=ON/OFF\n" +msgstr "# tex2iso_conv=ON/OFF\n" + +#: src/attrib.c:1239 #, c-format -msgid "# tex2iso_conv=ON/OFF\n" -msgstr "# tex2iso_conv=ON/OFF\n" +msgid "# thread_catchup_on_exit=ON/OFF\n" +msgstr "# thread_catchup_on_exit=ON/OFF\n" -#: src/attrib.c:737 +#: src/attrib.c:1240 #, c-format -msgid "# mime_forward=ON/OFF\n" -msgstr "# mime_forward=ON/OFF\n" +msgid "# thread_articles=NUM" +msgstr "# thread_articles=NUM" -#: src/attrib.c:739 +#: src/attrib.c:1247 #, c-format -msgid "# mm_network_charset=supported_charset" -msgstr "# mm_network_charset=toetatud_koodileht" +msgid "# thread_perc=NUM\n" +msgstr "# thread_perc=NUM\n" -#: src/attrib.c:746 +#: src/attrib.c:1248 #, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" -msgstr "# undeclared_charset=SÕNE (vaikimisi on US-ASCII)\n" +msgid "# trim_article_body=NUM\n" +msgstr "# trim_article_body=NUM\n" -#: src/attrib.c:748 +#: src/attrib.c:1249 #, c-format -msgid "#\n" - "# Note that it is best to put general (global scoping)\n" -msgstr "#\n" - "# Märkus: parem on kõigepealt kirjeldada üldisemad (globaalse skoobiga)\n" +msgid "# 0 = Don't trim article body\n" +msgstr "# 0 = Ära lühenda artikli keha\n" -#: src/attrib.c:749 +#: src/attrib.c:1250 #, c-format -msgid "# entries first followed by group specific entries.\n" - "#\n" -msgstr "# ning seejärel konkreetsemad, grupi spetsiifilised, reeglid.\n" - "#\n" +msgid "# 1 = Skip leading blank lines\n" +msgstr "# 1 = Jäta alles alguses olevad tühjad read\n" -#: src/attrib.c:750 +#: src/attrib.c:1251 #, c-format -msgid "############################################################################\n" - "\n" -msgstr "############################################################################\n" - "\n" +msgid "# 2 = Skip trailing blank lines\n" +msgstr "# 2 = Jäta alles lõpus olevad tühjad read\n" -#: src/attrib.c:756 +#: src/attrib.c:1252 #, c-format -msgid "# include extra headers\n" -msgstr "# lisa täiendavaid päiseid\n" +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "# 3 = Jäta alles alguses ja lõpus olevad tühjad read\n" + +#: src/attrib.c:1253 +#, fuzzy, c-format +msgid "# 4 = Compact multiple blank lines between text blocks\n" +msgstr "# 4 = Tihenda teksti vahel olevad tühjad read\n" + +#: src/attrib.c:1254 +#, fuzzy, c-format +msgid "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" +msgstr "# 5 = Tihenda teksti vahel olevad tühjad read ja\n" + "# jäta alles alguses olevad tühjad read\n" + +#: src/attrib.c:1255 +#, fuzzy, c-format +msgid "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" +msgstr "# 6 = Tihenda teksti vahel olevad tühjad read ja\n" + "# jäta alles lõpus olevad tühjad read\n" -#: src/attrib.c:764 +#: src/attrib.c:1256 +#, fuzzy, c-format +msgid "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "# 7 = Tihenda teksti vahel olevad tühjad read ja\n" + "# jäta alles alguses ja lõpus olevad tühjad read\n" + +#: src/attrib.c:1257 #, c-format -msgid "# in *sources* set post process type to shar only\n" -msgstr "# *tekstidel* sea järeltöötlemise tüübiks ainult shar\n" +msgid "# verbatim_handling=ON/OFF\n" +msgstr "# verbatim_handling=ON/OFF\n" -#: src/attrib.c:768 +#: src/attrib.c:1258 #, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" -msgstr "# *binaarfailidel* sea täielik järeltöötlemine, kuid mitte TeX2ISO " - "teisendus,\n" +msgid "# wrap_on_next_unread=ON/OFF\n" +msgstr "# wrap_on_next_unread=ON/OFF\n" -#: src/attrib.c:769 +#: src/attrib.c:1259 #, c-format -msgid "# remove tmp files and set Followup-To: poster\n" -msgstr "# kustuta ajutised failid ja sea Followup-To: postitaja\n" +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" +msgstr "# x_body=SÕNE (n. ~/.tin/extra-body-text)\n" -#: src/cook.c:499 -msgid "(unknown)" -msgstr "(tundmatu)" +#: src/attrib.c:1260 +#, c-format +msgid "# x_comment_to=ON/OFF\n" +msgstr "# x_comment_to=ON/OFF\n" -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -msgid "Removed from the previous rule: " -msgstr "Eelmisest reeglist eemaldatud: " - -#: src/keymap.c:271 -msgid "NULL" -msgstr "NULL" +#: src/attrib.c:1261 +#, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" +msgstr "# x_headers=SÕNE (n. ~/.tin/extra-headers)\n" + +#: src/attrib.c:1262 +#, c-format +msgid "#\n" + "# Note that it is best to put general (global scoping)\n" +msgstr "#\n" + "# Märkus: parem on kõigepealt kirjeldada üldisemad (globaalse skoobiga)\n" + +#: src/attrib.c:1263 +#, c-format +msgid "# entries first followed by group specific entries.\n" + "#\n" +msgstr "# ning seejärel konkreetsemad, grupi spetsiifilised, reeglid.\n" + "#\n" + +#: src/attrib.c:1264 +#, c-format +msgid "############################################################################\n" +msgstr "############################################################################\n" + +#: src/cook.c:625 +msgid "(unknown)" +msgstr "(tundmatu)" + +#: src/keymap.c:277 +msgid "NULL" +msgstr "NULL" #: src/lang.c:42 -msgid "1 Response" -msgstr "1 Vastus" +msgid "1 Response" +msgstr "1 Vastus" #: src/lang.c:46 #, c-format -msgid "\n" - "%s contains no newsgroups. Exiting." -msgstr "\n" - "%s ei sisalda ühtki gruppi. Lõpetan töö." +msgid "\n" + "%s contains no newsgroups. Exiting." +msgstr "\n" + "%s ei sisalda ühtki gruppi. Lõpetan töö." #: src/lang.c:47 -msgid "all " -msgstr "kõik " +msgid "all " +msgstr "kõik " #: src/lang.c:48 -msgid "All groups" -msgstr "Kõik grupid" +msgid "All groups" +msgstr "Kõik grupid" #: src/lang.c:49 #, c-format -msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " -msgstr "Fail %s on olemas. %s=jätka, %s=kirjuta üle, %s=välju: " +msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " +msgstr "Fail %s on olemas. %s=jätka, %s=kirjuta üle, %s=välju: " #: src/lang.c:50 -msgid "Article cancelled (deleted)." -msgstr "Artikkel on katkestatud (kustutatud)." - -#: src/lang.c:51 -msgid "Article cannot be cancelled (deleted)." -msgstr "Artiklit ei saa katkestada (kustutada)." +msgid "Article cancelled (deleted)." +msgstr "Artikkel on katkestatud (kustutatud)." #: src/lang.c:52 -msgid "Article deleted." -msgstr "Artikkel kustutatud." - -#: src/lang.c:53 -#, c-format -msgid "\n" - "Your article:\n" - " \"%s\"\n" - "will be posted to the following %s:\n" -msgstr "\n" - "Teie artikkel:\n" - " \"%s\"\n" - "postitatakse %s:\n" +msgid "Article cannot be cancelled (deleted)." +msgstr "Artiklit ei saa katkestada (kustutada)." #: src/lang.c:54 -msgid "Article not posted!" -msgstr "Artiklit ei postitatud!" +msgid "Article deleted." +msgstr "Artikkel kustutatud." #: src/lang.c:55 -msgid "Article not saved" -msgstr "Artiklit ei salvestatud" +#, c-format +msgid "\n" + "Your article:\n" + " \"%s\"\n" + "will be posted to the following %s:\n" +msgstr "\n" + "Teie artikkel:\n" + " \"%s\"\n" + "postitatakse %s:\n" #: src/lang.c:56 -msgid "Article Level Commands" -msgstr "Artiklitaseme käsud" +msgid "Article not posted!" +msgstr "Artiklit ei postitatud!" #: src/lang.c:57 -msgid "Article has no parent" -msgstr "Artiklil pole eelnevat" +msgid "Article not saved" +msgstr "Artiklit ei salvestatud" #: src/lang.c:58 -msgid "Parent article has been killed" -msgstr "Eelnev artikkel on hävitatud" +msgid "Article Level Commands" +msgstr "Artiklitaseme käsud" #: src/lang.c:59 -msgid "Parent article is unavailable" -msgstr "Eelnev artikkel pole kättesaadav" +msgid "Article has no parent" +msgstr "Artiklil pole eelnevat" #: src/lang.c:60 -#, c-format -msgid "Article posted: %s" -msgstr "Artikkel on postitatud: %s" +msgid "Parent article has been killed" +msgstr "Eelnev artikkel on hävitatud" #: src/lang.c:61 -#, c-format -msgid "Article rejected (saved to %s)" -msgstr "Artikkel lükati tagasi (salvestasin faili %s)" +msgid "Parent article is unavailable" +msgstr "Eelnev artikkel pole kättesaadav" #: src/lang.c:62 #, c-format -msgid "%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " -msgstr "%s=artikkel, %s=teema, %s=kuum, %s=muster, %s=märgitud artiklid, %s=välju: " +msgid "Article posted: %s" +msgstr "Artikkel on postitatud: %s" #: src/lang.c:63 -msgid "Article unavailable" -msgstr "Artiklit pole" +#, c-format +msgid "Article rejected (saved to %s)" +msgstr "Artikkel lükati tagasi (salvestasin faili %s)" #: src/lang.c:64 -msgid "Article undeleted." -msgstr "Artikkel taastatud." +#, c-format +msgid "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " +msgstr "%s=artikkel, %s=teema, %s=vahemik, %s=kuum, %s=muster, %s=märgitud, %s=välju: " + +#: src/lang.c:65 +msgid "Article unavailable" +msgstr "Artiklit pole" #: src/lang.c:66 -msgid "articles" -msgstr "artiklit" +msgid "Article undeleted." +msgstr "Artikkel taastatud." #: src/lang.c:67 -msgid "This is a repost of the following article:" -msgstr "See on järgneva artikli uuesti postitamine:" - -#: src/lang.c:68 -msgid "article" -msgstr "artikkel" +#, c-format +msgid "Article %4d of %4d" +msgstr "Artikkel %4d : %4d" #: src/lang.c:69 -msgid "Article" -msgstr "Artikkel" +msgid "articles" +msgstr "artiklit" #: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" -msgstr "-- %d %s saadetud --" +msgid "This is a repost of the following article:" +msgstr "See on järgneva artikli uuesti postitamine:" #: src/lang.c:71 -#, c-format -msgid " at %s" -msgstr " o: %s" +msgid "article" +msgstr "artikkel" #: src/lang.c:72 -#, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" -msgstr "%*s[-- %s/%s, kodeerin %s%s%s, %d rida%s%s --]\n" +msgid "Article" +msgstr "Artikkel" #: src/lang.c:73 -msgid ", charset: " -msgstr ", kooditabel: " +#, c-format +msgid "-- %d %s mailed --" +msgstr "-- %d %s saadetud --" #: src/lang.c:74 #, c-format -msgid "%*s[-- Description: %s --]\n" -msgstr "%*s[-- Kirjeldus: %s --]\n" +msgid " at %s" +msgstr " o: %s" #: src/lang.c:75 #, c-format -msgid "%d Authentication failed" -msgstr "%d Autentimine ebaõnnestus" +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgstr "%*s[-- %s/%s, kodeerin %s%s%s, %d rida%s%s --]\n" #: src/lang.c:76 -msgid "Server expects authentication.\n" -msgstr "Server eeldab autentimist.\n" +msgid ", charset: " +msgstr ", kooditabel: " #: src/lang.c:77 -msgid " Please enter password: " -msgstr " Palun sisestage parool: " +#, c-format +msgid "%*s[-- charset %s not supported --]\n" +msgstr "" #: src/lang.c:78 -msgid " Please enter username: " -msgstr " Palun sisestage kasutajanimi: " +#, c-format +msgid "%*s[-- Description: %s --]\n" +msgstr "%*s[-- Kirjeldus: %s --]\n" #: src/lang.c:79 #, c-format -msgid "Author search backwards [%s]> " -msgstr "Autori tagaspidi otsimine [%s]> " +msgid "%d lines" +msgstr "" #: src/lang.c:80 -#, c-format -msgid "Author search forwards [%s]> " -msgstr "Autori edaspidi otsimine [%s]> " +msgid "Attachment Menu" +msgstr "" #: src/lang.c:81 -#, c-format -msgid "Authorized for user: %s\n" -msgstr "Autoriseeritud kasutaja: %s\n" +#, fuzzy +msgid "Attachment Menu Commands" +msgstr "Atribuutide menüü käsud" #: src/lang.c:82 -#, c-format -msgid "Authorization failed for user: %s\n" -msgstr "Autoriseerimine ebaõnnestus. Kasutaja: %s\n" +#, fuzzy +msgid "" +msgstr "pole" #: src/lang.c:83 -#, c-format -msgid "\n" - "Autosubscribed to %s" -msgstr "\n" - "%s tellitud" +#, fuzzy, c-format +msgid "Attachment saved successfully. (%s)" +msgstr "newsrc fail on edukalt salvestatud.\n" #: src/lang.c:84 -msgid "Autosubscribing groups...\n" -msgstr "Tellin grupid...\n" +#, fuzzy, c-format +msgid "%d of %d attachments saved successfully." +msgstr "newsrc fail on edukalt salvestatud.\n" #: src/lang.c:85 -#, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." -msgstr "Valin artiklid (kõikide lugemata artiklite vaatamiseks '%s') ..." +#, fuzzy +msgid "Select attachment> " +msgstr "Valige artikkel> " + +#: src/lang.c:86 +#, fuzzy +msgid "Tagged attachment" +msgstr "Valige artikkel> " #: src/lang.c:87 -#, c-format -msgid "Active file corrupt - %s" -msgstr "Aktiivsete artiklite fail on vigane - %s" +#, fuzzy, c-format +msgid "%d attachments tagged" +msgstr "Valige artikkel> " #: src/lang.c:88 -#, c-format -msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " -msgstr "Postitatav artikkel sai vigu või hoiatusi. %s=välju, %s=menüü, %s=toimeta: " +#, fuzzy +msgid "Untagged attachment" +msgstr "Valige artikkel> " #: src/lang.c:89 -#, c-format -msgid "Unrecognized attribute: %s" -msgstr "Tundmatu atribuut: %s" +msgid "Attributes Menu Commands" +msgstr "Atribuutide menüü käsud" -#: src/lang.c:90 +#: src/lang.c:91 #, c-format -msgid "Bad command. Type '%s' for help." -msgstr "Vigane käsk. Abiinfo saamiseks vajutage '%s'." +msgid "%d Authentication failed" +msgstr "%d Autentimine ebaõnnestus" #: src/lang.c:92 -msgid "Base article" -msgstr "Baasartikkel" +#, c-format +msgid "NNTP authorization password not found for %s" +msgstr "Serverile %s vastavat NNTP autoriseerimise parooli pole" #: src/lang.c:93 -msgid "Base article range" -msgstr "Baasartiklite vahemik" +msgid "Server expects authentication.\n" +msgstr "Server eeldab autentimist.\n" #: src/lang.c:94 -#, c-format -msgid "%s: Updating of index files not supported\n" -msgstr "%s: indeks failide uuendamist ei toetata\n" +msgid " Please enter password: " +msgstr " Palun sisestage parool: " #: src/lang.c:95 -msgid "*** Beginning of article ***" -msgstr "*** Artikli algus ***" +msgid " Please enter username: " +msgstr " Palun sisestage kasutajanimi: " + +#: src/lang.c:96 +#, c-format +msgid "Authorized for user: %s\n" +msgstr "Autoriseeritud kasutaja: %s\n" #: src/lang.c:97 #, c-format -msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " -msgstr "Katkestada (kustutada) või asendada artikkel [%%s]? (%s/%s/%s): " +msgid "Authorization failed for user: %s\n" +msgstr "Autoriseerimine ebaõnnestus. Kasutaja: %s\n" -#: src/lang.c:98 -msgid "Cancelling article..." -msgstr "Katkestan artiklit..." +#: src/lang.c:99 +#, c-format +msgid "Author search backwards [%s]> " +msgstr "Autori tagaspidi otsimine [%s]> " #: src/lang.c:100 #, c-format -msgid "Cannot create %s" -msgstr "%s ei õnnestu luua" +msgid "Author search forwards [%s]> " +msgstr "Autori edaspidi otsimine [%s]> " #: src/lang.c:101 #, c-format -msgid "Can't find base article %d" -msgstr "Ei leis baasartiklit %d" +msgid "\n" + "Autosubscribed to %s" +msgstr "\n" + "%s tellitud" #: src/lang.c:102 -#, c-format -msgid "Can't open %s" -msgstr "%s ei saa avada" +msgid "Autosubscribing groups...\n" +msgstr "Tellin grupid...\n" #: src/lang.c:103 #, c-format -msgid "Couldn't open %s for saving" -msgstr "%s ei saa salvestamiseks avada" - -#: src/lang.c:104 -msgid "*** Posting not allowed ***" -msgstr "*** Postitamine ei ole lubatud ***" +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "Valin artiklid (kõikide lugemata artiklite vaatamiseks '%s') ..." #: src/lang.c:105 #, c-format -msgid "Posting is not allowed to %s" -msgstr "%s ei luba postitada" +msgid "Active file corrupt - %s" +msgstr "Aktiivsete artiklite fail on vigane - %s" #: src/lang.c:106 #, c-format -msgid "Can't retrieve %s" -msgstr "%s ei õnnestu laadida" +msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "Postitatav artikkel sai vigu või hoiatusi. %s=välju, %s=menüü, %s=toimeta: " #: src/lang.c:107 #, c-format -msgid "%s is a directory" -msgstr "%s on kataloog" +msgid "Unrecognized attribute: %s" +msgstr "Tundmatu atribuut: %s" #: src/lang.c:108 -msgid "Catchup" -msgstr "Märgin loetuks" - -#: src/lang.c:109 #, c-format -msgid "Catchup %s..." -msgstr "Märgin %s loetuks..." +msgid "Bad command. Type '%s' for help." +msgstr "Vigane käsk. Abiinfo saamiseks vajutage '%s'." #: src/lang.c:110 -msgid "Catchup all groups entered during this session?" -msgstr "Märgi loetuks kõik grupid, millesse on sessiooni jooksul sisenetud?" +msgid "Base article" +msgstr "Baasartikkel" #: src/lang.c:111 -msgid "You have tagged articles in this group - catchup anyway?" -msgstr "Teil on siin grupis märgitud teateid - märgin loetuks?" +msgid "Base article range" +msgstr "Baasartiklite vahemik" #: src/lang.c:112 #, c-format -msgid "%s %d %s in %lu seconds\n" -msgstr "%s %d %s %lu sekundiga\n" +msgid "%s: Updating of index files not supported\n" +msgstr "%s: indeks failide uuendamist ei toetata\n" #: src/lang.c:113 -msgid "Caughtup" -msgstr "Loetud" +msgid "*** Beginning of article ***" +msgstr "*** Artikli algus ***" #: src/lang.c:114 -msgid "Check Prepared Article" -msgstr "Kontrollin valminud artiklit" - -#: src/lang.c:115 -msgid "Checking for new groups... " -msgstr "Otsin uusi gruppe... " +msgid "*** Beginning of page ***" +msgstr "*** Lehe algus ***" #: src/lang.c:116 -msgid "Checking for news..." -msgstr "Otsin uudiseid..." +#, c-format +msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " +msgstr "Katkestada (kustutada) või asendada artikkel [%%s]? (%s/%s/%s): " #: src/lang.c:117 -#, c-format -msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " -msgstr "Järeltöötle %s=ei, %s=jah, %s=shar, %s=välju: " +msgid "Cancelling article..." +msgstr "Katkestan artiklit..." #: src/lang.c:119 -msgid "ANSI color disabled" -msgstr "ANSI värvid on keelatud" +#, c-format +msgid "Cannot create %s" +msgstr "%s ei õnnestu luua" #: src/lang.c:120 -msgid "ANSI color enabled" -msgstr "ANSI värvid on lubatud" +#, c-format +msgid "Can't find base article %d" +msgstr "Ei leis baasartiklit %d" + +#: src/lang.c:121 +#, c-format +msgid "Can't open %s" +msgstr "%s ei saa avada" #: src/lang.c:122 #, c-format -msgid "Command failed: %s" -msgstr "Käsk ebaõnnestus: %s" +msgid "Couldn't open %s for saving" +msgstr "%s ei saa salvestamiseks avada" #: src/lang.c:123 -msgid "Mark not selected articles read?" -msgstr "Märgin valimata artiklid loetuks?" +msgid "*** Posting not allowed ***" +msgstr "*** Postitamine ei ole lubatud ***" #: src/lang.c:124 #, c-format -msgid "Connecting to %s..." -msgstr "Loon ühendust serveriga %s..." - -#: src/lang.c:125 -msgid "" -msgstr "" +msgid "Posting is not allowed to %s" +msgstr "%s ei luba postitada" #: src/lang.c:126 -msgid "Creating active file for saved groups...\n" -msgstr "Loon salvestatud gruppidele active faili...\n" +#, c-format +msgid "Can't retrieve %s" +msgstr "%s ei õnnestu laadida" + +#: src/lang.c:128 +#, c-format +msgid "%s is a directory" +msgstr "%s on kataloog" -#: src/lang.c:127 -msgid "Creating newsrc file...\n" -msgstr "Loon newsrc faili...\n" - -#: src/lang.c:129 src/lang.c:1150 -msgid "Default" -msgstr "Vaikimisi" +#: src/lang.c:129 +msgid "Catchup" +msgstr "Märgin loetuks" #: src/lang.c:130 -msgid "Delete saved files that have been post processed?" -msgstr "Kas kustutada salvestatud ja töödeldud failid?" +#, c-format +msgid "Catchup %s..." +msgstr "Märgin %s loetuks..." #: src/lang.c:131 -msgid "Deleting temporary files..." -msgstr "Kustutan ajutisi faile..." +msgid "Catchup all groups entered during this session?" +msgstr "Märgi loetuks kõik grupid, millesse on sessiooni jooksul sisenetud?" + +#: src/lang.c:132 +msgid "You have tagged articles in this group - catchup anyway?" +msgstr "Teil on siin grupis märgitud teateid - märgin loetuks?" #: src/lang.c:133 -msgid "*** End of article ***" -msgstr "*** Artiklid on otsas ***" +#, c-format +msgid "%s %d %s in %lu seconds\n" +msgstr "%s %d %s %lu sekundiga\n" #: src/lang.c:134 -msgid "*** End of articles ***" -msgstr "*** Artiklid on otsas ***" +msgid "Caughtup" +msgstr "Loetud" #: src/lang.c:135 -msgid "*** End of groups ***" -msgstr "*** Grupid on otsas ***" +msgid "Check Prepared Article" +msgstr "Kontrollin valminud artiklit" #: src/lang.c:136 -msgid "*** End of thread ***" -msgstr "*** Teema on otsas ***" +msgid "Checking for new groups... " +msgstr "Otsin uusi gruppe... " #: src/lang.c:137 -msgid "Enter limit of articles to get> " -msgstr "Sisestage leatavate artiklite piirang> " +msgid "Checking for news..." +msgstr "Otsin uudiseid..." #: src/lang.c:138 -msgid "Enter Message-ID to go to> " -msgstr "Sisestage Message-ID> " - -#: src/lang.c:139 -msgid " and enter next unread thread" -msgstr " ja siseneda järgmisse lugemata teemasse" +#, c-format +msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " +msgstr "Järeltöötle %s=ei, %s=jah, %s=shar, %s=välju: " #: src/lang.c:140 -msgid " and enter next unread group" -msgstr " ja siseneda järgmisse lugemata teemasse" +msgid "ANSI color disabled" +msgstr "ANSI värvid on keelatud" #: src/lang.c:141 -msgid "Enter option number> " -msgstr "Sisestage omaduse number> " +msgid "ANSI color enabled" +msgstr "ANSI värvid on lubatud" -#: src/lang.c:142 +#: src/lang.c:143 #, c-format -msgid "Enter range [%s]> " -msgstr "Sisestage vahemik [%s]> " +msgid "Command failed: %s" +msgstr "Käsk ebaõnnestus: %s" -#: src/lang.c:143 -msgid "\n" - "Warning: Approved: header used.\n" -msgstr "\n" - "Hoiatus: Kasutati päiserida Approved:.\n" - -#: src/lang.c:145 -msgid "\n" - "Error: Bad address in Approved: header.\n" -msgstr "\n" - "Viga: Vigane aadress Approved: real.\n" +#: src/lang.c:144 +msgid "Mark not selected articles read?" +msgstr "Märgin valimata artiklid loetuks?" #: src/lang.c:146 -msgid "\n" - "Error: Bad address in From: header.\n" -msgstr "\n" - "Viga: Vigane aadress From: real.\n" - -#: src/lang.c:147 -msgid "\n" - "Error: Bad address in Reply-To: header.\n" -msgstr "\n" - "Viga: Vigane aadress Reply-To: real.\n" +#, c-format +msgid "Connecting to %s..." +msgstr "Loon ühendust serveriga %s..." #: src/lang.c:148 -msgid "\n" - "Error: Bad FQDN in Message-ID: header.\n" -msgstr "\n" - "Viga: Vigane FQDN Message-ID: real.\n" +msgid "" +msgstr "" #: src/lang.c:149 -#, c-format -msgid "Can't unlock %s" -msgstr "%s ei saa lahti lukustada" - -#: src/lang.c:151 -#, c-format -msgid "Corrupted file %s" -msgstr "Vigane fail %s" +msgid "Creating active file for saved groups...\n" +msgstr "Loon salvestatud gruppidele active faili...\n" -#: src/lang.c:152 -#, c-format -msgid "Couldn't dotlock %s - article not appended!" -msgstr "Ei saa punkt-lukustada %s - artiklit ei lisatud!" +#: src/lang.c:150 +msgid "Creating newsrc file...\n" +msgstr "Loon newsrc faili...\n" + +#: src/lang.c:152 src/lang.c:1296 +msgid "Default" +msgstr "Vaikimisi" #: src/lang.c:153 -#, c-format -msgid "Couldn't lock %s - article not appended!" -msgstr "Ei saa lukustada %s - artiklit ei lisatud!" +msgid "Delete saved files that have been post processed?" +msgstr "Kas kustutada salvestatud ja töödeldud failid?" -#: src/lang.c:155 -msgid "Internal error in GNKSA routine - send bug report.\n" -msgstr "Sisemine viga GNKSA protseduuris - saatke vearaport.\n" +#: src/lang.c:154 +msgid "Deleting temporary files..." +msgstr "Kustutan ajutisi faile..." #: src/lang.c:156 -msgid "Left angle bracket missing in route address.\n" -msgstr "Aadressis puudub <.\n" +msgid "*** End of article ***" +msgstr "*** Artiklid on otsas ***" #: src/lang.c:157 -msgid "Left parenthesis missing in old-style address.\n" -msgstr "Vanas stiilis aadressis puudub vasak ümarsulg.\n" +msgid "*** End of articles ***" +msgstr "*** Artiklid on otsas ***" #: src/lang.c:158 -msgid "Right parenthesis missing in old-style address.\n" -msgstr "Vanas stiilis aadressis puudub parem ümarsulg.\n" +#, fuzzy +msgid "*** End of attachments ***" +msgstr "*** Artiklid on otsas ***" #: src/lang.c:159 -msgid "At-sign missing in mail address.\n" -msgstr "Postiaadressis puudub at-märk.\n" +msgid "*** End of groups ***" +msgstr "*** Grupid on otsas ***" #: src/lang.c:160 -msgid "Single component FQDN is not allowed. Add your domain.\n" -msgstr "Ühekomponendiline FQDN pole lubatud. Lisage oma doomen.\n" +msgid "*** End of page ***" +msgstr "*** Lehe lõpp ***" #: src/lang.c:161 -msgid "Invalid domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n" - "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n" +msgid "*** End of scopes ***" +msgstr "*** Skoopide lõpp ***" #: src/lang.c:162 -msgid "Illegal domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n" - "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n" +msgid "*** End of thread ***" +msgstr "*** Teema on otsas ***" #: src/lang.c:163 -msgid "Unknown domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n" - "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n" +#, fuzzy +msgid "*** End of URLs ***" +msgstr "*** Grupid on otsas ***" #: src/lang.c:164 -msgid "Illegal character in FQDN.\n" -msgstr "FQDN sisaldab lubamatut sümbolit.\n" +msgid "Enter limit of articles to get> " +msgstr "Sisestage leatavate artiklite piirang> " #: src/lang.c:165 -msgid "Zero length FQDN component not allowed.\n" -msgstr "Null pikkusega FQDN komponent ei ole lubatud.\n" +msgid "Enter Message-ID to go to> " +msgstr "Sisestage Message-ID> " #: src/lang.c:166 -msgid "FQDN component exceeds maximum allowed length (63 chars).\n" -msgstr "FQDN komponendi pikkus ületab maksimaalset lubatut (63 sümbolit).\n" +msgid " and enter next unread thread" +msgstr " ja siseneda järgmisse lugemata teemasse" #: src/lang.c:167 -msgid "FQDN component may not start or end with hyphen.\n" -msgstr "FQDN komponendi alguses ega lõpus ei või olla kriips.\n" +msgid " and enter next unread article" +msgstr " ja sisene järgmisse lugemata artiklisse" #: src/lang.c:168 -msgid "FQDN component may not start with digit.\n" -msgstr "FQDN komponent ei või alata numbriga.\n" +msgid " and enter next unread group" +msgstr " ja siseneda järgmisse lugemata teemasse" #: src/lang.c:169 -msgid "Domain literal has impossible numeric value.\n" -msgstr "Doomen sisaldab võimatut numbrilist väärtust.\n" +msgid "Enter option number> " +msgstr "Sisestage omaduse number> " #: src/lang.c:170 -msgid "Domain literal is for private use only and not allowed for global use.\n" -msgstr "Doomenit on lubatud kasutada ainult privaatvõrgus.\n" +#, c-format +msgid "Enter range [%s]> " +msgstr "Sisestage vahemik [%s]> " #: src/lang.c:171 -msgid "Right bracket missing in domain literal.\n" -msgstr "Doomenis puudub vasak sulg.\n" - -#: src/lang.c:172 -msgid "Missing localpart of mail address.\n" -msgstr "Aadressil puudub lokaalne osa.\n" +msgid "\n" + "Warning: Approved: header used.\n" +msgstr "\n" + "Hoiatus: Kasutati päiserida Approved:.\n" #: src/lang.c:173 -msgid "Illegal character in localpart of mail address.\n" -msgstr "Lubamatu sümbol aadressi lokaalses osas.\n" +msgid "\n" + "Error: Bad address in Approved: header.\n" +msgstr "\n" + "Viga: Vigane aadress Approved: real.\n" #: src/lang.c:174 -msgid "Zero length localpart component not allowed.\n" -msgstr "Null pikkusega lokaalne komponent ei ole lubatud.\n" +msgid "\n" + "Error: Bad address in From: header.\n" +msgstr "\n" + "Viga: Vigane aadress From: real.\n" #: src/lang.c:175 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" -msgstr "Pärisnimes on lubamatu sümbol.\n" - "Kvootimata sõnad aadressides ei tohi sisaldada '!()<>@,;:\\.[]'.\n" +msgid "\n" + "Error: Bad address in Reply-To: header.\n" +msgstr "\n" + "Viga: Vigane aadress Reply-To: real.\n" #: src/lang.c:176 -msgid "Illegal character in realname.\n" - "Quoted words may not contain '()<>\\'.\n" -msgstr "Pärisnimes on lubamatu sümbol.\n" - "Kvooditud sõnad ei või sisaldada '()<>\\'.\n" - -#: src/lang.c:177 -msgid "Illegal character in realname.\n" - "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" -msgstr "Pärisnimes on lubamatu sümbol.\n" - "Kodeeritud sõnad parameetris ei või sisaldada '!()<>@,;:\"\\.[]/='.\n" +msgid "\n" + "Error: Bad FQDN in Message-ID: header.\n" +msgstr "\n" + "Viga: Vigane FQDN Message-ID: real.\n" #: src/lang.c:178 -msgid "Bad syntax in encoded word used in realname.\n" -msgstr "Vigane reaalses nimes kasutatud kodeeritud sõna süntaks.\n" +#, c-format +msgid "Can't unlock %s" +msgstr "%s ei saa lahti lukustada" #: src/lang.c:179 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '()<>\\' in old-style addresses.\n" -msgstr "Pärisnimes on lubamatu sümbol.\n" - "Kvootimata sõnad vanas stiilis aadressides ei või sisaldada '()<>\\'.\n" +#, c-format +msgid "Couldn't dotlock %s - article not appended!" +msgstr "Ei saa punkt-lukustada %s - artiklit ei lisatud!" #: src/lang.c:180 -msgid "Illegal character in realname.\n" - "Control characters and unencoded 8bit characters > 127 are not allowed.\n" -msgstr "Pärisnimes on lubamatu sümbol.\n" - "Kontrollsümbolid ja kodeerimata 8bit sümbolid väärtusega > 127 ei ole " - "lubatud.\n" - -#: src/lang.c:181 -msgid "\n" - "Error: No blank line found after header.\n" -msgstr "\n" - "Viga: peale päiseridu pole tühja rida.\n" +#, c-format +msgid "Couldn't lock %s - article not appended!" +msgstr "Ei saa lukustada %s - artiklit ei lisatud!" -#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:183 -msgid "\n" - "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" - " US-ASCII - please change this setting to a suitable value for\n" - " your language using the M)enu of configurable options or by\n" - " editing tinrc.\n" -msgstr "\n" - "Viga: Postitus sisaldab mitte-ASCII sümboleid, aga MM_CHARSET väärtuseks\n" - " on US_ASCII - palun seadke MM_CHARSET väärtus oma keelele sobivaks\n" - " kasutades seadete M)enüüd või toimetades tinrc faili.\n" +#, c-format +msgid "Corrupted file %s" +msgstr "Vigane fail %s" + +#: src/lang.c:185 +#, fuzzy +msgid "\n" + "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" +msgstr "\n" + "Viga: Followup-To real on rohkem kui üks grupp!\n" + +#: src/lang.c:186 +msgid "Internal error in GNKSA routine - send bug report.\n" +msgstr "Sisemine viga GNKSA protseduuris - saatke vearaport.\n" + +#: src/lang.c:187 +msgid "Left angle bracket missing in route address.\n" +msgstr "Aadressis puudub <.\n" #: src/lang.c:188 -msgid "\n" - "Error: Posting contains non-ASCII characters but the MIME encoding\n" - " for news messages is set to \"7bit\" - please change this\n" - " setting to \"8bit\" or \"quoted-printable\" depending on what\n" - " is more common in your part of the world. This can be done\n" - " using the M)enu of configurable options or by editing tinrc.\n" -msgstr "\n" - "Viga: Postitus sisaldab mitte-ASCII sümboleid, aga artiklite kodeerimisel\n" - " kasutatavaks MIME kodeeringuks on valitud \"7bit\" - palun muutke see\n" - " \"8bit\" või \"quoted-printable\", vastavalt, milline meetod on teil\n" - " enam levinud. Muuta saate kasutades seadete M)enüüd või toimetades\n" - " tinrc faili.\n" +msgid "Left parenthesis missing in old-style address.\n" +msgstr "Vanas stiilis aadressis puudub vasak ümarsulg.\n" + +#: src/lang.c:189 +msgid "Right parenthesis missing in old-style address.\n" +msgstr "Vanas stiilis aadressis puudub parem ümarsulg.\n" + +#: src/lang.c:190 +msgid "At-sign missing in mail address.\n" +msgstr "Postiaadressis puudub at-märk.\n" + +#: src/lang.c:191 +msgid "Single component FQDN is not allowed. Add your domain.\n" +msgstr "Ühekomponendiline FQDN pole lubatud. Lisage oma doomen.\n" + +#: src/lang.c:192 +msgid "Invalid domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n" + "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n" + +#: src/lang.c:193 +msgid "Illegal domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n" + "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n" #: src/lang.c:194 -msgid "\n" - "Error: Article starts with blank line instead of header\n" -msgstr "\n" - "Viga: Artikkel algab päise asemel tühja reaga\n" +msgid "Unknown domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Vigane doomen. Saatke vearaport, kui teie doomen on reaalselt olemas.\n" + "Kasutage \"vigase\" aadressi kirjutamisel juurmise doomenina .invalid.\n" #: src/lang.c:195 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a colon after the header name:\n" - "%s\n" -msgstr "\n" - "Viga: Päisereal %d puudub päise nime järel koolon:\n" - "%s\n" +msgid "Illegal character in FQDN.\n" +msgstr "FQDN sisaldab lubamatut sümbolit.\n" #: src/lang.c:196 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is empty.\n" -msgstr "\n" - "Viga: \"%s:\" rida on tühi.\n" +msgid "Zero length FQDN component not allowed.\n" +msgstr "Null pikkusega FQDN komponent ei ole lubatud.\n" #: src/lang.c:197 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is missing from the article header.\n" -msgstr "\n" - "Viga: Artikli päises puudub rida \"%s:\".\n" +msgid "FQDN component exceeds maximum allowed length (63 chars).\n" +msgstr "FQDN komponendi pikkus ületab maksimaalset lubatut (63 sümbolit).\n" #: src/lang.c:198 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a space after the colon:\n" - "%s\n" -msgstr "\n" - "Viga: Päisel real %d puudub kooloni järel tühik:\n" - "%s\n" +msgid "FQDN component may not start or end with hyphen.\n" +msgstr "FQDN komponendi alguses ega lõpus ei või olla kriips.\n" #: src/lang.c:199 -#, c-format -msgid "\n" - "Error: There are multiple (%d) \"%s:\" lines in the header.\n" -msgstr "\n" - "Viga: Päises on mitu (%d) \"%s:\" rida.\n" +msgid "FQDN component may not start with digit.\n" +msgstr "FQDN komponent ei või alata numbriga.\n" #: src/lang.c:200 -#, c-format -msgid "Insecure permissions of %s (%o)" -msgstr "Ebaturvalised õigused failil %s (%o)" +msgid "Domain literal has impossible numeric value.\n" +msgstr "Doomen sisaldab võimatut numbrilist väärtust.\n" #: src/lang.c:201 -#, c-format -msgid "Invalid response to GROUP command, %s" -msgstr "Vigane vastus GROUP käsule, %s" +msgid "Domain literal is for private use only and not allowed for global use.\n" +msgstr "Doomenit on lubatud kasutada ainult privaatvõrgus.\n" + +#: src/lang.c:202 +msgid "Right bracket missing in domain literal.\n" +msgstr "Doomenis puudub vasak sulg.\n" #: src/lang.c:203 -#, c-format -msgid "MIME parse error: Unexpected end of %s/%s article" -msgstr "MIME parsimise viga: Ootamatu artikli %s/%s lõpp" +msgid "Missing localpart of mail address.\n" +msgstr "Aadressil puudub lokaalne osa.\n" #: src/lang.c:204 -msgid "MIME parse error: Start boundary whilst reading headers" -msgstr "MIME parsimise viga: Algas eraldaja aga loen alles päiseid" +msgid "Illegal character in localpart of mail address.\n" +msgstr "Lubamatu sümbol aadressi lokaalses osas.\n" #: src/lang.c:205 -msgid "Can't get a (fully-qualified) domain-name!" -msgstr "Ei õnnestu saada (täis) doomeninime!" +msgid "Zero length localpart component not allowed.\n" +msgstr "Null pikkusega lokaalne komponent ei ole lubatud.\n" #: src/lang.c:206 -#, c-format -msgid "No permissions to go into %s\n" -msgstr "Puuduvad õigused siseneda %s\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" +msgstr "Pärisnimes on lubamatu sümbol.\n" + "Kvootimata sõnad aadressides ei tohi sisaldada '!()<>@,;:\\.[]'.\n" #: src/lang.c:207 -msgid "\n" - "Error: From: line missing.\n" -msgstr "\n" - "Viga: From: rida puudub.\n" +msgid "Illegal character in realname.\n" + "Quoted words may not contain '()<>\\'.\n" +msgstr "Pärisnimes on lubamatu sümbol.\n" + "Kvooditud sõnad ei või sisaldada '()<>\\'.\n" #: src/lang.c:208 -#, c-format -msgid "No read permissions for %s\n" -msgstr "%s lugemiseks pole õiguseid\n" +msgid "Illegal character in realname.\n" + "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" +msgstr "Pärisnimes on lubamatu sümbol.\n" + "Kodeeritud sõnad parameetris ei või sisaldada '!()<>@,;:\"\\.[]/='.\n" #: src/lang.c:209 -#, c-format -msgid "File %s does not exist\n" -msgstr "Faili %s pole\n" +msgid "Bad syntax in encoded word used in realname.\n" +msgstr "Vigane reaalses nimes kasutatud kodeeritud sõna süntaks.\n" #: src/lang.c:210 -#, c-format -msgid "No write permissions for %s\n" -msgstr "%s kirjutamiseks pole õiguseid\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '()<>\\' in old-style addresses.\n" +msgstr "Pärisnimes on lubamatu sümbol.\n" + "Kvootimata sõnad vanas stiilis aadressides ei või sisaldada '()<>\\'.\n" #: src/lang.c:211 -msgid "Can't get user information (/etc/passwd missing?)" -msgstr "Ei leia kasutate kohta infot (/etc/passwd puudub?)" +msgid "Illegal character in realname.\n" + "Control characters and unencoded 8bit characters > 127 are not allowed.\n" +msgstr "Pärisnimes on lubamatu sümbol.\n" + "Kontrollsümbolid ja kodeerimata 8bit sümbolid väärtusega > 127 ei ole " + "lubatud.\n" #: src/lang.c:212 -msgid "errors" -msgstr "viga" +msgid "\n" + "Error: No blank line found after header.\n" +msgstr "\n" + "Viga: peale päiseridu pole tühja rida.\n" #: src/lang.c:213 -#, c-format -msgid "\n" - "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" -msgstr "\n" - "Viga real %d: \"Sender:\" päiserida pole lubatud (see lisatakse teie eest)\n" - -#: src/lang.c:214 -#, c-format -msgid "Server has non of the groups listed in %s" -msgstr "Serveril pole failis %s näidatud gruppe" +#, fuzzy, c-format +msgid "\n" + "Error: Illegal formatted %s.\n" +msgstr "\n" + "Viga: Vigane vormindatud %s.\n" +#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:215 -msgid "error" -msgstr "viga" - -#: src/lang.c:216 -msgid "Unknown display level" -msgstr "Tundmatu ektaani tase" - -#: src/lang.c:217 -msgid "" -msgstr "" - -#: src/lang.c:218 -msgid "Exiting..." -msgstr "Lõpetan..." - -#: src/lang.c:219 -msgid "leaving external mail-reader" -msgstr "jätan välise kirjade lugeja" +msgid "\n" + "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" + " US-ASCII - please change this setting to a suitable value for\n" + " your language using the M)enu of configurable options or by\n" + " editing tinrc.\n" +msgstr "\n" + "Viga: Postitus sisaldab mitte-ASCII sümboleid, aga MM_CHARSET väärtuseks\n" + " on US_ASCII - palun seadke MM_CHARSET väärtus oma keelele sobivaks\n" + " kasutades seadete M)enüüd või toimetades tinrc faili.\n" #: src/lang.c:220 +msgid "\n" + "Error: Posting contains non-ASCII characters but the MIME encoding\n" + " for news messages is set to \"7bit\" - please change this\n" + " setting to \"8bit\" or \"quoted-printable\" depending on what\n" + " is more common in your part of the world. This can be done\n" + " using the M)enu of configurable options or by editing tinrc.\n" +msgstr "\n" + "Viga: Postitus sisaldab mitte-ASCII sümboleid, aga artiklite kodeerimisel\n" + " kasutatavaks MIME kodeeringuks on valitud \"7bit\" - palun muutke see\n" + " \"8bit\" või \"quoted-printable\", vastavalt, milline meetod on teil\n" + " enam levinud. Muuta saate kasutades seadete M)enüüd või toimetades\n" + " tinrc faili.\n" + +#: src/lang.c:226 +msgid "\n" + "Error: Article starts with blank line instead of header\n" +msgstr "\n" + "Viga: Artikkel algab päise asemel tühja reaga\n" + +#: src/lang.c:227 #, c-format -msgid "Extracting %s..." -msgstr "Loon %s..." +msgid "\n" + "Error: Header on line %d does not have a colon after the header name:\n" + "%s\n" +msgstr "\n" + "Viga: Päisereal %d puudub päise nime järel koolon:\n" + "%s\n" -#: src/lang.c:222 +#: src/lang.c:228 #, c-format -msgid "Error writing %s file. Filesystem full? File reset to previous state." -msgstr "Viga faili %s kirjutamisel. Failisüsteem on täis? Faili eelmine olek " - "taastatud." +msgid "\n" + "Error: The \"%s:\" line is empty.\n" +msgstr "\n" + "Viga: \"%s:\" rida on tühi.\n" -#: src/lang.c:223 +#: src/lang.c:229 #, c-format -msgid "Error making backup of %s file. Filesystem full?" -msgstr "Failist %s ei õnnestu varukoopiat luua. Failisüsteem on täis?" +msgid "\n" + "Error: The \"%s:\" line is missing from the article header.\n" +msgstr "\n" + "Viga: Artikli päises puudub rida \"%s:\".\n" -#: src/lang.c:224 +#: src/lang.c:230 #, c-format -msgid "Filtering global rules (%d/%d)..." -msgstr "Filtreerin globaalseid reegleid (%d/%d)..." +msgid "\n" + "Error: %s contains non 7bit chars.\n" +msgstr "\n" + "Viga: %s sisaldab mitte 7bit sümboleid.\n" -#: src/lang.c:225 -msgid "Rule created by: " -msgstr "Reegli looja: " +#: src/lang.c:231 +#, c-format +msgid "\n" + "Error: Header on line %d does not have a space after the colon:\n" + "%s\n" +msgstr "\n" + "Viga: Päisel real %d puudub kooloni järel tühik:\n" + "%s\n" -#: src/lang.c:226 +#: src/lang.c:232 #, c-format -msgid "Enter pattern [%s]> " -msgstr "Sisestage muster [%s]> " +msgid "\n" + "Error: There are multiple (%d) \"%s:\" lines in the header.\n" +msgstr "\n" + "Viga: Päises on mitu (%d) \"%s:\" rida.\n" -#: src/lang.c:227 +#: src/lang.c:233 #, c-format -msgid "\n" - "You requested followups to your article to go to the following %s:\n" -msgstr "\n" - "Te soovisite vastused artiklile %s:\n" +msgid "Insecure permissions of %s (%o)" +msgstr "Ebaturvalised õigused failil %s (%o)" -#: src/lang.c:228 +#: src/lang.c:235 #, c-format -msgid " %s\t Answers will be directed to you by mail.\n" -msgstr " %s\t Vastused saadetakse teile kirjaga.\n" +msgid "Invalid response to GROUP command, %s" +msgstr "Vigane vastus GROUP käsule, %s" -#: src/lang.c:229 -msgid "-- forwarded message --\n" -msgstr "-- edastatud teade --\n" +#: src/lang.c:240 +#, c-format +msgid "MIME parse error: Unexpected end of %s/%s article" +msgstr "MIME parsimise viga: Ootamatu artikli %s/%s lõpp" -#: src/lang.c:230 -msgid "-- end of forwarded message --\n" -msgstr "-- edastatud teate lõpp --\n" +#: src/lang.c:241 +msgid "MIME parse error: Start boundary whilst reading headers" +msgstr "MIME parsimise viga: Algas eraldaja aga loen alles päiseid" -#: src/lang.c:231 -msgid "# Format:\n" - "# comment=STRING Optional. Multiple lines allowed. Comments must be " - "placed\n" - "# at the beginning of a rule, or they will be moved to " - "the\n" - "# next rule. '#' is not a valid keyword for a comment!\n" - "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" - "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" - "# score=NUM|STRING Mandatory. Score to give. Either:\n" - "# score=NUM A number (e.g. 70). Or:\n" - "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" - "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" - "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" - "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" - "# full references.\n" - "# msgid_last=STRING Optional. Like above, but with last reference only.\n" - "# msgid_only=STRING Optional. Like above, but without references.\n" - "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " - "without\n" - "# Message-ID:\n" - "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" - "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " - "opt.\n" - "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" - "# time=NUM Optional. time_t value when rule expires\n" - "#\n" -msgstr "# Vorming:\n" - "# comment=SÕNE Mittekohustuslik. Lubatud on mitu rida. Kommentaarid\n" - "# peavad olema reegli alguses või nad tõstetakse " - "järgmise\n" - "# reegli juurde. '#' ei ole kommentaari jaoks lubatud!\n" - "# group=SÕNE Kohustuslik. Gruppide loend (n. comp.*,!*sources*).\n" - "# case=NUM Kohustuslik. Võrdle=0 / ignoreeri=1 filtreerimisel\n" - "# suur-väiketähti.\n" - "# score=NUMBER|SÕNE Kohustuslik. Omistatav kaal. Kas:\n" - "# score=NUMBER number (nt. 70). Või:\n" - "# score=SÕNE üks kahest võtmesõnast: 'hot' või 'kill'.\n" - "# subj=SÕNE Mittekohustuslik. Subject: rida (n. Kuidas olla tark).\n" - "# from=SÕNE Mittekohustuslik. From: rida (n. *Jaan Tamm*)\n" - "# msgid=SÕNE Mittekohustuslik. Message-ID: rida (n. <123@ether." - "net>)\n" - "# koos kõikide viidetega.\n" - "# msgid_last=SÕNE Mittekohustuslik. Nagu ülal, aga ainult viimane viide.\n" - "# msgid_only=SÕNE Mittekohustuslik. Nagu ülal, aga viideteta.\n" - "# refs_only=SÕNE Mittekohustuslik. References: rida (n. <123@ether." - "net>)\n" - "# ilma Message-ID:\n" - "# lines=[<>]?NUMBER Mittekohustuslik. Lines: rida. '<' või '>' pole\n" - "# kohustuslikud.\n" - "# gnksa=[<>]?NUMBER Mittekohustuslik. GNKSA parse_from() tagastatud kood.\n" - "# '<' või '>' pole kohustuslikud.\n" - "# xref=MUSTER Mittekohustuslik. Surmamise muster (n. alt.flame*)\n" - "# time=NUMBER Mittekohustuslik. Reegli aegumine time_t väärtusena\n" - "#\n" +#: src/lang.c:242 +#, fuzzy +msgid "\n" + "Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "\n" + "Viga: \"poster\" ei ole lubatud grupp!\n" -#: src/lang.c:252 +#: src/lang.c:243 +msgid "Can't get a (fully-qualified) domain-name!" +msgstr "Ei õnnestu saada (täis) doomeninime!" + +#: src/lang.c:244 +#, c-format +msgid "No permissions to go into %s\n" +msgstr "Puuduvad õigused siseneda %s\n" + +#: src/lang.c:246 +msgid "\n" + "Error: From: line missing.\n" +msgstr "\n" + "Viga: From: rida puudub.\n" + +#: src/lang.c:248 #, c-format -msgid "Enter score for rule (default=%d): " -msgstr "Reegli kaal (vaikimisi=%d): " +msgid "No read permissions for %s\n" +msgstr "%s lugemiseks pole õiguseid\n" -#: src/lang.c:253 +#: src/lang.c:249 #, c-format -msgid "Enter the score weight (range 0 < score <= %d)" -msgstr "Sisestage reegli kaal (vahemik on 0 < kaal <= %d)" +msgid "File %s does not exist\n" +msgstr "Faili %s pole\n" -#. SCORE_MAX -#: src/lang.c:254 -msgid "Full" -msgstr "Täis" +#: src/lang.c:250 +#, c-format +msgid "No write permissions for %s\n" +msgstr "%s kirjutamiseks pole õiguseid\n" + +#: src/lang.c:251 +msgid "Can't get user information (/etc/passwd missing?)" +msgstr "Ei leia kasutate kohta infot (/etc/passwd puudub?)" + +#: src/lang.c:252 +msgid "errors" +msgstr "viga" -#: src/lang.c:255 -msgid "Comment (optional) : " -msgstr "Kommentaar (vaba) : " +#: src/lang.c:254 +#, c-format +msgid "\n" + "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" +msgstr "\n" + "Viga real %d: \"Sender:\" päiserida pole lubatud (see lisatakse teie eest)\n" #: src/lang.c:256 -msgid "Apply pattern to : " -msgstr "Rakenda mustrit : " +#, c-format +msgid "Server has non of the groups listed in %s" +msgstr "Serveril pole failis %s näidatud gruppe" #: src/lang.c:257 -msgid "From: line (ignore case) " -msgstr "From: rida (tõstutundetu) " +msgid "error" +msgstr "viga" #: src/lang.c:258 -msgid "From: line (case sensitive) " -msgstr "From: rida (tõstutundlik) " +msgid "Unknown display level" +msgstr "Tundmatu ektaani tase" + +#: src/lang.c:259 +msgid "" +msgstr "" #: src/lang.c:260 -#, c-format -msgid "%s%s: Unknown host.\n" -msgstr "%s%s: Tundmatu host.\n" +msgid "Exiting..." +msgstr "Lõpetan..." #: src/lang.c:261 -msgid "global " -msgstr "globaalset " +msgid "leaving external mail-reader" +msgstr "jätan välise kirjade lugeja" #: src/lang.c:262 #, c-format -msgid "Please use %.100s instead" -msgstr "Kasutage selle asemel palun %.100s" - -#: src/lang.c:263 -#, c-format -msgid "%s is bogus" -msgstr "gruppi %s pole" +msgid "Extracting %s..." +msgstr "Loon %s..." #: src/lang.c:264 #, c-format -msgid "Group %s is moderated. Continue?" -msgstr "Grupp %s on modereeritav. Jätkan?" +msgid "Error writing %s file. Filesystem full? File reset to previous state." +msgstr "Viga faili %s kirjutamisel. Failisüsteem on täis? Faili eelmine olek " + "taastatud." #: src/lang.c:265 -msgid "groups" -msgstr "gruppi" +#, c-format +msgid "Error making backup of %s file. Filesystem full?" +msgstr "Failist %s ei õnnestu varukoopiat luua. Failisüsteem on täis?" #: src/lang.c:266 #, c-format -msgid "Rereading %s..." -msgstr "Loen %s uuesti..." +msgid "Filtering global rules (%d/%d)..." +msgstr "Filtreerin globaalseid reegleid (%d/%d)..." #: src/lang.c:267 -msgid "Top Level Commands" -msgstr "Ülemise taseme käsud" +msgid "Rule created by: " +msgstr "Reegli looja: " #: src/lang.c:268 -msgid "Group Selection" -msgstr "Grupi valik" +#, c-format +msgid "Enter pattern [%s]> " +msgstr "Sisestage muster [%s]> " #: src/lang.c:269 -msgid "group" -msgstr "grupp" +#, c-format +msgid "\n" + "You requested followups to your article to go to the following %s:\n" +msgstr "\n" + "Te soovisite vastused artiklile %s:\n" + +#: src/lang.c:270 +#, c-format +msgid " %s\t Answers will be directed to you by mail.\n" +msgstr " %s\t Vastused saadetakse teile kirjaga.\n" #: src/lang.c:271 -msgid "One or more lines of comment. to add a line or proceed if line is empty." -msgstr "Üks või enam kommentaari rida. lisamiseks või tühja rea jätkamiseks." +msgid "-- forwarded message --\n" +msgstr "-- edastatud teade --\n" #: src/lang.c:272 -msgid "From: line to add to filter file. toggles & sets." -msgstr "From: rida filtrite faili. lülitab, seab." +msgid "-- end of forwarded message --\n" +msgstr "-- edastatud teate lõpp --\n" #: src/lang.c:273 -msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." -msgstr "Filtraaritavate artiklite ridu. < on vähem, > on rohkem, = on võrdne." - -#: src/lang.c:274 -msgid "Message-ID: line to add to filter file. toggles & sets." -msgstr "Message-ID: rida filtri faili lisamiseks. lülitab, seab." - -#: src/lang.c:275 -msgid "Subject: line to add to filter file. toggles & sets." -msgstr "Subject: rida filtri faili lisamiseks. lülitab, seab." - -#: src/lang.c:276 -msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." -msgstr "Sisestage filtreerimiseks tekstimuster, kui Subject: ja From: ei ole piisav." - -#: src/lang.c:277 -msgid "Select where text pattern should be applied. toggles & sets." -msgstr "Valige, kus tekstimustrit rakendada. lülitab, seab." - -#: src/lang.c:278 -msgid "Expiration time in days for the entered filter. toggles & sets." -msgstr "Sisestatud filtri aegumisaeg päevades. lülitab, seab." - -#: src/lang.c:279 -msgid "Apply kill only to current group or all groups. toggles & sets." -msgstr "Kasuta surmamist jooksval/kõikidel gruppidel. lülitab, seab." - -#: src/lang.c:280 -msgid "Apply select to current group or all groups. toggles & sets." -msgstr "Kasuta valikut jooksval/kõikidel gruppidel. lülitab, seab." - -#: src/lang.c:281 -msgid "kill an article via a menu" -msgstr "artiklite surmamise menüü" - -#: src/lang.c:282 -msgid "auto-select (hot) an article via a menu" -msgstr "(kuuma) artikli automaatse valiku menüü" - -#: src/lang.c:283 -msgid "Browse URLs in article" -msgstr "Brausi artiklis olevaid URLe" - -#: src/lang.c:284 -msgid "0 - 9\t display article by number in current thread" -msgstr "0 - 9\t näita jooksva teema numbri järgi valitud artiklit" - -#: src/lang.c:285 -msgid "cancel (delete) or supersede (overwrite) current article" -msgstr "katkesta (kustuta) või asenda (kirjuta üle) jooksev artikkel" - -#: src/lang.c:286 -msgid "edit article (mail-groups only)" -msgstr "toimeta artiklit (ainult kirjade-grupid)" - -#: src/lang.c:287 -msgid "display first article in current thread" -msgstr "näita jooksva teema esimest artiklit" - -#: src/lang.c:288 -msgid "display first page of article" -msgstr "näita artikli esimest lehekülge" - -#: src/lang.c:289 -msgid "post followup to current article" -msgstr "postita vastus jooksvale artiklile" - -#: src/lang.c:290 -msgid "post followup (don't copy text) to current article" -msgstr "postita vastus (kopeeri teksti) jooksvale artiklile" - -#: src/lang.c:291 -msgid "post followup to current article quoting complete headers" -msgstr "postita vastus jooksvale artiklile, tsiteerides kõiki päiseid" - -#: src/lang.c:292 -msgid "display last article in current thread" -msgstr "näita jooksva teema viimast artiklit" - -#: src/lang.c:293 -msgid "display last page of article" -msgstr "näita artikli viimast lehekülge" +msgid "# Format:\n" + "# comment=STRING Optional. Multiple lines allowed. Comments must be " + "placed\n" + "# at the beginning of a rule, or they will be moved to " + "the\n" + "# next rule. '#' is not a valid keyword for a comment!\n" + "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" + "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" + "# score=NUM|STRING Mandatory. Score to give. Either:\n" + "# score=NUM A number (e.g. 70). Or:\n" + "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" + "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" + "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" + "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" + "# full references.\n" + "# msgid_last=STRING Optional. Like above, but with last reference only.\n" + "# msgid_only=STRING Optional. Like above, but without references.\n" + "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " + "without\n" + "# Message-ID:\n" + "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" + "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " + "opt.\n" + "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" + "# time=NUM Optional. time_t value when rule expires\n" + "#\n" +msgstr "# Vorming:\n" + "# comment=SÕNE Mittekohustuslik. Lubatud on mitu rida. Kommentaarid\n" + "# peavad olema reegli alguses või nad tõstetakse " + "järgmise\n" + "# reegli juurde. '#' ei ole kommentaari jaoks lubatud!\n" + "# group=SÕNE Kohustuslik. Gruppide loend (n. comp.*,!*sources*).\n" + "# case=NUM Kohustuslik. Võrdle=0 / ignoreeri=1 filtreerimisel\n" + "# suur-väiketähti.\n" + "# score=NUMBER|SÕNE Kohustuslik. Omistatav kaal. Kas:\n" + "# score=NUMBER number (nt. 70). Või:\n" + "# score=SÕNE üks kahest võtmesõnast: 'hot' või 'kill'.\n" + "# subj=SÕNE Mittekohustuslik. Subject: rida (n. Kuidas olla tark).\n" + "# from=SÕNE Mittekohustuslik. From: rida (n. *Jaan Tamm*)\n" + "# msgid=SÕNE Mittekohustuslik. Message-ID: rida (n. <123@ether." + "net>)\n" + "# koos kõikide viidetega.\n" + "# msgid_last=SÕNE Mittekohustuslik. Nagu ülal, aga ainult viimane viide.\n" + "# msgid_only=SÕNE Mittekohustuslik. Nagu ülal, aga viideteta.\n" + "# refs_only=SÕNE Mittekohustuslik. References: rida (n. <123@ether." + "net>)\n" + "# ilma Message-ID:\n" + "# lines=[<>]?NUMBER Mittekohustuslik. Lines: rida. '<' või '>' pole\n" + "# kohustuslikud.\n" + "# gnksa=[<>]?NUMBER Mittekohustuslik. GNKSA parse_from() tagastatud kood.\n" + "# '<' või '>' pole kohustuslikud.\n" + "# xref=MUSTER Mittekohustuslik. Surmamise muster (n. alt.flame*)\n" + "# time=NUMBER Mittekohustuslik. Reegli aegumine time_t väärtusena\n" + "#\n" #: src/lang.c:294 -msgid "mark rest of thread as read and advance to next unread" -msgstr "märgi teema loetuks ja liigu järgmisele lugemata teemale" +#, c-format +msgid "Enter score for rule (default=%d): " +msgstr "Reegli kaal (vaikimisi=%d): " #: src/lang.c:295 -msgid "display next article" -msgstr "näita järgmist artiklit" +#, c-format +msgid "Enter the score weight (range 0 < score <= %d)" +msgstr "Sisestage reegli kaal (vahemik on 0 < kaal <= %d)" +#. SCORE_MAX #: src/lang.c:296 -msgid "display first article in next thread" -msgstr "näita järgmise teema esimest artiklit" +msgid "Full" +msgstr "Täis" #: src/lang.c:297 -msgid "display next unread article" -msgstr "näita järgmist lugemata artiklit" +msgid "Comment (optional) : " +msgstr "Kommentaar (vaba) : " #: src/lang.c:298 -msgid "go to the article that this one followed up" -msgstr "mine artiklile, millele see artikkel järgneb" +msgid "Apply pattern to : " +msgstr "Rakenda mustrit : " #: src/lang.c:299 -msgid "display previous article" -msgstr "näita eelmist artiklit" +msgid "From: line (ignore case) " +msgstr "From: rida (tõstutundetu) " #: src/lang.c:300 -msgid "display previous unread article" -msgstr "näita eelmist lugemata artiklit" - -#: src/lang.c:301 -msgid "quickly kill an article using defaults" -msgstr "surma kiiresti artikkel, kasutades vaikeväärtusi" +msgid "From: line (case sensitive) " +msgstr "From: rida (tõstutundlik) " #: src/lang.c:302 -msgid "quickly auto-select (hot) an article using defaults" -msgstr "vali kiiresti vaikeväärtusi kasutades (kuumad) artiklid" - -#: src/lang.c:303 -msgid "return to group selection level" -msgstr "tagasi gruppide valikusse" +#, c-format +msgid "%s%s: Unknown host.\n" +msgstr "%s%s: Tundmatu host.\n" #: src/lang.c:304 -msgid "reply through mail to author" -msgstr "vasta autorile kirjaga" +msgid "global " +msgstr "globaalset " #: src/lang.c:305 -msgid "reply through mail (don't copy text) to author" -msgstr "vasta autorile kirjaga (teksti ei kopeerita)" +#, c-format +msgid "Please use %.100s instead" +msgstr "Kasutage selle asemel palun %.100s" #: src/lang.c:306 -msgid "reply through mail to author quoting complete headers" -msgstr "vasta autorile kirjaga, tsiteerides kõiki päiseid" +#, c-format +msgid "%s is bogus" +msgstr "gruppi %s pole" #: src/lang.c:307 -msgid "repost chosen article to another group" -msgstr "postita valitud artikkel teise gruppi" +#, c-format +msgid "Group %s is moderated. Continue?" +msgstr "Grupp %s on modereeritav. Jätkan?" #: src/lang.c:308 -msgid "search backwards within this article" -msgstr "otsi artiklis tagaspidi" +msgid "groups" +msgstr "gruppi" #: src/lang.c:309 -msgid "search forwards within this article" -msgstr "otsi artiklis edaspidi" +#, c-format +msgid "Rereading %s..." +msgstr "Loen %s uuesti..." #: src/lang.c:310 -msgid "show article in raw-mode (including all headers)" -msgstr "näita kogu artiklit (koos päistega)" +msgid "Top Level Commands" +msgstr "Ülemise taseme käsud" #: src/lang.c:311 -msgid "skip next block of included text" -msgstr "järgmisele tekstiblokile" +msgid "Group Selection" +msgstr "Grupi valik" #: src/lang.c:312 -msgid "toggle display of sections hidden by a form-feed (^L) on/off" -msgstr "lülita lehevahetusega (^L) peidetud osade näitamist" - -#: src/lang.c:313 -msgid "toggle word highlighting on/off" -msgstr "lülita sõnade märkimine sisse/välja" +msgid "group" +msgstr "grupp" #: src/lang.c:314 -msgid "toggle ROT-13 (basic decode) for current article" -msgstr "lülita jooksva artikli ROT-13 (lihtne dekodeering) kodeering" +msgid "One or more lines of comment. to add a line or proceed if line is empty." +msgstr "Üks või enam kommentaari rida. lisamiseks või tühja rea jätkamiseks." #: src/lang.c:315 -msgid "toggle tabwidth 4 <-> 8" -msgstr "lülita tabulaatori laius 4 <-> 8" +msgid "From: line to add to filter file. toggles & sets." +msgstr "From: rida filtrite faili. lülitab, seab." #: src/lang.c:316 -msgid "toggle german TeX style decoding for current article" -msgstr "lülita jooksva artikli saksa TeX stiilis dekodeerimine" +msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." +msgstr "Filtraaritavate artiklite ridu. < on vähem, > on rohkem, = on võrdne." #: src/lang.c:317 -msgid "toggle display of uuencoded sections" -msgstr "lülita uuenkodeeritud osade näitamine" +msgid "Message-ID: line to add to filter file. toggles & sets." +msgstr "Message-ID: rida filtri faili lisamiseks. lülitab, seab." #: src/lang.c:318 -msgid "View/save multimedia attachments" -msgstr "Vaata/salvesta multimeedia lisasid" +msgid "Subject: line to add to filter file. toggles & sets." +msgstr "Subject: rida filtri faili lisamiseks. lülitab, seab." #: src/lang.c:319 -#, c-format -msgid "report bug or comment via mail to %s" -msgstr "saatke vearaport või kommentaar aadressile %s" +msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." +msgstr "Sisestage filtreerimiseks tekstimuster, kui Subject: ja From: ei ole piisav." #: src/lang.c:320 -msgid "choose range of articles to be affected by next command" -msgstr "valige järgmise käsuga töödeldavate artiklite vahemik" +msgid "Select where text pattern should be applied. toggles & sets." +msgstr "Valige, kus tekstimustrit rakendada. lülitab, seab." #: src/lang.c:321 -msgid "escape from command prompt" -msgstr "pääs käsuviibalt" +msgid "Expiration time in days for the entered filter. toggles & sets." +msgstr "Sisestatud filtri aegumisaeg päevades. lülitab, seab." #: src/lang.c:322 -msgid "edit filter file" -msgstr "toimeta filtrite faili" +msgid "Apply kill only to current group or all groups. toggles & sets." +msgstr "Kasuta surmamist jooksval/kõikidel gruppidel. lülitab, seab." #: src/lang.c:323 -msgid "get help" -msgstr "anna abiinfot" +msgid "Apply select to current group or all groups. toggles & sets." +msgstr "Kasuta valikut jooksval/kõikidel gruppidel. lülitab, seab." #: src/lang.c:324 -msgid "display last article viewed" -msgstr "näita viimasena vaadatud artiklit" +msgid "kill an article via a menu" +msgstr "artiklite surmamise menüü" #: src/lang.c:325 -msgid "down one line" -msgstr "üks rida alla" +msgid "auto-select (hot) an article via a menu" +msgstr "(kuuma) artikli automaatse valiku menüü" #: src/lang.c:326 -msgid "up one line" -msgstr "üles üks rida" +msgid "Browse URLs in article" +msgstr "Brausi artiklis olevaid URLe" #: src/lang.c:327 -msgid "go to article chosen by Message-ID" -msgstr "liigu Message-ID poolt määratud artiklile" - -#: src/lang.c:328 -msgid "mail article/thread/hot/pattern/tagged articles to someone" -msgstr "saada artikkel/teema/kuum/muster/märgitud kellelegi" +msgid "0 - 9\t display article by number in current thread" +msgstr "0 - 9\t näita jooksva teema numbri järgi valitud artiklit" #: src/lang.c:329 -msgid "menu of configurable options" -msgstr "seadete menüü" +msgid "cancel (delete) or supersede (overwrite) current article" +msgstr "katkesta (kustuta) või asenda (kirjuta üle) jooksev artikkel" #: src/lang.c:330 -msgid "down one page" -msgstr "alla üks lehekülg" +msgid "post followup to current article" +msgstr "postita vastus jooksvale artiklile" #: src/lang.c:331 -msgid "up one page" -msgstr "üles üks lehekülg" +msgid "post followup (don't copy text) to current article" +msgstr "postita vastus (kopeeri teksti) jooksvale artiklile" #: src/lang.c:332 -msgid "post (write) article to current group" -msgstr "postita (kirjuta) artikkel jooksvasse gruppi" +msgid "post followup to current article quoting complete headers" +msgstr "postita vastus jooksvale artiklile, tsiteerides kõiki päiseid" #: src/lang.c:333 -msgid "post postponed articles" -msgstr "postita ootel artiklid" - -#: src/lang.c:334 -msgid "list articles posted by you (from posted file)" -msgstr "näita teie poolt postitatud artikleid (failist posted)" +msgid "repost chosen article to another group" +msgstr "postita valitud artikkel teise gruppi" #: src/lang.c:335 -msgid "return to previous menu" -msgstr "tagasi eelmisse menüüsse" +msgid "edit article (mail-groups only)" +msgstr "toimeta artiklit (ainult kirjade-grupid)" #: src/lang.c:336 -msgid "quit tin immediately" -msgstr "välju viivitamata tinist" +msgid "display first article in current thread" +msgstr "näita jooksva teema esimest artiklit" #: src/lang.c:337 -msgid "redraw page" -msgstr "värskenda lehekülge" +msgid "display first page of article" +msgstr "näita artikli esimest lehekülge" #: src/lang.c:338 -msgid "save article/thread/hot/pattern/tagged articles to file" -msgstr "salvesta artikkel/teema/kuum/muster/märgitud faili" +msgid "display last article in current thread" +msgstr "näita jooksva teema viimast artiklit" #: src/lang.c:339 -msgid "save marked articles automatically without user prompts" -msgstr "salvesta märgitud artiklid automaatselt, kasutajalt küsimata" +msgid "display last page of article" +msgstr "näita artikli viimast lehekülge" #: src/lang.c:340 -msgid "scroll the screen one line down" -msgstr "keri ekraani rida alla" +msgid "mark rest of thread as read and advance to next unread" +msgstr "märgi teema loetuks ja liigu järgmisele lugemata teemale" #: src/lang.c:341 -msgid "scroll the screen one line up" -msgstr "keri ekraani rida üles" +msgid "display next article" +msgstr "näita järgmist artiklit" #: src/lang.c:342 -msgid "search for articles by author backwards" -msgstr "otsi artikleid autori järgi tagaspidi" +msgid "display first article in next thread" +msgstr "näita järgmise teema esimest artiklit" #: src/lang.c:343 -msgid "search for articles by author forwards" -msgstr "otsi artikleid autori järgi edaspidi" +msgid "display next unread article" +msgstr "näita järgmist lugemata artiklit" #: src/lang.c:344 -msgid "search all articles for a given string (this may take some time)" -msgstr "otsi antud teksti artiklitest (see võib võtta aega)" +msgid "go to the article that this one followed up" +msgstr "mine artiklile, millele see artikkel järgneb" #: src/lang.c:345 -msgid " \t (searches are case-insensitive and wrap around to all articles)" -msgstr " \t (otsing on tõstutundetu ja käib üle kõikide artiklite)" +msgid "display previous article" +msgstr "näita eelmist artiklit" #: src/lang.c:346 -msgid "search for articles by Subject line backwards" -msgstr "otsi artiklit teema järgi tagaspidi" +msgid "display previous unread article" +msgstr "näita eelmist lugemata artiklit" #: src/lang.c:347 -msgid "search for articles by Subject line forwards" -msgstr "otsi artiklit teema järgi edaspidi" +msgid "quickly kill an article using defaults" +msgstr "surma kiiresti artikkel, kasutades vaikeväärtusi" #: src/lang.c:348 -msgid "repeat last search" -msgstr "korda eelmist otsingut" +msgid "quickly auto-select (hot) an article using defaults" +msgstr "vali kiiresti vaikeväärtusi kasutades (kuumad) artiklid" #: src/lang.c:349 -msgid "tag current article for reposting/mailing/piping/printing/saving" -msgstr "märgi jooksev artikkel, et postitada/saata/trükkida/salvestada/torusse" +msgid "return to group selection level" +msgstr "tagasi gruppide valikusse" #: src/lang.c:350 -msgid "toggle info message in last line (subject/description)" -msgstr "lülita viimase rea infoteadet (teema/kirjeldus)" +msgid "reply through mail to author" +msgstr "vasta autorile kirjaga" #: src/lang.c:351 -msgid "toggle inverse video" -msgstr "lülita pööratud video" +msgid "reply through mail (don't copy text) to author" +msgstr "vasta autorile kirjaga (teksti ei kopeerita)" #: src/lang.c:352 -msgid "toggle mini help menu display" -msgstr "abiinfo lülita ekraanil miniabi menüüd" +msgid "reply through mail to author quoting complete headers" +msgstr "vasta autorile kirjaga, tsiteerides kõiki päiseid" #: src/lang.c:353 -msgid "cycle the display of authors email address, real name, both or neither" -msgstr "vali näitamiseks autori aadress, pärisnimi, mõlemad või mitte midagi" +msgid "search backwards within this article" +msgstr "otsi artiklis tagaspidi" #: src/lang.c:354 -msgid "show version information" -msgstr "esita info versioonist" +msgid "search forwards within this article" +msgstr "otsi artiklis edaspidi" #: src/lang.c:355 -msgid "mark all articles as read and return to group selection menu" -msgstr "märgi artiklid loetuks ja välju gruppide valiku menüüsse" +msgid "show article in raw-mode (including all headers)" +msgstr "näita kogu artiklit (koos päistega)" #: src/lang.c:356 -msgid "mark all articles as read and enter next group with unread articles" -msgstr "märgi artiklid loetuks, sisene järgmisse lugemata artiklitega gruppi" +msgid "skip next block of included text" +msgstr "järgmisele tekstiblokile" #: src/lang.c:357 -msgid "choose first thread in list" -msgstr "vali loendist esimene teema" +msgid "toggle display of sections hidden by a form-feed (^L) on/off" +msgstr "lülita lehevahetusega (^L) peidetud osade näitamist" #: src/lang.c:358 -msgid "choose last thread in list" -msgstr "vali loendist viimane teema" +#, fuzzy +msgid "toggle display of all headers" +msgstr "lülita ekraanil kõik/lugemata artiklid" #: src/lang.c:359 -msgid "list articles within current thread (bring up Thread sub-menu)" -msgstr "artiklite loend jooksvas teemas (esita teema alam-menüü)" +msgid "toggle word highlighting on/off" +msgstr "lülita sõnade märkimine sisse/välja" #: src/lang.c:360 -msgid "mark article as unread" -msgstr "märgi artikkel loetuks" +msgid "toggle ROT-13 (basic decode) for current article" +msgstr "lülita jooksva artikli ROT-13 (lihtne dekodeering) kodeering" #: src/lang.c:361 -msgid "mark current thread or tagged threads as read" -msgstr "märgi jooksev teema või märgitud teemad loetuks" +msgid "toggle tabwidth 4 <-> 8" +msgstr "lülita tabulaatori laius 4 <-> 8" #: src/lang.c:362 -msgid "mark thread as unread" -msgstr "märgi teema loetuks" +msgid "toggle german TeX style decoding for current article" +msgstr "lülita jooksva artikli saksa TeX stiilis dekodeerimine" #: src/lang.c:363 -msgid "toggle display of all/selected articles" -msgstr "lülita ekraanile kõik/valitud artiklid" +msgid "toggle display of uuencoded sections" +msgstr "lülita uuenkodeeritud osade näitamine" #: src/lang.c:364 -msgid "display next group" -msgstr "näita järgmist gruppi" +#, fuzzy +msgid "View/pipe/save multimedia attachments" +msgstr "Vaata/salvesta multimeedia lisasid" #: src/lang.c:365 -msgid "display previous group" -msgstr "näita eelmist gruppi" +#, fuzzy +msgid "choose first attachment in list" +msgstr "vali loendis esimene artikkel" #: src/lang.c:366 -msgid "toggle all selections (all articles)" -msgstr "lülita kõiki valikuid (kõiki artikleid)" +#, fuzzy +msgid "0 - 9\t choose attachment by number" +msgstr "0 - 9\t vali numbri järgi artikkel" #: src/lang.c:367 -msgid "select group (make \"hot\")" -msgstr "vali grupp (muuda \"kuumaks\")" - -#: src/lang.c:368 -msgid "select thread" -msgstr "vali teema" +#, fuzzy +msgid "choose last attachment in list" +msgstr "vali loendis viimane artikkel" #: src/lang.c:369 -msgid "select threads if at least one unread article is selected" -msgstr "vali teemad, kui on valitud vähemalt üks lugemata artikkel" +msgid "pipe attachment into command" +msgstr "" #: src/lang.c:370 -msgid "select threads that match user specified pattern" -msgstr "vali kasutaja määratud mustrile vastavad teemad" - -#: src/lang.c:371 -msgid "tag all parts of current multipart-message in order" -msgstr "märgi jooksva mitmeosalise teate kõik osad" +#, fuzzy +msgid "pipe raw attachment into command" +msgstr "Atribuutide menüü käsud" #: src/lang.c:372 -msgid "0 - 9\t choose thread by number" -msgstr "0 - 9\t vali numbri järgi teema" +msgid "save attachment to disk" +msgstr "" #: src/lang.c:373 -msgid "toggle limit number of articles to get, and reload" -msgstr "sea laetavate artiklite piirang ja lae uuesti" +#, fuzzy +msgid "search for attachments forwards" +msgstr "otsi artikleid autori järgi edaspidi" #: src/lang.c:374 -msgid "toggle display of all/unread articles" -msgstr "lülita ekraanil kõik/lugemata artiklid" +#, fuzzy +msgid "search for attachments backwards" +msgstr "otsi artikleid autori järgi tagaspidi" #: src/lang.c:375 -msgid "toggle selection of thread" -msgstr "lülita teema valikut" +msgid "view attachment" +msgstr "" #: src/lang.c:376 -msgid "cycle through threading options available" -msgstr "erinevad teemade käsitlemise võtmed" +#, fuzzy +msgid "tag attachment" +msgstr "Valige artikkel> " #: src/lang.c:377 -msgid "undo all selections (all articles)" -msgstr "ennista kõik valikud (kõik artiklid)" +#, fuzzy +msgid "tag attachments that match user specified pattern" +msgstr "vali kasutaja määratud mustrile vastavad teemad" #: src/lang.c:378 -msgid "untag all tagged threads" -msgstr "eemalda märgistus kõikidelt märgitud teemadelt" +msgid "reverse tagging on all attachments (toggle)" +msgstr "" #: src/lang.c:379 -msgid "mark all articles in group as read" -msgstr "märgi valitud grupis kõik artiklid loetuks" +#, fuzzy +msgid "untag all tagged attachments" +msgstr "eemalda märgistus kõikidelt märgitud teemadelt" #: src/lang.c:380 -msgid "mark all articles in group as read and move to next unread group" -msgstr "märgi grupp loetuks ja liigu järgmisele lugemata grupile" +#, fuzzy +msgid "toggle info message in last line (name/description of attachment)" +msgstr "lülita viimase rea infoteadet (teema/kirjeldus)" #: src/lang.c:381 -msgid "choose first group in list" -msgstr "vali loetelust esimene grupp" +msgid "choose first attribute in list" +msgstr "vali loendis esimene atribuut" #: src/lang.c:382 -msgid "choose group by name" -msgstr "vali grupp nime järgi" +msgid "0 - 9\t choose attribute by number" +msgstr "0 - 9\t vali numbri järgi atribuut" #: src/lang.c:383 -msgid "0 - 9\t choose group by number" -msgstr "0 - 9\t vali grupp numbri järgi" +msgid "choose last attribute in list" +msgstr "vali loendis viimane atribuut" #: src/lang.c:384 -msgid "choose range of groups to be affected by next command" -msgstr "järgmise käsuga töödeldavate gruppide vahemik" +msgid "reset attribute to a default value" +msgstr "sea atribuudile vaikeväärtus" #: src/lang.c:385 -msgid "choose last group in list" -msgstr "vali loetelust viimane grupp" +msgid "search forwards for an attribute" +msgstr "otsi atribuuti edaspidi" #: src/lang.c:386 -msgid "mark all articles in chosen group unread" -msgstr "märgi valitud grupis kõik artiklid mitte-loetuks" +msgid "search backwards for an attribute" +msgstr "otsi atribuuti tagaspidi" #: src/lang.c:387 -msgid "move chosen group within list" -msgstr "liiguta valitud gruppi loendis" +msgid "select attribute" +msgstr "vali atribuut" #: src/lang.c:388 -msgid "choose next group with unread news" -msgstr "vali järgmine lugemata artiklitega grupp" +msgid "toggle back to options menu when invoked from there" +msgstr "tagasi seadete menüüsse" -#: src/lang.c:389 src/lang.c:1197 -msgid "quit" -msgstr "välju" +#: src/lang.c:389 +#, c-format +msgid "report bug or comment via mail to %s" +msgstr "saatke vearaport või kommentaar aadressile %s" #: src/lang.c:390 -msgid "quit without saving configuration changes" -msgstr "välju muudetud seadeid salvestamata" +msgid "choose first option in list" +msgstr "vali loetelust esimene parameeter" #: src/lang.c:391 -msgid "read chosen group" -msgstr "loe valitud gruppi" +msgid "0 - 9\t choose option by number" +msgstr "0 - 9\t vali parameeter numbri järgi" #: src/lang.c:392 -msgid "reset .newsrc (all available articles in groups marked unread)" -msgstr ".newsrc faili algväärtustamine (kõik artiklid mitte-loetuks)" +msgid "choose last option in list" +msgstr "vali loetelust viimane parameeter" #: src/lang.c:393 -msgid "search backwards for a group name" -msgstr "otsi grupi nime tagaspidi" +msgid "start scopes menu" +msgstr "alusta skoopide menüüd" #: src/lang.c:394 -msgid " \t (all searches are case-insensitive and wrap around)" -msgstr " \t (kõik otsingud on tõstutundetud ja vajadusel alustavad algusest)" +msgid "search forwards for an option" +msgstr "otsi parameetrit nime edaspidi" #: src/lang.c:395 -msgid "search forwards for a group name" -msgstr "otsi grupi nime edaspidi" +msgid "search backwards for an option" +msgstr "otsi parameetrit tagaspidi" #: src/lang.c:396 -msgid "subscribe to chosen group" -msgstr "telli valitud grupp" +msgid "select option" +msgstr "vali parameeter" #: src/lang.c:397 -msgid "subscribe to groups that match pattern" -msgstr "telli mustrile vastavaid gruppe" +msgid "toggle to attributes menu" +msgstr "lülita atribuutide menüü" #: src/lang.c:398 -msgid "reread active file to check for any new news" -msgstr "kontrolli aktiivsete gruppide faili - kas on uusi artikleid" +msgid "choose range of articles to be affected by next command" +msgstr "valige järgmise käsuga töödeldavate artiklite vahemik" #: src/lang.c:399 -msgid "toggle display of group name only or group name plus description" -msgstr "vali ekraanil ainult grupi nimi või grupi nimi ja kirjeldus" +msgid "escape from command prompt" +msgstr "pääs käsuviibalt" #: src/lang.c:400 -msgid "toggle display to show all/unread subscribed groups" -msgstr "vali ekraanile kõik/lugemata tellitud grupid" +msgid "edit filter file" +msgstr "toimeta filtrite faili" #: src/lang.c:401 -msgid "unsubscribe from chosen group" -msgstr "loobu valitud grupist" +msgid "get help" +msgstr "anna abiinfot" #: src/lang.c:402 -msgid "unsubscribe from groups that match pattern" -msgstr "loobu mustrile vastavatest gruppidest" +msgid "display last article viewed" +msgstr "näita viimasena vaadatud artiklit" #: src/lang.c:403 -msgid "sort the list of groups" -msgstr "järjesta gruppide loend" +msgid "down one line" +msgstr "üks rida alla" #: src/lang.c:404 -msgid "toggle display to show all/subscribed groups" -msgstr "näita ekraanil kõiki/tellitud gruppe" +msgid "up one line" +msgstr "üles üks rida" #: src/lang.c:405 -msgid "0 - 9\t choose article by number" -msgstr "0 - 9\t vali numbri järgi artikkel" +msgid "go to article chosen by Message-ID" +msgstr "liigu Message-ID poolt määratud artiklile" #: src/lang.c:406 -msgid "mark thread as read and return to group index page" -msgstr "märgi teema loetuks ja välju gruppide indeksi lehele" +msgid "mail article/thread/hot/pattern/tagged articles to someone" +msgstr "saada artikkel/teema/kuum/muster/märgitud kellelegi" #: src/lang.c:407 -msgid "mark thread as read and enter next unread thread or group" -msgstr "märgi teema loetuks ja sisene järgmisse teemasse või gruppi" +msgid "menu of configurable options" +msgstr "seadete menüü" #: src/lang.c:408 -msgid "choose first article in list" -msgstr "vali loendis esimene artikkel" +msgid "down one page" +msgstr "alla üks lehekülg" #: src/lang.c:409 -msgid "choose last article in list" -msgstr "vali loendis viimane artikkel" - -#: src/lang.c:410 -msgid "mark article or tagged articles as read and move cursor to next unread article" -msgstr "märgi artikkel või märgitud artiklid loetuks, liigu järgm. lugemata artiklile" +msgid "up one page" +msgstr "üles üks lehekülg" #: src/lang.c:411 -msgid "read chosen article" -msgstr "loe valitud artiklit" +msgid "post (write) article to current group" +msgstr "postita (kirjuta) artikkel jooksvasse gruppi" #: src/lang.c:412 -msgid "Display properties\n" - "------------------" -msgstr "Ekraani omadused\n" - "----------------" - -#: src/lang.c:413 -msgid "Miscellaneous\n" - "-------------" -msgstr "Muud\n" - "----" +msgid "post postponed articles" +msgstr "postita ootel artiklid" #: src/lang.c:414 -msgid "Moving around\n" - "-------------" -msgstr "Liikumine\n" - "---------" +msgid "list articles posted by you (from posted file)" +msgstr "näita teie poolt postitatud artikleid (failist posted)" #: src/lang.c:415 -msgid "Group/thread/article operations\n" - "-------------------------------" -msgstr "Grupi/teema/artikli operatsioonid\n" - "---------------------------------" +msgid "return to previous menu" +msgstr "tagasi eelmisse menüüsse" + +#: src/lang.c:416 +msgid "quit tin immediately" +msgstr "välju viivitamata tinist" #: src/lang.c:417 -msgid "Group Level Commands" -msgstr "Grupitaseme käsud" +msgid "redraw page" +msgstr "värskenda lehekülge" #: src/lang.c:418 -msgid "Kill filter added" -msgstr "Surmamise filter lisatud" +msgid "save article/thread/hot/pattern/tagged articles to file" +msgstr "salvesta artikkel/teema/kuum/muster/märgitud faili" #: src/lang.c:419 -msgid "Auto-selection filter added" -msgstr "Automaatse valiku filter lisatud" +msgid "save marked articles automatically without user prompts" +msgstr "salvesta märgitud artiklid automaatselt, kasutajalt küsimata" #: src/lang.c:420 -msgid "All parts tagged" -msgstr "Kõik osad on märgitud" +msgid "scroll the screen one line down" +msgstr "keri ekraani rida alla" #: src/lang.c:421 -msgid "Storing article for later posting" -msgstr "Salvestan artikli hiljem postitamiseks" +msgid "scroll the screen one line up" +msgstr "keri ekraani rida üles" #: src/lang.c:422 -msgid "Please enter a valid character" -msgstr "Palun sisestage lubatud sümbol" +msgid "search for articles by author backwards" +msgstr "otsi artikleid autori järgi tagaspidi" #: src/lang.c:423 -#, c-format -msgid "Missing part #%d" -msgstr "Puudub osa nr: %d" +msgid "search for articles by author forwards" +msgstr "otsi artikleid autori järgi edaspidi" #: src/lang.c:424 -msgid "*** No postponed articles ***" -msgstr "*** Postitusootel artikleid pole ***" +msgid "search all articles for a given string (this may take some time)" +msgstr "otsi antud teksti artiklitest (see võib võtta aega)" #: src/lang.c:425 -msgid "Not a multi-part message" -msgstr "Ei ole mitmeosaline teade" +msgid " \t (searches are case-insensitive and wrap around to all articles)" +msgstr " \t (otsing on tõstutundetu ja käib üle kõikide artiklite)" #: src/lang.c:426 -msgid "You are not subscribed to this group" -msgstr "Te pole seda gruppi tellinud" +msgid "search for articles by Subject line backwards" +msgstr "otsi artiklit teema järgi tagaspidi" #: src/lang.c:427 -msgid "No previous expression" -msgstr "Eelmist avaldist pole" +msgid "search for articles by Subject line forwards" +msgstr "otsi artiklit teema järgi edaspidi" #: src/lang.c:428 -msgid "Operation disabled in no-overwrite mode" -msgstr "Operatsioon on ülekirjutamist keelavas moodis keelatud" +msgid "repeat last search" +msgstr "korda eelmist otsingut" + +#: src/lang.c:429 +msgid "tag current article for reposting/mailing/piping/printing/saving" +msgstr "märgi jooksev artikkel, et postitada/saata/trükkida/salvestada/torusse" -#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:430 -#, c-format -msgid "%d postponed %s, reuse with ^O...\n" -msgstr "%d ootel %s, kasutamiseks ^O...\n" +msgid "toggle info message in last line (subject/description)" +msgstr "lülita viimase rea infoteadet (teema/kirjeldus)" #: src/lang.c:431 -msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" - " To get the whole article, turn alternative handling OFF in the Option Menu\n" -msgstr "X-Conversion-Note: multipart/alternative sisu on eemaldatud.\n" - " Et näha tervet artiklit, lülitage alternatiivide käsitlemine välja\n" +msgid "toggle inverse video" +msgstr "lülita pööratud video" + +#: src/lang.c:432 +msgid "toggle mini help menu display" +msgstr "abiinfo lülita ekraanil miniabi menüüd" #: src/lang.c:433 -#, c-format -msgid "Save filename for %s/%s is a mailbox. Attachment not saved" -msgstr "Fail %s/%s salvestamiseks on postkast. Lisa ei salvestatud" +msgid "cycle the display of authors email address, real name, both or neither" +msgstr "vali näitamiseks autori aadress, pärisnimi, mõlemad või mitte midagi" #: src/lang.c:434 -msgid "TeX2Iso encoded article" -msgstr "TeX2Iso kodeeritud artikkel" +msgid "show version information" +msgstr "esita info versioonist" #: src/lang.c:435 -msgid "incomplete " -msgstr "mittetäielik " +msgid "mark all articles as read and return to group selection menu" +msgstr "märgi artiklid loetuks ja välju gruppide valiku menüüsse" + +#: src/lang.c:436 +msgid "mark all articles as read and enter next group with unread articles" +msgstr "märgi artiklid loetuks, sisene järgmisse lugemata artiklitega gruppi" -#. TODO: replace hardcoded key-names #: src/lang.c:437 -#, c-format -msgid "\n" - "Welcome to %s, a full screen threaded Netnews reader. It can read news " - "locally\n" - "(ie. /news) or remotely (-r option) from a NNTP (Network News " - "Transport\n" - "Protocol) server. -h lists the available command line options.\n" - "\n" - "%s has four newsreading levels, the newsgroup selection page, the group " - "index\n" - "page, the thread listing page and the article viewer. Help is available at " - "each\n" - "level by pressing the 'h' command.\n" - "\n" - "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " - "or\n" - "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" - "\n" - "Articles, threads, tagged articles or articles matching a pattern can be " - "mailed\n" - "('m' command), printed ('o' command), saved ('s' command), piped ('|' " - "command).\n" - "Use the 'w' command to post a news article, the 'f'/'F' commands to post " - "a\n" - "follow-up to an existing news article and the 'r'/'R' commands to reply " - "via\n" - "mail to an existing news article author. The 'M' command allows the " - "operation\n" - "of %s to be configured via a menu.\n" - "\n" - "For more information read the manual page, README, INSTALL, TODO and FTP " - "files.\n" - "Please send bug-reports/comments to %s with the 'R' command.\n" -msgstr "\n" - "See on %s, täisekraan teemadega Netnews lugeja. Uudiseid saab lugeda\n" - "lokaalselt (st /news) või üle võrgu (võti -r), kasutades NNTP\n" - "(Network News Transport Protocol) serverit. Võti -h annab teile kasutata-\n" - "vate võtmete loendi.\n" - "\n" - "%s omab uudiste lugemisel nelja taset, gruppide valiku lehekülg, grupi\n" - "indeksi lehekülg, teema lehekülg ja artikli lugeja. Igal tasemel saab 'h'\n" - "käsku kasutades abiinfot.\n" - "\n" - "Üles/alla liikumiseks kasutage terminali nooleklahve või 'j'/'k'. Lehe-\n" - "külgede kerimiseks kasutage PgUp/PgDn või Ctrl-U ja Ctrl-D. Gruppi sise-\n" - "nemiseks vajutage TAB või RETURN.\n" - "\n" - "Artikleid, teemasid, märgitud artikleid või mustrile vastavaid artikleid\n" - "saate edasi saata ('m' käsk), trükkida ('o' käsk), salvestada ('s' käsk),\n" - "saata toruga välisele programmile ('|' käsk). Artikli postitamiseks kasu-\n" - "tage käsku 'w', 'f' ja 'F' käskudega saate vastata olemasolevale artik-\n" - "lile ning 'r' ja 'R' käskudega saate vastata artikli autorile kirja teel.\n" - "'M' käsk võimaldab teil seadistada %s operatsioone.\n" - "\n" - "Lisainfot leiate manualist, README, INSTALL, TODO ja FTP failidest.\n" - "Palun saatke vearaportid/kommentaarid 'R' käsuga aadressil %s.\n" +msgid "choose first thread in list" +msgstr "vali loendist esimene teema" + +#: src/lang.c:438 +msgid "choose last thread in list" +msgstr "vali loendist viimane teema" + +#: src/lang.c:439 +msgid "list articles within current thread (bring up Thread sub-menu)" +msgstr "artiklite loend jooksvas teemas (esita teema alam-menüü)" + +#: src/lang.c:440 +msgid "mark article as unread" +msgstr "märgi artikkel loetuks" + +#: src/lang.c:441 +msgid "mark current thread, range or tagged threads as read" +msgstr "märgi jooksev teema, vahemik või märgitud teemad loetuks" + +#: src/lang.c:442 +msgid "mark current thread, range or tagged threads as unread" +msgstr "märgi jooksev teema, vahemik või märgitud teemad mitteloetuks" + +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "märgi jooksev/vahemik/valitud/muster/märgitud loetuks" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "märgi jooksev/vahemik/valitud/muster/märgitud mitteloetuks" + +#: src/lang.c:445 +msgid "toggle display of all/selected articles" +msgstr "lülita ekraanile kõik/valitud artiklid" + +#: src/lang.c:446 +msgid "display next group" +msgstr "näita järgmist gruppi" + +#: src/lang.c:447 +msgid "display previous group" +msgstr "näita eelmist gruppi" + +#: src/lang.c:448 +msgid "toggle all selections (all articles)" +msgstr "lülita kõiki valikuid (kõiki artikleid)" + +#: src/lang.c:449 +msgid "select group (make \"hot\")" +msgstr "vali grupp (muuda \"kuumaks\")" + +#: src/lang.c:450 +msgid "select thread" +msgstr "vali teema" + +#: src/lang.c:451 +msgid "select threads if at least one unread article is selected" +msgstr "vali teemad, kui on valitud vähemalt üks lugemata artikkel" + +#: src/lang.c:452 +msgid "select threads that match user specified pattern" +msgstr "vali kasutaja määratud mustrile vastavad teemad" #: src/lang.c:453 -#, c-format -msgid "Invalid From: %s line. Read the INSTALL file again." -msgstr "Vigane From: %s rida. Lugege uuesti faili INSTALL." +msgid "tag all parts of current multipart-message in order" +msgstr "märgi jooksva mitmeosalise teate kõik osad" + +#: src/lang.c:454 +msgid "0 - 9\t choose thread by number" +msgstr "0 - 9\t vali numbri järgi teema" #: src/lang.c:455 -msgid "Invalid multibyte sequence found\n" -msgstr "Leidsin vigase mitmebaidi järjendi\n" +msgid "toggle limit number of articles to get, and reload" +msgstr "sea laetavate artiklite piirang ja lae uuesti" + +#: src/lang.c:456 +msgid "toggle display of all/unread articles" +msgstr "lülita ekraanil kõik/lugemata artiklid" #: src/lang.c:457 -#, c-format -msgid "Invalid Sender:-header %s" -msgstr "Vigane Sender:-päis %s" +msgid "toggle selection of thread" +msgstr "lülita teema valikut" #: src/lang.c:458 -msgid "Inverse video disabled" -msgstr "Pööratud video keelatud" +msgid "cycle through threading options available" +msgstr "erinevad teemade käsitlemise võtmed" #: src/lang.c:459 -msgid "Inverse video enabled" -msgstr "Pööratud video lubatud" +msgid "undo all selections (all articles)" +msgstr "ennista kõik valikud (kõik artiklid)" + +#: src/lang.c:460 +msgid "untag all tagged threads" +msgstr "eemalda märgistus kõikidelt märgitud teemadelt" #: src/lang.c:461 -#, c-format -msgid "Missing definition for %s\n" -msgstr "%s definitsioon puudub\n" +msgid "add new scope" +msgstr "lisa uus skoop" #: src/lang.c:462 -#, c-format -msgid "Invalid key definition '%s'\n" -msgstr "Vigane klahvi definitsioon '%s'\n" +msgid "delete scope" +msgstr "kustuta skoop" #: src/lang.c:463 -#, c-format -msgid "Invalid keyname '%s'\n" -msgstr "Vigane klahvi nimi '%s'\n" +msgid "edit attributes file" +msgstr "toimeta atribuutide faili" #: src/lang.c:464 -#, c-format -msgid "Keymap file was upgraded to version %s\n" -msgstr "Keymap fail uuendati versioonini %s\n" +msgid "choose first scope in list" +msgstr "vali loetelust esimene skoop" #: src/lang.c:465 -#, c-format -msgid "Kill From: [%s] (y/n): " -msgstr "Surmake From: [%s] (j/e): " +msgid "0 - 9\t choose scope by number" +msgstr "0 - 9\t vali skoop numbri järgi" #: src/lang.c:466 -msgid "Kill Lines: (num): " -msgstr "Surmake read: (num) : " +msgid "choose last scope in list" +msgstr "vali loetelust viimane skoop" #: src/lang.c:467 -msgid "Kill Article Menu" -msgstr "Artuklite surmamise menüü" +msgid "move scope" +msgstr "liiguta skoopi" #: src/lang.c:468 -#, c-format -msgid "Kill Msg-Id: [%s] (f/l/o/n): " -msgstr "Surmake Msg-Id:[%s] (f/l/o/n): " +msgid "rename scope" +msgstr "nimeta skoop ümber" #: src/lang.c:469 -msgid "Kill pattern scope : " -msgstr "Surmamise mustri ulatus: " +msgid "select scope" +msgstr "vali skoop" #: src/lang.c:470 -#, c-format -msgid "Kill Subject: [%s] (y/n): " -msgstr "Surmake teema: [%s] (j/e): " +msgid "mark all articles in group as read" +msgstr "märgi valitud grupis kõik artiklid loetuks" #: src/lang.c:471 -msgid "Kill text pattern : " -msgstr "Surmake tekst mustriga : " +msgid "mark all articles in group as read and move to next unread group" +msgstr "märgi grupp loetuks ja liigu järgmisele lugemata grupile" #: src/lang.c:472 -msgid "Kill time in days : " -msgstr "Surmamise aeg päevades : " +msgid "choose first group in list" +msgstr "vali loetelust esimene grupp" + +#: src/lang.c:473 +msgid "choose group by name" +msgstr "vali grupp nime järgi" #: src/lang.c:474 -msgid "Last" -msgstr "Viimane" +msgid "0 - 9\t choose group by number" +msgstr "0 - 9\t vali grupp numbri järgi" #: src/lang.c:475 -msgid "-- Last response --" -msgstr "-- Viimane vastus --" +msgid "choose range of groups to be affected by next command" +msgstr "järgmise käsuga töödeldavate gruppide vahemik" #: src/lang.c:476 -#, c-format -msgid "Lines %s " -msgstr "Rida: %s " +msgid "choose last group in list" +msgstr "vali loetelust viimane grupp" + +#: src/lang.c:477 +msgid "mark all articles in chosen group unread" +msgstr "märgi valitud grupis kõik artiklid mitte-loetuks" #: src/lang.c:478 -msgid "Message-ID: line " -msgstr "Message-ID: rida " +msgid "move chosen group within list" +msgstr "liiguta valitud gruppi loendis" #: src/lang.c:479 -msgid "Mail" -msgstr "E-post" +msgid "choose next group with unread news" +msgstr "vali järgmine lugemata artiklitega grupp" -#: src/lang.c:480 -msgid "mailbox " -msgstr "postkasti " +#: src/lang.c:480 src/lang.c:1351 +msgid "quit" +msgstr "välju" #: src/lang.c:481 -#, c-format -msgid "Mail article(s) to [%.*s]> " -msgstr "Saada artiklid aadressil [%.*s]> " +msgid "quit without saving configuration changes" +msgstr "välju muudetud seadeid salvestamata" #: src/lang.c:482 -#, c-format -msgid "Mailing log to %s\n" -msgstr "Saadan logi aadressil %s\n" +msgid "read chosen group" +msgstr "loe valitud gruppi" #: src/lang.c:483 -msgid "Mail bug report..." -msgstr "Saada vearaport..." +msgid "reset .newsrc (all available articles in groups marked unread)" +msgstr ".newsrc faili algväärtustamine (kõik artiklid mitte-loetuks)" #: src/lang.c:484 -#, c-format -msgid "Mail BUG REPORT to %s?" -msgstr "Saadan VEARAPORTI aadressil %s?" +msgid "search backwards for a group name" +msgstr "otsi grupi nime tagaspidi" #: src/lang.c:485 -msgid "Mailed" -msgstr "Saadetud" +msgid " \t (all searches are case-insensitive and wrap around)" +msgstr " \t (kõik otsingud on tõstutundetud ja vajadusel alustavad algusest)" #: src/lang.c:486 -#, c-format -msgid "Mailing to %s..." -msgstr "Saadan aadressil %s..." +msgid "search forwards for a group name" +msgstr "otsi grupi nime edaspidi" #: src/lang.c:487 -msgid "# [Mail/Save] active file. Format is like news active file:\n" - "# groupname max.artnum min.artnum /dir\n" - "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" - "#\n" -msgstr "# [Saada/Salvesta] fail \"active\". Vorming on sarnane news active failile:\n" - "# grupinimi maks.artnumb min.artnumb /kataloog\n" - "# Neljas väli on baaskataloog (näiteks ~/Mail või ~/News)\n" - "#\n" +msgid "subscribe to chosen group" +msgstr "telli valitud grupp" + +#: src/lang.c:488 +msgid "subscribe to groups that match pattern" +msgstr "telli mustrile vastavaid gruppe" + +#: src/lang.c:489 +msgid "reread active file to check for any new news" +msgstr "kontrolli aktiivsete gruppide faili - kas on uusi artikleid" #: src/lang.c:490 -#, c-format -msgid "%s marked as unread" -msgstr "%s märgitud loetuks" +msgid "toggle display of group name only or group name plus description" +msgstr "vali ekraanil ainult grupi nimi või grupi nimi ja kirjeldus" #: src/lang.c:491 -#, c-format -msgid "Marked %d of %d tagged %s as read" -msgstr "Märkisin %d (%d) märgitud %s loetuks" +msgid "toggle display to show all/unread subscribed groups" +msgstr "vali ekraanile kõik/lugemata tellitud grupid" #: src/lang.c:492 -#, c-format -msgid "Mark all articles as read%s?" -msgstr "Märgin kõik artiklid loetuks%s?" +msgid "unsubscribe from chosen group" +msgstr "loobu valitud grupist" #: src/lang.c:493 -#, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " -msgstr "Märgi %s=märgitud artiklid, %s=jooksev artikkel, %s=välju: " +msgid "unsubscribe from groups that match pattern" +msgstr "loobu mustrile vastavatest gruppidest" #: src/lang.c:494 -#, c-format -msgid "Mark group %s as read?" -msgstr "Märgin grupi %s loetuks?" +msgid "sort the list of groups" +msgstr "järjesta gruppide loend" #: src/lang.c:495 -#, c-format -msgid "Mark thread as read%s?" -msgstr "Märgin teema loetuks%s?" +msgid "toggle display to show all/subscribed groups" +msgstr "näita ekraanil kõiki/tellitud gruppe" #: src/lang.c:496 -#, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " -msgstr "Märgi %s=märgitud artiklid/teemad, %s=jooksev teema, %s=välju: " +msgid "0 - 9\t choose article by number" +msgstr "0 - 9\t vali numbri järgi artikkel" #: src/lang.c:497 -#, c-format -msgid "Matching %s groups..." -msgstr "Otsin %s gruppe..." +msgid "mark thread as read and return to group index page" +msgstr "märgi teema loetuks ja välju gruppide indeksi lehele" -#: src/lang.c:498 src/lang.c:502 -#, c-format -msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" -msgstr "=n jooksvaks grupiks; %s=järgmine lugemata; %s=otsi; %s=surma/vali;" +#: src/lang.c:498 +msgid "mark thread as read and enter next unread thread or group" +msgstr "märgi teema loetuks ja sisene järgmisse teemasse või gruppi" #: src/lang.c:499 -#, c-format -msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " - "thread" -msgstr "%s=autori otsing; %s=loetud; %s=rida alla; %s=rida üles; %s=märgi loetuks; %" - "s=teema" +msgid "choose first article in list" +msgstr "vali loendis esimene artikkel" #: src/lang.c:500 -#, c-format -msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" -msgstr "%s=rida üles; %s=rida alla; %s=lk. üles; %s=lk. alla; %s=üles; %s=alla" +msgid "choose last article in list" +msgstr "vali loendis viimane artikkel" #: src/lang.c:501 -#, c-format -msgid "%s=search forwards; %s=search backwards; %s=quit" -msgstr "%s=otsi edaspidi; %s=otsi tagaspidi; %s=välju" +msgid "mark art, range or tagged arts as read; move crsr to next unread art" +msgstr "märgi art. vahemik või märgitud art. loetuks, liigu järgm. lugemata artiklile" + +#: src/lang.c:502 +msgid "mark article, range or tagged articles as unread" +msgstr "märgi jooksev teema, vahemik või märgitud teemad mitteloetuks" #: src/lang.c:503 -#, c-format -msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" -msgstr "%s=autori otsing; %s=otsi sisu; %s=loetud; %s=vasta; %s=märgi loetuks" +msgid "mark current thread as unread" +msgstr "märgi teema mitteloetuks" #: src/lang.c:504 -#, c-format -msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" -msgstr "=n jooksvaks grupiks; %s=järgmine lugemata; %s,%s=otsi; %s=loetud" +msgid "read chosen article" +msgstr "loe valitud artiklit" #: src/lang.c:505 -#, c-format -msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" -msgstr "%s=rida alla; %s=rida üles; %s=appi; %s=tõsta; %s=välju; %s=kõik/lugemata" +msgid "Display properties\n" + "------------------" +msgstr "Ekraani omadused\n" + "----------------" #: src/lang.c:506 -#, c-format -msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" -msgstr "%s=telli; %s=telli muster; %s=loobu; %s=loobu muster; %s=kõik/tellitud" +msgid "Miscellaneous\n" + "-------------" +msgstr "Muud\n" + "----" #: src/lang.c:507 -#, c-format -msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" -msgstr "=jooksev n; %s=järgmine lugemata; %s=loetud; %s=ekraani lülit" +msgid "Moving around\n" + "-------------" +msgstr "Liikumine\n" + "---------" #: src/lang.c:508 -#, c-format -msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" -msgstr "%s=appi; %s=rida alla; %s=rida üles; %s=välju; %s=märgi; %s=lugemata" +msgid "Group/thread/article operations\n" + "-------------------------------" +msgstr "Grupi/teema/artikli operatsioonid\n" + "---------------------------------" #: src/lang.c:509 -msgid "--More--" -msgstr "--Veel--" +#, fuzzy +msgid "Attachment operations\n" + "---------------------" +msgstr "Operatsioonid atribuutidega\n" + "---------------------------" #: src/lang.c:510 -#, c-format -msgid "Moving %s..." -msgstr "Tõstan %s..." +msgid "Attribute operations\n" + "--------------------" +msgstr "Operatsioonid atribuutidega\n" + "---------------------------" + +#: src/lang.c:511 +msgid "Option operations\n" + "-----------------" +msgstr "Operatsioonid seadetega\n" + "-----------------------" #: src/lang.c:512 -msgid ", name: " -msgstr ", nimi: " +msgid "Scope operations\n" + "----------------" +msgstr "Operatsioonid skoobiga\n" + "----------------------" #: src/lang.c:513 -#, c-format -msgid "Goto newsgroup [%s]> " -msgstr "Mine gruppi [%s]> " +#, fuzzy +msgid "URL operations\n" + "--------------" +msgstr "Operatsioonid skoobiga\n" + "----------------------" #: src/lang.c:514 -msgid "newsgroups" -msgstr "gruppidesse" +#, fuzzy +msgid "choose first URL in list" +msgstr "vali loetelust esimene skoop" #: src/lang.c:515 -#, c-format -msgid "Position %s in group list (1,2,..,$) [%d]> " -msgstr "Positsioon %s gruppide nimistus (1,2,..,$) [%d]> " +#, fuzzy +msgid "0 - 9\t choose URL by number" +msgstr "0 - 9\t vali skoop numbri järgi" #: src/lang.c:516 -msgid "newsgroup" -msgstr "gruppi" +#, fuzzy +msgid "choose last URL in list" +msgstr "vali loetelust viimane skoop" #: src/lang.c:517 -msgid "Try and save newsrc file again?" -msgstr "Proovin newsrc faili uuesti salvestada?" +#, fuzzy +msgid "search for URLs forwards" +msgstr "otsi artikleid autori järgi edaspidi" #: src/lang.c:518 -msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." -msgstr "Hoiatus: Teie newsrc faili ei salvestatud ühtegi gruppi. Katkestasin " - "salvestamise." +#, fuzzy +msgid "search for URLs backwards" +msgstr "otsi artikleid autori järgi tagaspidi" #: src/lang.c:519 -msgid "newsrc file saved successfully.\n" -msgstr "newsrc fail on edukalt salvestatud.\n" +msgid "Open URL in browser" +msgstr "" #: src/lang.c:520 -msgid "-- Next response --" -msgstr "- Järgmine vastus -" - -#: src/lang.c:521 -#, c-format -msgid "NNTP authorization password not found for %s" -msgstr "Serverile %s vastavat NNTP autoriseerimise parooli pole" +#, fuzzy +msgid "toggle info message in last line (URL)" +msgstr "lülita viimase rea infoteadet (teema/kirjeldus)" #: src/lang.c:522 -msgid "No " -msgstr "Ei " +msgid "Group Level Commands" +msgstr "Grupitaseme käsud" #: src/lang.c:523 -msgid "*** No articles ***" -msgstr "*** Artikleid pole ***" +msgid "Kill filter added" +msgstr "Surmamise filter lisatud" #: src/lang.c:524 -msgid "No articles have been posted" -msgstr "Postitatud artikleid pole" +msgid "Auto-selection filter added" +msgstr "Automaatse valiku filter lisatud" #: src/lang.c:525 -msgid "*** No description ***" -msgstr "*** Kirjeldus puudub ***" +msgid "All parts tagged" +msgstr "Kõik osad on märgitud" #: src/lang.c:526 -msgid "No filename" -msgstr "Failil pole nime" +msgid "Storing article for later posting" +msgstr "Salvestan artikli hiljem postitamiseks" #: src/lang.c:527 -msgid "No group" -msgstr "Gruppi pole" +msgid "Please enter a valid character" +msgstr "Palun sisestage lubatud sümbol" #: src/lang.c:528 -msgid "*** No groups ***" -msgstr "*** Gruppe pole ***" +#, c-format +msgid "Missing part #%d" +msgstr "Puudub osa nr: %d" #: src/lang.c:529 -msgid "No more groups to read" -msgstr "Lugemiseks rohkem gruppe pole" +msgid "*** No postponed articles ***" +msgstr "*** Postitusootel artikleid pole ***" #: src/lang.c:530 -msgid "No last message" -msgstr "Viimast teadet pole" +msgid "Not a multi-part message" +msgstr "Ei ole mitmeosaline teade" #: src/lang.c:531 -msgid "No mail address" -msgstr "E-posti aadressi pole" +msgid "You are not subscribed to this group" +msgstr "Te pole seda gruppi tellinud" #: src/lang.c:532 -msgid "No articles marked for saving" -msgstr "Salvestamiseks märgitud artikleid pole" +msgid "No previous expression" +msgstr "Eelmist avaldist pole" #: src/lang.c:533 -msgid "No match" -msgstr "Ei leia" - -#: src/lang.c:534 -msgid "No more groups" -msgstr "Rohkem gruppe pole" +msgid "Operation disabled in no-overwrite mode" +msgstr "Operatsioon on ülekirjutamist keelavas moodis keelatud" +#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:535 -msgid "No newsgroups" -msgstr "Gruppe pole" +#, c-format +msgid "%d postponed %s, reuse with ^O...\n" +msgstr "%d ootel %s, kasutamiseks ^O...\n" #: src/lang.c:536 -msgid "No next unread article" -msgstr "Järgmist lugemata artiklit pole" - -#: src/lang.c:537 -msgid "No previous group" -msgstr "Eelmist gruppi pole" +msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" + " To get the whole article, turn alternative handling OFF in the Option Menu\n" +msgstr "X-Conversion-Note: multipart/alternative sisu on eemaldatud.\n" + " Et näha tervet artiklit, lülitage alternatiivide käsitlemine välja\n" #: src/lang.c:538 -msgid "No previous unread article" -msgstr "Eelmist lugemata artiklit pole" +#, c-format +msgid "Save filename for %s/%s is a mailbox. Attachment not saved" +msgstr "Fail %s/%s salvestamiseks on postkast. Lisa ei salvestatud" #: src/lang.c:539 -msgid "No responses" -msgstr "Vastuseid pole" +msgid "TeX2Iso encoded article" +msgstr "TeX2Iso kodeeritud artikkel" #: src/lang.c:540 -msgid "No responses to list in current thread" -msgstr "Jooksvas teemas pole vastuseid" - -#: src/lang.c:541 -msgid "No search string" -msgstr "Otsingusõne puudub" +msgid "incomplete " +msgstr "mittetäielik " +#. TODO: replace hardcoded key-names #: src/lang.c:542 -msgid "No subject" -msgstr "Teema puudub" - -#: src/lang.c:544 #, c-format -msgid "%s: Terminal must have clear to end-of-line (ce)\n" -msgstr "%s: Terminalil peab olema puhasta realõpuni (ce) omadus\n" - -#: src/lang.c:545 -#, c-format -msgid "%s: Terminal must have clear to end-of-screen (cd)\n" -msgstr "%s: Terminalil peab olema puhasta ekraanilõpuni (cd) omadus\n" - -#: src/lang.c:546 -#, c-format -msgid "%s: Terminal must have clearscreen (cl) capability\n" -msgstr "%s: Terminalil peab olema ekraanipuhastamise (cl) omadus\n" - -#: src/lang.c:547 -#, c-format -msgid "%s: Terminal must have cursor motion (cm)\n" -msgstr "%s: Terminal peab toetama kursori liigutamist (cm)\n" - -#: src/lang.c:548 -#, c-format -msgid "%s: TERM variable must be set to use screen capabilities\n" -msgstr "%s: ekraani omaduste kasutamiseks peab olema seatud keskkonnamuutuja TERM\n" - -#: src/lang.c:550 -#, c-format -msgid "No viewer found for %s/%s\n" -msgstr "%s/%s jaoks puudub vaatur\n" - -#: src/lang.c:551 -msgid "Newsgroup does not exist on this server" -msgstr "Gruppi pole sellel serveril" - -#: src/lang.c:552 -#, c-format -msgid "Group %s not found in active file" -msgstr "Gruppi %s pole aktiivsete gruppide failis" - -#: src/lang.c:553 -msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "c=loo fail, a)lternatiivne nimi, d=vaikimisi .newsrc, q=välju: " - -#: src/lang.c:554 -msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "a)lternatiivne nimi, d=vaikimisi .newsrc, q=välju: " - -#: src/lang.c:555 -#, c-format -msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" - "# shortname list for %s %s\n" - "#\n" - "# the format of this file is\n" - "# ...\n" - "#\n" - "# if is given without path, $HOME is assumed as its location\n" - "#\n" - "# examples:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" -msgstr "# NNTP-server -> newsrc teisendustabel ja %s %s\n" - "# NNTP-server lühivormide nimistu\n" - "#\n" - "# selle faili formaat on\n" - "# ...\n" - "#\n" - "# kui on antud ilma teeta, eeldatakse asukohaks $HOME\n" - "#\n" - "# näited:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" - -#: src/lang.c:562 -msgid "Only" -msgstr "Ainult" +msgid "\n" + "Welcome to %s, a full screen threaded Netnews reader. It can read news " + "locally\n" + "(ie. /news) or remotely (-r option) from a NNTP (Network News " + "Transport\n" + "Protocol) server. -h lists the available command line options.\n" + "\n" + "%s has four newsreading levels, the newsgroup selection page, the group " + "index\n" + "page, the thread listing page and the article viewer. Help is available at " + "each\n" + "level by pressing the 'h' command.\n" + "\n" + "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " + "or\n" + "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" + "\n" + "Articles, threads, tagged articles or articles matching a pattern can be " + "mailed\n" + "('m' command), printed ('o' command), saved ('s' command), piped ('|' " + "command).\n" + "Use the 'w' command to post a news article, the 'f'/'F' commands to post " + "a\n" + "follow-up to an existing news article and the 'r'/'R' commands to reply " + "via\n" + "mail to an existing news article author. The 'M' command allows the " + "operation\n" + "of %s to be configured via a menu.\n" + "\n" + "For more information read the manual page, README, INSTALL, TODO and FTP " + "files.\n" + "Please send bug-reports/comments to %s with the 'R' command.\n" +msgstr "\n" + "See on %s, täisekraan teemadega Netnews lugeja. Uudiseid saab lugeda\n" + "lokaalselt (st /news) või üle võrgu (võti -r), kasutades NNTP\n" + "(Network News Transport Protocol) serverit. Võti -h annab teile kasutata-\n" + "vate võtmete loendi.\n" + "\n" + "%s omab uudiste lugemisel nelja taset, gruppide valiku lehekülg, grupi\n" + "indeksi lehekülg, teema lehekülg ja artikli lugeja. Igal tasemel saab 'h'\n" + "käsku kasutades abiinfot.\n" + "\n" + "Üles/alla liikumiseks kasutage terminali nooleklahve või 'j'/'k'. Lehe-\n" + "külgede kerimiseks kasutage PgUp/PgDn või Ctrl-U ja Ctrl-D. Gruppi sise-\n" + "nemiseks vajutage TAB või RETURN.\n" + "\n" + "Artikleid, teemasid, märgitud artikleid või mustrile vastavaid artikleid\n" + "saate edasi saata ('m' käsk), trükkida ('o' käsk), salvestada ('s' käsk),\n" + "saata toruga välisele programmile ('|' käsk). Artikli postitamiseks kasu-\n" + "tage käsku 'w', 'f' ja 'F' käskudega saate vastata olemasolevale artik-\n" + "lile ning 'r' ja 'R' käskudega saate vastata artikli autorile kirja teel.\n" + "'M' käsk võimaldab teil seadistada %s operatsioone.\n" + "\n" + "Lisainfot leiate manualist, README, INSTALL, TODO ja FTP failidest.\n" + "Palun saatke vearaportid/kommentaarid 'R' käsuga aadressil %s.\n" + +#: src/lang.c:558 +#, c-format +msgid "Invalid From: %s line. Read the INSTALL file again." +msgstr "Vigane From: %s rida. Lugege uuesti faili INSTALL." + +#: src/lang.c:560 +msgid "Invalid multibyte sequence found\n" +msgstr "Leidsin vigase mitmebaidi järjendi\n" #: src/lang.c:563 #, c-format -msgid "Option not enabled. Recompile with %s." -msgstr "Võti pole lubatud. Kasutage kompileerimisel %s." +msgid "Invalid Sender:-header %s" +msgstr "Vigane Sender:-päis %s" -#: src/lang.c:564 -msgid "Options Menu" -msgstr "Omaduste menüü" - -#: src/lang.c:567 -#, c-format -msgid "Error in regex: %s at pos. %d '%s'" -msgstr "Viga regulaaravaldises: %s positsioonil %d '%s'" +#: src/lang.c:565 +msgid "Inverse video disabled" +msgstr "Pööratud video keelatud" + +#: src/lang.c:566 +msgid "Inverse video enabled" +msgstr "Pööratud video lubatud" #: src/lang.c:568 #, c-format -msgid "Error in regex: pcre internal error %d" -msgstr "Viga regulaaravaldises: pcre sisemine viga %d" +msgid "Missing definition for %s\n" +msgstr "%s definitsioon puudub\n" #: src/lang.c:569 #, c-format -msgid "Error in regex: study - pcre internal error %s" -msgstr "Viga regulaaravaldises: uurimiseks - pcre sisemine viga %s" +msgid "Invalid key definition '%s'\n" +msgstr "Vigane klahvi definitsioon '%s'\n" #: src/lang.c:570 -msgid "Post a followup..." -msgstr "Postita vastus..." +#, c-format +msgid "Invalid keyname '%s'\n" +msgstr "Vigane klahvi nimi '%s'\n" + +#: src/lang.c:571 +#, c-format +msgid "Keymap file was upgraded to version %s\n" +msgstr "Keymap fail uuendati versioonini %s\n" -#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone #: src/lang.c:572 -msgid "An error has occurred while posting the article. If you think that this\n" - "error is temporary or otherwise correctable, you can postpone the article\n" - "and pick it up again with ^O later.\n" -msgstr "Artikli postitamisel tekkis viga. Kui te arvate, et see viga on ajutine\n" - "või muul viisil kõrvaldatav, võite artikli salvestada hiljem postitamiseks\n" - "ja ^O käsuga hiljem postitada.\n" +#, c-format +msgid "Kill From: [%s] (y/n): " +msgstr "Surmake From: [%s] (j/e): " + +#: src/lang.c:573 +msgid "Kill Lines: (num): " +msgstr "Surmake read: (num) : " + +#: src/lang.c:574 +msgid "Kill Article Menu" +msgstr "Artuklite surmamise menüü" #: src/lang.c:575 -msgid "Posted articles history" -msgstr "Postitatud artiklite ajalugu" +#, c-format +msgid "Kill Msg-Id: [%s] (f/l/o/n): " +msgstr "Surmake Msg-Id:[%s] (f/l/o/n): " #: src/lang.c:576 -#, c-format -msgid "Post to newsgroup(s) [%s]> " -msgstr "Postita gruppidesse [%s]> " +msgid "Kill pattern scope : " +msgstr "Surmamise mustri ulatus: " #: src/lang.c:577 -msgid "-- post processing started --" -msgstr "-- lõpptöötlus alustas --" +#, c-format +msgid "Kill Subject: [%s] (y/n): " +msgstr "Surmake teema: [%s] (j/e): " #: src/lang.c:578 -msgid "-- post processing completed --" -msgstr "-- lõpptöötlus lõpetas --" +msgid "Kill text pattern : " +msgstr "Surmake tekst mustriga : " #: src/lang.c:579 -#, c-format -msgid "Post subject [%s]> " -msgstr "Postituse teema [%s]> " - -#: src/lang.c:580 -msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" -msgstr "# Kokkuvõtte saadetud/postitatud teadetest saate tinis 'W' käsuga.\n" +msgid "Kill time in days : " +msgstr "Surmamise aeg päevades : " #: src/lang.c:581 -msgid "Posting article..." -msgstr "Postitan artiklit..." +msgid "Last" +msgstr "Viimane" #: src/lang.c:582 -#, c-format -msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " -msgstr "Postitan ootel artiklid [%%s]? (%s/%s/%s/%s/%s): " +msgid "-- Last response --" +msgstr "-- Viimane vastus --" #: src/lang.c:583 #, c-format -msgid "Hot %s" -msgstr "Kuum %s" - -#: src/lang.c:584 -#, c-format -msgid "Tagged %s" -msgstr "Märgitud %s" +msgid "Lines %s " +msgstr "Rida: %s " #: src/lang.c:585 -#, c-format -msgid "Untagged %s" -msgstr "Märkimata %s" +msgid "Mail" +msgstr "E-post" #: src/lang.c:586 -msgid "Processing mail messages marked for deletion." -msgstr "Töötlen kirju, mis on kustutamiseks märgitud." +msgid "mailbox " +msgstr "postkasti " #: src/lang.c:587 -msgid "Processing saved articles marked for deletion." -msgstr "Töötlen salvestatud ja kustutamiseks märgitud artikleid." +#, c-format +msgid "Mail article(s) to [%.*s]> " +msgstr "Saada artiklid aadressil [%.*s]> " #: src/lang.c:588 #, c-format -msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " -msgstr "Aktsepteerin Followup-To? %s=postita, %s=ignoreeri, %s=välju: " +msgid "Mailing log to %s\n" +msgstr "Saadan logi aadressil %s\n" #: src/lang.c:589 -msgid "Article unchanged, abort mailing?" -msgstr "Artiklit ei ole muudetud, katkestan saatmise?" +msgid "Mail bug report..." +msgstr "Saada vearaport..." #: src/lang.c:590 #, c-format -msgid "Do you want to see postponed articles (%d)?" -msgstr "Kas soovite näha postitamisootel artikleid (%d)?" +msgid "Mail BUG REPORT to %s?" +msgstr "Saadan VEARAPORTI aadressil %s?" + +#: src/lang.c:591 +msgid "Mailed" +msgstr "Saadetud" #: src/lang.c:592 -msgid "Add quick kill filter?" -msgstr "Lisan kiirsurmamise filtri?" +#, c-format +msgid "Mailing to %s..." +msgstr "Saadan aadressil %s..." #: src/lang.c:593 -msgid "Add quick selection filter?" -msgstr "Lisan kiirvaliku filtri?" - -#: src/lang.c:594 -msgid "Do you really want to quit?" -msgstr "Kas te tõesti soovite väljuda?" - -#: src/lang.c:595 -#, c-format -msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " -msgstr "%s=toimeta katkestamisteadet, %s=välju, %s=kustuta (katkesta) [%%s]: " +msgid "# [Mail/Save] active file. Format is like news active file:\n" + "# groupname max.artnum min.artnum /dir\n" + "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" + "#\n" +msgstr "# [Saada/Salvesta] fail \"active\". Vorming on sarnane news active failile:\n" + "# grupinimi maks.artnumb min.artnumb /kataloog\n" + "# Neljas väli on baaskataloog (näiteks ~/Mail või ~/News)\n" + "#\n" #: src/lang.c:596 -msgid "You have tagged articles in this group - quit anyway?" -msgstr "Teil on siin grupis märgitud artikleid - väljun siiski?" +#, c-format +msgid "%s marked as read" +msgstr "%s märgitud loetuks" #: src/lang.c:597 #, c-format -msgid "%s=quit, %s=edit, %s=postpone: " -msgstr "%s=välju, %s=toimeta, %s=ootele: " +msgid "%s marked as unread" +msgstr "%s märgitud mitteloetuks" #: src/lang.c:598 #, c-format -msgid "%s=quit %s=edit %s=save kill description: " -msgstr "%s=välju %s=toimeta %s=salvesta surmamise kirjeldus: " +msgid "Marked %d of %d %s as read" +msgstr "Märkisin %d (%d) %s loetuks" #: src/lang.c:599 #, c-format -msgid "%s=quit %s=edit %s=save select description: " -msgstr "%s=välju %s=toimeta %s=salvesta valiku kirjeldus: " +msgid "Marked %d of %d %s as unread" +msgstr "Märkisin %d (%d) %s mitteloetuks" + +#: src/lang.c:600 src/lang.c:1321 +msgid "Mark" +msgstr "Märk" + +#: src/lang.c:601 +#, c-format +msgid "Mark all articles as read%s?" +msgstr "Märgin kõik artiklid loetuks%s?" -#: src/lang.c:600 -msgid "Do you really want to quit without saving your configuration?" -msgstr "Kas te tõesti soovite seadeid salvestamata väljuda?" +#: src/lang.c:602 +#, c-format +msgid "Mark article as read%s?" +msgstr "Märgin artikli loetuks%s?" #: src/lang.c:603 -msgid "Invalid range - valid are '0-9.$' eg. 1-$" -msgstr "Vigane vahemik - lubatud on '0-9.$' näiteks 1-$" +#, c-format +msgid "Mark group %s as read?" +msgstr "Märgin grupi %s loetuks?" #: src/lang.c:604 -msgid "Do you want to abort this operation?" -msgstr "Kas soovite seda operatsiooni katkestada?" +#, c-format +msgid "Mark thread as read%s?" +msgstr "Märgin teema loetuks%s?" #: src/lang.c:605 -msgid "Do you want to exit tin immediately?" -msgstr "Kas soovite viivitamata tinist väljuda?" - -#: src/lang.c:606 -msgid "Read response> " -msgstr "Loen vastust> " - -#: src/lang.c:607 -msgid "Reading ('q' to quit)..." -msgstr "Loen ('q' katkestamiseks)..." - -#: src/lang.c:608 #, c-format -msgid "Reading %sarticles..." -msgstr "Loen %sartikleid..." +msgid "Matching %s groups..." +msgstr "Otsin %s gruppe..." -#: src/lang.c:609 +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 #, c-format -msgid "Reading %sattributes file...\n" -msgstr "Loen %satribuutide faili...\n" +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "=jooksev n; %s=rida alla; %s=rida üles; %s=abiinfo; %s=välju" -#: src/lang.c:610 -#, c-format -msgid "Reading %sconfig file...\n" -msgstr "Loen %sseadete faili...\n" +#: src/lang.c:608 +#, fuzzy, c-format +msgid "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=kiri; %s=välju; %s=vasta kirjaga; %s=salvesta; %s=märgi; %s=postita" -#: src/lang.c:611 -msgid "Reading filter file...\n" -msgstr "Loen filtrite faili...\n" +#: src/lang.c:610 +#, fuzzy, c-format +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=kiri; %s=välju; %s=vasta kirjaga; %s=salvesta; %s=märgi; %s=postita" #: src/lang.c:612 -#, c-format -msgid "Reading %s groups..." -msgstr "Loen %s gruppe..." +#, fuzzy, c-format +msgid "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=otsi edaspidi; %s=otsi tagaspidi; %s=välju" -#: src/lang.c:613 -msgid "Reading input history file...\n" -msgstr "Loen sisendi ajalugu...\n" +#: src/lang.c:613 src/lang.c:617 +#, c-format +msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" +msgstr "=n jooksvaks grupiks; %s=järgmine lugemata; %s=otsi; %s=surma/vali;" #: src/lang.c:614 -msgid "Reading keymap file...\n" -msgstr "Loen klahvitabeli faili...\n" +#, c-format +msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " + "thread" +msgstr "%s=autori otsing; %s=loetud; %s=rida alla; %s=rida üles; %s=märgi loetuks; %" + "s=teema" #: src/lang.c:615 -msgid "Reading groups from active file... " -msgstr "Loen aktiivseid gruppe... " +#, c-format +msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" +msgstr "%s=rida üles; %s=rida alla; %s=lk. üles; %s=lk. alla; %s=üles; %s=alla" #: src/lang.c:616 -msgid "Reading groups from newsrc file... " -msgstr "Loen gruppe newsrc failist... " - -#: src/lang.c:617 -msgid "Reading newsgroups file... " -msgstr "Loen gruppide kirjeldusi... " +#, c-format +msgid "%s=search forwards; %s=search backwards; %s=quit" +msgstr "%s=otsi edaspidi; %s=otsi tagaspidi; %s=välju" #: src/lang.c:618 -msgid "Reading newsrc file..." -msgstr "Loen newsrc faili..." +#, c-format +msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" +msgstr "%s=autori otsing; %s=otsi sisu; %s=loetud; %s=vasta; %s=märgi loetuks" + +#: src/lang.c:619 +#, c-format +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "%s=lisa; %s=liiguta; %s=uus nimi; %s=kustuta" -#: src/lang.c:620 +#: src/lang.c:621 #, c-format -msgid "(%d:%02d remaining)" -msgstr "(%d:%02d järgneb)" +msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" +msgstr "=n jooksvaks grupiks; %s=järgmine lugemata; %s,%s=otsi; %s=loetud" #: src/lang.c:622 #, c-format -msgid "Bogus group %s removed." -msgstr "Vigane grupp %s on eemaldatud." +msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" +msgstr "%s=rida alla; %s=rida üles; %s=appi; %s=tõsta; %s=välju; %s=kõik/lugemata" #: src/lang.c:623 #, c-format -msgid "Error: rename %s to %s" -msgstr "Viga: %s uus nimi %s" +msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" +msgstr "%s=telli; %s=telli muster; %s=loobu; %s=loobu muster; %s=kõik/tellitud" #: src/lang.c:624 -msgid "Reply to author..." -msgstr "Vastan autorile..." +#, c-format +msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" +msgstr "=jooksev n; %s=järgmine lugemata; %s=loetud; %s=ekraani lülit" #: src/lang.c:625 -msgid "Repost" -msgstr "Uuesti postitus" - -#: src/lang.c:626 -msgid "Reposting article..." -msgstr "Postitan artikli uuesti..." +#, c-format +msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" +msgstr "%s=appi; %s=rida alla; %s=rida üles; %s=välju; %s=märgi; %s=lugemata" #: src/lang.c:627 -#, c-format -msgid "Repost article(s) to group(s) [%s]> " -msgstr "Postitan artikli(d) gruppi(desse) [%s]> " +#, fuzzy, c-format +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=otsi edaspidi; %s=otsi tagaspidi; %s=välju" #: src/lang.c:628 -msgid "Reset newsrc?" -msgstr "Algväärtustan newsrc?" +msgid "--More--" +msgstr "--Veel--" #: src/lang.c:629 -msgid "Responses have been directed to the following newsgroups" -msgstr "Vastused edastatakse järgnevatesse gruppidesse" +#, c-format +msgid "Moving %s..." +msgstr "Tõstan %s..." #: src/lang.c:630 -#, c-format -msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " -msgstr "Vastused edastatakse postitajale. %s=kirjuta, %s=postita, %s=välju: " +msgid "Message-ID: & last Reference " +msgstr "Message-ID: & viimane viitamine " #: src/lang.c:631 -#, c-format -msgid "RespNo %4d of %4d" -msgstr "Vastus %4d : %4d" +msgid "Message-ID: line " +msgstr "Message-ID: rida " #: src/lang.c:632 -msgid "Press to continue..." -msgstr "Jätkamiseks vajutage ..." +msgid "Message-ID: & References: line" +msgstr "Message-ID: & References: rida" #: src/lang.c:634 -#, c-format -msgid "Select From [%s] (y/n): " -msgstr "Valige From [%s] (j/e): " +msgid ", name: " +msgstr ", nimi: " #: src/lang.c:635 -msgid "Select Lines: (num): " -msgstr "Valige read: (num): " +#, c-format +msgid "Go to newsgroup [%s]> " +msgstr "Mine gruppi [%s]> " #: src/lang.c:636 -msgid "Auto-select Article Menu" -msgstr "Automaatselt valitavate artiklite menüü" +msgid "newsgroups" +msgstr "gruppidesse" #: src/lang.c:637 #, c-format -msgid "Select Msg-Id [%s] (f/l/o/n): " -msgstr "Valige Msg-Id [%s] (f/l/o/n): " +msgid "Position %s in group list (1,2,..,$) [%d]> " +msgstr "Positsioon %s gruppide nimistus (1,2,..,$) [%d]> " #: src/lang.c:638 -msgid "Select pattern scope: " -msgstr "Valige mustri ulatus: " +msgid "newsgroup" +msgstr "gruppi" #: src/lang.c:639 -#, c-format -msgid "Select Subject [%s] (y/n): " -msgstr "Valige teema [%s] (j/e): " +msgid "Try and save newsrc file again?" +msgstr "Proovin newsrc faili uuesti salvestada?" #: src/lang.c:640 -msgid "Select text pattern : " -msgstr "Valige tekstimuster : " +msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." +msgstr "Hoiatus: Teie newsrc faili ei salvestatud ühtegi gruppi. Katkestasin " + "salvestamise." #: src/lang.c:641 -msgid "Select time in days : " -msgstr "Valige aeg päevades : " +msgid "newsrc file saved successfully.\n" +msgstr "newsrc fail on edukalt salvestatud.\n" #: src/lang.c:642 -#, c-format -msgid "# %s server configuration file\n" - "# This file was automatically saved by %s %s %s (\"%s\")\n" - "#\n" - "# Do not edit while %s is running, since all your changes to this file\n" - "# will be overwritten when you leave %s.\n" - "# Do not edit at all if you don't know what you do.\n" - "############################################################################\n" - "\n" -msgstr "# %s serveri seadete fail\n" - "# Selle faili on automaatselt salvestanud %s %s %s (\"%s\")\n" - "#\n" - "# Ärge muutke seda faili, kui %s töötab, teie muudatused kirjutatakse\n" - "# %s töö lõpetamisel üle.\n" - "# Kui te ei tea, mida teha, ärge muutke seda faili üldse.\n" - "############################################################################\n" - "\n" +msgid "-- Next response --" +msgstr "- Järgmine vastus -" + +#: src/lang.c:643 +msgid "No " +msgstr "Ei " + +#: src/lang.c:644 +msgid "*** No articles ***" +msgstr "*** Artikleid pole ***" + +#: src/lang.c:645 +msgid "No articles have been posted" +msgstr "Postitatud artikleid pole" + +#: src/lang.c:646 +#, fuzzy +msgid "*** No attachments ***" +msgstr "*** Artikleid pole ***" + +#: src/lang.c:647 +msgid "*** No description ***" +msgstr "*** Kirjeldus puudub ***" #: src/lang.c:648 -msgid "Showing unread groups only" -msgstr "Näitan ainult lugemata gruppe" +msgid "No filename" +msgstr "Failil pole nime" #: src/lang.c:649 -msgid "Subject: line (ignore case) " -msgstr "Subject: rida (tõstutundetu)" +msgid "No group" +msgstr "Gruppi pole" #: src/lang.c:650 -msgid "Subject: line (case sensitive)" -msgstr "Subject: rida (tõstutundlik)" +msgid "*** No groups ***" +msgstr "*** Gruppe pole ***" #: src/lang.c:651 -msgid "Save" -msgstr "Salvesta" +msgid "No more groups to read" +msgstr "Lugemiseks rohkem gruppe pole" #: src/lang.c:652 -#, c-format -msgid "Save '%s' (%s/%s)?" -msgstr "Salvestan '%s' (%s/%s)?" +msgid "No last message" +msgstr "Viimast teadet pole" #: src/lang.c:653 -msgid "Save configuration before continuing?" -msgstr "Salvestan seaded enne jätkamist?" +msgid "No mail address" +msgstr "E-posti aadressi pole" #: src/lang.c:654 -msgid "Save filename> " -msgstr "Fail salvestamiseks> " +msgid "No articles marked for saving" +msgstr "Salvestamiseks märgitud artikleid pole" #: src/lang.c:655 -msgid "Saved" -msgstr "Salvestatud" +msgid "No match" +msgstr "Ei leia" #: src/lang.c:656 -#, c-format -msgid "%4d unread (%4d hot) %s in %s\n" -msgstr "%4d lugemata (%4d kuuma) %s grupis %s\n" +msgid "No more groups" +msgstr "Rohkem gruppe pole" #: src/lang.c:657 -#, c-format -msgid "Saved %s...\n" -msgstr "Salvestatud %s...\n" +msgid "No newsgroups" +msgstr "Gruppe pole" #: src/lang.c:658 -msgid "Nothing was saved" -msgstr "Midagi ei salvestatud" +msgid "No next unread article" +msgstr "Järgmist lugemata artiklit pole" #: src/lang.c:659 -#, c-format -msgid "\n" - "%s %d %s from %d %s\n" -msgstr "\n" - "%s %d %s %d grupist%s\n" +msgid "No previous group" +msgstr "Eelmist gruppi pole" #: src/lang.c:660 -#, c-format -msgid "-- %s saved to %s%s --" -msgstr "-- %s salvestati %s%s --" +msgid "No previous search, nothing to repeat" +msgstr "" #: src/lang.c:661 -#, c-format -msgid "-- %s saved to %s - %s --" -msgstr "-- %s salvestati %s - %s --" +msgid "No previous unread article" +msgstr "Eelmist lugemata artiklit pole" #: src/lang.c:662 -msgid "Saving..." -msgstr "Salvestan..." +msgid "No responses" +msgstr "Vastuseid pole" #: src/lang.c:663 -#, c-format -msgid "%s: Screen initialization failed" -msgstr "%s: Ekraani initsialiseerimine ebaõnnestus" +msgid "No responses to list in current thread" +msgstr "Jooksvas teemas pole vastuseid" + +#: src/lang.c:664 +msgid "*** No scopes ***" +msgstr "*** Skoope pole ***" #: src/lang.c:665 -#, c-format -msgid "%s: screen is too small\n" -msgstr "%s: ekraan on liiga väike\n" +msgid "No search string" +msgstr "Otsingusõne puudub" -#: src/lang.c:667 -#, c-format -msgid "screen is too small, %s is exiting\n" -msgstr "ekraan on liiga väike, %s lõpetab töö\n" +#: src/lang.c:666 +msgid "No subject" +msgstr "Teema puudub" #: src/lang.c:668 #, c-format -msgid "Search backwards [%s]> " -msgstr "Otsin tagurpidi [%s]> " +msgid "%s: Terminal must have clear to end-of-line (ce)\n" +msgstr "%s: Terminalil peab olema puhasta realõpuni (ce) omadus\n" #: src/lang.c:669 #, c-format -msgid "Search body [%s]> " -msgstr "Otsi kehast [%s]> " +msgid "%s: Terminal must have clear to end-of-screen (cd)\n" +msgstr "%s: Terminalil peab olema puhasta ekraanilõpuni (cd) omadus\n" #: src/lang.c:670 #, c-format -msgid "Search forwards [%s]> " -msgstr "Otsi edaspidi [%s]> " +msgid "%s: Terminal must have clearscreen (cl) capability\n" +msgstr "%s: Terminalil peab olema ekraanipuhastamise (cl) omadus\n" #: src/lang.c:671 -msgid "Searching..." -msgstr "Otsin..." +#, c-format +msgid "%s: Terminal must have cursor motion (cm)\n" +msgstr "%s: Terminal peab toetama kursori liigutamist (cm)\n" #: src/lang.c:672 #, c-format -msgid "Searching article %d of %d ('q' to abort)..." -msgstr "Otsin artiklit %d/%d ('q' katkestamiseks)..." - -#: src/lang.c:673 -msgid "Select article> " -msgstr "Valige artikkel> " +msgid "%s: TERM variable must be set to use screen capabilities\n" +msgstr "%s: ekraani omaduste kasutamiseks peab olema seatud keskkonnamuutuja TERM\n" #: src/lang.c:674 -msgid "Select option number before text or use arrow keys and . 'q' to quit." -msgstr "Valige teksti eest omaduse number või kasutage nooli ja . 'q' väljumiseks." +#, c-format +msgid "No viewer found for %s/%s\n" +msgstr "%s/%s jaoks puudub vaatur\n" #: src/lang.c:675 -msgid "Select group> " -msgstr "Valige grupp> " +msgid "Newsgroup does not exist on this server" +msgstr "Gruppi pole sellel serveril" #: src/lang.c:676 #, c-format -msgid "Enter selection pattern [%s]> " -msgstr "Sisestage valiku muster [%s]> " +msgid "Group %s not found in active file" +msgstr "Gruppi %s pole aktiivsete gruppide failis" #: src/lang.c:677 -msgid "Select thread > " -msgstr "Valige teema > " +msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "c=loo fail, a)lternatiivne nimi, d=vaikimisi .newsrc, q=välju: " #: src/lang.c:678 -#, c-format -msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" -msgstr "%s %s %s (\"%s\") [%s]: saatke palun DETAILNE vea raport aadressil %s\n" +msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "a)lternatiivne nimi, d=vaikimisi .newsrc, q=välju: " #: src/lang.c:679 -msgid "servers active-file" -msgstr "serveri aktiivsete gruppide fail" +#, c-format +msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" + "# shortname list for %s %s\n" + "#\n" + "# the format of this file is\n" + "# ...\n" + "#\n" + "# if is given without path, $HOME is assumed as its location\n" + "#\n" + "# examples:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" +msgstr "# NNTP-server -> newsrc teisendustabel ja %s %s\n" + "# NNTP-server lühivormide nimistu\n" + "#\n" + "# selle faili formaat on\n" + "# ...\n" + "#\n" + "# kui on antud ilma teeta, eeldatakse asukohaks $HOME\n" + "#\n" + "# näited:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" + +#: src/lang.c:686 +msgid "Only" +msgstr "Ainult" -#: src/lang.c:680 -msgid "Cannot move into new newsgroups. Subscribe first..." -msgstr "Uutesse gruppidesse ei saa siseneda. Tellige kõigepealt..." +#: src/lang.c:687 +#, c-format +msgid "Option not enabled. Recompile with %s." +msgstr "Võti pole lubatud. Kasutage kompileerimisel %s." -#: src/lang.c:681 -msgid "" -msgstr "" +#: src/lang.c:688 +msgid "Options Menu" +msgstr "Omaduste menüü" -#: src/lang.c:682 +#: src/lang.c:689 +msgid "Options Menu Commands" +msgstr "Omaduste menüü käsud" + +#: src/lang.c:692 #, c-format -msgid "Starting: (%s)" -msgstr "Stardin: (%s)" +msgid "Error in regex: %s at pos. %d '%s'" +msgstr "Viga regulaaravaldises: %s positsioonil %d '%s'" -#: src/lang.c:683 +#: src/lang.c:693 #, c-format -msgid "List Thread (%d of %d)" -msgstr "Teemad (%d/%d)" +msgid "Error in regex: pcre internal error %d" +msgstr "Viga regulaaravaldises: pcre sisemine viga %d" -#: src/lang.c:684 +#: src/lang.c:694 #, c-format -msgid "Thread (%.*s)" -msgstr "Teema (%.*s)" +msgid "Error in regex: study - pcre internal error %s" +msgstr "Viga regulaaravaldises: uurimiseks - pcre sisemine viga %s" -#: src/lang.c:685 -msgid "Enter wildcard subscribe pattern> " -msgstr "Sisestage tellimise muster> " +#: src/lang.c:695 +msgid "Post a followup..." +msgstr "Postita vastus..." -#: src/lang.c:686 -#, c-format -msgid "subscribed to %d groups" -msgstr "%d gruppi on tellitud" +#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone +#: src/lang.c:697 +msgid "An error has occurred while posting the article. If you think that this\n" + "error is temporary or otherwise correctable, you can postpone the article\n" + "and pick it up again with ^O later.\n" +msgstr "Artikli postitamisel tekkis viga. Kui te arvate, et see viga on ajutine\n" + "või muul viisil kõrvaldatav, võite artikli salvestada hiljem postitamiseks\n" + "ja ^O käsuga hiljem postitada.\n" -#: src/lang.c:687 +#: src/lang.c:700 +msgid "Posted articles history" +msgstr "Postitatud artiklite ajalugu" + +#: src/lang.c:701 #, c-format -msgid "Subscribed to %s" -msgstr "%s on tellitud" +msgid "Post to newsgroup(s) [%s]> " +msgstr "Postita gruppidesse [%s]> " -#: src/lang.c:688 -msgid "Subscribing... " -msgstr "Tellin... " +#: src/lang.c:702 +msgid "-- post processing started --" +msgstr "-- lõpptöötlus alustas --" -#: src/lang.c:689 -#, c-format -msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " -msgstr "Postitan uuesti või asendan artikli(d) [%%s]? (%s/%s/%s): " +#: src/lang.c:703 +msgid "-- post processing completed --" +msgstr "-- lõpptöötlus lõpetas --" -#: src/lang.c:690 +#: src/lang.c:704 #, c-format -msgid "Supersede article(s) to group(s) [%s]> " -msgstr "Asendan artikli(d) gruppides [%s]> " +msgid "Post subject [%s]> " +msgstr "Postituse teema [%s]> " -#: src/lang.c:691 -msgid "Superseding article ..." -msgstr "Asendan artikli ..." +#: src/lang.c:705 +msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" +msgstr "# Kokkuvõtte saadetud/postitatud teadetest saate tinis 'W' käsuga.\n" -#: src/lang.c:692 -#, c-format -msgid "\n" - "Stopped. Type 'fg' to restart %s\n" -msgstr "\n" - "Peatatud. %s uuesti käivitamiseks kirjutage palun 'fg'\n" +#: src/lang.c:706 +msgid "Posting article..." +msgstr "Postitan artiklit..." -#: src/lang.c:694 +#: src/lang.c:707 #, c-format -msgid "%d days" -msgstr "%d päeva" +msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " +msgstr "Postitan ootel artiklid [%%s]? (%s/%s/%s/%s/%s): " -#: src/lang.c:695 -msgid "" -msgstr "" - -#: src/lang.c:696 -msgid "TeX " -msgstr "TeX " +#: src/lang.c:708 +#, c-format +msgid "Hot %s" +msgstr "Kuum %s" -#: src/lang.c:697 -msgid "# Default action/prompt strings\n" -msgstr "# Vaikimisi aktsioonide/viipade sõned\n" +#: src/lang.c:709 +#, c-format +msgid "Tagged %s" +msgstr "Märgitud %s" -#: src/lang.c:698 -msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" - "# 5=Message-ID: & last References: entry only\n" - "# 6=Message-ID: entry only 7=Lines:\n" - "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" -msgstr "# Vaikeväärtused kiire (1 võtme) surmamisel & auto-valiku filtritele\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & kogu References: rida\n" - "# 5=Message-ID: & ainult viimane References: kirje\n" - "# 6=Message-ID: kirje ainult 7=Lines:\n" - "# global=ON/OFF ON=rakenda kõikidele gruppidele OFF=ainult jooksvale " - "grupile\n" - "# case=ON/OFF ON=filter on tõstutundlik OFF=tõstutundetu\n" - "# expire=ON/OFF ON=kehtivusaeg default_filter_days OFF=ei aegu\n" +#: src/lang.c:710 +#, c-format +msgid "Untagged %s" +msgstr "Märkimata %s" #: src/lang.c:711 -msgid "# If ON use print current subject or newsgroup description in the last line\n" -msgstr "# Kui on ON, trüki teema või grupikirjeldus viimasele reale\n" +msgid "Processing mail messages marked for deletion." +msgstr "Töötlen kirju, mis on kustutamiseks märgitud." #: src/lang.c:712 -msgid "# Host & time info used for detecting new groups (don't touch)\n" -msgstr "# Masin & aeg - kasutatakse uute gruppide leidmiseks (mitte muuta)\n" +msgid "Processing saved articles marked for deletion." +msgstr "Töötlen salvestatud ja kustutamiseks märgitud artikleid." #: src/lang.c:713 -msgid "There is no news\n" -msgstr "Uudiseid pole\n" +#, c-format +msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " +msgstr "Aktsepteerin Followup-To? %s=postita, %s=ignoreeri, %s=välju: " #: src/lang.c:714 -msgid "Thread" -msgstr "Teema" +msgid "Article unchanged, abort mailing?" +msgstr "Artiklit ei ole muudetud, katkestan saatmise?" #: src/lang.c:715 -msgid "Thread Level Commands" -msgstr "Teemataseme käsud" - -#: src/lang.c:716 -msgid "Thread deselected" -msgstr "Teema pole valitud" +#, c-format +msgid "Do you want to see postponed articles (%d)?" +msgstr "Kas soovite näha postitamisootel artikleid (%d)?" #: src/lang.c:717 -msgid "Thread selected" -msgstr "Teema on valitud" +msgid "Add quick kill filter?" +msgstr "Lisan kiirsurmamise filtri?" + +#: src/lang.c:718 +msgid "Add quick selection filter?" +msgstr "Lisan kiirvaliku filtri?" #: src/lang.c:719 -msgid "threads" -msgstr "teemad" +msgid "Do you really want to quit?" +msgstr "Kas te tõesti soovite väljuda?" + +#: src/lang.c:720 +#, c-format +msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " +msgstr "%s=toimeta katkestamisteadet, %s=välju, %s=kustuta (katkesta) [%%s]: " #: src/lang.c:721 -msgid "Thread range" -msgstr "Teemade vahemik" +msgid "You have tagged articles in this group - quit anyway?" +msgstr "Teil on siin grupis märgitud artikleid - väljun siiski?" #: src/lang.c:722 -msgid "thread" -msgstr "teema" +#, c-format +msgid "%s=quit, %s=edit, %s=postpone: " +msgstr "%s=välju, %s=toimeta, %s=ootele: " #: src/lang.c:723 #, c-format -msgid "Thread %4s of %4s" -msgstr "Teema %4s : %4s" +msgid "%s=quit %s=edit %s=save kill description: " +msgstr "%s=välju %s=toimeta %s=salvesta surmamise kirjeldus: " #: src/lang.c:724 -msgid "Threading articles..." -msgstr "Järjestan artiklid teemade kaupa..." - -#: src/lang.c:725 #, c-format -msgid "Toggled word highlighting %s" -msgstr "Sõnade esiletõstmine lülitatud %s" - -#: src/lang.c:726 -msgid "Toggled rot13 encoding" -msgstr "Lülitatud rot13 kodeerimine" +msgid "%s=quit %s=edit %s=save select description: " +msgstr "%s=välju %s=toimeta %s=salvesta valiku kirjeldus: " -#: src/lang.c:727 -#, c-format -msgid "Toggled german TeX encoding %s" -msgstr "Lülitatud saksa TeX kodeering %s" +#: src/lang.c:725 +msgid "Do you really want to quit without saving your configuration?" +msgstr "Kas te tõesti soovite seadeid salvestamata väljuda?" #: src/lang.c:728 -#, c-format -msgid "Toggled tab-width to %d" -msgstr "Lülitatud tab-width väärtus %d" - -#: src/lang.c:729 -#, c-format -msgid "%d Trying to dotlock %s" -msgstr "%d Üritan punkt-lukustada %s" +msgid "Invalid range - valid are '0-9.$' eg. 1-$" +msgstr "Vigane vahemik - lubatud on '0-9.$' näiteks 1-$" #: src/lang.c:730 -#, c-format -msgid "%d Trying to lock %s" -msgstr "%d Üritan lukustada %s" +msgid "Do you want to abort this operation?" +msgstr "Kas soovite seda operatsiooni katkestada?" #: src/lang.c:731 -msgid " h=help\n" -msgstr " h=appi\n" +msgid "Do you want to exit tin immediately?" +msgstr "Kas soovite viivitamata tinist väljuda?" #: src/lang.c:733 -msgid "Unlimited" -msgstr "Piiramata" +msgid "Reading ('q' to quit)..." +msgstr "Loen ('q' katkestamiseks)..." #: src/lang.c:734 -msgid "Enter wildcard unsubscribe pattern> " -msgstr "Sisestage loobumise muster> " +#, c-format +msgid "Reading %sarticles..." +msgstr "Loen %sartikleid..." #: src/lang.c:735 #, c-format -msgid "Error decoding %s : %s" -msgstr "Viga %s dekodeerimisel: %s" +msgid "Reading %sattributes file...\n" +msgstr "Loen %satribuutide faili...\n" #: src/lang.c:736 -msgid "No end." -msgstr "Lõpp puudub." +#, c-format +msgid "Reading %sconfig file...\n" +msgstr "Loen %sseadete faili...\n" #: src/lang.c:737 -#, c-format -msgid "%s successfully decoded." -msgstr "%s on edukalt dekodeeritud." +msgid "Reading filter file...\n" +msgstr "Loen filtrite faili...\n" #: src/lang.c:738 #, c-format -msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" - "\n" -msgstr "%*s[-- %s/%s, %suuenkodeeritud fail, %d rida, nimi: %s --]\n" - "\n" +msgid "Reading %s groups..." +msgstr "Loen %s gruppe..." #: src/lang.c:739 -msgid "unread " -msgstr "lugemata " +msgid "Reading input history file...\n" +msgstr "Loen sisendi ajalugu...\n" #: src/lang.c:740 -#, c-format -msgid "unsubscribed from %d groups" -msgstr "loobunud %d grupist" +msgid "Reading keymap file...\n" +msgstr "Loen klahvitabeli faili...\n" #: src/lang.c:741 -#, c-format -msgid "Unsubscribed from %s" -msgstr "Loobunud grupist %s" +msgid "Reading groups from active file... " +msgstr "Loen aktiivseid gruppe... " #: src/lang.c:742 -msgid "Unsubscribing... " -msgstr "Loobun gruppidest... " +msgid "Reading groups from newsrc file... " +msgstr "Loen gruppe newsrc failist... " #: src/lang.c:743 -msgid "Unthreading articles..." -msgstr "Tükeldan teemad..." +msgid "Reading newsgroups file... " +msgstr "Loen gruppide kirjeldusi... " #: src/lang.c:744 -msgid "Updated" -msgstr "Uuendatud" +msgid "Reading newsrc file..." +msgstr "Loen newsrc faili..." #: src/lang.c:745 -msgid "Updating" -msgstr "Uuendan" - -#: src/lang.c:746 -#, c-format -msgid "Opening %s\n" -msgstr "Proovin %s\n" +msgid "References: line " +msgstr "References: rida " #: src/lang.c:747 -msgid "No more URL's in this article" -msgstr "Selles artiklis pole rohkem URL'e" - -#: src/lang.c:748 -msgid "Use MIME display program for this message?" -msgstr "Kasutan selle teate lugemiseks MIME näitamise programmi?" +#, c-format +msgid "(%d:%02d remaining)" +msgstr "(%d:%02d järgneb)" #: src/lang.c:749 -msgid " -c mark all news as read in subscribed newsgroups (batch mode)" -msgstr " -c märgi tellitud gruppides kõik artiklid loetuks (pakettmood)" +#, c-format +msgid "Bogus group %s removed." +msgstr "Vigane grupp %s on eemaldatud." #: src/lang.c:750 -msgid " -Z return status indicating if any unread news (batch mode)" -msgstr " -Z tagasta väärtus, mis näitab, kas on lugemata artikleid (pakettmood)" +msgid "Removed from the previous rule: " +msgstr "Eelmisest reeglist eemaldatud: " #: src/lang.c:751 -msgid " -q don't check for new newsgroups" -msgstr " -q ära otsi uusi gruppe" +#, c-format +msgid "Error: rename %s to %s" +msgstr "Viga: %s uus nimi %s" #: src/lang.c:752 -msgid " -X don't save any files on quit" -msgstr " -X töö lõpetamisel ära salvesta ühtegi faili" +msgid "Reply to author..." +msgstr "Vastan autorile..." #: src/lang.c:753 -msgid " -d don't show newsgroup descriptions" -msgstr " -d ära näita gruppide kirjeldusi" +msgid "Repost" +msgstr "Uuesti postitus" #: src/lang.c:754 -msgid " -G limit get only limit articles/group" -msgstr " -G num loe aunult num artiklit/gruppi" +msgid "Reposting article..." +msgstr "Postitan artikli uuesti..." #: src/lang.c:755 #, c-format -msgid " -H help information about %s" -msgstr " -H %s kasutamise abiinfo" +msgid "Repost article(s) to group(s) [%s]> " +msgstr "Postitan artikli(d) gruppi(desse) [%s]> " #: src/lang.c:756 -msgid " -h this help message" -msgstr " -h see abitekst" +msgid "Reset newsrc?" +msgstr "Algväärtustan newsrc?" #: src/lang.c:757 -#, c-format -msgid " -I dir news index file directory [default=%s]" -msgstr " -I kat uudiste indeksfaili kataloog [vaikimisi=%s]" +msgid "Responses have been directed to the following newsgroups" +msgstr "Vastused edastatakse järgnevatesse gruppidesse" #: src/lang.c:758 -msgid " -u update index files (batch mode)" -msgstr " -u värskenda indeksfaile (pakettmood)" - -#: src/lang.c:759 #, c-format -msgid " -m dir mailbox directory [default=%s]" -msgstr " -m kat kirjakaustade kataloog [vaikimisi=%s]" +msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " +msgstr "Vastused edastatakse postitajale. %s=kirjuta, %s=postita, %s=välju: " #: src/lang.c:760 -#, c-format -msgid "\n" - "Mail bug reports/comments to %s" -msgstr "\n" - "Saatke palun vea raport/kommentaarid aadressil %s" - -#: src/lang.c:761 -msgid " -N mail new news to your posts (batch mode)" -msgstr " -N saada uued vastused teie postitustele (pakettmood)" +msgid "Press to continue..." +msgstr "Jätkamiseks vajutage ..." #: src/lang.c:762 -msgid " -M user mail new news to specified user (batch mode)" -msgstr " -M kasut saada uued artiklid näidatud kasutajale (pakettmood)" +#, c-format +msgid "Select From [%s] (y/n): " +msgstr "Valige From [%s] (j/e): " #: src/lang.c:763 -#, c-format -msgid " -f file subscribed to newsgroups file [default=%s]" -msgstr " -f fail tellitud gruppide fail [vaikimisi=%s]" +msgid "Select Lines: (num): " +msgstr "Valige read: (num): " #: src/lang.c:764 -msgid " -x no posting mode" -msgstr " -x postitamiseta mood" +msgid "Auto-select Article Menu" +msgstr "Automaatselt valitavate artiklite menüü" #: src/lang.c:765 -msgid " -w post an article and exit" -msgstr " -w postita artikkel ja lõpeta töö" +#, c-format +msgid "Select Msg-Id [%s] (f/l/o/n): " +msgstr "Valige Msg-Id [%s] (f/l/o/n): " #: src/lang.c:766 -msgid " -o post all postponed articles and exit" -msgstr " -o postita kõik postitamisootel artiklid ja lõpeta töö" +msgid "Select pattern scope: " +msgstr "Valige mustri ulatus: " #: src/lang.c:767 -msgid " -r read news remotely from default NNTP server" -msgstr " -r loe artikleid kasutades vaikimisi NNTP serverit" +#, c-format +msgid "Select Subject [%s] (y/n): " +msgstr "Valige teema [%s] (j/e): " #: src/lang.c:768 -msgid " -R read news saved by -S option" -msgstr " -R loe artikleid, mis on salvestatud -S võtmega" +msgid "Select text pattern : " +msgstr "Valige tekstimuster : " #: src/lang.c:769 -#, c-format -msgid " -s dir save news directory [default=%s]" -msgstr " -s kat artiklite salvestamise kataloog [vaikimisi=%s]" +msgid "Select time in days : " +msgstr "Valige aeg päevades : " #: src/lang.c:770 -msgid " -S save new news for later reading (batch mode)" -msgstr " -S salvesta uued artiklid hilisemaks lugemiseks (pakettmood)" - -#: src/lang.c:771 -msgid " -z start if any unread news" -msgstr " -z alusta tööd, kui on lugemata uudiseid" - -#: src/lang.c:772 -#, c-format -msgid "A Usenet reader.\n" - "\n" - "Usage: %s [options] [newsgroup[,...]]" -msgstr "Usenet klient.\n" - "\n" - "Kasuta: %s [võtmed] [grupp[,...]]" - -#: src/lang.c:773 -msgid " -v verbose output for batch mode options" -msgstr " -v esita pakettmoodi käskudega detailsemat informatsiooni" - -#: src/lang.c:774 -msgid " -V print version & date information" -msgstr " -V esita versiooni ja kuupäeva informatsioon" - -#: src/lang.c:775 #, c-format -msgid "%s only useful without batch mode operations\n" -msgstr "%s on kasutatav ainult pakettmoodi käskudeta\n" +msgid "# %s server configuration file\n" + "# This file was automatically saved by %s %s %s (\"%s\")\n" + "#\n" + "# Do not edit while %s is running, since all your changes to this file\n" + "# will be overwritten when you leave %s.\n" + "# Do not edit at all if you don't know what you do.\n" + "############################################################################\n" + "\n" +msgstr "# %s serveri seadete fail\n" + "# Selle faili on automaatselt salvestanud %s %s %s (\"%s\")\n" + "#\n" + "# Ärge muutke seda faili, kui %s töötab, teie muudatused kirjutatakse\n" + "# %s töö lõpetamisel üle.\n" + "# Kui te ei tea, mida teha, ärge muutke seda faili üldse.\n" + "############################################################################\n" + "\n" #: src/lang.c:776 -#, c-format -msgid "%s only useful for batch mode operations\n" -msgstr "%s on kasutatav ainult pakettmoodi käskudega\n" +msgid "Showing unread groups only" +msgstr "Näitan ainult lugemata gruppe" + +#: src/lang.c:777 +msgid "Subject: line (ignore case) " +msgstr "Subject: rida (tõstutundetu)" #: src/lang.c:778 -#, c-format -msgid "\n" - "%s%d out of range (0 - %d). Reset to 0" -msgstr "\n" - "%s%d piiridest väljas (0 - %d). Sean 0" +msgid "Subject: line (case sensitive)" +msgstr "Subject: rida (tõstutundlik)" #: src/lang.c:779 +msgid "Save" +msgstr "Salvesta" + +#: src/lang.c:780 #, c-format -msgid "View '%s' (%s/%s)?" -msgstr "Vaatan '%s' (%s/%s)?" +msgid "Save '%s' (%s/%s)?" +msgstr "Salvestan '%s' (%s/%s)?" #: src/lang.c:781 -#, c-format -msgid "\n" - "Warning: posting exceeds %d columns. Line %d is the first long one:\n" - "%-100s\n" -msgstr "\n" - "Hoiatus: postitus ületab %d veergu. Esimene pikk rida on rida %d:\n" - "%-100s\n" +msgid "Save configuration before continuing?" +msgstr "Salvestan seaded enne jätkamist?" #: src/lang.c:782 -msgid "\n" - "Warning: article unchanged after editing\n" -msgstr "\n" - "Hoiatus: artiklit ei ole toimetamise käigus muudetud\n" +msgid "Save filename> " +msgstr "Fail salvestamiseks> " #: src/lang.c:783 -msgid "\n" - "Warning: \"Subject:\" contains only whitespaces.\n" -msgstr "\n" - "Hoiatus: \"Subject:\" real on ainult tühikud.\n" +msgid "Saved" +msgstr "Salvestatud" #: src/lang.c:784 -msgid "\n" - "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" -msgstr "\n" - "Hoiatus: \"Subject:\" algab fraasiga \"Re: \", aga \"References:\" välju " - "pole.\n" +#, c-format +msgid "%4d unread (%4d hot) %s in %s\n" +msgstr "%4d lugemata (%4d kuuma) %s grupis %s\n" + +#: src/lang.c:785 +#, c-format +msgid "Saved %s...\n" +msgstr "Salvestatud %s...\n" #: src/lang.c:786 -msgid "\n" - "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" - " with \"Re: \" and does not contain \"(was:\".\n" -msgstr "\n" - "Hoiatus: Artiklis on \"References:\" päis, aga \"Subject:\" ei alga fraasiga\n" - " \"Re: \" ega sisalda \"(was:\".\n" +msgid "Nothing was saved" +msgstr "Midagi ei salvestatud" + +#: src/lang.c:787 +#, c-format +msgid "\n" + "%s %d %s from %d %s\n" +msgstr "\n" + "%s %d %s %d grupist%s\n" + +#: src/lang.c:788 +#, c-format +msgid "-- %s saved to %s%s --" +msgstr "-- %s salvestati %s%s --" #: src/lang.c:789 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly written by you. This will " - "wipe\n" - " the article from most news servers throughout the world, but there is " - "no\n" - " guarantee that it will work.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Lugege hoolikalt!\n" - "\n" - " Te asute kustutama artiklit, mis paistab olema teie poolt kirjutatud.\n" - " Seega te eemaldate artikli paljudest uudiseserveritest üle maailma,\n" - " kuid kustutamisel ei ole mingit garantiid.\n" - "\n" - "Siin on artikkel, mida te hakkate kustutama:\n" - "\n" +#, c-format +msgid "-- %s saved to %s - %s --" +msgstr "-- %s salvestati %s - %s --" + +#: src/lang.c:790 +msgid "Saving..." +msgstr "Salvestan..." + +#: src/lang.c:791 +#, c-format +msgid "%s: Screen initialization failed" +msgstr "%s: Ekraani initsialiseerimine ebaõnnestus" #: src/lang.c:793 -msgid "\n" - "Warning: You are using a non-plain transfer encoding (such as base64 or\n" - " quoted-printable) and an external inews program to submit your\n" - " article. If a signature is appended by that inews program it will\n" - " not be encoded properly.\n" -msgstr "\n" - "Hoiatus: Te kasutate keerukat kodeeringut (nagu base64 või quoted-printable)\n" - " ja postitamiseks välist inews programmi. Kui see inews programm\n" - " lisab artiklile signatuuri, siis on võimalik, et seda ei kodeerita\n" - " korrektselt.\n" +#, c-format +msgid "%s: screen is too small\n" +msgstr "%s: ekraan on liiga väike\n" -#: src/lang.c:798 +#: src/lang.c:795 #, c-format -msgid "\n" - "\n" - "You are upgrading to tin %s from an earlier version.\n" - "Some values in your %s file have changed!\n" - "Read WHATSNEW, etc...\n" -msgstr "\n" - "\n" - "Te uuendate tini versioonile %s. Mõned\n" - "Väärtused failis %s on muutunud!\n" - "Palun lugege faile WHATSNEW, jne...\n" +msgid "screen is too small, %s is exiting\n" +msgstr "ekraan on liiga väike, %s lõpetab töö\n" + +#: src/lang.c:796 +msgid "Delete scope?" +msgstr "Kustutan skoobi?" + +#: src/lang.c:797 +msgid "Enter scope> " +msgstr "Sisestage skoop> " + +#: src/lang.c:798 +msgid "Select new position> " +msgstr "Valige uus positsioon> " + +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "Uus positsioon ei saa olla globaalne skoop" #: src/lang.c:800 -#, c-format -msgid "\n" - "\n" - "You are downgrading to tin %s from a more recent version!\n" - "Some values in your %s file may be ignored, others might have changed!\n" -msgstr "\n" - "\n" - "Te käivitate tin versioon %s, mis on vanem kui teie eelmises sessioonis\n" - "kasutatu!\n" - "Mõningaid väärtusi failis %s võidakse ignoreerida, mõningaid võidakse muuta!\n" +msgid "Global scope, operation not allowed" +msgstr "Globaalne skoop, operatsioon ei ole lubatud" + +#: src/lang.c:801 +msgid "Rename scope> " +msgstr "Skoobi uus nimi> " + +#: src/lang.c:802 +msgid "Select scope> " +msgstr "Valige skoop> " #: src/lang.c:803 +msgid "Scopes Menu" +msgstr "Skoopide menüü" + +#: src/lang.c:804 +msgid "Scopes Menu Commands" +msgstr "Skoopide menüü käsud" + +#: src/lang.c:805 #, c-format -msgid "Warning: tin wrote fewer groups to your\n" - "\t%s\n" - "than it read at startup. If you didn't unsubscribe from %ld %s during\n" - "this session this indicates an error and you should backup your %s\n" - "before you start tin once again!\n" -msgstr "Hoiatus: tin kirjutas vähem gruppe teie\n" - "\t%s\n" - "kui ta luges käivitamisel. Kui te ei loobunud sessiooni kestel %ld\n" - "grupist%s, tähendab see viga ja te peaksite varundama oma %s\n" - "enne, kui te tini uuesti käivitate!\n" +msgid "Search backwards [%s]> " +msgstr "Otsin tagurpidi [%s]> " + +#: src/lang.c:806 +#, c-format +msgid "Search body [%s]> " +msgstr "Otsi kehast [%s]> " #: src/lang.c:807 #, c-format -msgid "\n" - "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" -msgstr "\n" - "Hoiatus: Leidsin %d '-- \\n' rida, mis võib tekitada osades inimestes " - "segadust.\n" +msgid "Search forwards [%s]> " +msgstr "Otsi edaspidi [%s]> " #: src/lang.c:808 -#, c-format -msgid "Warning: Only %d out of %d articles were saved" -msgstr "Hoiatus: Salvestati ainult %d artiklit %d artiklist" +msgid "Searching..." +msgstr "Otsin..." #: src/lang.c:809 #, c-format -msgid "\n" - "Warning: Your signature is longer than %d lines. Since signatures usually " - "do\n" - " not transport any useful information, they should be as short " - "as\n" - " possible.\n" -msgstr "\n" - "Hoiatus: Teie signatuur on pikem, kui %d rida. Kuna tavaliselt signatuurid " - "ei\n" - " sisalda kasulikku informatsiooni, siis peaksid nad olema " - "võimalikult\n" - " lühikesed.\n" +msgid "Searching article %d of %d ('q' to abort)..." +msgstr "Otsin artiklit %d/%d ('q' katkestamiseks)..." + +#: src/lang.c:810 +msgid "Select article> " +msgstr "Valige artikkel> " + +#: src/lang.c:811 +msgid "Select option number before text or use arrow keys and . 'q' to quit." +msgstr "Valige teksti eest omaduse number või kasutage nooli ja . 'q' väljumiseks." + +#: src/lang.c:812 +msgid "Select group> " +msgstr "Valige grupp> " #: src/lang.c:813 #, c-format -msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " -msgstr "Hoiatus: see aadress võib sisaldada rämpsposti lõksu. %s=jätkan, %s=katkestan?" +msgid "Enter selection pattern [%s]> " +msgstr "Sisestage valiku muster [%s]> " #: src/lang.c:814 -msgid "\n" - "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" -msgstr "\n" - "Hoiatus: Signatuuride alguses peaks olema '-- \\n', mitte '--\\n'.\n" +msgid "Select thread > " +msgstr "Valige teema > " #: src/lang.c:815 -msgid "Writing attributes file..." -msgstr "Kirjutan atribuutide faili..." +#, c-format +msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" +msgstr "%s %s %s (\"%s\") [%s]: saatke palun DETAILNE vea raport aadressil %s\n" + +#: src/lang.c:816 +msgid "servers active-file" +msgstr "serveri aktiivsete gruppide fail" #: src/lang.c:817 -#, c-format -msgid "%d Responses" -msgstr "%d Vastust" +msgid "Cannot move into new newsgroups. Subscribe first..." +msgstr "Uutesse gruppidesse ei saa siseneda. Tellige kõigepealt..." + +#: src/lang.c:818 +msgid "" +msgstr "" #: src/lang.c:819 #, c-format -msgid "Added %d %s" -msgstr "Lisatud %d %s" +msgid "Starting: (%s)" +msgstr "Stardin: (%s)" #: src/lang.c:820 -msgid "No unsubscribed groups to show" -msgstr "Tellimata gruppe pole" +#, c-format +msgid "List Thread (%d of %d)" +msgstr "Teemad (%d/%d)" #: src/lang.c:821 -msgid "Showing subscribed to groups only" -msgstr "Näitan ainult tellitud gruppe" +#, c-format +msgid "Thread (%.*s)" +msgstr "Teema (%.*s)" #: src/lang.c:822 -msgid "Yes " -msgstr "Jah " +msgid "Enter wildcard subscribe pattern> " +msgstr "Sisestage tellimise muster> " #: src/lang.c:823 -msgid " You have mail\n" -msgstr " Teil on kiri\n" +#, c-format +msgid "subscribed to %d groups" +msgstr "%d gruppi on tellitud" + +#: src/lang.c:824 +#, c-format +msgid "Subscribed to %s" +msgstr "%s on tellitud" + +#: src/lang.c:825 +msgid "Subscribing... " +msgstr "Tellin... " + +#: src/lang.c:826 +#, c-format +msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " +msgstr "Postitan uuesti või asendan artikli(d) [%%s]? (%s/%s/%s): " + +#: src/lang.c:827 +#, c-format +msgid "Supersede article(s) to group(s) [%s]> " +msgstr "Asendan artikli(d) gruppides [%s]> " #: src/lang.c:828 +msgid "Superseding article ..." +msgstr "Asendan artikli ..." + +#: src/lang.c:829 #, c-format -msgid "\n" - "Warning: Posting is in %s and contains characters which are not\n" - " in your selected MM_NETWORK_CHARSET: %s.\n" - " These characters will be replaced by '?' if you post this\n" - " article unchanged. To avoid garbling your article please either\n" - " edit it and remove those characters or change the setting of\n" - " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" - " M)enu option.\n" -msgstr "\n" - "Hoiatus: Postitus on %s ja sisaldab sümboleid, mis puuduvad teie poolt\n" - " valitud MM_NETWORK_CHARSET: %s.\n" - " Kui te postitate selle artikli muutmata kujul, asendatakse\n" - " need sümbolid sümboliga '?'. Et vältida sodi teie artiklis, palun\n" - " seda kas muuta ja eemaldada need sümbolid või muuta seadet\n" - " MM_NETWORK_CHARSET. Viimast saate teostada kasutades valikut M)" - "enüü.\n" - -#: src/lang.c:839 -msgid " -D debug mode 1=NNTP 2=ALL" -msgstr " -D silumismood 1=NNTP 2=KÕIK" - -#: src/lang.c:843 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly not written by you. This " - "will\n" - " wipe the article from lots of news servers throughout the world;\n" - " Usenet's majority considers this rather inappropriate, to say the " - "least.\n" - " Only press 'd' if you are absolutely positive that you are ready to " - "take\n" - " the rap.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Lugege hoolikalt!\n" - "\n" - " Te olete kustutamas artiklit, mida te ilmselt pole kirjutanud. Seega\n" - " eemaldatakse artikkle paljudest uudiseserveritest üle maailma. Useneti\n" - " üldsus loeb sellist käitumist ebakohaseks. Vajutage 'd' ainult siis,\n" - " kui te olete täiesti veendunud selle sammu vajalikkuses.\n" - "\n" - "Siin on artikkel, mida te asute kustutama:\n" - "\n" +msgid "\n" + "Stopped. Type 'fg' to restart %s\n" +msgstr "\n" + "Peatatud. %s uuesti käivitamiseks kirjutage palun 'fg'\n" + +#: src/lang.c:831 +#, c-format +msgid "%d days" +msgstr "%d päeva" + +#: src/lang.c:832 +msgid "" +msgstr "" + +#: src/lang.c:833 +msgid "TeX " +msgstr "TeX " + +#: src/lang.c:834 +msgid "# Default action/prompt strings\n" +msgstr "# Vaikimisi aktsioonide/viipade sõned\n" + +#: src/lang.c:835 +msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" + "# 5=Message-ID: & last References: entry only\n" + "# 6=Message-ID: entry only 7=Lines:\n" + "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +msgstr "# Vaikeväärtused kiire (1 võtme) surmamisel & auto-valiku filtritele\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & kogu References: rida\n" + "# 5=Message-ID: & ainult viimane References: kirje\n" + "# 6=Message-ID: kirje ainult 7=Lines:\n" + "# global=ON/OFF ON=rakenda kõikidele gruppidele OFF=ainult jooksvale " + "grupile\n" + "# case=ON/OFF ON=filter on tõstutundlik OFF=tõstutundetu\n" + "# expire=ON/OFF ON=kehtivusaeg default_filter_days OFF=ei aegu\n" + +#: src/lang.c:848 +msgid "# If ON use print current subject or newsgroup description in the last line\n" +msgstr "# Kui on ON, trüki teema või grupikirjeldus viimasele reale\n" + +#: src/lang.c:849 +msgid "# Host & time info used for detecting new groups (don't touch)\n" +msgstr "# Masin & aeg - kasutatakse uute gruppide leidmiseks (mitte muuta)\n" + +#: src/lang.c:850 +msgid "There is no news\n" +msgstr "Uudiseid pole\n" + +#: src/lang.c:851 +msgid "Thread" +msgstr "Teema" #: src/lang.c:852 -msgid "toggle color" -msgstr "lülita värve" +msgid "Thread Level Commands" +msgstr "Teemataseme käsud" #: src/lang.c:853 -msgid "# Changing colors of several screen parts\n" - "# Possible values are:\n" - "# -1 = default (white for foreground and black for background)\n" - "# 0 = black\n" - "# 1 = red\n" - "# 2 = green\n" - "# 3 = brown\n" - "# 4 = blue\n" - "# 5 = pink\n" - "# 6 = cyan\n" - "# 7 = white\n" - "# These are *only* for foreground:\n" - "# 8 = gray\n" - "# 9 = light red\n" - "# 10 = light green\n" - "# 11 = yellow\n" - "# 12 = light blue\n" - "# 13 = light pink\n" - "# 14 = light cyan\n" - "# 15 = light white\n" - "\n" -msgstr "# Ekraaniosade värvide muutmine\n" - "# Võimalikud väärtused on:\n" - "# -1 = vaikimisi (valge esiplaan ja must tagaplaan)\n" - "# 0 = must\n" - "# 1 = punane\n" - "# 2 = roheline\n" - "# 3 = pruun\n" - "# 4 = sinine\n" - "# 5 = roosa\n" - "# 6 = lilla\n" - "# 7 = valge\n" - "# Need on *ainult* esiplaani tarvis:\n" - "# 8 = hall\n" - "# 9 = helepunane\n" - "# 10 = heleroheline\n" - "# 11 = kollane\n" - "# 12 = helesinine\n" - "# 13 = heleroosa\n" - "# 14 = helelilla\n" - "# 15 = helevalge\n" - "\n" +msgid "Thread deselected" +msgstr "Teema pole valitud" + +#: src/lang.c:854 +msgid "Thread selected" +msgstr "Teema on valitud" + +#: src/lang.c:856 +msgid "threads" +msgstr "teemad" + +#: src/lang.c:858 +msgid "thread" +msgstr "teema" + +#: src/lang.c:859 +#, c-format +msgid "Thread %4s of %4s" +msgstr "Teema %4s : %4s" + +#: src/lang.c:860 +msgid "Threading articles..." +msgstr "Järjestan artiklid teemade kaupa..." + +#: src/lang.c:861 +#, c-format +msgid "Toggled word highlighting %s" +msgstr "Sõnade esiletõstmine lülitatud %s" + +#: src/lang.c:862 +msgid "Toggled rot13 encoding" +msgstr "Lülitatud rot13 kodeerimine" + +#: src/lang.c:863 +#, c-format +msgid "Toggled german TeX encoding %s" +msgstr "Lülitatud saksa TeX kodeering %s" + +#: src/lang.c:864 +#, c-format +msgid "Toggled tab-width to %d" +msgstr "Lülitatud tab-width väärtus %d" + +#: src/lang.c:866 +#, c-format +msgid "%d Trying to dotlock %s" +msgstr "%d Üritan punkt-lukustada %s" + +#: src/lang.c:867 +#, c-format +msgid "%d Trying to lock %s" +msgstr "%d Üritan lukustada %s" + +#: src/lang.c:869 +msgid " h=help" +msgstr " h=appi" + +#: src/lang.c:871 +msgid "Unlimited" +msgstr "Piiramata" + +#: src/lang.c:872 +msgid "Enter wildcard unsubscribe pattern> " +msgstr "Sisestage loobumise muster> " #: src/lang.c:873 -msgid " -a toggle color flag" -msgstr " -a lülita värvide kasutamist" +#, c-format +msgid "Error decoding %s : %s" +msgstr "Viga %s dekodeerimisel: %s" + +#: src/lang.c:874 +msgid "No end." +msgstr "Lõpp puudub." + +#: src/lang.c:875 +#, c-format +msgid "%s successfully decoded." +msgstr "%s on edukalt dekodeeritud." + +#: src/lang.c:876 +#, c-format +msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" + "\n" +msgstr "%*s[-- %s/%s, %suuenkodeeritud fail, %d rida, nimi: %s --]\n" + "\n" #: src/lang.c:877 -msgid "\n" - "Error: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "Viga: Followup-To real on rohkem kui üks grupp!\n" +msgid "unread " +msgstr "lugemata " #: src/lang.c:878 #, c-format -msgid "\n" - "Error: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "Viga: ristpostitus %d gruppi ja Followup-To rida puudub!\n" +msgid "unsubscribed from %d groups" +msgstr "loobunud %d grupist" #: src/lang.c:879 #, c-format -msgid "\n" - "Error: \"%s\" is not a valid newsgroup!\n" -msgstr "\n" - "Viga: \"%s\" ei ole lubatud grupp!\n" +msgid "Unsubscribed from %s" +msgstr "Loobunud grupist %s" + +#: src/lang.c:880 +msgid "Unsubscribing... " +msgstr "Loobun gruppidest... " #: src/lang.c:881 -msgid "\n" - "Warning: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "Hoiatus: Followup-To on seatud rohkem, kui ühele grupile!\n" +msgid "Unthreading articles..." +msgstr "Tükeldan teemad..." #: src/lang.c:882 -#, c-format -msgid "\n" - "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "Hoiatus: ristpostitus %d uudisegruppi ja Followup-To rida puudub!\n" - -#: src/lang.c:883 -#, c-format -msgid "\n" - "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" -msgstr "\n" - "Hoiatus: \"%s\" puudub teie newsrc failist, see võib olla selles serveris " - "vigane!\n" +msgid "Updated" +msgstr "Uuendatud" #: src/lang.c:884 #, c-format -msgid "\n" - "Warning: \"%s\" is not a valid newsgroup at this site!\n" -msgstr "\n" - "Hoiatus: \"%s\" ei ole selles serveris kehtiv grupp!\n" +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "mitteparsitav \"LIST COUNTS\" rida: \"%s\"" + +#: src/lang.c:886 +msgid "Updating" +msgstr "Uuendan" + +#: src/lang.c:887 +msgid "URL Menu" +msgstr "" #: src/lang.c:888 -#, c-format -msgid "%d files successfully written from %d articles. %d %s occurred." -msgstr "Edukalt kirjutatud %d faili %d artiklist. Esines %d viga%s." +#, fuzzy +msgid "URL Menu Commands" +msgstr "Skoopide menüü käsud" #: src/lang.c:889 -msgid "Missing parts." -msgstr "Osad puuduvad." +#, fuzzy, c-format +msgid "Opening %s" +msgstr "Proovin %s\n" #: src/lang.c:890 -msgid "No beginning." -msgstr "Algus puudub." +#, fuzzy +msgid "Select URL> " +msgstr "Valige skoop> " #: src/lang.c:891 -msgid "No data." -msgstr "Andmeid pole." +#, fuzzy +msgid "No URLs in this article" +msgstr "Selles artiklis pole rohkem URL'e" #: src/lang.c:892 -msgid "Unknown error." -msgstr "Tundmatu viga." +msgid "Use MIME display program for this message?" +msgstr "Kasutan selle teate lugemiseks MIME näitamise programmi?" + +#: src/lang.c:893 +msgid " -c mark all news as read in subscribed newsgroups (batch mode)" +msgstr " -c märgi tellitud gruppides kõik artiklid loetuks (pakettmood)" + +#: src/lang.c:894 +msgid " -Z return status indicating if any unread news (batch mode)" +msgstr " -Z tagasta väärtus, mis näitab, kas on lugemata artikleid (pakettmood)" #: src/lang.c:895 +msgid " -q don't check for new newsgroups" +msgstr " -q ära otsi uusi gruppe" + +#: src/lang.c:896 +msgid " -X don't save any files on quit" +msgstr " -X töö lõpetamisel ära salvesta ühtegi faili" + +#: src/lang.c:897 +msgid " -d don't show newsgroup descriptions" +msgstr " -d ära näita gruppide kirjeldusi" + +#: src/lang.c:898 +msgid " -G limit get only limit articles/group" +msgstr " -G num loe aunult num artiklit/gruppi" + +#: src/lang.c:899 #, c-format -msgid "\tChecksum of %s (%ld %s)" -msgstr "\t%s kontrollsumma (%ld %s)" +msgid " -H help information about %s" +msgstr " -H %s kasutamise abiinfo" #: src/lang.c:900 -msgid "Reading mail active file... " -msgstr "Loen aktiivsete kirjade kausta... " +msgid " -h this help message" +msgstr " -h see abitekst" #: src/lang.c:901 -msgid "Reading mailgroups file... " -msgstr "Loen kirjagruppide faili... " +#, c-format +msgid " -I dir news index file directory [default=%s]" +msgstr " -I kat uudiste indeksfaili kataloog [vaikimisi=%s]" + +#: src/lang.c:902 +msgid " -u update index files (batch mode)" +msgstr " -u värskenda indeksfaile (pakettmood)" + +#: src/lang.c:903 +#, c-format +msgid " -m dir mailbox directory [default=%s]" +msgstr " -m kat kirjakaustade kataloog [vaikimisi=%s]" + +#: src/lang.c:904 +#, c-format +msgid "\n" + "Mail bug reports/comments to %s" +msgstr "\n" + "Saatke palun vea raport/kommentaarid aadressil %s" #: src/lang.c:905 -msgid "perform PGP operations on article" -msgstr "kasuta artiklil PGP operatsioone" +msgid " -N mail new news to your posts (batch mode)" +msgstr " -N saada uued vastused teie postitustele (pakettmood)" #: src/lang.c:906 -msgid "Add key(s) to public keyring?" -msgstr "Lisan võtmed avalike võtmete hoidlasse?" +msgid " -M user mail new news to specified user (batch mode)" +msgstr " -M kasut saada uued artiklid näidatud kasutajale (pakettmood)" #: src/lang.c:907 #, c-format -msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " -msgstr "%s=krüpti, %s=allkirjasta, %s=mõlemad, %s=välju: " +msgid " -f file subscribed to newsgroups file [default=%s]" +msgstr " -f fail tellitud gruppide fail [vaikimisi=%s]" #: src/lang.c:908 -#, c-format -msgid "%s=sign, %s=sign & include public key, %s=quit: " -msgstr "%s=allkirjasta, %s=allkirjasta & lisa avalik võti, %s=välju: " +msgid " -x no posting mode" +msgstr " -x postitamiseta mood" #: src/lang.c:909 -#, c-format -msgid "PGP has not been set up (can't open %s)" -msgstr "PGP pole seadistatud (ei saa avada %s)" +msgid " -w post an article and exit" +msgstr " -w postita artikkel ja lõpeta töö" #: src/lang.c:910 -msgid "Article not signed and no public keys found" -msgstr "Artikkel pole allkirjastatud ja avalikke võtmeid pole" +msgid " -o post all postponed articles and exit" +msgstr " -o postita kõik postitamisootel artiklid ja lõpeta töö" + +#: src/lang.c:911 +msgid " -R read news saved by -S option" +msgstr " -R loe artikleid, mis on salvestatud -S võtmega" #: src/lang.c:912 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=menüü, %s=postita, %s=ootele: " +msgid " -s dir save news directory [default=%s]" +msgstr " -s kat artiklite salvestamise kataloog [vaikimisi=%s]" #: src/lang.c:913 -#, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " -msgstr "%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=saada [%%s]: " +msgid " -S save new news for later reading (batch mode)" +msgstr " -S salvesta uued artiklid hilisemaks lugemiseks (pakettmood)" #: src/lang.c:914 +msgid " -z start if any unread news" +msgstr " -z alusta tööd, kui on lugemata uudiseid" + +#: src/lang.c:915 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=menüü, %s=postita, %s=ootele [%%" - "s]: " +msgid "A Usenet reader.\n" + "\n" + "Usage: %s [options] [newsgroup[,...]]" +msgstr "Usenet klient.\n" + "\n" + "Kasuta: %s [võtmed] [grupp[,...]]" #: src/lang.c:916 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=välju, %s=toimeta, %s=pgp, %s=menüü, %s=postita, %s=ootele: " +msgid " -v verbose output for batch mode options" +msgstr " -v esita pakettmoodi käskudega detailsemat informatsiooni" #: src/lang.c:917 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " -msgstr "%s=välju, %s=toimeta, %s=pgp, %s=saada [%%s]: " +msgid " -V print version & date information" +msgstr " -V esita versiooni ja kuupäeva informatsioon" #: src/lang.c:918 #, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=välju, %s=toimeta, %s=pgp, %s=menüü, %s=postita, %s=ootele [%%s]: " +msgid "%s only useful without batch mode operations\n" +msgstr "%s on kasutatav ainult pakettmoodi käskudeta\n" + +#: src/lang.c:919 +#, c-format +msgid "%s only useful for batch mode operations\n" +msgstr "%s on kasutatav ainult pakettmoodi käskudega\n" + +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "Kasutu %s ja %s kombinatsioon. Ignoreerin %s.\n" #: src/lang.c:922 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " -msgstr "%s=välju, %s=toimeta, %s=ispell, %s=menüü, %s=postita, %s=ootele: " +msgid "\n" + "%s%d out of range (0 - %d). Reset to 0" +msgstr "\n" + "%s%d piiridest väljas (0 - %d). Sean 0" #: src/lang.c:923 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " -msgstr "%s=välju, %s=toimeta, %s=ispell, %s=saada [%%s]: " +msgid "View '%s' (%s/%s)?" +msgstr "Vaatan '%s' (%s/%s)?" -#: src/lang.c:924 +#: src/lang.c:925 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=välju, %s=toimeta, %s=ispell, %s=menüü, %s=postita, %s=ootele [%%s]: " +msgid "\n" + "Warning: posting exceeds %d columns. Line %d is the first long one:\n" + "%-100s\n" +msgstr "\n" + "Hoiatus: postitus ületab %d veergu. Esimene pikk rida on rida %d:\n" + "%-100s\n" #: src/lang.c:926 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " -msgstr "%s=välju, %s=toimeta, %s=menüü, %s=postita, %s=ootele: " +msgid "\n" + "Warning: article unchanged after editing\n" +msgstr "\n" + "Hoiatus: artiklit ei ole toimetamise käigus muudetud\n" #: src/lang.c:927 -#, c-format -msgid "%s=quit, %s=edit, %s=send [%%s]: " -msgstr "%s=välju, %s=toimeta, %s=saada [%%s]: " +msgid "\n" + "Warning: \"Subject:\" contains only whitespaces.\n" +msgstr "\n" + "Hoiatus: \"Subject:\" real on ainult tühikud.\n" #: src/lang.c:928 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=välju, %s=toimeta, %s=menüü, %s=postita, %s=ootele [%%s]: " +msgid "\n" + "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" +msgstr "\n" + "Hoiatus: \"Subject:\" algab fraasiga \"Re: \", aga \"References:\" välju " + "pole.\n" + +#: src/lang.c:930 +msgid "\n" + "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" + " with \"Re: \" and does not contain \"(was:\".\n" +msgstr "\n" + "Hoiatus: Artiklis on \"References:\" päis, aga \"Subject:\" ei alga fraasiga\n" + " \"Re: \" ega sisalda \"(was:\".\n" + +#: src/lang.c:933 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly written by you. This will " + "wipe\n" + " the article from most news servers throughout the world, but there is " + "no\n" + " guarantee that it will work.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "Lugege hoolikalt!\n" + "\n" + " Te asute kustutama artiklit, mis paistab olema teie poolt kirjutatud.\n" + " Seega te eemaldate artikli paljudest uudiseserveritest üle maailma,\n" + " kuid kustutamisel ei ole mingit garantiid.\n" + "\n" + "Siin on artikkel, mida te hakkate kustutama:\n" + "\n" #: src/lang.c:937 -msgid "Try cache_overview_files to speed up things.\n" -msgstr "Proovige asjade kiirendamiseks cache_overview_files.\n" - -#: src/lang.c:938 -msgid "Tin will use local index files instead.\n" -msgstr "Tin kasutab hoopis kohalikke indeksfaile.\n" - -#: src/lang.c:939 -msgid "Cannot find NNTP server name" -msgstr "Ei leia NNTP serveri nime" - -#: src/lang.c:940 -#, c-format -msgid "Connecting to %s:%d..." -msgstr "Loon ühendust serveriga %s:%d..." - -#: src/lang.c:941 -msgid "Disconnecting from server...\n" -msgstr "Lõpetan ühenduse...\n" +msgid "\n" + "Warning: You are using a non-plain transfer encoding (such as base64 or\n" + " quoted-printable) and an external inews program to submit your\n" + " article. If a signature is appended by that inews program it will\n" + " not be encoded properly.\n" +msgstr "\n" + "Hoiatus: Te kasutate keerukat kodeeringut (nagu base64 või quoted-printable)\n" + " ja postitamiseks välist inews programmi. Kui see inews programm\n" + " lisab artiklile signatuuri, siis on võimalik, et seda ei kodeerita\n" + " korrektselt.\n" #: src/lang.c:942 -#, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" -msgstr "Vigane vastus GROUP käsule, %s grupile %s" +msgid "\n" + "Warning: \"example\" is a reserved hierarchy!\n" +msgstr "" #: src/lang.c:943 #, c-format -msgid "Failed to connect to NNTP server %s. Exiting..." -msgstr "NNTP serveriga %s ühenduse loomine ebaõnnestus. Lõpetan..." - -#: src/lang.c:944 -msgid "205 Closing connection" -msgstr "205 Sulen ühendust" +msgid "\n" + "\n" + "You are upgrading to tin %s from an earlier version.\n" + "Some values in your %s file have changed!\n" + "Read WHATSNEW, etc...\n" +msgstr "\n" + "\n" + "Te uuendate tini versioonile %s. Mõned\n" + "Väärtused failis %s on muutunud!\n" + "Palun lugege faile WHATSNEW, jne...\n" #: src/lang.c:945 -msgid "Your server does not support the NNTP XOVER or OVER command.\n" -msgstr "Teie server ei toeta NNTP XOVER või OVER käsku.\n" - -#: src/lang.c:946 -msgid "Connection to news server has timed out. Reconnect?" -msgstr "Ühendus uudisegruppide serveriga aegus. ühendun uuesti?" - -#: src/lang.c:947 -#, c-format -msgid "Put the server name in the file %s,\n" - "or set the environment variable NNTPSERVER" -msgstr "Kirjutage serveri nimi faili %s,\n" - "või seadke keskonnamuutuja NNTPSERVER" - -#: src/lang.c:948 -msgid " -A force authentication on connect" -msgstr " -A sunni ühenduse loomisel autentima" - -#: src/lang.c:949 #, c-format -msgid " -g serv read news from NNTP server serv [default=%s]" -msgstr " -g serv loe uudiseid NNTP serverist serv [vaikimisi=%s]" +msgid "\n" + "\n" + "You are downgrading to tin %s from a more recent version!\n" + "Some values in your %s file may be ignored, others might have changed!\n" +msgstr "\n" + "\n" + "Te käivitate tin versioon %s, mis on vanem kui teie eelmises sessioonis\n" + "kasutatu!\n" + "Mõningaid väärtusi failis %s võidakse ignoreerida, mõningaid võidakse muuta!\n" -#: src/lang.c:950 +#: src/lang.c:948 #, c-format -msgid " -p port use port as NNTP port [default=%d]" -msgstr " -p port kasuta NNTP porti [vaikimisi=%d]" - -#: src/lang.c:951 -msgid " -Q quick start. Same as -nqd" -msgstr " -Q kiirstart. Sama kui -nqd" +msgid "Warning: tin wrote fewer groups to your\n" + "\t%s\n" + "than it read at startup. If you didn't unsubscribe from %ld %s during\n" + "this session this indicates an error and you should backup your %s\n" + "before you start tin once again!\n" +msgstr "Hoiatus: tin kirjutas vähem gruppe teie\n" + "\t%s\n" + "kui ta luges käivitamisel. Kui te ei loobunud sessiooni kestel %ld\n" + "grupist%s, tähendab see viga ja te peaksite varundama oma %s\n" + "enne, kui te tini uuesti käivitate!\n" #: src/lang.c:952 -msgid " -l use only LIST instead of GROUP (-n) command" -msgstr " -l kasuta LIST käsku GROUP (-n) käsu asemel" +#, c-format +msgid "\n" + "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" +msgstr "\n" + "Hoiatus: Leidsin %d '-- \\n' rida, mis võib tekitada osades inimestes " + "segadust.\n" #: src/lang.c:953 -msgid " -n only read subscribed .newsrc groups from NNTP server" -msgstr " -n loe NNTP serverist ainult tellitud .newsrc grupid" +#, c-format +msgid "Warning: Only %d out of %d articles were saved" +msgstr "Hoiatus: Salvestati ainult %d artiklit %d artiklist" -#: src/lang.c:955 +#: src/lang.c:954 #, c-format -msgid "%s/tcp: Unknown service.\n" -msgstr "%s/tcp: Tundmatu teenus.\n" +msgid "\n" + "Warning: Your signature is longer than %d lines. Since signatures usually " + "do\n" + " not transport any useful information, they should be as short " + "as\n" + " possible.\n" +msgstr "\n" + "Hoiatus: Teie signatuur on pikem, kui %d rida. Kuna tavaliselt signatuurid " + "ei\n" + " sisalda kasulikku informatsiooni, siis peaksid nad olema " + "võimalikult\n" + " lühikesed.\n" #: src/lang.c:958 -msgid "\n" - "socket or connect problem\n" -msgstr "\n" - "Probleem pistikuga või ühendusega\n" +#, c-format +msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " +msgstr "Hoiatus: see aadress võib sisaldada rämpsposti lõksu. %s=jätkan, %s=katkestan?" + +#: src/lang.c:959 +msgid "\n" + "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" +msgstr "\n" + "Hoiatus: Signatuuride alguses peaks olema '-- \\n', mitte '--\\n'.\n" #: src/lang.c:960 +msgid "Writing attributes file..." +msgstr "Kirjutan atribuutide faili..." + +#: src/lang.c:962 #, c-format -msgid "\n" - "Connection to %s: " -msgstr "\n" - "Loon ühendust serveriga %s: " - -#: src/lang.c:961 -msgid "Giving up...\n" -msgstr "Annan alla...\n" +msgid "%d Responses" +msgstr "%d Vastust" #: src/lang.c:964 -msgid "Your server does not have Xref: in its XOVER information.\n" - "Tin will try to use XHDR XREF instead (slows down things a bit).\n" -msgstr "Teie server ei paku Xref: päiserida XOVER informatsioonis.\n" - "Tin üritab kasutada XHDR XREF selle asemel (võib olla mõnevõrra " - "aeganõudvam).\n" +#, c-format +msgid "Added %d %s" +msgstr "Lisatud %d %s" + +#: src/lang.c:965 +msgid "No unsubscribed groups to show" +msgstr "Tellimata gruppe pole" + +#: src/lang.c:966 +msgid "Showing subscribed to groups only" +msgstr "Näitan ainult tellitud gruppe" #: src/lang.c:967 -msgid "Your server does not have Xref: in its XOVER information.\n" -msgstr "Teie server ei paku Xref: päiserida XOVER informatsioonis.\n" +msgid "Yes " +msgstr "Jah " -#: src/lang.c:970 -#, c-format -msgid "Can't open %s. Try %s -r to read news via NNTP.\n" -msgstr "%s ei saa avada. Proovige %s -r, et lugeda uudiseid üle NNTP.\n" +#: src/lang.c:968 +msgid " You have mail" +msgstr " Teil on kiri" #: src/lang.c:973 -msgid " -Q quick start. Same as -qd" -msgstr " -Q kiirstart. Sama kui -qd" +#, c-format +msgid "\n" + "Warning: Posting is in %s and contains characters which are not\n" + " in your selected MM_NETWORK_CHARSET: %s.\n" + " These characters will be replaced by '?' if you post this\n" + " article unchanged. To avoid garbling your article please either\n" + " edit it and remove those characters or change the setting of\n" + " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" + " M)enu option.\n" +msgstr "\n" + "Hoiatus: Postitus on %s ja sisaldab sümboleid, mis puuduvad teie poolt\n" + " valitud MM_NETWORK_CHARSET: %s.\n" + " Kui te postitate selle artikli muutmata kujul, asendatakse\n" + " need sümbolid sümboliga '?'. Et vältida sodi teie artiklis, palun\n" + " seda kas muuta ja eemaldada need sümbolid või muuta seadet\n" + " MM_NETWORK_CHARSET. Viimast saate teostada kasutades valikut M)" + "enüü.\n" + +#: src/lang.c:984 +msgid " -D mode debug mode" +msgstr " -D mood silumismood" + +#: src/lang.c:988 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly not written by you. This " + "will\n" + " wipe the article from lots of news servers throughout the world;\n" + " Usenet's majority considers this rather inappropriate, to say the " + "least.\n" + " Only press 'd' if you are absolutely positive that you are ready to " + "take\n" + " the rap.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "Lugege hoolikalt!\n" + "\n" + " Te olete kustutamas artiklit, mida te ilmselt pole kirjutanud. Seega\n" + " eemaldatakse artikkle paljudest uudiseserveritest üle maailma. Useneti\n" + " üldsus loeb sellist käitumist ebakohaseks. Vajutage 'd' ainult siis,\n" + " kui te olete täiesti veendunud selle sammu vajalikkuses.\n" + "\n" + "Siin on artikkel, mida te asute kustutama:\n" + "\n" -#: src/lang.c:974 -msgid " -l read only active file instead of scanning spool (-n) command" -msgstr " -l loe pooli skaneerimise (-n) asemel ainult faili active" +#: src/lang.c:997 +msgid "toggle color" +msgstr "lülita värve" -#: src/lang.c:975 -msgid " -n only read subscribed .newsrc groups from spool" -msgstr " -n loe poolist ainult tellitud .newsrc gruppe" +#: src/lang.c:998 +msgid "# Changing colors of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" +msgstr "# Ekraaniosade värvide muutmine\n" + "# Võimalikud väärtused on:\n" + "# -1 = vaikimisi (valge esiplaan ja must tagaplaan)\n" + "# 0 = must\n" + "# 1 = punane\n" + "# 2 = roheline\n" + "# 3 = pruun\n" + "# 4 = sinine\n" + "# 5 = roosa\n" + "# 6 = lilla\n" + "# 7 = valge\n" + "# Need on *ainult* esiplaani tarvis:\n" + "# 8 = hall\n" + "# 9 = helepunane\n" + "# 10 = heleroheline\n" + "# 11 = kollane\n" + "# 12 = helesinine\n" + "# 13 = heleroosa\n" + "# 14 = helelilla\n" + "# 15 = helevalge\n" + "\n" + +#: src/lang.c:1018 +msgid " -a toggle color flag" +msgstr " -a lülita värvide kasutamist" + +#: src/lang.c:1022 +msgid "\n" + "Error: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "Viga: Followup-To real on rohkem kui üks grupp!\n" + +#: src/lang.c:1023 +#, c-format +msgid "\n" + "Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "\n" + "Viga: \"%s\" on ümber nimetatud, kasutage selle asemel \"%s\"!\n" + +#: src/lang.c:1024 +#, c-format +msgid "\n" + "Error: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "Viga: ristpostitus %d gruppi ja Followup-To rida puudub!\n" -#: src/lang.c:976 -msgid "Your server does not have Xref: in its NOV-files.\n" -msgstr "Teie server ei paku Xref: päiserida NOV failides.\n" +#: src/lang.c:1025 +#, c-format +msgid "\n" + "Error: \"%s\" is not a valid newsgroup!\n" +msgstr "\n" + "Viga: \"%s\" ei ole lubatud grupp!\n" + +#: src/lang.c:1027 +msgid "\n" + "Warning: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "Hoiatus: Followup-To on seatud rohkem, kui ühele grupile!\n" + +#: src/lang.c:1028 +#, c-format +msgid "\n" + "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "\n" + "Hoiatus: \"%s\" on ümber nimetatud, kasutage selle asemel \"%s\"!\n" + +#: src/lang.c:1029 +#, c-format +msgid "\n" + "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "Hoiatus: ristpostitus %d uudisegruppi ja Followup-To rida puudub!\n" + +#: src/lang.c:1030 +#, c-format +msgid "\n" + "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" +msgstr "\n" + "Hoiatus: \"%s\" puudub teie newsrc failist, see võib olla selles serveris " + "vigane!\n" + +#: src/lang.c:1031 +#, c-format +msgid "\n" + "Warning: \"%s\" is not a valid newsgroup at this site!\n" +msgstr "\n" + "Hoiatus: \"%s\" ei ole selles serveris kehtiv grupp!\n" + +#: src/lang.c:1035 +#, c-format +msgid "%d files successfully written from %d articles. %d %s occurred." +msgstr "Edukalt kirjutatud %d faili %d artiklist. Esines %d viga%s." + +#: src/lang.c:1036 +msgid "Missing parts." +msgstr "Osad puuduvad." + +#: src/lang.c:1037 +msgid "No beginning." +msgstr "Algus puudub." -#: src/lang.c:980 -msgid "Posting using external inews failed. Use built in inews instead?" -msgstr "Välise inews programmiga postitamine ebaõnnestus. Proovin sisemist inewsi?" +#: src/lang.c:1038 +msgid "No data." +msgstr "Andmeid pole." -#: src/lang.c:981 -msgid "It worked! Should I always use my built in inews from now on?" -msgstr "See töötas! Kas kasutan nüüd alati sisemist inews programmi?" +#: src/lang.c:1039 +msgid "Unknown error." +msgstr "Tundmatu viga." -#: src/lang.c:989 +#: src/lang.c:1042 #, c-format -msgid "%d %s printed" -msgstr "%d %s trükitud" +msgid "\tChecksum of %s (%ld %s)" +msgstr "\t%s kontrollsumma (%ld %s)" -#: src/lang.c:990 -msgid "output article/thread/hot/pattern/tagged articles to printer" -msgstr "saada artikkel/teema/kuum/muster/märgitud trükkalile" +#: src/lang.c:1047 +msgid "Reading mail active file... " +msgstr "Loen aktiivsete kirjade kausta... " -#: src/lang.c:991 -msgid "Print" -msgstr "Trüki" - -#: src/lang.c:992 -msgid "Printing..." -msgstr "Trükin..." +#: src/lang.c:1048 +msgid "Reading mailgroups file... " +msgstr "Loen kirjagruppide faili... " -#: src/lang.c:996 -msgid "pipe article/thread/hot/pattern/tagged articles into command" -msgstr "saada artikkel/teema/kuum/muster/märgitud toruga käsule" +#: src/lang.c:1052 +msgid "perform PGP operations on article" +msgstr "kasuta artiklil PGP operatsioone" + +#: src/lang.c:1053 +msgid "Add key(s) to public keyring?" +msgstr "Lisan võtmed avalike võtmete hoidlasse?" -#: src/lang.c:997 -msgid "No command" -msgstr "Käsku pole" +#: src/lang.c:1054 +#, c-format +msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " +msgstr "%s=krüpti, %s=allkirjasta, %s=mõlemad, %s=välju: " -#: src/lang.c:998 -msgid "Pipe" -msgstr "Toru" +#: src/lang.c:1055 +#, c-format +msgid "%s=sign, %s=sign & include public key, %s=quit: " +msgstr "%s=allkirjasta, %s=allkirjasta & lisa avalik võti, %s=välju: " -#: src/lang.c:999 +#: src/lang.c:1056 #, c-format -msgid "Pipe to command [%.*s]> " -msgstr "Toru käsku [%.*s]> " +msgid "PGP has not been set up (can't open %s)" +msgstr "PGP pole seadistatud (ei saa avada %s)" -#: src/lang.c:1000 -msgid "Piping..." -msgstr "Saadan torusse..." - -#: src/lang.c:1002 -msgid "Piping not enabled." -msgstr "Toru kasutamine pole lubatud." - -#: src/lang.c:1006 -#, c-format -msgid "\n" - "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" - " The only allowable space is the one separating the colon (:)\n" - " from the contents. Use a comma (,) to separate multiple\n" - " newsgroup names.\n" -msgstr "\n" - "Viga: Real \"%s:\" on tühikud, mis tuleb sealt eemaldada. Ainuke lubatud\n" - " tühik on see, mis eraldab koolonit (:) teistest komponentidest\n" - " real. Gruppide eraldamiseks kasutage palun koma (,).\n" - -#: src/lang.c:1011 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is continued in the next line. Since\n" - " the line may not contain whitespace, this is not allowed.\n" - " Please write all newsgroups into a single line.\n" -msgstr "\n" - "Viga: Rida \"%s\" jätkun järgneval real. Kuna see rida ei või sisaldada\n" - " tühikuid, siis ei ole see lubatud. Palun kirjutage kõik grupid\n" - " ühele reale.\n" - -#: src/lang.c:1016 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line is continued in the next line.\n" - " This is a very new feature and may not be accepted by all servers.\n" - " To avoid trouble please write all newsgroups into a single line.\n" -msgstr "\n" - "Viga: Rida \"%s\" jätkub järgneval real.\n" - " See on uus omadus ja kõik serverid ei pruugi seda toetada.\n" - " Probleemide vältimiseks, kirjutage palun kõik grupid ühele reale.\n" - -#: src/lang.c:1020 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" -msgstr "\n" - "Hoiatus: Rida \"%s:\" sisaldab tühikuid, mis TULEKS eemaldada.\n" +#: src/lang.c:1057 +msgid "Article not signed and no public keys found" +msgstr "Artikkel pole allkirjastatud ja avalikke võtmeid pole" -#: src/lang.c:1025 -msgid "\n" - " If your article contains quoted text please take some time to pare it " - "down\n" - " to just the key points to which you are responding, or people will " - "think\n" - " you are a dweeb! Many people have the habit of skipping any article " - "whose\n" - " first page is largely quoted material. Format your article to fit in " - "less\n" - " then 80 chars, since that's the conventional size (72 is a good choice " - "as\n" - " it allows quoting without exceeding the limit). If your lines are too " - "long\n" - " they'll wrap around ugly and people won't read what you write. If " - "you\n" - " aren't careful and considerate in formatting your posting, people " - "are\n" - " likely to ignore it completely. It's a crowded net out there.\n" -msgstr "\n" - " Kui teie artikkel sisaldab tsiteeritud teksti, kasutage palun tsitaatides\n" - " ainult seda teksti, millele te vastate. Paljudel inimestel on kombeks\n" - " ignoreerida artikleid, mille esimene lehekülg on enamuses tsitaat. Vorm-\n" - " istage oma artikliread mahtuma 80 sümbolisisse (kuni 72 sümboli pikkused\n" - " read on hea valik, kuna jätab ruumi ka tsiteerimiseks). Kui teie read on\n" - " pikemad, siis nad võivad ekraanile mitte mahtuda ja lugeja ei saa teie\n" - " teksti normaalselt lugeda. Kui te ei arvesta oma postitustes nende nõue-\n" - " tega, siis ilmselt enamus lugejaid ignoreerib teid täiesti. Tänapäeval on\n" - " võrgus palju rahvast ja infot!\n" +#: src/lang.c:1059 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=menüü, %s=postita, %s=ootele: " -#: src/lang.c:1038 -msgid "shell escape" -msgstr "paojada käsureale" +#: src/lang.c:1060 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " +msgstr "%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=saada [%%s]: " -#: src/lang.c:1039 +#: src/lang.c:1061 #, c-format -msgid "Shell Command (%s)" -msgstr "Käsurea käsk (%s)" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=välju, %s=toimeta, %s=ispell, %s=pgp, %s=menüü, %s=postita, %s=ootele [%%" + "s]: " -#: src/lang.c:1040 +#: src/lang.c:1063 #, c-format -msgid "Enter shell command [%s]> " -msgstr "Sisestage käsurea käsk [%s]> " +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=välju, %s=toimeta, %s=pgp, %s=menüü, %s=postita, %s=ootele: " -#: src/lang.c:1044 +#: src/lang.c:1064 #, c-format -msgid "%s: Can't get entry for TERM\n" -msgstr "%s: Ei saa TERM kirjet\n" +msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " +msgstr "%s=välju, %s=toimeta, %s=pgp, %s=saada [%%s]: " -#: src/lang.c:1048 +#: src/lang.c:1065 #, c-format -msgid "Group %.*s ('q' to quit)..." -msgstr "Grupp %.*s ('q' lõpetamiseks)..." +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=välju, %s=toimeta, %s=pgp, %s=menüü, %s=postita, %s=ootele [%%s]: " -#: src/lang.c:1050 +#: src/lang.c:1069 #, c-format -msgid "Group %.*s..." -msgstr "Grupp %.*s..." +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " +msgstr "%s=välju, %s=toimeta, %s=ispell, %s=menüü, %s=postita, %s=ootele: " -#: src/lang.c:1054 -msgid "Server unavailable\n" -msgstr "Server ei vasta\n" +#: src/lang.c:1070 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " +msgstr "%s=välju, %s=toimeta, %s=ispell, %s=saada [%%s]: " -#: src/lang.c:1060 +#: src/lang.c:1071 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" - "s=post" -msgstr "%s=toru; %s=kiri; %s=trüki; %s=välju; %s=kõik/lugem; %s=salv; %s=märgi; %" - "s=postita" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=välju, %s=toimeta, %s=ispell, %s=menüü, %s=postita, %s=ootele [%%s]: " -#: src/lang.c:1061 +#: src/lang.c:1073 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=toru; %s=kiri; %s=trüki; %s=välju; %s=kirjuta; %s=salv; %s=märgi; %" - "s=postita" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " +msgstr "%s=välju, %s=toimeta, %s=menüü, %s=postita, %s=ootele: " -#: src/lang.c:1063 +#: src/lang.c:1074 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=kiri; %s=trüki; %s=välju; %s=kõik/lugem; %s=salvesta; %s=märgi; %s=postita" +msgid "%s=quit, %s=edit, %s=send [%%s]: " +msgstr "%s=välju, %s=toimeta, %s=saada [%%s]: " -#: src/lang.c:1064 +#: src/lang.c:1075 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=kiri; %s=trüki; %s=välju; %s=kirjuta; %s=salvesta; %s=märgi; %s=postita" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=välju, %s=toimeta, %s=menüü, %s=postita, %s=ootele [%%s]: " + +#: src/lang.c:1084 +msgid "Try cache_overview_files to speed up things.\n" +msgstr "Proovige asjade kiirendamiseks cache_overview_files.\n" + +#: src/lang.c:1085 +msgid "Tin will use local index files instead.\n" +msgstr "Tin kasutab hoopis kohalikke indeksfaile.\n" + +#: src/lang.c:1086 +msgid "Cannot find NNTP server name" +msgstr "Ei leia NNTP serveri nime" -#: src/lang.c:1068 +#: src/lang.c:1087 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=toru; %s=kiri; %s=välju; %s=kõik/lugemata; %s=salv; %s=märgi; %s=postita" +msgid "Connecting to %s:%u..." +msgstr "Loon ühendust serveriga %s:%u..." -#: src/lang.c:1069 +#: src/lang.c:1088 +msgid "Disconnecting from server...\n" +msgstr "Lõpetan ühenduse...\n" + +#: src/lang.c:1089 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=toru; %s=kiri; %s=välju; %s=kirjuta; %s=salvesta; %s=märgi; %s=postita" +msgid "Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" +msgstr "Vale grupi nimi (\"%s\") vastuseks \"GROUP %s\" käsule: \"%s\"" -#: src/lang.c:1071 +#: src/lang.c:1090 #, c-format -msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=kiri; %s=välju; %s=kõik/lugemata; %s=salvesta; %s=märgi; %s=postita" +msgid "Failed to connect to NNTP server %s. Exiting..." +msgstr "NNTP serveriga %s ühenduse loomine ebaõnnestus. Lõpetan..." -#: src/lang.c:1072 +#: src/lang.c:1091 +msgid "205 Closing connection" +msgstr "205 Sulen ühendust" + +#: src/lang.c:1092 +msgid "Your server does not support the NNTP XOVER or OVER command.\n" +msgstr "Teie server ei toeta NNTP XOVER või OVER käsku.\n" + +#: src/lang.c:1093 +msgid "Connection to news server has timed out. Reconnect?" +msgstr "Ühendus uudisegruppide serveriga aegus. ühendun uuesti?" + +#: src/lang.c:1094 #, c-format -msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=kiri; %s=välju; %s=vasta kirjaga; %s=salvesta; %s=märgi; %s=postita" +msgid "Put the server name in the file %s,\n" + "or set the environment variable NNTPSERVER" +msgstr "Kirjutage serveri nimi faili %s,\n" + "või seadke keskonnamuutuja NNTPSERVER" -#: src/lang.c:1078 -msgid "Terminal does not support color" -msgstr "Terminal ei toeta värve" +#: src/lang.c:1095 +msgid " -A force authentication on connect" +msgstr " -A sunni ühenduse loomisel autentima" -#: src/lang.c:1083 +#: src/lang.c:1096 #, c-format -msgid "Trying %s" -msgstr "Proovin %s" +msgid " -g serv read news from NNTP server serv [default=%s]" +msgstr " -g serv loe uudiseid NNTP serverist serv [vaikimisi=%s]" -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 src/refs.c:296 -msgid "None" -msgstr "Pole" +#: src/lang.c:1097 +#, c-format +msgid " -p port use port as NNTP port [default=%d]" +msgstr " -p port kasuta NNTP porti [vaikimisi=%d]" #: src/lang.c:1098 -msgid "Subject" -msgstr "Teema" +msgid " -Q quick start. Same as -nqd" +msgstr " -Q kiirstart. Sama kui -nqd" #: src/lang.c:1099 -msgid "References" -msgstr "Viited" +msgid " -r read news remotely from default NNTP server" +msgstr " -r loe artikleid kasutades vaikimisi NNTP serverit" #: src/lang.c:1100 -msgid "Both Subject and References" -msgstr "Nii teema kui viited" +msgid " -l use only LIST instead of GROUP (-n) command" +msgstr " -l kasuta LIST käsku GROUP (-n) käsu asemel" #: src/lang.c:1101 -msgid "Multipart Subject" -msgstr "Mitmeosaliste teema" +msgid " -n only read subscribed .newsrc groups from NNTP server" +msgstr " -n loe NNTP serverist ainult tellitud .newsrc grupid" -#: src/lang.c:1102 -msgid "Percentage Match" -msgstr "Percentage Match" - -#: src/lang.c:1114 src/lang.c:1225 -msgid "No" -msgstr "Ei" - -#: src/lang.c:1115 src/lang.c:1227 -msgid "Yes" -msgstr "Jah" - -#: src/lang.c:1116 -msgid "Hide All" -msgstr "Peida kõik" +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" +msgstr "" + +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr "" + +#: src/lang.c:1105 +msgid "\n" + "socket or connect problem\n" +msgstr "\n" + "Probleem pistikuga või ühendusega\n" + +#: src/lang.c:1107 +#, c-format +msgid "\n" + "Connection to %s: " +msgstr "\n" + "Loon ühendust serveriga %s: " + +#: src/lang.c:1108 +msgid "Giving up...\n" +msgstr "Annan alla...\n" + +#: src/lang.c:1110 +#, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "%s/tcp: Tundmatu teenus.\n" + +#: src/lang.c:1114 +msgid "Your server does not have Xref: in its XOVER information.\n" + "Tin will try to use XHDR XREF instead (slows down things a bit).\n" +msgstr "Teie server ei paku Xref: päiserida XOVER informatsioonis.\n" + "Tin üritab kasutada XHDR XREF selle asemel (võib olla mõnevõrra " + "aeganõudvam).\n" + +#: src/lang.c:1117 +msgid "Your server does not have Xref: in its XOVER information.\n" +msgstr "Teie server ei paku Xref: päiserida XOVER informatsioonis.\n" + +#: src/lang.c:1120 +#, c-format +msgid "Can't open %s. Try %s -r to read news via NNTP.\n" +msgstr "%s ei saa avada. Proovige %s -r, et lugeda uudiseid üle NNTP.\n" + +#: src/lang.c:1123 +msgid " -Q quick start. Same as -qd" +msgstr " -Q kiirstart. Sama kui -qd" #: src/lang.c:1124 -msgid "Address" -msgstr "Aadress" +msgid " -l read only active file instead of scanning spool (-n) command" +msgstr " -l loe pooli skaneerimise (-n) asemel ainult faili active" #: src/lang.c:1125 -msgid "Full Name" -msgstr "Täisnimi" +msgid " -n only read subscribed .newsrc groups from spool" +msgstr " -n loe poolist ainult tellitud .newsrc gruppe" #: src/lang.c:1126 -msgid "Address and Name" -msgstr "Aadress ja nimi" +msgid "Your server does not have Xref: in its NOV-files.\n" +msgstr "Teie server ei paku Xref: päiserida NOV failides.\n" -#: src/lang.c:1133 -msgid "Max" -msgstr "Maksimum" - -#: src/lang.c:1134 -msgid "Sum" -msgstr "Summa" +#: src/lang.c:1130 +msgid "Posting using external inews failed. Use built in inews instead?" +msgstr "Välise inews programmiga postitamine ebaõnnestus. Proovin sisemist inewsi?" + +#: src/lang.c:1131 +msgid "It worked! Should I always use my built in inews from now on?" +msgstr "See töötas! Kas kasutan nüüd alati sisemist inews programmi?" #: src/lang.c:1135 -msgid "Average" -msgstr "Keskmine" +#, c-format +msgid "%d %s printed" +msgstr "%d %s trükitud" -#: src/lang.c:1140 -msgid "Lines" -msgstr "Read" - -#: src/lang.c:1141 -msgid "Score" -msgstr "Kaal" +#: src/lang.c:1136 +msgid "output article/thread/hot/pattern/tagged articles to printer" +msgstr "saada artikkel/teema/kuum/muster/märgitud trükkalile" + +#: src/lang.c:1137 +msgid "Print" +msgstr "Trüki" + +#: src/lang.c:1138 +msgid "Printing..." +msgstr "Trükin..." #: src/lang.c:1142 -msgid "Lines & Score" -msgstr "Read & kaal" +msgid "pipe article/thread/hot/pattern/tagged articles into command" +msgstr "saada artikkel/teema/kuum/muster/märgitud toruga käsule" -#: src/lang.c:1151 -msgid "Black" -msgstr "Must" +#: src/lang.c:1143 +msgid "No command" +msgstr "Käsku pole" -#: src/lang.c:1152 -msgid "Red" -msgstr "Punane" +#: src/lang.c:1144 +msgid "Pipe" +msgstr "Toru" -#: src/lang.c:1153 -msgid "Green" -msgstr "Roheline" - -#: src/lang.c:1154 -msgid "Brown" -msgstr "Pruun" - -#: src/lang.c:1155 -msgid "Blue" -msgstr "Sinine" - -#: src/lang.c:1156 -msgid "Pink" -msgstr "Roosa" +#: src/lang.c:1145 +#, c-format +msgid "Pipe to command [%.*s]> " +msgstr "Toru käsku [%.*s]> " -#: src/lang.c:1157 -msgid "Cyan" -msgstr "Lilla" +#: src/lang.c:1146 +msgid "Piping..." +msgstr "Saadan torusse..." -#: src/lang.c:1158 -msgid "White" -msgstr "valge" - -#: src/lang.c:1159 -msgid "Gray" -msgstr "Hall" - -#: src/lang.c:1160 -msgid "Light Red" -msgstr "Helepunane" - -#: src/lang.c:1161 -msgid "Light Green" -msgstr "Heleroheline" +#: src/lang.c:1148 +msgid "Piping not enabled." +msgstr "Toru kasutamine pole lubatud." -#: src/lang.c:1162 -msgid "Yellow" -msgstr "Kollane" +#: src/lang.c:1152 +#, c-format +msgid "\n" + "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" + " The only allowable space is the one separating the colon (:)\n" + " from the contents. Use a comma (,) to separate multiple\n" + " newsgroup names.\n" +msgstr "\n" + "Viga: Real \"%s:\" on tühikud, mis tuleb sealt eemaldada. Ainuke lubatud\n" + " tühik on see, mis eraldab koolonit (:) teistest komponentidest\n" + " real. Gruppide eraldamiseks kasutage palun koma (,).\n" -#: src/lang.c:1163 -msgid "Light Blue" -msgstr "Helesinine" - -#: src/lang.c:1164 -msgid "Light Pink" -msgstr "Heleroosa" - -#: src/lang.c:1165 -msgid "Light Cyan" -msgstr "Helelilla" +#: src/lang.c:1157 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is continued in the next line. Since\n" + " the line may not contain whitespace, this is not allowed.\n" + " Please write all newsgroups into a single line.\n" +msgstr "\n" + "Viga: Rida \"%s\" jätkun järgneval real. Kuna see rida ei või sisaldada\n" + " tühikuid, siis ei ole see lubatud. Palun kirjutage kõik grupid\n" + " ühele reale.\n" -#: src/lang.c:1166 -msgid "Light White" -msgstr "Helevalge" +#: src/lang.c:1162 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line is continued in the next line.\n" + " This is a very new feature and may not be accepted by all servers.\n" + " To avoid trouble please write all newsgroups into a single line.\n" +msgstr "\n" + "Viga: Rida \"%s\" jätkub järgneval real.\n" + " See on uus omadus ja kõik serverid ei pruugi seda toetada.\n" + " Probleemide vältimiseks, kirjutage palun kõik grupid ühele reale.\n" -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 -msgid "Nothing" -msgstr "Ei kasuta" - -#: src/lang.c:1175 -msgid "Mark" -msgstr "Märk" - -#: src/lang.c:1176 -msgid "Space" -msgstr "Tühik" - -#: src/lang.c:1183 -msgid "Normal" -msgstr "Tavaline" +#: src/lang.c:1166 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" +msgstr "\n" + "Hoiatus: Rida \"%s:\" sisaldab tühikuid, mis TULEKS eemaldada.\n" + +#: src/lang.c:1171 +msgid "\n" + " If your article contains quoted text please take some time to pare it " + "down\n" + " to just the key points to which you are responding, or people will " + "think\n" + " you are a dweeb! Many people have the habit of skipping any article " + "whose\n" + " first page is largely quoted material. Format your article to fit in " + "less\n" + " then 80 chars, since that's the conventional size (72 is a good choice " + "as\n" + " it allows quoting without exceeding the limit). If your lines are too " + "long\n" + " they'll wrap around ugly and people won't read what you write. If " + "you\n" + " aren't careful and considerate in formatting your posting, people " + "are\n" + " likely to ignore it completely. It's a crowded net out there.\n" +msgstr "\n" + " Kui teie artikkel sisaldab tsiteeritud teksti, kasutage palun tsitaatides\n" + " ainult seda teksti, millele te vastate. Paljudel inimestel on kombeks\n" + " ignoreerida artikleid, mille esimene lehekülg on enamuses tsitaat. Vorm-\n" + " istage oma artikliread mahtuma 80 sümbolisisse (kuni 72 sümboli pikkused\n" + " read on hea valik, kuna jätab ruumi ka tsiteerimiseks). Kui teie read on\n" + " pikemad, siis nad võivad ekraanile mitte mahtuda ja lugeja ei saa teie\n" + " teksti normaalselt lugeda. Kui te ei arvesta oma postitustes nende nõue-\n" + " tega, siis ilmselt enamus lugejaid ignoreerib teid täiesti. Tänapäeval on\n" + " võrgus palju rahvast ja infot!\n" #: src/lang.c:1184 -msgid "Best highlighting" -msgstr "Parim esiletõstmine" +msgid "shell escape" +msgstr "paojada käsureale" #: src/lang.c:1185 -msgid "Underline" -msgstr "Allajoonitud" +#, c-format +msgid "Shell Command (%s)" +msgstr "Käsurea käsk (%s)" #: src/lang.c:1186 -msgid "Reverse video" -msgstr "Pööratud video" +#, c-format +msgid "Enter shell command [%s]> " +msgstr "Sisestage käsurea käsk [%s]> " -#: src/lang.c:1187 -msgid "Blinking" -msgstr "Plinkiv" - -#: src/lang.c:1188 -msgid "Half bright" -msgstr "Poolhele" - -#: src/lang.c:1189 -msgid "Bold" -msgstr "Paks" +#: src/lang.c:1190 +#, c-format +msgid "%s: Can't get entry for TERM\n" +msgstr "%s: Ei saa TERM kirjet\n" #: src/lang.c:1194 -msgid "none" -msgstr "pole" - -#: src/lang.c:1195 -msgid "commands" -msgstr "käsud" +#, c-format +msgid "Group %.*s ('q' to quit)..." +msgstr "Grupp %.*s ('q' lõpetamiseks)..." #: src/lang.c:1196 -msgid "select" -msgstr "valik" - -#: src/lang.c:1198 -msgid "commands & quit" -msgstr "käsud & välju" - -#: src/lang.c:1199 -msgid "commands & select" -msgstr "käsud & valik" +#, c-format +msgid "Group %.*s..." +msgstr "Grupp %.*s..." #: src/lang.c:1200 -msgid "quit & select" -msgstr "välju & valik" +msgid "Server unavailable\n" +msgstr "Server ei vasta\n" -#: src/lang.c:1201 -msgid "commands & quit & select" -msgstr "käsud & välju & valik" - -#: src/lang.c:1226 -msgid "Shell archive" -msgstr "Shelli arhiiv" - -#: src/lang.c:1232 -msgid "Subject: (descending)" -msgstr "Subject: (kahanevalt)" - -#: src/lang.c:1233 -msgid "Subject: (ascending)" -msgstr "Subject: (kasvavalt)" - -#: src/lang.c:1234 -msgid "From: (descending)" -msgstr "From: (kahanevalt)" - -#: src/lang.c:1235 -msgid "From: (ascending)" -msgstr "From: (kasvavalt)" - -#: src/lang.c:1236 -msgid "Date: (descending)" -msgstr "Date: (kahanevalt)" - -#: src/lang.c:1237 -msgid "Date: (ascending)" -msgstr "Date: (kasvavalt)" - -#: src/lang.c:1238 src/lang.c:1246 -msgid "Score (descending)" -msgstr "Kaal (kahanevalt)" - -#: src/lang.c:1239 src/lang.c:1247 -msgid "Score (ascending)" -msgstr "Kaal (kasvavalt)" - -#: src/lang.c:1240 -msgid "Lines: (descending)" -msgstr "Lines: (kahanevalt)" - -#: src/lang.c:1241 -msgid "Lines: (ascending)" -msgstr "Lines: (kasvavalt)" - -#: src/lang.c:1252 -msgid "Always Keep" -msgstr "Hoia alati" - -#: src/lang.c:1253 -msgid "Always Remove" -msgstr "Eemalda alati" - -#: src/lang.c:1254 -msgid "Mark with D on selection screen" -msgstr "Märgi valikuekraanil tähega D" - -#: src/lang.c:1259 -msgid "Kill only unread arts" -msgstr "Surma ainult lugemata artiklid" - -#: src/lang.c:1260 -msgid "Kill all arts & show with K" -msgstr "Surma kõik artiklid & näita K tähega" +#: src/lang.c:1206 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" + "s=post" +msgstr "%s=toru; %s=kiri; %s=trüki; %s=välju; %s=kõik/lugem; %s=salv; %s=märgi; %" + "s=postita" -#. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 -msgid "Kill all arts and never show" -msgstr "Surma kõik artiklid ja ära näita" - -#: src/lang.c:1266 -msgid "Nothing special" -msgstr "Ei midagi erilist" - -#: src/lang.c:1267 -msgid "Compress quotes" -msgstr "Tihenda tsitaadid" - -#: src/lang.c:1268 -msgid "Quote signatures" -msgstr "Tsiteeri allkirju" - -#: src/lang.c:1269 -msgid "Compress quotes, quote sigs" -msgstr "Tihenda tsitaadid, tsiteeri allkirju" +#: src/lang.c:1207 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=toru; %s=kiri; %s=trüki; %s=välju; %s=kirjuta; %s=salv; %s=märgi; %" + "s=postita" + +#: src/lang.c:1209 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=kiri; %s=trüki; %s=välju; %s=kõik/lugem; %s=salvesta; %s=märgi; %s=postita" + +#: src/lang.c:1210 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=kiri; %s=trüki; %s=välju; %s=kirjuta; %s=salvesta; %s=märgi; %s=postita" + +#: src/lang.c:1214 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=toru; %s=kiri; %s=välju; %s=kõik/lugemata; %s=salv; %s=märgi; %s=postita" + +#: src/lang.c:1215 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=toru; %s=kiri; %s=välju; %s=kirjuta; %s=salvesta; %s=märgi; %s=postita" + +#: src/lang.c:1217 +#, c-format +msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=kiri; %s=välju; %s=kõik/lugemata; %s=salvesta; %s=märgi; %s=postita" + +#: src/lang.c:1218 +#, c-format +msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=kiri; %s=välju; %s=vasta kirjaga; %s=salvesta; %s=märgi; %s=postita" + +#: src/lang.c:1224 +msgid "Terminal does not support color" +msgstr "Terminal ei toeta värve" + +#: src/lang.c:1229 +#, c-format +msgid "Trying %s" +msgstr "Proovin %s" + +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 src/refs.c:288 +msgid "None" +msgstr "Pole" + +#: src/lang.c:1244 +msgid "Subject" +msgstr "Teema" + +#: src/lang.c:1245 +msgid "References" +msgstr "Viited" + +#: src/lang.c:1246 +msgid "Both Subject and References" +msgstr "Nii teema kui viited" + +#: src/lang.c:1247 +msgid "Multipart Subject" +msgstr "Mitmeosaliste teema" + +#: src/lang.c:1248 +msgid "Percentage Match" +msgstr "Percentage Match" + +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 +msgid "No" +msgstr "Ei" + +#: src/lang.c:1261 src/lang.c:1413 +msgid "Yes" +msgstr "Jah" + +#: src/lang.c:1262 +msgid "Hide All" +msgstr "Peida kõik" #: src/lang.c:1270 -msgid "Quote empty lines" -msgstr "Tsiteeri tühje ridu" +msgid "Address" +msgstr "Aadress" #: src/lang.c:1271 -msgid "Compress quotes, quote empty lines" -msgstr "Tihenda tsitaadid, tsiteeri tühje ridu" +msgid "Full Name" +msgstr "Täisnimi" #: src/lang.c:1272 -msgid "Quote sigs & empty lines" -msgstr "Tsiteeri allkirju ja tühje ridu" +msgid "Address and Name" +msgstr "Aadress ja nimi" -#: src/lang.c:1273 -msgid "Comp. q., quote sigs & empty lines" -msgstr "Tihenda tsitaate, tsiteeri allkirju ja tühje ridu" +#: src/lang.c:1279 +msgid "Max" +msgstr "Maksimum" + +#: src/lang.c:1280 +msgid "Sum" +msgstr "Summa" + +#: src/lang.c:1281 +msgid "Average" +msgstr "Keskmine" + +#: src/lang.c:1286 +msgid "Lines" +msgstr "Read" + +#: src/lang.c:1287 +msgid "Score" +msgstr "Kaal" + +#: src/lang.c:1288 +msgid "Lines & Score" +msgstr "Read & kaal" + +#: src/lang.c:1297 +msgid "Black" +msgstr "Must" + +#: src/lang.c:1298 +msgid "Red" +msgstr "Punane" + +#: src/lang.c:1299 +msgid "Green" +msgstr "Roheline" + +#: src/lang.c:1300 +msgid "Brown" +msgstr "Pruun" + +#: src/lang.c:1301 +msgid "Blue" +msgstr "Sinine" + +#: src/lang.c:1302 +msgid "Pink" +msgstr "Roosa" + +#: src/lang.c:1303 +msgid "Cyan" +msgstr "Lilla" + +#: src/lang.c:1304 +msgid "White" +msgstr "valge" + +#: src/lang.c:1305 +msgid "Gray" +msgstr "Hall" + +#: src/lang.c:1306 +msgid "Light Red" +msgstr "Helepunane" + +#: src/lang.c:1307 +msgid "Light Green" +msgstr "Heleroheline" + +#: src/lang.c:1308 +msgid "Yellow" +msgstr "Kollane" + +#: src/lang.c:1309 +msgid "Light Blue" +msgstr "Helesinine" + +#: src/lang.c:1310 +msgid "Light Pink" +msgstr "Heleroosa" #: src/lang.c:1311 -msgid "no" -msgstr "ei" +msgid "Light Cyan" +msgstr "Helelilla" #: src/lang.c:1312 -msgid "with headers" -msgstr "päistega" +msgid "Light White" +msgstr "Helevalge" -#: src/lang.c:1313 -msgid "without headers" -msgstr "päisteta" - -#: src/lang.c:1320 src/lang.c:1326 -msgid "NFKC" -msgstr "NFKC" - -#: src/lang.c:1321 -msgid "NFKD" -msgstr "NFKD" +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 +msgid "Nothing" +msgstr "Ei kasuta" #: src/lang.c:1322 -msgid "NFC" -msgstr "NFC" +msgid "Space" +msgstr "Tühik" -#: src/lang.c:1323 -msgid "NFD" -msgstr "NFD" +#: src/lang.c:1329 +msgid "Normal" +msgstr "Tavaline" + +#: src/lang.c:1330 +msgid "Best highlighting" +msgstr "Parim esiletõstmine" + +#: src/lang.c:1331 +msgid "Underline" +msgstr "Allajoonitud" + +#: src/lang.c:1332 +msgid "Reverse video" +msgstr "Pööratud video" + +#: src/lang.c:1333 +msgid "Blinking" +msgstr "Plinkiv" #: src/lang.c:1334 -msgid "Display Options" -msgstr "Ekraani seaded" +msgid "Half bright" +msgstr "Poolhele" + +#: src/lang.c:1335 +msgid "Bold" +msgstr "Paks" #: src/lang.c:1341 -msgid "Color Options" -msgstr "Värvide seaded" +msgid "Cc" +msgstr "Cc" -#: src/lang.c:1348 -msgid "Article-Limiting Options" -msgstr "Artikli piirangute seaded" +#: src/lang.c:1342 +msgid "Bcc" +msgstr "Bcc" + +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "Cc ja Bcc" + +#: src/lang.c:1348 src/lang.c:1360 +msgid "none" +msgstr "pole" + +#: src/lang.c:1349 +msgid "commands" +msgstr "käsud" + +#: src/lang.c:1350 +msgid "select" +msgstr "valik" + +#: src/lang.c:1352 +msgid "commands & quit" +msgstr "käsud & välju" + +#: src/lang.c:1353 +msgid "commands & select" +msgstr "käsud & valik" #: src/lang.c:1354 -msgid "Posting/Mailing Options" -msgstr "Postitamise/saatmise seaded" +msgid "quit & select" +msgstr "välju & valik" -#: src/lang.c:1360 -msgid "Saving/Printing Options" -msgstr "Salvestamise/trükkimise seaded" - -#: src/lang.c:1366 -msgid "Expert Options" -msgstr "Ekspertseaded" +#: src/lang.c:1355 +msgid "commands & quit & select" +msgstr "käsud & välju & valik" + +#: src/lang.c:1361 +msgid "PageDown" +msgstr "PageDown" + +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "PageNextUnread" + +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "PageDown või PageNextUnread" + +#: src/lang.c:1368 +#, fuzzy +msgid "Subject: (case sensitive)" +msgstr "Subject: rida (tõstutundlik)" + +#: src/lang.c:1369 +#, fuzzy +msgid "Subject: (ignore case)" +msgstr "Subject: rida (tõstutundetu)" + +#: src/lang.c:1370 +#, fuzzy +msgid "From: (case sensitive)" +msgstr "From: rida (tõstutundlik) " + +#: src/lang.c:1371 +#, fuzzy +msgid "From: (ignore case)" +msgstr "From: rida (tõstutundetu) " #: src/lang.c:1372 -msgid "Filtering Options" -msgstr "Filtreerimise seaded" - -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 src/lang.c:1490 -#: src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 src/lang.c:1601 src/lang.c:1771 -#: src/lang.c:1777 src/lang.c:1783 src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 -#: src/lang.c:1862 src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 src/lang.c:1926 -#: src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 src/lang.c:1954 src/lang.c:1961 -#: src/lang.c:1968 src/lang.c:1975 src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 -#: src/lang.c:2003 src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 src/lang.c:2076 -#: src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 src/lang.c:2117 src/lang.c:2151 -#: src/lang.c:2204 src/lang.c:2211 src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 -#: src/lang.c:2312 src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 -msgid " toggles, sets, cancels." -msgstr " lülitab, seab, katkestab." - -#: src/lang.c:1378 -msgid "Show mini menu & posting etiquette" -msgstr "Näita minimenüüd & post. etiketti" - -#: src/lang.c:1379 -msgid "# If ON show a mini menu of useful commands at each level\n" - "# and posting etiquette after composing an article\n" -msgstr "# Kui väärtus on ON, näita enimkasutatavate käskude minimenüüd\n" - "# ja peale artikli kirjutamist postitamise etiketti.\n" +#, fuzzy +msgid "Msg-ID: & full References: line" +msgstr "Message-ID: & References: rida" + +#: src/lang.c:1373 +#, fuzzy +msgid "Msg-ID: & last References: only" +msgstr "Message-ID: & viimane viitamine " + +#: src/lang.c:1374 +#, fuzzy +msgid "Message-ID: entry only" +msgstr "# 6=Message-ID: kirje ainult 7=Lines:\n" + +#: src/lang.c:1375 +#, fuzzy +msgid "Lines:" +msgstr "Read" + +#: src/lang.c:1380 +msgid "Don't trim article body" +msgstr "Ära lühenda artikli keha" + +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "Jäta alguses tühjad read alles" + +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "Jäta lõpus tühjad read alles" + +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "Jäta alguses ja lõpus tühjad read alles" #: src/lang.c:1384 -msgid "Show short description for each newsgroup. toggles & sets." -msgstr "Näita gruppide lühikirjeldusi. lülitab ja seab." +msgid "Compact multiple between text" +msgstr "Tihenda tekstiblokid" #: src/lang.c:1385 -msgid "Show description of each newsgroup" -msgstr "Näita iga grupi lühikirjeldust" +msgid "Compact multiple and skip leading" +msgstr "Tihenda, jäta alguses read alles" #: src/lang.c:1386 -msgid "# If ON show group description text after newsgroup name at\n" - "# group selection level\n" -msgstr "# Kui väärtus on ON, näita gruppide tasemel iga grupi nime\n" - "# järel grupi lühikirjeldust\n" - -#: src/lang.c:1391 -msgid "Show Subject & From (author) fields in group menu. toggles & " - "sets." -msgstr "Näita grupimenüüs teema ja From (autor) välju. lülitab ja seab." - -#: src/lang.c:1392 -msgid "In group menu, show author by" -msgstr "Näita grupimenüüs autorit" - -#: src/lang.c:1393 -msgid "# Part of from field to display\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = none\n" - "# 1 = address\n" - "# * 2 = full name\n" - "# 3 = both\n" -msgstr "# Millist saatja nime osa näidata\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# 0 = mitte midagi\n" - "# 1 = aadress\n" - "# * 2 = täisnimi\n" - "# 3 = mõlemad\n" - -#: src/lang.c:1402 -msgid "Draw -> or highlighted bar for selection. toggles & sets." -msgstr "Märgi valik -> või heleda ribaga. lülitab, seab." - -#: src/lang.c:1403 -msgid "Draw -> instead of highlighted bar" -msgstr "Joonista -> heleda riba asemel" - -#: src/lang.c:1404 -msgid "# If ON use -> otherwise highlighted bar for selection\n" -msgstr "# Kui väärtus on on, kasuta valiku märkimiseks ->, muidu riba\n" - -#: src/lang.c:1409 -msgid "Use inverse video for page headers" -msgstr "Kasuta päistel pööratud videot" - -#: src/lang.c:1410 -msgid "# If ON use inverse video for page headers at different levels\n" -msgstr "# Kui väärtus on ON, kasuta erinevatel tasemetel päiste näitamisel\n" - "# pööratud videot\n" - -#: src/lang.c:1415 -msgid "Thread articles by" -msgstr "Artiklite teemadesse jagamine" - -#: src/lang.c:1416 -msgid "# Thread articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = Both (Subject and References)\n" - "# 4 = Multipart Subject\n" - "# 5 = Percentage Match\n" -msgstr "# Artiklite teemadesse jagamine\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# 0 = ei jaga\n" - "# 1 = Teema\n" - "# 2 = Viited\n" - "# * 3 = Mõlemad (Teema ja Viited)\n" - "# 4 = Mitmeosaline teema\n" - "# 5 = Protsentuaalne sobivus\n" +msgid "Compact multiple and skip trailing" +msgstr "Tihenda, jäta lõpus read alles" + +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "Tihenda, jäta alguse ja lõpu read alles" + +#: src/lang.c:1412 +msgid "Shell archive" +msgstr "Shelli arhiiv" + +#: src/lang.c:1418 +msgid "Subject: (descending)" +msgstr "Subject: (kahanevalt)" + +#: src/lang.c:1419 +msgid "Subject: (ascending)" +msgstr "Subject: (kasvavalt)" + +#: src/lang.c:1420 +msgid "From: (descending)" +msgstr "From: (kahanevalt)" + +#: src/lang.c:1421 +msgid "From: (ascending)" +msgstr "From: (kasvavalt)" + +#: src/lang.c:1422 +msgid "Date: (descending)" +msgstr "Date: (kahanevalt)" + +#: src/lang.c:1423 +msgid "Date: (ascending)" +msgstr "Date: (kasvavalt)" + +#: src/lang.c:1424 src/lang.c:1432 +msgid "Score (descending)" +msgstr "Kaal (kahanevalt)" + +#: src/lang.c:1425 src/lang.c:1433 +msgid "Score (ascending)" +msgstr "Kaal (kasvavalt)" + +#: src/lang.c:1426 +msgid "Lines: (descending)" +msgstr "Lines: (kahanevalt)" #: src/lang.c:1427 -msgid "Enter percentage match required to thread together. sets." -msgstr "Sisestage teema loomiseks vajalik protsentuaalne sobivus. seab." +msgid "Lines: (ascending)" +msgstr "Lines: (kasvavalt)" -#: src/lang.c:1428 -msgid "Thread percentage match" -msgstr "Teema protsentuaalne sobivus" - -#: src/lang.c:1429 -#, c-format -msgid "# Thread percentage match...\n" - "# the percentage of characters in the subject of an article that must match\n" - "# a base article for both those articles to be considered to belong to the\n" - "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" - "# follow. If 80 is used here, then 80%% of the characters must match " - "exactly,\n" - "# no insertion of a character, for the two articles to be put in the same\n" - "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" - "# 'harppy' would be threaded separately from 'happy'\n" -msgstr "# Teema protsentuaalne sobivus...\n" - "# artikli teemas olevate sõmbolite protsent, mis peab sobima baasartikliga,\n" - "# et nad mõlemad loetaks samasse teemasse. Väärtus on täisarv, näiteks 80.\n" - "# Väärtuse 80 korral peab täpselt 80%% sümbolitest sobima et artiklid ühte\n" - "# teemasse seotaks. Näiteks 'happy' ja 'harpy' sobiksid, aga 'harpie',\n" - "# 'happie' ja 'harppy' samasse teemasse 'happy'-ga ei läheks\n" +#: src/lang.c:1434 +msgid "Last posting date (descending)" +msgstr "Viimane postitamise kuupäev (kahanevalt)" + +#: src/lang.c:1435 +msgid "Last posting date (ascending)" +msgstr "Viimane postitamise kuupäev (kasvavalt)" + +#: src/lang.c:1440 +msgid "Always Keep" +msgstr "Hoia alati" #: src/lang.c:1441 -msgid "Score of a thread" -msgstr "Teema kaal" +msgid "Always Remove" +msgstr "Eemalda alati" #: src/lang.c:1442 -msgid "# Thread score\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = max\n" - "# 1 = sum\n" - "# 2 = average\n" -msgstr "# Teema kaal\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# * 0 = maksimum\n" - "# 1 = summa\n" - "# 2 = keskmine\n" - -#: src/lang.c:1450 -msgid "Sort articles by Subject, From, Date or Score. toggles & sets." -msgstr "Järjesta artiklid Subject, From, Date, kaalu järgi. lülitab, " - "seab." - -#: src/lang.c:1451 -msgid "Sort articles by" -msgstr "Artiklite järjestus" - -#: src/lang.c:1452 -msgid "# Sort articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject descending\n" - "# 2 = Subject ascending\n" - "# 3 = From descending\n" - "# 4 = From ascending\n" - "# 5 = Date descending\n" - "# * 6 = Date ascending\n" - "# 7 = Score descending\n" - "# 8 = Score ascending\n" - "# 9 = Lines descending\n" - "# 10 = Lines ascending\n" -msgstr "# Artiklite järjestamine\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# 0 = ei järjesta\n" - "# 1 = Teema kahanev\n" - "# 2 = Teema kasvav\n" - "# 3 = Saatja kahanev\n" - "# 4 = Saatja kasvava\n" - "# 5 = Kuupäev kahanev\n" - "# * 6 = Kuupäev kasvav\n" - "# 7 = Kaal kahanev\n" - "# 8 = Kaal kasvav\n" - "# 9 = Ridu kahanev\n" - "# 10 = Ridu kasvav\n" - -#: src/lang.c:1468 -msgid "Sort threads by Nothing or Score. toggles & sets." -msgstr "Järjesta teemad mitte millegi või kaalu järgi. lülitab, seab." - -#: src/lang.c:1469 -msgid "Sort threads by" -msgstr "Teemade järjestus" - -#: src/lang.c:1470 -msgid "# Sort thread by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = Score descending\n" - "# 2 = Score ascending\n" -msgstr "# Teemade järjestamine\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# 0 = ei järjesta\n" - "# * 1 = Skoor kahanev\n" - "# 2 = Skoor kasvav\n" - -#: src/lang.c:1478 -msgid "Put cursor at first/last unread art in groups. toggles & sets." -msgstr "Vii kursor grupis esimesele/viimasele lugemata artiklile. lülitab, " - " seab." - -#: src/lang.c:1479 -msgid "Goto first unread article in group" -msgstr "Mine grupis esimesele lugemata art." - -#: src/lang.c:1480 -msgid "# If ON put cursor at first unread art in group otherwise last art\n" -msgstr "# Kui väärtus on ON, vii kursor grupi esimesele lugemata artiklile,\n" - "# muidu viimasele\n" - -#: src/lang.c:1484 -msgid "Show all articles or only unread articles. toggles & sets." -msgstr "Näita kõiki või ainult lugemata artikleid. lülitab, seab." - -#: src/lang.c:1485 -msgid "Show only unread articles" -msgstr "Näita ainult lugemata artikleid" - -#: src/lang.c:1486 -msgid "# If ON show only new/unread articles otherwise show all.\n" -msgstr "# Kui väärtus on ON, näita ainult lugemata artikleid, muidu näita kõiki.\n" - -#: src/lang.c:1491 -msgid "Show only groups with unread arts" -msgstr "Ainult lugemata artiklitega grupid" - -#: src/lang.c:1492 -msgid "# If ON show only subscribed to groups that contain unread articles.\n" -msgstr "# Näita ainult neid tellitud gruppe, kus on lugemata artikleid.\n" - -#: src/lang.c:1497 -msgid "Filter which articles" -msgstr "Filtreeri artikleid" - -#: src/lang.c:1498 -msgid "# Filter which articles\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = only kill unread articles\n" - "# 1 = kill all articles and show in threads marked with K\n" - "# 2 = kill all articles and never show them\n" -msgstr "# Artikklite filtreerimine\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# * 0 = Surma ainult lugemata artiklid\n" - "# 1 = Surma kõik artiklid ja näita teemades märgiga K\n" - "# 2 = Surma kõik artiklid ja ära näita neid\n" - -#: src/lang.c:1507 -msgid "Tab goes to next unread article" -msgstr "Tab viib järgmisele lugemata art." - -#: src/lang.c:1508 -msgid "# If ON the TAB command will go to next unread article at article viewer " - "level\n" -msgstr "# Kui väärtus on ON, viib Tab käsk järgmisele lugemata artiklile\n" - -#: src/lang.c:1512 -msgid "Scrolling with past the end of an art. jumps to the next unread one." -msgstr "Tühikuga artikli lõpust edasi kerimine hüppab järgmisele lugemata artiklile." - -#: src/lang.c:1513 -msgid "Space goes to next unread article" -msgstr "Tühik viib järgmisele lugemata art." - -#: src/lang.c:1514 -msgid "# If ON the SPACE command will go to next unread article at article viewer\n" - "# level when the end of the article is reached (rn-style pager)\n" -msgstr "# Kui väärtus on ON, viib artikli lõpus tühiku vajutamine\n" - "# järgmisele lugemata artiklile (rn stiil)\n" - -#: src/lang.c:1519 -msgid "Scrolling with / past the end of an art. jumps to the unread one." -msgstr "/noolega art. lõpust edasi kerimine hüppab järgmisele lugemata art." - -#: src/lang.c:1520 -msgid "PgDn goes to next unread article" -msgstr "PgDn viib järgmisele lugemata art." - -#: src/lang.c:1521 -msgid "# If ON the PGDN or DOWN command will go to next unread article when\n" - "# pressed at end of message\n" -msgstr "# Kui väärtus on ON, viib artikli lõpus PGDN või nool alla vajutamine\n" - "# järgmisele artiklile\n" - -#: src/lang.c:1527 -msgid "List thread using right arrow key" -msgstr "Nool paremale näitab teema loendit" - -#: src/lang.c:1528 -msgid "# If ON automatically list thread when entering it using right arrow key.\n" -msgstr "# Kui väärtus on ON, näita nool paremale klahvi vajutamisel teema artikleid.\n" - -#: src/lang.c:1532 -msgid "Enter character to indicate deleted articles. sets, cancels." -msgstr "Sisestage sümbol kustutatud artiklite märkimiseks. seab, katkestab." - -#: src/lang.c:1533 -msgid "Character to show deleted articles" -msgstr "Kustutatud artiklite marker" - -#: src/lang.c:1534 -msgid "# Character used to show that an art was deleted (default 'D')\n" - "# _ is turned into ' '\n" -msgstr "# Sümbol, mis tähistab kustutatud artiklit (vaikimisi 'D')\n" - "# _ asendatakse tühikuga ' '\n" - -#: src/lang.c:1539 -msgid "Enter character to indicate articles in a range. sets, cancels." -msgstr "Sisestage sümbol, mis märgib vahemikku kuuluvaid artikleid. seab, " - "katkestab." - -#: src/lang.c:1540 -msgid "Character to show inrange articles" -msgstr "Artiklite vahemiku marker" - -#: src/lang.c:1541 -msgid "# Character used to show that an art is in a range (default '#')\n" - "# _ is turned into ' '\n" -msgstr "# Sümbol, mis märgib vahemikku kuuluvaid artikleid (vaikimisi '#')\n" - "# _ asendatakse tühikuga ' '\n" - -#: src/lang.c:1546 -msgid "Enter character to indicate that article will return. sets, " - "cancels." -msgstr "Sisestage tagasituleva artikli marker. seab, katkestab." - -#: src/lang.c:1547 -msgid "Character to show returning arts" -msgstr "Tagasi tulnud artiklite marker" +msgid "Mark with D on selection screen" +msgstr "Märgi valikuekraanil tähega D" + +#: src/lang.c:1447 +msgid "Kill only unread arts" +msgstr "Surma ainult lugemata artiklid" + +#: src/lang.c:1448 +msgid "Kill all arts & show with K" +msgstr "Surma kõik artiklid & näita K tähega" + +#. TODO: s/K/art_marked_killed/ +#: src/lang.c:1449 +msgid "Kill all arts and never show" +msgstr "Surma kõik artiklid ja ära näita" + +#: src/lang.c:1454 +msgid "Nothing special" +msgstr "Ei midagi erilist" + +#: src/lang.c:1455 +msgid "Compress quotes" +msgstr "Tihenda tsitaadid" + +#: src/lang.c:1456 +msgid "Quote signatures" +msgstr "Tsiteeri allkirju" + +#: src/lang.c:1457 +msgid "Compress quotes, quote sigs" +msgstr "Tihenda tsitaadid, tsiteeri allkirju" + +#: src/lang.c:1458 +msgid "Quote empty lines" +msgstr "Tsiteeri tühje ridu" + +#: src/lang.c:1459 +msgid "Compress quotes, quote empty lines" +msgstr "Tihenda tsitaadid, tsiteeri tühje ridu" + +#: src/lang.c:1460 +msgid "Quote sigs & empty lines" +msgstr "Tsiteeri allkirju ja tühje ridu" + +#: src/lang.c:1461 +msgid "Comp. q., quote sigs & empty lines" +msgstr "Tihenda tsitaate, tsiteeri allkirju ja tühje ridu" + +#: src/lang.c:1499 +msgid "no" +msgstr "ei" + +#: src/lang.c:1500 +msgid "with headers" +msgstr "päistega" + +#: src/lang.c:1501 +msgid "without headers" +msgstr "päisteta" + +#: src/lang.c:1508 src/lang.c:1514 +msgid "NFKC" +msgstr "NFKC" + +#: src/lang.c:1509 +msgid "NFKD" +msgstr "NFKD" + +#: src/lang.c:1510 +msgid "NFC" +msgstr "NFC" + +#: src/lang.c:1511 +msgid "NFD" +msgstr "NFD" + +#: src/lang.c:1522 +msgid "Display Options" +msgstr "Ekraani seaded" + +#: src/lang.c:1529 +msgid "Color Options" +msgstr "Värvide seaded" + +#: src/lang.c:1536 +msgid "Article-Limiting Options" +msgstr "Artikli piirangute seaded" + +#: src/lang.c:1542 +msgid "Posting/Mailing Options" +msgstr "Postitamise/saatmise seaded" #: src/lang.c:1548 -msgid "# Character used to show that an art will return (default '-')\n" - "# _ is turned into ' '\n" -msgstr "# Sümbol, mis näitab, et artikkel tuleb tagasi (vaikimisi '-')\n" - "# _ asendatakse tühikuga ' '\n" - -#: src/lang.c:1553 -msgid "Enter character to indicate selected articles. sets, cancels." -msgstr "Sisestage valitud artikleid märkiv sümbol. seab, katkestab." +msgid "Saving/Printing Options" +msgstr "Salvestamise/trükkimise seaded" #: src/lang.c:1554 -msgid "Character to show selected articles" -msgstr "Valitud artiklite marker" - -#: src/lang.c:1555 -msgid "# Character used to show that an art was auto-selected (default '*')\n" - "# _ is turned into ' '\n" -msgstr "# Sümbol, mis näitab, et artikkel on automaatselt valitud (vaikimisi '*')\n" - "# _ asendatakse tühikuga ' '\n" +msgid "Expert Options" +msgstr "Ekspertseaded" #: src/lang.c:1560 -msgid "Enter character to indicate recent articles. sets, cancels." -msgstr "Sisestage värskeid artikleid märkiv sümbol. seab, katkestab." +msgid "Filtering Options" +msgstr "Filtreerimise seaded" -#: src/lang.c:1561 -msgid "Character to show recent articles" -msgstr "Värskete artiklite marker" - -#: src/lang.c:1562 -msgid "# Character used to show that an art is recent (default 'o')\n" - "# _ is turned into ' '\n" -msgstr "# Sümbol, mis näitab, et artikkel on värske (vaikimisi 'o')\n" - "# _ asendatakse tühikuga ' '\n" +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 src/lang.c:1680 +#: src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 src/lang.c:1725 src/lang.c:1800 +#: src/lang.c:1808 src/lang.c:1998 src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 +#: src/lang.c:2028 src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 src/lang.c:2139 +#: src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 src/lang.c:2167 src/lang.c:2174 +#: src/lang.c:2181 src/lang.c:2188 src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 +#: src/lang.c:2216 src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 src/lang.c:2289 +#: src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 src/lang.c:2316 src/lang.c:2322 +#: src/lang.c:2339 src/lang.c:2351 src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 +#: src/lang.c:2458 src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 src/lang.c:2660 +#: src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 src/lang.c:2734 src/lang.c:2745 +#: src/lang.c:2751 src/lang.c:2789 +msgid " toggles, sets, cancels." +msgstr " lülitab, seab, katkestab." + +#: src/lang.c:1566 +msgid "Show mini menu & posting etiquette" +msgstr "Näita minimenüüd & post. etiketti" #: src/lang.c:1567 -msgid "Enter character to indicate unread articles. sets, cancels." -msgstr "Sisestage lugemata artikleid märkiv sümbol. seab, katkestab." - -#: src/lang.c:1568 -msgid "Character to show unread articles" -msgstr "Lugemata artiklite marker" - -#: src/lang.c:1569 -msgid "# Character used to show that an art is unread (default '+')\n" - "# _ is turned into ' '\n" -msgstr "# Sümbol, mis näitab, et artikkel on lugemata (vaikimisi '+')\n" - "# _ asendatakse tühikuga ' '\n" +msgid "# If ON show a mini menu of useful commands at each level\n" + "# and posting etiquette after composing an article\n" +msgstr "# Kui väärtus on ON, näita enimkasutatavate käskude minimenüüd\n" + "# ja peale artikli kirjutamist postitamise etiketti.\n" + +#: src/lang.c:1572 +msgid "Show short description for each newsgroup. toggles & sets." +msgstr "Näita gruppide lühikirjeldusi. lülitab ja seab." + +#: src/lang.c:1573 +msgid "Show description of each newsgroup" +msgstr "Näita iga grupi lühikirjeldust" #: src/lang.c:1574 -msgid "Enter character to indicate read articles. sets, cancels." -msgstr "Sisestage loetud artikleid märkiv sümbol. seab, katkestab." - -#: src/lang.c:1575 -msgid "Character to show read articles" -msgstr "Loetud artiklite marker" - -#: src/lang.c:1576 -msgid "# Character used to show that an art was read (default ' ')\n" - "# _ is turned into ' '\n" -msgstr "# Sümbol, mis näitab, et artikkel on loetud (vaikimisi ' ')\n" - "# _ asendatakse tühikuga ' '\n" +msgid "# If ON show group description text after newsgroup name at\n" + "# group selection level\n" +msgstr "# Kui väärtus on ON, näita gruppide tasemel iga grupi nime\n" + "# järel grupi lühikirjeldust\n" + +#: src/lang.c:1579 +msgid "Show Subject & From (author) fields in group menu. toggles & " + "sets." +msgstr "Näita grupimenüüs teema ja From (autor) välju. lülitab ja seab." + +#: src/lang.c:1580 +msgid "In group menu, show author by" +msgstr "Näita grupimenüüs autorit" #: src/lang.c:1581 -msgid "Enter character to indicate killed articles. sets, cancels." -msgstr "Sisestage surmatud artikleid märkiv sümbol. seab, katkestab." - -#: src/lang.c:1582 -msgid "Character to show killed articles" -msgstr "Surmatud artiklite marker" - -#: src/lang.c:1583 -msgid "# Character used to show that an art was killed (default 'K')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "# Sümbol, mis näitab, et artikkel on surmatud (vaikimisi 'K')\n" - "# _ asendatakse tühikuga ' '\n" - -#: src/lang.c:1588 -msgid "Enter character to indicate read selected articles. sets, cancels." -msgstr "Sisestage valitud artikleid märkiv sümbol. seab, katkestab." - -#: src/lang.c:1589 -msgid "Character to show readselected arts" -msgstr "Lugemiseks valitud artiklite marker" +msgid "# Part of from field to display\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = none\n" + "# 1 = address\n" + "# * 2 = full name\n" + "# 3 = both\n" +msgstr "# Millist saatja nime osa näidata\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 = mitte midagi\n" + "# 1 = aadress\n" + "# * 2 = täisnimi\n" + "# 3 = mõlemad\n" #: src/lang.c:1590 -msgid "# Character used to show that an art was selected before read (default ':')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "# Sümbol, mis näitab, et artikkel on enne lugemist valitud (vaikimisi ':')\n" - "# Surmamise tase peab samuti olema määratud, _ asendatakse tühikuga ' '\n" - -#: src/lang.c:1595 -msgid "Enter maximum length of newsgroup names displayed. sets." -msgstr "Sisestage maksimaalne näidatav grupi nime pikkus. seab." - -#: src/lang.c:1596 -msgid "Max. length of group names shown" -msgstr "Maksimaalne grupinime pikkus" +msgid "Draw -> or highlighted bar for selection. toggles & sets." +msgstr "Märgi valik -> või heleda ribaga. lülitab, seab." + +#: src/lang.c:1591 +msgid "Draw -> instead of highlighted bar" +msgstr "Joonista -> heleda riba asemel" + +#: src/lang.c:1592 +msgid "# If ON use -> otherwise highlighted bar for selection\n" +msgstr "# Kui väärtus on on, kasuta valiku märkimiseks ->, muidu riba\n" #: src/lang.c:1597 -msgid "# Maximum length of the names of newsgroups displayed\n" -msgstr "# Maksimaalne grupi nime pikkus, mida näidatakse ekraanil\n" +msgid "Use inverse video for page headers" +msgstr "Kasuta päistel pööratud videot" -#: src/lang.c:1602 -msgid "Show lines/score in listings" -msgstr "Näita loendis artikli kaalu/ridu" +#: src/lang.c:1598 +msgid "# If ON use inverse video for page headers at different levels\n" +msgstr "# Kui väärtus on ON, kasuta erinevatel tasemetel päiste näitamisel\n" + "# pööratud videot\n" #: src/lang.c:1603 -msgid "# What informations should be displayed in article/thread listing\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = lines\n" - "# 2 = score\n" - "# 3 = lines & score\n" -msgstr "# Millist informatsiooni tuleks näidata artikli/teema loendis\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# 0 = mitte midagi\n" - "# * 1 = ridu\n" - "# 2 = kaalu\n" - "# 3 = ridu ja kaalu\n" - -#: src/lang.c:1612 -msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" - "2 = half page" -msgstr "0 = kerida kogu leht, -1 = näita eelmist rida järgmise lehe esimese reana, -2 " - "= pool lehte" - -#: src/lang.c:1613 -msgid "Number of lines to scroll in pager" -msgstr "Lehitsejas keritavate ridade arv" - -#: src/lang.c:1614 -msgid "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behavior)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" -msgstr "# Ridade arv, mida lehitseja kerib üles/alla\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# -2 = poole lehe kaupa kerimine\n" - "# -1 = ülemine või alumine rida jäetakse järgmisele lehele\n" - "# 0 = leht haaval (tavaline käitumine)\n" - "# * 1 = rida haaval\n" - "# 2 või suurem = keri 2 või enama rea haaval (ainult lehitsejas)\n" - -#: src/lang.c:1624 -msgid "Display signatures. toggles & sets." -msgstr "Näita signatuure, lülitab, seab." - -#: src/lang.c:1625 -msgid "Display signatures" -msgstr "Näita signatuure" - -#: src/lang.c:1626 -msgid "# If OFF don't show signatures when displaying articles\n" -msgstr "# Kui väärtus on OFF, ei näita koos artiklitega signatuure\n" +msgid "Thread articles by" +msgstr "Artiklite teemadesse jagamine" -#: src/lang.c:1630 -msgid "Display uuencoded data as tagged attachments. toggles & sets." -msgstr "Näita uuenkodeeritud andmeid märgitud lisadena. lülitab ja seab." - -#: src/lang.c:1631 -msgid "Display uue data as an attachment" -msgstr "Näita uuenk. andmeid lisadena" - -#: src/lang.c:1632 -msgid "# Handling of uuencoded data in the pager\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no, display raw uuencoded data\n" - "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" - "# size and filename, similar to how MIME attachments are displayed\n" - "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" - "# be folded into a tag line.\n" -msgstr "# uuenkodeeritud andmete käsitlemine lehitsejas\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# * 0 = näita puhast uuenkodeeritud andmeid\n" - "# 1 = uuenkodeeritud andmed koondatakse üheks märgitud reaks, mis näitab\n" - "# mahtu ja failinime, sarnaselt nagu näidatakse MIME lisandeid\n" - "# 2 = nagu 1, aga iga rida, mis tundub olema uuenkodeeritud, esitatakse\n" - "# märgituna.\n" - -# -#: src/lang.c:1642 -msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." -msgstr "Dekodeeri saksa TeX esituses tähed ISO koodideks. lülitab, seab." +#: src/lang.c:1604 +msgid "# Thread articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = Both (Subject and References)\n" + "# 4 = Multipart Subject\n" + "# 5 = Percentage Match\n" +msgstr "# Artiklite teemadesse jagamine\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 = ei jaga\n" + "# 1 = Teema\n" + "# 2 = Viited\n" + "# * 3 = Mõlemad (Teema ja Viited)\n" + "# 4 = Mitmeosaline teema\n" + "# 5 = Protsentuaalne sobivus\n" + +#: src/lang.c:1615 +msgid "Enter percentage match required to thread together. sets." +msgstr "Sisestage teema loomiseks vajalik protsentuaalne sobivus. seab." + +#: src/lang.c:1616 +msgid "Thread percentage match" +msgstr "Teema protsentuaalne sobivus" + +#: src/lang.c:1617 +#, c-format +msgid "# Thread percentage match...\n" + "# the percentage of characters in the subject of an article that must match\n" + "# a base article for both those articles to be considered to belong to the\n" + "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" + "# follow. If 80 is used here, then 80%% of the characters must match " + "exactly,\n" + "# no insertion of a character, for the two articles to be put in the same\n" + "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" + "# 'harppy' would be threaded separately from 'happy'\n" +msgstr "# Teema protsentuaalne sobivus...\n" + "# artikli teemas olevate sõmbolite protsent, mis peab sobima baasartikliga,\n" + "# et nad mõlemad loetaks samasse teemasse. Väärtus on täisarv, näiteks 80.\n" + "# Väärtuse 80 korral peab täpselt 80%% sümbolitest sobima et artiklid ühte\n" + "# teemasse seotaks. Näiteks 'happy' ja 'harpy' sobiksid, aga 'harpie',\n" + "# 'happie' ja 'harppy' samasse teemasse 'happy'-ga ei läheks\n" + +#: src/lang.c:1629 +msgid "Score of a thread" +msgstr "Teema kaal" -# -#: src/lang.c:1643 -msgid "Display \"a as Umlaut-a" -msgstr "Näita \"a kui Umlaut-a" - -#: src/lang.c:1644 -msgid "# If ON decode German style TeX umlaut codes to ISO and\n" - "# show \"a as Umlaut-a, etc.\n" -msgstr "# Kui väärtus on ON, teisenda saksa TeX esituses tähed ISO\n" - "# koodideks ja näita \"a nagu Umlaut-a, jne.\n" - -#: src/lang.c:1649 src/lang.c:1659 -msgid "Space separated list of header fields" -msgstr "Tühikuga eraldatud päised" - -#: src/lang.c:1650 -msgid "Display these header fields (or *)" -msgstr "Näita neid päiseid (või *)" - -#: src/lang.c:1651 -msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" - "# place an '*' as this value. This is the only way a wildcard can be used.\n" - "# If you enter 'X-' as the value, you will see all headers beginning with\n" - "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " - "with\n" - "# spaces. Not defining anything turns off this option.\n" -msgstr "# Milliseid artikli päiseid te soovite näha. Kui te soovite näha _kõiki_\n" - "# päiseid, kasutage väärtusena '*'. See on ka ainus jokkersümboli " - "kasutusviis.\n" - "# Kui te sisestate väärtusena 'X-', siis näete kõiki päiseridi, mis algavad\n" - "# fraasiga 'X-'. Mitu väärtust saate sisestada, kasutades eraldajana " - "tühikut.\n" - "# Kui te väärtust ei määra, lülitatakse see omadus välja.\n" - -#: src/lang.c:1660 -msgid "Do not display these header fields" -msgstr "Ära näita neid päiseridu" - -#: src/lang.c:1661 -msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" - "# An example of using both options might be if you thought X- headers were\n" - "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " - "you\n" - "# would do something like this:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Not defining anything turns off this option.\n" -msgstr "# Sama kui 'news_headers_to_display', kuid tähendus on vastupidine.\n" - "# Mõlema omaduse kasutamise näiteks oletame, et te soovita näha X-\n" - "# algavaid päiseid, kuid mitte X-Alan ja X-Pape. Sel juhul kasutage:\n" - "#\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "#\n" - "# Kui te väärtust ei määra, lülitatakse see omadus välja.\n" - -#: src/lang.c:1671 -msgid "Do you want to enable automatic handling of multipart/alternative articles?" -msgstr "Kas te soovite multipart/alternative artiklite automaatset käsitlemist?" - -#: src/lang.c:1672 -msgid "Skip multipart/alternative parts" -msgstr "Jäta multipart/alternative osad" - -#: src/lang.c:1673 -msgid "# If ON strip multipart/alternative messages automatically\n" -msgstr "# Kui väärtus on ON, loobu automaatselt multipart/alternative teadete " - "lisadest\n" - -#: src/lang.c:1678 -msgid "A regex used to decide which lines to show in col_quote." -msgstr "Regulaaravaldis otsustamaks, milliseid ridu tsitaatides näidata." - -#: src/lang.c:1679 -msgid "Regex used to show quoted lines" -msgstr "Tsiteeritud ridade näitamise regex" - -#: src/lang.c:1680 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Regulaaravaldis, mida tin kasutab, et artikli vaatamisel otsustada,\n" - "# milliseid read on tsiteeritud. Tsiteeritud ridu näidatakse col_quote.\n" - "# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n" - -#: src/lang.c:1686 -msgid "A regex used to decide which lines to show in col_quote2." -msgstr "Regulaaravaldis otsustamaks, milliseid ridu näidata col_quote2." +#: src/lang.c:1630 +msgid "# Thread score\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = max\n" + "# 1 = sum\n" + "# 2 = average\n" +msgstr "# Teema kaal\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# * 0 = maksimum\n" + "# 1 = summa\n" + "# 2 = keskmine\n" + +#: src/lang.c:1638 +msgid "Sort articles by Subject, From, Date or Score. toggles & sets." +msgstr "Järjesta artiklid Subject, From, Date, kaalu järgi. lülitab, " + "seab." + +#: src/lang.c:1639 +msgid "Sort articles by" +msgstr "Artiklite järjestus" + +#: src/lang.c:1640 +msgid "# Sort articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject descending\n" + "# 2 = Subject ascending\n" + "# 3 = From descending\n" + "# 4 = From ascending\n" + "# 5 = Date descending\n" + "# * 6 = Date ascending\n" + "# 7 = Score descending\n" + "# 8 = Score ascending\n" + "# 9 = Lines descending\n" + "# 10 = Lines ascending\n" +msgstr "# Artiklite järjestamine\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 = ei järjesta\n" + "# 1 = Teema kahanev\n" + "# 2 = Teema kasvav\n" + "# 3 = Saatja kahanev\n" + "# 4 = Saatja kasvava\n" + "# 5 = Kuupäev kahanev\n" + "# * 6 = Kuupäev kasvav\n" + "# 7 = Kaal kahanev\n" + "# 8 = Kaal kasvav\n" + "# 9 = Ridu kahanev\n" + "# 10 = Ridu kasvav\n" + +#: src/lang.c:1656 +msgid "Sort threads by Nothing or Score. toggles & sets." +msgstr "Järjesta teemad mitte millegi või kaalu järgi. lülitab, seab." + +#: src/lang.c:1657 +msgid "Sort threads by" +msgstr "Teemade järjestus" + +#: src/lang.c:1658 +msgid "# Sort thread by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = Score descending\n" + "# 2 = Score ascending\n" + "# 3 = Last posting date descending\n" + "# 4 = Last posting date ascending\n" +msgstr "# Teemade järjestamine\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 = ei järjesta\n" + "# * 1 = Skoor kahanev\n" + "# 2 = Skoor kasvav\n" + "# 3 = Viimane postitamise kuupäev kahanevalt\n" + "# 4 = Viimane postitamise kuupäev kasvavalt\n" + +#: src/lang.c:1668 +msgid "Put cursor at first/last unread art in groups. toggles & sets." +msgstr "Vii kursor grupis esimesele/viimasele lugemata artiklile. lülitab, " + " seab." + +#: src/lang.c:1669 +msgid "Go to first unread article in group" +msgstr "Mine grupis esimesele lugemata art." + +#: src/lang.c:1670 +msgid "# If ON put cursor at first unread art in group otherwise last art\n" +msgstr "# Kui väärtus on ON, vii kursor grupi esimesele lugemata artiklile,\n" + "# muidu viimasele\n" + +#: src/lang.c:1674 +msgid "Show all articles or only unread articles. toggles & sets." +msgstr "Näita kõiki või ainult lugemata artikleid. lülitab, seab." + +#: src/lang.c:1675 +msgid "Show only unread articles" +msgstr "Näita ainult lugemata artikleid" + +#: src/lang.c:1676 +msgid "# If ON show only new/unread articles otherwise show all.\n" +msgstr "# Kui väärtus on ON, näita ainult lugemata artikleid, muidu näita kõiki.\n" + +#: src/lang.c:1681 +msgid "Show only groups with unread arts" +msgstr "Ainult lugemata artiklitega grupid" + +#: src/lang.c:1682 +msgid "# If ON show only subscribed to groups that contain unread articles.\n" +msgstr "# Näita ainult neid tellitud gruppe, kus on lugemata artikleid.\n" #: src/lang.c:1687 -msgid "Regex used to show twice quoted l." -msgstr "Topelt tsiteeritud ridu näitav reg" +msgid "Filter which articles" +msgstr "Filtreeri artikleid" #: src/lang.c:1688 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted twice. Twice quoted lines are shown in col_quote2.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Regulaaravaldis, mida tin kasutab, et otsustada, millised\n" - "# read on kahekordselt tsiteeritud. Topelt tsiteeritud ridu\n" - "# näidatakse col_quote2.\n" - "# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n" - -#: src/lang.c:1694 -msgid "A regex used to decide which lines to show in col_quote3." -msgstr "Regulaaravaldis otsustamaks, milliseid ridu näidata col_quote3." - -#: src/lang.c:1695 -msgid "Regex used to show >= 3 times q.l." -msgstr ">= 3 tsiteeritud ridu näitav reg" - -#: src/lang.c:1696 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Regulaaravaldis, mida tin kasutab, et otsustada, millised\n" - "# read on >= 3 korda tsiteeritud. >= 3 korda tsiteeritud ridu\n" - "# näidatakse col_quote3.\n" - "# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n" - -#: src/lang.c:1703 -msgid "A regex used to decide which words to show in col_markslashes." -msgstr "Regex et otsustada, milliseid sõnu näidata col_markslashes abil." - -#: src/lang.c:1704 -msgid "Regex used to highlight /slashes/" -msgstr "Regex et esile tõsta /kaldkriipse/" - -#: src/lang.c:1705 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '/' are to be shown in col_markslashes.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Regulaaravaldis mida tin kasutab et otsustada, milliseid '/' vahel olevaid\n" - "# sõnu näidata col_markslashes abil. Kui jätate selle tühjaks, kasutab\n" - "# tin sisse ehitatud vaikeväärtust.\n" - -#: src/lang.c:1711 -msgid "A regex used to decide which words to show in col_markstars." -msgstr "Regex et otsustada, milliseid sõnu näidata col_markstars abil." - -#: src/lang.c:1712 -msgid "Regex used to highlight *stars*" -msgstr "Regex et esile tõsta *tärne*" - -#: src/lang.c:1713 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '*' are to be shown in col_markstars.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Regulaaravaldis mida tin kasutab et otsustada, milliseid '*' vahel olevaid\n" - "# sõnu näidata col_markstars abil. Kui jätate selle tühjaks, kasutab\n" - "# tin sisse ehitatud vaikeväärtust.\n" - -#: src/lang.c:1719 -msgid "A regex used to decide which words to show in col_markstroke." -msgstr "Regex et otsustada, milliseid sõnu näidata col_markstroke abil." - -#: src/lang.c:1720 -msgid "Regex used to highlight -strokes-" -msgstr "Regex et esile tõsta -kriipse-" - -#: src/lang.c:1721 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '-' are to be shown in col_markstroke.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Regulaaravaldis mida tin kasutab et otsustada, milliseid '-' vahel olevaid\n" - "# sõnu näidata col_markstroke abil. Kui jätate selle tühjaks, kasutab\n" - "# tin sisse ehitatud vaikeväärtust.\n" +msgid "# Filter which articles\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = only kill unread articles\n" + "# 1 = kill all articles and show in threads marked with K\n" + "# 2 = kill all articles and never show them\n" +msgstr "# Artikklite filtreerimine\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# * 0 = Surma ainult lugemata artiklid\n" + "# 1 = Surma kõik artiklid ja näita teemades märgiga K\n" + "# 2 = Surma kõik artiklid ja ära näita neid\n" + +#: src/lang.c:1697 +msgid "Go to the next unread article with" +msgstr "Liigu järgmise lugemata artiklile klahviga" + +#: src/lang.c:1698 +#, fuzzy +msgid "# Go to the unread article with following key(s)\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN or TAB\n" +msgstr "# Liigu järgmise lugemata artiklile klahviga\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 = mitte midagi\n" + "# 1 = LK alla\n" + "# * 2 = TAB\n" + "# 3 = LK alla või TAB\n" + +#: src/lang.c:1708 +msgid "How to treat blank lines" +msgstr "Kuidas käsitleda tühje ridasid" + +#: src/lang.c:1709 +#, fuzzy +msgid "# Trim the article body, remove unnecessary blank lines.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = Nothing special\n" + "# 1 = Skip leading blank lines\n" + "# 2 = Skip trailing blank lines\n" + "# 3 = Skip leading and trailing blank lines\n" + "# 4 = Compact multiple blank lines between text blocks\n" + "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" + "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" + "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "# Tihenda artikli keha, eemalda liigsed tühjad read.\n" + "# Võimalikud väärtused on (vaikimisi väärtust tähistab *):\n" + "# * 0 = Ei tihenda\n" + "# 1 = Jäta alles alguse read\n" + "# 2 = Jäta alles lõpu read\n" + "# 3 = Jäta alles alguse ja lõpu read\n" + "# 4 = Tihenda read tekstiblokkide vahel\n" + "# 5 = Tihenda read tekstiblokkide vahel ja jäta alles alguse read\n" + "# 6 = Tihenda read tekstiblokkide vahel ja jäta alles lõpu read\n" + "# 7 = Tihenda read tekstiblokkide vahel ja jäta alles alguse ja lõpu read\n" + +#: src/lang.c:1726 +msgid "List thread using right arrow key" +msgstr "Nool paremale näitab teema loendit" #: src/lang.c:1727 -msgid "A regex used to decide which words to show in col_markdash." -msgstr "Regex et otsustada, milliseid sõnu näidata col_markdash abil." +msgid "# If ON automatically list thread when entering it using right arrow key.\n" +msgstr "# Kui väärtus on ON, näita nool paremale klahvi vajutamisel teema artikleid.\n" -#: src/lang.c:1728 -msgid "Regex used to highlight _underline_" -msgstr "Regex et esile tõsta _alakriipse_" - -#: src/lang.c:1729 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '_' are to be shown in col_markdash.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Regulaaravaldis mida tin kasutab et otsustada, milliseid '_' vahel olevaid\n" - "# sõnu näidata col_markdash abil. Kui jätate selle tühjaks, kasutab\n" - "# tin sisse ehitatud vaikeväärtust.\n" - -#: src/lang.c:1735 -msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." -msgstr "Regulaaravaldis eemaldatava teema prefiksi leidmiseks. Eraldajaks on '|'." - -#: src/lang.c:1736 -msgid "Regex with Subject prefixes" -msgstr "Regex teema prefiksi leidmiseks" - -#: src/lang.c:1737 -msgid "# A regular expression that tin will use to find Subject prefixes\n" - "# which will be removed before showing the header.\n" -msgstr "# Regulaaravaldis, mida tin kasutab, et leida teema prefiksit, mida\n" - "# enne päise näitamist eemaldada.\n" - -#: src/lang.c:1742 -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." -msgstr "Regulaaravaldis eemaldatava teema sufiksi leidmiseks. Eraldajaks on '|'." - -#: src/lang.c:1743 -msgid "Regex with Subject suffixes" -msgstr "Regex teema sufiksi leidmiseks" - -#: src/lang.c:1744 -msgid "# A regular expression that tin will use to find Subject suffixes\n" - "# which will be removed when replying or posting followup.\n" -msgstr "# Regulaaravaldis, mida tin kasutab teema sufiksi leidmiseks,\n" - "# mis eemaldatakse vastuse saatmisel või postitamisel.\n" - -#: src/lang.c:1749 -msgid "Enter name and options for external MIME viewer, --internal for built-in " - "viewer" -msgstr "Sisestage välise MIME lehitseja nimi ja võtmed, sisemise valib --internal" - -#: src/lang.c:1750 -msgid "MIME binary content viewer" -msgstr "MIME kahendsisu lehitseja" - -#: src/lang.c:1751 -msgid "# If --internal automatically use the built in MIME viewer for non-text\n" - "# parts of articles.\n" - "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" - "# for no automatic viewing\n" -msgstr "# --internal korral kasuta artikli mittetekstiliste osade vaatamiseks sisse\n" - "# ehitatud MIME lehitsejat.\n" - "# Muidu määra automaatseks vaatamiseks väline programm (nt. metamail) või\n" - "# jäta tühjaks\n" - -#: src/lang.c:1758 -msgid "Confirm before starting non-text viewing program" -msgstr "Küsi enne mitte-tekstiliste osade vaatamist kinnitust" +#: src/lang.c:1731 +msgid "Enter character to indicate deleted articles. sets, cancels." +msgstr "Sisestage sümbol kustutatud artiklite märkimiseks. seab, katkestab." + +#: src/lang.c:1732 +msgid "Character to show deleted articles" +msgstr "Kustutatud artiklite marker" + +#: src/lang.c:1733 +msgid "# Character used to show that an art was deleted (default 'D')\n" + "# _ is turned into ' '\n" +msgstr "# Sümbol, mis tähistab kustutatud artiklit (vaikimisi 'D')\n" + "# _ asendatakse tühikuga ' '\n" + +#: src/lang.c:1738 +msgid "Enter character to indicate articles in a range. sets, cancels." +msgstr "Sisestage sümbol, mis märgib vahemikku kuuluvaid artikleid. seab, " + "katkestab." + +#: src/lang.c:1739 +msgid "Character to show inrange articles" +msgstr "Artiklite vahemiku marker" + +#: src/lang.c:1740 +msgid "# Character used to show that an art is in a range (default '#')\n" + "# _ is turned into ' '\n" +msgstr "# Sümbol, mis märgib vahemikku kuuluvaid artikleid (vaikimisi '#')\n" + "# _ asendatakse tühikuga ' '\n" + +#: src/lang.c:1745 +msgid "Enter character to indicate that article will return. sets, " + "cancels." +msgstr "Sisestage tagasituleva artikli marker. seab, katkestab." + +#: src/lang.c:1746 +msgid "Character to show returning arts" +msgstr "Tagasi tulnud artiklite marker" + +#: src/lang.c:1747 +msgid "# Character used to show that an art will return (default '-')\n" + "# _ is turned into ' '\n" +msgstr "# Sümbol, mis näitab, et artikkel tuleb tagasi (vaikimisi '-')\n" + "# _ asendatakse tühikuga ' '\n" + +#: src/lang.c:1752 +msgid "Enter character to indicate selected articles. sets, cancels." +msgstr "Sisestage valitud artikleid märkiv sümbol. seab, katkestab." + +#: src/lang.c:1753 +msgid "Character to show selected articles" +msgstr "Valitud artiklite marker" + +#: src/lang.c:1754 +msgid "# Character used to show that an art was auto-selected (default '*')\n" + "# _ is turned into ' '\n" +msgstr "# Sümbol, mis näitab, et artikkel on automaatselt valitud (vaikimisi '*')\n" + "# _ asendatakse tühikuga ' '\n" #: src/lang.c:1759 -msgid "Ask before using MIME viewer" -msgstr "Küsi MIME lehitseja kasutamise luba" +msgid "Enter character to indicate recent articles. sets, cancels." +msgstr "Sisestage värskeid artikleid märkiv sümbol. seab, katkestab." #: src/lang.c:1760 -msgid "# If ON tin will ask before using metamail to display MIME messages\n" - "# this only happens if metamail_prog is set to something\n" -msgstr "# Kui väärtus on ON, küsi metamaili kasutamise luba\n" - "# see juhtub ainult siis, kui metamail_prog on väärtustatud\n" - -#: src/lang.c:1765 -msgid "Ask to mark groups read when quitting. toggles & sets." -msgstr "Küsi, kas märkida väljumisel grupid loetuks. lülitab ja seab." +msgid "Character to show recent articles" +msgstr "Värskete artiklite marker" + +#: src/lang.c:1761 +msgid "# Character used to show that an art is recent (default 'o')\n" + "# _ is turned into ' '\n" +msgstr "# Sümbol, mis näitab, et artikkel on värske (vaikimisi 'o')\n" + "# _ asendatakse tühikuga ' '\n" #: src/lang.c:1766 -msgid "Catchup read groups when quitting" -msgstr "Väljumisel märkida grupid loetuks" +msgid "Enter character to indicate unread articles. sets, cancels." +msgstr "Sisestage lugemata artikleid märkiv sümbol. seab, katkestab." #: src/lang.c:1767 -msgid "# If ON ask user if read groups should all be marked read\n" -msgstr "# Kui väärtus on ON, küsi kasutajalt, kas märkida loetud gruppides kõik\n" - "# artiklid loetuks\n" - -#: src/lang.c:1772 -msgid "Catchup group using left key" -msgstr "Nool vasakule märgib grupi loetuks" +msgid "Character to show unread articles" +msgstr "Lugemata artiklite marker" + +#: src/lang.c:1768 +msgid "# Character used to show that an art is unread (default '+')\n" + "# _ is turned into ' '\n" +msgstr "# Sümbol, mis näitab, et artikkel on lugemata (vaikimisi '+')\n" + "# _ asendatakse tühikuga ' '\n" #: src/lang.c:1773 -msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" -msgstr "# Kui väärtus on ON, märgi grupp/teema loetuks, kui sellest väljutakse\n" - "# nool vasakule klahviga.\n" - -#: src/lang.c:1778 -msgid "Catchup thread by using left key" -msgstr "Nool vasakule märgib teema loetuks" - -#: src/lang.c:1784 -msgid "Which actions require confirmation" -msgstr "Tegevused mis nõuavad kinnitust" - -#: src/lang.c:1785 -msgid "# What should we ask confirmation for.\n" -msgstr "# Millele me peaksime küsima kinnitust.\n" - -#: src/lang.c:1790 -msgid "'Mark article read' ignores tags" -msgstr "'Märgi art. loetuks' eirab märke" - -#: src/lang.c:1791 -msgid "# If ON the 'Mark article read' function marks only the current article.\n" -msgstr "# Kui väärtus on ON märgib 'Märgi artikkel loetuks' funktsioon ainult\n" - "# jooksva artikli.\n" +msgid "Enter character to indicate read articles. sets, cancels." +msgstr "Sisestage loetud artikleid märkiv sümbol. seab, katkestab." + +#: src/lang.c:1774 +msgid "Character to show read articles" +msgstr "Loetud artiklite marker" + +#: src/lang.c:1775 +msgid "# Character used to show that an art was read (default ' ')\n" + "# _ is turned into ' '\n" +msgstr "# Sümbol, mis näitab, et artikkel on loetud (vaikimisi ' ')\n" + "# _ asendatakse tühikuga ' '\n" + +#: src/lang.c:1780 +msgid "Enter character to indicate killed articles. sets, cancels." +msgstr "Sisestage surmatud artikleid märkiv sümbol. seab, katkestab." + +#: src/lang.c:1781 +msgid "Character to show killed articles" +msgstr "Surmatud artiklite marker" + +#: src/lang.c:1782 +msgid "# Character used to show that an art was killed (default 'K')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "# Sümbol, mis näitab, et artikkel on surmatud (vaikimisi 'K')\n" + "# _ asendatakse tühikuga ' '\n" + +#: src/lang.c:1787 +msgid "Enter character to indicate read selected articles. sets, cancels." +msgstr "Sisestage valitud artikleid märkiv sümbol. seab, katkestab." + +#: src/lang.c:1788 +msgid "Character to show readselected arts" +msgstr "Lugemiseks valitud artiklite marker" + +#: src/lang.c:1789 +msgid "# Character used to show that an art was selected before read (default ':')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "# Sümbol, mis näitab, et artikkel on enne lugemist valitud (vaikimisi ':')\n" + "# Surmamise tase peab samuti olema määratud, _ asendatakse tühikuga ' '\n" + +#: src/lang.c:1794 +msgid "Enter maximum length of newsgroup names displayed. sets." +msgstr "Sisestage maksimaalne näidatav grupi nime pikkus. seab." #: src/lang.c:1795 -msgid "Program to run to open URL's, sets, cancels." -msgstr "Programm URLide avamiseks, seab, katkestab." +msgid "Max. length of group names shown" +msgstr "Maksimaalne grupinime pikkus" #: src/lang.c:1796 -msgid "Program that opens URL's" -msgstr "Programm URLide avamiseks" +msgid "# Maximum length of the names of newsgroups displayed\n" +msgstr "# Maksimaalne grupi nime pikkus, mida näidatakse ekraanil\n" -#: src/lang.c:1797 -msgid "# The program used to open URL's. The actual URL will be appended\n" -msgstr "# Programm URLide avamiseks. URL lisatakse argumendiks\n" +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "" #: src/lang.c:1802 -msgid "Use mouse in xterm" -msgstr "Kasuta xterm aknas hiirt" - -#: src/lang.c:1803 -msgid "# If ON enable mouse key support on xterm terminals\n" -msgstr "# Kui väärtus on ON, luba xterm aknas hiire tugi\n" +msgid "# If ON abbreviate (if necessary) long newsgroup names at group selection\n" + "# level and article level like this:\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "" #: src/lang.c:1809 -msgid "Use scroll keys on keypad" -msgstr "Kasuta kerimisnuppe" +msgid "Show lines/score in listings" +msgstr "Näita loendis artikli kaalu/ridu" #: src/lang.c:1810 -msgid "# If ON enable scroll keys on terminals that support it\n" -msgstr "# Kui väärtus on ON, luba kerimisnuppude kasutamist terminalidel, millel need " - "on olemas\n" - -#: src/lang.c:1815 -msgid "Enter maximum number of article to get. sets." -msgstr "Sisestage suurim laetavate artiklite arv. seab." - -#: src/lang.c:1816 -msgid "Number of articles to get" -msgstr "Laetavate artiklite arv" - -#: src/lang.c:1817 -msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" - "# of already read articles to be read before first unread one\n" -msgstr "# Laetavate artiklite arv (0=limiit puudub), negatiivne väärtus seab\n" - "# maksimaalse arvu loetud artikleid, mida lugeda enne lugemata artiklit\n" - -#: src/lang.c:1822 -msgid "Enter number of days article is considered recent. sets." -msgstr "Sisestage artikli värskuse kestus. seab." - -#: src/lang.c:1823 -msgid "Article recentness time limit" -msgstr "Artikli värskuse ajapiir" - -#: src/lang.c:1824 -msgid "# Number of days in which article is considered recent, (0=OFF)\n" -msgstr "# Päevad, mille jooksul loetakse artiklit värskeks, (0=OFF)\n" - -#: src/lang.c:1828 -msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." -msgstr "WILDMAT tavalistele jokkeritele, REGEX täisregulaaravaldistega otsimisele." - -#: src/lang.c:1829 -msgid "Wildcard matching" -msgstr "Jokkeritega otsimine" - -#: src/lang.c:1830 -msgid "# Wildcard matching\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" -msgstr "# Jokkeritega otsimine\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" +#, fuzzy +msgid "# What information should be displayed in article/thread listing\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = lines\n" + "# 2 = score\n" + "# 3 = lines & score\n" +msgstr "# Millist informatsiooni tuleks näidata artikli/teema loendis\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 = mitte midagi\n" + "# * 1 = ridu\n" + "# 2 = kaalu\n" + "# 3 = ridu ja kaalu\n" + +#: src/lang.c:1819 +msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" + "2 = half page" +msgstr "0 = kerida kogu leht, -1 = näita eelmist rida järgmise lehe esimese reana, -2 " + "= pool lehte" + +#: src/lang.c:1820 +msgid "Number of lines to scroll in pager" +msgstr "Lehitsejas keritavate ridade arv" + +#: src/lang.c:1821 +msgid "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behavior)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" +msgstr "# Ridade arv, mida lehitseja kerib üles/alla\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# -2 = poole lehe kaupa kerimine\n" + "# -1 = ülemine või alumine rida jäetakse järgmisele lehele\n" + "# 0 = leht haaval (tavaline käitumine)\n" + "# * 1 = rida haaval\n" + "# 2 või suurem = keri 2 või enama rea haaval (ainult lehitsejas)\n" + +#: src/lang.c:1831 +msgid "Display signatures. toggles & sets." +msgstr "Näita signatuure, lülitab, seab." + +#: src/lang.c:1832 +msgid "Display signatures" +msgstr "Näita signatuure" + +#: src/lang.c:1833 +msgid "# If OFF don't show signatures when displaying articles\n" +msgstr "# Kui väärtus on OFF, ei näita koos artiklitega signatuure\n" #: src/lang.c:1837 -msgid "Enter minimal score before an article is marked killed. sets." -msgstr "Sisestage minimaalne kaal artikli surmamiseks. seab." +msgid "Display uuencoded data as tagged attachments. toggles & sets." +msgstr "Näita uuenkodeeritud andmeid märgitud lisadena. lülitab ja seab." #: src/lang.c:1838 -msgid "Score limit (kill)" -msgstr "Kaalu alampiir (surmamine)" +msgid "Display uue data as an attachment" +msgstr "Näita uuenk. andmeid lisadena" #: src/lang.c:1839 -msgid "# Score limit before an article is marked killed\n" -msgstr "# Kaalu alampiir, enne kui artikkel märgitakse surmatuks\n" - -#: src/lang.c:1843 -msgid "Enter default score to kill articles. sets." -msgstr "Sisestage vaikimisi kaal artiklite surmamiseks. seab." - -#: src/lang.c:1844 -msgid "Default score to kill articles" -msgstr "Artiklite surmamise vaikimisi kaal" - -#: src/lang.c:1845 -msgid "# Default score to kill articles\n" -msgstr "# Vaikimisi kaal artiklite surmamiseks\n" +msgid "# Handling of uuencoded data in the pager\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no, display raw uuencoded data\n" + "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" + "# size and filename, similar to how MIME attachments are displayed\n" + "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" + "# be folded into a tag line.\n" +msgstr "# uuenkodeeritud andmete käsitlemine lehitsejas\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# * 0 = näita puhast uuenkodeeritud andmeid\n" + "# 1 = uuenkodeeritud andmed koondatakse üheks märgitud reaks, mis näitab\n" + "# mahtu ja failinime, sarnaselt nagu näidatakse MIME lisandeid\n" + "# 2 = nagu 1, aga iga rida, mis tundub olema uuenkodeeritud, esitatakse\n" + "# märgituna.\n" +# #: src/lang.c:1849 -msgid "Enter minimal score before an article is marked hot. sets." -msgstr "Sisestage minimaalne kaal, enne kui artikkel märgitakse kuumaks. seab." +msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." +msgstr "Dekodeeri saksa TeX esituses tähed ISO koodideks. lülitab, seab." +# #: src/lang.c:1850 -msgid "Score limit (select)" -msgstr "Kaalu alampiir (valik)" +msgid "Display \"a as Umlaut-a" +msgstr "Näita \"a kui Umlaut-a" #: src/lang.c:1851 -msgid "# Score limit before an article is marked hot\n" -msgstr "# Kaalu alampiir, enne kui artikkel märgitakse muumaks\n" - -#: src/lang.c:1855 -msgid "Enter default score to select articles. sets." -msgstr "Sisestage vaikimisi kaal artiklite valimiseks. seab." - -#: src/lang.c:1856 -msgid "Default score to select articles" -msgstr "Vaikimisi kaal artiklite valimiseks" +msgid "# If ON decode German style TeX umlaut codes to ISO and\n" + "# show \"a as Umlaut-a, etc.\n" +msgstr "# Kui väärtus on ON, teisenda saksa TeX esituses tähed ISO\n" + "# koodideks ja näita \"a nagu Umlaut-a, jne.\n" + +#: src/lang.c:1856 src/lang.c:1866 +msgid "Space separated list of header fields" +msgstr "Tühikuga eraldatud päised" #: src/lang.c:1857 -msgid "# Default score to select articles\n" -msgstr "# Vaikimisi kaal artiklite valimiseks\n" +msgid "Display these header fields (or *)" +msgstr "Näita neid päiseid (või *)" -#: src/lang.c:1863 -msgid "Use slrnface to show ''X-Face:''s" -msgstr "''X-Face:'' näitamiseks slrnface" - -#: src/lang.c:1864 -msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" - "# Only useful when running in an xterm.\n" -msgstr "# Kui väärtus on ON, kasutan ''X-Face:'' päiste käsitlemiseks slrnface(1).\n" - "# Kasulik ainult xterm aknas.\n" - -#: src/lang.c:1872 -msgid "Use ANSI color" -msgstr "Kasuta ANSI värve" - -#: src/lang.c:1873 -msgid "# If ON using ANSI-color\n" -msgstr "# Kui väärtus on ON, kasuta ANSI värve\n" +#: src/lang.c:1858 +msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" + "# place an '*' as this value. This is the only way a wildcard can be used.\n" + "# If you enter 'X-' as the value, you will see all headers beginning with\n" + "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " + "with\n" + "# spaces. Not defining anything turns off this option.\n" +msgstr "# Milliseid artikli päiseid te soovite näha. Kui te soovite näha _kõiki_\n" + "# päiseid, kasutage väärtusena '*'. See on ka ainus jokkersümboli " + "kasutusviis.\n" + "# Kui te sisestate väärtusena 'X-', siis näete kõiki päiseridi, mis algavad\n" + "# fraasiga 'X-'. Mitu väärtust saate sisestada, kasutades eraldajana " + "tühikut.\n" + "# Kui te väärtust ei määra, lülitatakse see omadus välja.\n" + +#: src/lang.c:1867 +msgid "Do not display these header fields" +msgstr "Ära näita neid päiseridu" + +#: src/lang.c:1868 +msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" + "# An example of using both options might be if you thought X- headers were\n" + "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " + "you\n" + "# would do something like this:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Not defining anything turns off this option.\n" +msgstr "# Sama kui 'news_headers_to_display', kuid tähendus on vastupidine.\n" + "# Mõlema omaduse kasutamise näiteks oletame, et te soovita näha X-\n" + "# algavaid päiseid, kuid mitte X-Alan ja X-Pape. Sel juhul kasutage:\n" + "#\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "#\n" + "# Kui te väärtust ei määra, lülitatakse see omadus välja.\n" #: src/lang.c:1878 -msgid "Standard foreground color" -msgstr "Standardne esiplaani värv" +msgid "Do you want to enable automatic handling of multipart/alternative articles?" +msgstr "Kas te soovite multipart/alternative artiklite automaatset käsitlemist?" #: src/lang.c:1879 -msgid "# Standard foreground color\n" - "# Default: -1 (default color)\n" -msgstr "# Standardne esiplaani värv\n" - "# Vaikimisi: -1 (vaikimisi värv)\n" +msgid "Skip multipart/alternative parts" +msgstr "Jäta multipart/alternative osad" + +#: src/lang.c:1880 +msgid "# If ON strip multipart/alternative messages automatically\n" +msgstr "# Kui väärtus on ON, loobu automaatselt multipart/alternative teadete " + "lisadest\n" + +#: src/lang.c:1884 +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "Luba identsete blokkide tuvastamine? lülitab, seab." #: src/lang.c:1885 -msgid "Standard background color" -msgstr "Standardne tagaplaani värv" +msgid "Detection of verbatim blocks" +msgstr "Identsete blokkide tuvastamine" #: src/lang.c:1886 -msgid "# Standard background color\n" - "# Default: -1 (default color)\n" -msgstr "# Standardne tagaplaani värv\n" - "# Vaikimisi: -1 (vaikimisi värv)\n" +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "# Kui väärtus on ON, tuvasta artiklis identsed blokid\n" + +#: src/lang.c:1891 +msgid "A regex used to decide which lines to show in col_quote." +msgstr "Regulaaravaldis otsustamaks, milliseid ridu tsitaatides näidata." #: src/lang.c:1892 -msgid "Color for inverse text (background)" -msgstr "Pööratud teksti värv (tagaplaan)" +msgid "Regex used to show quoted lines" +msgstr "Tsiteeritud ridade näitamise regex" #: src/lang.c:1893 -msgid "# Color of background for inverse text\n" - "# Default: 4 (blue)\n" -msgstr "# Pööratud teksti tagaplaani värv\n" - "# Vaikimisi: 4 (sinine)\n" +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Regulaaravaldis, mida tin kasutab, et artikli vaatamisel otsustada,\n" + "# milliseid read on tsiteeritud. Tsiteeritud ridu näidatakse col_quote.\n" + "# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n" #: src/lang.c:1899 -msgid "Color for inverse text (foreground)" -msgstr "Pööratud teksti värv (esiplaan)" +msgid "A regex used to decide which lines to show in col_quote2." +msgstr "Regulaaravaldis otsustamaks, milliseid ridu näidata col_quote2." #: src/lang.c:1900 -msgid "# Color of foreground for inverse text\n" - "# Default: 7 (white)\n" -msgstr "# Pööratud teksti esiplaani värv\n" - "# Vaikimisi: 7 (valge)\n" - -#: src/lang.c:1906 -msgid "Color of text lines" -msgstr "Tekstiridade värv" +msgid "Regex used to show twice quoted l." +msgstr "Topelt tsiteeritud ridu näitav reg" + +#: src/lang.c:1901 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted twice. Twice quoted lines are shown in col_quote2.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Regulaaravaldis, mida tin kasutab, et otsustada, millised\n" + "# read on kahekordselt tsiteeritud. Topelt tsiteeritud ridu\n" + "# näidatakse col_quote2.\n" + "# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n" #: src/lang.c:1907 -msgid "# Color of text lines\n" - "# Default: -1 (default color)\n" -msgstr "# Tekstiridade värv\n" - "# Vaikimisi: -1 (vaikimisi värv)\n" - -#: src/lang.c:1913 -msgid "Color of mini help menu" -msgstr "Miniabiinfo värv" - -#: src/lang.c:1914 -msgid "# Color of mini help menu\n" - "# Default: 3 (brown)\n" -msgstr "# Miniabiinfo värv\n" - "# Vaikimisi: 3 (pruun)\n" - -#: src/lang.c:1920 -msgid "Color of help text" -msgstr "Abiinfo värv" - -#: src/lang.c:1921 -msgid "# Color of help pages\n" - "# Default: -1 (default color)\n" -msgstr "# Abiinfo värv\n" - "# Vaikimisi: -1 (vaikimisi värv)\n" - -#: src/lang.c:1927 -msgid "Color of status messages" -msgstr "Olekuteadete värv" - -#: src/lang.c:1928 -msgid "# Color of messages in last line\n" - "# Default: 6 (cyan)\n" -msgstr "# Viimasel real olevate teadete värv\n" - "# Default: 6 (lilla)\n" +msgid "A regex used to decide which lines to show in col_quote3." +msgstr "Regulaaravaldis otsustamaks, milliseid ridu näidata col_quote3." -#: src/lang.c:1934 -msgid "Color of quoted lines" -msgstr "Tsitaadi värv" +#: src/lang.c:1908 +msgid "Regex used to show >= 3 times q.l." +msgstr ">= 3 tsiteeritud ridu näitav reg" + +#: src/lang.c:1909 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Regulaaravaldis, mida tin kasutab, et otsustada, millised\n" + "# read on >= 3 korda tsiteeritud. >= 3 korda tsiteeritud ridu\n" + "# näidatakse col_quote3.\n" + "# Kui te jätate selle tühjaks, kasutab tin sisseehitatud väärtust.\n" + +#: src/lang.c:1916 +msgid "A regex used to decide which words to show in col_markslashes." +msgstr "Regex et otsustada, milliseid sõnu näidata col_markslashes abil." + +#: src/lang.c:1917 +msgid "Regex used to highlight /slashes/" +msgstr "Regex et esile tõsta /kaldkriipse/" + +#: src/lang.c:1918 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '/' are to be shown in col_markslashes.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Regulaaravaldis mida tin kasutab et otsustada, milliseid '/' vahel olevaid\n" + "# sõnu näidata col_markslashes abil. Kui jätate selle tühjaks, kasutab\n" + "# tin sisse ehitatud vaikeväärtust.\n" + +#: src/lang.c:1924 +msgid "A regex used to decide which words to show in col_markstars." +msgstr "Regex et otsustada, milliseid sõnu näidata col_markstars abil." + +#: src/lang.c:1925 +msgid "Regex used to highlight *stars*" +msgstr "Regex et esile tõsta *tärne*" + +#: src/lang.c:1926 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '*' are to be shown in col_markstars.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Regulaaravaldis mida tin kasutab et otsustada, milliseid '*' vahel olevaid\n" + "# sõnu näidata col_markstars abil. Kui jätate selle tühjaks, kasutab\n" + "# tin sisse ehitatud vaikeväärtust.\n" + +#: src/lang.c:1932 +msgid "A regex used to decide which words to show in col_markstroke." +msgstr "Regex et otsustada, milliseid sõnu näidata col_markstroke abil." + +#: src/lang.c:1933 +msgid "Regex used to highlight -strokes-" +msgstr "Regex et esile tõsta -kriipse-" -#: src/lang.c:1935 -msgid "# Color of quote-lines\n" - "# Default: 2 (green)\n" -msgstr "# Tsitaadi värv\n" - "# Vaikimisi: 2 (roheline)\n" +#: src/lang.c:1934 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '-' are to be shown in col_markstroke.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Regulaaravaldis mida tin kasutab et otsustada, milliseid '-' vahel olevaid\n" + "# sõnu näidata col_markstroke abil. Kui jätate selle tühjaks, kasutab\n" + "# tin sisse ehitatud vaikeväärtust.\n" + +#: src/lang.c:1940 +msgid "A regex used to decide which words to show in col_markdash." +msgstr "Regex et otsustada, milliseid sõnu näidata col_markdash abil." #: src/lang.c:1941 -msgid "Color of twice quoted line" -msgstr "Topelt tsiteeritud rea värv" +msgid "Regex used to highlight _underline_" +msgstr "Regex et esile tõsta _alakriipse_" #: src/lang.c:1942 -msgid "# Color of twice quoted lines\n" - "# Default: 3 (brown)\n" -msgstr "# Topelt tsiteeritud rea värv\n" - "# Vaikimisi: 3 (pruun)\n" +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '_' are to be shown in col_markdash.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Regulaaravaldis mida tin kasutab et otsustada, milliseid '_' vahel olevaid\n" + "# sõnu näidata col_markdash abil. Kui jätate selle tühjaks, kasutab\n" + "# tin sisse ehitatud vaikeväärtust.\n" #: src/lang.c:1948 -msgid "Color of =>3 times quoted line" -msgstr "=>3 korda tsiteeritud rea värv" +msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." +msgstr "Regulaaravaldis eemaldatava teema prefiksi leidmiseks. Eraldajaks on '|'." #: src/lang.c:1949 -msgid "# Color of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" -msgstr "# =>3 korda tsiteeritud rea värv\n" - "# Vaikimisi: 4 (sinine)\n" +msgid "Regex with Subject prefixes" +msgstr "Regex teema prefiksi leidmiseks" + +#: src/lang.c:1950 +msgid "# A regular expression that tin will use to find Subject prefixes\n" + "# which will be removed before showing the header.\n" +msgstr "# Regulaaravaldis, mida tin kasutab, et leida teema prefiksit, mida\n" + "# enne päise näitamist eemaldada.\n" #: src/lang.c:1955 -msgid "Color of article header lines" -msgstr "Artikli päiseridade värv" +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "Regulaaravaldis eemaldatava teema sufiksi leidmiseks. Eraldajaks on '|'." #: src/lang.c:1956 -msgid "# Color of header-lines\n" - "# Default: 2 (green)\n" -msgstr "# Päiseridade värv\n" - "# Vaikimisi: 2 (roheline)\n" +msgid "Regex with Subject suffixes" +msgstr "Regex teema sufiksi leidmiseks" + +#: src/lang.c:1957 +msgid "# A regular expression that tin will use to find Subject suffixes\n" + "# which will be removed when replying or posting followup.\n" +msgstr "# Regulaaravaldis, mida tin kasutab teema sufiksi leidmiseks,\n" + "# mis eemaldatakse vastuse saatmisel või postitamisel.\n" #: src/lang.c:1962 -msgid "Color of actual news header fields" -msgstr "Artikli tegelike päiseridade värv" +msgid "A regex used to find the begin of a verbatim block." +msgstr "Regulaaravaldis identse bloki alguse tuvastamiseks." #: src/lang.c:1963 -msgid "# Color of actual news header fields\n" - "# Default: 9 (light red)\n" -msgstr "# Artikli tegelike päiseridade värv\n" - "# Vaikimisi: 9 (helepunane)\n" +msgid "Regex for begin of a verbatim block" +msgstr "Identse bloki alguse reg. avaldis" + +#: src/lang.c:1964 +msgid "# A regular expression that tin will use to find the begin of\n" + "# a verbatim block.\n" +msgstr "# Regulaaravaldis, mida tin kasutab et leida identse bloki algust.\n" #: src/lang.c:1969 -msgid "Color of article subject lines" -msgstr "Artikli teemarea värv" +msgid "A regex used to find the end of a verbatim block." +msgstr "Regulaaravaldis identse bloki lõpu tuvastamiseks." #: src/lang.c:1970 -msgid "# Color of article subject\n" - "# Default: 6 (cyan)\n" -msgstr "# Artikli teema värv\n" - "# Vaikimisi: 6 (lilla)\n" +msgid "Regex for end of a verbatim block" +msgstr "Identse bloki lõpu reg. avaldis" + +#: src/lang.c:1971 +msgid "# A regular expression that tin will use to find the end of\n" + "# a verbatim block.\n" +msgstr "# Regulaaravaldis, mida tin kasutab et leida identse bloki lõppu.\n" #: src/lang.c:1976 -msgid "Color of response counter" -msgstr "Vastuste arvu loenduri värv" +msgid "Enter name and options for external MIME viewer, --internal for built-in " + "viewer" +msgstr "Sisestage välise MIME lehitseja nimi ja võtmed, sisemise valib --internal" #: src/lang.c:1977 -msgid "# Color of response counter\n" - "# Default: 2 (green)\n" -msgstr "# Vastuste arvu loenduri värv\n" - "# Vaikimisi: 2 (roheline)\n" - -#: src/lang.c:1983 -msgid "Color of sender (From:)" -msgstr "Saatja värv (From:)" - -#: src/lang.c:1984 -msgid "# Color of sender (From:)\n" - "# Default: 2 (green)\n" -msgstr "# Saatja värv (From:)\n" - "# Vaikimisi: 2 (roheline)\n" - -#: src/lang.c:1990 -msgid "Color of help/mail sign" -msgstr "Abiinfo/kirja teate värv" - -#: src/lang.c:1991 -msgid "# Color of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" -msgstr "# Abiinfo/kirja teate värv\n" - "# Vaikimisi: 4 (sinine)\n" - -#: src/lang.c:1997 -msgid "Color of signatures" -msgstr "Signatuuri värv" - -#: src/lang.c:1998 -msgid "# Color of signature\n" - "# Default: 4 (blue)\n" -msgstr "# Signatuuri värv\n" - "# Vaikimisi: 4 (sinine)\n" - -#: src/lang.c:2004 -msgid "Color of highlighted URLs" -msgstr "Esiletõstetud URLide värv" +msgid "MIME binary content viewer" +msgstr "MIME kahendsisu lehitseja" + +#: src/lang.c:1978 +msgid "# If --internal automatically use the built in MIME viewer for non-text\n" + "# parts of articles.\n" + "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" + "# for no automatic viewing\n" +msgstr "# --internal korral kasuta artikli mittetekstiliste osade vaatamiseks sisse\n" + "# ehitatud MIME lehitsejat.\n" + "# Muidu määra automaatseks vaatamiseks väline programm (nt. metamail) või\n" + "# jäta tühjaks\n" + +#: src/lang.c:1985 +msgid "Confirm before starting non-text viewing program" +msgstr "Küsi enne mitte-tekstiliste osade vaatamist kinnitust" + +#: src/lang.c:1986 +msgid "Ask before using MIME viewer" +msgstr "Küsi MIME lehitseja kasutamise luba" + +#: src/lang.c:1987 +msgid "# If ON tin will ask before using metamail to display MIME messages\n" + "# this only happens if metamail_prog is set to something\n" +msgstr "# Kui väärtus on ON, küsi metamaili kasutamise luba\n" + "# see juhtub ainult siis, kui metamail_prog on väärtustatud\n" + +#: src/lang.c:1992 +msgid "Ask to mark groups read when quitting. toggles & sets." +msgstr "Küsi, kas märkida väljumisel grupid loetuks. lülitab ja seab." + +#: src/lang.c:1993 +msgid "Catchup read groups when quitting" +msgstr "Väljumisel märkida grupid loetuks" + +#: src/lang.c:1994 +msgid "# If ON ask user if read groups should all be marked read\n" +msgstr "# Kui väärtus on ON, küsi kasutajalt, kas märkida loetud gruppides kõik\n" + "# artiklid loetuks\n" + +#: src/lang.c:1999 +msgid "Catchup group using left key" +msgstr "Nool vasakule märgib grupi loetuks" + +#: src/lang.c:2000 +msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" +msgstr "# Kui väärtus on ON, märgi grupp/teema loetuks, kui sellest väljutakse\n" + "# nool vasakule klahviga.\n" #: src/lang.c:2005 -msgid "# Color of highlighted URLs\n" - "# Default: -1 (default color)\n" -msgstr "# Esiletõstetud URLide värv\n" - "# Vaikimisi: -1 (vaikimisi värv)\n" +msgid "Catchup thread by using left key" +msgstr "Nool vasakule märgib teema loetuks" #: src/lang.c:2011 -msgid "Color of highlighting with *stars*" -msgstr "*tärnidega* esiletõstmise värv" +msgid "Which actions require confirmation" +msgstr "Tegevused mis nõuavad kinnitust" #: src/lang.c:2012 -msgid "# Color of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" -msgstr "# *tärnidega* esiletõstmise värv\n" - "# Vaikimisi: 11 (kollane)\n" +msgid "# What should we ask confirmation for.\n" +msgstr "# Millele me peaksime küsima kinnitust.\n" -#: src/lang.c:2018 -msgid "Color of highlighting with _dash_" -msgstr "_alakriipsudega_ esiletõstmise värv" +#: src/lang.c:2017 +msgid "'Mark as (un)read' ignores tags" +msgstr "'Märgi art. (mitte)loetuks' eirab märke" -#: src/lang.c:2019 -msgid "# Color of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" -msgstr "# _alakriipsudega_ esiletõstmise värv\n" - "# Vaikimisi: 13 (heleroosa)\n" - -#: src/lang.c:2025 -msgid "Color of highlighting with /slash/" -msgstr "/Kaldkriipsude/ esiletõstmise värv" - -#: src/lang.c:2026 -msgid "# Color of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" -msgstr "# /Kaldkriipsude/ esiletõstmise värv\n" - "# Vaikimisi: 14 (helelilla)\n" - -#: src/lang.c:2032 -msgid "Color of highlighting with -stroke-" -msgstr "-Kriipsudega- esiletõstmise värv" - -#: src/lang.c:2033 -msgid "# Color of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" -msgstr "# -Kriipsudega- esiletõstmise värv\n" - "# Vaikimisi: 12 (helesinine)\n" - -#: src/lang.c:2040 -msgid "Attr. of highlighting with *stars*" -msgstr "*tärnidega* esiletõstmise atribuut" - -#: src/lang.c:2041 -msgid "# Attributes of word highlighting on mono terminals\n" - "# Possible values are:\n" - "# 0 = Normal\n" - "# 1 = Underline\n" - "# 2 = Best highlighting\n" - "# 3 = Reverse video\n" - "# 4 = Blinking\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# Attribute of word highlighting with *stars*\n" - "# Default: 6 (bold)\n" -msgstr "# Sõnade esiletõstmise atribuut mono terminalidel.\n" - "# Võimalikud väärtused on:\n" - "# 0 - Tavaline\n" - "# 1 - Allajoonitud\n" - "# 2 - Parim esiletõstmine\n" - "# 3 - Pööratud video\n" - "# 4 - Plinkiv\n" - "# 5 - Poolhele\n" - "# 6 - Paks\n" - "\n" - "# *tärnidega* esiletõstmise atribuut\n" - "# Vaikimisi: 6 (paks)\n" +#: src/lang.c:2018 +msgid "# If ON the 'Mark as (un)read' function marks only the current article.\n" +msgstr "# Kui väärtus on ON märgib 'Märgi artikkel (mitte)loetuks' funktsioon ainult\n" + "# jooksva artikli.\n" + +#: src/lang.c:2022 +#, fuzzy +msgid "Program to run to open URLs, sets, cancels." +msgstr "Programm URLide avamiseks, seab, katkestab." + +#: src/lang.c:2023 +#, fuzzy +msgid "Program that opens URLs" +msgstr "Programm URLide avamiseks" + +#: src/lang.c:2024 +#, fuzzy +msgid "# The program used to open URLs. The actual URL will be appended\n" +msgstr "# Programm URLide avamiseks. URL lisatakse argumendiks\n" + +#: src/lang.c:2029 +msgid "Use mouse in xterm" +msgstr "Kasuta xterm aknas hiirt" + +#: src/lang.c:2030 +msgid "# If ON enable mouse button support on xterm terminals\n" +msgstr "# Kui väärtus on ON, luba xterm aknas hiire tugi\n" + +#: src/lang.c:2036 +msgid "Use scroll keys on keypad" +msgstr "Kasuta kerimisnuppe" + +#: src/lang.c:2037 +msgid "# If ON enable scroll keys on terminals that support it\n" +msgstr "# Kui väärtus on ON, luba kerimisnuppude kasutamist terminalidel, millel need " + "on olemas\n" + +#: src/lang.c:2042 +msgid "Enter maximum number of article to get. sets." +msgstr "Sisestage suurim laetavate artiklite arv. seab." + +#: src/lang.c:2043 +msgid "Number of articles to get" +msgstr "Laetavate artiklite arv" + +#: src/lang.c:2044 +msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" + "# of already read articles to be read before first unread one\n" +msgstr "# Laetavate artiklite arv (0=limiit puudub), negatiivne väärtus seab\n" + "# maksimaalse arvu loetud artikleid, mida lugeda enne lugemata artiklit\n" + +#: src/lang.c:2049 +msgid "Enter number of days article is considered recent. sets." +msgstr "Sisestage artikli värskuse kestus. seab." + +#: src/lang.c:2050 +msgid "Article recentness time limit" +msgstr "Artikli värskuse ajapiir" + +#: src/lang.c:2051 +msgid "# Number of days in which article is considered recent, (0=OFF)\n" +msgstr "# Päevad, mille jooksul loetakse artiklit värskeks, (0=OFF)\n" + +#: src/lang.c:2055 +msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." +msgstr "WILDMAT tavalistele jokkeritele, REGEX täisregulaaravaldistega otsimisele." #: src/lang.c:2056 -msgid "Attr. of highlighting with _dash_" -msgstr "_alakriipsudega_ esiletõstmise atr." +msgid "Wildcard matching" +msgstr "Jokkeritega otsimine" #: src/lang.c:2057 -msgid "# Attribute of word highlighting with _dash_\n" - "# Default: 2 (best highlighting)\n" -msgstr "# _alakriipsudega_ esiletõstmise atribuut\n" - "# Vaikimisi: 2 (parim esiletõstmine)\n" - -#: src/lang.c:2063 -msgid "Attr. of highlighting with /slash/" -msgstr "/Kaldkriipsude/ esiletõstmise atr." +msgid "# Wildcard matching\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" +msgstr "# Jokkeritega otsimine\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" #: src/lang.c:2064 -msgid "# Attribute of word highlighting with /slash/\n" - "# Default: 5 (half bright)\n" -msgstr "# /Kaldkriipsude/ esiletõstmise atribuut\n" - "# Vaikimisi: 5 (poolhele)\n" +msgid "Enter minimal score before an article is marked killed. sets." +msgstr "Sisestage minimaalne kaal artikli surmamiseks. seab." + +#: src/lang.c:2065 +msgid "Score limit (kill)" +msgstr "Kaalu alampiir (surmamine)" + +#: src/lang.c:2066 +msgid "# Score limit before an article is marked killed\n" +msgstr "# Kaalu alampiir, enne kui artikkel märgitakse surmatuks\n" #: src/lang.c:2070 -msgid "Attr. of highlighting with -stroke-" -msgstr "-Kriipsudega- esiletõstmise atr." +msgid "Enter default score to kill articles. sets." +msgstr "Sisestage vaikimisi kaal artiklite surmamiseks. seab." #: src/lang.c:2071 -msgid "# Attribute of word highlighting with -stroke-\n" - "# Default: 3 (reverse video)\n" -msgstr "# Vaikimisi: 3 (pööratud video)\n" +msgid "Default score to kill articles" +msgstr "Artiklite surmamise vaikimisi kaal" + +#: src/lang.c:2072 +msgid "# Default score to kill articles\n" +msgstr "# Vaikimisi kaal artiklite surmamiseks\n" + +#: src/lang.c:2076 +msgid "Enter minimal score before an article is marked hot. sets." +msgstr "Sisestage minimaalne kaal, enne kui artikkel märgitakse kuumaks. seab." #: src/lang.c:2077 -msgid "URL highlighting in message body" -msgstr "Teate kehas URL esiletõstmine" +msgid "Score limit (select)" +msgstr "Kaalu alampiir (valik)" #: src/lang.c:2078 -msgid "# Enable URL highlighting?\n" -msgstr "# Luba URLide esiletõstmine?\n" +msgid "# Score limit before an article is marked hot\n" +msgstr "# Kaalu alampiir, enne kui artikkel märgitakse muumaks\n" + +#: src/lang.c:2082 +msgid "Enter default score to select articles. sets." +msgstr "Sisestage vaikimisi kaal artiklite valimiseks. seab." #: src/lang.c:2083 -msgid "Word highlighting in message body" -msgstr "Sõnade esiletõstmine teate kehas" +msgid "Default score to select articles" +msgstr "Vaikimisi kaal artiklite valimiseks" #: src/lang.c:2084 -msgid "# Enable word highlighting?\n" -msgstr "# Lubada sõnade esiletõstmine?\n" - -#: src/lang.c:2089 -msgid "What to display instead of mark" -msgstr "Mida näidata märgi asemel" +msgid "# Default score to select articles\n" +msgstr "# Vaikimisi kaal artiklite valimiseks\n" #: src/lang.c:2090 -msgid "# Should the leading and ending stars and dashes also be displayed,\n" - "# even when they are highlighting marks?\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = no\n" - "# 1 = yes, display mark\n" - "# * 2 = print a space instead\n" -msgstr "# Kas näidata algavaid ja lõppevaid tärne ja kriipse,\n" - "# isegi, kui need on ka esiletõstmise märgid?\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# 0 - ei\n" - "# 1 - jah, näita märki\n" - "# * 2 - trüki hoopis tühik\n" +msgid "Use slrnface to show ''X-Face:''s" +msgstr "''X-Face:'' näitamiseks slrnface" + +#: src/lang.c:2091 +msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" + "# Only useful when running in an xterm.\n" +msgstr "# Kui väärtus on ON, kasutan ''X-Face:'' päiste käsitlemiseks slrnface(1).\n" + "# Kasulik ainult xterm aknas.\n" #: src/lang.c:2099 -msgid "Enter column number to wrap article lines to in the pager. sets." -msgstr "Sisestage veerg, millelt lehitseja hakkab ridu murdma. seab." +msgid "Use ANSI color" +msgstr "Kasuta ANSI värve" #: src/lang.c:2100 -msgid "Page line wrap column" -msgstr "Rea murdmise veerg lehitsejas" +msgid "# If ON using ANSI-color\n" +msgstr "# Kui väärtus on ON, kasuta ANSI värve\n" -#: src/lang.c:2101 -msgid "# Wrap article lines at column\n" -msgstr "# Murra artikli read antud veerus\n" +#: src/lang.c:2105 +msgid "Standard foreground color" +msgstr "Standardne esiplaani värv" #: src/lang.c:2106 -msgid "Wrap around threads on next unread" -msgstr "Liigu lugemata art-le ümber teemade" - -#: src/lang.c:2107 -msgid "# If ON wrap around threads on searching next unread article\n" -msgstr "# Kui väärtus on ON, liigu lugemata artiklite otsingul ümber teemade\n" - -#: src/lang.c:2111 -msgid "Enter default mail address (and fullname). sets." -msgstr "Sisestage oma e-posti aadress (ja oma nimi). seab." +msgid "# Standard foreground color\n" + "# Default: -1 (default color)\n" +msgstr "# Standardne esiplaani värv\n" + "# Vaikimisi: -1 (vaikimisi värv)\n" #: src/lang.c:2112 -msgid "Mail address (and fullname)" -msgstr "E-posti aadress (ja teie nimi)" +msgid "Standard background color" +msgstr "Standardne tagaplaani värv" #: src/lang.c:2113 -msgid "# User's mail address (and fullname), if not username@host (fullname)\n" -msgstr "# Kasutaja e-posti aadress (ja nimi), kui ei ole kasutaja@host (nimi)\n" - -#: src/lang.c:2118 -msgid "Show empty Followup-To in editor" -msgstr "Näita toimetis tühja Followup-To" +msgid "# Standard background color\n" + "# Default: -1 (default color)\n" +msgstr "# Standardne tagaplaani värv\n" + "# Vaikimisi: -1 (vaikimisi värv)\n" #: src/lang.c:2119 -msgid "# If ON show empty Followup-To header when editing an article\n" -msgstr "# Kui väärtus on ON, näita artikli toimetamisel tühja Followup-To rida\n" +msgid "Color for inverse text (background)" +msgstr "Pööratud teksti värv (tagaplaan)" -#: src/lang.c:2123 -msgid "Enter path/! command/--none to create your default signature. sets." -msgstr "Sisestage tee/! käsk/--none, et luua oma vaikimisi signatuur. seab." - -#: src/lang.c:2124 -msgid "Create signature from path/command" -msgstr "Signatuuri loomiseks tee/käsk" - -#: src/lang.c:2125 -msgid "# Signature path (random sigs)/file to be used when posting/replying\n" - "# default_sigfile=file appends file as signature\n" - "# default_sigfile=!command executes external command to generate a " - "signature\n" - "# default_sigfile=--none don't append a signature\n" -msgstr "# Postitamisel/vastamisel kasutatav signatuuri fail\n" - "# default_sigfile=fail lisa signatuur failist\n" - "# default_sigfile=!käsk käivitab käsu, mis genereerib signatuuri\n" - "# default_sigfile=--none ära lisa signatuuri\n" - -#: src/lang.c:2132 -msgid "Prepend signature with \"-- \" on own line. toggles & sets." -msgstr "Signatuurile eelnevale reale \"-- \". lülitab, seab." +#: src/lang.c:2120 +msgid "# Color of background for inverse text\n" + "# Default: 4 (blue)\n" +msgstr "# Pööratud teksti tagaplaani värv\n" + "# Vaikimisi: 4 (sinine)\n" + +#: src/lang.c:2126 +msgid "Color for inverse text (foreground)" +msgstr "Pööratud teksti värv (esiplaan)" + +#: src/lang.c:2127 +msgid "# Color of foreground for inverse text\n" + "# Default: 7 (white)\n" +msgstr "# Pööratud teksti esiplaani värv\n" + "# Vaikimisi: 7 (valge)\n" #: src/lang.c:2133 -msgid "Prepend signature with \"-- \"" -msgstr "Lisa signatuuri ette \"-- \"" +msgid "Color of text lines" +msgstr "Tekstiridade värv" #: src/lang.c:2134 -msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" -msgstr "# Kui väärtus on ON, lisa signatuuri ette '\\n-- \\n'\n" - -#: src/lang.c:2138 -msgid "Add signature when reposting articles. toggles & sets." -msgstr "Lisa artikli uuestipostitamisel signatuur. lülitab, seab." - -#: src/lang.c:2139 -msgid "Add signature when reposting" -msgstr "Lisa uuestipostitusel signatuur" +msgid "# Color of text lines\n" + "# Default: -1 (default color)\n" +msgstr "# Tekstiridade värv\n" + "# Vaikimisi: -1 (vaikimisi värv)\n" #: src/lang.c:2140 -msgid "# If ON add signature to reposted articles\n" -msgstr "# Kui väärtus on ON, lisa uuestipostitatud artiklile signatuur\n" - -#: src/lang.c:2144 -#, c-format -msgid "Enter quotation marks, %s or %S for author's initials." -msgstr "Sisestage tsitaadimärgid, %s või %S annab autori initsiaalid." +msgid "Color of mini help menu" +msgstr "Miniabiinfo värv" -#: src/lang.c:2145 -msgid "Characters used as quote-marks" -msgstr "Tsiteerimise märgid" - -#: src/lang.c:2146 -#, c-format -msgid "# Characters used in quoting to followups and replies.\n" - "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" -msgstr "# Sümbolid, mida kasutada tsiteerimisel vastustes.\n" - "# '_' asendatakse tühikuga ' ', %%s, %%S asendatakse autori initsiaalidega.\n" - -#: src/lang.c:2152 -msgid "Quoting behavior" -msgstr "Käitumine tsiteerimisel" - -#: src/lang.c:2153 -msgid "# How quoting should be handled when following up or replying.\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = Nothing special\n" - "# 1 = Compress quotes\n" - "# 2 = Quote signatures\n" - "# 3 = Compress quotes, quote signatures\n" - "# 4 = Quote empty lines\n" - "# * 5 = Compress quotes, quote empty lines\n" - "# 6 = Quote signatures, quote empty lines\n" - "# 7 = Compress quotes, quote signatures, quote empty lines\n" -msgstr "# Kuidas käsitleda vastamisel tsitaate.\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# 0 = Ei tee midagi erilist\n" - "# 1 = Tihenda tsitaadid\n" - "# 2 = Tsiteeri allkirju\n" - "# 3 = Tihenda tsitaadid, tsiteeri allkirju\n" - "# 4 = Tsiteeri tühje ridu\n" - "# * 5 = Tihenda tsitaadid, tsiteeri tühje ridu\n" - "# 6 = Tsiteeri allkirju, tsiteeri tühje ridu\n" - "# 7 = Tihenda tsitaadid, tsiteeri allkirju, tsiteeri tühje ridu\n" - -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 -msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" -msgstr "%A Aadr. %D Kuup. %F Aadr.+Nimi %G Grupp %M Message-ID %N Nimi %C Eesnimi" - -#: src/lang.c:2167 -msgid "Quote line when following up" -msgstr "Tsiteerimise rida vastamisel" +#: src/lang.c:2141 +msgid "# Color of mini help menu\n" + "# Default: 3 (brown)\n" +msgstr "# Miniabiinfo värv\n" + "# Vaikimisi: 3 (pruun)\n" + +#: src/lang.c:2147 +msgid "Color of help text" +msgstr "Abiinfo värv" + +#: src/lang.c:2148 +msgid "# Color of help pages\n" + "# Default: -1 (default color)\n" +msgstr "# Abiinfo värv\n" + "# Vaikimisi: -1 (vaikimisi värv)\n" + +#: src/lang.c:2154 +msgid "Color of status messages" +msgstr "Olekuteadete värv" + +#: src/lang.c:2155 +msgid "# Color of messages in last line\n" + "# Default: 6 (cyan)\n" +msgstr "# Viimasel real olevate teadete värv\n" + "# Default: 6 (lilla)\n" + +#: src/lang.c:2161 +msgid "Color of quoted lines" +msgstr "Tsitaadi värv" + +#: src/lang.c:2162 +msgid "# Color of quote-lines\n" + "# Default: 2 (green)\n" +msgstr "# Tsitaadi värv\n" + "# Vaikimisi: 2 (roheline)\n" #: src/lang.c:2168 -#, c-format -msgid "# Format of quote line when mailing/posting/following-up an article\n" - "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" - "# %%N Full Name %%C First Name %%I Initials\n" -msgstr "# Tsiteeriva rea vorming artikli mailimisel/postitamisel/vastamisel\n" - "# %%A Aadress %%D Kuup %%F Aadr+Nimi %%G Grupp %%M Message-ID\n" - "# %%N Täielik nimi %%C Eesnimi %%I Initsiaalid\n" +msgid "Color of twice quoted line" +msgstr "Topelt tsiteeritud rea värv" + +#: src/lang.c:2169 +msgid "# Color of twice quoted lines\n" + "# Default: 3 (brown)\n" +msgstr "# Topelt tsiteeritud rea värv\n" + "# Vaikimisi: 3 (pruun)\n" #: src/lang.c:2175 -msgid "Quote line when cross-posting" -msgstr "Tsiteerimise rida ristpostitusel" +msgid "Color of =>3 times quoted line" +msgstr "=>3 korda tsiteeritud rea värv" -#: src/lang.c:2181 -msgid "Quote line when mailing" -msgstr "Tsiteerimise rida kirjutamisel" - -#: src/lang.c:2186 -msgid "If ON, include User-Agent: header. toggles & sets." -msgstr "Kasuta User-Agent: päiserida. lülitab, seab." - -#: src/lang.c:2187 -msgid "Insert 'User-Agent:'-header" -msgstr "Sisestage 'User-Agent:'-päis" - -#: src/lang.c:2188 -msgid "# If ON include advertising User-Agent: header\n" -msgstr "# Kui väärtus on ON, lisa artikli päisesse User-Agent: rida\n" - -#: src/lang.c:2193 -msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." -msgstr "Sisestage MIME kooditabeli nimi (n. US-ASCII, ISO-8859-15, EUC-KR), seab." - -#: src/lang.c:2194 -msgid "MM_CHARSET" -msgstr "MM_CHARSET" - -#: src/lang.c:2195 -msgid "# Charset supported locally which is also used for MIME header and\n" - "# Content-Type header.\n" - "# If not set, the value of the environment variable MM_CHARSET is used.\n" - "# Set to US-ASCII or compile time default if neither of them is defined.\n" - "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" - "# mm_charset is considered not displayable and represented as '?'.\n" -msgstr "# Lokaalselt toetatud kooditabel, mida kasutatakse ka MIME päistes\n" - "# ja Content-Type päises.\n" - "# Kui ei ole seatud, kasutatakse keskkonnamuutuja MM_CHARSET väärtust.\n" - "# Kui ka seda pole seatud, kasutatakse kompileerimise ajal määratut\n" - "# või US-ASCII.\n" - "# Kui kompileerimise ajal oli defineeritud MIME_STRICT_CHARSET, siis\n" - "# loetakse mm_charset väärtusest erinev kooditabel mitte-näidatavaks\n" - "# ja näitamisel kasutatakse '?'.\n" - -#: src/lang.c:2205 -msgid "MM_NETWORK_CHARSET" -msgstr "MM_NETWORK_CHARSET" - -#: src/lang.c:2206 -msgid "# Charset used for MIME (Content-Type) header in postings.\n" -msgstr "# Postituste MIME (Content-Type) päises kasutatav kooditabel.\n" - -#: src/lang.c:2212 -msgid "Mailbox format" -msgstr "Kirjade kataloog" - -#: src/lang.c:2213 -msgid "# Format of the mailbox.\n" -msgstr "# Kirjade kataloog.\n" +#: src/lang.c:2176 +msgid "# Color of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" +msgstr "# =>3 korda tsiteeritud rea värv\n" + "# Vaikimisi: 4 (sinine)\n" + +#: src/lang.c:2182 +msgid "Color of article header lines" +msgstr "Artikli päiseridade värv" + +#: src/lang.c:2183 +msgid "# Color of header-lines\n" + "# Default: 2 (green)\n" +msgstr "# Päiseridade värv\n" + "# Vaikimisi: 2 (roheline)\n" + +#: src/lang.c:2189 +msgid "Color of actual news header fields" +msgstr "Artikli tegelike päiseridade värv" + +#: src/lang.c:2190 +msgid "# Color of actual news header fields\n" + "# Default: 9 (light red)\n" +msgstr "# Artikli tegelike päiseridade värv\n" + "# Vaikimisi: 9 (helepunane)\n" + +#: src/lang.c:2196 +msgid "Color of article subject lines" +msgstr "Artikli teemarea värv" + +#: src/lang.c:2197 +msgid "# Color of article subject\n" + "# Default: 6 (cyan)\n" +msgstr "# Artikli teema värv\n" + "# Vaikimisi: 6 (lilla)\n" + +#: src/lang.c:2203 +msgid "Color of response counter" +msgstr "Vastuste arvu loenduri värv" + +#: src/lang.c:2204 +msgid "# Color of response counter\n" + "# Default: 2 (green)\n" +msgstr "# Vastuste arvu loenduri värv\n" + "# Vaikimisi: 2 (roheline)\n" + +#: src/lang.c:2210 +msgid "Color of sender (From:)" +msgstr "Saatja värv (From:)" + +#: src/lang.c:2211 +msgid "# Color of sender (From:)\n" + "# Default: 2 (green)\n" +msgstr "# Saatja värv (From:)\n" + "# Vaikimisi: 2 (roheline)\n" + +#: src/lang.c:2217 +msgid "Color of help/mail sign" +msgstr "Abiinfo/kirja teate värv" #: src/lang.c:2218 -msgid "MIME encoding in news messages" -msgstr "Kasuta artiklites MIME kodeerimist" - -#: src/lang.c:2219 -msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" - "# for mails and posts, if necessary. QP is efficient for most European\n" - "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" - "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" - "# Russian charsets with a lot of 8bit characters.\n" -msgstr "# Vajadusel kirjade ja artiklite kehade MIME kodeerimine (8bit, base64,\n" - "# quoted-printable, 7bit). QP on piisav enamusele Euroopa kooditabelitele\n" - "# (ISO-8859-X), kus kasutatakse vähesel määral mitte-US-ASCII sümboleid.\n" - "# Base64 on kasulik enamuse 8 bitistele ida-aasia, kreeka ja vene\n" - "# kooditabelitele, kus kasutatakse palju 8 bitiseid sümboleid.\n" - -#: src/lang.c:2227 src/lang.c:2248 -msgid "Don't change unless you know what you are doing. cancels." -msgstr "Ärge muutke, kui te ei tea, mida teete. katkestab." - -#: src/lang.c:2228 -msgid "Use 8bit characters in news headers" -msgstr "Kasuta artikli päises 8bit tähti" - -#: src/lang.c:2229 -msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in header are encoded regardless of the value of this\n" - "# parameter unless post_mime_encoding is 8bit as well.\n" -msgstr "# Kui väärtus on ON, 8bit sümboleid artiklite postitamisel ei kodeerita.\n" - "# Vaikimisi on OFF, seega vaikimisi kodeeritakse 8bit sümbolid.\n" - "# 8bit sümbolid päistes kodeeritakse sõltumata selle parameetri väärtusest,\n" - "# v.a. juhul, kui post_mime_encoding väärtus on samuti 8bit.\n" - -#: src/lang.c:2236 -msgid "Auto-view post-processed files toggles, sets, cancels." -msgstr "Vaata töödeldud faile automaatselt lülitab, seab, " - "katkestab." - -#: src/lang.c:2237 -msgid "View post-processed files" -msgstr "Vaata töödeldud faile" +msgid "# Color of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" +msgstr "# Abiinfo/kirja teate värv\n" + "# Vaikimisi: 4 (sinine)\n" + +#: src/lang.c:2224 +msgid "Color of signatures" +msgstr "Signatuuri värv" + +#: src/lang.c:2225 +msgid "# Color of signature\n" + "# Default: 4 (blue)\n" +msgstr "# Signatuuri värv\n" + "# Vaikimisi: 4 (sinine)\n" + +#: src/lang.c:2231 +msgid "Color of highlighted URLs" +msgstr "Esiletõstetud URLide värv" + +#: src/lang.c:2232 +msgid "# Color of highlighted URLs\n" + "# Default: -1 (default color)\n" +msgstr "# Esiletõstetud URLide värv\n" + "# Vaikimisi: -1 (vaikimisi värv)\n" #: src/lang.c:2238 -msgid "# If set, post processed files will be opened in a viewer\n" -msgstr "# Kui on seatud, avatakse töödeldud fail vaatamiseks\n" +msgid "Color of verbatim blocks" +msgstr "Identsete blokkide värv" -#: src/lang.c:2243 -msgid "MIME encoding in mail messages" -msgstr "Kasuta kirjades MIME kodeerimist" - -#: src/lang.c:2249 -msgid "Use 8bit characters in mail headers" -msgstr "Kasuta kirja päises 8bit tähti" - -#: src/lang.c:2250 -msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in headers are encoded regardless of the value of this " - "parameter\n" - "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" - "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" - "# turn it ON unless you have some compelling reason.\n" -msgstr "# Kui väärtus on ON, 8bit sümboleid kirjade päistes ei kodeerita.\n" - "# Vaikimisi on OFF, seega vaikimisi kodeeritakse 8bit sümbolid.\n" - "# 8bit sümbolid päistes kodeeritakse sõltumata selle parameetri väärtusest,\n" - "# kui just mail_mime_encoding väärtus on samuti 8bit. Pidage meeles,\n" - "# et RFC 2822 keelab 8bit sümbolid kirjade päistes, seega selle\n" - "# parameetri väärtus ON ei ole soovitatav kasutada.\n" +#: src/lang.c:2239 +msgid "# Color of verbatim blocks\n" + "# Default: 5 (pink)\n" +msgstr "# Identsete blokkide värv\n" + "# Vaikimisi: 5 (roosa)\n" + +#: src/lang.c:2245 +msgid "Color of highlighting with *stars*" +msgstr "*tärnidega* esiletõstmise värv" + +#: src/lang.c:2246 +msgid "# Color of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" +msgstr "# *tärnidega* esiletõstmise värv\n" + "# Vaikimisi: 11 (kollane)\n" + +#: src/lang.c:2252 +msgid "Color of highlighting with _dash_" +msgstr "_alakriipsudega_ esiletõstmise värv" + +#: src/lang.c:2253 +msgid "# Color of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" +msgstr "# _alakriipsudega_ esiletõstmise värv\n" + "# Vaikimisi: 13 (heleroosa)\n" + +#: src/lang.c:2259 +msgid "Color of highlighting with /slash/" +msgstr "/Kaldkriipsude/ esiletõstmise värv" #: src/lang.c:2260 -msgid "Strip blanks from ends of lines" -msgstr "Eemalda tühikud realõppudest" - -#: src/lang.c:2261 -msgid "# If ON strip blanks from ends of lines for faster display on slow " - "terminals.\n" -msgstr "# Kui väärtus on ON, eemalda aeglaste terminalise töö kiirendamiseks\n" - "# realõppudest tühikud.\n" +msgid "# Color of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" +msgstr "# /Kaldkriipsude/ esiletõstmise värv\n" + "# Vaikimisi: 14 (helelilla)\n" #: src/lang.c:2266 -msgid "If ON, use transliteration. toggles & sets." -msgstr "Kui väärtus on ON, kasuta transliteratsiooni. lülitab, seab." +msgid "Color of highlighting with -stroke-" +msgstr "-Kriipsudega- esiletõstmise värv" #: src/lang.c:2267 -msgid "Transliteration" -msgstr "Transliteratsioon" - -#: src/lang.c:2268 -msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" - "# be represented in the in the target character set, it can be approximated\n" - "# through one or several similarly looking characters.\n" -msgstr "# Kui väärtus on ON, kasuta //TRANSLIT laiendust. See tähendab, et kui " - "sümbolit\n" - "# ei saa esitada soovitavas kooditabelis, võib seda esitada kasutades\n" - "# üht või enamat sarnast sümbolit.\n" +msgid "# Color of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" +msgstr "# -Kriipsudega- esiletõstmise värv\n" + "# Vaikimisi: 12 (helesinine)\n" + +#: src/lang.c:2274 +msgid "Attr. of highlighting with *stars*" +msgstr "*tärnidega* esiletõstmise atribuut" #: src/lang.c:2275 -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "Saada kasutajale automaatselt koopia. lülitab, seab." - -#: src/lang.c:2276 -msgid "Send you a cc automatically" -msgstr "Saada automaatselt koopia" - -#: src/lang.c:2277 -msgid "# If ON automatically put your name in the Cc: field when mailing an article\n" -msgstr "# Kui väärtus on ON, pane kasutaja nimi artikli saatmisel automaatselt\n" - "# Cc: reale\n" - -#: src/lang.c:2281 -msgid "Send you a blind carbon copy automatically. toggles & sets." -msgstr "Saada automaatselt pimekoopia. lülitab, seab." - -#: src/lang.c:2282 -msgid "Send you a blind cc automatically" -msgstr "Saada automaatselt pimekoopia" - -#: src/lang.c:2283 -msgid "# If ON automatically put your name in the Bcc: field when mailing an " - "article\n" -msgstr "# Kui väärtus on ON, pane kasutaja nimi artikli saatmisel automaatselt\n" - "# Bcc: väljale\n" - -#: src/lang.c:2287 -msgid "Enter address elements about which you want to be warned. sets." -msgstr "Sisestage aadressi komponendid, mille eest peaks hoiatama. seab." - -#: src/lang.c:2288 -msgid "Spamtrap warning address parts" -msgstr "Rämpsposti hoiatus aadressi osadele" - -#: src/lang.c:2289 -msgid "# A comma-delimited list of address-parts you want to be warned\n" - "# about when trying to reply by email.\n" -msgstr "# Komaga eraldatud aadresside komponentide loend, mille kasutamisel\n" - "# tuleks kasutajat hoiatada.\n" - -#: src/lang.c:2294 -msgid "Enter default number of days a filter entry will be valid. sets." -msgstr "Sisestage kirje kehtivuse aeg päevades. seab." - -#: src/lang.c:2295 -msgid "No. of days a filter entry is valid" -msgstr "Filtri kehtivus päevades" - -#: src/lang.c:2296 -msgid "# Number of days a short term filter will be active\n" -msgstr "# lühiajalise filtri kehtivus päevades\n" - -#: src/lang.c:2300 -msgid "Add posted articles to filter. toggles & sets." -msgstr "Lisage postitatud artikkel filtrisse. lülitab, seab." - -#: src/lang.c:2301 -msgid "Add posted articles to filter" -msgstr "Lisage postitatud artikkel filtrile" - -#: src/lang.c:2302 -msgid "# If ON add posted articles which start a new thread to filter for\n" - "# highlighting follow-ups\n" -msgstr "# Kui väärtus on ON, lisa postitatud artiklid, mis alustavad uut teemat,\n" - "# filtrile, mis märgistab vastuseid\n" - -#: src/lang.c:2306 -msgid "The directory where articles/threads are to be saved in mailbox format." -msgstr "Kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis." - -#: src/lang.c:2307 -msgid "Mail directory" -msgstr "Kirjade kataloog" - -#: src/lang.c:2308 -msgid "# (-m) directory where articles/threads are saved in mailbox format\n" -msgstr "# (-m) kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis\n" - -#: src/lang.c:2313 -msgid "Save articles in batch mode (-S)" -msgstr "Salvesta artiklid pakettmoodis (-S)" - -#: src/lang.c:2314 -msgid "# If ON articles/threads will be saved in batch mode when save -S\n" - "# or mail (-M/-N) is specified on the command line\n" -msgstr "# Kui väärtus on ON, artiklid salvestatakse pakettmoodis, kui käsureal\n" - "# on kasutatud võtmeid salvestamiseks -S või saatmiseks -M, -N\n" - -#: src/lang.c:2319 -msgid "The directory where you want articles/threads saved." -msgstr "Kataloog, kuhu te soovite artikleid salvestada." - -#: src/lang.c:2320 -msgid "Directory to save arts/threads in" -msgstr "Kataloog artiklite salvestamiseks" - -#: src/lang.c:2321 -msgid "# Directory where articles/threads are saved\n" -msgstr "# Kataloog, kuhu salvestatakse artiklid/teemad\n" - -#: src/lang.c:2325 -msgid "Auto save article/thread by Archive-name: header. toggles & sets." -msgstr "Salvesta artiklid Archive-name: päiserea järgi. lülitab, seab." - -#: src/lang.c:2326 -msgid "Use Archive-name: header for save" -msgstr "Kasuta salvestamisel Archive-name:" - -#: src/lang.c:2327 -msgid "# If ON articles/threads with Archive-name: in mail header will\n" - "# be automatically saved with the Archive-name & part/patch no.\n" -msgstr "# Kui väärtus on ON, salvestatakse artiklid/teemad, mis omavad päiserida\n" - "# Archive-name:, automaatselt selle reaga määratud nime ja osa numbriga.\n" - -#: src/lang.c:2332 -msgid "Mark saved articles/threads as read. toggles, sets, " - "cancels." -msgstr "Märgi salvestatud artiklid loetuks. lülitab, seab, " - "katkestab." +msgid "# Attributes of word highlighting on mono terminals\n" + "# Possible values are:\n" + "# 0 = Normal\n" + "# 1 = Underline\n" + "# 2 = Best highlighting\n" + "# 3 = Reverse video\n" + "# 4 = Blinking\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# Attribute of word highlighting with *stars*\n" + "# Default: 6 (bold)\n" +msgstr "# Sõnade esiletõstmise atribuut mono terminalidel.\n" + "# Võimalikud väärtused on:\n" + "# 0 - Tavaline\n" + "# 1 - Allajoonitud\n" + "# 2 - Parim esiletõstmine\n" + "# 3 - Pööratud video\n" + "# 4 - Plinkiv\n" + "# 5 - Poolhele\n" + "# 6 - Paks\n" + "\n" + "# *tärnidega* esiletõstmise atribuut\n" + "# Vaikimisi: 6 (paks)\n" + +#: src/lang.c:2290 +msgid "Attr. of highlighting with _dash_" +msgstr "_alakriipsudega_ esiletõstmise atr." + +#: src/lang.c:2291 +msgid "# Attribute of word highlighting with _dash_\n" + "# Default: 2 (best highlighting)\n" +msgstr "# _alakriipsudega_ esiletõstmise atribuut\n" + "# Vaikimisi: 2 (parim esiletõstmine)\n" + +#: src/lang.c:2297 +msgid "Attr. of highlighting with /slash/" +msgstr "/Kaldkriipsude/ esiletõstmise atr." + +#: src/lang.c:2298 +msgid "# Attribute of word highlighting with /slash/\n" + "# Default: 5 (half bright)\n" +msgstr "# /Kaldkriipsude/ esiletõstmise atribuut\n" + "# Vaikimisi: 5 (poolhele)\n" + +#: src/lang.c:2304 +msgid "Attr. of highlighting with -stroke-" +msgstr "-Kriipsudega- esiletõstmise atr." + +#: src/lang.c:2305 +msgid "# Attribute of word highlighting with -stroke-\n" + "# Default: 3 (reverse video)\n" +msgstr "# Vaikimisi: 3 (pööratud video)\n" + +#: src/lang.c:2311 +msgid "URL highlighting in message body" +msgstr "Teate kehas URL esiletõstmine" + +#: src/lang.c:2312 +msgid "# Enable URL highlighting?\n" +msgstr "# Luba URLide esiletõstmine?\n" + +#: src/lang.c:2317 +msgid "Word highlighting in message body" +msgstr "Sõnade esiletõstmine teate kehas" + +#: src/lang.c:2318 +msgid "# Enable word highlighting?\n" +msgstr "# Lubada sõnade esiletõstmine?\n" + +#: src/lang.c:2323 +msgid "What to display instead of mark" +msgstr "Mida näidata märgi asemel" + +#: src/lang.c:2324 +msgid "# Should the leading and ending stars and dashes also be displayed,\n" + "# even when they are highlighting marks?\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = no\n" + "# 1 = yes, display mark\n" + "# * 2 = print a space instead\n" +msgstr "# Kas näidata algavaid ja lõppevaid tärne ja kriipse,\n" + "# isegi, kui need on ka esiletõstmise märgid?\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 - ei\n" + "# 1 - jah, näita märki\n" + "# * 2 - trüki hoopis tühik\n" #: src/lang.c:2333 -msgid "Mark saved articles/threads as read" -msgstr "Märgi salvestatud artiklid loetuks" +msgid "Enter column number to wrap article lines to in the pager. sets." +msgstr "Sisestage veerg, millelt lehitseja hakkab ridu murdma. seab." #: src/lang.c:2334 -msgid "# If ON mark articles that are saved as read\n" -msgstr "# Kui väärtus on ON, märgi salvestatud artiklid loetuks\n" +msgid "Page line wrap column" +msgstr "Rea murdmise veerg lehitsejas" -#: src/lang.c:2338 -msgid "Do post processing (eg. extract attachments) for saved articles." -msgstr "Teosta salvestatud artiklitel järeltöötlemist (nt. lisade eraldamist)." - -#: src/lang.c:2339 -msgid "Post process saved articles" -msgstr "Salvestatud artikl. järeltöötlemine" +#: src/lang.c:2335 +msgid "# Wrap article lines at column\n" +msgstr "# Murra artikli read antud veerus\n" #: src/lang.c:2340 -msgid "# Perform post processing (saving binary attachments) from saved articles.\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no\n" - "# 1 = extract shell archives (shar) only\n" - "# 2 = yes\n" -msgstr "# Teosta salvestatud artiklite järeltöötlemist (lisade eraldamine).\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# * 0 = ei\n" - "# 1 = jah\n" - "# 2 = eralda ainult shelli arhiivid (shar)\n" - -#: src/lang.c:2349 -msgid "Process only unread articles" -msgstr "Töötle ainult lugemata artikleid" - -#: src/lang.c:2350 -msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" -msgstr "# Kui väärtus on ON, salvesta/trüki/torusse/saada lugemata artikleid\n" - "# (eeldatakse märgitud artikleid).\n" - -#: src/lang.c:2355 -msgid "Print all or just part of header. toggles & sets." -msgstr "Trüki kõik või ainult osa päisest. lülitab, seab." - -#: src/lang.c:2356 -msgid "Print all headers when printing" -msgstr "Trükkimisel trüki kõik päised" +msgid "Wrap around threads on next unread" +msgstr "Liigu lugemata art-le ümber teemade" + +#: src/lang.c:2341 +msgid "# If ON wrap around threads on searching next unread article\n" +msgstr "# Kui väärtus on ON, liigu lugemata artiklite otsingul ümber teemade\n" + +#: src/lang.c:2345 +msgid "Enter default mail address (and fullname). sets." +msgstr "Sisestage oma e-posti aadress (ja oma nimi). seab." + +#: src/lang.c:2346 src/lang.c:2770 +msgid "Mail address (and fullname)" +msgstr "E-posti aadress (ja teie nimi)" + +#: src/lang.c:2347 +msgid "# User's mail address (and fullname), if not username@host (fullname)\n" +msgstr "# Kasutaja e-posti aadress (ja nimi), kui ei ole kasutaja@host (nimi)\n" + +#: src/lang.c:2352 +msgid "Show empty Followup-To in editor" +msgstr "Näita toimetis tühja Followup-To" + +#: src/lang.c:2353 +msgid "# If ON show empty Followup-To header when editing an article\n" +msgstr "# Kui väärtus on ON, näita artikli toimetamisel tühja Followup-To rida\n" #: src/lang.c:2357 -msgid "# If ON print all of article header otherwise just the important lines\n" -msgstr "# Kui väärtus on ON, trüki kogu artikli päis, muidu ainult tähtsamad read\n" +msgid "Enter path/! command/--none to create your default signature. sets." +msgstr "Sisestage tee/! käsk/--none, et luua oma vaikimisi signatuur. seab." -#: src/lang.c:2361 -msgid "The printer program with options that is to be used to print articles/threads." -msgstr "Programm koos argumentidega, mida kasutatakse artiklite/teemade trükkimiseks." - -#: src/lang.c:2362 -msgid "Printer program with options" -msgstr "Trükikäsk koos võtmetega" - -#: src/lang.c:2363 -msgid "# Print program with parameters used to print articles/threads\n" -msgstr "# Programm koos argumentidega, mida kasutatakse artiklite/teemade " - "trükkimiseks\n" - -#: src/lang.c:2369 -msgid "Force redraw after certain commands" -msgstr "Värskenda ekraani peale käske" - -#: src/lang.c:2370 -msgid "# If ON a screen redraw will always be done after certain external commands\n" -msgstr "# Kui väärtus on ON, värskendatakse alati peale teatud väliseid käske " - "ekraani\n" +#: src/lang.c:2358 +msgid "Create signature from path/command" +msgstr "Signatuuri loomiseks tee/käsk" + +#: src/lang.c:2359 +msgid "# Signature path (random sigs)/file to be used when posting/replying\n" + "# sigfile=file appends file as signature\n" + "# sigfile=!command executes external command to generate a signature\n" + "# sigfile=--none don't append a signature\n" +msgstr "# Postitamisel/vastamisel kasutatav signatuuri fail\n" + "# sigfile=fail lisa signatuur failist\n" + "# sigfile=!käsk käivitab käsu, mis genereerib signatuuri\n" + "# sigfile=--none ära lisa signatuuri\n" + +#: src/lang.c:2366 +msgid "Prepend signature with \"-- \" on own line. toggles & sets." +msgstr "Signatuurile eelnevale reale \"-- \". lülitab, seab." + +#: src/lang.c:2367 +msgid "Prepend signature with \"-- \"" +msgstr "Lisa signatuuri ette \"-- \"" + +#: src/lang.c:2368 +msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" +msgstr "# Kui väärtus on ON, lisa signatuuri ette '\\n-- \\n'\n" + +#: src/lang.c:2372 +msgid "Add signature when reposting articles. toggles & sets." +msgstr "Lisa artikli uuestipostitamisel signatuur. lülitab, seab." + +#: src/lang.c:2373 +msgid "Add signature when reposting" +msgstr "Lisa uuestipostitusel signatuur" #: src/lang.c:2374 -msgid "Start editor with line offset. toggles, sets, cancels." -msgstr "Käivita tekstitoimeti etteantud real. lülitab, seab, " - "katkestab." - -#: src/lang.c:2375 -msgid "Start editor with line offset" -msgstr "Käivita tekstitoimeti reanumbril" - -#: src/lang.c:2376 -msgid "# If ON editor will be started with cursor offset into the file\n" - "# otherwise the cursor will be positioned at the first line\n" -msgstr "# Kui väärtus on ON, käivitatakse tekstitoimeti kursori paigutamisega\n" - "# vastavale reale. Vastasel korral positsioneeritakse kursor esimesele reale\n" - -#: src/lang.c:2381 -msgid "Enter %E for editor, %F for filename, %N for line-number, to set." -msgstr "Kasutage %E toimeti kohal, %F failinime kohal, %N reanumbrina, seab." - -#: src/lang.c:2382 -msgid "Invocation of your editor" -msgstr "Teie tekstitoimeti" - -#: src/lang.c:2383 -#, c-format -msgid "# Format of editor line including parameters\n" - "# %%E Editor %%F Filename %%N Linenumber\n" -msgstr "# Tekstitoimeti rea formaat koos parameetritega\n" - "# %%E Toimeti %%F Failinimi %%N Reanumber\n" - -#: src/lang.c:2388 -msgid "Enter name and options for external-inews, --internal for internal inews" -msgstr "Sisestage välise inews käsu nimi ja võtmed, sisemise valib --internal" - -#: src/lang.c:2389 -msgid "External inews" -msgstr "Väline inews" - -#: src/lang.c:2390 -msgid "# If --internal use the built in mini inews for posting via NNTP\n" - "# otherwise use an external inews program\n" -msgstr "# Kui on --internal, kasuta NNTP postitustel sisseehitatud inews käsku\n" - "# muidu kasuta välist inews programmi\n" - -#: src/lang.c:2394 -msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." -msgstr "Kasutage %M programmi kohal, %S teema kohal, %T saaja kohal, %F failinime " - "kohal, seab." - -#: src/lang.c:2395 -msgid "Invocation of your mail command" -msgstr "Teie e-posti käsk" - -#: src/lang.c:2396 -#, c-format -msgid "# Format of mailer line including parameters\n" - "# %%M Mailer %%S Subject %%T To %%F Filename\n" - "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" - "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" -msgstr "# e-posti saatja käsurea formaat koos parameetritega\n" - "# %%M Programm %%S Teema %%T Saaja %%F Failinimi\n" - "# näiteks. kasutada saatjana elm programmi: elm -s \"%%S\" \"%%T\" < %%F\n" - "# näiteks. elm interaktiivses moodis : elm -i %%F -s \"%%S\" \"%%T\"\n" - -#: src/lang.c:2404 -msgid "Use interactive mail reader" -msgstr "Kasuta interaktiivset e-posti" - -#: src/lang.c:2405 -msgid "# Interactive mailreader\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no interactive mailreader\n" - "# 1 = use interactive mailreader with headers in file\n" - "# 2 = use interactive mailreader without headers in file\n" -msgstr "# Interaktiivne e-posti programm\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# * 0 = interaktiivset e-posti programmi pole\n" - "# 1 = kasuta interaktiivset e-posti programmi koos päistega\n" - "# 2 = kasuta interaktiivset e-posti programmi päisteta\n" - -#: src/lang.c:2414 -msgid "Remove ~/.article after posting" -msgstr "Eemalda ~/.article peale postitust" +msgid "# If ON add signature to reposted articles\n" +msgstr "# Kui väärtus on ON, lisa uuestipostitatud artiklile signatuur\n" -#: src/lang.c:2415 -msgid "# If ON remove ~/.article after posting.\n" -msgstr "# Kui väärtus on ON, kustuta ~/.article peale postitust.\n" +#: src/lang.c:2378 +#, c-format +msgid "Enter quotation marks, %s or %S for author's initials." +msgstr "Sisestage tsitaadimärgid, %s või %S annab autori initsiaalid." -#: src/lang.c:2419 -msgid "Filename for all posted articles, sets, no filename=do not save." -msgstr "Failinimi postitatud artiklitele. seab. Nime puudumisel ei salvestata." +#: src/lang.c:2379 +msgid "Characters used as quote-marks" +msgstr "Tsiteerimise märgid" + +#: src/lang.c:2380 +#, c-format +msgid "# Characters used in quoting to followups and replies.\n" + "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" +msgstr "# Sümbolid, mida kasutada tsiteerimisel vastustes.\n" + "# '_' asendatakse tühikuga ' ', %%s, %%S asendatakse autori initsiaalidega.\n" + +#: src/lang.c:2386 +msgid "Quoting behavior" +msgstr "Käitumine tsiteerimisel" + +#: src/lang.c:2387 +msgid "# How quoting should be handled when following up or replying.\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = Nothing special\n" + "# 1 = Compress quotes\n" + "# 2 = Quote signatures\n" + "# 3 = Compress quotes, quote signatures\n" + "# 4 = Quote empty lines\n" + "# * 5 = Compress quotes, quote empty lines\n" + "# 6 = Quote signatures, quote empty lines\n" + "# 7 = Compress quotes, quote signatures, quote empty lines\n" +msgstr "# Kuidas käsitleda vastamisel tsitaate.\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 = Ei tee midagi erilist\n" + "# 1 = Tihenda tsitaadid\n" + "# 2 = Tsiteeri allkirju\n" + "# 3 = Tihenda tsitaadid, tsiteeri allkirju\n" + "# 4 = Tsiteeri tühje ridu\n" + "# * 5 = Tihenda tsitaadid, tsiteeri tühje ridu\n" + "# 6 = Tsiteeri allkirju, tsiteeri tühje ridu\n" + "# 7 = Tihenda tsitaadid, tsiteeri allkirju, tsiteeri tühje ridu\n" + +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 +msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" +msgstr "%A Aadr. %D Kuup. %F Aadr.+Nimi %G Grupp %M Message-ID %N Nimi %C Eesnimi" + +#: src/lang.c:2401 +msgid "Quote line when following up" +msgstr "Tsiteerimise rida vastamisel" + +#: src/lang.c:2402 +#, c-format +msgid "# Format of quote line when mailing/posting/following-up an article\n" + "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" + "# %%N Full Name %%C First Name %%I Initials\n" +msgstr "# Tsiteeriva rea vorming artikli mailimisel/postitamisel/vastamisel\n" + "# %%A Aadress %%D Kuup %%F Aadr+Nimi %%G Grupp %%M Message-ID\n" + "# %%N Täielik nimi %%C Eesnimi %%I Initsiaalid\n" + +#: src/lang.c:2409 +msgid "Quote line when cross-posting" +msgstr "Tsiteerimise rida ristpostitusel" + +#: src/lang.c:2415 +msgid "Quote line when mailing" +msgstr "Tsiteerimise rida kirjutamisel" #: src/lang.c:2420 -msgid "Filename for posted articles" -msgstr "Failinimi postitatud artiklitele" +msgid "If ON, include User-Agent: header. toggles & sets." +msgstr "Kasuta User-Agent: päiserida. lülitab, seab." #: src/lang.c:2421 -msgid "# Filename where to keep all postings (default posted)\n" - "# If no filename is set then postings will not be saved\n" -msgstr "# Failinimi, kus hoida kõiki postitusi (vaikimisi posted)\n" - "# Kui nime pole, siis postitusi ei salvestata\n" - -#: src/lang.c:2426 -msgid "Keep all failed articles in ~/dead.articles. toggles & sets." -msgstr "Hoia ebaõnnestunud postitused failis ~/dead.articles. lülitab ja " - "seab." +#, fuzzy +msgid "Insert 'User-Agent:' header" +msgstr "Sisestage 'User-Agent:'-päis" + +#: src/lang.c:2422 +msgid "# If ON include advertising User-Agent: header\n" +msgstr "# Kui väärtus on ON, lisa artikli päisesse User-Agent: rida\n" #: src/lang.c:2427 -msgid "Keep failed arts in ~/dead.articles" -msgstr "Vigased artiklid ~/dead.articles" +msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "Sisestage MIME kooditabeli nimi (n. US-ASCII, ISO-8859-15, EUC-KR), seab." #: src/lang.c:2428 -msgid "# If ON keep all failed postings in ~/dead.articles\n" -msgstr "# Kui väärtus on ON, hoia ebaõnnestunud postitused failis ~/dead.articles\n" +msgid "MM_CHARSET" +msgstr "MM_CHARSET" -#: src/lang.c:2432 -msgid "Do you want to strip unsubscribed groups from .newsrc" -msgstr "Kas te soovite eemaldada tellimata grupid .newsrc failist" - -#: src/lang.c:2433 -msgid "No unsubscribed groups in newsrc" -msgstr "newsrcs ainult tellitud grupid" - -#: src/lang.c:2434 -msgid "# If ON strip unsubscribed groups from newsrc\n" -msgstr "# Kui väärtus on ON, eemalda tellimata grupid newsrc failist\n" +#: src/lang.c:2429 +msgid "# Charset supported locally which is also used for MIME header and\n" + "# Content-Type header.\n" + "# If not set, the value of the environment variable MM_CHARSET is used.\n" + "# Set to US-ASCII or compile time default if neither of them is defined.\n" + "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" + "# mm_charset is considered not displayable and represented as '?'.\n" +msgstr "# Lokaalselt toetatud kooditabel, mida kasutatakse ka MIME päistes\n" + "# ja Content-Type päises.\n" + "# Kui ei ole seatud, kasutatakse keskkonnamuutuja MM_CHARSET väärtust.\n" + "# Kui ka seda pole seatud, kasutatakse kompileerimise ajal määratut\n" + "# või US-ASCII.\n" + "# Kui kompileerimise ajal oli defineeritud MIME_STRICT_CHARSET, siis\n" + "# loetakse mm_charset väärtusest erinev kooditabel mitte-näidatavaks\n" + "# ja näitamisel kasutatakse '?'.\n" #: src/lang.c:2439 -msgid "Remove bogus groups from newsrc" -msgstr "Eemalda olematud grupid" +msgid "MM_NETWORK_CHARSET" +msgstr "MM_NETWORK_CHARSET" #: src/lang.c:2440 -msgid "# What to do with bogus groups in newsrc file\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = keep\n" - "# 1 = remove\n" - "# 2 = highlight with D on selection screen\n" -msgstr "# Mida teha olematute gruppidega newsrc failis\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# * 0 = Hoia alles\n" - "# 1 = Eemalda\n" - "# 2 = Märgi valikuekraanil lipuga D\n" - -#: src/lang.c:2448 -msgid "Enter number of seconds until active file will be reread. sets." -msgstr "Sisestage aktiivsete faili lugemise intervall sekundites. seab." - -#: src/lang.c:2449 -msgid "Interval in secs to reread active" -msgstr "Aktiivsete faili lugemise intervall" - -#: src/lang.c:2450 -msgid "# Time interval in seconds between rereading the active file (0=never)\n" -msgstr "# Aktiivsete faili lugemise intervall (0 = ei loe)\n" - -#: src/lang.c:2455 -msgid "Reconnect to server automatically" -msgstr "Taasta automaatselt NNTP ühendus" - -#: src/lang.c:2456 -msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" -msgstr "# Kui väärtus on ON, ürita NNTP serveriga ühenduse katkemisel ühendust\n" - "# automaatselt taastada\n" - -#: src/lang.c:2460 -msgid "Create local copies of NNTP overview files. toggles & sets." -msgstr "Loo NNTP overview failidest lokaalne koopia. lülitab ja seab." +msgid "# Charset used for MIME (Content-Type) header in postings.\n" +msgstr "# Postituste MIME (Content-Type) päises kasutatav kooditabel.\n" -#: src/lang.c:2461 -msgid "Cache NNTP overview files locally" -msgstr "Puhverda NNTP overview lokaalselt" - -#: src/lang.c:2462 -msgid "# If ON, create local copies of NNTP overview files.\n" -msgstr "# Kui väärtus on ON, loo NNTP overview failidest lokaalsed koopiad.\n" - -#: src/lang.c:2466 -msgid "Enter format string. sets, cancels." -msgstr "Sisestage vormingusõne. seab, katkestab." - -#: src/lang.c:2467 -msgid "Format string for display of dates" -msgstr "Kuupäevade esitamise vormingusõne" - -#: src/lang.c:2468 -msgid "# Format string for date representation\n" -msgstr "# Vormingusõne kuupäevade esitamiseks\n" - -#: src/lang.c:2474 -msgid "Unicode normalization form" -msgstr "Unikoodi normaliseerimise kuju" - -#: src/lang.c:2475 -msgid "# Unicode normalization form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" -msgstr "# Unikoodi normaliseerimine\n" - "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" - "# 0 = Pole\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" - -#: src/lang.c:2487 -msgid "Render BiDi" -msgstr "Renderda BiDi" - -#: src/lang.c:2488 -msgid "# If ON, bi-directional text is rendered by tin\n" -msgstr "# Kui väärtus on ON, renderdab tin mitmesuunalist (BiDi) teksti\n" - -#: src/misc.c:3750 -#, c-format -msgid "Version: %s %s release %s (\"%s\") %s %s\n" -msgstr "Versioon: %s %s väljalase %s (\"%s\") %s %s\n" - -#: src/misc.c:3753 -#, c-format -msgid "Version: %s %s release %s (\"%s\")\n" -msgstr "Versioon: %s %s väljalase %s (\"%s\")\n" - -#: src/newsrc.c:430 -msgid "Unreachable?\n" -msgstr "Kättesaamatu?\n" - -#: src/nntplib.c:824 -#, c-format -msgid "\n" - "Server timed out, trying reconnect # %d\n" -msgstr "\n" - "Ühendus serveriga aegus, proovin taastada, katse %d\n" - -#: src/nntplib.c:842 src/nntplib.c:1630 -msgid "Rejoin current group\n" -msgstr "Taasühinen jooksva grupiga\n" - -#: src/nntplib.c:849 src/nntplib.c:1637 -#, c-format -msgid "Read (%s)\n" -msgstr "Lugesin (%s)\n" - -#: src/nntplib.c:851 -#, c-format -msgid "Resend last command (%s)\n" -msgstr "Saada viimane käsk uuesti (%s)\n" - -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 -msgid "MOTD: " -msgstr "MOTD: " - -#: src/nrctbl.c:170 -#, c-format -msgid "couldn't expand %s\n" -msgstr "ei saa laiendada %s\n" - -#: src/post.c:1171 -#, c-format -msgid "Line %d is longer than 998 octets and should be folded, but\n" - "encoding is neither set to %s nor to %s\n" -msgstr "Rida %d on pikem, kui 998 sümbolit ja tuleks poolitada, aga kodeering\n" - "pole ei %s ega %s\n" +#: src/lang.c:2444 +msgid "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "Sisestage lokaalse kooditabeli nimi (n. UTF-8, ISO-8859-15), seab." + +#: src/lang.c:2445 +msgid "MM_LOCAL_CHARSET" +msgstr "MM_LOCAL_CHARSET" + +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "# Lokaalne kooditabel.\n" + +#: src/lang.c:2453 +msgid "Mailbox format" +msgstr "Kirjade kataloog" + +#: src/lang.c:2454 +msgid "# Format of the mailbox.\n" +msgstr "# Kirjade kataloog.\n" + +#: src/lang.c:2459 +msgid "MIME encoding in news messages" +msgstr "Kasuta artiklites MIME kodeerimist" -#: src/post.c:1176 -#, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" - "posting doesn't contain any 8bit chars and thus folding won't happen\n" -msgstr "Rida %d on pikem, kui 998 sümbolit ja tuleks poolitada, aga kodeering\n" - "on %s ja MIME_BREAK_LONG_LINES pole seatud või postitamine ei sisalda\n" - "8 bitiseid sümboleid ja seetõttu poolitamist ei toimu\n" - -#: src/post.c:1178 -#, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is not set to %s\n" -msgstr "Rida %d on pikem, kui 998 sümbolit ja tuleks poolitada, aga kodeering\n" - "pole %s\n" +#: src/lang.c:2460 +msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" + "# for mails and posts, if necessary. QP is efficient for most European\n" + "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" + "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" + "# Russian charsets with a lot of 8bit characters.\n" +msgstr "# Vajadusel kirjade ja artiklite kehade MIME kodeerimine (8bit, base64,\n" + "# quoted-printable, 7bit). QP on piisav enamusele Euroopa kooditabelitele\n" + "# (ISO-8859-X), kus kasutatakse vähesel määral mitte-US-ASCII sümboleid.\n" + "# Base64 on kasulik enamuse 8 bitistele ida-aasia, kreeka ja vene\n" + "# kooditabelitele, kus kasutatakse palju 8 bitiseid sümboleid.\n" + +#: src/lang.c:2468 src/lang.c:2489 +msgid "Don't change unless you know what you are doing. cancels." +msgstr "Ärge muutke, kui te ei tea, mida teete. katkestab." + +#: src/lang.c:2469 +msgid "Use 8bit characters in news headers" +msgstr "Kasuta artikli päises 8bit tähti" + +#: src/lang.c:2470 +msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in header are encoded regardless of the value of this\n" + "# parameter unless post_mime_encoding is 8bit as well.\n" +msgstr "# Kui väärtus on ON, 8bit sümboleid artiklite postitamisel ei kodeerita.\n" + "# Vaikimisi on OFF, seega vaikimisi kodeeritakse 8bit sümbolid.\n" + "# 8bit sümbolid päistes kodeeritakse sõltumata selle parameetri väärtusest,\n" + "# v.a. juhul, kui post_mime_encoding väärtus on samuti 8bit.\n" + +#: src/lang.c:2477 +msgid "Auto-view post-processed files toggles, sets, cancels." +msgstr "Vaata töödeldud faile automaatselt lülitab, seab, " + "katkestab." + +#: src/lang.c:2478 +msgid "View post-processed files" +msgstr "Vaata töödeldud faile" + +#: src/lang.c:2479 +msgid "# If set, post processed files will be opened in a viewer\n" +msgstr "# Kui on seatud, avatakse töödeldud fail vaatamiseks\n" + +#: src/lang.c:2484 +msgid "MIME encoding in mail messages" +msgstr "Kasuta kirjades MIME kodeerimist" + +#: src/lang.c:2490 +msgid "Use 8bit characters in mail headers" +msgstr "Kasuta kirja päises 8bit tähti" + +#: src/lang.c:2491 +msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in headers are encoded regardless of the value of this " + "parameter\n" + "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" + "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" + "# turn it ON unless you have some compelling reason.\n" +msgstr "# Kui väärtus on ON, 8bit sümboleid kirjade päistes ei kodeerita.\n" + "# Vaikimisi on OFF, seega vaikimisi kodeeritakse 8bit sümbolid.\n" + "# 8bit sümbolid päistes kodeeritakse sõltumata selle parameetri väärtusest,\n" + "# kui just mail_mime_encoding väärtus on samuti 8bit. Pidage meeles,\n" + "# et RFC 2822 keelab 8bit sümbolid kirjade päistes, seega selle\n" + "# parameetri väärtus ON ei ole soovitatav kasutada.\n" + +#: src/lang.c:2501 +msgid "Strip blanks from ends of lines" +msgstr "Eemalda tühikud realõppudest" + +#: src/lang.c:2502 +msgid "# If ON strip blanks from ends of lines for faster display on slow " + "terminals.\n" +msgstr "# Kui väärtus on ON, eemalda aeglaste terminalise töö kiirendamiseks\n" + "# realõppudest tühikud.\n" + +#: src/lang.c:2507 +msgid "If ON, use transliteration. toggles & sets." +msgstr "Kui väärtus on ON, kasuta transliteratsiooni. lülitab, seab." + +#: src/lang.c:2508 +msgid "Transliteration" +msgstr "Transliteratsioon" + +#: src/lang.c:2509 +msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" + "# be represented in the in the target character set, it can be approximated\n" + "# through one or several similarly looking characters.\n" +msgstr "# Kui väärtus on ON, kasuta //TRANSLIT laiendust. See tähendab, et kui " + "sümbolit\n" + "# ei saa esitada soovitavas kooditabelis, võib seda esitada kasutades\n" + "# üht või enamat sarnast sümbolit.\n" + +#: src/lang.c:2517 +msgid "Send you a Cc/Bcc automatically" +msgstr "Saada automaatselt Cc/Bcc koopia" + +#: src/lang.c:2518 +msgid "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = No\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc and Bcc\n" +msgstr "# Artikli saatmisel paneb teie nime Cc: ja/või Bcc: väljale.\n" + "# Võimalikud väärtused on (vaikimisi väärtus märgitud *):\n" + "# * 0 = Ei pane\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc ja Bcc\n" + +#: src/lang.c:2527 +msgid "Enter address elements about which you want to be warned. sets." +msgstr "Sisestage aadressi komponendid, mille eest peaks hoiatama. seab." + +#: src/lang.c:2528 +msgid "Spamtrap warning address parts" +msgstr "Rämpsposti hoiatus aadressi osadele" + +#: src/lang.c:2529 +msgid "# A comma-delimited list of address-parts you want to be warned\n" + "# about when trying to reply by email.\n" +msgstr "# Komaga eraldatud aadresside komponentide loend, mille kasutamisel\n" + "# tuleks kasutajat hoiatada.\n" + +#: src/lang.c:2534 +msgid "Enter default number of days a filter entry will be valid. sets." +msgstr "Sisestage kirje kehtivuse aeg päevades. seab." + +#: src/lang.c:2535 +msgid "No. of days a filter entry is valid" +msgstr "Filtri kehtivus päevades" + +#: src/lang.c:2536 +msgid "# Number of days a short term filter will be active\n" +msgstr "# lühiajalise filtri kehtivus päevades\n" + +#: src/lang.c:2540 +msgid "Add posted articles to filter. toggles & sets." +msgstr "Lisage postitatud artikkel filtrisse. lülitab, seab." + +#: src/lang.c:2541 +msgid "Add posted articles to filter" +msgstr "Lisage postitatud artikkel filtrile" + +#: src/lang.c:2542 +msgid "# If ON add posted articles which start a new thread to filter for\n" + "# highlighting follow-ups\n" +msgstr "# Kui väärtus on ON, lisa postitatud artiklid, mis alustavad uut teemat,\n" + "# filtrile, mis märgistab vastuseid\n" + +#: src/lang.c:2546 +msgid "The directory where articles/threads are to be saved in mailbox format." +msgstr "Kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis." + +#: src/lang.c:2547 +msgid "Mail directory" +msgstr "Kirjade kataloog" + +#: src/lang.c:2548 +msgid "# (-m) directory where articles/threads are saved in mailbox format\n" +msgstr "# (-m) kataloog, kuhu artikleid/teemasid salvestatakse kirjaformaadis\n" + +#: src/lang.c:2553 +msgid "Save articles in batch mode (-S)" +msgstr "Salvesta artiklid pakettmoodis (-S)" + +#: src/lang.c:2554 +msgid "# If ON articles/threads will be saved in batch mode when save -S\n" + "# or mail (-M/-N) is specified on the command line\n" +msgstr "# Kui väärtus on ON, artiklid salvestatakse pakettmoodis, kui käsureal\n" + "# on kasutatud võtmeid salvestamiseks -S või saatmiseks -M, -N\n" + +#: src/lang.c:2559 +msgid "The directory where you want articles/threads saved." +msgstr "Kataloog, kuhu te soovite artikleid salvestada." + +#: src/lang.c:2560 +msgid "Directory to save arts/threads in" +msgstr "Kataloog artiklite salvestamiseks" + +#: src/lang.c:2561 +msgid "# Directory where articles/threads are saved\n" +msgstr "# Kataloog, kuhu salvestatakse artiklid/teemad\n" + +#: src/lang.c:2565 +msgid "Auto save article/thread by Archive-name: header. toggles & sets." +msgstr "Salvesta artiklid Archive-name: päiserea järgi. lülitab, seab." + +#: src/lang.c:2566 +msgid "Use Archive-name: header for save" +msgstr "Kasuta salvestamisel Archive-name:" + +#: src/lang.c:2567 +msgid "# If ON articles/threads with Archive-name: in mail header will\n" + "# be automatically saved with the Archive-name & part/patch no.\n" +msgstr "# Kui väärtus on ON, salvestatakse artiklid/teemad, mis omavad päiserida\n" + "# Archive-name:, automaatselt selle reaga määratud nime ja osa numbriga.\n" + +#: src/lang.c:2572 +msgid "Mark saved articles/threads as read. toggles, sets, " + "cancels." +msgstr "Märgi salvestatud artiklid loetuks. lülitab, seab, " + "katkestab." + +#: src/lang.c:2573 +msgid "Mark saved articles/threads as read" +msgstr "Märgi salvestatud artiklid loetuks" + +#: src/lang.c:2574 +msgid "# If ON mark articles that are saved as read\n" +msgstr "# Kui väärtus on ON, märgi salvestatud artiklid loetuks\n" + +#: src/lang.c:2578 +msgid "Do post processing (eg. extract attachments) for saved articles." +msgstr "Teosta salvestatud artiklitel järeltöötlemist (nt. lisade eraldamist)." + +#: src/lang.c:2579 +msgid "Post process saved articles" +msgstr "Salvestatud artikl. järeltöötlemine" + +#: src/lang.c:2580 +msgid "# Perform post processing (saving binary attachments) from saved articles.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no\n" + "# 1 = extract shell archives (shar) only\n" + "# 2 = yes\n" +msgstr "# Teosta salvestatud artiklite järeltöötlemist (lisade eraldamine).\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# * 0 = ei\n" + "# 1 = jah\n" + "# 2 = eralda ainult shelli arhiivid (shar)\n" + +#: src/lang.c:2589 +msgid "Process only unread articles" +msgstr "Töötle ainult lugemata artikleid" + +#: src/lang.c:2590 +msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" +msgstr "# Kui väärtus on ON, salvesta/trüki/torusse/saada lugemata artikleid\n" + "# (eeldatakse märgitud artikleid).\n" + +#: src/lang.c:2595 +msgid "Print all or just part of header. toggles & sets." +msgstr "Trüki kõik või ainult osa päisest. lülitab, seab." + +#: src/lang.c:2596 +msgid "Print all headers when printing" +msgstr "Trükkimisel trüki kõik päised" + +#: src/lang.c:2597 +msgid "# If ON print all of article header otherwise just the important lines\n" +msgstr "# Kui väärtus on ON, trüki kogu artikli päis, muidu ainult tähtsamad read\n" + +#: src/lang.c:2601 +msgid "The printer program with options that is to be used to print articles/threads." +msgstr "Programm koos argumentidega, mida kasutatakse artiklite/teemade trükkimiseks." + +#: src/lang.c:2602 +msgid "Printer program with options" +msgstr "Trükikäsk koos võtmetega" + +#: src/lang.c:2603 +msgid "# Print program with parameters used to print articles/threads\n" +msgstr "# Programm koos argumentidega, mida kasutatakse artiklite/teemade " + "trükkimiseks\n" + +#: src/lang.c:2609 +msgid "Force redraw after certain commands" +msgstr "Värskenda ekraani peale käske" + +#: src/lang.c:2610 +msgid "# If ON a screen redraw will always be done after certain external commands\n" +msgstr "# Kui väärtus on ON, värskendatakse alati peale teatud väliseid käske " + "ekraani\n" + +#: src/lang.c:2614 +msgid "Start editor with line offset. toggles, sets, cancels." +msgstr "Käivita tekstitoimeti etteantud real. lülitab, seab, " + "katkestab." + +#: src/lang.c:2615 +msgid "Start editor with line offset" +msgstr "Käivita tekstitoimeti reanumbril" + +#: src/lang.c:2616 +msgid "# If ON editor will be started with cursor offset into the file\n" + "# otherwise the cursor will be positioned at the first line\n" +msgstr "# Kui väärtus on ON, käivitatakse tekstitoimeti kursori paigutamisega\n" + "# vastavale reale. Vastasel korral positsioneeritakse kursor esimesele reale\n" + +#: src/lang.c:2621 +msgid "Enter %E for editor, %F for filename, %N for line-number, to set." +msgstr "Kasutage %E toimeti kohal, %F failinime kohal, %N reanumbrina, seab." + +#: src/lang.c:2622 +msgid "Invocation of your editor" +msgstr "Teie tekstitoimeti" + +#: src/lang.c:2623 +#, c-format +msgid "# Format of editor line including parameters\n" + "# %%E Editor %%F Filename %%N Linenumber\n" +msgstr "# Tekstitoimeti rea formaat koos parameetritega\n" + "# %%E Toimeti %%F Failinimi %%N Reanumber\n" + +#: src/lang.c:2628 +msgid "Enter name and options for external-inews, --internal for internal inews" +msgstr "Sisestage välise inews käsu nimi ja võtmed, sisemise valib --internal" + +#: src/lang.c:2629 +msgid "External inews" +msgstr "Väline inews" + +#: src/lang.c:2630 +msgid "# If --internal use the built in mini inews for posting via NNTP\n" + "# otherwise use an external inews program\n" +msgstr "# Kui on --internal, kasuta NNTP postitustel sisseehitatud inews käsku\n" + "# muidu kasuta välist inews programmi\n" + +#: src/lang.c:2634 +msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." +msgstr "Kasutage %M programmi kohal, %S teema kohal, %T saaja kohal, %F failinime " + "kohal, seab." + +#: src/lang.c:2635 +msgid "Invocation of your mail command" +msgstr "Teie e-posti käsk" + +#: src/lang.c:2636 +#, c-format +msgid "# Format of mailer line including parameters\n" + "# %%M Mailer %%S Subject %%T To %%F Filename\n" + "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" + "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" +msgstr "# e-posti saatja käsurea formaat koos parameetritega\n" + "# %%M Programm %%S Teema %%T Saaja %%F Failinimi\n" + "# näiteks. kasutada saatjana elm programmi: elm -s \"%%S\" \"%%T\" < %%F\n" + "# näiteks. elm interaktiivses moodis : elm -i %%F -s \"%%S\" \"%%T\"\n" + +#: src/lang.c:2644 +msgid "Use interactive mail reader" +msgstr "Kasuta interaktiivset e-posti" + +#: src/lang.c:2645 +msgid "# Interactive mailreader\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no interactive mailreader\n" + "# 1 = use interactive mailreader with headers in file\n" + "# 2 = use interactive mailreader without headers in file\n" +msgstr "# Interaktiivne e-posti programm\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# * 0 = interaktiivset e-posti programmi pole\n" + "# 1 = kasuta interaktiivset e-posti programmi koos päistega\n" + "# 2 = kasuta interaktiivset e-posti programmi päisteta\n" + +#: src/lang.c:2654 +msgid "Remove ~/.article after posting" +msgstr "Eemalda ~/.article peale postitust" + +#: src/lang.c:2655 +msgid "# If ON remove ~/.article after posting.\n" +msgstr "# Kui väärtus on ON, kustuta ~/.article peale postitust.\n" + +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" + +#: src/lang.c:2662 +msgid "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" + +#: src/lang.c:2667 +msgid "Filename for all posted articles, sets, no filename=do not save." +msgstr "Failinimi postitatud artiklitele. seab. Nime puudumisel ei salvestata." + +#: src/lang.c:2668 +msgid "Filename for posted articles" +msgstr "Failinimi postitatud artiklitele" + +#: src/lang.c:2669 +msgid "# Filename where to keep all postings (default posted)\n" + "# If no filename is set then postings will not be saved\n" +msgstr "# Failinimi, kus hoida kõiki postitusi (vaikimisi posted)\n" + "# Kui nime pole, siis postitusi ei salvestata\n" + +#: src/lang.c:2674 +msgid "Keep all failed articles in ~/dead.articles. toggles & sets." +msgstr "Hoia ebaõnnestunud postitused failis ~/dead.articles. lülitab ja " + "seab." + +#: src/lang.c:2675 +msgid "Keep failed arts in ~/dead.articles" +msgstr "Vigased artiklid ~/dead.articles" + +#: src/lang.c:2676 +msgid "# If ON keep all failed postings in ~/dead.articles\n" +msgstr "# Kui väärtus on ON, hoia ebaõnnestunud postitused failis ~/dead.articles\n" + +#: src/lang.c:2680 +msgid "Do you want to strip unsubscribed groups from .newsrc" +msgstr "Kas te soovite eemaldada tellimata grupid .newsrc failist" + +#: src/lang.c:2681 +msgid "No unsubscribed groups in newsrc" +msgstr "newsrcs ainult tellitud grupid" + +#: src/lang.c:2682 +msgid "# If ON strip unsubscribed groups from newsrc\n" +msgstr "# Kui väärtus on ON, eemalda tellimata grupid newsrc failist\n" + +#: src/lang.c:2687 +msgid "Remove bogus groups from newsrc" +msgstr "Eemalda olematud grupid" + +#: src/lang.c:2688 +msgid "# What to do with bogus groups in newsrc file\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = keep\n" + "# 1 = remove\n" + "# 2 = highlight with D on selection screen\n" +msgstr "# Mida teha olematute gruppidega newsrc failis\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# * 0 = Hoia alles\n" + "# 1 = Eemalda\n" + "# 2 = Märgi valikuekraanil lipuga D\n" + +#: src/lang.c:2696 +msgid "Enter number of seconds until active file will be reread. sets." +msgstr "Sisestage aktiivsete faili lugemise intervall sekundites. seab." + +#: src/lang.c:2697 +msgid "Interval in secs to reread active" +msgstr "Aktiivsete faili lugemise intervall" + +#: src/lang.c:2698 +msgid "# Time interval in seconds between rereading the active file (0=never)\n" +msgstr "# Aktiivsete faili lugemise intervall (0 = ei loe)\n" + +#: src/lang.c:2703 +msgid "Reconnect to server automatically" +msgstr "Taasta automaatselt NNTP ühendus" + +#: src/lang.c:2704 +msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" +msgstr "# Kui väärtus on ON, ürita NNTP serveriga ühenduse katkemisel ühendust\n" + "# automaatselt taastada\n" + +#: src/lang.c:2708 +msgid "Create local copies of NNTP overview files. toggles & sets." +msgstr "Loo NNTP overview failidest lokaalne koopia. lülitab ja seab." + +#: src/lang.c:2709 +msgid "Cache NNTP overview files locally" +msgstr "Puhverda NNTP overview lokaalselt" + +#: src/lang.c:2710 +msgid "# If ON, create local copies of NNTP overview files.\n" +msgstr "# Kui väärtus on ON, loo NNTP overview failidest lokaalsed koopiad.\n" + +#: src/lang.c:2714 +msgid "Enter format string. sets, cancels." +msgstr "Sisestage vormingusõne. seab, katkestab." + +#: src/lang.c:2715 +msgid "Format string for display of dates" +msgstr "Kuupäevade esitamise vormingusõne" + +#: src/lang.c:2716 +msgid "# Format string for date representation\n" +msgstr "# Vormingusõne kuupäevade esitamiseks\n" + +#: src/lang.c:2722 +msgid "Unicode normalization form" +msgstr "Unikoodi normaliseerimise kuju" + +#: src/lang.c:2723 +msgid "# Unicode normalization form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" +msgstr "# Unikoodi normaliseerimine\n" + "# Võimalikud väärtused on (vaikeväärtuse tähis on *):\n" + "# 0 = Pole\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" + +#: src/lang.c:2735 +msgid "Render BiDi" +msgstr "Renderda BiDi" + +#: src/lang.c:2736 +msgid "# If ON, bi-directional text is rendered by tin\n" +msgstr "# Kui väärtus on ON, renderdab tin mitmesuunalist (BiDi) teksti\n" + +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "Automaatselt GroupMarkUnselArtRead" + +#: src/lang.c:2752 +msgid "Delete post-process files" +msgstr "Kustuta järel-töödeldud failid" + +#: src/lang.c:2757 +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "Failinimi mailitud artiklitele. seab. Nime puudumisel ei salvestata." + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "Saadetud e-mailide postkast" + +#: src/lang.c:2763 +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "Sea grup(p)i(de)le Followup-To: päis. seab, katkestab." + +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "Followup-To: päis" + +#: src/lang.c:2769 +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "Sisestage oma e-posti aadress (ja oma nimi). seab, katkestab." + +#: src/lang.c:2776 +msgid "Path and options for ispell-like spell-checker. sets, cancels." +msgstr "ispell või selle analoogi tee ja argumendid, seab, katkestab." + +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "Ispell programm" + +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "Kui grupp on postiloend, saada vastused sel aadressil." + +#: src/lang.c:2784 +msgid "Mailing list address" +msgstr "Postiloendi aadress" + +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "Saada artikkel manusena" + +#: src/lang.c:2795 +msgid "A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "Komaga eraldatud loend MIME põhi/alam sisu tüüpidest. katkestab." + +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "Millised MIME tüübid salvestatakse" + +#: src/lang.c:2801 +msgid "Value of the Organization: header. sets, cancels." +msgstr "Organization: päise väärtus. seab, katkestab." + +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "Organization: päis" + +#: src/lang.c:2807 +msgid "Filename for saved articles. sets, cancels." +msgstr "Salvestatud artiklite fail. seab, katkestab." + +#: src/lang.c:2808 +msgid "savefile" +msgstr "fail salvestamiseks" + +#: src/lang.c:2813 src/lang.c:2837 +#, fuzzy +msgid "Scope for the filter rule. sets, cancels." +msgstr "Sisestage vormingusõne. seab, katkestab." + +#: src/lang.c:2814 +#, fuzzy +msgid "Quick (1 key) select filter scope" +msgstr "Lisan kiirvaliku filtri?" + +#: src/lang.c:2819 src/lang.c:2843 +#, fuzzy +msgid "Header for filter rule. sets, cancels." +msgstr "Salvestatud artiklite fail. seab, katkestab." + +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" + +#: src/lang.c:2825 src/lang.c:2849 +#, fuzzy +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "Organization: päise väärtus. seab, katkestab." + +#: src/lang.c:2826 +#, fuzzy +msgid "Quick (1 key) select filter case" +msgstr "Lisan kiirvaliku filtri?" + +#: src/lang.c:2831 src/lang.c:2855 +#, fuzzy +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "Lisa postitamisel see päis. seab, katkestab." + +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" + +#: src/lang.c:2838 +#, fuzzy +msgid "Quick (1 key) kill filter scope" +msgstr "Lisan kiirsurmamise filtri?" + +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" + +#: src/lang.c:2850 +#, fuzzy +msgid "Quick (1 key) kill filter case" +msgstr "Lisan kiirsurmamise filtri?" + +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" + +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "Kui kooditabelit pole määratud, kasuta seda kooditabelit, seab." + +#: src/lang.c:2863 +msgid "UNDECLARED_CHARSET" +msgstr "UNDECLARED_CHARSET" + +#: src/lang.c:2869 +msgid "Add this text at the start of the message body. sets, cancels." +msgstr "Lisa see tekst teate keha algusse. seab, katkestab." + +#: src/lang.c:2870 +msgid "X_Body" +msgstr "X_Body" + +#: src/lang.c:2875 +msgid "Insert this header when posting. sets, cancels." +msgstr "Lisa postitamisel see päis. seab, katkestab." + +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "X_Headers" + +#: src/lang.c:2881 +msgid "Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "Lisa automaatselt X-Comment-To: päis? lülitab, seab." + +#: src/lang.c:2882 +msgid "Insert 'X-Comment-To:' header" +msgstr "Sisestage 'X-Comment-To:' päis" + +#: src/misc.c:3754 +#, c-format +msgid "Version: %s %s release %s (\"%s\") %s %s\n" +msgstr "Versioon: %s %s väljalase %s (\"%s\") %s %s\n" + +#: src/misc.c:3757 +#, c-format +msgid "Version: %s %s release %s (\"%s\")\n" +msgstr "Versioon: %s %s väljalase %s (\"%s\")\n" + +#: src/newsrc.c:453 +msgid "Unreachable?\n" +msgstr "Kättesaamatu?\n" + +#: src/nntplib.c:819 +#, c-format +msgid "\n" + "Server timed out, trying reconnect # %d\n" +msgstr "\n" + "Ühendus serveriga aegus, proovin taastada, katse %d\n" + +#: src/nntplib.c:855 src/nntplib.c:1830 +msgid "Rejoin current group\n" +msgstr "Taasühinen jooksva grupiga\n" + +#: src/nntplib.c:863 src/nntplib.c:1838 +#, c-format +msgid "Read (%s)\n" +msgstr "Lugesin (%s)\n" + +#: src/nntplib.c:865 +#, c-format +msgid "Resend last command (%s)\n" +msgstr "Saada viimane käsk uuesti (%s)\n" + +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "CAPABILITIES ei sisalda READER" + +#: src/nntplib.c:1979 +msgid "MOTD: " +msgstr "MOTD: " + +#: src/nrctbl.c:175 +#, c-format +msgid "couldn't expand %s\n" +msgstr "ei saa laiendada %s\n" + +#: src/post.c:1307 +#, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is neither set to %s nor to %s\n" +msgstr "Rida %d on pikem, kui 998 sümbolit ja tuleks poolitada, aga kodeering\n" + "pole ei %s ega %s\n" + +#: src/post.c:1312 +#, fuzzy, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" + "posting doesn't contain any 8bit chars and thus folding won't happen\n" +msgstr "Rida %d on pikem, kui 998 sümbolit ja tuleks poolitada, aga kodeering\n" + "on %s ja MIME_BREAK_LONG_LINES pole seatud või postitamine ei sisalda\n" + "8 bitiseid sümboleid ja seetõttu poolitamist ei toimu\n" + +#: src/post.c:1314 +#, fuzzy, c-format +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is not set to %s\n" +msgstr "Rida %d on pikem, kui 998 sümbolit ja tuleks poolitada, aga kodeering\n" + "pole %s\n" -#: src/post.c:1993 +#: src/post.c:2278 #, c-format -msgid "Posting: %.*s ..." -msgstr "Postitan: %.*s ..." +msgid "Posting: %.*s ..." +msgstr "Postitan: %.*s ..." #. Check if okay to read -#: src/read.c:211 -msgid "Aborting read, please wait..." -msgstr "Katkestan lugemise, palun oodake..." - -#: src/read.c:358 -msgid "Aborted read\n" -msgstr "Katkestatud lugemine\n" - -#: src/read.c:414 -msgid "Draining\n" -msgstr "Tühjendan\n" - -#. Don't hash the initial '<' -#: src/refs.c:251 -msgid "unchanged" -msgstr "muutmata" - -#: src/refs.c:609 -msgid "[- Unavailable -]" -msgstr "[- Pole kasutatav -]" +#: src/read.c:197 +msgid "Aborting read, please wait..." +msgstr "Katkestan lugemise, palun oodake..." + +#: src/read.c:344 +msgid "Aborted read\n" +msgstr "Katkestatud lugemine\n" + +#: src/read.c:399 +msgid "Draining\n" +msgstr "Tühjendan\n" + +#: src/refs.c:232 +msgid "unchanged" +msgstr "muutmata" + +#: src/refs.c:599 +msgid "[- Unavailable -]" +msgstr "[- Pole kasutatav -]" #. #. * preamble #. * TODO: -> lang.c #. -#: src/rfc2047.c:1201 +#: src/rfc2047.c:1287 #, c-format -msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" - "are reading this prefix, your mail reader probably has not yet been modified\n" - "to understand the new format, and some of what follows may look strange.\n" - "\n" -msgstr "See teade on koostatud kasutades 'multipart/mixed' MIME vormingut. Kui\n" - "te loete seda prefiksit, siis pole teie mailiprogrammi seadistatud seda\n" - "vormingut kasutama ja järgnev tekst võib olla kummaline.\n" - "\n" - -#: src/save.c:972 -msgid "bytes" -msgstr "baiti" - -#: src/select.c:379 -msgid "unread" -msgstr "lugemata" - -#: src/select.c:379 -msgid "all" -msgstr "kõik" - -#: src/select.c:549 src/select.c:551 -msgid " R" -msgstr " L" - -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 -#, c-format -msgid "Can't run slrnface: Environment variable %s not found." -msgstr "Slrnface ei saa käivitada: Keskkonnamuutuja %s puudub." - -#: src/xface.c:99 src/xface.c:131 -#, c-format -msgid "Can't run slrnface: failed to create %s" -msgstr "Slrnface ei saa käivitada: %s loomine ebaõnnestus" - -#: src/xface.c:109 -msgid "This directory is used to create named pipes for communication between\n" - "slrnface and its parent process. It should normally be empty because\n" - "the pipe is deleted right after it has been opened by both processes.\n" - "\n" - "File names generated by slrnface have the form \"hostname.pid\". It is\n" - "probably an error if they linger here longer than a fraction of a second.\n" - "\n" - "However, if the directory is mounted from an NFS server, you might see\n" - "special files created by your NFS server while slrnface is running.\n" - "Do not try to remove them.\n" -msgstr "Seda kataloogi kasutatakse slrnface ja tema vanemprotsessi vahelise\n" - "suhtlemise korraldamiseks nimega torude abil. Tavaliselt peaks see olema\n" - "tühi, kuna toru kustutatakse kohe, kui see on mõlemas protsessis avatud.\n" - "\n" - "slrnface poolt loodud failinimed on kujul \"hostinimi.pid\". Kui need\n" - "failid on jäänud alles kauemaks kui sekundi osa, viitab see tavaliselt\n" - "veale.\n" - "\n" - "Kui see kataloog on haagitud NFS serverilt, võib slrnface töö ajal\n" - "siiski näha ka vastavaid faile. Kui see on nii, ärge neid kustutage.\n" - -#: src/xface.c:123 -msgid "Can't run slrnface: couldn't construct fifo name." -msgstr "Slrnface ei saa käivitada: ei õnnestu konstrueerida fifo nime." - -#: src/xface.c:162 +msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" + "are reading this prefix, your mail reader probably has not yet been modified\n" + "to understand the new format, and some of what follows may look strange.\n" + "\n" +msgstr "See teade on koostatud kasutades 'multipart/mixed' MIME vormingut. Kui\n" + "te loete seda prefiksit, siis pole teie mailiprogrammi seadistatud seda\n" + "vormingut kasutama ja järgnev tekst võib olla kummaline.\n" + "\n" + +#: src/save.c:1045 +msgid "bytes" +msgstr "baiti" + +#: src/select.c:378 +msgid "unread" +msgstr "lugemata" + +#: src/select.c:378 +msgid "all" +msgstr "kõik" + +#: src/select.c:554 src/select.c:556 +msgid " R" +msgstr " L" + +#: src/xface.c:70 +msgid "Can't run slrnface: Not running in a xterm." +msgstr "Slrnface ei saa käivitada: Ei tööta xterm terminalis." + +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 +#, c-format +msgid "Can't run slrnface: Environment variable %s not found." +msgstr "Slrnface ei saa käivitada: Keskkonnamuutuja %s puudub." + +#: src/xface.c:111 src/xface.c:143 +#, c-format +msgid "Can't run slrnface: failed to create %s" +msgstr "Slrnface ei saa käivitada: %s loomine ebaõnnestus" + +#: src/xface.c:121 +msgid "This directory is used to create named pipes for communication between\n" + "slrnface and its parent process. It should normally be empty because\n" + "the pipe is deleted right after it has been opened by both processes.\n" + "\n" + "File names generated by slrnface have the form \"hostname.pid\". It is\n" + "probably an error if they linger here longer than a fraction of a second.\n" + "\n" + "However, if the directory is mounted from an NFS server, you might see\n" + "special files created by your NFS server while slrnface is running.\n" + "Do not try to remove them.\n" +msgstr "Seda kataloogi kasutatakse slrnface ja tema vanemprotsessi vahelise\n" + "suhtlemise korraldamiseks nimega torude abil. Tavaliselt peaks see olema\n" + "tühi, kuna toru kustutatakse kohe, kui see on mõlemas protsessis avatud.\n" + "\n" + "slrnface poolt loodud failinimed on kujul \"hostinimi.pid\". Kui need\n" + "failid on jäänud alles kauemaks kui sekundi osa, viitab see tavaliselt\n" + "veale.\n" + "\n" + "Kui see kataloog on haagitud NFS serverilt, võib slrnface töö ajal\n" + "siiski näha ka vastavaid faile. Kui see on nii, ärge neid kustutage.\n" + +#: src/xface.c:135 +msgid "Can't run slrnface: couldn't construct fifo name." +msgstr "Slrnface ei saa käivitada: ei õnnestu konstrueerida fifo nime." + +#: src/xface.c:174 #, c-format -msgid "Slrnface abnormally exited, code %d." -msgstr "Slrnface lõpetas veaga, kood %d." +msgid "Slrnface abnormally exited, code %d." +msgstr "Slrnface lõpetas veaga, kood %d." -#: src/xface.c:206 +#: src/xface.c:218 #, c-format -msgid "Slrnface failed: %s." -msgstr "Slrnface ebaõnnestus: %s." +msgid "Slrnface failed: %s." +msgstr "Slrnface ebaõnnestus: %s." Binary files tin-1.8.3/po/fr.gmo and tin-2.0.0/po/fr.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/fr.po tin-2.0.0/po/fr.po --- tin-1.8.3/po/fr.po 2007-02-01 13:58:04.000000000 +0100 +++ tin-2.0.0/po/fr.po 2011-08-22 18:32:42.127384867 +0200 @@ -1,6626 +1,7671 @@ -# French translation for tin -# Matt Anton , 2003-2004 +# French translation for tin. +# This file is distributed under the same license as the tin package. +# Matt Anton , 2003-2011. # -msgid "" -msgstr "Project-Id-Version: 1.8.0\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-02-01 13:57+0100\n" - "PO-Revision-Date: 2004-11-17 00:50+0100\n" - "Last-Translator: Matt Anton \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=ISO-8859-15\n" - "Content-Transfer-Encoding: 8bit\n" +msgid "" +msgstr "Project-Id-Version: tin-1.9.6\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2011-08-22 18:32+0200\n" + "PO-Revision-Date: 2011-01-22 14:11+0100\n" + "Last-Translator: Matt Anton \n" + "Language-Team: French \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=ISO-8859-15\n" + "Content-Transfer-Encoding: 8bit\n" + "Language: fr\n" -#: src/art.c:1534 +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 #, c-format -msgid "%d Bad overview record (%d fields) '%s'" -msgstr "%d Mauvais overview (%d champs) '%s'" +msgid "attribute with no scope: %s" +msgstr "attribut sans sélection : %s" -#: src/attrib.c:649 +#: src/attrib.c:884 +msgid "Processing attributes... " +msgstr "Traitement du fichier attributes..." + +#: src/attrib.c:1102 #, c-format -msgid "# Do not edit this comment block\n" - "#\n" -msgstr "# Ne pas éditer ce commentaire\n" - "#\n" +msgid "# Do not edit this comment block\n" + "#\n" +msgstr "# Ne pas éditer ce commentaire\n" + "#\n" -#: src/attrib.c:650 +#: src/attrib.c:1103 #, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" -msgstr "# scope=TERME (pe. alt.*,!alt.bin*) [obligatoire]\n" +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" +msgstr "# scope=TERME (pe. alt.*,!alt.bin*) [obligatoire]\n" -#: src/attrib.c:651 +#: src/attrib.c:1104 #, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" -msgstr "# maildir=TERME (pe. ~/Mail)\n" +msgid "# add_posted_to_filter=ON/OFF\n" +msgstr "# add_posted_to_filter=ON/OFF\n" -#: src/attrib.c:652 +#: src/attrib.c:1105 #, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" -msgstr "# savedir=TERME (pe. ~user/News)\n" +msgid "# advertising=ON/OFF\n" +msgstr "# advertising=ON/OFF\n" -#: src/attrib.c:653 +#: src/attrib.c:1106 #, c-format -msgid "# savefile=STRING (ie. =linux)\n" -msgstr "# savefile=TERME (pe. =linux)\n" +msgid "# alternative_handling=ON/OFF\n" +msgstr "# alternative_handling=ON/OFF\n" -#: src/attrib.c:654 +#: src/attrib.c:1107 #, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" -msgstr "# sigfile=TERME (pe. $var/sig)\n" +msgid "# ask_for_metamail=ON/OFF\n" +msgstr "# ask_for_metamail=ON/OFF\n" -#: src/attrib.c:655 +#: src/attrib.c:1108 #, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" -msgstr "# organization=TERME (si commence par '/' lire dans fichier)\n" +msgid "# auto_cc_bcc=NUM\n" +msgstr "# auto_cc_bcc=NUM\n" -#: src/attrib.c:656 +#: src/attrib.c:1109 #, c-format -msgid "# followup_to=STRING\n" -msgstr "# followup_to=TERME\n" +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "# 0=Non, 1=Cc, 2=Cci, 3=Cc et Cci\n" -#: src/attrib.c:657 +#: src/attrib.c:1110 #, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" -msgstr "# mailing_list=TERME (pe. majordomo@example.org)\n" +msgid "# auto_list_thread=ON/OFF\n" +msgstr "# auto_list_thread=ON/OFF\n" -#: src/attrib.c:658 +#: src/attrib.c:1111 #, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" -msgstr "# x_headers=TERME (pe. ~/.tin/extra-headers)\n" +msgid "# auto_save=ON/OFF\n" +msgstr "# auto_save=ON/OFF\n" -#: src/attrib.c:659 +#: src/attrib.c:1112 #, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" -msgstr "# x_body=TERME (pe. ~/.tin/extra-body-text)\n" +msgid "# auto_select=ON/OFF\n" +msgstr "# auto_select=ON/OFF\n" -#: src/attrib.c:660 +#: src/attrib.c:1113 #, c-format -msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" -msgstr "# from=TERME (choix du 'From:', ne pas utiliser celui cité)\n" +msgid "# batch_save=ON/OFF\n" +msgstr "# batch_save=ON/OFF\n" -#: src/attrib.c:661 +#: src/attrib.c:1114 #, c-format -msgid "# news_quote_format=STRING\n" -msgstr "# news_quote_format=TERME\n" +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "# date_format=TERME (pe. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" -#: src/attrib.c:662 +#: src/attrib.c:1115 #, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" -msgstr "# quote_chars=TERME (%%s, %%S pour les initiales)\n" +msgid "# delete_tmp_files=ON/OFF\n" +msgstr "# delete_tmp_files=ON/OFF\n" -#: src/attrib.c:663 +#: src/attrib.c:1116 #, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" -msgstr "# mime_types_to_save=TERME (pe. image/*,!image/bmp)\n" +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" +msgstr "# editor_format=TERME (pe. %%E +%%N %%F)\n" -#: src/attrib.c:665 +#: src/attrib.c:1117 #, c-format -msgid "# ispell=STRING\n" -msgstr "# ispell=TERME\n" +msgid "# fcc=STRING (eg. =mailbox)\n" +msgstr "# fcc=TERME (pe. =mailbox)\n" -#: src/attrib.c:667 +#: src/attrib.c:1118 #, c-format -msgid "# auto_select=ON/OFF\n" -msgstr "# auto_select=ON/OFF\n" +msgid "# followup_to=STRING\n" +msgstr "# followup_to=TERME\n" -#: src/attrib.c:668 +#: src/attrib.c:1119 #, c-format -msgid "# auto_save=ON/OFF\n" -msgstr "# auto_save=ON/OFF\n" +msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" +msgstr "# from=TERME (choix du 'From:', ne pas utiliser celui cité)\n" -#: src/attrib.c:669 +#: src/attrib.c:1120 #, c-format -msgid "# batch_save=ON/OFF\n" -msgstr "# batch_save=ON/OFF\n" +msgid "# group_catchup_on_exit=ON/OFF\n" +msgstr "# group_catchup_on_exit=ON/OFF\n" -#: src/attrib.c:670 +#: src/attrib.c:1121 #, c-format -msgid "# delete_tmp_files=ON/OFF\n" -msgstr "# delete_tmp_files=ON/OFF\n" +msgid "# mail_8bit_header=ON/OFF\n" +msgstr "# mail_8bit_header=ON/OFF\n" -#: src/attrib.c:671 +#: src/attrib.c:1122 #, c-format -msgid "# show_only_unread=ON/OFF\n" -msgstr "# show_only_unread=ON/OFF\n" +msgid "# mail_mime_encoding=supported_encoding" +msgstr "# mail_mime_encoding=encodage_supporté" -#: src/attrib.c:672 +#: src/attrib.c:1130 #, c-format -msgid "# thread_arts=NUM" -msgstr "# thread_arts=NUM" +msgid "# ispell=STRING\n" +msgstr "# ispell=TERME\n" -#: src/attrib.c:679 +#: src/attrib.c:1132 #, c-format -msgid "# thread_perc=NUM\n" -msgstr "# thread_perc=NUM\n" +msgid "# maildir=STRING (eg. ~/Mail)\n" +msgstr "# maildir=TERME (pe. ~/Mail)\n" -#: src/attrib.c:680 +#: src/attrib.c:1133 #, c-format -msgid "# show_author=NUM\n" -msgstr "# show_author=NUM\n" +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" +msgstr "# mailing_list=TERME (pe. majordomo@example.org)\n" -#: src/attrib.c:686 +#: src/attrib.c:1134 #, c-format -msgid "# show_info=NUM\n" -msgstr "# show_info=NUM\n" +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgstr "# mime_types_to_save=TERME (pe. image/*,!image/bmp)\n" -#: src/attrib.c:692 +#: src/attrib.c:1135 #, c-format -msgid "# sort_art_type=NUM\n" -msgstr "# sort_art_type=NUM\n" +msgid "# mark_ignore_tags=ON/OFF\n" +msgstr "# mark_ignore_tags=ON/OFF\n" -#: src/attrib.c:710 +#: src/attrib.c:1136 #, c-format -msgid "# sort_threads_type=NUM\n" -msgstr "# sort_threads_type=NUM\n" +msgid "# mark_saved_read=ON/OFF\n" +msgstr "# mark_saved_read=ON/OFF\n" -#: src/attrib.c:715 +#: src/attrib.c:1137 #, c-format -msgid "# post_proc_type=NUM\n" -msgstr "# post_proc_type=NUM\n" +msgid "# mime_forward=ON/OFF\n" +msgstr "# mime_forward=ON/OFF\n" -#: src/attrib.c:720 +#: src/attrib.c:1139 #, c-format -msgid "# quick_kill_scope=STRING (ie. talk.*)\n" -msgstr "# quick_kill_scope=TERME (pe. talk.*)\n" +msgid "# mm_network_charset=supported_charset" +msgstr "# mm_network_charset=encodage_supporté" -#: src/attrib.c:721 +#: src/attrib.c:1146 #, c-format -msgid "# quick_kill_expire=ON/OFF\n" -msgstr "# quick_kill_expire=ON/OFF\n" +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgstr "# undeclared_charset=TERME (défaut est US-ASCII)\n" -#: src/attrib.c:722 +#: src/attrib.c:1148 #, c-format -msgid "# quick_kill_case=ON/OFF\n" -msgstr "# quick_kill_case=ON/OFF\n" +msgid "# news_headers_to_display=STRING\n" +msgstr "# news_headers_to_display=TERME\n" -#: src/attrib.c:723 +#: src/attrib.c:1149 #, c-format -msgid "# quick_kill_header=NUM\n" -msgstr "# quick_kill_header=NUM\n" +msgid "# news_headers_to_not_display=STRING\n" +msgstr "# news_headers_to_not_display=TERME\n" -#: src/attrib.c:724 src/attrib.c:731 +#: src/attrib.c:1150 #, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" -msgstr "# 0=subject (casse sensible) 1=subject (ignore la casse)\n" +msgid "# news_quote_format=STRING\n" +msgstr "# news_quote_format=TERME\n" -#: src/attrib.c:725 src/attrib.c:732 +#: src/attrib.c:1151 #, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" -msgstr "# 2=from (casse sensible) 3=from (ignore la casse)\n" +msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgstr "# organization=TERME (si commence par '/' lire dans fichier)\n" -#: src/attrib.c:726 src/attrib.c:733 +#: src/attrib.c:1152 #, c-format -msgid "# 4=msgid 5=lines\n" -msgstr "# 4=msgid 5=lines\n" +msgid "# pos_first_unread=ON/OFF\n" +msgstr "# pos_first_unread=ON/OFF\n" -#: src/attrib.c:727 +#: src/attrib.c:1153 #, c-format -msgid "# quick_select_scope=STRING\n" -msgstr "# quick_select_scope=TERME\n" +msgid "# post_8bit_header=ON/OFF\n" +msgstr "# post_8bit_header=ON/OFF\n" -#: src/attrib.c:728 +#: src/attrib.c:1154 #, c-format -msgid "# quick_select_expire=ON/OFF\n" -msgstr "# quick_select_expire=ON/OFF\n" +msgid "# post_mime_encoding=supported_encoding" +msgstr "# post_mime_encoding=encodage_supporté" -#: src/attrib.c:729 +#: src/attrib.c:1161 #, c-format -msgid "# quick_select_case=ON/OFF\n" -msgstr "# quick_select_case=ON/OFF\n" +msgid "# post_process_type=NUM\n" +msgstr "# post_process_type=NUM\n" -#: src/attrib.c:730 +#: src/attrib.c:1166 #, c-format -msgid "# quick_select_header=NUM\n" -msgstr "# quick_select_header=NUM\n" +msgid "# post_process_view=ON/OFF\n" +msgstr "# post_process_view=ON/OFF\n" -#: src/attrib.c:734 +#: src/attrib.c:1167 #, c-format -msgid "# x_comment_to=ON/OFF\n" -msgstr "# x_comment_to=ON/OFF\n" +msgid "# quick_kill_scope=STRING (ie. talk.*)\n" +msgstr "# quick_kill_scope=TERME (pe. talk.*)\n" -#: src/attrib.c:735 +#: src/attrib.c:1168 #, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" -msgstr "# fcc=TERME (pe. =mailbox)\n" +msgid "# quick_kill_expire=ON/OFF\n" +msgstr "# quick_kill_expire=ON/OFF\n" -#: src/attrib.c:736 +#: src/attrib.c:1169 #, c-format -msgid "# tex2iso_conv=ON/OFF\n" -msgstr "# tex2iso_conv=ON/OFF\n" +msgid "# quick_kill_case=ON/OFF\n" +msgstr "# quick_kill_case=ON/OFF\n" -#: src/attrib.c:737 +#: src/attrib.c:1170 #, c-format -msgid "# mime_forward=ON/OFF\n" -msgstr "# mime_forward=ON/OFF\n" +msgid "# quick_kill_header=NUM\n" +msgstr "# quick_kill_header=NUM\n" -#: src/attrib.c:739 +#: src/attrib.c:1171 src/attrib.c:1180 #, c-format -msgid "# mm_network_charset=supported_charset" -msgstr "# mm_network_charset=encodage_supporté" +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "# 0=Subject: (casse sensible) 1=Subject: (ignore la casse)\n" -#: src/attrib.c:746 +#: src/attrib.c:1172 src/attrib.c:1181 #, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" -msgstr "# undeclared_charset=TERME (défaut est US-ASCII)\n" +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "# 2=From: (casse sensible) 3=From: (ignore la casse)\n" -#: src/attrib.c:748 +#: src/attrib.c:1173 src/attrib.c:1182 #, c-format -msgid "#\n" - "# Note that it is best to put general (global scoping)\n" -msgstr "#\n" - "# Notez que placer les entrées générales (portée globale) en premier\n" +msgid "# 4=Message-ID: & full References: line\n" +msgstr "# 4=Message-ID: & \"References:\" complètes : ligne\n" -#: src/attrib.c:749 +#: src/attrib.c:1174 src/attrib.c:1183 #, c-format -msgid "# entries first followed by group specific entries.\n" - "#\n" -msgstr "# est préférable, suivies des entrées spécifiques aux groupes.\n" - "#\n" +msgid "# 5=Message-ID: & last References: entry only\n" +msgstr "# 5=Message-ID: & dernières References: entrée uniquement\n" -#: src/attrib.c:750 +#: src/attrib.c:1175 src/attrib.c:1184 #, c-format -msgid "############################################################################\n" - "\n" -msgstr "############################################################################\n" - "\n" +msgid "# 6=Message-ID: entry only 7=Lines:\n" +msgstr "# 6=Message-ID: entrée uniquement 7=Lignes:\n" -#: src/attrib.c:756 +#: src/attrib.c:1176 #, c-format -msgid "# include extra headers\n" -msgstr "# inclure des en-têtes supplémentaires\n" +msgid "# quick_select_scope=STRING\n" +msgstr "# quick_select_scope=TERME\n" -#: src/attrib.c:764 +#: src/attrib.c:1177 #, c-format -msgid "# in *sources* set post process type to shar only\n" -msgstr "# dans *sources* choisir le type shar en post-traitement\n" +msgid "# quick_select_expire=ON/OFF\n" +msgstr "# quick_select_expire=ON/OFF\n" -# TRANSLATION OUTDATED -#: src/attrib.c:768 -#, fuzzy, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" -msgstr "# dans *binaries* faire traitement complet,\n" +#: src/attrib.c:1178 +#, c-format +msgid "# quick_select_case=ON/OFF\n" +msgstr "# quick_select_case=ON/OFF\n" -#: src/attrib.c:769 +#: src/attrib.c:1179 #, c-format -msgid "# remove tmp files and set Followup-To: poster\n" -msgstr "# effaçant les fichiers temporaires et utiliser Followup-To: poster\n" +msgid "# quick_select_header=NUM\n" +msgstr "# quick_select_header=NUM\n" -#: src/cook.c:499 -msgid "(unknown)" -msgstr "(inconnu)" +#: src/attrib.c:1185 +#, c-format +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgstr "# quote_chars=TERME (%%s, %%S pour les initiales)\n" -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -msgid "Removed from the previous rule: " -msgstr "Effacé de la règle précédente : " - -# TRANSLATION MISSING -#: src/keymap.c:271 -msgid "NULL" -msgstr "" +#: src/attrib.c:1187 +#, c-format +msgid "# print_header=ON/OFF\n" +msgstr "# print_header=ON/OFF\n" + +#: src/attrib.c:1189 +#, c-format +msgid "# process_only_unread=ON/OFF\n" +msgstr "# process_only_unread=ON/OFF\n" + +#: src/attrib.c:1190 +#, c-format +msgid "# prompt_followupto=ON/OFF\n" +msgstr "# prompt_followupto=ON/OFF\n" + +#: src/attrib.c:1191 +#, c-format +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "# savedir=TERME (pe. ~user/News)\n" + +#: src/attrib.c:1192 +#, c-format +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "# savefile=TERME (pe. =linux)\n" + +#: src/attrib.c:1193 +#, c-format +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "# sigfile=TERME (pe. $var/sig)\n" + +#: src/attrib.c:1194 +#, c-format +msgid "# show_author=NUM\n" +msgstr "# show_author=NUM\n" + +#: src/attrib.c:1200 +#, c-format +msgid "# show_info=NUM\n" +msgstr "# show_info=NUM\n" + +#: src/attrib.c:1206 +#, c-format +msgid "# show_signatures=ON/OFF\n" +msgstr "# show_signatures=ON/OFF\n" + +#: src/attrib.c:1207 +#, c-format +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "# show_only_unread=ON/OFF\n" + +#: src/attrib.c:1208 +#, c-format +msgid "# sigdashes=ON/OFF\n" +msgstr "# sigdashes=ON/OFF\n" + +#: src/attrib.c:1209 +#, c-format +msgid "# signature_repost=ON/OFF\n" +msgstr "# signature_repost=ON/OFF\n" + +#: src/attrib.c:1210 +#, c-format +msgid "# sort_article_type=NUM\n" +msgstr "# sort_art_type=NUM\n" + +#: src/attrib.c:1228 +#, c-format +msgid "# sort_threads_type=NUM\n" +msgstr "# sort_threads_type=NUM\n" + +#: src/attrib.c:1237 +#, c-format +msgid "# start_editor_offset=ON/OFF\n" +msgstr "# start_editor_offset=ON/OFF\n" + +#: src/attrib.c:1238 +#, c-format +msgid "# tex2iso_conv=ON/OFF\n" +msgstr "# tex2iso_conv=ON/OFF\n" + +#: src/attrib.c:1239 +#, c-format +msgid "# thread_catchup_on_exit=ON/OFF\n" +msgstr "# batch_save=ON/OFF\n" + +#: src/attrib.c:1240 +#, c-format +msgid "# thread_articles=NUM" +msgstr "# thread_arts=NUM" + +#: src/attrib.c:1247 +#, c-format +msgid "# thread_perc=NUM\n" +msgstr "# thread_perc=NUM\n" + +#: src/attrib.c:1248 +#, c-format +msgid "# trim_article_body=NUM\n" +msgstr "# trim_article_body=NUM\n" + +#: src/attrib.c:1249 +#, c-format +msgid "# 0 = Don't trim article body\n" +msgstr "# 0 = Ne pas nettoyer le corps de l'article\n" + +#: src/attrib.c:1250 +#, c-format +msgid "# 1 = Skip leading blank lines\n" +msgstr "# 1 = Effacer les lignes vides du début\n" + +#: src/attrib.c:1251 +#, c-format +msgid "# 2 = Skip trailing blank lines\n" +msgstr "# 2 = Effacer les lignes vides de la fin\n" + +#: src/attrib.c:1252 +#, c-format +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "# 3 = Effacer les lignes vides du début et de la fin\n" + +#: src/attrib.c:1253 +#, c-format +msgid "# 4 = Compact multiple blank lines between text blocks\n" +msgstr "# 4 = Regrouper plusieurs lignes vides entre les paragraphes\n" + +#: src/attrib.c:1254 +#, c-format +msgid "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" +msgstr "# 5 = Regrouper plusieurs lignes vides entre les paragraphes et\n" + "# effacer les lignes vides du début\n" + +#: src/attrib.c:1255 +#, c-format +msgid "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" +msgstr "# 6 = Regrouper plusieurs lignes vides entre les paragraphes et\n" + "# effacer les lignes vides de la fin\n" + +#: src/attrib.c:1256 +#, c-format +msgid "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "# 7 = Regrouper plusieurs lignes vides entre les paragraphes et\n" + "# effacer les lignes vides du début et de la fin\n" + +#: src/attrib.c:1257 +#, c-format +msgid "# verbatim_handling=ON/OFF\n" +msgstr "# verbatim_handling=ON/OFF\n" + +#: src/attrib.c:1258 +#, c-format +msgid "# wrap_on_next_unread=ON/OFF\n" +msgstr "# wrap_on_next_unread=ON/OFF\n" + +#: src/attrib.c:1259 +#, c-format +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" +msgstr "# x_body=TERME (pe. ~/.tin/extra-body-text)\n" + +#: src/attrib.c:1260 +#, c-format +msgid "# x_comment_to=ON/OFF\n" +msgstr "# x_comment_to=ON/OFF\n" + +#: src/attrib.c:1261 +#, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" +msgstr "# x_headers=TERME (pe. ~/.tin/extra-headers)\n" + +#: src/attrib.c:1262 +#, c-format +msgid "#\n" + "# Note that it is best to put general (global scoping)\n" +msgstr "#\n" + "# Notez que placer les entrées générales (portée globale) en premier\n" + +#: src/attrib.c:1263 +#, c-format +msgid "# entries first followed by group specific entries.\n" + "#\n" +msgstr "# est préférable, suivies des entrées spécifiques aux groupes.\n" + "#\n" + +#: src/attrib.c:1264 +#, c-format +msgid "############################################################################\n" +msgstr "############################################################################\n" + +#: src/cook.c:625 +msgid "(unknown)" +msgstr "(inconnu)" + +#: src/keymap.c:277 +msgid "NULL" +msgstr "NULL" #: src/lang.c:42 -msgid "1 Response" -msgstr "1 Réponse" +msgid "1 Response" +msgstr "1 Réponse" #: src/lang.c:46 #, c-format -msgid "\n" - "%s contains no newsgroups. Exiting." -msgstr "\n" - "%s ne contient pas de groupes. Fermeture." +msgid "\n" + "%s contains no newsgroups. Exiting." +msgstr "\n" + "%s ne contient pas de groupes. Fermeture." #: src/lang.c:47 -msgid "all " -msgstr "tout " +msgid "all " +msgstr "tout " #: src/lang.c:48 -msgid "All groups" -msgstr "Tous les groupes" +msgid "All groups" +msgstr "Tous les groupes" #: src/lang.c:49 #, c-format -msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " -msgstr "Fichier %s existe. %s=ajouter, %s=écraser, %s=quitter : " +msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " +msgstr "Fichier %s existe. %s=ajouter, %s=écraser, %s=quitter : " #: src/lang.c:50 -msgid "Article cancelled (deleted)." -msgstr "Article annulé (effacé)." - -#: src/lang.c:51 -msgid "Article cannot be cancelled (deleted)." -msgstr "Impossible d'annuler l'article (effacé)." +msgid "Article cancelled (deleted)." +msgstr "Article annulé (effacé)." #: src/lang.c:52 -msgid "Article deleted." -msgstr "Article effacé." - -#: src/lang.c:53 -#, c-format -msgid "\n" - "Your article:\n" - " \"%s\"\n" - "will be posted to the following %s:\n" -msgstr "\n" - "Votre article :\n" - " \"%s\"\n" - "sera posté dans le(s) %s suivant(s) :\n" +msgid "Article cannot be cancelled (deleted)." +msgstr "Impossible d'annuler l'article (effacé)." #: src/lang.c:54 -msgid "Article not posted!" -msgstr "Article non posté !" +msgid "Article deleted." +msgstr "Article effacé." #: src/lang.c:55 -msgid "Article not saved" -msgstr "Article non enregistré" +#, c-format +msgid "\n" + "Your article:\n" + " \"%s\"\n" + "will be posted to the following %s:\n" +msgstr "\n" + "Votre article :\n" + " \"%s\"\n" + "sera posté dans le(s) %s suivant(s) :\n" #: src/lang.c:56 -msgid "Article Level Commands" -msgstr "Commandes pour articles" +msgid "Article not posted!" +msgstr "Article non posté !" #: src/lang.c:57 -msgid "Article has no parent" -msgstr "Article orphelin" +msgid "Article not saved" +msgstr "Article non enregistré" #: src/lang.c:58 -msgid "Parent article has been killed" -msgstr "L'article parent a été filtré" +msgid "Article Level Commands" +msgstr "Commandes pour articles" #: src/lang.c:59 -msgid "Parent article is unavailable" -msgstr "L'article parent est indisponible" +msgid "Article has no parent" +msgstr "Article orphelin" #: src/lang.c:60 -#, c-format -msgid "Article posted: %s" -msgstr "Article posté : %s" +msgid "Parent article has been killed" +msgstr "L'article parent a été filtré" #: src/lang.c:61 -#, c-format -msgid "Article rejected (saved to %s)" -msgstr "Article rejeté (enregistré dans %s)" +msgid "Parent article is unavailable" +msgstr "L'article parent est indisponible" #: src/lang.c:62 #, c-format -msgid "%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " -msgstr "%s=article, %s=fil, %s=sélection, %s=chaîne, %s=art. marq., %s=quitter : " +msgid "Article posted: %s" +msgstr "Article posté : %s" #: src/lang.c:63 -msgid "Article unavailable" -msgstr "Article indisponible" +#, c-format +msgid "Article rejected (saved to %s)" +msgstr "Article rejeté (enregistré dans %s)" #: src/lang.c:64 -msgid "Article undeleted." -msgstr "Article non effacé." +#, c-format +msgid "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " +msgstr "%s=article, %s=fil, %s=champ, %s=sélection, %s=chaîne, %s=art. marq., %" + "s=quitter : " + +#: src/lang.c:65 +msgid "Article unavailable" +msgstr "Article indisponible" #: src/lang.c:66 -msgid "articles" -msgstr "articles" +msgid "Article undeleted." +msgstr "Article non effacé." #: src/lang.c:67 -msgid "This is a repost of the following article:" -msgstr "C'est un repostage de l'article suivant :" - -#: src/lang.c:68 -msgid "article" -msgstr "article" +#, c-format +msgid "Article %4d of %4d" +msgstr "Article %4d sur %4d" #: src/lang.c:69 -msgid "Article" -msgstr "Article" +msgid "articles" +msgstr "articles" #: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" -msgstr "-- %d %s envoyé --" +msgid "This is a repost of the following article:" +msgstr "C'est un repostage de l'article suivant :" #: src/lang.c:71 -#, c-format -msgid " at %s" -msgstr " à %s" +msgid "article" +msgstr "article" #: src/lang.c:72 -#, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" -msgstr "%*s[-- %s/%s, encodage en %s%s%s, %d lignes%s%s --]\n" +msgid "Article" +msgstr "Article" #: src/lang.c:73 -msgid ", charset: " -msgstr ", encodage : " +#, c-format +msgid "-- %d %s mailed --" +msgstr "-- %d %s envoyé --" #: src/lang.c:74 #, c-format -msgid "%*s[-- Description: %s --]\n" -msgstr "%*s[-- Description : %s --]\n" +msgid " at %s" +msgstr " à %s" #: src/lang.c:75 #, c-format -msgid "%d Authentication failed" -msgstr "%d Échec de l'authentification" +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgstr "%*s[-- %s/%s, encodage en %s%s%s, %d lignes%s%s --]\n" #: src/lang.c:76 -msgid "Server expects authentication.\n" -msgstr "Le serveur attend une authentification.\n" +msgid ", charset: " +msgstr ", encodage : " #: src/lang.c:77 -msgid " Please enter password: " -msgstr " Entrez votre mdp svp : " +#, c-format +msgid "%*s[-- charset %s not supported --]\n" +msgstr "%*s[-- l'encodage %s n'est pas supporté --]\n" #: src/lang.c:78 -msgid " Please enter username: " -msgstr " Entrez votre identifiant svp : " +#, c-format +msgid "%*s[-- Description: %s --]\n" +msgstr "%*s[-- Description : %s --]\n" #: src/lang.c:79 #, c-format -msgid "Author search backwards [%s]> " -msgstr "Recherche arrière sur l'auteur [%s] > " +msgid "%d lines" +msgstr "%d Lignes" #: src/lang.c:80 -#, c-format -msgid "Author search forwards [%s]> " -msgstr "Recherche avant sur l'auteur [%s] > " +msgid "Attachment Menu" +msgstr "Menu Pièce-jointe" #: src/lang.c:81 -#, c-format -msgid "Authorized for user: %s\n" -msgstr "Autorisé pour l'utilisateur : %s\n" +msgid "Attachment Menu Commands" +msgstr "Menu des pièces-jointes" #: src/lang.c:82 -#, c-format -msgid "Authorization failed for user: %s\n" -msgstr "Autorisation refusée pour l'utilisateur : %s\n" +msgid "" +msgstr "" #: src/lang.c:83 #, c-format -msgid "\n" - "Autosubscribed to %s" -msgstr "\n" - "Abonnement auto. à %s" +msgid "Attachment saved successfully. (%s)" +msgstr "Pièce-jointe enregistrée. (%s)" #: src/lang.c:84 -msgid "Autosubscribing groups...\n" -msgstr "Abonnement auto. aux groupes...\n" +#, c-format +msgid "%d of %d attachments saved successfully." +msgstr "%d sur %d pièces-jointes enregistrées." #: src/lang.c:85 -#, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." -msgstr "Sélection auto. des articles (voir les non lus par '%s')..." +msgid "Select attachment> " +msgstr "Sélectionner la pièce-jointe >" + +#: src/lang.c:86 +msgid "Tagged attachment" +msgstr "Pièce-jointe marquée" #: src/lang.c:87 #, c-format -msgid "Active file corrupt - %s" -msgstr "Fichier active corrompu - %s" +msgid "%d attachments tagged" +msgstr "%d pièce(s)-jointe(s) marquée(s)" #: src/lang.c:88 -#, c-format -msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " -msgstr "L'article à poster pose des problèmes. %s=quitter, %s=Menu, %s=éditer : " +msgid "Untagged attachment" +msgstr "pièce-jointe non marquée" #: src/lang.c:89 -#, c-format -msgid "Unrecognized attribute: %s" -msgstr "Attribut non reconnu : %s" +msgid "Attributes Menu Commands" +msgstr "Menu des attributs" -#: src/lang.c:90 +#: src/lang.c:91 #, c-format -msgid "Bad command. Type '%s' for help." -msgstr "Mauvaise commande. Tapez '%s' pour l'aide." +msgid "%d Authentication failed" +msgstr "%d Échec de l'authentification" #: src/lang.c:92 -msgid "Base article" -msgstr "Article initial" +#, c-format +msgid "NNTP authorization password not found for %s" +msgstr "Mot de passe NNTP introuvable pour %s" #: src/lang.c:93 -msgid "Base article range" -msgstr "Champ article initial" +msgid "Server expects authentication.\n" +msgstr "Le serveur attend une authentification.\n" #: src/lang.c:94 -#, c-format -msgid "%s: Updating of index files not supported\n" -msgstr "%s : Màj des fichiers index non supportée\n" +msgid " Please enter password: " +msgstr " Entrez votre mdp svp : " #: src/lang.c:95 -msgid "*** Beginning of article ***" -msgstr "*** Début de l'article ***" +msgid " Please enter username: " +msgstr " Entrez votre identifiant svp : " + +#: src/lang.c:96 +#, c-format +msgid "Authorized for user: %s\n" +msgstr "Autorisé pour l'utilisateur : %s\n" #: src/lang.c:97 #, c-format -msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " -msgstr "Annuler (effacer) ou remplacer (écraser) l'article [%%s]? (%s/%s/%s) : " +msgid "Authorization failed for user: %s\n" +msgstr "Autorisation refusée pour l'utilisateur : %s\n" -#: src/lang.c:98 -msgid "Cancelling article..." -msgstr "Annulation de l'article..." +#: src/lang.c:99 +#, c-format +msgid "Author search backwards [%s]> " +msgstr "Recherche arrière sur l'auteur [%s] > " #: src/lang.c:100 #, c-format -msgid "Cannot create %s" -msgstr "Création de %s impossible" +msgid "Author search forwards [%s]> " +msgstr "Recherche avant sur l'auteur [%s] > " #: src/lang.c:101 #, c-format -msgid "Can't find base article %d" -msgstr "Article initial %d introuvable" +msgid "\n" + "Autosubscribed to %s" +msgstr "\n" + "Abonnement auto. à %s" #: src/lang.c:102 -#, c-format -msgid "Can't open %s" -msgstr "Ouverture de %s impossible" +msgid "Autosubscribing groups...\n" +msgstr "Abonnement auto. aux groupes...\n" #: src/lang.c:103 #, c-format -msgid "Couldn't open %s for saving" -msgstr "Ouverture de %s pour enregistrement impossible" - -#: src/lang.c:104 -msgid "*** Posting not allowed ***" -msgstr "*** Postage non autorisé ***" +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "Sélection auto. des articles (voir les non lus par '%s')..." #: src/lang.c:105 #, c-format -msgid "Posting is not allowed to %s" -msgstr "Postage non autorisé dans %s" +msgid "Active file corrupt - %s" +msgstr "Fichier active corrompu - %s" #: src/lang.c:106 #, c-format -msgid "Can't retrieve %s" -msgstr "Récupération de %s impossible" +msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "L'article à poster pose des problèmes. %s=quitter, %s=Menu, %s=éditer : " #: src/lang.c:107 #, c-format -msgid "%s is a directory" -msgstr "%s est un répertoire" +msgid "Unrecognized attribute: %s" +msgstr "Attribut non reconnu : %s" #: src/lang.c:108 -msgid "Catchup" -msgstr "Marquer lu" - -#: src/lang.c:109 #, c-format -msgid "Catchup %s..." -msgstr "Effacement sur %s..." +msgid "Bad command. Type '%s' for help." +msgstr "Mauvaise commande. Tapez '%s' pour l'aide." #: src/lang.c:110 -msgid "Catchup all groups entered during this session?" -msgstr "Marquer lus tous les groupes visités lors de la session ?" +msgid "Base article" +msgstr "Article initial" #: src/lang.c:111 -msgid "You have tagged articles in this group - catchup anyway?" -msgstr "Vous avez marqué des articles de ce groupe - marquer comme lu ?" +msgid "Base article range" +msgstr "Champ article initial" #: src/lang.c:112 #, c-format -msgid "%s %d %s in %lu seconds\n" -msgstr "%s %d %s en %lu secondes\n" +msgid "%s: Updating of index files not supported\n" +msgstr "%s : Màj des fichiers index non supportée\n" #: src/lang.c:113 -msgid "Caughtup" -msgstr "Caughtup" +msgid "*** Beginning of article ***" +msgstr "*** Début de l'article ***" #: src/lang.c:114 -msgid "Check Prepared Article" -msgstr "Vérification de l'article préparé" - -#: src/lang.c:115 -msgid "Checking for new groups... " -msgstr "Vérification de nouveaux groupes... " +msgid "*** Beginning of page ***" +msgstr "*** Début de l'article ***" #: src/lang.c:116 -msgid "Checking for news..." -msgstr "Vérification de articles..." +#, c-format +msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " +msgstr "Annuler (effacer) ou remplacer (écraser) l'article [%%s]? (%s/%s/%s) : " #: src/lang.c:117 -#, c-format -msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " -msgstr "Traiter %s=non, %s=oui, %s=shar, %s=quitter : " +msgid "Cancelling article..." +msgstr "Annulation de l'article..." #: src/lang.c:119 -msgid "ANSI color disabled" -msgstr "Couleurs ANSI désactivées" +#, c-format +msgid "Cannot create %s" +msgstr "Création de %s impossible" #: src/lang.c:120 -msgid "ANSI color enabled" -msgstr "Couleurs ANSI activées" +#, c-format +msgid "Can't find base article %d" +msgstr "Article initial %d introuvable" + +#: src/lang.c:121 +#, c-format +msgid "Can't open %s" +msgstr "Ouverture de %s impossible" #: src/lang.c:122 #, c-format -msgid "Command failed: %s" -msgstr "Échec commande : %s" +msgid "Couldn't open %s for saving" +msgstr "Ouverture de %s pour enregistrement impossible" #: src/lang.c:123 -msgid "Mark not selected articles read?" -msgstr "Marquer comme lu les articles sélectionnés ?" +msgid "*** Posting not allowed ***" +msgstr "*** Postage non autorisé ***" #: src/lang.c:124 #, c-format -msgid "Connecting to %s..." -msgstr "Connexion à %s..." - -#: src/lang.c:125 -msgid "" -msgstr "" +msgid "Posting is not allowed to %s" +msgstr "Postage non autorisé dans %s" #: src/lang.c:126 -msgid "Creating active file for saved groups...\n" -msgstr "Création du fichier active des groupes enregistrés...\n" +#, c-format +msgid "Can't retrieve %s" +msgstr "Récupération de %s impossible" + +#: src/lang.c:128 +#, c-format +msgid "%s is a directory" +msgstr "%s est un répertoire" -#: src/lang.c:127 -msgid "Creating newsrc file...\n" -msgstr "Création du fichier newsrc...\n" - -#: src/lang.c:129 src/lang.c:1150 -msgid "Default" -msgstr "Défaut" +#: src/lang.c:129 +msgid "Catchup" +msgstr "Marquer lu" #: src/lang.c:130 -msgid "Delete saved files that have been post processed?" -msgstr "Effacer les fichiers enregistrés qui ont été post-traités ?" +#, c-format +msgid "Catchup %s..." +msgstr "Effacement sur %s..." #: src/lang.c:131 -msgid "Deleting temporary files..." -msgstr "Effacement des fichiers temporaires..." +msgid "Catchup all groups entered during this session?" +msgstr "Marquer lus tous les groupes visités lors de la session ?" + +#: src/lang.c:132 +msgid "You have tagged articles in this group - catchup anyway?" +msgstr "Vous avez marqué des articles de ce groupe - marquer comme lu ?" #: src/lang.c:133 -msgid "*** End of article ***" -msgstr "*** Fin de l'article ***" +#, c-format +msgid "%s %d %s in %lu seconds\n" +msgstr "%s %d %s en %lu secondes\n" #: src/lang.c:134 -msgid "*** End of articles ***" -msgstr "*** Fin de la liste ***" +msgid "Caughtup" +msgstr "Caughtup" #: src/lang.c:135 -msgid "*** End of groups ***" -msgstr "*** Fin de la liste ***" +msgid "Check Prepared Article" +msgstr "Vérification de l'article préparé" #: src/lang.c:136 -msgid "*** End of thread ***" -msgstr "*** Fin du fil ***" +msgid "Checking for new groups... " +msgstr "Vérification de nouveaux groupes... " #: src/lang.c:137 -msgid "Enter limit of articles to get> " -msgstr "Entrez le nombre max d'articles à récupérer > " +msgid "Checking for news..." +msgstr "Vérification des articles..." #: src/lang.c:138 -msgid "Enter Message-ID to go to> " -msgstr "Entrez le Message-ID à voir > " - -#: src/lang.c:139 -msgid " and enter next unread thread" -msgstr " et passer au fil non lu suivant" +#, c-format +msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " +msgstr "Traiter %s=non, %s=oui, %s=shar, %s=quitter : " #: src/lang.c:140 -msgid " and enter next unread group" -msgstr " et entrer dans le groupe suivant non lu" +msgid "ANSI color disabled" +msgstr "Couleurs ANSI désactivées" #: src/lang.c:141 -msgid "Enter option number> " -msgstr "Entrez le numéro de l'option > " +msgid "ANSI color enabled" +msgstr "Couleurs ANSI activées" -#: src/lang.c:142 +#: src/lang.c:143 #, c-format -msgid "Enter range [%s]> " -msgstr "Entrez un champ [%s] > " +msgid "Command failed: %s" +msgstr "Échec commande : %s" -#: src/lang.c:143 -msgid "\n" - "Warning: Approved: header used.\n" -msgstr "\n" - "Attention : en-tête Approved: utilisé.\n" - -#: src/lang.c:145 -msgid "\n" - "Error: Bad address in Approved: header.\n" -msgstr "\n" - "Erreur : Mauvaise adresse dans l'en-tête Approved:.\n" +#: src/lang.c:144 +msgid "Mark not selected articles read?" +msgstr "Marquer comme lu les articles sélectionnés ?" #: src/lang.c:146 -msgid "\n" - "Error: Bad address in From: header.\n" -msgstr "\n" - "Erreur : Mauvaise adresse dans l'en-tête From:.\n" - -#: src/lang.c:147 -msgid "\n" - "Error: Bad address in Reply-To: header.\n" -msgstr "\n" - "Erreur : Mauvais adresse dans l'en-ête Reply-To:.\n" +#, c-format +msgid "Connecting to %s..." +msgstr "Connexion à %s..." #: src/lang.c:148 -msgid "\n" - "Error: Bad FQDN in Message-ID: header.\n" -msgstr "\n" - "Erreur : Mauvais FQDN dans l'en-tête Message-ID:.\n" +msgid "" +msgstr "" #: src/lang.c:149 -#, c-format -msgid "Can't unlock %s" -msgstr "Déverrouillage de %s impossible" - -#: src/lang.c:151 -#, c-format -msgid "Corrupted file %s" -msgstr "Fichier %s corrompu" +msgid "Creating active file for saved groups...\n" +msgstr "Création du fichier active des groupes enregistrés...\n" -#: src/lang.c:152 -#, c-format -msgid "Couldn't dotlock %s - article not appended!" -msgstr "N'a pu déverrouiler %s - article non ajouté !" +#: src/lang.c:150 +msgid "Creating newsrc file...\n" +msgstr "Création du fichier newsrc...\n" + +#: src/lang.c:152 src/lang.c:1296 +msgid "Default" +msgstr "Défaut" #: src/lang.c:153 -#, c-format -msgid "Couldn't lock %s - article not appended!" -msgstr "N'a pu verrouiller %s - article non ajouté !" +msgid "Delete saved files that have been post processed?" +msgstr "Effacer les fichiers enregistrés qui ont été post-traités ?" -#: src/lang.c:155 -msgid "Internal error in GNKSA routine - send bug report.\n" -msgstr "Erreur interne dans routine GNKSA - envoi d'un rapport de bug.\n" +#: src/lang.c:154 +msgid "Deleting temporary files..." +msgstr "Effacement des fichiers temporaires..." #: src/lang.c:156 -msgid "Left angle bracket missing in route address.\n" -msgstr "Accolade gauche manquante dans l'adresse de routage.\n" +msgid "*** End of article ***" +msgstr "*** Fin de l'article ***" #: src/lang.c:157 -msgid "Left parenthesis missing in old-style address.\n" -msgstr "Parenthèse gauche manquante dans l'ancien type d'adresse.\n" +msgid "*** End of articles ***" +msgstr "*** Fin de la liste ***" #: src/lang.c:158 -msgid "Right parenthesis missing in old-style address.\n" -msgstr "Parenthèse droite manquante dans l'ancien type d'adresse.\n" +msgid "*** End of attachments ***" +msgstr "*** Fin des pièces-jointes ***" #: src/lang.c:159 -msgid "At-sign missing in mail address.\n" -msgstr "Arobase manquant dans l'adresse email.\n" +msgid "*** End of groups ***" +msgstr "*** Fin de la liste ***" #: src/lang.c:160 -msgid "Single component FQDN is not allowed. Add your domain.\n" -msgstr "Composant FQDN unique non autorisé. Ajoutez votre domaine.\n" +msgid "*** End of page ***" +msgstr "*** Fin de l'article ***" #: src/lang.c:161 -msgid "Invalid domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Domaine invalide. Envoyez un rapport de bug si votre domaine premier existe.\n" - "Utilisez .invalid comme domaine premier pour les fausses adresses.\n" +msgid "*** End of scopes ***" +msgstr "*** Fin de la liste ***" #: src/lang.c:162 -msgid "Illegal domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Domaine illégal. Envoyez un rapport de bug si votre domaine premier existe.\n" - "Utilisez .invalid comme domaine premier pour les fausses adresses.\n" +msgid "*** End of thread ***" +msgstr "*** Fin du fil ***" #: src/lang.c:163 -msgid "Unknown domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Domaine inconnu. Envoyez un rapport de bug si votre domaine premier existe.\n" - "Utilisez .invalid comme domaine premier pour les fausses adresses.\n" +msgid "*** End of URLs ***" +msgstr "*** Fin des URLs ***" #: src/lang.c:164 -msgid "Illegal character in FQDN.\n" -msgstr "Caractère illégal dans le FQDN.\n" +msgid "Enter limit of articles to get> " +msgstr "Entrez le nombre max d'articles à récupérer > " #: src/lang.c:165 -msgid "Zero length FQDN component not allowed.\n" -msgstr "Valeur vide dans le FQDN non autorisé.\n" +msgid "Enter Message-ID to go to> " +msgstr "Entrez le Message-ID à voir > " #: src/lang.c:166 -msgid "FQDN component exceeds maximum allowed length (63 chars).\n" -msgstr "Composant FQDN excède la longueur max autorisée (63 car.).\n" +msgid " and enter next unread thread" +msgstr " et passer au fil non lu suivant" #: src/lang.c:167 -msgid "FQDN component may not start or end with hyphen.\n" -msgstr "Composant FQDN ne devrait pas commencer ou finir par un tiret.\n" +msgid " and enter next unread article" +msgstr " et passer à l'article non lu suivant" #: src/lang.c:168 -msgid "FQDN component may not start with digit.\n" -msgstr "Composant FQDN ne devrait pas commencer par un chiffre.\n" +msgid " and enter next unread group" +msgstr " et entrer dans le groupe suivant non lu" #: src/lang.c:169 -msgid "Domain literal has impossible numeric value.\n" -msgstr "Domaine littéral contient une valeur numérique impossible.\n" +msgid "Enter option number> " +msgstr "Entrez le numéro de l'option > " #: src/lang.c:170 -msgid "Domain literal is for private use only and not allowed for global use.\n" -msgstr "Domaine littéral est pour l'usage privé et n'est pas autorisé à l'usage " - "global.\n" +#, c-format +msgid "Enter range [%s]> " +msgstr "Entrez un champ [%s] > " #: src/lang.c:171 -msgid "Right bracket missing in domain literal.\n" -msgstr "Parenthèse droite manquante dans le domaine littéral.\n" - -#: src/lang.c:172 -msgid "Missing localpart of mail address.\n" -msgstr "Partie locale manquante dans l'adresse email.\n" +msgid "\n" + "Warning: Approved: header used.\n" +msgstr "\n" + "Attention : en-tête Approved: utilisé.\n" #: src/lang.c:173 -msgid "Illegal character in localpart of mail address.\n" -msgstr "Caractère illégal dans la partie locale de l'adresse email.\n" +msgid "\n" + "Error: Bad address in Approved: header.\n" +msgstr "\n" + "Erreur : Mauvaise adresse dans l'en-tête Approved:.\n" #: src/lang.c:174 -msgid "Zero length localpart component not allowed.\n" -msgstr "Valeur vide dans composant de partie locale non autorisé.\n" +msgid "\n" + "Error: Bad address in From: header.\n" +msgstr "\n" + "Erreur : Mauvaise adresse dans l'en-tête From:.\n" #: src/lang.c:175 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" -msgstr "Caractère illégal dans le nom réel.\n" - "Mots non cités ne devraient pas contenir '!()<>@,;:\\.[]' dans l'adresse de " - "routage.\n" +msgid "\n" + "Error: Bad address in Reply-To: header.\n" +msgstr "\n" + "Erreur : Mauvais adresse dans l'en-ête Reply-To:.\n" #: src/lang.c:176 -msgid "Illegal character in realname.\n" - "Quoted words may not contain '()<>\\'.\n" -msgstr "Caractère illégal dans le nom réel.\n" - "Mots cités ne devraient pas contenir '()<>\\'.\n" - -#: src/lang.c:177 -msgid "Illegal character in realname.\n" - "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" -msgstr "Caractère illégal dans le nom réel.\n" - "Mots encodés ne devraient pas contenir '!()<>@,;:\"\\.[]/=' dans le " - "paramètre.\n" +msgid "\n" + "Error: Bad FQDN in Message-ID: header.\n" +msgstr "\n" + "Erreur : Mauvais FQDN dans l'en-tête Message-ID:.\n" #: src/lang.c:178 -msgid "Bad syntax in encoded word used in realname.\n" -msgstr "Mauvaise syntaxe dans le mot encodé utilisé dans le nom réel.\n" +#, c-format +msgid "Can't unlock %s" +msgstr "Déverrouillage de %s impossible" #: src/lang.c:179 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '()<>\\' in old-style addresses.\n" -msgstr "Caractère illégal dans le nom réel.\n" - "Mots non cités ne devraient pas contenir '()<>\\' dans les adresses de type " - "anciennes.\n" +#, c-format +msgid "Couldn't dotlock %s - article not appended!" +msgstr "N'a pu déverrouiler %s - article non ajouté !" #: src/lang.c:180 -msgid "Illegal character in realname.\n" - "Control characters and unencoded 8bit characters > 127 are not allowed.\n" -msgstr "Caractère illégal dans le nom réel.\n" - "Les caractères de contrôle et non encodés en 8bit > 127 ne sont pas " - "autorisés.\n" - -#: src/lang.c:181 -msgid "\n" - "Error: No blank line found after header.\n" -msgstr "\n" - "Erreur : Pas de ligne vide trouvée après l'en-tête.\n" +#, c-format +msgid "Couldn't lock %s - article not appended!" +msgstr "N'a pu verrouiller %s - article non ajouté !" -#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:183 -msgid "\n" - "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" - " US-ASCII - please change this setting to a suitable value for\n" - " your language using the M)enu of configurable options or by\n" - " editing tinrc.\n" -msgstr "\n" - "Erreur : L'article contient des caractères non-ASCII mais US-ASCII est\n" - " choisi comme MM_CHARSET - changez svp ce réglage en une valeur\n" - " correcte pour votre langue via le M)enu des options ou via\n" - " l'édition de votre tinrc.\n" +#, c-format +msgid "Corrupted file %s" +msgstr "Fichier %s corrompu" + +#: src/lang.c:185 +msgid "\n" + "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" +msgstr "\n" + "Erreur : Followup-To \"poster\" et un groupe n'est pas autorisé !\n" + +#: src/lang.c:186 +msgid "Internal error in GNKSA routine - send bug report.\n" +msgstr "Erreur interne dans routine GNKSA - envoi d'un rapport de bogue.\n" + +#: src/lang.c:187 +msgid "Left angle bracket missing in route address.\n" +msgstr "Accolade gauche manquante dans l'adresse de routage.\n" #: src/lang.c:188 -msgid "\n" - "Error: Posting contains non-ASCII characters but the MIME encoding\n" - " for news messages is set to \"7bit\" - please change this\n" - " setting to \"8bit\" or \"quoted-printable\" depending on what\n" - " is more common in your part of the world. This can be done\n" - " using the M)enu of configurable options or by editing tinrc.\n" -msgstr "\n" - "Erreur : L'article à poster contient des caractères non-ASCII mais\n" - " l'encodage MIME pour les articles de news est \"7bit\" -\n" - " changez svp pour \"8bit\" ou \"quoted-printable\" suivant ce\n" - " qui est préférable d'après l'endroit où vous vous situez. Ce\n" - " changement peut être effectué via le M)enu des options ou via\n" - " l'édition de votre tinrc.\n" +msgid "Left parenthesis missing in old-style address.\n" +msgstr "Parenthèse gauche manquante dans l'ancien type d'adresse.\n" + +#: src/lang.c:189 +msgid "Right parenthesis missing in old-style address.\n" +msgstr "Parenthèse droite manquante dans l'ancien type d'adresse.\n" + +#: src/lang.c:190 +msgid "At-sign missing in mail address.\n" +msgstr "Arobase manquant dans l'adresse email.\n" + +#: src/lang.c:191 +msgid "Single component FQDN is not allowed. Add your domain.\n" +msgstr "Composant FQDN unique non autorisé. Ajoutez votre domaine.\n" + +#: src/lang.c:192 +msgid "Invalid domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Domaine invalide. Envoyez un rapport de bogue si votre domaine premier " + "existe.\n" + "Utilisez .invalid comme domaine premier pour les fausses adresses.\n" + +#: src/lang.c:193 +msgid "Illegal domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Domaine illégal. Envoyez un rapport de bogue si votre domaine premier " + "existe.\n" + "Utilisez .invalid comme domaine premier pour les fausses adresses.\n" #: src/lang.c:194 -msgid "\n" - "Error: Article starts with blank line instead of header\n" -msgstr "\n" - "Erreur : L'article débute avec une ligne vide au lieu d'un en-tête\n" +msgid "Unknown domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Domaine inconnu. Envoyez un rapport de bogue si votre domaine premier " + "existe.\n" + "Utilisez .invalid comme domaine premier pour les fausses adresses.\n" #: src/lang.c:195 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a colon after the header name:\n" - "%s\n" -msgstr "\n" - "Erreur : L'en-tête de la ligne %d n'a pas de séparateur après l'en-tête " - "nom :\n" - "%s\n" +msgid "Illegal character in FQDN.\n" +msgstr "Caractère illégal dans le FQDN.\n" #: src/lang.c:196 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is empty.\n" -msgstr "\n" - "Erreur : La ligne \"%s:\" est vide.\n" +msgid "Zero length FQDN component not allowed.\n" +msgstr "Valeur vide dans le FQDN non autorisé.\n" #: src/lang.c:197 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is missing from the article header.\n" -msgstr "\n" - "Erreur : La ligne \"%s:\" est absente de l'en-tête de l'article.\n" +msgid "FQDN component exceeds maximum allowed length (63 chars).\n" +msgstr "Composant FQDN excède la longueur max autorisée (63 car.).\n" #: src/lang.c:198 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a space after the colon:\n" - "%s\n" -msgstr "\n" - "Erreur : L'en-tête à la ligne %d n'a pas d'espace après le séparateur :\n" - "%s\n" +msgid "FQDN component may not start or end with hyphen.\n" +msgstr "Composant FQDN ne devrait pas commencer ou finir par un tiret.\n" #: src/lang.c:199 -#, c-format -msgid "\n" - "Error: There are multiple (%d) \"%s:\" lines in the header.\n" -msgstr "\n" - "Erreur : Il y a plusieurs lignes (%d) \"%s:\" dans l'en-tête.\n" +msgid "FQDN component may not start with digit.\n" +msgstr "Composant FQDN ne devrait pas commencer par un chiffre.\n" #: src/lang.c:200 -#, c-format -msgid "Insecure permissions of %s (%o)" -msgstr "Permissions de %s non sûres (%o)" +msgid "Domain literal has impossible numeric value.\n" +msgstr "Domaine littéral contient une valeur numérique impossible.\n" #: src/lang.c:201 -#, c-format -msgid "Invalid response to GROUP command, %s" -msgstr "Réponse de la commande GROUP invalide, %s" +msgid "Domain literal is for private use only and not allowed for global use.\n" +msgstr "Domaine littéral est pour l'usage privé et n'est pas autorisé à l'usage " + "global.\n" + +#: src/lang.c:202 +msgid "Right bracket missing in domain literal.\n" +msgstr "Parenthèse droite manquante dans le domaine littéral.\n" #: src/lang.c:203 -#, c-format -msgid "MIME parse error: Unexpected end of %s/%s article" -msgstr "Erreur MIME : Fin inattendue de l'article %s %s" +msgid "Missing localpart of mail address.\n" +msgstr "Partie locale manquante dans l'adresse email.\n" #: src/lang.c:204 -msgid "MIME parse error: Start boundary whilst reading headers" -msgstr "Erreur MIME : Début de la borne lors de la lecture des en-têtes" +msgid "Illegal character in localpart of mail address.\n" +msgstr "Caractère illégal dans la partie locale de l'adresse email.\n" #: src/lang.c:205 -msgid "Can't get a (fully-qualified) domain-name!" -msgstr "Nom de domaine (qualifié) introuvable !" +msgid "Zero length localpart component not allowed.\n" +msgstr "Valeur vide dans composant de partie locale non autorisé.\n" #: src/lang.c:206 -#, c-format -msgid "No permissions to go into %s\n" -msgstr "Pas la permission d'aller dans %s\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" +msgstr "Caractère illégal dans le nom réel.\n" + "Mots non cités ne devraient pas contenir '!()<>@,;:\\.[]' dans l'adresse de " + "routage.\n" #: src/lang.c:207 -msgid "\n" - "Error: From: line missing.\n" -msgstr "\n" - "Erreur : En-tête 'From:' manquant.\n" +msgid "Illegal character in realname.\n" + "Quoted words may not contain '()<>\\'.\n" +msgstr "Caractère illégal dans le nom réel.\n" + "Mots cités ne devraient pas contenir '()<>\\'.\n" #: src/lang.c:208 -#, c-format -msgid "No read permissions for %s\n" -msgstr "Pas la permission de lecture pour %s\n" +msgid "Illegal character in realname.\n" + "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" +msgstr "Caractère illégal dans le nom réel.\n" + "Mots encodés ne devraient pas contenir '!()<>@,;:\"\\.[]/=' dans le " + "paramètre.\n" #: src/lang.c:209 -#, c-format -msgid "File %s does not exist\n" -msgstr "Fichier %s inexistant\n" +msgid "Bad syntax in encoded word used in realname.\n" +msgstr "Mauvaise syntaxe dans le mot encodé utilisé dans le nom réel.\n" #: src/lang.c:210 -#, c-format -msgid "No write permissions for %s\n" -msgstr "Pas la permission d'écrire pour %s\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '()<>\\' in old-style addresses.\n" +msgstr "Caractère illégal dans le nom réel.\n" + "Mots non cités ne devraient pas contenir '()<>\\' dans les adresses de type " + "anciennes.\n" #: src/lang.c:211 -msgid "Can't get user information (/etc/passwd missing?)" -msgstr "Info sur l'utilisateur introuvable (/etc/passwd manquant ?)" +msgid "Illegal character in realname.\n" + "Control characters and unencoded 8bit characters > 127 are not allowed.\n" +msgstr "Caractère illégal dans le nom réel.\n" + "Les caractères de contrôle et non encodés en 8bit > 127 ne sont pas " + "autorisés.\n" #: src/lang.c:212 -msgid "errors" -msgstr "erreurs" +msgid "\n" + "Error: No blank line found after header.\n" +msgstr "\n" + "Erreur : Pas de ligne vide trouvée après l'en-tête.\n" #: src/lang.c:213 #, c-format -msgid "\n" - "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" -msgstr "\n" - "Erreur sur la ligne %d : en-tête \"Sender:\" non autorisé (sera ajouté pour " - "vous)\n" - -#: src/lang.c:214 -#, c-format -msgid "Server has non of the groups listed in %s" -msgstr "Le serveur n'a aucun groupe listé dans %s" +msgid "\n" + "Error: Illegal formatted %s.\n" +msgstr "\n" + "Erreur : Formattage incorrect de %s.\n" +#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:215 -msgid "error" -msgstr "erreur" - -#: src/lang.c:216 -msgid "Unknown display level" -msgstr "Vue affichée inconnue" - -#: src/lang.c:217 -msgid "" -msgstr "" - -#: src/lang.c:218 -msgid "Exiting..." -msgstr "Fermeture..." - -#: src/lang.c:219 -msgid "leaving external mail-reader" -msgstr "fermeture du client mail externe" +msgid "\n" + "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" + " US-ASCII - please change this setting to a suitable value for\n" + " your language using the M)enu of configurable options or by\n" + " editing tinrc.\n" +msgstr "\n" + "Erreur : L'article contient des caractères non-ASCII mais US-ASCII est\n" + " choisi comme MM_CHARSET - changez svp ce réglage en une valeur\n" + " correcte pour votre langue via le M)enu des options ou via\n" + " l'édition de votre tinrc.\n" #: src/lang.c:220 +msgid "\n" + "Error: Posting contains non-ASCII characters but the MIME encoding\n" + " for news messages is set to \"7bit\" - please change this\n" + " setting to \"8bit\" or \"quoted-printable\" depending on what\n" + " is more common in your part of the world. This can be done\n" + " using the M)enu of configurable options or by editing tinrc.\n" +msgstr "\n" + "Erreur : L'article à poster contient des caractères non-ASCII mais\n" + " l'encodage MIME pour les articles de news est \"7bit\" -\n" + " changez svp pour \"8bit\" ou \"quoted-printable\" suivant ce\n" + " qui est préférable d'après l'endroit où vous vous situez. Ce\n" + " changement peut être effectué via le M)enu des options ou via\n" + " l'édition de votre tinrc.\n" + +#: src/lang.c:226 +msgid "\n" + "Error: Article starts with blank line instead of header\n" +msgstr "\n" + "Erreur : L'article débute avec une ligne vide au lieu d'un en-tête\n" + +#: src/lang.c:227 #, c-format -msgid "Extracting %s..." -msgstr "Extraction de %s..." +msgid "\n" + "Error: Header on line %d does not have a colon after the header name:\n" + "%s\n" +msgstr "\n" + "Erreur : L'en-tête de la ligne %d n'a pas de séparateur après l'en-tête " + "nom :\n" + "%s\n" -#: src/lang.c:222 +#: src/lang.c:228 #, c-format -msgid "Error writing %s file. Filesystem full? File reset to previous state." -msgstr "Écriture du fichier %s échouée. Disque plein ? Fichier non touché." +msgid "\n" + "Error: The \"%s:\" line is empty.\n" +msgstr "\n" + "Erreur : La ligne \"%s:\" est vide.\n" -#: src/lang.c:223 +#: src/lang.c:229 #, c-format -msgid "Error making backup of %s file. Filesystem full?" -msgstr "Erreur lors de la sauvegarde du fichier %s. Disque plein ?" +msgid "\n" + "Error: The \"%s:\" line is missing from the article header.\n" +msgstr "\n" + "Erreur : La ligne \"%s:\" est absente de l'en-tête de l'article.\n" -#: src/lang.c:224 +#: src/lang.c:230 #, c-format -msgid "Filtering global rules (%d/%d)..." -msgstr "Filtrage selon les règles globales (%d/%d)..." +msgid "\n" + "Error: %s contains non 7bit chars.\n" +msgstr "\n" + "Erreur : %s ne contient pas de caractères 7 bits.\n" -#: src/lang.c:225 -msgid "Rule created by: " -msgstr "Règle créée par : " +#: src/lang.c:231 +#, c-format +msgid "\n" + "Error: Header on line %d does not have a space after the colon:\n" + "%s\n" +msgstr "\n" + "Erreur : L'en-tête à la ligne %d n'a pas d'espace après le séparateur :\n" + "%s\n" -#: src/lang.c:226 +#: src/lang.c:232 #, c-format -msgid "Enter pattern [%s]> " -msgstr "Entrez le réglage [%s] > " +msgid "\n" + "Error: There are multiple (%d) \"%s:\" lines in the header.\n" +msgstr "\n" + "Erreur : Il y a plusieurs lignes (%d) \"%s:\" dans l'en-tête.\n" -#: src/lang.c:227 +#: src/lang.c:233 #, c-format -msgid "\n" - "You requested followups to your article to go to the following %s:\n" -msgstr "\n" - "Vous avez souhaité que les réponses à votre article aillent au %s suivant :\n" +msgid "Insecure permissions of %s (%o)" +msgstr "Permissions de %s non sûres (%o)" -#: src/lang.c:228 +#: src/lang.c:235 #, c-format -msgid " %s\t Answers will be directed to you by mail.\n" -msgstr " %s\t Les réponses vous seront envoyées par email.\n" +msgid "Invalid response to GROUP command, %s" +msgstr "Réponse de la commande GROUP invalide, %s" -#: src/lang.c:229 -msgid "-- forwarded message --\n" -msgstr "-- message redirigé --\n" +#: src/lang.c:240 +#, c-format +msgid "MIME parse error: Unexpected end of %s/%s article" +msgstr "Erreur MIME : Fin inattendue de l'article %s %s" -#: src/lang.c:230 -msgid "-- end of forwarded message --\n" -msgstr "-- fin du message redirigé --\n" +#: src/lang.c:241 +msgid "MIME parse error: Start boundary whilst reading headers" +msgstr "Erreur MIME : Début de la borne lors de la lecture des en-têtes" -#: src/lang.c:231 -msgid "# Format:\n" - "# comment=STRING Optional. Multiple lines allowed. Comments must be " - "placed\n" - "# at the beginning of a rule, or they will be moved to " - "the\n" - "# next rule. '#' is not a valid keyword for a comment!\n" - "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" - "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" - "# score=NUM|STRING Mandatory. Score to give. Either:\n" - "# score=NUM A number (e.g. 70). Or:\n" - "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" - "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" - "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" - "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" - "# full references.\n" - "# msgid_last=STRING Optional. Like above, but with last reference only.\n" - "# msgid_only=STRING Optional. Like above, but without references.\n" - "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " - "without\n" - "# Message-ID:\n" - "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" - "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " - "opt.\n" - "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" - "# time=NUM Optional. time_t value when rule expires\n" - "#\n" -msgstr "# Format :\n" - "# comment=TERME\tFacultatif. Plusieurs lignes acceptées.\n" - "#\t\t\tLes commentaires doivent êtres placés au\n" - "#\t\t\tdébut de la règle, sinon ils seront déplacés\n" - "#\t\t\tà la règle suivante. '#' n'est pas un mot-clé\n" - "#\t\t\tvalide pour un commentaire !\n" - "# group=TERME\tOgligatoire. Liste de groupe (pe. fr.comp.*,!*sources*).\n" - "# case=NUM\t\tOgligatoire. Casse sensible=0 / casse insensible=1.\n" - "# score=NUM|TERME\tObligatoire. Score à attribuer. Soit :\n" - "# score=NUM\t- Un numéro (pe. 70). Ou :\n" - "# score=TERME\t- Un des deux mots-clé suivants : 'hot' ou 'kill'.\n" - "# subj=TERME\t\tFacultatif. En-tête 'Subject:' (pe. Comment devenir un " - "gourou).\n" - "# from=TERME\t\tFacultatif. En-tête 'From:' (pe. *Craig Shergold*).\n" - "# msgid=TERME\tFacultatif. En-tête 'Message-ID:' (pe. <123@ether.net>) " - "avec\n" - "#\t\t\tréférence complète.\n" - "# msgid_last=TERME\tFacultatif. Comme ci-dessus mais avec juste le dernier " - "MID.\n" - "# msgid_only=TERME\tFacultatif. Comme ci-dessus mais sans les références.\n" - "# refs_only=TERME\tFacultatif. En-tête 'References:' (pe. <123@ether.net>) " - "sans\n" - "#\t\t\tla ligne Message-ID:\n" - "# lines=[<>]?NUM\tFacultatif. En-tête 'Lines:'. '<' ou '>' sont " - "optionnels.\n" - "# gnksa=[<>]?NUM\tFacultatif. Résultat du 'parse_from' du GNKSA. '<' ou " - "'>'\n" - "#\t\t\tsont optionnels.\n" - "# xref=CHAÎNE\tFacultatif. Chaîne à filtrer (pe. alt.flame*)\n" - "# time=NUM\t\tFacultatif. La valeur de time_t indique la durée de la " - "règle.\n" - "#\n" +#: src/lang.c:242 +msgid "\n" + "Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "\n" + "Erreur : \"poster\" n'est pas autorisé dans les Groupes !\n" -#: src/lang.c:252 +#: src/lang.c:243 +msgid "Can't get a (fully-qualified) domain-name!" +msgstr "Nom de domaine (qualifié) introuvable !" + +#: src/lang.c:244 #, c-format -msgid "Enter score for rule (default=%d): " -msgstr "Entrez le score (défaut=%d) : " +msgid "No permissions to go into %s\n" +msgstr "Pas la permission d'aller dans %s\n" + +#: src/lang.c:246 +msgid "\n" + "Error: From: line missing.\n" +msgstr "\n" + "Erreur : En-tête 'From:' manquant.\n" -#: src/lang.c:253 +#: src/lang.c:248 #, c-format -msgid "Enter the score weight (range 0 < score <= %d)" -msgstr "Entrez la valeur du score (0 < score <= %d)" +msgid "No read permissions for %s\n" +msgstr "Pas la permission de lecture pour %s\n" -#. SCORE_MAX -#: src/lang.c:254 -msgid "Full" -msgstr "Tous" +#: src/lang.c:249 +#, c-format +msgid "File %s does not exist\n" +msgstr "Fichier %s inexistant\n" + +#: src/lang.c:250 +#, c-format +msgid "No write permissions for %s\n" +msgstr "Pas la permission d'écrire pour %s\n" + +#: src/lang.c:251 +msgid "Can't get user information (/etc/passwd missing?)" +msgstr "Info sur l'utilisateur introuvable (/etc/passwd manquant ?)" -#: src/lang.c:255 -msgid "Comment (optional) : " -msgstr "Commentaire (facultatif) : " +#: src/lang.c:252 +msgid "errors" +msgstr "erreurs" + +#: src/lang.c:254 +#, c-format +msgid "\n" + "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" +msgstr "\n" + "Erreur sur la ligne %d : en-tête \"Sender:\" non autorisé (sera ajouté pour " + "vous)\n" #: src/lang.c:256 -msgid "Apply pattern to : " -msgstr "Appliquer à : " +#, c-format +msgid "Server has non of the groups listed in %s" +msgstr "Le serveur n'a aucun groupe listé dans %s" #: src/lang.c:257 -msgid "From: line (ignore case) " -msgstr "l'en-tête 'From:' (ignorer la casse)" +msgid "error" +msgstr "erreur" #: src/lang.c:258 -msgid "From: line (case sensitive) " -msgstr "l'en-tête 'From:' (casse sensible)" +msgid "Unknown display level" +msgstr "Vue affichée inconnue" + +#: src/lang.c:259 +msgid "" +msgstr "" #: src/lang.c:260 -#, c-format -msgid "%s%s: Unknown host.\n" -msgstr "%s%s : Hôte inconnu.\n" +msgid "Exiting..." +msgstr "Fermeture..." #: src/lang.c:261 -msgid "global " -msgstr "global " +msgid "leaving external mail-reader" +msgstr "fermeture du client mail externe" #: src/lang.c:262 #, c-format -msgid "Please use %.100s instead" -msgstr "Utilisez svp %.100s à la place" - -#: src/lang.c:263 -#, c-format -msgid "%s is bogus" -msgstr "%s pose problème" +msgid "Extracting %s..." +msgstr "Extraction de %s..." #: src/lang.c:264 #, c-format -msgid "Group %s is moderated. Continue?" -msgstr "Groupe %s modéré. Continuer ?" +msgid "Error writing %s file. Filesystem full? File reset to previous state." +msgstr "Écriture du fichier %s échouée. Disque plein ? Fichier non touché." #: src/lang.c:265 -msgid "groups" -msgstr "groupes" +#, c-format +msgid "Error making backup of %s file. Filesystem full?" +msgstr "Erreur lors de la sauvegarde du fichier %s. Disque plein ?" #: src/lang.c:266 #, c-format -msgid "Rereading %s..." -msgstr "Relecture de %s..." +msgid "Filtering global rules (%d/%d)..." +msgstr "Filtrage selon les règles globales (%d/%d)..." #: src/lang.c:267 -msgid "Top Level Commands" -msgstr "Commandes niveau supérieur" +msgid "Rule created by: " +msgstr "Règle créée par : " #: src/lang.c:268 -msgid "Group Selection" -msgstr "Sélection du groupe" +#, c-format +msgid "Enter pattern [%s]> " +msgstr "Entrez le réglage [%s] > " #: src/lang.c:269 -msgid "group" -msgstr "groupe" +#, c-format +msgid "\n" + "You requested followups to your article to go to the following %s:\n" +msgstr "\n" + "Vous avez souhaité que les réponses à votre article aillent au(x) %s suivant" + "(s) :\n" + +#: src/lang.c:270 +#, c-format +msgid " %s\t Answers will be directed to you by mail.\n" +msgstr " %s\t Les réponses vous seront envoyées par email.\n" #: src/lang.c:271 -msgid "One or more lines of comment. to add a line or proceed if line is empty." -msgstr "Inclure un commentaire. pour ajouter une ligne ou continuer si vide." +msgid "-- forwarded message --\n" +msgstr "-- message redirigé --\n" #: src/lang.c:272 -msgid "From: line to add to filter file. toggles & sets." -msgstr "Filtrer l'en-tête 'From:'. change & valide." +msgid "-- end of forwarded message --\n" +msgstr "-- fin du message redirigé --\n" #: src/lang.c:273 -msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." -msgstr "Filtrer selon le nombre de lignes. < pour moins, > pour plus, = pareil." - -#: src/lang.c:274 -msgid "Message-ID: line to add to filter file. toggles & sets." -msgstr "Filtrer l'en-tête 'Message-ID'. change & valide." - -#: src/lang.c:275 -msgid "Subject: line to add to filter file. toggles & sets." -msgstr "Filtrer l'en-tête 'Subject'. change & valide." - -#: src/lang.c:276 -msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." -msgstr "Terme à filtrer si autre que les en-têtes 'Subject:' & 'From:'." - -#: src/lang.c:277 -msgid "Select where text pattern should be applied. toggles & sets." -msgstr "Sur quel en-tête appliquer ce terme. change & valide." - -#: src/lang.c:278 -msgid "Expiration time in days for the entered filter. toggles & sets." -msgstr "Durée (en nombre de jours) du filtre. change & valide." - -#: src/lang.c:279 -msgid "Apply kill only to current group or all groups. toggles & sets." -msgstr "Filtrer groupe actuel ou tous. change & valide." - -#: src/lang.c:280 -msgid "Apply select to current group or all groups. toggles & sets." -msgstr "Appliquer règle au groupe actuel ou à tous. change & valide." - -#: src/lang.c:281 -msgid "kill an article via a menu" -msgstr "filtrer un article via un menu" - -#: src/lang.c:282 -msgid "auto-select (hot) an article via a menu" -msgstr "sélection auto. (hot) d'un article via un menu" - -#: src/lang.c:283 -msgid "Browse URLs in article" -msgstr "Voir les URLs dans l'article" - -#: src/lang.c:284 -msgid "0 - 9\t display article by number in current thread" -msgstr "0 - 9\t affiche les articles par numéro du fil actuel" - -#: src/lang.c:285 -msgid "cancel (delete) or supersede (overwrite) current article" -msgstr "annuler (effacer) ou remplacer (écraser) l'article actuel" - -#: src/lang.c:286 -msgid "edit article (mail-groups only)" -msgstr "éditer l'article (groupes de messagerie uniquement)" - -#: src/lang.c:287 -msgid "display first article in current thread" -msgstr "afficher le 1er article du fil actuel" - -#: src/lang.c:288 -msgid "display first page of article" -msgstr "afficher la 1ère page de l'article" - -#: src/lang.c:289 -msgid "post followup to current article" -msgstr "poster un suivi pour l'article actuel" - -#: src/lang.c:290 -msgid "post followup (don't copy text) to current article" -msgstr "poster un suivi (ne pas copier le texte) pour l'article actuel" - -#: src/lang.c:291 -msgid "post followup to current article quoting complete headers" -msgstr "poster un suivi pour l'article actuel en citant les en-têtes" - -#: src/lang.c:292 -msgid "display last article in current thread" -msgstr "afficher le dernier article du fil actuel" - -#: src/lang.c:293 -msgid "display last page of article" -msgstr "afficher la dernière page de l'article" +msgid "# Format:\n" + "# comment=STRING Optional. Multiple lines allowed. Comments must be " + "placed\n" + "# at the beginning of a rule, or they will be moved to " + "the\n" + "# next rule. '#' is not a valid keyword for a comment!\n" + "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" + "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" + "# score=NUM|STRING Mandatory. Score to give. Either:\n" + "# score=NUM A number (e.g. 70). Or:\n" + "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" + "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" + "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" + "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" + "# full references.\n" + "# msgid_last=STRING Optional. Like above, but with last reference only.\n" + "# msgid_only=STRING Optional. Like above, but without references.\n" + "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " + "without\n" + "# Message-ID:\n" + "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" + "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " + "opt.\n" + "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" + "# time=NUM Optional. time_t value when rule expires\n" + "#\n" +msgstr "# Format :\n" + "# comment=TERME Facultatif. Plusieurs lignes acceptées.\n" + "# Les commentaires doivent êtres placés au\n" + "# début de la règle, sinon ils seront déplacés\n" + "# à la règle suivante. '#' n'est pas un mot-clé\n" + "# valide pour un commentaire !\n" + "# group=TERME Ogligatoire. Liste de groupe (pe. fr.comp.*,!" + "*sources*).\n" + "# case=NUM Ogligatoire. Casse sensible=0 / casse insensible=1.\n" + "# score=NUM|TERME Obligatoire. Score à attribuer. Soit :\n" + "# score=NUM Un numéro (pe. 70). Ou :\n" + "# score=TERME Un des deux mots-clé suivants : 'hot' ou 'kill'.\n" + "# subj=TERME Facultatif. En-tête 'Subject:' (pe. Comment devenir un " + "gourou).\n" + "# from=TERME Facultatif. En-tête 'From:' (pe. *Craig Shergold*).\n" + "# msgid=TERME Facultatif. En-tête 'Message-ID:' (pe. <123@ether.net>) " + "avec\n" + "# référence complète.\n" + "# msgid_last=TERME Facultatif. Comme ci-dessus mais avec juste le dernier " + "MID.\n" + "# msgid_only=TERME Facultatif. Comme ci-dessus mais sans les références.\n" + "# refs_only=TERME Facultatif. En-tête 'References:' (pe. <123@ether.net>) " + "sans\n" + "# la ligne Message-ID:\n" + "# lines=[<>]?NUM Facultatif. En-tête 'Lines:'. '<' ou '>' sont " + "optionnels.\n" + "# gnksa=[<>]?NUM Facultatif. Résultat du 'parse_from' du GNKSA. '<' ou " + "'>'\n" + "# sont optionnels.\n" + "# xref=CHAÎNE Facultatif. Chaîne à filtrer (pe. alt.flame*)\n" + "# time=NUM Facultatif. La valeur de time_t indique la durée de la " + "règle.\n" + "#\n" #: src/lang.c:294 -msgid "mark rest of thread as read and advance to next unread" -msgstr "marquer comme lu le reste du fil et aller au fil non lu suivant" +#, c-format +msgid "Enter score for rule (default=%d): " +msgstr "Entrez le score (défaut=%d) : " #: src/lang.c:295 -msgid "display next article" -msgstr "afficher l'article suivant" +#, c-format +msgid "Enter the score weight (range 0 < score <= %d)" +msgstr "Entrez la valeur du score (0 < score <= %d)" +#. SCORE_MAX #: src/lang.c:296 -msgid "display first article in next thread" -msgstr "afficher le 1er article du fil suivant" +msgid "Full" +msgstr "Tous" #: src/lang.c:297 -msgid "display next unread article" -msgstr "afficher le prochain article non lu" +msgid "Comment (optional) : " +msgstr "Commentaire (facultatif) : " #: src/lang.c:298 -msgid "go to the article that this one followed up" -msgstr "aller à l'article parent" +msgid "Apply pattern to : " +msgstr "Appliquer à : " #: src/lang.c:299 -msgid "display previous article" -msgstr "afficher l'article précédent" +msgid "From: line (ignore case) " +msgstr "l'en-tête 'From:' (ignorer la casse)" #: src/lang.c:300 -msgid "display previous unread article" -msgstr "afficher l'article précédent non lu" - -#: src/lang.c:301 -msgid "quickly kill an article using defaults" -msgstr "filtrer rapidement un article en utilisant les défauts" +msgid "From: line (case sensitive) " +msgstr "l'en-tête 'From:' (casse sensible)" #: src/lang.c:302 -msgid "quickly auto-select (hot) an article using defaults" -msgstr "sélection auto. (hot) d'un article en utilisant les défauts" - -#: src/lang.c:303 -msgid "return to group selection level" -msgstr "retourner à la vue sélection de groupe" +#, c-format +msgid "%s%s: Unknown host.\n" +msgstr "%s%s : Hôte inconnu.\n" #: src/lang.c:304 -msgid "reply through mail to author" -msgstr "répondre par email à l'auteur" +msgid "global " +msgstr "global " #: src/lang.c:305 -msgid "reply through mail (don't copy text) to author" -msgstr "répondre (ne pas copier le texte) par email à l'auteur" +#, c-format +msgid "Please use %.100s instead" +msgstr "Utilisez svp %.100s à la place" #: src/lang.c:306 -msgid "reply through mail to author quoting complete headers" -msgstr "répondre par email à l'auteur en citant les en-têtes" +#, c-format +msgid "%s is bogus" +msgstr "%s pose problème" #: src/lang.c:307 -msgid "repost chosen article to another group" -msgstr "reposter l'article choisi dans un autre groupe" +#, c-format +msgid "Group %s is moderated. Continue?" +msgstr "Groupe %s modéré. Continuer ?" #: src/lang.c:308 -msgid "search backwards within this article" -msgstr "recherche arrière dans cet article" +msgid "groups" +msgstr "groupes" #: src/lang.c:309 -msgid "search forwards within this article" -msgstr "recherche avant dans cet article" +#, c-format +msgid "Rereading %s..." +msgstr "Relecture de %s..." #: src/lang.c:310 -msgid "show article in raw-mode (including all headers)" -msgstr "afficher la source des articles (incluant les en-têtes)" +msgid "Top Level Commands" +msgstr "Commandes niveau supérieur" #: src/lang.c:311 -msgid "skip next block of included text" -msgstr "passer au bloc suivant incluant du texte" +msgid "Group Selection" +msgstr "Sélection du groupe" #: src/lang.c:312 -msgid "toggle display of sections hidden by a form-feed (^L) on/off" -msgstr "(dés)activer l'affichage des sections masquer par (^L)" - -#: src/lang.c:313 -msgid "toggle word highlighting on/off" -msgstr "(dés)activer la surbrillance des mots" +msgid "group" +msgstr "groupe" #: src/lang.c:314 -msgid "toggle ROT-13 (basic decode) for current article" -msgstr "(dés)activer ROT-13 (décodage basic) pour l'article actuel" +msgid "One or more lines of comment. to add a line or proceed if line is empty." +msgstr "Inclure un commentaire. pour ajouter une ligne ou continuer si vide." #: src/lang.c:315 -msgid "toggle tabwidth 4 <-> 8" -msgstr "basculer la taille de tabulation 4 <-> 8" +msgid "From: line to add to filter file. toggles & sets." +msgstr "Filtrer l'en-tête 'From:'. change & valide." #: src/lang.c:316 -msgid "toggle german TeX style decoding for current article" -msgstr "(dés)activer le décodage Allemand de type TeX pour l'article actuel" +msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." +msgstr "Filtrer selon le nombre de lignes. < pour moins, > pour plus, = pareil." #: src/lang.c:317 -msgid "toggle display of uuencoded sections" -msgstr "(dés)activer l'affichage des sections uuencodées" +msgid "Message-ID: line to add to filter file. toggles & sets." +msgstr "Filtrer l'en-tête 'Message-ID'. change & valide." #: src/lang.c:318 -msgid "View/save multimedia attachments" -msgstr "Voir/enregistrer les pj multimédia" +msgid "Subject: line to add to filter file. toggles & sets." +msgstr "Filtrer l'en-tête 'Subject'. change & valide." #: src/lang.c:319 -#, c-format -msgid "report bug or comment via mail to %s" -msgstr "signaler un bug ou envoi d'un commentaires à %s" +msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." +msgstr "Terme à filtrer si autre que les en-têtes 'Subject:' & 'From:'." #: src/lang.c:320 -msgid "choose range of articles to be affected by next command" -msgstr "choisir les articles qui seront affectés par la commande suivante" +msgid "Select where text pattern should be applied. toggles & sets." +msgstr "Sur quel en-tête appliquer ce terme. change & valide." #: src/lang.c:321 -msgid "escape from command prompt" -msgstr "quitter le prompt" +msgid "Expiration time in days for the entered filter. toggles & sets." +msgstr "Durée (en nombre de jours) du filtre. change & valide." #: src/lang.c:322 -msgid "edit filter file" -msgstr "éditer les filtres" +msgid "Apply kill only to current group or all groups. toggles & sets." +msgstr "Filtrer groupe actuel ou tous. change & valide." #: src/lang.c:323 -msgid "get help" -msgstr "voir l'aide" +msgid "Apply select to current group or all groups. toggles & sets." +msgstr "Appliquer règle au groupe actuel ou à tous. change & valide." #: src/lang.c:324 -msgid "display last article viewed" -msgstr "afficher le dernier article lu" +msgid "kill an article via a menu" +msgstr "filtrer un article via un menu" #: src/lang.c:325 -msgid "down one line" -msgstr "descendre d'une ligne" +msgid "auto-select (hot) an article via a menu" +msgstr "sélection auto. (hot) d'un article via un menu" #: src/lang.c:326 -msgid "up one line" -msgstr "monter d'une ligne" +msgid "Browse URLs in article" +msgstr "Voir les URLs dans l'article" #: src/lang.c:327 -msgid "go to article chosen by Message-ID" -msgstr "aller à l'article via son Message-ID" - -#: src/lang.c:328 -msgid "mail article/thread/hot/pattern/tagged articles to someone" -msgstr "envoyer article/fil/sél./articles marqués à une personne" +msgid "0 - 9\t display article by number in current thread" +msgstr "0 - 9\t affiche les articles par numéro du fil actuel" #: src/lang.c:329 -msgid "menu of configurable options" -msgstr "menu des options réglables" +msgid "cancel (delete) or supersede (overwrite) current article" +msgstr "annuler (effacer) ou remplacer (écraser) l'article actuel" #: src/lang.c:330 -msgid "down one page" -msgstr "descendre d'une page" +msgid "post followup to current article" +msgstr "poster un suivi pour l'article actuel" #: src/lang.c:331 -msgid "up one page" -msgstr "monter d'une page" +msgid "post followup (don't copy text) to current article" +msgstr "poster un suivi (ne pas copier le texte) pour l'article actuel" #: src/lang.c:332 -msgid "post (write) article to current group" -msgstr "poster (écrire) un article dans le groupe actuel" +msgid "post followup to current article quoting complete headers" +msgstr "poster un suivi pour l'article actuel en citant les en-têtes" #: src/lang.c:333 -msgid "post postponed articles" -msgstr "poster les brouillons" - -#: src/lang.c:334 -msgid "list articles posted by you (from posted file)" -msgstr "lister les articles postés par vous (fichier posted)" +msgid "repost chosen article to another group" +msgstr "reposter l'article choisi dans un autre groupe" #: src/lang.c:335 -msgid "return to previous menu" -msgstr "retourner au menu précédent" +msgid "edit article (mail-groups only)" +msgstr "éditer l'article (groupes de messagerie uniquement)" #: src/lang.c:336 -msgid "quit tin immediately" -msgstr "quitter tin immédiatement" +msgid "display first article in current thread" +msgstr "afficher le 1er article du fil actuel" #: src/lang.c:337 -msgid "redraw page" -msgstr "rafraîchir la page" +msgid "display first page of article" +msgstr "afficher la 1ère page de l'article" #: src/lang.c:338 -msgid "save article/thread/hot/pattern/tagged articles to file" -msgstr "enregistrer article/fil/sél./articles marqués dans un fichier" +msgid "display last article in current thread" +msgstr "afficher le dernier article du fil actuel" #: src/lang.c:339 -msgid "save marked articles automatically without user prompts" -msgstr "enregistrement auto. des articles marqués sans demander" +msgid "display last page of article" +msgstr "afficher la dernière page de l'article" #: src/lang.c:340 -msgid "scroll the screen one line down" -msgstr "défiler une page par une page" +msgid "mark rest of thread as read and advance to next unread" +msgstr "marquer comme lu le reste du fil et aller au fil non lu suivant" #: src/lang.c:341 -msgid "scroll the screen one line up" -msgstr "remonter une page par une page" +msgid "display next article" +msgstr "afficher l'article suivant" #: src/lang.c:342 -msgid "search for articles by author backwards" -msgstr "recherche arrière d'articles par auteur" +msgid "display first article in next thread" +msgstr "afficher le 1er article du fil suivant" #: src/lang.c:343 -msgid "search for articles by author forwards" -msgstr "recherche avant d'articles par auteur" +msgid "display next unread article" +msgstr "afficher le prochain article non lu" #: src/lang.c:344 -msgid "search all articles for a given string (this may take some time)" -msgstr "rechercher partout un terme précis (cela peut prendre du temps)" +msgid "go to the article that this one followed up" +msgstr "aller à l'article parent" #: src/lang.c:345 -msgid " \t (searches are case-insensitive and wrap around to all articles)" -msgstr " \t (recherche ignore la casse et se cantonne à tous les articles)" +msgid "display previous article" +msgstr "afficher l'article précédent" #: src/lang.c:346 -msgid "search for articles by Subject line backwards" -msgstr "recherche arrière d'articles par Sujet" +msgid "display previous unread article" +msgstr "afficher l'article précédent non lu" #: src/lang.c:347 -msgid "search for articles by Subject line forwards" -msgstr "recherche avant d'articles par Sujet" +msgid "quickly kill an article using defaults" +msgstr "filtrer rapidement un article en utilisant les défauts" #: src/lang.c:348 -msgid "repeat last search" -msgstr "relancer la dernière recherche" +msgid "quickly auto-select (hot) an article using defaults" +msgstr "sélection auto. (hot) d'un article en utilisant les défauts" #: src/lang.c:349 -msgid "tag current article for reposting/mailing/piping/printing/saving" -msgstr "marquer article pour repostage/envoi/passer/imprimer/enregistrer" +msgid "return to group selection level" +msgstr "retourner à la vue sélection de groupe" #: src/lang.c:350 -msgid "toggle info message in last line (subject/description)" -msgstr "afficher ou non les infos dans la dernière ligne (sujet/description)" +msgid "reply through mail to author" +msgstr "répondre par email à l'auteur" #: src/lang.c:351 -msgid "toggle inverse video" -msgstr "afficher ou non la vidéo inversée" +msgid "reply through mail (don't copy text) to author" +msgstr "répondre (ne pas copier le texte) par email à l'auteur" #: src/lang.c:352 -msgid "toggle mini help menu display" -msgstr "afficher ou non le petit menu d'aide" +msgid "reply through mail to author quoting complete headers" +msgstr "répondre par email à l'auteur en citant les en-têtes" #: src/lang.c:353 -msgid "cycle the display of authors email address, real name, both or neither" -msgstr "afficher cycliquement l'email des auteurs, nom réel, les deux ou aucun" +msgid "search backwards within this article" +msgstr "recherche arrière dans cet article" #: src/lang.c:354 -msgid "show version information" -msgstr "afficher la version de tin" +msgid "search forwards within this article" +msgstr "recherche avant dans cet article" #: src/lang.c:355 -msgid "mark all articles as read and return to group selection menu" -msgstr "marquer tous les articles comme lus et retourner au menu groupe" +msgid "show article in raw-mode (including all headers)" +msgstr "afficher la source des articles (incluant les en-têtes)" #: src/lang.c:356 -msgid "mark all articles as read and enter next group with unread articles" -msgstr "tout marquer comme lu et entrer dans le prochain groupe non lu" +msgid "skip next block of included text" +msgstr "passer au bloc suivant incluant du texte" #: src/lang.c:357 -msgid "choose first thread in list" -msgstr "choisir le 1er fil de la liste" +msgid "toggle display of sections hidden by a form-feed (^L) on/off" +msgstr "(dés)activer l'affichage des sections masquer par (^L)" #: src/lang.c:358 -msgid "choose last thread in list" -msgstr "choisir le dernier fil de la liste" +#, fuzzy +msgid "toggle display of all headers" +msgstr "(dés)activer l'affichage de tout article/articles non lus" #: src/lang.c:359 -msgid "list articles within current thread (bring up Thread sub-menu)" -msgstr "lister les articles du fil actuel (sous-menu fil)" +msgid "toggle word highlighting on/off" +msgstr "(dés)activer la surbrillance des mots" #: src/lang.c:360 -msgid "mark article as unread" -msgstr "marquer l'article comme non lu" +msgid "toggle ROT-13 (basic decode) for current article" +msgstr "(dés)activer ROT-13 (décodage basic) pour l'article actuel" #: src/lang.c:361 -msgid "mark current thread or tagged threads as read" -msgstr "marquer le fil actuel ou les fils marqués comme lus" +msgid "toggle tabwidth 4 <-> 8" +msgstr "basculer la taille de tabulation 4 <-> 8" #: src/lang.c:362 -msgid "mark thread as unread" -msgstr "marquer le fil comme non lu" +msgid "toggle german TeX style decoding for current article" +msgstr "(dés)activer le décodage Allemand de type TeX pour l'article actuel" #: src/lang.c:363 -msgid "toggle display of all/selected articles" -msgstr "(dés)activer la vue de tout article/articles sélectionnés" +msgid "toggle display of uuencoded sections" +msgstr "(dés)activer l'affichage des sections uuencodées" #: src/lang.c:364 -msgid "display next group" -msgstr "afficher le groupe suivant" +msgid "View/pipe/save multimedia attachments" +msgstr "Voir/passer/enregistrer les PJ multimédia" #: src/lang.c:365 -msgid "display previous group" -msgstr "afficher le groupe précédent" +msgid "choose first attachment in list" +msgstr "choisir la première pièce-jointe de la liste" #: src/lang.c:366 -msgid "toggle all selections (all articles)" -msgstr "(dés)activer toutes les sélections (tout article)" +msgid "0 - 9\t choose attachment by number" +msgstr "0 - 9\t choisir la pièce-jointe par son numéro" #: src/lang.c:367 -msgid "select group (make \"hot\")" -msgstr "sélection du groupe (utiliser \"hot\")" - -#: src/lang.c:368 -msgid "select thread" -msgstr "sélectionner le fil" +msgid "choose last attachment in list" +msgstr "choisir la dernière PJ de la liste" #: src/lang.c:369 -msgid "select threads if at least one unread article is selected" -msgstr "sél. les fils si au moins un article non lu est sélectionné" +msgid "pipe attachment into command" +msgstr "passer la pièce-jointe à une commande" #: src/lang.c:370 -msgid "select threads that match user specified pattern" -msgstr "sélectionner les fils qui correspondent au critère choisi" - -#: src/lang.c:371 -msgid "tag all parts of current multipart-message in order" -msgstr "marquer dans l'ordre toutes parties du message multiparties" +msgid "pipe raw attachment into command" +msgstr "passer la source de la PJ à une commande" #: src/lang.c:372 -msgid "0 - 9\t choose thread by number" -msgstr "0 - 9\t choisir le fil par numéro" +msgid "save attachment to disk" +msgstr "enregistrer la pièce-jointe" #: src/lang.c:373 -msgid "toggle limit number of articles to get, and reload" -msgstr "(dés)activer le nombre limite d'article à charger et à recharger" +msgid "search for attachments forwards" +msgstr "recherche avant des pièces-jointes" #: src/lang.c:374 -msgid "toggle display of all/unread articles" -msgstr "(dés)activer l'affichage de tout article/articles non lus" +msgid "search for attachments backwards" +msgstr "recherche arrière des pièces-jointes" #: src/lang.c:375 -msgid "toggle selection of thread" -msgstr "(dés)activer sélection du fil" +msgid "view attachment" +msgstr "voir la pièce-jointe" #: src/lang.c:376 -msgid "cycle through threading options available" -msgstr "voir toutes les options de groupage disponibles" +msgid "tag attachment" +msgstr "marquer la pièce-jointe" #: src/lang.c:377 -msgid "undo all selections (all articles)" -msgstr "annuler toutes sélections (tout article)" +msgid "tag attachments that match user specified pattern" +msgstr "marquer les PJ qui correspondant à une recherche" #: src/lang.c:378 -msgid "untag all tagged threads" -msgstr "démarquer tout fil marqué" +msgid "reverse tagging on all attachments (toggle)" +msgstr "annuler (ou pas) le marquage de toutes les PJ" #: src/lang.c:379 -msgid "mark all articles in group as read" -msgstr "marquer lu tous les articles du groupe" +msgid "untag all tagged attachments" +msgstr "démarquer toutes les PJ marquées" #: src/lang.c:380 -msgid "mark all articles in group as read and move to next unread group" -msgstr "marquer lu le groupe et aller au groupe non lu suivant" +msgid "toggle info message in last line (name/description of attachment)" +msgstr "(dés)activer le message d'info. de la dernière ligne (nom/description de la " + "PJ)" #: src/lang.c:381 -msgid "choose first group in list" -msgstr "choisir le 1er groupe de la liste" +msgid "choose first attribute in list" +msgstr "choisir le 1er article dans la liste" #: src/lang.c:382 -msgid "choose group by name" -msgstr "choisir le groupe par nom" +msgid "0 - 9\t choose attribute by number" +msgstr "0 - 9\t choisir un article par numéro" #: src/lang.c:383 -msgid "0 - 9\t choose group by number" -msgstr "0 - 9\t choisir un groupe par son numéro" +msgid "choose last attribute in list" +msgstr "choisir le dernier article dans la liste" #: src/lang.c:384 -msgid "choose range of groups to be affected by next command" -msgstr "choisir les groupes affectés par la commande suivante" +msgid "reset attribute to a default value" +msgstr "réinitialiser à sa valeur par défaut" #: src/lang.c:385 -msgid "choose last group in list" -msgstr "choisir le dernier groupe de la liste" +msgid "search forwards for an attribute" +msgstr "recherche avant d'un attribut" #: src/lang.c:386 -msgid "mark all articles in chosen group unread" -msgstr "marquer non lu tout article dans le groupe choisi" +msgid "search backwards for an attribute" +msgstr "recherche arrière d'un attribut" #: src/lang.c:387 -msgid "move chosen group within list" -msgstr "déplacer le groupe sélectionné" +msgid "select attribute" +msgstr "sélectionner un attribut" #: src/lang.c:388 -msgid "choose next group with unread news" -msgstr "choisir le groupe suivant ayant articles non lus" +msgid "toggle back to options menu when invoked from there" +msgstr "revenir au menu options lorsque demandé depuis ici" -#: src/lang.c:389 src/lang.c:1197 -msgid "quit" -msgstr "quitter" +#: src/lang.c:389 +#, c-format +msgid "report bug or comment via mail to %s" +msgstr "signaler un bogue ou envoi d'un commentaires à %s" #: src/lang.c:390 -msgid "quit without saving configuration changes" -msgstr "quitter sans enregistrer les changements" +msgid "choose first option in list" +msgstr "choisir la première option de la liste" #: src/lang.c:391 -msgid "read chosen group" -msgstr "lire le groupe choisi" +msgid "0 - 9\t choose option by number" +msgstr "0 - 9\t choisir une option par son numéro" #: src/lang.c:392 -msgid "reset .newsrc (all available articles in groups marked unread)" -msgstr "réinitialiser .newsrc (tout sera marqué non lu dans les groupes)" +msgid "choose last option in list" +msgstr "choisir la dernière option de la liste" #: src/lang.c:393 -msgid "search backwards for a group name" -msgstr "recherche arrière d'un groupe" +msgid "start scopes menu" +msgstr "afficher le menu des sélections" #: src/lang.c:394 -msgid " \t (all searches are case-insensitive and wrap around)" -msgstr " \t (les recherches sont sensibles à la casse)" +msgid "search forwards for an option" +msgstr "recherche avant d'une option" #: src/lang.c:395 -msgid "search forwards for a group name" -msgstr "recherche avant d'un groupe" +msgid "search backwards for an option" +msgstr "recherche arrière d'une option" #: src/lang.c:396 -msgid "subscribe to chosen group" -msgstr "s'abonner au groupe sélectionné" +msgid "select option" +msgstr "sélectionner une option" #: src/lang.c:397 -msgid "subscribe to groups that match pattern" -msgstr "abonnement aux groupes correspondant au critère" +msgid "toggle to attributes menu" +msgstr "(dés)activer le menu attributs" #: src/lang.c:398 -msgid "reread active file to check for any new news" -msgstr "vérifier l'existence de nouveaux articles" +msgid "choose range of articles to be affected by next command" +msgstr "choisir les articles qui seront affectés par la commande suivante" #: src/lang.c:399 -msgid "toggle display of group name only or group name plus description" -msgstr "afficher ou non le nom du groupe ou le nom + sa description" +msgid "escape from command prompt" +msgstr "quitter le prompt" #: src/lang.c:400 -msgid "toggle display to show all/unread subscribed groups" -msgstr "afficher ou non tous les groupes abonnés non lu" +msgid "edit filter file" +msgstr "éditer les filtres" #: src/lang.c:401 -msgid "unsubscribe from chosen group" -msgstr "se désabonner du groupe sélectionné" +msgid "get help" +msgstr "voir l'aide" #: src/lang.c:402 -msgid "unsubscribe from groups that match pattern" -msgstr "désabonnement aux groupes correspondant au critère" +msgid "display last article viewed" +msgstr "afficher le dernier article lu" #: src/lang.c:403 -msgid "sort the list of groups" -msgstr "trier la liste des groupes" +msgid "down one line" +msgstr "descendre d'une ligne" #: src/lang.c:404 -msgid "toggle display to show all/subscribed groups" -msgstr "afficher ou non tous les groupes abonnés" +msgid "up one line" +msgstr "monter d'une ligne" #: src/lang.c:405 -msgid "0 - 9\t choose article by number" -msgstr "0 - 9\t choisir article par numéro" +msgid "go to article chosen by Message-ID" +msgstr "aller à l'article via son Message-ID" #: src/lang.c:406 -msgid "mark thread as read and return to group index page" -msgstr "marquer le fil comme lu et revenir à la liste des groupes" +msgid "mail article/thread/hot/pattern/tagged articles to someone" +msgstr "envoyer article/fil/sél./articles marqués à une personne" #: src/lang.c:407 -msgid "mark thread as read and enter next unread thread or group" -msgstr "marquer le fil comme lu et aller dans le fil ou groupe non lu suivant" +msgid "menu of configurable options" +msgstr "menu des options réglables" #: src/lang.c:408 -msgid "choose first article in list" -msgstr "choisir le 1er article dans la liste" +msgid "down one page" +msgstr "descendre d'une page" #: src/lang.c:409 -msgid "choose last article in list" -msgstr "choisir le dernier article dans la liste" - -# TRANSLATION TOO LONG -#: src/lang.c:410 -msgid "mark article or tagged articles as read and move cursor to next unread article" -msgstr "marquer l'article ou les articles marqués comme lus et aller au prochain " - "article non lu" +msgid "up one page" +msgstr "monter d'une page" #: src/lang.c:411 -msgid "read chosen article" -msgstr "lire l'article choisi" +msgid "post (write) article to current group" +msgstr "poster (écrire) un article dans le groupe actuel" #: src/lang.c:412 -msgid "Display properties\n" - "------------------" -msgstr "Propriétés de l'affichage\n" - "-------------------------" - -#: src/lang.c:413 -msgid "Miscellaneous\n" - "-------------" -msgstr "Divers\n" - "------" +msgid "post postponed articles" +msgstr "poster les brouillons" #: src/lang.c:414 -msgid "Moving around\n" - "-------------" -msgstr "Navigation\n" - "----------" +msgid "list articles posted by you (from posted file)" +msgstr "lister les articles postés par vous (fichier posted)" #: src/lang.c:415 -msgid "Group/thread/article operations\n" - "-------------------------------" -msgstr "Opérations sur les Groupes / fils / articles\n" - "--------------------------------------------" +msgid "return to previous menu" +msgstr "retourner au menu précédent" + +#: src/lang.c:416 +msgid "quit tin immediately" +msgstr "quitter tin immédiatement" #: src/lang.c:417 -msgid "Group Level Commands" -msgstr "Commandes du niveau Groupe" +msgid "redraw page" +msgstr "rafraîchir la page" #: src/lang.c:418 -msgid "Kill filter added" -msgstr "Filtre ajouté" +msgid "save article/thread/hot/pattern/tagged articles to file" +msgstr "enregistrer article/fil/sél./articles marqués dans un fichier" #: src/lang.c:419 -msgid "Auto-selection filter added" -msgstr "Filtre à auto-sélection ajouté" +msgid "save marked articles automatically without user prompts" +msgstr "enregistrement auto. des articles marqués sans demander" #: src/lang.c:420 -msgid "All parts tagged" -msgstr "Toutes les parties sont marquées" +msgid "scroll the screen one line down" +msgstr "défiler une page par une page" #: src/lang.c:421 -msgid "Storing article for later posting" -msgstr "Stockage de l'article afin de le poster plus tard" +msgid "scroll the screen one line up" +msgstr "remonter une page par une page" #: src/lang.c:422 -msgid "Please enter a valid character" -msgstr "Entrez un caractère valide svp" +msgid "search for articles by author backwards" +msgstr "recherche arrière d'articles par auteur" #: src/lang.c:423 -#, c-format -msgid "Missing part #%d" -msgstr "Partie manquante #%d" +msgid "search for articles by author forwards" +msgstr "recherche avant d'articles par auteur" #: src/lang.c:424 -msgid "*** No postponed articles ***" -msgstr "*** Aucun brouillon ***" +msgid "search all articles for a given string (this may take some time)" +msgstr "rechercher partout un terme précis (cela peut prendre du temps)" #: src/lang.c:425 -msgid "Not a multi-part message" -msgstr "N'est pas un message en plusieurs parties" +msgid " \t (searches are case-insensitive and wrap around to all articles)" +msgstr " \t (les recherches ignorent la casse et s'opèrent sur tous les articles)" #: src/lang.c:426 -msgid "You are not subscribed to this group" -msgstr "Vous n'êtes pas abonné à ce groupe" +msgid "search for articles by Subject line backwards" +msgstr "recherche arrière d'articles par Sujet" #: src/lang.c:427 -msgid "No previous expression" -msgstr "Pas d'expression précédente" +msgid "search for articles by Subject line forwards" +msgstr "recherche avant d'articles par Sujet" #: src/lang.c:428 -msgid "Operation disabled in no-overwrite mode" -msgstr "Opération désactivée en mode lecture" +msgid "repeat last search" +msgstr "relancer la dernière recherche" + +#: src/lang.c:429 +msgid "tag current article for reposting/mailing/piping/printing/saving" +msgstr "marquer article pour repostage/envoi/passer/imprimer/enregistrer" -#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:430 -#, c-format -msgid "%d postponed %s, reuse with ^O...\n" -msgstr "%d %s brouillon(s), réutilisez-le(s) avec ^O...\n" +msgid "toggle info message in last line (subject/description)" +msgstr "afficher ou non les infos dans la dernière ligne (sujet/description)" #: src/lang.c:431 -msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" - " To get the whole article, turn alternative handling OFF in the Option Menu\n" -msgstr "X-Conversion-Note : contenus multiparties/alternatifs retirés.\n" - " Pour voir l'article complet, désactivez la prise en charge alternative " - "dans\n" - " le Menu Option.\n" +msgid "toggle inverse video" +msgstr "afficher ou non la vidéo inversée" + +#: src/lang.c:432 +msgid "toggle mini help menu display" +msgstr "afficher ou non le petit menu d'aide" #: src/lang.c:433 -#, c-format -msgid "Save filename for %s/%s is a mailbox. Attachment not saved" -msgstr "Enregistrer le fichier sous %s %s est une bàl. PJ non enregistrée" +msgid "cycle the display of authors email address, real name, both or neither" +msgstr "afficher cycliquement l'email des auteurs, nom réel, les deux ou aucun" #: src/lang.c:434 -msgid "TeX2Iso encoded article" -msgstr "Article encodé en TeX2Iso" +msgid "show version information" +msgstr "afficher la version de tin" #: src/lang.c:435 -msgid "incomplete " -msgstr "incomplet " +msgid "mark all articles as read and return to group selection menu" +msgstr "marquer tous les articles comme lus et retourner au menu groupe" + +#: src/lang.c:436 +msgid "mark all articles as read and enter next group with unread articles" +msgstr "tout marquer comme lu et entrer dans le prochain groupe non lu" -#. TODO: replace hardcoded key-names #: src/lang.c:437 -#, c-format -msgid "\n" - "Welcome to %s, a full screen threaded Netnews reader. It can read news " - "locally\n" - "(ie. /news) or remotely (-r option) from a NNTP (Network News " - "Transport\n" - "Protocol) server. -h lists the available command line options.\n" - "\n" - "%s has four newsreading levels, the newsgroup selection page, the group " - "index\n" - "page, the thread listing page and the article viewer. Help is available at " - "each\n" - "level by pressing the 'h' command.\n" - "\n" - "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " - "or\n" - "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" - "\n" - "Articles, threads, tagged articles or articles matching a pattern can be " - "mailed\n" - "('m' command), printed ('o' command), saved ('s' command), piped ('|' " - "command).\n" - "Use the 'w' command to post a news article, the 'f'/'F' commands to post " - "a\n" - "follow-up to an existing news article and the 'r'/'R' commands to reply " - "via\n" - "mail to an existing news article author. The 'M' command allows the " - "operation\n" - "of %s to be configured via a menu.\n" - "\n" - "For more information read the manual page, README, INSTALL, TODO and FTP " - "files.\n" - "Please send bug-reports/comments to %s with the 'R' command.\n" -msgstr "\n" - "Bienvenue dans %s, un lecteur de groupes UseNet. Pouvant également lire un\n" - "spool local (p.e. /news) ou depuis un serveur NNTP (Network News\n" - "Transport Protocol) distant (avec l'option -r). L'option -h liste les " - "options\n" - "principales de la ligne de commande.\n" - "\n" - "%s a quatre niveaux, la liste des groupes, l'index du groupe, le contenu du\n" - "fil de discussion, la visualisation de l'article. Une aide est visible " - "depuis\n" - "chaque niveaux en appuyant simplement sur 'h'.\n" - "\n" - "Déplacez-vous en utilisant les touches fléchées ou bien 'j' et 'k'. Utilisez\n" - "PgUp/PgDn ou Ctrl-U et Ctrl-D pour faire défiler la page de haut en bas.\n" - "Entrez dans un groupe en appuyant sur RETOUR/TAB.\n" - "\n" - "Les articles, fils, articles marqués ou articles correspondant à un critère\n" - "peuvent être envoyés par mail (commande 'm'), imprimés (commande 'o'),\n" - "enregistrés (commande 's'), passés dans un tuyau (commande '|').\n" - "Utilisez la commande 'w' pour poster un nouvel article, les commandes " - "'f'/'F'\n" - "pour poster un suivi en réponse à un article existant et les commandes " - "'r'/'R'\n" - "pour répondre par mail à l'auteur de l'article auquel vous répondez.\n" - "La commande 'M' permet de configurer %s via un menu.\n" - "\n" - "Pour plus d'informations, lisez les pages de manuel, ainsi que les fichiers\n" - "README, INSTALL, TODO et FTP.\n" - "Si vous constatez des bogues ou tout autre problème, envoyez s'il vous plaît\n" - "un rapport de bogue/commentaires à %s via la touche 'R'.\n" +msgid "choose first thread in list" +msgstr "choisir le 1er fil de la liste" + +#: src/lang.c:438 +msgid "choose last thread in list" +msgstr "choisir le dernier fil de la liste" + +#: src/lang.c:439 +msgid "list articles within current thread (bring up Thread sub-menu)" +msgstr "lister les articles du fil actuel (sous-menu fil)" + +#: src/lang.c:440 +msgid "mark article as unread" +msgstr "marquer l'article comme non lu" + +#: src/lang.c:441 +msgid "mark current thread, range or tagged threads as read" +msgstr "marquer le(s) fil(s) actuel(s) marqué(s) ou pas comme lu(s)" + +#: src/lang.c:442 +msgid "mark current thread, range or tagged threads as unread" +msgstr "marquer le fil actuel ou les fils marqués comme non lus" + +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "après avoir demandé, marquer lu l'actuel/sélectionné/champ/marqué" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "après avoir demandé, marquer non lu l'actuel/sélectionné/champ/marqué" + +#: src/lang.c:445 +msgid "toggle display of all/selected articles" +msgstr "(dés)activer la vue de tout article/articles sélectionnés" + +#: src/lang.c:446 +msgid "display next group" +msgstr "afficher le groupe suivant" + +#: src/lang.c:447 +msgid "display previous group" +msgstr "afficher le groupe précédent" + +#: src/lang.c:448 +msgid "toggle all selections (all articles)" +msgstr "(dés)activer toutes les sélections (tout article)" + +#: src/lang.c:449 +msgid "select group (make \"hot\")" +msgstr "sélection du groupe (utiliser \"hot\")" + +#: src/lang.c:450 +msgid "select thread" +msgstr "sélectionner le fil" + +#: src/lang.c:451 +msgid "select threads if at least one unread article is selected" +msgstr "sél. les fils si au moins un article non lu est sélectionné" + +#: src/lang.c:452 +msgid "select threads that match user specified pattern" +msgstr "sélectionner les fils qui correspondent au critère choisi" #: src/lang.c:453 -#, c-format -msgid "Invalid From: %s line. Read the INSTALL file again." -msgstr "En-tête From: %s invalide. Lisez le fichier INSTALL une 2e fois." +msgid "tag all parts of current multipart-message in order" +msgstr "marquer dans l'ordre toutes parties du message multiparties" + +#: src/lang.c:454 +msgid "0 - 9\t choose thread by number" +msgstr "0 - 9\t choisir le fil par numéro" -# TRANSLATION MISSING #: src/lang.c:455 -msgid "Invalid multibyte sequence found\n" -msgstr "" +msgid "toggle limit number of articles to get, and reload" +msgstr "(dés)activer le nombre limite d'article à charger et à recharger" + +#: src/lang.c:456 +msgid "toggle display of all/unread articles" +msgstr "(dés)activer l'affichage de tout article/articles non lus" #: src/lang.c:457 -#, c-format -msgid "Invalid Sender:-header %s" -msgstr "En-tête Sender: %s invalide" +msgid "toggle selection of thread" +msgstr "(dés)activer sélection du fil" #: src/lang.c:458 -msgid "Inverse video disabled" -msgstr "Vidéo inversée désactivée" +msgid "cycle through threading options available" +msgstr "voir toutes les options de groupage disponibles" #: src/lang.c:459 -msgid "Inverse video enabled" -msgstr "Vidéo inversée activée" +msgid "undo all selections (all articles)" +msgstr "annuler toutes sélections (tout article)" + +#: src/lang.c:460 +msgid "untag all tagged threads" +msgstr "démarquer tout fil marqué" #: src/lang.c:461 -#, c-format -msgid "Missing definition for %s\n" -msgstr "Définition manquante pour %s\n" +msgid "add new scope" +msgstr "ajouter une sélection" #: src/lang.c:462 -#, c-format -msgid "Invalid key definition '%s'\n" -msgstr "Définition de clé invalide '%s'\n" +msgid "delete scope" +msgstr "effacer la sélection" #: src/lang.c:463 -#, c-format -msgid "Invalid keyname '%s'\n" -msgstr "Nom de clé invalide '%s'\n" +msgid "edit attributes file" +msgstr "éditer le fichier attributes" #: src/lang.c:464 -#, c-format -msgid "Keymap file was upgraded to version %s\n" -msgstr "Le fichier keymap a été mis à jour en version %s\n" +msgid "choose first scope in list" +msgstr "choisir la 1ère sélection de la liste" #: src/lang.c:465 -#, c-format -msgid "Kill From: [%s] (y/n): " -msgstr " De : [%s] (o/n) : " +msgid "0 - 9\t choose scope by number" +msgstr "0 - 9\t choisir une sélection par son numéro" #: src/lang.c:466 -msgid "Kill Lines: (num): " -msgstr "Nombre de lignes (num) : " +msgid "choose last scope in list" +msgstr "choisir la dernière sélection de la liste" #: src/lang.c:467 -msgid "Kill Article Menu" -msgstr "Créer un filtre" +msgid "move scope" +msgstr "déplacer la sélection" #: src/lang.c:468 -#, c-format -msgid "Kill Msg-Id: [%s] (f/l/o/n): " -msgstr " MID : [%s] (t/d/a/n) : " +msgid "rename scope" +msgstr "renommer la sélection" #: src/lang.c:469 -msgid "Kill pattern scope : " -msgstr "Filtre s'appliquant à : " +msgid "select scope" +msgstr "faire une sélection" #: src/lang.c:470 -#, c-format -msgid "Kill Subject: [%s] (y/n): " -msgstr "Sujet : [%s] (o/n) : " +msgid "mark all articles in group as read" +msgstr "marquer lu tous les articles du groupe" #: src/lang.c:471 -msgid "Kill text pattern : " -msgstr "Texte à filtrer : " +msgid "mark all articles in group as read and move to next unread group" +msgstr "marquer lu le groupe et aller au groupe non lu suivant" #: src/lang.c:472 -msgid "Kill time in days : " -msgstr "Durée du filtre : " +msgid "choose first group in list" +msgstr "choisir le 1er groupe de la liste" + +#: src/lang.c:473 +msgid "choose group by name" +msgstr "choisir le groupe par nom" #: src/lang.c:474 -msgid "Last" -msgstr "Dernier" +msgid "0 - 9\t choose group by number" +msgstr "0 - 9\t choisir un groupe par son numéro" #: src/lang.c:475 -msgid "-- Last response --" -msgstr "-- Dernière réponse --" +msgid "choose range of groups to be affected by next command" +msgstr "choisir les groupes affectés par la commande suivante" #: src/lang.c:476 -#, c-format -msgid "Lines %s " -msgstr "%s lignes " +msgid "choose last group in list" +msgstr "choisir le dernier groupe de la liste" + +#: src/lang.c:477 +msgid "mark all articles in chosen group unread" +msgstr "marquer non lu tout article dans le groupe choisi" #: src/lang.c:478 -msgid "Message-ID: line " -msgstr "l'en-tête 'Message-ID:'" +msgid "move chosen group within list" +msgstr "déplacer le groupe sélectionné" #: src/lang.c:479 -msgid "Mail" -msgstr "Envoyer" +msgid "choose next group with unread news" +msgstr "choisir le groupe suivant ayant articles non lus" -#: src/lang.c:480 -msgid "mailbox " -msgstr "bàl" +#: src/lang.c:480 src/lang.c:1351 +msgid "quit" +msgstr "quitter" #: src/lang.c:481 -#, c-format -msgid "Mail article(s) to [%.*s]> " -msgstr "Envoyer article(s) à [%.*s] > " +msgid "quit without saving configuration changes" +msgstr "quitter sans enregistrer les changements" #: src/lang.c:482 -#, c-format -msgid "Mailing log to %s\n" -msgstr "Envoi de l'historique à %s\n" +msgid "read chosen group" +msgstr "lire le groupe choisi" #: src/lang.c:483 -msgid "Mail bug report..." -msgstr "Envoi d'un rapport de bug..." +msgid "reset .newsrc (all available articles in groups marked unread)" +msgstr "réinitialiser .newsrc (tout sera marqué non lu dans les groupes)" #: src/lang.c:484 -#, c-format -msgid "Mail BUG REPORT to %s?" -msgstr "Signaler LE BUG à %s ?" +msgid "search backwards for a group name" +msgstr "recherche arrière d'un groupe" #: src/lang.c:485 -msgid "Mailed" -msgstr "Envoyé" +msgid " \t (all searches are case-insensitive and wrap around)" +msgstr " \t (les recherches sont sensibles à la casse)" #: src/lang.c:486 -#, c-format -msgid "Mailing to %s..." -msgstr "Envoi à %s..." +msgid "search forwards for a group name" +msgstr "recherche avant d'un groupe" #: src/lang.c:487 -msgid "# [Mail/Save] active file. Format is like news active file:\n" - "# groupname max.artnum min.artnum /dir\n" - "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" - "#\n" -msgstr "# [Envoyer/Enregistrer] fichier active. Le format ressemble à\n" - "# celui du fichier news active :\n" - "# nom_groupe max.numéro_art min.numéro_art /répertoire\n" - "# Le 4ème champ est le répertoire racine utilisé\n" - "# (p.e. ~/Mail ou ~/News)\n" +msgid "subscribe to chosen group" +msgstr "s'abonner au groupe sélectionné" + +#: src/lang.c:488 +msgid "subscribe to groups that match pattern" +msgstr "abonnement aux groupes correspondant au critère" + +#: src/lang.c:489 +msgid "reread active file to check for any new news" +msgstr "vérifier l'existence de nouveaux articles" #: src/lang.c:490 -#, c-format -msgid "%s marked as unread" -msgstr "%s marqué comme non lu" +msgid "toggle display of group name only or group name plus description" +msgstr "afficher ou non le nom du groupe ou le nom + sa description" #: src/lang.c:491 -#, c-format -msgid "Marked %d of %d tagged %s as read" -msgstr "%d marqué(s) sur %d sélectionné(s) %s comme lu(s)" +msgid "toggle display to show all/unread subscribed groups" +msgstr "afficher ou non tous les groupes abonnés non lu" #: src/lang.c:492 -#, c-format -msgid "Mark all articles as read%s?" -msgstr "Marquer tous les articles comme lus%s ?" +msgid "unsubscribe from chosen group" +msgstr "se désabonner du groupe sélectionné" #: src/lang.c:493 -#, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " -msgstr "Marquer %s=art. marqués, %s=article actuel, %s=quitter : " +msgid "unsubscribe from groups that match pattern" +msgstr "désabonnement aux groupes correspondant au critère" #: src/lang.c:494 -#, c-format -msgid "Mark group %s as read?" -msgstr "Marquer le groupe %s comme lu ?" +msgid "sort the list of groups" +msgstr "trier la liste des groupes" #: src/lang.c:495 -#, c-format -msgid "Mark thread as read%s?" -msgstr "Marquer le fil comme lu%s ?" +msgid "toggle display to show all/subscribed groups" +msgstr "afficher ou non tous les groupes abonnés" #: src/lang.c:496 -#, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " -msgstr "Marquer %s=art./fils marqués, %s=fil actuel, %s=quitter : " +msgid "0 - 9\t choose article by number" +msgstr "0 - 9\t choisir article par numéro" #: src/lang.c:497 -#, c-format -msgid "Matching %s groups..." -msgstr "%s groupes correspondants..." +msgid "mark thread as read and return to group index page" +msgstr "marquer le fil comme lu et revenir à la liste des groupes" -#: src/lang.c:498 src/lang.c:502 -#, c-format -msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" -msgstr "=voir 'n'; %s=non lu suivant; %s=rechercher; %s=filtrer/sél." +#: src/lang.c:498 +msgid "mark thread as read and enter next unread thread or group" +msgstr "marquer le fil comme lu et aller dans le fil ou groupe non lu suivant" #: src/lang.c:499 -#, c-format -msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " - "thread" -msgstr "%s=rech. auteur; %s=tout lu; %s=bas; %s=haut; %s=marquer lu; %s=voir fil" +msgid "choose first article in list" +msgstr "choisir le 1er article dans la liste" #: src/lang.c:500 -#, c-format -msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" -msgstr "%s=haut; %s=bas; %s=haut de page; %s=bas de page; %s=haut; %s=bas" +msgid "choose last article in list" +msgstr "choisir le dernier article dans la liste" #: src/lang.c:501 -#, c-format -msgid "%s=search forwards; %s=search backwards; %s=quit" -msgstr "%s=recherche avant; %s=recherche arrière; %s=quitter" +msgid "mark art, range or tagged arts as read; move crsr to next unread art" +msgstr "marquer le ou les articles marqués comme lus et aller au prochain non lu" + +#: src/lang.c:502 +msgid "mark article, range or tagged articles as unread" +msgstr "marquer l'article actuel ou les articles marqués comme non lus" #: src/lang.c:503 -#, c-format -msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" -msgstr "%s=rech. auteur; %s=rech. corps; %s=tout marquer lu; %s=suivi; %s=marquer lu" +msgid "mark current thread as unread" +msgstr "marquer le fil actuel comme non lu" #: src/lang.c:504 -#, c-format -msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" -msgstr "=voir 'n'; %s=non lu suivant; %s,%s=rechercher; %s=tout lu" +msgid "read chosen article" +msgstr "lire l'article choisi" #: src/lang.c:505 -#, c-format -msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" -msgstr "%s=bas; %s=haut; %s=aide; %s=déplacer; %s=quitter; %s=voir lu/non lu" +msgid "Display properties\n" + "------------------" +msgstr "Propriétés de l'affichage\n" + "-------------------------" #: src/lang.c:506 -#, c-format -msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" -msgstr "%s=abonner; %s=sous-critère; %s=désabonner; %s=critère; %s=liste des groupes" +msgid "Miscellaneous\n" + "-------------" +msgstr "Divers\n" + "------" #: src/lang.c:507 -#, c-format -msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" -msgstr "=voir 'n'; %s=non lu suivant; %s=tout lu; %s=basculer l'affichage" +msgid "Moving around\n" + "-------------" +msgstr "Navigation\n" + "----------" #: src/lang.c:508 -#, c-format -msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" -msgstr "%s=aide; %s=bas; %s=haut; %s=quitter; %s=marquer; %s=marquer non lu" +msgid "Group/thread/article operations\n" + "-------------------------------" +msgstr "Opérations sur les Groupes / fils / articles\n" + "--------------------------------------------" #: src/lang.c:509 -msgid "--More--" -msgstr "-- Suite --" +msgid "Attachment operations\n" + "---------------------" +msgstr "Opérations sur les pièces-jointes\n" + "---------------------------------" #: src/lang.c:510 -#, c-format -msgid "Moving %s..." -msgstr "Déplacement de %s..." +msgid "Attribute operations\n" + "--------------------" +msgstr "Opérations sur les attributs\n" + "----------------------------" + +#: src/lang.c:511 +msgid "Option operations\n" + "-----------------" +msgstr "Options des opérations\n" + "----------------------" #: src/lang.c:512 -msgid ", name: " -msgstr ", nom : " +msgid "Scope operations\n" + "----------------" +msgstr "Opérations sur les sélections\n" + "-----------------------------" #: src/lang.c:513 -#, c-format -msgid "Goto newsgroup [%s]> " -msgstr "Aller dans le groupe [%s]> " +msgid "URL operations\n" + "--------------" +msgstr "Opérations sur les URL\n" + "----------------------" #: src/lang.c:514 -msgid "newsgroups" -msgstr "groupes" +msgid "choose first URL in list" +msgstr "choisir la première URL de la liste" #: src/lang.c:515 -#, c-format -msgid "Position %s in group list (1,2,..,$) [%d]> " -msgstr "Placer %s dans la liste des groupes (1,2,..,$) [%d]> " +msgid "0 - 9\t choose URL by number" +msgstr "0 - 9\t choisir l'URL par son numéro" #: src/lang.c:516 -msgid "newsgroup" -msgstr "groupe" +msgid "choose last URL in list" +msgstr "choisir la dernière URL de la liste" #: src/lang.c:517 -msgid "Try and save newsrc file again?" -msgstr "Encore essayer et enregistrer le newsrc ?" +msgid "search for URLs forwards" +msgstr "recherche avant des URLs" #: src/lang.c:518 -msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." -msgstr "Attention : Aucuns groupes n'a été écrits dans le newsrc. Enregistrement " - "annulé." +msgid "search for URLs backwards" +msgstr "recherche arrière des URLs" #: src/lang.c:519 -msgid "newsrc file saved successfully.\n" -msgstr "le newsrc a été enregistré avec succès.\n" +msgid "Open URL in browser" +msgstr "Ouvrir l'URL dans le navigateur" #: src/lang.c:520 -msgid "-- Next response --" -msgstr "-- Réponse suivante --" - -#: src/lang.c:521 -#, c-format -msgid "NNTP authorization password not found for %s" -msgstr "Mot de passe NNTP introuvable pour %s" +msgid "toggle info message in last line (URL)" +msgstr "(dés)activer le message d'info. dans la dernière ligne (URL)" #: src/lang.c:522 -msgid "No " -msgstr "Non " +msgid "Group Level Commands" +msgstr "Commandes du niveau Groupe" #: src/lang.c:523 -msgid "*** No articles ***" -msgstr "*** Aucun article ***" +msgid "Kill filter added" +msgstr "Filtre ajouté" #: src/lang.c:524 -msgid "No articles have been posted" -msgstr "Aucun article n'a été posté" +msgid "Auto-selection filter added" +msgstr "Filtre à auto-sélection ajouté" #: src/lang.c:525 -msgid "*** No description ***" -msgstr "*** Aucune description ***" +msgid "All parts tagged" +msgstr "Toutes les parties sont marquées" #: src/lang.c:526 -msgid "No filename" -msgstr "Pas de nom de fichier" +msgid "Storing article for later posting" +msgstr "Stockage de l'article afin de le poster plus tard" #: src/lang.c:527 -msgid "No group" -msgstr "Pas de groupe" +msgid "Please enter a valid character" +msgstr "Entrez un caractère valide svp" #: src/lang.c:528 -msgid "*** No groups ***" -msgstr "*** Aucun groupe ***" +#, c-format +msgid "Missing part #%d" +msgstr "Partie manquante #%d" #: src/lang.c:529 -msgid "No more groups to read" -msgstr "Plus de groupes à lire" +msgid "*** No postponed articles ***" +msgstr "*** Aucun brouillon ***" #: src/lang.c:530 -msgid "No last message" -msgstr "Aucun dernier message" +msgid "Not a multi-part message" +msgstr "N'est pas un message en plusieurs parties" #: src/lang.c:531 -msgid "No mail address" -msgstr "Aucune adresse email" +msgid "You are not subscribed to this group" +msgstr "Vous n'êtes pas abonné à ce groupe" #: src/lang.c:532 -msgid "No articles marked for saving" -msgstr "Aucun article marqué à enregistrer" +msgid "No previous expression" +msgstr "Pas d'expression précédente" #: src/lang.c:533 -msgid "No match" -msgstr "Aucun résultat" - -#: src/lang.c:534 -msgid "No more groups" -msgstr "Plus de groupes" +msgid "Operation disabled in no-overwrite mode" +msgstr "Opération désactivée en mode lecture" +#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:535 -msgid "No newsgroups" -msgstr "Aucun groupe" +#, c-format +msgid "%d postponed %s, reuse with ^O...\n" +msgstr "%d %s brouillon(s), réutilisez-le(s) avec ^O...\n" #: src/lang.c:536 -msgid "No next unread article" -msgstr "Aucun article non lu suivant" - -#: src/lang.c:537 -msgid "No previous group" -msgstr "Aucun groupe précédent" +msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" + " To get the whole article, turn alternative handling OFF in the Option Menu\n" +msgstr "X-Conversion-Note : contenus multiparties/alternatifs retirés.\n" + " Pour voir l'article complet, désactivez la prise en charge alternative " + "dans\n" + " le Menu Option.\n" #: src/lang.c:538 -msgid "No previous unread article" -msgstr "Aucun article non lu précédent" +#, c-format +msgid "Save filename for %s/%s is a mailbox. Attachment not saved" +msgstr "Enregistrer le fichier sous %s %s est une bàl. PJ non enregistrée" #: src/lang.c:539 -msgid "No responses" -msgstr "Aucune réponse" +msgid "TeX2Iso encoded article" +msgstr "Article encodé en TeX2Iso" #: src/lang.c:540 -msgid "No responses to list in current thread" -msgstr "Aucune réponse à afficher dans le fil actuel" - -#: src/lang.c:541 -msgid "No search string" -msgstr "Aucun terme à rechercher" +msgid "incomplete " +msgstr "incomplet " +#. TODO: replace hardcoded key-names #: src/lang.c:542 -msgid "No subject" -msgstr "Aucun sujet" - -#: src/lang.c:544 #, c-format -msgid "%s: Terminal must have clear to end-of-line (ce)\n" -msgstr "%s: Terminal doit avoir la fonction clear to end-of-line (ce)\n" - -#: src/lang.c:545 -#, c-format -msgid "%s: Terminal must have clear to end-of-screen (cd)\n" -msgstr "%s: Terminal doit avoir la fonction clear to end-of-screen (cd)\n" - -#: src/lang.c:546 -#, c-format -msgid "%s: Terminal must have clearscreen (cl) capability\n" -msgstr "%s: Terminal doit avoir la fonction clearscreen (cl)\n" - -#: src/lang.c:547 -#, c-format -msgid "%s: Terminal must have cursor motion (cm)\n" -msgstr "%s: Terminal doit avoir la fonction cursor motion (cm)\n" - -#: src/lang.c:548 -#, c-format -msgid "%s: TERM variable must be set to use screen capabilities\n" -msgstr "%s: la variable TERM doit être utilisée pour utiliser les fonctions\n" - -#: src/lang.c:550 -#, c-format -msgid "No viewer found for %s/%s\n" -msgstr "Visualiseur introuvable pour %s/%s\n" - -#: src/lang.c:551 -msgid "Newsgroup does not exist on this server" -msgstr "Groupe inexistant sur ce serveur" - -#: src/lang.c:552 -#, c-format -msgid "Group %s not found in active file" -msgstr "Groupe %s introuvable dans le fichier active" - -#: src/lang.c:553 -msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "c)réer, utiliser a)utre nom, utiliser .newsrc par d)éfaut, q)uitter tin : " - -#: src/lang.c:554 -msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "utiliser a)utre nom, utiliser .newsrc par d)éfaut, q)uitter tin : " - -#: src/lang.c:555 -#, c-format -msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" - "# shortname list for %s %s\n" - "#\n" - "# the format of this file is\n" - "# ...\n" - "#\n" - "# if is given without path, $HOME is assumed as its location\n" - "#\n" - "# examples:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" -msgstr "# Serveur NNTP -> tableau de correspondance du newsrc et serveur NNTP\n" - "# liste des alias pour %s %s\n" - "#\n" - "# le format de ce fichier est le suivant :\n" - "# ...\n" - "#\n" - "# si n'inclus pas le chemin,\n" - "# $HOME est alors considéré comme celui par défaut\n" - "#\n" - "# exemples :\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" - -#: src/lang.c:562 -msgid "Only" -msgstr "Actuel" +msgid "\n" + "Welcome to %s, a full screen threaded Netnews reader. It can read news " + "locally\n" + "(ie. /news) or remotely (-r option) from a NNTP (Network News " + "Transport\n" + "Protocol) server. -h lists the available command line options.\n" + "\n" + "%s has four newsreading levels, the newsgroup selection page, the group " + "index\n" + "page, the thread listing page and the article viewer. Help is available at " + "each\n" + "level by pressing the 'h' command.\n" + "\n" + "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " + "or\n" + "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" + "\n" + "Articles, threads, tagged articles or articles matching a pattern can be " + "mailed\n" + "('m' command), printed ('o' command), saved ('s' command), piped ('|' " + "command).\n" + "Use the 'w' command to post a news article, the 'f'/'F' commands to post " + "a\n" + "follow-up to an existing news article and the 'r'/'R' commands to reply " + "via\n" + "mail to an existing news article author. The 'M' command allows the " + "operation\n" + "of %s to be configured via a menu.\n" + "\n" + "For more information read the manual page, README, INSTALL, TODO and FTP " + "files.\n" + "Please send bug-reports/comments to %s with the 'R' command.\n" +msgstr "\n" + "Bienvenue dans %s, un lecteur de groupes UseNet. Pouvant également lire un\n" + "spool local (p.e. /news) ou depuis un serveur NNTP (Network News\n" + "Transport Protocol) distant (avec l'option -r). L'option -h liste les " + "options\n" + "principales de la ligne de commande.\n" + "\n" + "%s a quatre niveaux, la liste des groupes, l'index du groupe, le contenu du\n" + "fil de discussion, la visualisation de l'article. Une aide est visible " + "depuis\n" + "chaque niveaux en appuyant simplement sur 'h'.\n" + "\n" + "Déplacez-vous en utilisant les touches fléchées ou bien 'j' et 'k'. Utilisez\n" + "PgUp/PgDn ou Ctrl-U et Ctrl-D pour faire défiler la page de haut en bas.\n" + "Entrez dans un groupe en appuyant sur RETOUR/TAB.\n" + "\n" + "Les articles, fils, articles marqués ou articles correspondant à un critère\n" + "peuvent être envoyés par mail (commande 'm'), imprimés (commande 'o'),\n" + "enregistrés (commande 's'), passés à une commande (commande '|').\n" + "Utilisez la commande 'w' pour poster un nouvel article, les commandes " + "'f'/'F'\n" + "pour poster un suivi en réponse à un article existant et les commandes " + "'r'/'R'\n" + "pour répondre par mail à l'auteur de l'article auquel vous répondez.\n" + "La commande 'M' permet de configurer %s via un menu.\n" + "\n" + "Pour plus d'informations, lisez les pages de manuel, ainsi que les fichiers\n" + "README, INSTALL, TODO et FTP.\n" + "Si vous constatez des bogues ou tout autre problème, envoyez s'il vous plaît\n" + "un rapport de bogue/commentaires à %s via la touche 'R'.\n" + +#: src/lang.c:558 +#, c-format +msgid "Invalid From: %s line. Read the INSTALL file again." +msgstr "En-tête From: %s invalide. Lisez le fichier INSTALL une 2e fois." + +#: src/lang.c:560 +msgid "Invalid multibyte sequence found\n" +msgstr "Séquence multibyte invalide trouvée\n" #: src/lang.c:563 #, c-format -msgid "Option not enabled. Recompile with %s." -msgstr "Option non activée. Recompilez avec %s." +msgid "Invalid Sender:-header %s" +msgstr "En-tête Sender: %s invalide" -#: src/lang.c:564 -msgid "Options Menu" -msgstr "Menu Options" - -#: src/lang.c:567 -#, c-format -msgid "Error in regex: %s at pos. %d '%s'" -msgstr "Erreur dans la regex : %s à %d '%s'" +#: src/lang.c:565 +msgid "Inverse video disabled" +msgstr "Vidéo inversée désactivée" + +#: src/lang.c:566 +msgid "Inverse video enabled" +msgstr "Vidéo inversée activée" #: src/lang.c:568 #, c-format -msgid "Error in regex: pcre internal error %d" -msgstr "Erreur dans la regex : erreur pcre interne %d" +msgid "Missing definition for %s\n" +msgstr "Définition manquante pour %s\n" #: src/lang.c:569 #, c-format -msgid "Error in regex: study - pcre internal error %s" -msgstr "Erreur dans la regex : study - erreur pcre interne %s" +msgid "Invalid key definition '%s'\n" +msgstr "Définition de clé invalide '%s'\n" #: src/lang.c:570 -msgid "Post a followup..." -msgstr "Postage du suivi..." +#, c-format +msgid "Invalid keyname '%s'\n" +msgstr "Nom de clé invalide '%s'\n" + +#: src/lang.c:571 +#, c-format +msgid "Keymap file was upgraded to version %s\n" +msgstr "Le fichier keymap a été mis à jour en version %s\n" -#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone #: src/lang.c:572 -msgid "An error has occurred while posting the article. If you think that this\n" - "error is temporary or otherwise correctable, you can postpone the article\n" - "and pick it up again with ^O later.\n" -msgstr "Une erreur est survenue lors du postage de l'article. Si vous pensez que\n" - "cette erreur est temporaire ou alors corrigeable, vous pouvez enregistrer\n" - "l'article comme brouillon et le réutiliser plus tard grâce à la commande ^O.\n" +#, c-format +msgid "Kill From: [%s] (y/n): " +msgstr " De : [%s] (o/n) : " + +#: src/lang.c:573 +msgid "Kill Lines: (num): " +msgstr "Nombre de lignes (num) : " + +#: src/lang.c:574 +msgid "Kill Article Menu" +msgstr "Créer un filtre" #: src/lang.c:575 -msgid "Posted articles history" -msgstr "Historique des articles postés" +#, c-format +msgid "Kill Msg-Id: [%s] (f/l/o/n): " +msgstr " MID : [%s] (t/d/a/n) : " #: src/lang.c:576 -#, c-format -msgid "Post to newsgroup(s) [%s]> " -msgstr "Poster dans groupe(s) [%s]> " +msgid "Kill pattern scope : " +msgstr "Filtre s'appliquant à : " #: src/lang.c:577 -msgid "-- post processing started --" -msgstr "-- post-traitement lancé --" +#, c-format +msgid "Kill Subject: [%s] (y/n): " +msgstr "Sujet : [%s] (o/n) : " #: src/lang.c:578 -msgid "-- post processing completed --" -msgstr "-- post-traitement terminé --" +msgid "Kill text pattern : " +msgstr "Texte à filtrer : " #: src/lang.c:579 -#, c-format -msgid "Post subject [%s]> " -msgstr "Poster le sujet [%s] > " - -#: src/lang.c:580 -msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" -msgstr "# Sommaire des messages envoyés/postés visible par la commande 'W' depuis " - "tin.\n" +msgid "Kill time in days : " +msgstr "Durée du filtre : " #: src/lang.c:581 -msgid "Posting article..." -msgstr "Postage de l'article..." +msgid "Last" +msgstr "Dernier" #: src/lang.c:582 -#, c-format -msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " -msgstr "Poster les brouillons [%%s] ? (%s/%s/%s/%s/%s) : " +msgid "-- Last response --" +msgstr "-- Dernière réponse --" #: src/lang.c:583 #, c-format -msgid "Hot %s" -msgstr "%s sélectionné" - -#: src/lang.c:584 -#, c-format -msgid "Tagged %s" -msgstr "%s marqué" +msgid "Lines %s " +msgstr "%s lignes " #: src/lang.c:585 -#, c-format -msgid "Untagged %s" -msgstr "%s non marqué" +msgid "Mail" +msgstr "Envoyer" #: src/lang.c:586 -msgid "Processing mail messages marked for deletion." -msgstr "Traitement des emails enregistrés marqués pour effacement." +msgid "mailbox " +msgstr "bàl" #: src/lang.c:587 -msgid "Processing saved articles marked for deletion." -msgstr "Traitement des articles enregistrés marqués pour effacement." +#, c-format +msgid "Mail article(s) to [%.*s]> " +msgstr "Envoyer article(s) à [%.*s] > " #: src/lang.c:588 #, c-format -msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " -msgstr "Accepter le Suivi ? %s=poster, %s=ignorer, %s=quitter : " +msgid "Mailing log to %s\n" +msgstr "Envoi de l'historique à %s\n" #: src/lang.c:589 -msgid "Article unchanged, abort mailing?" -msgstr "Article inchangé, annuler l'envoi ?" +msgid "Mail bug report..." +msgstr "Envoi d'un rapport de bogue..." #: src/lang.c:590 #, c-format -msgid "Do you want to see postponed articles (%d)?" -msgstr "Voulez-vous voir les brouillons (%d) ?" +msgid "Mail BUG REPORT to %s?" +msgstr "Signaler le BOGUE à %s ?" + +#: src/lang.c:591 +msgid "Mailed" +msgstr "Envoyé" #: src/lang.c:592 -msgid "Add quick kill filter?" -msgstr "Ajouter rapidement un filtre ?" +#, c-format +msgid "Mailing to %s..." +msgstr "Envoi à %s..." #: src/lang.c:593 -msgid "Add quick selection filter?" -msgstr "Ajouter rapidement une règle ?" - -#: src/lang.c:594 -msgid "Do you really want to quit?" -msgstr "Voulez-vous réellement quitter ?" - -#: src/lang.c:595 -#, c-format -msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " -msgstr "%s=éditer message d'annulation, %s=quitter, %s=effacer (annuler) [%%s] : " +msgid "# [Mail/Save] active file. Format is like news active file:\n" + "# groupname max.artnum min.artnum /dir\n" + "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" + "#\n" +msgstr "# [Envoyer/Enregistrer] fichier active. Le format ressemble à\n" + "# celui du fichier news active :\n" + "# nom_groupe max.numéro_art min.numéro_art /répertoire\n" + "# Le 4ème champ est le répertoire racine utilisé\n" + "# (p.e. ~/Mail ou ~/News)\n" #: src/lang.c:596 -msgid "You have tagged articles in this group - quit anyway?" -msgstr "Vous avez des articles marqués dans ce groupe - quitter quand même ?" +#, c-format +msgid "%s marked as read" +msgstr "%s marqué comme lu" #: src/lang.c:597 #, c-format -msgid "%s=quit, %s=edit, %s=postpone: " -msgstr "%s=quitter, %s=éditer, %s=brouillon : " +msgid "%s marked as unread" +msgstr "%s marqué comme non lu" #: src/lang.c:598 #, c-format -msgid "%s=quit %s=edit %s=save kill description: " -msgstr "%s=quitter, %s=éditer, %s=enregistrer le filtre : " +msgid "Marked %d of %d %s as read" +msgstr "%d sur %d %s marqué(s) comme lu(s)" #: src/lang.c:599 #, c-format -msgid "%s=quit %s=edit %s=save select description: " -msgstr "%s=quitter %s=éditer %s=enregistrer la règle : " +msgid "Marked %d of %d %s as unread" +msgstr "%d sur %d %s marqué(s) comme non lu(s)" -#: src/lang.c:600 -msgid "Do you really want to quit without saving your configuration?" -msgstr "Voulez-vous réellement quitter sans enregistrer votre configuration ?" +#: src/lang.c:600 src/lang.c:1321 +msgid "Mark" +msgstr "Marque" + +#: src/lang.c:601 +#, c-format +msgid "Mark all articles as read%s?" +msgstr "Marquer tous les articles comme lus%s ?" + +#: src/lang.c:602 +#, c-format +msgid "Mark article as read%s?" +msgstr "Marquer l'article comme lu%s ?" #: src/lang.c:603 -msgid "Invalid range - valid are '0-9.$' eg. 1-$" -msgstr "Champ invalide - '0-9.$' pe. 1-$ est valide" +#, c-format +msgid "Mark group %s as read?" +msgstr "Marquer le groupe %s comme lu ?" #: src/lang.c:604 -msgid "Do you want to abort this operation?" -msgstr "Voulez-vous annuler cette opération ?" +#, c-format +msgid "Mark thread as read%s?" +msgstr "Marquer le fil comme lu%s ?" #: src/lang.c:605 -msgid "Do you want to exit tin immediately?" -msgstr "Voulez-vous quitter tin immédiatement ?" - -#: src/lang.c:606 -msgid "Read response> " -msgstr "Lire la réponse> " - -#: src/lang.c:607 -msgid "Reading ('q' to quit)..." -msgstr "Lecture ('q' pour quitter)..." +#, c-format +msgid "Matching %s groups..." +msgstr "%s groupes correspondants..." -#: src/lang.c:608 +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 #, c-format -msgid "Reading %sarticles..." -msgstr "Lecture de %sarticles..." +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "=mettre l'actuel à n; %s=descendre; %s=monter; %s=aide; %s=quitter" -#: src/lang.c:609 +#: src/lang.c:608 #, c-format -msgid "Reading %sattributes file...\n" -msgstr "Lecture du fichier %sattributes...\n" +msgid "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=voir; %s=passer; %s=passer la source; %s=enregistrer; %s=marquer; %" + "s=marquer sélection; %s=tout démarquer" #: src/lang.c:610 #, c-format -msgid "Reading %sconfig file...\n" -msgstr "Lecture du fichier %sconfig...\n" - -#: src/lang.c:611 -msgid "Reading filter file...\n" -msgstr "Lecture du fichier filter...\n" +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=voir; %s=enregistrer; %s=marquer; %s=marquer sélection; %s=tout démarquer" #: src/lang.c:612 #, c-format -msgid "Reading %s groups..." -msgstr "Lecture de %s groupes..." +msgid "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=(dés)activer le marquage; %s=recherche avant; %s=recherche arrière; %" + "s=répéter la recherche" -#: src/lang.c:613 -msgid "Reading input history file...\n" -msgstr "Lecture du fichier d'historique...\n" +#: src/lang.c:613 src/lang.c:617 +#, c-format +msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" +msgstr "=voir 'n'; %s=non lu suivant; %s=rechercher; %s=filtrer/sél." #: src/lang.c:614 -msgid "Reading keymap file...\n" -msgstr "Lecture du fichier keymap...\n" +#, c-format +msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " + "thread" +msgstr "%s=rech. auteur; %s=tout lu; %s=bas; %s=haut; %s=marquer lu; %s=voir fil" #: src/lang.c:615 -msgid "Reading groups from active file... " -msgstr "Lecture des groupes depuis le fichier active... " +#, c-format +msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" +msgstr "%s=haut; %s=bas; %s=haut de page; %s=bas de page; %s=haut; %s=bas" #: src/lang.c:616 -msgid "Reading groups from newsrc file... " -msgstr "Lecture des groupes depuis le fichier newsrc... " - -#: src/lang.c:617 -msgid "Reading newsgroups file... " -msgstr "Lecture du fichier newsgroups... " +#, c-format +msgid "%s=search forwards; %s=search backwards; %s=quit" +msgstr "%s=recherche avant; %s=recherche arrière; %s=quitter" #: src/lang.c:618 -msgid "Reading newsrc file..." -msgstr "Lecture du fichier newsrc..." +#, c-format +msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" +msgstr "%s=rech. auteur; %s=rech. corps; %s=tout marquer lu; %s=suivi; %s=marquer lu" -#: src/lang.c:620 +#: src/lang.c:619 #, c-format -msgid "(%d:%02d remaining)" -msgstr "(%d:%02d restant)" +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "%s=ajouter; %s=déplacer; %s=renommer; %s=effacer" + +#: src/lang.c:621 +#, c-format +msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" +msgstr "=voir 'n'; %s=non lu suivant; %s,%s=rechercher; %s=tout lu" #: src/lang.c:622 #, c-format -msgid "Bogus group %s removed." -msgstr "Effacement du groupe corrompu %s." +msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" +msgstr "%s=bas; %s=haut; %s=aide; %s=déplacer; %s=quitter; %s=voir lu/non lu" #: src/lang.c:623 #, c-format -msgid "Error: rename %s to %s" -msgstr "Erreur : renommer %s à %s" +msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" +msgstr "%s=abonner; %s=sous-critère; %s=désabonner; %s=critère; %s=liste des groupes" #: src/lang.c:624 -msgid "Reply to author..." -msgstr "Répondre à l'auteur..." +#, c-format +msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" +msgstr "=voir 'n'; %s=non lu suivant; %s=tout lu; %s=basculer l'affichage" #: src/lang.c:625 -msgid "Repost" -msgstr "Reposter" - -#: src/lang.c:626 -msgid "Reposting article..." -msgstr "Repostage de l'article..." +#, c-format +msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" +msgstr "%s=aide; %s=bas; %s=haut; %s=quitter; %s=marquer; %s=marquer non lu" #: src/lang.c:627 #, c-format -msgid "Repost article(s) to group(s) [%s]> " -msgstr "Reposter article(s) dans groupe(s) [%s]> " +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=recherche avant; %s=recherche arrière; %s=répéter la recherche" #: src/lang.c:628 -msgid "Reset newsrc?" -msgstr "Réinitialiser newsrc ?" +msgid "--More--" +msgstr "-- Suite --" #: src/lang.c:629 -msgid "Responses have been directed to the following newsgroups" -msgstr "Les réponses ont été redirigées vers les groupes suivants" +#, c-format +msgid "Moving %s..." +msgstr "Déplacement de %s..." #: src/lang.c:630 -#, c-format -msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " -msgstr "Les réponses ont été redirigées à l'auteur. %s=mail, %s=poster, %s=quitter : " +msgid "Message-ID: & last Reference " +msgstr "Message-ID: & dernière Référence " #: src/lang.c:631 -#, c-format -msgid "RespNo %4d of %4d" -msgstr "Réponse %4d sur %4d" +msgid "Message-ID: line " +msgstr "l'en-tête 'Message-ID:'" #: src/lang.c:632 -msgid "Press to continue..." -msgstr "Appuyez sur pour continuer..." +msgid "Message-ID: & References: line" +msgstr "Ligne Message-ID: & References:" #: src/lang.c:634 -#, c-format -msgid "Select From [%s] (y/n): " -msgstr " De : [%s] (o/n) : " +msgid ", name: " +msgstr ", nom : " #: src/lang.c:635 -msgid "Select Lines: (num): " -msgstr "Nombre de lignes (num) : " +#, c-format +msgid "Go to newsgroup [%s]> " +msgstr "Aller dans le groupe [%s]> " #: src/lang.c:636 -msgid "Auto-select Article Menu" -msgstr "Créer une règle" +msgid "newsgroups" +msgstr "groupes" #: src/lang.c:637 #, c-format -msgid "Select Msg-Id [%s] (f/l/o/n): " -msgstr " MID : [%s] (t/d/a/n) : " +msgid "Position %s in group list (1,2,..,$) [%d]> " +msgstr "Placer %s dans la liste des groupes (1,2,..,$) [%d]> " #: src/lang.c:638 -msgid "Select pattern scope: " -msgstr "Règle s'appliquant à : " +msgid "newsgroup" +msgstr "groupe" #: src/lang.c:639 -#, c-format -msgid "Select Subject [%s] (y/n): " -msgstr "Sujet : [%s] (o/n) : " +msgid "Try and save newsrc file again?" +msgstr "Encore essayer et enregistrer le newsrc ?" #: src/lang.c:640 -msgid "Select text pattern : " -msgstr "Texte ou terme : " +msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." +msgstr "Attention : Aucuns groupes n'a été écrits dans le newsrc. Enregistrement " + "annulé." #: src/lang.c:641 -msgid "Select time in days : " -msgstr "Durée de la règle : " +msgid "newsrc file saved successfully.\n" +msgstr "le newsrc a été enregistré avec succès.\n" #: src/lang.c:642 -#, c-format -msgid "# %s server configuration file\n" - "# This file was automatically saved by %s %s %s (\"%s\")\n" - "#\n" - "# Do not edit while %s is running, since all your changes to this file\n" - "# will be overwritten when you leave %s.\n" - "# Do not edit at all if you don't know what you do.\n" - "############################################################################\n" - "\n" -msgstr "# Fichier de configuration serveur de %s\n" - "# Ce fichier a été automatiquement enregistré par %s %s %s (\"%s\")\n" - "#\n" - "# N'éditez pas ce fichier lorsque %s est ouvert, car tout changement apporté\n" - "# sera écrasé lorsque vous quitterez %s.\n" - "# Enfin, ne touchez pas à ce fichier si vous ne savez pas quoi y faire.\n" - "############################################################################\n" +msgid "-- Next response --" +msgstr "-- Réponse suivante --" + +#: src/lang.c:643 +msgid "No " +msgstr "Non " + +#: src/lang.c:644 +msgid "*** No articles ***" +msgstr "*** Aucun article ***" + +#: src/lang.c:645 +msgid "No articles have been posted" +msgstr "Aucun article n'a été posté" + +#: src/lang.c:646 +msgid "*** No attachments ***" +msgstr "*** Pas de pièces-jointes ***" + +#: src/lang.c:647 +msgid "*** No description ***" +msgstr "*** Aucune description ***" #: src/lang.c:648 -msgid "Showing unread groups only" -msgstr "Afficher uniquement les groupes non lus" +msgid "No filename" +msgstr "Pas de nom de fichier" #: src/lang.c:649 -msgid "Subject: line (ignore case) " -msgstr "l'en-tête 'Subject:' (ignorer la casse)" +msgid "No group" +msgstr "Pas de groupe" #: src/lang.c:650 -msgid "Subject: line (case sensitive)" -msgstr "l'en-tête 'Subject:' (casse sensible)" +msgid "*** No groups ***" +msgstr "*** Aucun groupe ***" #: src/lang.c:651 -msgid "Save" -msgstr "Enregistrer" +msgid "No more groups to read" +msgstr "Plus de groupes à lire" #: src/lang.c:652 -#, c-format -msgid "Save '%s' (%s/%s)?" -msgstr "Enregistrer '%s' (%s/%s) ?" +msgid "No last message" +msgstr "Aucun dernier message" #: src/lang.c:653 -msgid "Save configuration before continuing?" -msgstr "Enregistrer la configuration avant de continuer ?" +msgid "No mail address" +msgstr "Aucune adresse email" #: src/lang.c:654 -msgid "Save filename> " -msgstr "Enregistrer sous le nom de fichier > " +msgid "No articles marked for saving" +msgstr "Aucun article marqué à enregistrer" #: src/lang.c:655 -msgid "Saved" -msgstr "Enregistré" +msgid "No match" +msgstr "Aucun résultat" #: src/lang.c:656 -#, c-format -msgid "%4d unread (%4d hot) %s in %s\n" -msgstr "%4d non lu (%4d sél.) %s dans %s\n" +msgid "No more groups" +msgstr "Plus de groupes" #: src/lang.c:657 -#, c-format -msgid "Saved %s...\n" -msgstr "Enregistrement de %s...\n" +msgid "No newsgroups" +msgstr "Aucun groupe" #: src/lang.c:658 -msgid "Nothing was saved" -msgstr "Rien n'a été enregistré" +msgid "No next unread article" +msgstr "Aucun article non lu suivant" #: src/lang.c:659 -#, c-format -msgid "\n" - "%s %d %s from %d %s\n" -msgstr "\n" - "%s %d %s de %d %s\n" +msgid "No previous group" +msgstr "Aucun groupe précédent" #: src/lang.c:660 -#, c-format -msgid "-- %s saved to %s%s --" -msgstr "-- %s enregistré sous %s%s --" +msgid "No previous search, nothing to repeat" +msgstr "Aucune recherche précédente, rien à répéter" #: src/lang.c:661 -#, c-format -msgid "-- %s saved to %s - %s --" -msgstr "-- %s enregistré sous %s - %s --" +msgid "No previous unread article" +msgstr "Aucun article non lu précédent" #: src/lang.c:662 -msgid "Saving..." -msgstr "Enregistrement..." +msgid "No responses" +msgstr "Aucune réponse" #: src/lang.c:663 -#, c-format -msgid "%s: Screen initialization failed" -msgstr "%s : Échec de l'initialisation de l'écran" +msgid "No responses to list in current thread" +msgstr "Aucune réponse à afficher dans le fil actuel" + +#: src/lang.c:664 +msgid "*** No scopes ***" +msgstr "*** Aucune sélection ***" #: src/lang.c:665 -#, c-format -msgid "%s: screen is too small\n" -msgstr "%s : l'écran est trop petit\n" +msgid "No search string" +msgstr "Aucun terme à rechercher" -#: src/lang.c:667 -#, c-format -msgid "screen is too small, %s is exiting\n" -msgstr "l'écran est trop petit, %s quitte\n" +#: src/lang.c:666 +msgid "No subject" +msgstr "Aucun sujet" #: src/lang.c:668 #, c-format -msgid "Search backwards [%s]> " -msgstr "Recherche arrière [%s] > " +msgid "%s: Terminal must have clear to end-of-line (ce)\n" +msgstr "%s: Terminal doit avoir la fonction clear to end-of-line (ce)\n" #: src/lang.c:669 #, c-format -msgid "Search body [%s]> " -msgstr "Rechercher dans le corps [%s] > " +msgid "%s: Terminal must have clear to end-of-screen (cd)\n" +msgstr "%s: Terminal doit avoir la fonction clear to end-of-screen (cd)\n" #: src/lang.c:670 #, c-format -msgid "Search forwards [%s]> " -msgstr "Recherche avant [%s] > " +msgid "%s: Terminal must have clearscreen (cl) capability\n" +msgstr "%s: Terminal doit avoir la fonction clearscreen (cl)\n" #: src/lang.c:671 -msgid "Searching..." -msgstr "Recherche..." +#, c-format +msgid "%s: Terminal must have cursor motion (cm)\n" +msgstr "%s: Terminal doit avoir la fonction cursor motion (cm)\n" #: src/lang.c:672 #, c-format -msgid "Searching article %d of %d ('q' to abort)..." -msgstr "Recherche article %d sur %d ('q' pour annuler)..." - -#: src/lang.c:673 -msgid "Select article> " -msgstr "Sélectionner l'article > " +msgid "%s: TERM variable must be set to use screen capabilities\n" +msgstr "%s: la variable TERM doit être utilisée pour utiliser les fonctions\n" #: src/lang.c:674 -msgid "Select option number before text or use arrow keys and . 'q' to quit." -msgstr "Choisir un numéro ou utiliser les flèches puis . 'q' pour quitter." +#, c-format +msgid "No viewer found for %s/%s\n" +msgstr "Visualiseur introuvable pour %s/%s\n" #: src/lang.c:675 -msgid "Select group> " -msgstr "Sélectionner le groupe > " +msgid "Newsgroup does not exist on this server" +msgstr "Groupe inexistant sur ce serveur" #: src/lang.c:676 #, c-format -msgid "Enter selection pattern [%s]> " -msgstr "Entrez le critère de sélection [%s] > " +msgid "Group %s not found in active file" +msgstr "Groupe %s introuvable dans le fichier active" #: src/lang.c:677 -msgid "Select thread > " -msgstr "Sélectionner le fil > " +msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "c)réer, utiliser a)utre nom, utiliser .newsrc par d)éfaut, q)uitter tin : " #: src/lang.c:678 -#, c-format -msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" -msgstr "%s %s %s (\"%s\") [%s]: envoi d'un rapport de bug DÉTAILLÉ à %s\n" +msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "utiliser a)utre nom, utiliser .newsrc par d)éfaut, q)uitter tin : " #: src/lang.c:679 -msgid "servers active-file" -msgstr "fichier active des serveurs" +#, c-format +msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" + "# shortname list for %s %s\n" + "#\n" + "# the format of this file is\n" + "# ...\n" + "#\n" + "# if is given without path, $HOME is assumed as its location\n" + "#\n" + "# examples:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" +msgstr "# Serveur NNTP -> tableau de correspondance du newsrc et serveur NNTP\n" + "# liste des alias pour %s %s\n" + "#\n" + "# le format de ce fichier est le suivant :\n" + "# ...\n" + "#\n" + "# si n'inclus pas le chemin,\n" + "# $HOME est alors considéré comme celui par défaut\n" + "#\n" + "# exemples :\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.ka.nu /tmp/nrc-nu kanu nu\n" + "#\n" -#: src/lang.c:680 -msgid "Cannot move into new newsgroups. Subscribe first..." -msgstr "Déplacement dans nouveaux groupes impossible. Abonnez-vous d'abord..." +#: src/lang.c:686 +msgid "Only" +msgstr "Actuel" -#: src/lang.c:681 -msgid "" -msgstr "" +#: src/lang.c:687 +#, c-format +msgid "Option not enabled. Recompile with %s." +msgstr "Option non activée. Recompilez avec %s." + +#: src/lang.c:688 +msgid "Options Menu" +msgstr "Menu Options" -#: src/lang.c:682 +#: src/lang.c:689 +msgid "Options Menu Commands" +msgstr "Menu Options" + +#: src/lang.c:692 #, c-format -msgid "Starting: (%s)" -msgstr "Démarrage : (%s)" +msgid "Error in regex: %s at pos. %d '%s'" +msgstr "Erreur dans la regex : %s à %d '%s'" -#: src/lang.c:683 +#: src/lang.c:693 #, c-format -msgid "List Thread (%d of %d)" -msgstr "Visualisation du fil (%d sur %d)" +msgid "Error in regex: pcre internal error %d" +msgstr "Erreur dans la regex : erreur pcre interne %d" -#: src/lang.c:684 +#: src/lang.c:694 #, c-format -msgid "Thread (%.*s)" -msgstr "Fil (%.*s)" +msgid "Error in regex: study - pcre internal error %s" +msgstr "Erreur dans la regex : study - erreur pcre interne %s" -#: src/lang.c:685 -msgid "Enter wildcard subscribe pattern> " -msgstr "Entrer un caractère joker comme critère > " +#: src/lang.c:695 +msgid "Post a followup..." +msgstr "Postage du suivi..." -#: src/lang.c:686 -#, c-format -msgid "subscribed to %d groups" -msgstr "Abonné à %d groupes" +#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone +#: src/lang.c:697 +msgid "An error has occurred while posting the article. If you think that this\n" + "error is temporary or otherwise correctable, you can postpone the article\n" + "and pick it up again with ^O later.\n" +msgstr "Une erreur est survenue lors du postage de l'article. Si vous pensez que\n" + "cette erreur est temporaire ou alors corrigeable, vous pouvez enregistrer\n" + "l'article comme brouillon et le réutiliser plus tard grâce à la commande ^O.\n" -#: src/lang.c:687 +#: src/lang.c:700 +msgid "Posted articles history" +msgstr "Historique des articles postés" + +#: src/lang.c:701 #, c-format -msgid "Subscribed to %s" -msgstr "Abonné à %s" +msgid "Post to newsgroup(s) [%s]> " +msgstr "Poster dans groupe(s) [%s]> " -#: src/lang.c:688 -msgid "Subscribing... " -msgstr "Abonnement... " +#: src/lang.c:702 +msgid "-- post processing started --" +msgstr "-- post-traitement lancé --" -#: src/lang.c:689 -#, c-format -msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " -msgstr "Reposter ou remplacer le(s) article(s) [%%s]? (%s/%s/%s) : " +#: src/lang.c:703 +msgid "-- post processing completed --" +msgstr "-- post-traitement terminé --" -#: src/lang.c:690 +#: src/lang.c:704 #, c-format -msgid "Supersede article(s) to group(s) [%s]> " -msgstr "Remplacer le(s) article(s) du(es) groupe(s) [%s] > " +msgid "Post subject [%s]> " +msgstr "Poster le sujet [%s] > " -#: src/lang.c:691 -msgid "Superseding article ..." -msgstr "Remplacement de l'article..." +#: src/lang.c:705 +msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" +msgstr "# Sommaire des messages envoyés/postés visible par la commande 'W' depuis " + "tin.\n" -#: src/lang.c:692 -#, c-format -msgid "\n" - "Stopped. Type 'fg' to restart %s\n" -msgstr "\n" - "Arrêté. Tapez 'fg' pour relancer %s\n" +#: src/lang.c:706 +msgid "Posting article..." +msgstr "Postage de l'article..." -#: src/lang.c:694 +#: src/lang.c:707 #, c-format -msgid "%d days" -msgstr "%d jours" +msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " +msgstr "Poster les brouillons [%%s] ? (%s/%s/%s/%s/%s) : " -#: src/lang.c:695 -msgid "" -msgstr "" - -#: src/lang.c:696 -msgid "TeX " -msgstr "TeX " +#: src/lang.c:708 +#, c-format +msgid "Hot %s" +msgstr "%s sélectionné" -#: src/lang.c:697 -msgid "# Default action/prompt strings\n" -msgstr "# Termes action/prompt par défaut\n" +#: src/lang.c:709 +#, c-format +msgid "Tagged %s" +msgstr "%s marqué" -#: src/lang.c:698 -msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" - "# 5=Message-ID: & last References: entry only\n" - "# 6=Message-ID: entry only 7=Lines:\n" - "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" -msgstr "# Réglages par défaut pour les filtres et filtres d'auto-sélection\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & ligne References: " - "complète\n" - "# 5=Message-ID: & dernière entrée dans References: seulement\n" - "# 6=Message-ID: entrée 7=Lines: seulement\n" - "# global=ON/OFF ON=appliquer à tous les groups OFF=appliquer au groupe " - "actuel\n" - "# case=ON/OFF ON=filtre sensible à la casse OFF=filtre insensible\n" - "# expire=ON/OFF ON=durée d'après default_filter_days OFF=n'expire jamais\n" +#: src/lang.c:710 +#, c-format +msgid "Untagged %s" +msgstr "%s non marqué" #: src/lang.c:711 -msgid "# If ON use print current subject or newsgroup description in the last line\n" -msgstr "# Si ON, affiche le sujet actuel ou la description du groupe dans la " - "dernière\n" - "# ligne\n" +msgid "Processing mail messages marked for deletion." +msgstr "Traitement des emails enregistrés marqués pour effacement." #: src/lang.c:712 -msgid "# Host & time info used for detecting new groups (don't touch)\n" -msgstr "# Info sur l'hôte & l'heure utilisées pour détecter les nouveaux groupes (ne " - "pas toucher)\n" +msgid "Processing saved articles marked for deletion." +msgstr "Traitement des articles enregistrés marqués pour effacement." #: src/lang.c:713 -msgid "There is no news\n" -msgstr "Rien de neuf\n" +#, c-format +msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " +msgstr "Accepter le Suivi ? %s=poster, %s=ignorer, %s=quitter : " #: src/lang.c:714 -msgid "Thread" -msgstr "Fil" +msgid "Article unchanged, abort mailing?" +msgstr "Article inchangé, annuler l'envoi ?" #: src/lang.c:715 -msgid "Thread Level Commands" -msgstr "Commandes pour fil" - -#: src/lang.c:716 -msgid "Thread deselected" -msgstr "Fil désélectionné" +#, c-format +msgid "Do you want to see postponed articles (%d)?" +msgstr "Voulez-vous voir les brouillons (%d) ?" #: src/lang.c:717 -msgid "Thread selected" -msgstr "Fil sélectionné" +msgid "Add quick kill filter?" +msgstr "Ajouter rapidement un filtre ?" + +#: src/lang.c:718 +msgid "Add quick selection filter?" +msgstr "Ajouter rapidement une règle ?" #: src/lang.c:719 -msgid "threads" -msgstr "fils" +msgid "Do you really want to quit?" +msgstr "Voulez-vous réellement quitter ?" + +#: src/lang.c:720 +#, c-format +msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " +msgstr "%s=éditer message d'annulation, %s=quitter, %s=effacer (annuler) [%%s] : " #: src/lang.c:721 -msgid "Thread range" -msgstr "Champ du fil" +msgid "You have tagged articles in this group - quit anyway?" +msgstr "Vous avez des articles marqués dans ce groupe - quitter quand même ?" #: src/lang.c:722 -msgid "thread" -msgstr "fil" +#, c-format +msgid "%s=quit, %s=edit, %s=postpone: " +msgstr "%s=quitter, %s=éditer, %s=brouillon : " #: src/lang.c:723 #, c-format -msgid "Thread %4s of %4s" -msgstr " Fil %4s sur %4s" +msgid "%s=quit %s=edit %s=save kill description: " +msgstr "%s=quitter, %s=éditer, %s=enregistrer le filtre : " #: src/lang.c:724 -msgid "Threading articles..." -msgstr "Regroupement des articles..." - -#: src/lang.c:725 #, c-format -msgid "Toggled word highlighting %s" -msgstr "(Dés)activer surbrillance %s" - -#: src/lang.c:726 -msgid "Toggled rot13 encoding" -msgstr "(Dés)activer codage rot13" +msgid "%s=quit %s=edit %s=save select description: " +msgstr "%s=quitter %s=éditer %s=enregistrer la règle : " -#: src/lang.c:727 -#, c-format -msgid "Toggled german TeX encoding %s" -msgstr "(Dés)activer codage TeX Allemand %s" +#: src/lang.c:725 +msgid "Do you really want to quit without saving your configuration?" +msgstr "Voulez-vous réellement quitter sans enregistrer votre configuration ?" #: src/lang.c:728 -#, c-format -msgid "Toggled tab-width to %d" -msgstr "(Dés)activer largeur de tabulation à %d" - -#: src/lang.c:729 -#, c-format -msgid "%d Trying to dotlock %s" -msgstr "%d essaye de déverrouiller %s" +msgid "Invalid range - valid are '0-9.$' eg. 1-$" +msgstr "Champ invalide - '0-9.$' pe. 1-$ est valide" #: src/lang.c:730 -#, c-format -msgid "%d Trying to lock %s" -msgstr "%d essaye de verrouiller %s" +msgid "Do you want to abort this operation?" +msgstr "Voulez-vous annuler cette opération ?" #: src/lang.c:731 -msgid " h=help\n" -msgstr " h=aide\n" +msgid "Do you want to exit tin immediately?" +msgstr "Voulez-vous quitter tin immédiatement ?" #: src/lang.c:733 -msgid "Unlimited" -msgstr "Illimitée" +msgid "Reading ('q' to quit)..." +msgstr "Lecture ('q' pour quitter)..." #: src/lang.c:734 -msgid "Enter wildcard unsubscribe pattern> " -msgstr "Terme joker pour se désabonner > " +#, c-format +msgid "Reading %sarticles..." +msgstr "Lecture de %sarticles..." #: src/lang.c:735 #, c-format -msgid "Error decoding %s : %s" -msgstr "Erreur lors du décodage de %s : %s" +msgid "Reading %sattributes file...\n" +msgstr "Lecture du fichier %sattributes...\n" #: src/lang.c:736 -msgid "No end." -msgstr "Pas de fin." +#, c-format +msgid "Reading %sconfig file...\n" +msgstr "Lecture du fichier %sconfig...\n" #: src/lang.c:737 -#, c-format -msgid "%s successfully decoded." -msgstr "%s décodé avec succès." +msgid "Reading filter file...\n" +msgstr "Lecture du fichier filter...\n" #: src/lang.c:738 #, c-format -msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" - "\n" -msgstr "%*s[-- %s/%s, %sfichier uuencodé, %d lignes, nom : %s --]\n" - "\n" +msgid "Reading %s groups..." +msgstr "Lecture de %s groupes..." #: src/lang.c:739 -msgid "unread " -msgstr "non lu" +msgid "Reading input history file...\n" +msgstr "Lecture du fichier d'historique...\n" #: src/lang.c:740 -#, c-format -msgid "unsubscribed from %d groups" -msgstr "désabonné de %d groupes" +msgid "Reading keymap file...\n" +msgstr "Lecture du fichier keymap...\n" #: src/lang.c:741 -#, c-format -msgid "Unsubscribed from %s" -msgstr "Désabonné de %s" +msgid "Reading groups from active file... " +msgstr "Lecture des groupes depuis le fichier active... " #: src/lang.c:742 -msgid "Unsubscribing... " -msgstr "Désabonnement... " +msgid "Reading groups from newsrc file... " +msgstr "Lecture des groupes depuis le fichier newsrc... " #: src/lang.c:743 -msgid "Unthreading articles..." -msgstr "Dégroupement des articles..." +msgid "Reading newsgroups file... " +msgstr "Lecture du fichier newsgroups... " #: src/lang.c:744 -msgid "Updated" -msgstr "Mis à jour" +msgid "Reading newsrc file..." +msgstr "Lecture du fichier newsrc..." #: src/lang.c:745 -msgid "Updating" -msgstr "Rafraîchissement" - -#: src/lang.c:746 -#, c-format -msgid "Opening %s\n" -msgstr "Ouverture de %s\n" +msgid "References: line " +msgstr "l'en-tête 'References:'" #: src/lang.c:747 -msgid "No more URL's in this article" -msgstr "Plus d'URL dans cet article" - -#: src/lang.c:748 -msgid "Use MIME display program for this message?" -msgstr "Utiliser le programme d'affichage MIME pour ce message ?" +#, c-format +msgid "(%d:%02d remaining)" +msgstr "(%d:%02d restant)" #: src/lang.c:749 -msgid " -c mark all news as read in subscribed newsgroups (batch mode)" -msgstr " -c marquer tous les articles lus dans les groupes abonnés (en tâche " - "de fond)" +#, c-format +msgid "Bogus group %s removed." +msgstr "Effacement du groupe corrompu %s." #: src/lang.c:750 -msgid " -Z return status indicating if any unread news (batch mode)" -msgstr " -Z retourne un statut indiquant s'il y a nouveaux articles (en tâche " - "de fond)" +msgid "Removed from the previous rule: " +msgstr "Effacé de la règle précédente : " #: src/lang.c:751 -msgid " -q don't check for new newsgroups" -msgstr " -q ne pas vérifier s'il y a des nouveaux groupes" +#, c-format +msgid "Error: rename %s to %s" +msgstr "Erreur : renommer %s à %s" #: src/lang.c:752 -msgid " -X don't save any files on quit" -msgstr " -X ne pas enregistrer de fichiers à la fermeture" +msgid "Reply to author..." +msgstr "Répondre à l'auteur..." #: src/lang.c:753 -msgid " -d don't show newsgroup descriptions" -msgstr " -d ne pas afficher les descriptions des groupes" +msgid "Repost" +msgstr "Reposter" #: src/lang.c:754 -msgid " -G limit get only limit articles/group" -msgstr " -G nombre d'articles par groupe limite" +msgid "Reposting article..." +msgstr "Repostage de l'article..." #: src/lang.c:755 #, c-format -msgid " -H help information about %s" -msgstr " -H aide à propos de %s" +msgid "Repost article(s) to group(s) [%s]> " +msgstr "Reposter article(s) dans groupe(s) [%s] > " #: src/lang.c:756 -msgid " -h this help message" -msgstr " -h ce message d'aide" +msgid "Reset newsrc?" +msgstr "Réinitialiser newsrc ?" #: src/lang.c:757 -#, c-format -msgid " -I dir news index file directory [default=%s]" -msgstr " -I rép. répertoire du fichier index [défaut=%s]" +msgid "Responses have been directed to the following newsgroups" +msgstr "Les réponses ont été redirigées vers les groupes suivants" #: src/lang.c:758 -msgid " -u update index files (batch mode)" -msgstr " -u màj des fichiers index (en tâche de fond)" - -#: src/lang.c:759 #, c-format -msgid " -m dir mailbox directory [default=%s]" -msgstr " -m rép. répertoire des bàl [défaut=%s]" +msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " +msgstr "Les réponses ont été redirigées à l'auteur. %s=mail, %s=poster, %s=quitter : " #: src/lang.c:760 -#, c-format -msgid "\n" - "Mail bug reports/comments to %s" -msgstr "\n" - "Envoyez par mail vos rapports de bugs/suggestions à %s" - -#: src/lang.c:761 -msgid " -N mail new news to your posts (batch mode)" -msgstr " -N envoyer toute réponse à vos articles (en tâche de fond)" +msgid "Press to continue..." +msgstr "Appuyez sur pour continuer..." #: src/lang.c:762 -msgid " -M user mail new news to specified user (batch mode)" -msgstr " -M util. envoyer tout nouvel article à une personne (en tâche de fond)" +#, c-format +msgid "Select From [%s] (y/n): " +msgstr " De : [%s] (o/n) : " #: src/lang.c:763 -#, c-format -msgid " -f file subscribed to newsgroups file [default=%s]" -msgstr " -f fich. abonné au fichier groupes [défaut=%s]" +msgid "Select Lines: (num): " +msgstr "Nombre de lignes (num) : " #: src/lang.c:764 -msgid " -x no posting mode" -msgstr " -x mode postage OFF" +msgid "Auto-select Article Menu" +msgstr "Créer une règle" #: src/lang.c:765 -msgid " -w post an article and exit" -msgstr " -w poster un article puis quitter" +#, c-format +msgid "Select Msg-Id [%s] (f/l/o/n): " +msgstr " MID : [%s] (t/d/a/n) : " #: src/lang.c:766 -msgid " -o post all postponed articles and exit" -msgstr " -o poster tous les brouillons puis quitter" +msgid "Select pattern scope: " +msgstr "Règle s'appliquant à : " #: src/lang.c:767 -msgid " -r read news remotely from default NNTP server" -msgstr " -r lire les articles depuis le serveur NNTP par défaut" +#, c-format +msgid "Select Subject [%s] (y/n): " +msgstr "Sujet : [%s] (o/n) : " #: src/lang.c:768 -msgid " -R read news saved by -S option" -msgstr " -R lire les articles enregistrés via l'option -S" +msgid "Select text pattern : " +msgstr "Texte ou terme : " #: src/lang.c:769 -#, c-format -msgid " -s dir save news directory [default=%s]" -msgstr " -s rép. répertoire où enregistrer les articles [défaut=%s]" +msgid "Select time in days : " +msgstr "Durée de la règle : " #: src/lang.c:770 -msgid " -S save new news for later reading (batch mode)" -msgstr " -S enregistrer tout nouvel article pour lecture différée (en tâche de " - "fond)" - -#: src/lang.c:771 -msgid " -z start if any unread news" -msgstr " -z lancer si articles non lus" - -#: src/lang.c:772 -#, c-format -msgid "A Usenet reader.\n" - "\n" - "Usage: %s [options] [newsgroup[,...]]" -msgstr "Un lecteur UseNet.\n" - "Usage : %s [options] [groupe[,...]]" - -#: src/lang.c:773 -msgid " -v verbose output for batch mode options" -msgstr " -v sortie détaillée pour options en tâche de fond" - -#: src/lang.c:774 -msgid " -V print version & date information" -msgstr " -V afficher infos date & version" - -#: src/lang.c:775 #, c-format -msgid "%s only useful without batch mode operations\n" -msgstr "%s utile seulement sans opérations en tâche de fond\n" +msgid "# %s server configuration file\n" + "# This file was automatically saved by %s %s %s (\"%s\")\n" + "#\n" + "# Do not edit while %s is running, since all your changes to this file\n" + "# will be overwritten when you leave %s.\n" + "# Do not edit at all if you don't know what you do.\n" + "############################################################################\n" + "\n" +msgstr "# Fichier de configuration serveur de %s\n" + "# Ce fichier a été automatiquement enregistré par %s %s %s (\"%s\")\n" + "#\n" + "# N'éditez pas ce fichier lorsque %s est ouvert, car tout changement apporté\n" + "# sera écrasé lorsque vous quitterez %s.\n" + "# Enfin, ne touchez pas à ce fichier si vous ne savez pas quoi y faire.\n" + "############################################################################\n" #: src/lang.c:776 -#, c-format -msgid "%s only useful for batch mode operations\n" -msgstr "%s utile seulement pour opérations en tâche de fond\n" +msgid "Showing unread groups only" +msgstr "Afficher uniquement les groupes non lus" + +#: src/lang.c:777 +msgid "Subject: line (ignore case) " +msgstr "l'en-tête 'Subject:' (ignorer la casse)" #: src/lang.c:778 -#, c-format -msgid "\n" - "%s%d out of range (0 - %d). Reset to 0" -msgstr "\n" - "%s%d expiré (0 - %d). Remis à 0" +msgid "Subject: line (case sensitive)" +msgstr "l'en-tête 'Subject:' (casse sensible)" #: src/lang.c:779 +msgid "Save" +msgstr "Enregistrer" + +#: src/lang.c:780 #, c-format -msgid "View '%s' (%s/%s)?" -msgstr "Vue '%s' (%s/%s) ?" +msgid "Save '%s' (%s/%s)?" +msgstr "Enregistrer '%s' (%s/%s) ?" #: src/lang.c:781 -#, c-format -msgid "\n" - "Warning: posting exceeds %d columns. Line %d is the first long one:\n" - "%-100s\n" -msgstr "\n" - "Attention : message excédant %d colonnes. Ligne %d est la première " - "dépassant :\n" - "%-100s\n" +msgid "Save configuration before continuing?" +msgstr "Enregistrer la configuration avant de continuer ?" #: src/lang.c:782 -msgid "\n" - "Warning: article unchanged after editing\n" -msgstr "\n" - "Attention : article inchangé après son édition\n" +msgid "Save filename> " +msgstr "Enregistrer sous le nom de fichier > " #: src/lang.c:783 -msgid "\n" - "Warning: \"Subject:\" contains only whitespaces.\n" -msgstr "\n" - "Attention : \"Subject:\" contient que des espaces.\n" +msgid "Saved" +msgstr "Enregistré" #: src/lang.c:784 -msgid "\n" - "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" -msgstr "\n" - "Attention : \"Subject:\" commence par \"Re: \" mais il n'y a pas de " - "\"References:\".\n" +#, c-format +msgid "%4d unread (%4d hot) %s in %s\n" +msgstr "%4d non lu (%4d sél.) %s dans %s\n" + +#: src/lang.c:785 +#, c-format +msgid "Saved %s...\n" +msgstr "Enregistrement de %s...\n" #: src/lang.c:786 -msgid "\n" - "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" - " with \"Re: \" and does not contain \"(was:\".\n" -msgstr "\n" - "Attention : L'article a \"References:\" mais \"Subject:\" ne commence\n" - " avec \"Re: \" et ne contient pas \"(was:\".\n" +msgid "Nothing was saved" +msgstr "Rien n'a été enregistré" + +#: src/lang.c:787 +#, c-format +msgid "\n" + "%s %d %s from %d %s\n" +msgstr "\n" + "%s %d %s de %d %s\n" + +#: src/lang.c:788 +#, c-format +msgid "-- %s saved to %s%s --" +msgstr "-- %s enregistré sous %s%s --" #: src/lang.c:789 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly written by you. This will " - "wipe\n" - " the article from most news servers throughout the world, but there is " - "no\n" - " guarantee that it will work.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Lisez ceci attentivement !\n" - "\n" - " Vous êtes sur le point d'effacer un article apparemment écrit par vous. " - "Cela effacera\n" - " cet article sur la plupart des serveurs UseNet du monde, mais il n'y a " - "aucune\n" - " garantie que cela marche.\n" - "\n" - "Voici l'article que vous vous apprêtez à effacer :\n" - "\n" +#, c-format +msgid "-- %s saved to %s - %s --" +msgstr "-- %s enregistré sous %s - %s --" + +#: src/lang.c:790 +msgid "Saving..." +msgstr "Enregistrement..." + +#: src/lang.c:791 +#, c-format +msgid "%s: Screen initialization failed" +msgstr "%s : Échec de l'initialisation de l'écran" #: src/lang.c:793 -msgid "\n" - "Warning: You are using a non-plain transfer encoding (such as base64 or\n" - " quoted-printable) and an external inews program to submit your\n" - " article. If a signature is appended by that inews program it will\n" - " not be encoded properly.\n" -msgstr "\n" - "Attention : Vous utilisez un encodage non correct (comme base64 ou\n" - " quoted-printable) et un programme inews externe pour poster\n" - " votre article. Si une signature y est ajoutée par cet inews,\n" - " elle ne sera pas encodée correctement.\n" +#, c-format +msgid "%s: screen is too small\n" +msgstr "%s : l'écran est trop petit\n" -#: src/lang.c:798 +#: src/lang.c:795 #, c-format -msgid "\n" - "\n" - "You are upgrading to tin %s from an earlier version.\n" - "Some values in your %s file have changed!\n" - "Read WHATSNEW, etc...\n" -msgstr "\n" - "\n" - "Vous passer à tin %s depuis une ancienne version.\n" - "Certaines valeurs dans votre fichier %s ont changé !\n" - "Lisez le fichier WHATSNEW, etc...\n" +msgid "screen is too small, %s is exiting\n" +msgstr "l'écran est trop petit, %s quitte\n" + +#: src/lang.c:796 +msgid "Delete scope?" +msgstr "Effacer la sélection ?" + +#: src/lang.c:797 +msgid "Enter scope> " +msgstr "Entrez la sélection >" + +#: src/lang.c:798 +msgid "Select new position> " +msgstr "Sélection de la nouvelle position >" + +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "Nouvelle position ne peut être une sélection globale" #: src/lang.c:800 -#, c-format -msgid "\n" - "\n" - "You are downgrading to tin %s from a more recent version!\n" - "Some values in your %s file may be ignored, others might have changed!\n" -msgstr "\n" - "\n" - "Vous repassez à tin %s depuis une version plus récente !\n" - "Certaines valeurs dans votre fichier %s peuvent être ignorées, d'autres\n" - "ont peut-être changées !\n" +msgid "Global scope, operation not allowed" +msgstr "Opération interdite, sélection globale" + +#: src/lang.c:801 +msgid "Rename scope> " +msgstr "Renommer la sélection" + +#: src/lang.c:802 +msgid "Select scope> " +msgstr "Sélectionner le groupe > " #: src/lang.c:803 +msgid "Scopes Menu" +msgstr "Menu Options" + +#: src/lang.c:804 +msgid "Scopes Menu Commands" +msgstr "Menu de sélection" + +#: src/lang.c:805 +#, c-format +msgid "Search backwards [%s]> " +msgstr "Recherche arrière [%s] > " + +#: src/lang.c:806 #, c-format -msgid "Warning: tin wrote fewer groups to your\n" - "\t%s\n" - "than it read at startup. If you didn't unsubscribe from %ld %s during\n" - "this session this indicates an error and you should backup your %s\n" - "before you start tin once again!\n" -msgstr "Attention : tin a modifié quelque groupes dans votre\n" - "\t%s\n" - "qui est lu au lancement. Si vous ne vous êtes pas désabonné de %ld %s\n" - "lors de cette session, cela indique une erreur et vous devriez sauvegarder\n" - "votre %s avant de relancer tin !\n" +msgid "Search body [%s]> " +msgstr "Rechercher dans le corps [%s] > " #: src/lang.c:807 #, c-format -msgid "\n" - "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" -msgstr "\n" - "Attention : %d lignes '-- \\n' trouvées, cela peut prêter à confusion.\n" +msgid "Search forwards [%s]> " +msgstr "Recherche avant [%s] > " #: src/lang.c:808 -#, c-format -msgid "Warning: Only %d out of %d articles were saved" -msgstr "Attention : Seul %d sur %d articles ont été enregistrés" +msgid "Searching..." +msgstr "Recherche..." #: src/lang.c:809 #, c-format -msgid "\n" - "Warning: Your signature is longer than %d lines. Since signatures usually " - "do\n" - " not transport any useful information, they should be as short " - "as\n" - " possible.\n" -msgstr "\n" - "Attention : Votre signature est longue de plus de %d lignes. Comme les " - "signatures\n" - " ne contiennent aucune information pertinente, elles se doivent " - "d'être\n" - " le plus court possible.\n" +msgid "Searching article %d of %d ('q' to abort)..." +msgstr "Recherche article %d sur %d ('q' pour annuler)..." + +#: src/lang.c:810 +msgid "Select article> " +msgstr "Sélectionner l'article > " + +#: src/lang.c:811 +msgid "Select option number before text or use arrow keys and . 'q' to quit." +msgstr "Choisir un numéro ou utiliser les flèches puis . 'q' pour quitter." + +#: src/lang.c:812 +msgid "Select group> " +msgstr "Sélectionner le groupe > " #: src/lang.c:813 #, c-format -msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " -msgstr "Attention : cette email peut contenir un piège à spam. %s=continuer, %" - "s=annuler ?" +msgid "Enter selection pattern [%s]> " +msgstr "Entrez le critère de sélection [%s] > " #: src/lang.c:814 -msgid "\n" - "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" -msgstr "\n" - "Attention : Les signatures doivent commencer avec '-- \\n' et non par '-- " - "\\n'.\n" +msgid "Select thread > " +msgstr "Sélectionner le fil > " #: src/lang.c:815 -msgid "Writing attributes file..." -msgstr "Écriture du fichier attributes..." +#, c-format +msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" +msgstr "%s %s %s (\"%s\") [%s]: envoi d'un rapport de bogue DÉTAILLÉ à %s\n" + +#: src/lang.c:816 +msgid "servers active-file" +msgstr "fichier active des serveurs" #: src/lang.c:817 -#, c-format -msgid "%d Responses" -msgstr "%d Réponses" +msgid "Cannot move into new newsgroups. Subscribe first..." +msgstr "Déplacement dans nouveaux groupes impossible. Abonnez-vous d'abord..." + +#: src/lang.c:818 +msgid "" +msgstr "" #: src/lang.c:819 #, c-format -msgid "Added %d %s" -msgstr "%d %s ajouté(s)" +msgid "Starting: (%s)" +msgstr "Démarrage : (%s)" #: src/lang.c:820 -msgid "No unsubscribed groups to show" -msgstr "Aucuns groupes non abonnés à afficher" +#, c-format +msgid "List Thread (%d of %d)" +msgstr "Visualisation du fil (%d sur %d)" #: src/lang.c:821 -msgid "Showing subscribed to groups only" -msgstr "Afficher uniquement les groupes abonnés" +#, c-format +msgid "Thread (%.*s)" +msgstr "Fil (%.*s)" #: src/lang.c:822 -msgid "Yes " -msgstr "Oui " +msgid "Enter wildcard subscribe pattern> " +msgstr "Entrer un caractère joker comme critère > " #: src/lang.c:823 -msgid " You have mail\n" -msgstr " Nouveau mail\n" +#, c-format +msgid "subscribed to %d groups" +msgstr "Abonné à %d groupes" + +#: src/lang.c:824 +#, c-format +msgid "Subscribed to %s" +msgstr "Abonné à %s" + +#: src/lang.c:825 +msgid "Subscribing... " +msgstr "Abonnement... " + +#: src/lang.c:826 +#, c-format +msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " +msgstr "Reposter ou remplacer le(s) article(s) [%%s]? (%s/%s/%s) : " + +#: src/lang.c:827 +#, c-format +msgid "Supersede article(s) to group(s) [%s]> " +msgstr "Remplacer le(s) article(s) du(es) groupe(s) [%s] > " #: src/lang.c:828 +msgid "Superseding article ..." +msgstr "Remplacement de l'article..." + +#: src/lang.c:829 #, c-format -msgid "\n" - "Warning: Posting is in %s and contains characters which are not\n" - " in your selected MM_NETWORK_CHARSET: %s.\n" - " These characters will be replaced by '?' if you post this\n" - " article unchanged. To avoid garbling your article please either\n" - " edit it and remove those characters or change the setting of\n" - " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" - " M)enu option.\n" -msgstr "\n" - "Attention : Votre article est en %s et contient des caractères qui ne\n" - " sont pas dans votre MM_NETWORK_CHARSET: %s.\n" - " Ces caractères seront remplacés par '?' si vous laissez cet\n" - " article inchangé. Pour éviter de réduire en bouillie votre\n" - " article, soit éditez-le, soit enlevez les caractères posant\n" - " problème, ou bien changer la valeur de MM_NETWORK_CHARSET\n" - " via le M)enu.\n" - -#: src/lang.c:839 -msgid " -D debug mode 1=NNTP 2=ALL" -msgstr " -D mode debug 1=NNTP 2=TOUS" - -#: src/lang.c:843 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly not written by you. This " - "will\n" - " wipe the article from lots of news servers throughout the world;\n" - " Usenet's majority considers this rather inappropriate, to say the " - "least.\n" - " Only press 'd' if you are absolutely positive that you are ready to " - "take\n" - " the rap.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Lisez ceci attentivement !\n" - "\n" - " Vous vous apprêtez à effacer un article qui fut apparemment écrit par vous. " - "Cela\n" - " effacera l'article sur de nombreux serveurs UseNet répartis sur el globe;\n" - " La mojorité d'UseNet considère cela comme inapproprié, pour ne pas dire " - "complètement.\n" - " Appuyez sur 'd' si vous vous sentez apte à subir les conséquences de ce\n" - "geste.\n" - "\n" - "Voici l'article que vous vous apprêtez a effacer :\n" - "\n" +msgid "\n" + "Stopped. Type 'fg' to restart %s\n" +msgstr "\n" + "Arrêté. Tapez 'fg' pour relancer %s\n" + +#: src/lang.c:831 +#, c-format +msgid "%d days" +msgstr "%d jours" + +#: src/lang.c:832 +msgid "" +msgstr "" + +#: src/lang.c:833 +msgid "TeX " +msgstr "TeX " + +#: src/lang.c:834 +msgid "# Default action/prompt strings\n" +msgstr "# Termes action/prompt par défaut\n" + +#: src/lang.c:835 +msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" + "# 5=Message-ID: & last References: entry only\n" + "# 6=Message-ID: entry only 7=Lines:\n" + "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +msgstr "# Réglages par défaut pour les filtres et filtres d'auto-sélection\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & ligne References: " + "complète\n" + "# 5=Message-ID: & dernière entrée dans References: seulement\n" + "# 6=Message-ID: entrée 7=Lines: seulement\n" + "# global=ON/OFF ON=appliquer à tous les groups OFF=appliquer au groupe " + "actuel\n" + "# case=ON/OFF ON=filtre sensible à la casse OFF=filtre insensible\n" + "# expire=ON/OFF ON=durée d'après default_filter_days OFF=n'expire jamais\n" + +#: src/lang.c:848 +msgid "# If ON use print current subject or newsgroup description in the last line\n" +msgstr "# Si ON, affiche le sujet actuel ou la description du groupe dans la " + "dernière\n" + "# ligne\n" + +#: src/lang.c:849 +msgid "# Host & time info used for detecting new groups (don't touch)\n" +msgstr "# Info sur l'hôte & l'heure utilisées pour détecter les nouveaux groupes (ne " + "pas toucher)\n" + +#: src/lang.c:850 +msgid "There is no news\n" +msgstr "Rien de neuf\n" + +#: src/lang.c:851 +msgid "Thread" +msgstr "Fil" #: src/lang.c:852 -msgid "toggle color" -msgstr "(dés)activer la couleur" +msgid "Thread Level Commands" +msgstr "Commandes pour fil" #: src/lang.c:853 -msgid "# Changing colors of several screen parts\n" - "# Possible values are:\n" - "# -1 = default (white for foreground and black for background)\n" - "# 0 = black\n" - "# 1 = red\n" - "# 2 = green\n" - "# 3 = brown\n" - "# 4 = blue\n" - "# 5 = pink\n" - "# 6 = cyan\n" - "# 7 = white\n" - "# These are *only* for foreground:\n" - "# 8 = gray\n" - "# 9 = light red\n" - "# 10 = light green\n" - "# 11 = yellow\n" - "# 12 = light blue\n" - "# 13 = light pink\n" - "# 14 = light cyan\n" - "# 15 = light white\n" - "\n" -msgstr "# Changer la couleur de plusieurs parties de l'écran\n" - "# Les valeurs possibles sont :\n" - "# -1 = défaut (blanc pour l'avant-plan et noir pour l'arrière-plan)\n" - "# 0 = noir\n" - "# 1 = rouge\n" - "# 2 = vert\n" - "# 3 = marron\n" - "# 4 = bleu\n" - "# 5 = rose\n" - "# 6 = cyan\n" - "# 7 = blanc\n" - "# Les valeurs suivantes ne sont *que* pour l'avant-plan :\n" - "# 8 = gris\n" - "# 9 = rouge gras\n" - "# 10 = vert gras\n" - "# 11 = jaune\n" - "# 12 = bleu grasn# 13 = rose gras\n" - "# 14 = cyan gras\n" - "# 15 = blanc gras\n" - "\n" +msgid "Thread deselected" +msgstr "Fil désélectionné" + +#: src/lang.c:854 +msgid "Thread selected" +msgstr "Fil sélectionné" + +#: src/lang.c:856 +msgid "threads" +msgstr "fils" + +#: src/lang.c:858 +msgid "thread" +msgstr "fil" + +#: src/lang.c:859 +#, c-format +msgid "Thread %4s of %4s" +msgstr " Fil %4s sur %4s" + +#: src/lang.c:860 +msgid "Threading articles..." +msgstr "Regroupement des articles..." + +#: src/lang.c:861 +#, c-format +msgid "Toggled word highlighting %s" +msgstr "(Dés)activer surbrillance %s" + +#: src/lang.c:862 +msgid "Toggled rot13 encoding" +msgstr "(Dés)activer codage rot13" + +#: src/lang.c:863 +#, c-format +msgid "Toggled german TeX encoding %s" +msgstr "(Dés)activer codage TeX Allemand %s" + +#: src/lang.c:864 +#, c-format +msgid "Toggled tab-width to %d" +msgstr "(Dés)activer largeur de tabulation à %d" + +#: src/lang.c:866 +#, c-format +msgid "%d Trying to dotlock %s" +msgstr "%d essaye de déverrouiller %s" + +#: src/lang.c:867 +#, c-format +msgid "%d Trying to lock %s" +msgstr "%d essaye de verrouiller %s" + +#: src/lang.c:869 +msgid " h=help" +msgstr " h=aide" + +#: src/lang.c:871 +msgid "Unlimited" +msgstr "Illimitée" + +#: src/lang.c:872 +msgid "Enter wildcard unsubscribe pattern> " +msgstr "Terme joker pour se désabonner > " #: src/lang.c:873 -msgid " -a toggle color flag" -msgstr " -a change la couleur" +#, c-format +msgid "Error decoding %s : %s" +msgstr "Erreur lors du décodage de %s : %s" + +#: src/lang.c:874 +msgid "No end." +msgstr "Pas de fin." + +#: src/lang.c:875 +#, c-format +msgid "%s successfully decoded." +msgstr "%s décodé avec succès." + +#: src/lang.c:876 +#, c-format +msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" + "\n" +msgstr "%*s[-- %s/%s, %sfichier uuencodé, %d lignes, nom : %s --]\n" + "\n" #: src/lang.c:877 -msgid "\n" - "Error: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "Erreur : Suivi positionné sur plus d'un groupe !\n" +msgid "unread " +msgstr "non lu" #: src/lang.c:878 #, c-format -msgid "\n" - "Error: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "Erreur : multi-postage vers %d groupes et pas de ligne Followup-To !\n" +msgid "unsubscribed from %d groups" +msgstr "désabonné de %d groupes" #: src/lang.c:879 #, c-format -msgid "\n" - "Error: \"%s\" is not a valid newsgroup!\n" -msgstr "\n" - "Erreur : \"%s\" n'est pas un groupe valide !\n" +msgid "Unsubscribed from %s" +msgstr "Désabonné de %s" + +#: src/lang.c:880 +msgid "Unsubscribing... " +msgstr "Désabonnement... " #: src/lang.c:881 -msgid "\n" - "Warning: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "Attention : Suivi positionné sur plus d'un groupe !\n" +msgid "Unthreading articles..." +msgstr "Dégroupement des articles..." #: src/lang.c:882 -#, c-format -msgid "\n" - "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "Attention : multi-postage vers %d groupes et aucun suivi !\n" - -#: src/lang.c:883 -#, c-format -msgid "\n" - "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" -msgstr "\n" - "Attention : \"%s\" n'est pas dans votre newsrc, votre article peut ne\n" - " pas apparaître dans ce groupe !\n" - "\n" +msgid "Updated" +msgstr "Mis à jour" #: src/lang.c:884 #, c-format -msgid "\n" - "Warning: \"%s\" is not a valid newsgroup at this site!\n" -msgstr "\n" - "Attention : \"%s\" n'est pas un groupe valide !\n" +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "ligne \"LIST COUNTS\" intraitable : \"%s\"" + +#: src/lang.c:886 +msgid "Updating" +msgstr "Mise à jour" + +#: src/lang.c:887 +msgid "URL Menu" +msgstr "Menu URL" #: src/lang.c:888 -#, c-format -msgid "%d files successfully written from %d articles. %d %s occurred." -msgstr "%d fichiers des %d articles écrits avec succès. %d %s est survenu." +msgid "URL Menu Commands" +msgstr "Menu URL" #: src/lang.c:889 -msgid "Missing parts." -msgstr "Parties manquantes." +#, c-format +msgid "Opening %s" +msgstr "Ouverture de %s" #: src/lang.c:890 -msgid "No beginning." -msgstr "Pas de début." +msgid "Select URL> " +msgstr "Sélectionner l'URL >" #: src/lang.c:891 -msgid "No data." -msgstr "Pas de données." +msgid "No URLs in this article" +msgstr "Plus d'URL dans cet article" #: src/lang.c:892 -msgid "Unknown error." -msgstr "Erreur inconnue." +msgid "Use MIME display program for this message?" +msgstr "Utiliser le programme d'affichage MIME pour ce message ?" + +#: src/lang.c:893 +msgid " -c mark all news as read in subscribed newsgroups (batch mode)" +msgstr " -c marquer tous les articles lus dans les groupes abonnés (en tâche " + "de fond)" + +#: src/lang.c:894 +msgid " -Z return status indicating if any unread news (batch mode)" +msgstr " -Z retourne un statut indiquant s'il y a nouveaux articles (en tâche " + "de fond)" #: src/lang.c:895 +msgid " -q don't check for new newsgroups" +msgstr " -q ne pas vérifier s'il y a des nouveaux groupes" + +#: src/lang.c:896 +msgid " -X don't save any files on quit" +msgstr " -X ne pas enregistrer de fichiers à la fermeture" + +#: src/lang.c:897 +msgid " -d don't show newsgroup descriptions" +msgstr " -d ne pas afficher les descriptions des groupes" + +#: src/lang.c:898 +msgid " -G limit get only limit articles/group" +msgstr " -G nombre d'articles par groupe limite" + +#: src/lang.c:899 #, c-format -msgid "\tChecksum of %s (%ld %s)" -msgstr "\tSomme de contrôle de %s (%ld %s)" +msgid " -H help information about %s" +msgstr " -H aide à propos de %s" #: src/lang.c:900 -msgid "Reading mail active file... " -msgstr "Lecture du fichier active mail... " +msgid " -h this help message" +msgstr " -h ce message d'aide" #: src/lang.c:901 -msgid "Reading mailgroups file... " -msgstr "Lecture du fichier mailgroups... " +#, c-format +msgid " -I dir news index file directory [default=%s]" +msgstr " -I rép. répertoire du fichier index [défaut=%s]" + +#: src/lang.c:902 +msgid " -u update index files (batch mode)" +msgstr " -u màj des fichiers index (en tâche de fond)" + +#: src/lang.c:903 +#, c-format +msgid " -m dir mailbox directory [default=%s]" +msgstr " -m rép. répertoire des bàl [défaut=%s]" + +#: src/lang.c:904 +#, c-format +msgid "\n" + "Mail bug reports/comments to %s" +msgstr "\n" + "Envoyez par mail vos rapports de bogues/suggestions à %s" #: src/lang.c:905 -msgid "perform PGP operations on article" -msgstr "effectuer des opérations PGP sur l'article" +msgid " -N mail new news to your posts (batch mode)" +msgstr " -N envoyer toute réponse à vos articles (en tâche de fond)" #: src/lang.c:906 -msgid "Add key(s) to public keyring?" -msgstr "Ajouter les clé(s) au cercle public ?" +msgid " -M user mail new news to specified user (batch mode)" +msgstr " -M util. envoyer tout nouvel article à une personne (en tâche de fond)" #: src/lang.c:907 #, c-format -msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " -msgstr "%s=encoder, %s=signer, %s=les deux, %s=quitter : " +msgid " -f file subscribed to newsgroups file [default=%s]" +msgstr " -f fich. abonné au fichier groupes [défaut=%s]" #: src/lang.c:908 -#, c-format -msgid "%s=sign, %s=sign & include public key, %s=quit: " -msgstr "%s=signer, %s=sig. & inclure clé publique, %s=quitter : " +msgid " -x no posting mode" +msgstr " -x mode postage OFF" #: src/lang.c:909 -#, c-format -msgid "PGP has not been set up (can't open %s)" -msgstr "PGP n'a pas été configuré (ouverture de %s impossible)" +msgid " -w post an article and exit" +msgstr " -w poster un article puis quitter" #: src/lang.c:910 -msgid "Article not signed and no public keys found" -msgstr "Article non signé et pas de clés publiques trouvées" +msgid " -o post all postponed articles and exit" +msgstr " -o poster tous les brouillons puis quitter" + +#: src/lang.c:911 +msgid " -R read news saved by -S option" +msgstr " -R lire les articles enregistrés via l'option -S" #: src/lang.c:912 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=menu, %s=poster, %s=brouillon : " +msgid " -s dir save news directory [default=%s]" +msgstr " -s rép. répertoire où enregistrer les articles [défaut=%s]" #: src/lang.c:913 -#, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " -msgstr "%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=envoyer [%%s] : " +msgid " -S save new news for later reading (batch mode)" +msgstr " -S enregistrer tout nouvel article pour lecture différée (en tâche de " + "fond)" #: src/lang.c:914 +msgid " -z start if any unread news" +msgstr " -z lancer si articles non lus" + +#: src/lang.c:915 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=menu, %s=poster, %s=brouillon [%%" - "s]: " +msgid "A Usenet reader.\n" + "\n" + "Usage: %s [options] [newsgroup[,...]]" +msgstr "Un lecteur UseNet.\n" + "Usage : %s [options] [groupe[,...]]" #: src/lang.c:916 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=quitter, %s=éditer, %s=pgp, %s=menu, %s=poster, %s=brouillon : " +msgid " -v verbose output for batch mode options" +msgstr " -v sortie détaillée pour options en tâche de fond" #: src/lang.c:917 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " -msgstr "%s=quitter, %s=éditer, %s=pgp, %s=envoyer [%%s] : " +msgid " -V print version & date information" +msgstr " -V afficher infos date & version" #: src/lang.c:918 #, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=quitter, %s=éditer, %s=pgp, %s=menu, %s=poster, %s=brouillon [%%s] : " +msgid "%s only useful without batch mode operations\n" +msgstr "%s utile seulement sans opérations en tâche de fond\n" + +#: src/lang.c:919 +#, c-format +msgid "%s only useful for batch mode operations\n" +msgstr "%s utile seulement pour opérations en tâche de fond\n" + +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "Combinaison %s et %s inutile. %s ignorée.\n" #: src/lang.c:922 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " -msgstr "%s=quitter, %s=éditer, %s=ispell, %s=menu, %s=poster, %s=brouillon : " +msgid "\n" + "%s%d out of range (0 - %d). Reset to 0" +msgstr "\n" + "%s%d expiré (0 - %d). Remis à 0" #: src/lang.c:923 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " -msgstr "%s=quitter, %s=éditer, %s=ispell, %s=envoyer [%%s] : " +msgid "View '%s' (%s/%s)?" +msgstr "Voir '%s' (%s/%s) ?" -#: src/lang.c:924 +#: src/lang.c:925 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=quitter, %s=éditer, %s=ispell, %s=menu, %s=poster, %s=brouillon [%%s] : " +msgid "\n" + "Warning: posting exceeds %d columns. Line %d is the first long one:\n" + "%-100s\n" +msgstr "\n" + "Attention : message excédant %d colonnes. Ligne %d est la première " + "dépassant :\n" + "%-100s\n" #: src/lang.c:926 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " -msgstr "%s=quitter, %s=éditer, %s=menu, %s=poster, %s=brouillon : " +msgid "\n" + "Warning: article unchanged after editing\n" +msgstr "\n" + "Attention : article inchangé après son édition\n" #: src/lang.c:927 -#, c-format -msgid "%s=quit, %s=edit, %s=send [%%s]: " -msgstr "%s=quitter, %s=éditer, %s=envoyer [%%s] : " +msgid "\n" + "Warning: \"Subject:\" contains only whitespaces.\n" +msgstr "\n" + "Attention : \"Subject:\" contient que des espaces.\n" #: src/lang.c:928 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=quitter, %s=éditer, %s=menu, %s=poster, %s=brouillon [%%s]: " +msgid "\n" + "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" +msgstr "\n" + "Attention : \"Subject:\" commence par \"Re: \" mais il n'y a pas de " + "\"References:\".\n" + +#: src/lang.c:930 +msgid "\n" + "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" + " with \"Re: \" and does not contain \"(was:\".\n" +msgstr "\n" + "Attention : L'article a \"References:\" mais \"Subject:\" ne commence\n" + " avec \"Re: \" et ne contient pas \"(was:\".\n" + +#: src/lang.c:933 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly written by you. This will " + "wipe\n" + " the article from most news servers throughout the world, but there is " + "no\n" + " guarantee that it will work.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "Lisez ceci attentivement !\n" + "\n" + " Vous êtes sur le point d'effacer un article apparemment écrit par vous. " + "Cela effacera\n" + " cet article sur la plupart des serveurs UseNet du monde, mais il n'y a " + "aucune\n" + " garantie que cela marche.\n" + "\n" + "Voici l'article que vous vous apprêtez à effacer :\n" + "\n" #: src/lang.c:937 -msgid "Try cache_overview_files to speed up things.\n" -msgstr "Activez 'cache_overview_files' pour accélérer les choses.\n" - -#: src/lang.c:938 -msgid "Tin will use local index files instead.\n" -msgstr "Tin utilisera à la place un index local.\n" - -#: src/lang.c:939 -msgid "Cannot find NNTP server name" -msgstr "Nom du serveur NNTP introuvable" - -#: src/lang.c:940 -#, c-format -msgid "Connecting to %s:%d..." -msgstr "Connexion à %s:%d..." - -#: src/lang.c:941 -msgid "Disconnecting from server...\n" -msgstr "Déconnexion du serveur...\n" +msgid "\n" + "Warning: You are using a non-plain transfer encoding (such as base64 or\n" + " quoted-printable) and an external inews program to submit your\n" + " article. If a signature is appended by that inews program it will\n" + " not be encoded properly.\n" +msgstr "\n" + "Attention : Vous utilisez un encodage non correct (comme base64 ou\n" + " quoted-printable) et un programme inews externe pour poster\n" + " votre article. Si une signature y est ajoutée par cet inews,\n" + " elle ne sera pas encodée correctement.\n" #: src/lang.c:942 -#, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" -msgstr "Nom de groupe erroné dans la réponse de la cmd GROUP, %s pour %s" +msgid "\n" + "Warning: \"example\" is a reserved hierarchy!\n" +msgstr "\n" + "Attention : \"exemple\" est une hiérarchie réservée !\n" #: src/lang.c:943 #, c-format -msgid "Failed to connect to NNTP server %s. Exiting..." -msgstr "Échec de la connexion au serveur NNTP %s. Fermeture..." - -#: src/lang.c:944 -msgid "205 Closing connection" -msgstr "205 Fermeture de la connexion" +msgid "\n" + "\n" + "You are upgrading to tin %s from an earlier version.\n" + "Some values in your %s file have changed!\n" + "Read WHATSNEW, etc...\n" +msgstr "\n" + "\n" + "Vous passer à tin %s depuis une ancienne version.\n" + "Certaines valeurs dans votre fichier %s ont changé !\n" + "Lisez le fichier WHATSNEW, etc...\n" #: src/lang.c:945 -msgid "Your server does not support the NNTP XOVER or OVER command.\n" -msgstr "Votre serveur ne supporte pas la commande NNTP XOVER ou OVER.\n" - -#: src/lang.c:946 -msgid "Connection to news server has timed out. Reconnect?" -msgstr "Connexion au serveur de nouvelles expirée. Se reconnecter ?" - -#: src/lang.c:947 -#, c-format -msgid "Put the server name in the file %s,\n" - "or set the environment variable NNTPSERVER" -msgstr "Mettez le nom du serveur dans le fichier %s,\n" - "ou utilisez la variable d'environnement NNTPSERVER" - -#: src/lang.c:948 -msgid " -A force authentication on connect" -msgstr " -A force l'authentication à la connexion" - -#: src/lang.c:949 #, c-format -msgid " -g serv read news from NNTP server serv [default=%s]" -msgstr " -g serv lire depuis le serveur NNTP serv [défaut=%s]" +msgid "\n" + "\n" + "You are downgrading to tin %s from a more recent version!\n" + "Some values in your %s file may be ignored, others might have changed!\n" +msgstr "\n" + "\n" + "Vous repassez à tin %s depuis une version plus récente !\n" + "Certaines valeurs dans votre fichier %s peuvent être ignorées, d'autres\n" + "ont peut-être changées !\n" -#: src/lang.c:950 +#: src/lang.c:948 #, c-format -msgid " -p port use port as NNTP port [default=%d]" -msgstr " -p port utiliser port comme port NNTP [défaut=%d]" - -#: src/lang.c:951 -msgid " -Q quick start. Same as -nqd" -msgstr " -Q démarrage rapide. Idem que -npd" +msgid "Warning: tin wrote fewer groups to your\n" + "\t%s\n" + "than it read at startup. If you didn't unsubscribe from %ld %s during\n" + "this session this indicates an error and you should backup your %s\n" + "before you start tin once again!\n" +msgstr "Attention : tin a modifié quelques groupes dans votre\n" + "\t%s\n" + "qui est lu au lancement. Si vous ne vous êtes pas désabonné de %ld %s\n" + "lors de cette session, cela indique une erreur et vous devriez sauvegarder\n" + "votre %s avant de relancer tin !\n" #: src/lang.c:952 -msgid " -l use only LIST instead of GROUP (-n) command" -msgstr " -l utilise seulement LIST plutôt que GROUP (-n)" +#, c-format +msgid "\n" + "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" +msgstr "\n" + "Attention : %d lignes '-- \\n' trouvées, cela peut prêter à confusion.\n" #: src/lang.c:953 -msgid " -n only read subscribed .newsrc groups from NNTP server" -msgstr " -n lire seulement groupes abonnés du .newsrc depuis le serveur NNTP" +#, c-format +msgid "Warning: Only %d out of %d articles were saved" +msgstr "Attention : Seul %d sur %d articles ont été enregistrés" -#: src/lang.c:955 +#: src/lang.c:954 #, c-format -msgid "%s/tcp: Unknown service.\n" -msgstr "%s/tcp : Service inconnu.\n" +msgid "\n" + "Warning: Your signature is longer than %d lines. Since signatures usually " + "do\n" + " not transport any useful information, they should be as short " + "as\n" + " possible.\n" +msgstr "\n" + "Attention : Votre signature est longue de plus de %d lignes. Comme les " + "signatures\n" + " ne contiennent aucune information pertinente, elles se doivent " + "d'être\n" + " le plus court possible.\n" #: src/lang.c:958 -msgid "\n" - "socket or connect problem\n" -msgstr "\n" - "problème de socket ou de connexion\n" +#, c-format +msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " +msgstr "Attention : cette email peut contenir un piège à spam. %s=continuer, %" + "s=annuler ?" + +#: src/lang.c:959 +msgid "\n" + "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" +msgstr "\n" + "Attention : Les signatures doivent commencer avec '-- \\n' et non par '-- " + "\\n'.\n" #: src/lang.c:960 +msgid "Writing attributes file..." +msgstr "Écriture du fichier attributes..." + +#: src/lang.c:962 #, c-format -msgid "\n" - "Connection to %s: " -msgstr "\n" - "Connexion à %s : " - -#: src/lang.c:961 -msgid "Giving up...\n" -msgstr "Abandon...\n" +msgid "%d Responses" +msgstr "%d Réponses" #: src/lang.c:964 -msgid "Your server does not have Xref: in its XOVER information.\n" - "Tin will try to use XHDR XREF instead (slows down things a bit).\n" -msgstr "Votre serveur n'a pas d'Xref: dans son information XOVER.\n" - "Tin essayera d'utiliser XHDR XREF à la place (plus lent).\n" +#, c-format +msgid "Added %d %s" +msgstr "%d %s ajouté(s)" + +#: src/lang.c:965 +msgid "No unsubscribed groups to show" +msgstr "Aucuns groupes non abonnés à afficher" + +#: src/lang.c:966 +msgid "Showing subscribed to groups only" +msgstr "Afficher uniquement les groupes abonnés" #: src/lang.c:967 -msgid "Your server does not have Xref: in its XOVER information.\n" -msgstr "Votre serveur n'a pas d'Xref: dans son information XOVER.\n" +msgid "Yes " +msgstr "Oui " -#: src/lang.c:970 -#, c-format -msgid "Can't open %s. Try %s -r to read news via NNTP.\n" -msgstr "Ouverture de %s impossible. Essayez %s -r pour lire via NNTP.\n" +#: src/lang.c:968 +msgid " You have mail" +msgstr " Nouveau mail" #: src/lang.c:973 -msgid " -Q quick start. Same as -qd" -msgstr " -Q démarrage rapide. Idem que -qd" +#, c-format +msgid "\n" + "Warning: Posting is in %s and contains characters which are not\n" + " in your selected MM_NETWORK_CHARSET: %s.\n" + " These characters will be replaced by '?' if you post this\n" + " article unchanged. To avoid garbling your article please either\n" + " edit it and remove those characters or change the setting of\n" + " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" + " M)enu option.\n" +msgstr "\n" + "Attention : Votre article est en %s et contient des caractères qui ne\n" + " sont pas dans votre MM_NETWORK_CHARSET: %s.\n" + " Ces caractères seront remplacés par '?' si vous laissez cet\n" + " article inchangé. Pour éviter de réduire en bouillie votre\n" + " article, soit éditez-le, soit enlevez les caractères posant\n" + " problème, ou bien changer la valeur de MM_NETWORK_CHARSET\n" + " via le M)enu.\n" + +#: src/lang.c:984 +msgid " -D mode debug mode" +msgstr " -D mode mode debug" + +#: src/lang.c:988 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly not written by you. This " + "will\n" + " wipe the article from lots of news servers throughout the world;\n" + " Usenet's majority considers this rather inappropriate, to say the " + "least.\n" + " Only press 'd' if you are absolutely positive that you are ready to " + "take\n" + " the rap.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "Lisez ceci attentivement !\n" + "\n" + " Vous vous apprêtez à effacer un article qui fut apparemment écrit par vous. " + "Cela\n" + " effacera l'article sur de nombreux serveurs UseNet répartis sur el globe;\n" + " La mojorité d'UseNet considère cela comme inapproprié, pour ne pas dire " + "complètement.\n" + " Appuyez sur 'd' si vous vous sentez apte à subir les conséquences de ce\n" + "geste.\n" + "\n" + "Voici l'article que vous vous apprêtez a effacer :\n" + "\n" -#: src/lang.c:974 -msgid " -l read only active file instead of scanning spool (-n) command" -msgstr " -l lire seulement le fichier active plutôt que le spool (-n)" +#: src/lang.c:997 +msgid "toggle color" +msgstr "(dés)activer la couleur" -#: src/lang.c:975 -msgid " -n only read subscribed .newsrc groups from spool" -msgstr " -n lire seulement groupes abonnés du .newsrc depuis le spool" +#: src/lang.c:998 +msgid "# Changing colors of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" +msgstr "# Changer la couleur de plusieurs parties de l'écran\n" + "# Les valeurs possibles sont :\n" + "# -1 = défaut (blanc pour l'avant-plan et noir pour l'arrière-plan)\n" + "# 0 = noir\n" + "# 1 = rouge\n" + "# 2 = vert\n" + "# 3 = marron\n" + "# 4 = bleu\n" + "# 5 = rose\n" + "# 6 = cyan\n" + "# 7 = blanc\n" + "# Les valeurs suivantes ne sont *que* pour l'avant-plan :\n" + "# 8 = gris\n" + "# 9 = rouge gras\n" + "# 10 = vert gras\n" + "# 11 = jaune\n" + "# 12 = bleu gras\n" + "# 13 = rose gras\n" + "# 14 = cyan gras\n" + "# 15 = blanc gras\n" + "\n" + +#: src/lang.c:1018 +msgid " -a toggle color flag" +msgstr " -a change la couleur" + +#: src/lang.c:1022 +msgid "\n" + "Error: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "Erreur : Suivi positionné sur plus d'un groupe !\n" + +#: src/lang.c:1023 +#, c-format +msgid "\n" + "Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "\n" + "Erreur : \"%s\" est renommé, utilisez à la place \"%s\" !\n" + +#: src/lang.c:1024 +#, c-format +msgid "\n" + "Error: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "Erreur : multi-postage vers %d groupes et pas de ligne Followup-To !\n" -#: src/lang.c:976 -msgid "Your server does not have Xref: in its NOV-files.\n" -msgstr "Votre serveur n'a pas d'Xref: dans ses fichiers NOV.\n" +#: src/lang.c:1025 +#, c-format +msgid "\n" + "Error: \"%s\" is not a valid newsgroup!\n" +msgstr "\n" + "Erreur : \"%s\" n'est pas un groupe valide !\n" + +#: src/lang.c:1027 +msgid "\n" + "Warning: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "Attention : Suivi positionné sur plus d'un groupe !\n" + +#: src/lang.c:1028 +#, c-format +msgid "\n" + "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "\n" + "Attention : \"%s\" est renommé, vous devriez utiliser \"%s\" à la place !\n" + +#: src/lang.c:1029 +#, c-format +msgid "\n" + "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "Attention : multi-postage vers %d groupes et aucun suivi !\n" + +#: src/lang.c:1030 +#, c-format +msgid "\n" + "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" +msgstr "\n" + "Attention : \"%s\" n'est pas dans votre newsrc, votre article peut ne\n" + " pas apparaître dans ce groupe !\n" + "\n" + +#: src/lang.c:1031 +#, c-format +msgid "\n" + "Warning: \"%s\" is not a valid newsgroup at this site!\n" +msgstr "\n" + "Attention : \"%s\" n'est pas un groupe valide !\n" + +#: src/lang.c:1035 +#, c-format +msgid "%d files successfully written from %d articles. %d %s occurred." +msgstr "%d fichiers des %d articles écrits avec succès. %d %s est survenu." + +#: src/lang.c:1036 +msgid "Missing parts." +msgstr "Parties manquantes." + +#: src/lang.c:1037 +msgid "No beginning." +msgstr "Pas de début." -#: src/lang.c:980 -msgid "Posting using external inews failed. Use built in inews instead?" -msgstr "Le postage avec l'inews externe à échoué. Utiliser l'inews intégré ?" +#: src/lang.c:1038 +msgid "No data." +msgstr "Pas de données." -#: src/lang.c:981 -msgid "It worked! Should I always use my built in inews from now on?" -msgstr "Ca a marché ! Devrais-je toujours utiliser mon inews intégré à présent ?" +#: src/lang.c:1039 +msgid "Unknown error." +msgstr "Erreur inconnue." -#: src/lang.c:989 +#: src/lang.c:1042 #, c-format -msgid "%d %s printed" -msgstr "%d %s imprimé" +msgid "\tChecksum of %s (%ld %s)" +msgstr "\tSomme de contrôle de %s (%ld %s)" -#: src/lang.c:990 -msgid "output article/thread/hot/pattern/tagged articles to printer" -msgstr "envoyer article/fil/sél./articles marqués à l'imprimante" +#: src/lang.c:1047 +msgid "Reading mail active file... " +msgstr "Lecture du fichier active mail... " -#: src/lang.c:991 -msgid "Print" -msgstr "Imprimer" - -#: src/lang.c:992 -msgid "Printing..." -msgstr "Impression..." +#: src/lang.c:1048 +msgid "Reading mailgroups file... " +msgstr "Lecture du fichier mailgroups... " -#: src/lang.c:996 -msgid "pipe article/thread/hot/pattern/tagged articles into command" -msgstr "passer article/fil/sél./articles marqués à une commande" +#: src/lang.c:1052 +msgid "perform PGP operations on article" +msgstr "effectuer des opérations PGP sur l'article" + +#: src/lang.c:1053 +msgid "Add key(s) to public keyring?" +msgstr "Ajouter les clé(s) au cercle public ?" -#: src/lang.c:997 -msgid "No command" -msgstr "Aucune commande" +#: src/lang.c:1054 +#, c-format +msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " +msgstr "%s=encoder, %s=signer, %s=les deux, %s=quitter : " -#: src/lang.c:998 -msgid "Pipe" -msgstr "Passer (pipe)" +#: src/lang.c:1055 +#, c-format +msgid "%s=sign, %s=sign & include public key, %s=quit: " +msgstr "%s=signer, %s=sig. & inclure clé publique, %s=quitter : " -#: src/lang.c:999 +#: src/lang.c:1056 #, c-format -msgid "Pipe to command [%.*s]> " -msgstr "Passer à la commande [%.*s] > " +msgid "PGP has not been set up (can't open %s)" +msgstr "PGP n'a pas été configuré (ouverture de %s impossible)" -#: src/lang.c:1000 -msgid "Piping..." -msgstr "Passage..." - -#: src/lang.c:1002 -msgid "Piping not enabled." -msgstr "Passage non activé." - -#: src/lang.c:1006 -#, c-format -msgid "\n" - "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" - " The only allowable space is the one separating the colon (:)\n" - " from the contents. Use a comma (,) to separate multiple\n" - " newsgroup names.\n" -msgstr "\n" - "Erreur : La ligne \"%s:\" contient des espaces qui DOIVENT être retirés.\n" - " Le seul espace autorisé est celui séparant le séparateur (:)\n" - " du contenu. Utilisez une virgule (,) pour séparer de multiples\n" - " noms de groupes.\n" - -#: src/lang.c:1011 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is continued in the next line. Since\n" - " the line may not contain whitespace, this is not allowed.\n" - " Please write all newsgroups into a single line.\n" -msgstr "\n" - "Erreur : La ligne \"%s:\" n'est pas discontinue dans la ligne suivante.\n" - " Comme la ligne ne contient pas d'espace, ce n'est pas autorisé.\n" - " Inscrivez svp tous les groupes sur une seule ligne.\n" - -#: src/lang.c:1016 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line is continued in the next line.\n" - " This is a very new feature and may not be accepted by all servers.\n" - " To avoid trouble please write all newsgroups into a single line.\n" -msgstr "\n" - "Attention : La ligne \"%s:\" continue sur la ligne suivante.\n" - " C'est une nouvelle fonctionnalité et peut ne pas être\n" - " acceptée par tous les serveurs.\n" - " Pour éviter les problèmes, indiquez tous les groupes sur une\n" - " seule ligne.\n" - -#: src/lang.c:1020 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" -msgstr "\n" - "Attention : La ligne \"%s:\" contient un ou des espaces qui DOIVENT\n" - " être enlevés.\n" +#: src/lang.c:1057 +msgid "Article not signed and no public keys found" +msgstr "Article non signé et pas de clés publiques trouvées" -#: src/lang.c:1025 -msgid "\n" - " If your article contains quoted text please take some time to pare it " - "down\n" - " to just the key points to which you are responding, or people will " - "think\n" - " you are a dweeb! Many people have the habit of skipping any article " - "whose\n" - " first page is largely quoted material. Format your article to fit in " - "less\n" - " then 80 chars, since that's the conventional size (72 is a good choice " - "as\n" - " it allows quoting without exceeding the limit). If your lines are too " - "long\n" - " they'll wrap around ugly and people won't read what you write. If " - "you\n" - " aren't careful and considerate in formatting your posting, people " - "are\n" - " likely to ignore it completely. It's a crowded net out there.\n" -msgstr "\n" - " Si votre article contient du texte cité prenez s'il vous plaît un peu de " - "temps pour le nettoyer\n" - " afin de répondre en dessous du texte cité, ou bien les personnes penseront " - "que vous êtes un peu bête !\n" - " La plupart des gens ont la bonne idée d'effacer les parties inutiles du " - "texte cité.\n" - " Formattez votre article afin qu'aucune ligne ne dépasse 80 caractères, afin " - "de respecter les usages (72 est un bon choix car il vous permet d'éviter\n" - " d'excéder la limite). Si vos lignes sont trop longues, elles seront coupées " - "de façons aléatoires\n" - " rendant la lecture difficile voir impossible. Si vous ne respectez pas ces " - "simples\n" - " règles, pratiquement toutes les personnes ignoreront vos articles.\n" +#: src/lang.c:1059 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=menu, %s=poster, %s=brouillon : " -#: src/lang.c:1038 -msgid "shell escape" -msgstr "accéder à un shell" +#: src/lang.c:1060 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " +msgstr "%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=envoyer [%%s] : " -#: src/lang.c:1039 +#: src/lang.c:1061 #, c-format -msgid "Shell Command (%s)" -msgstr "Commande shell (%s)" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=quitter, %s=éditer, %s=ispell, %s=pgp, %s=menu, %s=poster, %s=brouillon [%%" + "s]: " -#: src/lang.c:1040 +#: src/lang.c:1063 #, c-format -msgid "Enter shell command [%s]> " -msgstr "Commande shell [%s] > " +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=quitter, %s=éditer, %s=pgp, %s=menu, %s=poster, %s=brouillon : " -#: src/lang.c:1044 +#: src/lang.c:1064 #, c-format -msgid "%s: Can't get entry for TERM\n" -msgstr "%s : Entrée pour TERM introuvable\n" +msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " +msgstr "%s=quitter, %s=éditer, %s=pgp, %s=envoyer [%%s] : " -#: src/lang.c:1048 +#: src/lang.c:1065 #, c-format -msgid "Group %.*s ('q' to quit)..." -msgstr "Groupe %.*s ('q' pour quitter)..." +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=quitter, %s=éditer, %s=pgp, %s=menu, %s=poster, %s=brouillon [%%s] : " -#: src/lang.c:1050 +#: src/lang.c:1069 #, c-format -msgid "Group %.*s..." -msgstr "Groupe %.*s..." +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " +msgstr "%s=quitter, %s=éditer, %s=ispell, %s=menu, %s=poster, %s=brouillon : " -#: src/lang.c:1054 -msgid "Server unavailable\n" -msgstr "Service indisponible\n" +#: src/lang.c:1070 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " +msgstr "%s=quitter, %s=éditer, %s=ispell, %s=envoyer [%%s] : " -#: src/lang.c:1060 +#: src/lang.c:1071 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" - "s=post" -msgstr "%s=pipe; %s=mail; %s=impr.; %s=quitter; %s=voir lu/non lu; %s=enreg.; %" - "s=marquer; %s=poster" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=quitter, %s=éditer, %s=ispell, %s=menu, %s=poster, %s=brouillon [%%s] : " -#: src/lang.c:1061 +#: src/lang.c:1073 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=pipe; %s=mail; %s=impr.; %s=quitter; %s=répondre; %s=enreg.; %s=marquer; %" - "s=poster" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " +msgstr "%s=quitter, %s=éditer, %s=menu, %s=poster, %s=brouillon : " -#: src/lang.c:1063 +#: src/lang.c:1074 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=mail; %s=imprimer; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %" - "s=marquer; %s=poster" +msgid "%s=quit, %s=edit, %s=send [%%s]: " +msgstr "%s=quitter, %s=éditer, %s=envoyer [%%s] : " -#: src/lang.c:1064 +#: src/lang.c:1075 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=mail; %s=imprimer; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; %" - "s=poster" - -#: src/lang.c:1068 -#, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=pipe; %s=mail; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %s=marquer; %" - "s=poster" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=quitter, %s=éditer, %s=menu, %s=poster, %s=brouillon [%%s]: " -#: src/lang.c:1069 +#: src/lang.c:1084 +msgid "Try cache_overview_files to speed up things.\n" +msgstr "Activez 'cache_overview_files' pour accélérer les choses.\n" + +#: src/lang.c:1085 +msgid "Tin will use local index files instead.\n" +msgstr "Tin utilisera à la place un index local.\n" + +#: src/lang.c:1086 +msgid "Cannot find NNTP server name" +msgstr "Nom du serveur NNTP introuvable" + +#: src/lang.c:1087 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=pipe; %s=mail; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; %" - "s=poster" +msgid "Connecting to %s:%u..." +msgstr "Connexion à %s:%u..." -#: src/lang.c:1071 +#: src/lang.c:1088 +msgid "Disconnecting from server...\n" +msgstr "Déconnexion du serveur...\n" + +#: src/lang.c:1089 #, c-format -msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=mail; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %s=marquer; %s=poster" +msgid "Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" +msgstr "Nom de groupe erroné (\"%s\") dans la réponse de la commande \"GROUP%s\" : \"%" + "s\"" -#: src/lang.c:1072 +#: src/lang.c:1090 #, c-format -msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=mail; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; %s=poster" +msgid "Failed to connect to NNTP server %s. Exiting..." +msgstr "Échec de la connexion au serveur NNTP %s. Fermeture..." + +#: src/lang.c:1091 +msgid "205 Closing connection" +msgstr "205 Fermeture de la connexion" -#: src/lang.c:1078 -msgid "Terminal does not support color" -msgstr "Le terminal ne supporte pas les couleurs" +#: src/lang.c:1092 +msgid "Your server does not support the NNTP XOVER or OVER command.\n" +msgstr "Votre serveur ne supporte pas la commande NNTP XOVER ou OVER.\n" -#: src/lang.c:1083 +#: src/lang.c:1093 +msgid "Connection to news server has timed out. Reconnect?" +msgstr "Connexion au serveur de nouvelles expirée. Se reconnecter ?" + +#: src/lang.c:1094 #, c-format -msgid "Trying %s" -msgstr "Essai %s" +msgid "Put the server name in the file %s,\n" + "or set the environment variable NNTPSERVER" +msgstr "Mettez le nom du serveur dans le fichier %s,\n" + "ou utilisez la variable d'environnement NNTPSERVER" + +#: src/lang.c:1095 +msgid " -A force authentication on connect" +msgstr " -A force l'authentication à la connexion" -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 src/refs.c:296 -msgid "None" -msgstr "Aucun" +#: src/lang.c:1096 +#, c-format +msgid " -g serv read news from NNTP server serv [default=%s]" +msgstr " -g serv lire depuis le serveur NNTP serv [défaut=%s]" + +#: src/lang.c:1097 +#, c-format +msgid " -p port use port as NNTP port [default=%d]" +msgstr " -p port utiliser port comme port NNTP [défaut=%d]" #: src/lang.c:1098 -msgid "Subject" -msgstr "Sujet" +msgid " -Q quick start. Same as -nqd" +msgstr " -Q démarrage rapide. Idem que -npd" #: src/lang.c:1099 -msgid "References" -msgstr "Références" +msgid " -r read news remotely from default NNTP server" +msgstr " -r lire les articles depuis le serveur NNTP par défaut" #: src/lang.c:1100 -msgid "Both Subject and References" -msgstr "Sujet et Références" +msgid " -l use only LIST instead of GROUP (-n) command" +msgstr " -l utilise seulement LIST plutôt que GROUP (-n)" #: src/lang.c:1101 -msgid "Multipart Subject" -msgstr "Sujet multiparties" +msgid " -n only read subscribed .newsrc groups from NNTP server" +msgstr " -n lire seulement groupes abonnés du .newsrc depuis le serveur NNTP" -# TRANSLATION MISSING -#: src/lang.c:1102 -msgid "Percentage Match" -msgstr "" - -#: src/lang.c:1114 src/lang.c:1225 -msgid "No" -msgstr "Non" - -#: src/lang.c:1115 src/lang.c:1227 -msgid "Yes" -msgstr "Oui" - -#: src/lang.c:1116 -msgid "Hide All" -msgstr "Tout masquer" +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" +msgstr "" + +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr "" + +#: src/lang.c:1105 +msgid "\n" + "socket or connect problem\n" +msgstr "\n" + "problème de socket ou de connexion\n" + +#: src/lang.c:1107 +#, c-format +msgid "\n" + "Connection to %s: " +msgstr "\n" + "Connexion à %s : " + +#: src/lang.c:1108 +msgid "Giving up...\n" +msgstr "Abandon...\n" + +#: src/lang.c:1110 +#, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "%s/tcp : Service inconnu.\n" + +#: src/lang.c:1114 +msgid "Your server does not have Xref: in its XOVER information.\n" + "Tin will try to use XHDR XREF instead (slows down things a bit).\n" +msgstr "Votre serveur n'a pas d'Xref: dans son information XOVER.\n" + "Tin essayera d'utiliser XHDR XREF à la place (plus lent).\n" + +#: src/lang.c:1117 +msgid "Your server does not have Xref: in its XOVER information.\n" +msgstr "Votre serveur n'a pas d'Xref: dans son information XOVER.\n" + +#: src/lang.c:1120 +#, c-format +msgid "Can't open %s. Try %s -r to read news via NNTP.\n" +msgstr "Ouverture de %s impossible. Essayez %s -r pour lire via NNTP.\n" + +#: src/lang.c:1123 +msgid " -Q quick start. Same as -qd" +msgstr " -Q démarrage rapide. Idem que -qd" #: src/lang.c:1124 -msgid "Address" -msgstr "Adresse" +msgid " -l read only active file instead of scanning spool (-n) command" +msgstr " -l lire seulement le fichier active plutôt que le spool (-n)" #: src/lang.c:1125 -msgid "Full Name" -msgstr "Nom complet" +msgid " -n only read subscribed .newsrc groups from spool" +msgstr " -n lire seulement groupes abonnés du .newsrc depuis le spool" #: src/lang.c:1126 -msgid "Address and Name" -msgstr "Adresse et Nom" +msgid "Your server does not have Xref: in its NOV-files.\n" +msgstr "Votre serveur n'a pas d'Xref: dans ses fichiers NOV.\n" -#: src/lang.c:1133 -msgid "Max" -msgstr "Max" - -#: src/lang.c:1134 -msgid "Sum" -msgstr "Addition" +#: src/lang.c:1130 +msgid "Posting using external inews failed. Use built in inews instead?" +msgstr "Le postage avec l'inews externe à échoué. Utiliser l'inews intégré ?" + +#: src/lang.c:1131 +msgid "It worked! Should I always use my built in inews from now on?" +msgstr "Ca a marché ! Devrais-je toujours utiliser mon inews intégré à présent ?" #: src/lang.c:1135 -msgid "Average" -msgstr "Moyenne" +#, c-format +msgid "%d %s printed" +msgstr "%d %s imprimé" -#: src/lang.c:1140 -msgid "Lines" -msgstr "Lignes" - -#: src/lang.c:1141 -msgid "Score" -msgstr "Score" +#: src/lang.c:1136 +msgid "output article/thread/hot/pattern/tagged articles to printer" +msgstr "envoyer article/fil/sél./articles marqués à l'imprimante" + +#: src/lang.c:1137 +msgid "Print" +msgstr "Imprimer" + +#: src/lang.c:1138 +msgid "Printing..." +msgstr "Impression..." #: src/lang.c:1142 -msgid "Lines & Score" -msgstr "Lignes & Score" +msgid "pipe article/thread/hot/pattern/tagged articles into command" +msgstr "passer article/fil/sél./articles marqués à une commande" -#: src/lang.c:1151 -msgid "Black" -msgstr "Noir" +#: src/lang.c:1143 +msgid "No command" +msgstr "Aucune commande" -#: src/lang.c:1152 -msgid "Red" -msgstr "Rouge" +#: src/lang.c:1144 +msgid "Pipe" +msgstr "Passer (pipe)" -#: src/lang.c:1153 -msgid "Green" -msgstr "Vert" - -#: src/lang.c:1154 -msgid "Brown" -msgstr "Marron" - -#: src/lang.c:1155 -msgid "Blue" -msgstr "Bleu" - -#: src/lang.c:1156 -msgid "Pink" -msgstr "Rose" +#: src/lang.c:1145 +#, c-format +msgid "Pipe to command [%.*s]> " +msgstr "Passer à la commande [%.*s] > " -#: src/lang.c:1157 -msgid "Cyan" -msgstr "Cyan" +#: src/lang.c:1146 +msgid "Piping..." +msgstr "Passage..." -#: src/lang.c:1158 -msgid "White" -msgstr "Blanc" - -#: src/lang.c:1159 -msgid "Gray" -msgstr "Gris" - -#: src/lang.c:1160 -msgid "Light Red" -msgstr "Rouge gras" - -#: src/lang.c:1161 -msgid "Light Green" -msgstr "Vert gras" +#: src/lang.c:1148 +msgid "Piping not enabled." +msgstr "Passage non activé." -#: src/lang.c:1162 -msgid "Yellow" -msgstr "Jaune" +#: src/lang.c:1152 +#, c-format +msgid "\n" + "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" + " The only allowable space is the one separating the colon (:)\n" + " from the contents. Use a comma (,) to separate multiple\n" + " newsgroup names.\n" +msgstr "\n" + "Erreur : La ligne \"%s:\" contient des espaces qui DOIVENT être retirés.\n" + " Le seul espace autorisé est celui séparant le séparateur (:)\n" + " du contenu. Utilisez une virgule (,) pour séparer de multiples\n" + " noms de groupes.\n" -#: src/lang.c:1163 -msgid "Light Blue" -msgstr "Bleu gras" - -#: src/lang.c:1164 -msgid "Light Pink" -msgstr "Rose gras" - -#: src/lang.c:1165 -msgid "Light Cyan" -msgstr "Cyan gras" +#: src/lang.c:1157 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is continued in the next line. Since\n" + " the line may not contain whitespace, this is not allowed.\n" + " Please write all newsgroups into a single line.\n" +msgstr "\n" + "Erreur : La ligne \"%s:\" n'est pas discontinue dans la ligne suivante.\n" + " Comme la ligne ne contient pas d'espace, ce n'est pas autorisé.\n" + " Inscrivez svp tous les groupes sur une seule ligne.\n" -#: src/lang.c:1166 -msgid "Light White" -msgstr "Blanc gras" +#: src/lang.c:1162 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line is continued in the next line.\n" + " This is a very new feature and may not be accepted by all servers.\n" + " To avoid trouble please write all newsgroups into a single line.\n" +msgstr "\n" + "Attention : La ligne \"%s:\" continue sur la ligne suivante.\n" + " C'est une nouvelle fonctionnalité et peut ne pas être\n" + " acceptée par tous les serveurs.\n" + " Pour éviter les problèmes, indiquez tous les groupes sur une\n" + " seule ligne.\n" -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 -msgid "Nothing" -msgstr "Rien" - -#: src/lang.c:1175 -msgid "Mark" -msgstr "Marque" - -#: src/lang.c:1176 -msgid "Space" -msgstr "Espace" - -#: src/lang.c:1183 -msgid "Normal" -msgstr "Normal" +#: src/lang.c:1166 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" +msgstr "\n" + "Attention : La ligne \"%s:\" contient un ou des espaces qui DOIVENT\n" + " être enlevés.\n" + +#: src/lang.c:1171 +msgid "\n" + " If your article contains quoted text please take some time to pare it " + "down\n" + " to just the key points to which you are responding, or people will " + "think\n" + " you are a dweeb! Many people have the habit of skipping any article " + "whose\n" + " first page is largely quoted material. Format your article to fit in " + "less\n" + " then 80 chars, since that's the conventional size (72 is a good choice " + "as\n" + " it allows quoting without exceeding the limit). If your lines are too " + "long\n" + " they'll wrap around ugly and people won't read what you write. If " + "you\n" + " aren't careful and considerate in formatting your posting, people " + "are\n" + " likely to ignore it completely. It's a crowded net out there.\n" +msgstr "\n" + " Si votre article contient du texte cité prenez s'il vous plaît un peu de " + "temps pour le nettoyer\n" + " afin de répondre en dessous du texte cité, ou bien les personnes penseront " + "que vous êtes un peu bête !\n" + " La plupart des gens ont la bonne idée d'effacer les parties inutiles du " + "texte cité.\n" + " Formattez votre article afin qu'aucune ligne ne dépasse 80 caractères, afin " + "de respecter les usages (72 est un bon choix car il vous permet d'éviter\n" + " d'excéder la limite). Si vos lignes sont trop longues, elles seront coupées " + "de façons aléatoires\n" + " rendant la lecture difficile voir impossible. Si vous ne respectez pas ces " + "simples\n" + " règles, pratiquement toutes les personnes ignoreront vos articles.\n" #: src/lang.c:1184 -msgid "Best highlighting" -msgstr "Meilleure surbrillance" +msgid "shell escape" +msgstr "accéder à un shell" #: src/lang.c:1185 -msgid "Underline" -msgstr "Souligné" +#, c-format +msgid "Shell Command (%s)" +msgstr "Commande shell (%s)" #: src/lang.c:1186 -msgid "Reverse video" -msgstr "Vidéo inversée" +#, c-format +msgid "Enter shell command [%s]> " +msgstr "Commande shell [%s] > " -#: src/lang.c:1187 -msgid "Blinking" -msgstr "Clignotement" - -#: src/lang.c:1188 -msgid "Half bright" -msgstr "Moins lumineux" - -#: src/lang.c:1189 -msgid "Bold" -msgstr "Gras" +#: src/lang.c:1190 +#, c-format +msgid "%s: Can't get entry for TERM\n" +msgstr "%s : Entrée pour TERM introuvable\n" #: src/lang.c:1194 -msgid "none" -msgstr "aucun" - -#: src/lang.c:1195 -msgid "commands" -msgstr "commandes" +#, c-format +msgid "Group %.*s ('q' to quit)..." +msgstr "Groupe %.*s ('q' pour quitter)..." #: src/lang.c:1196 -msgid "select" -msgstr "sélection" - -#: src/lang.c:1198 -msgid "commands & quit" -msgstr "commandes & quitter" - -#: src/lang.c:1199 -msgid "commands & select" -msgstr "commandes & sélection" +#, c-format +msgid "Group %.*s..." +msgstr "Groupe %.*s..." #: src/lang.c:1200 -msgid "quit & select" -msgstr "quitter & sélection" +msgid "Server unavailable\n" +msgstr "Service indisponible\n" -#: src/lang.c:1201 -msgid "commands & quit & select" -msgstr "commandes, quitter & sélection" - -#: src/lang.c:1226 -msgid "Shell archive" -msgstr "Archive shell" - -#: src/lang.c:1232 -msgid "Subject: (descending)" -msgstr "Subject : (descendant)" - -#: src/lang.c:1233 -msgid "Subject: (ascending)" -msgstr "Subject : (ascendant)" - -#: src/lang.c:1234 -msgid "From: (descending)" -msgstr "From: (descendant)" - -#: src/lang.c:1235 -msgid "From: (ascending)" -msgstr "From: (ascendant)" - -#: src/lang.c:1236 -msgid "Date: (descending)" -msgstr "Date: (descendant)" - -#: src/lang.c:1237 -msgid "Date: (ascending)" -msgstr "Date: (ascendant)" - -#: src/lang.c:1238 src/lang.c:1246 -msgid "Score (descending)" -msgstr "Score (descendant)" - -#: src/lang.c:1239 src/lang.c:1247 -msgid "Score (ascending)" -msgstr "Score (ascendant)" - -#: src/lang.c:1240 -msgid "Lines: (descending)" -msgstr "Lines: (descendant)" - -#: src/lang.c:1241 -msgid "Lines: (ascending)" -msgstr "Lines: (ascendant)" - -#: src/lang.c:1252 -msgid "Always Keep" -msgstr "Toujours garder" - -#: src/lang.c:1253 -msgid "Always Remove" -msgstr "Toujours effacer" - -#: src/lang.c:1254 -msgid "Mark with D on selection screen" -msgstr "Marquer avec un D dans la vue sélection" - -#: src/lang.c:1259 -msgid "Kill only unread arts" -msgstr "Filtrer uniquement les articles non lus" - -#: src/lang.c:1260 -msgid "Kill all arts & show with K" -msgstr "Filtrer tous les articles & afficher avec un K" +#: src/lang.c:1206 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" + "s=post" +msgstr "%s=passer; %s=mail; %s=impr.; %s=quitter; %s=voir lu/non lu; %s=enreg.; %" + "s=marquer; %s=poster" -#. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 -msgid "Kill all arts and never show" -msgstr "Filtrer tous les articles et ne jamais afficher" - -#: src/lang.c:1266 -msgid "Nothing special" -msgstr "Rien de spécial" - -#: src/lang.c:1267 -msgid "Compress quotes" -msgstr "Citations compressées" - -#: src/lang.c:1268 -msgid "Quote signatures" -msgstr "Citer les signatures" - -#: src/lang.c:1269 -msgid "Compress quotes, quote sigs" -msgstr "Compresser les citations, citer les signatures" +#: src/lang.c:1207 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=passer; %s=mail; %s=impr.; %s=quitter; %s=répondre; %s=enreg.; %s=marquer; " + "%s=poster" + +#: src/lang.c:1209 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=mail; %s=imprimer; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %" + "s=marquer; %s=poster" + +#: src/lang.c:1210 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=mail; %s=imprimer; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; %" + "s=poster" + +#: src/lang.c:1214 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=passer; %s=mail; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %" + "s=marquer; %s=poster" + +#: src/lang.c:1215 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=passer; %s=mail; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; %" + "s=poster" + +#: src/lang.c:1217 +#, c-format +msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=mail; %s=quitter; %s=voir lu/non lu; %s=enregistrer; %s=marquer; %s=poster" + +#: src/lang.c:1218 +#, c-format +msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=mail; %s=quitter; %s=répondre; %s=enregistrer; %s=marquer; %s=poster" + +#: src/lang.c:1224 +msgid "Terminal does not support color" +msgstr "Le terminal ne supporte pas les couleurs" + +#: src/lang.c:1229 +#, c-format +msgid "Trying %s" +msgstr "Essai %s" + +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 src/refs.c:288 +msgid "None" +msgstr "Aucun" + +#: src/lang.c:1244 +msgid "Subject" +msgstr "Sujet" + +#: src/lang.c:1245 +msgid "References" +msgstr "Références" + +#: src/lang.c:1246 +msgid "Both Subject and References" +msgstr "Sujet et Références" + +#: src/lang.c:1247 +msgid "Multipart Subject" +msgstr "Sujet multiparties" + +#: src/lang.c:1248 +msgid "Percentage Match" +msgstr "Taux de concordance" + +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 +msgid "No" +msgstr "Non" + +#: src/lang.c:1261 src/lang.c:1413 +msgid "Yes" +msgstr "Oui" + +#: src/lang.c:1262 +msgid "Hide All" +msgstr "Tout masquer" #: src/lang.c:1270 -msgid "Quote empty lines" -msgstr "Citer les lignes vides" +msgid "Address" +msgstr "Adresse" #: src/lang.c:1271 -msgid "Compress quotes, quote empty lines" -msgstr "Compresser les citations, citer les lignes vides" +msgid "Full Name" +msgstr "Nom complet" #: src/lang.c:1272 -msgid "Quote sigs & empty lines" -msgstr "Citer les signatures & les lignes vides" +msgid "Address and Name" +msgstr "Adresse et Nom" -#: src/lang.c:1273 -msgid "Comp. q., quote sigs & empty lines" -msgstr "Citations compr., signatures et lignes vides citées" +#: src/lang.c:1279 +msgid "Max" +msgstr "Max" + +#: src/lang.c:1280 +msgid "Sum" +msgstr "Addition" + +#: src/lang.c:1281 +msgid "Average" +msgstr "Moyenne" + +#: src/lang.c:1286 +msgid "Lines" +msgstr "Lignes" + +#: src/lang.c:1287 +msgid "Score" +msgstr "Score" + +#: src/lang.c:1288 +msgid "Lines & Score" +msgstr "Lignes & Score" + +#: src/lang.c:1297 +msgid "Black" +msgstr "Noir" + +#: src/lang.c:1298 +msgid "Red" +msgstr "Rouge" + +#: src/lang.c:1299 +msgid "Green" +msgstr "Vert" + +#: src/lang.c:1300 +msgid "Brown" +msgstr "Marron" + +#: src/lang.c:1301 +msgid "Blue" +msgstr "Bleu" + +#: src/lang.c:1302 +msgid "Pink" +msgstr "Rose" + +#: src/lang.c:1303 +msgid "Cyan" +msgstr "Cyan" + +#: src/lang.c:1304 +msgid "White" +msgstr "Blanc" + +#: src/lang.c:1305 +msgid "Gray" +msgstr "Gris" + +#: src/lang.c:1306 +msgid "Light Red" +msgstr "Rouge gras" + +#: src/lang.c:1307 +msgid "Light Green" +msgstr "Vert gras" + +#: src/lang.c:1308 +msgid "Yellow" +msgstr "Jaune" + +#: src/lang.c:1309 +msgid "Light Blue" +msgstr "Bleu gras" + +#: src/lang.c:1310 +msgid "Light Pink" +msgstr "Rose gras" #: src/lang.c:1311 -msgid "no" -msgstr "non" +msgid "Light Cyan" +msgstr "Cyan gras" #: src/lang.c:1312 -msgid "with headers" -msgstr "avec les en-têtes" +msgid "Light White" +msgstr "Blanc gras" -#: src/lang.c:1313 -msgid "without headers" -msgstr "sans les en-têtes" - -#: src/lang.c:1320 src/lang.c:1326 -msgid "NFKC" -msgstr "NFKC" - -#: src/lang.c:1321 -msgid "NFKD" -msgstr "NFKD" +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 +msgid "Nothing" +msgstr "Rien" #: src/lang.c:1322 -msgid "NFC" -msgstr "NFC" +msgid "Space" +msgstr "Espace" -#: src/lang.c:1323 -msgid "NFD" -msgstr "NFD" +#: src/lang.c:1329 +msgid "Normal" +msgstr "Normal" + +#: src/lang.c:1330 +msgid "Best highlighting" +msgstr "Meilleure surbrillance" + +#: src/lang.c:1331 +msgid "Underline" +msgstr "Souligné" + +#: src/lang.c:1332 +msgid "Reverse video" +msgstr "Vidéo inversée" + +#: src/lang.c:1333 +msgid "Blinking" +msgstr "Clignotement" #: src/lang.c:1334 -msgid "Display Options" -msgstr "Options d'affichage" +msgid "Half bright" +msgstr "Moins lumineux" + +#: src/lang.c:1335 +msgid "Bold" +msgstr "Gras" #: src/lang.c:1341 -msgid "Color Options" -msgstr "Options des couleurs" +msgid "Cc" +msgstr "Cc" -#: src/lang.c:1348 -msgid "Article-Limiting Options" -msgstr "Options des articles" +#: src/lang.c:1342 +msgid "Bcc" +msgstr "Cci" + +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "Cc et Cci" + +#: src/lang.c:1348 src/lang.c:1360 +msgid "none" +msgstr "aucun" + +#: src/lang.c:1349 +msgid "commands" +msgstr "commandes" + +#: src/lang.c:1350 +msgid "select" +msgstr "sélection" + +#: src/lang.c:1352 +msgid "commands & quit" +msgstr "commandes & quitter" + +#: src/lang.c:1353 +msgid "commands & select" +msgstr "commandes & sélection" #: src/lang.c:1354 -msgid "Posting/Mailing Options" -msgstr "Options de postage/messagerie" +msgid "quit & select" +msgstr "quitter & sélection" + +#: src/lang.c:1355 +msgid "commands & quit & select" +msgstr "commandes, quitter & sélection" + +#: src/lang.c:1361 +msgid "PageDown" +msgstr "PageDown" + +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "PageNextUnread" + +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "PageDown ou PageNextUnread" + +#: src/lang.c:1368 +#, fuzzy +msgid "Subject: (case sensitive)" +msgstr "l'en-tête 'Subject:' (casse sensible)" + +#: src/lang.c:1369 +#, fuzzy +msgid "Subject: (ignore case)" +msgstr "l'en-tête 'Subject:' (ignorer la casse)" -#: src/lang.c:1360 -msgid "Saving/Printing Options" -msgstr "Options d'enregistrement/d'impression" - -#: src/lang.c:1366 -msgid "Expert Options" -msgstr "Options avancées" +#: src/lang.c:1370 +#, fuzzy +msgid "From: (case sensitive)" +msgstr "l'en-tête 'From:' (casse sensible)" + +#: src/lang.c:1371 +#, fuzzy +msgid "From: (ignore case)" +msgstr "l'en-tête 'From:' (ignorer la casse)" #: src/lang.c:1372 -msgid "Filtering Options" -msgstr "Options de filtrage" +#, fuzzy +msgid "Msg-ID: & full References: line" +msgstr "Ligne Message-ID: & References:" -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 src/lang.c:1490 -#: src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 src/lang.c:1601 src/lang.c:1771 -#: src/lang.c:1777 src/lang.c:1783 src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 -#: src/lang.c:1862 src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 src/lang.c:1926 -#: src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 src/lang.c:1954 src/lang.c:1961 -#: src/lang.c:1968 src/lang.c:1975 src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 -#: src/lang.c:2003 src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 src/lang.c:2076 -#: src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 src/lang.c:2117 src/lang.c:2151 -#: src/lang.c:2204 src/lang.c:2211 src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 -#: src/lang.c:2312 src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 -msgid " toggles, sets, cancels." -msgstr " change, valide, annule." - -#: src/lang.c:1378 -msgid "Show mini menu & posting etiquette" -msgstr "Afficher le menu & l'intitulé du postage" - -#: src/lang.c:1379 -msgid "# If ON show a mini menu of useful commands at each level\n" - "# and posting etiquette after composing an article\n" -msgstr "# Si ON, affiche un mini menu des commandes utiles pour chaque\n" - "# niveaux et affiche les détails après la composition d'un article\n" +#: src/lang.c:1373 +#, fuzzy +msgid "Msg-ID: & last References: only" +msgstr "Message-ID: & dernière Référence " + +#: src/lang.c:1374 +#, fuzzy +msgid "Message-ID: entry only" +msgstr "Message-ID: entrée uniquement" + +#: src/lang.c:1375 +#, fuzzy +msgid "Lines:" +msgstr "Lignes:" + +#: src/lang.c:1380 +msgid "Don't trim article body" +msgstr "Ne pas couper le corps de l'article" + +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "Passer les lignes vides du début" + +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "Passer les lignes vides de la fin" + +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "Passer toutes les lignes vides" #: src/lang.c:1384 -msgid "Show short description for each newsgroup. toggles & sets." -msgstr "Afficher une brève description pour chaque groupe. change & " - "valide." +msgid "Compact multiple between text" +msgstr "Regrouper entre chaque paragraphe" #: src/lang.c:1385 -msgid "Show description of each newsgroup" -msgstr "Voir description de chaque groupe" +msgid "Compact multiple and skip leading" +msgstr "Regrouper et effacer les premières" #: src/lang.c:1386 -msgid "# If ON show group description text after newsgroup name at\n" - "# group selection level\n" -msgstr "# Si ON, affiche une description du groupe après son nom dans\n" - "# la vue de sélection des groupes\n" - -#: src/lang.c:1391 -msgid "Show Subject & From (author) fields in group menu. toggles & " - "sets." -msgstr "Affiche le sujet & l'auteur dans le menu groupe. change & " - "valide." - -#: src/lang.c:1392 -msgid "In group menu, show author by" -msgstr "Dans vue groupe, voir auteur par" - -#: src/lang.c:1393 -msgid "# Part of from field to display\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = none\n" - "# 1 = address\n" - "# * 2 = full name\n" - "# 3 = both\n" -msgstr "# Partie du champ from à afficher\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# 0 = aucune\n" - "# 1 = adresse\n" - "# * 2 = nom complet\n" - "# 3 les deux\n" - -#: src/lang.c:1402 -msgid "Draw -> or highlighted bar for selection. toggles & sets." -msgstr "Affiche -> ou une barre de sélection. change & valide." - -#: src/lang.c:1403 -msgid "Draw -> instead of highlighted bar" -msgstr "Afficher -> plutôt qu'une barre" - -#: src/lang.c:1404 -msgid "# If ON use -> otherwise highlighted bar for selection\n" -msgstr "# Si ON, utilise -> sinon barre en surbrillance pour la sélection\n" - -#: src/lang.c:1409 -msgid "Use inverse video for page headers" -msgstr "Vidéo inversée pour les en-têtes" - -#: src/lang.c:1410 -msgid "# If ON use inverse video for page headers at different levels\n" -msgstr "# Si ON, utilise la vidéo inversée pour les en-têtes dans les différentes\n" - "# vues\n" - -#: src/lang.c:1415 -msgid "Thread articles by" -msgstr "Regrouper les articles par" +msgid "Compact multiple and skip trailing" +msgstr "Regrouper et effacer les dernières" -# TRANSLATION OUTDATED -#: src/lang.c:1416 -#, fuzzy -msgid "# Thread articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = Both (Subject and References)\n" - "# 4 = Multipart Subject\n" - "# 5 = Percentage Match\n" -msgstr "# Regrouper les articles par...\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# 0 = aucun\n" - "# 1 = Sujet\n" - "# 2 = References\n" - "# * 3 = Les deux (Sujet et References)\n" - "# 4 = Sujet multipartie\n" +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "Regrouper puis effacer les premières et dernières" + +#: src/lang.c:1412 +msgid "Shell archive" +msgstr "Archive shell" + +#: src/lang.c:1418 +msgid "Subject: (descending)" +msgstr "Subject : (descendant)" + +#: src/lang.c:1419 +msgid "Subject: (ascending)" +msgstr "Subject : (ascendant)" + +#: src/lang.c:1420 +msgid "From: (descending)" +msgstr "From: (descendant)" + +#: src/lang.c:1421 +msgid "From: (ascending)" +msgstr "From: (ascendant)" + +#: src/lang.c:1422 +msgid "Date: (descending)" +msgstr "Date: (descendant)" + +#: src/lang.c:1423 +msgid "Date: (ascending)" +msgstr "Date: (ascendant)" + +#: src/lang.c:1424 src/lang.c:1432 +msgid "Score (descending)" +msgstr "Score (descendant)" + +#: src/lang.c:1425 src/lang.c:1433 +msgid "Score (ascending)" +msgstr "Score (ascendant)" + +#: src/lang.c:1426 +msgid "Lines: (descending)" +msgstr "Lines: (descendant)" -# TRANSLATION MISSING #: src/lang.c:1427 -msgid "Enter percentage match required to thread together. sets." -msgstr "" +msgid "Lines: (ascending)" +msgstr "Lines: (ascendant)" -# TRANSLATION MISSING -#: src/lang.c:1428 -msgid "Thread percentage match" -msgstr "" - -# TRANSLATION MISSING -#: src/lang.c:1429 -#, c-format -msgid "# Thread percentage match...\n" - "# the percentage of characters in the subject of an article that must match\n" - "# a base article for both those articles to be considered to belong to the\n" - "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" - "# follow. If 80 is used here, then 80%% of the characters must match " - "exactly,\n" - "# no insertion of a character, for the two articles to be put in the same\n" - "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" - "# 'harppy' would be threaded separately from 'happy'\n" -msgstr "" +#: src/lang.c:1434 +msgid "Last posting date (descending)" +msgstr "Dernière date de postage (descendant)" + +#: src/lang.c:1435 +msgid "Last posting date (ascending)" +msgstr "Dernière date de postage (ascendant)" + +#: src/lang.c:1440 +msgid "Always Keep" +msgstr "Toujours garder" #: src/lang.c:1441 -msgid "Score of a thread" -msgstr "Score d'un fil" +msgid "Always Remove" +msgstr "Toujours effacer" #: src/lang.c:1442 -msgid "# Thread score\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = max\n" - "# 1 = sum\n" - "# 2 = average\n" -msgstr "# Regrouper les scores\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# * 0 = max\n" - "# 1 = somme\n" - "# 2 = moyenne\n" - -#: src/lang.c:1450 -msgid "Sort articles by Subject, From, Date or Score. toggles & sets." -msgstr "Trie les articles d'après un en-tête. change & valide." - -#: src/lang.c:1451 -msgid "Sort articles by" -msgstr "Trier les articles par" - -#: src/lang.c:1452 -msgid "# Sort articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject descending\n" - "# 2 = Subject ascending\n" - "# 3 = From descending\n" - "# 4 = From ascending\n" - "# 5 = Date descending\n" - "# * 6 = Date ascending\n" - "# 7 = Score descending\n" - "# 8 = Score ascending\n" - "# 9 = Lines descending\n" - "# 10 = Lines ascending\n" -msgstr "# Trie les article par...\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# 0 = rien\n" - "# 1 = Sujet descendant\n" - "# 2 = Sujet ascendant\n" - "# 3 = De descendant\n" - "# 4 = De ascendant\n" - "# 5 = Date descendant\n" - "# * 6 = Date ascendant\n" - "# 7 = Score descendant\n" - "# 8 = Score ascendant\n" - "# 9 = Lignes descendant\n" - "# 10 = Lignes ascendant)\n" - -#: src/lang.c:1468 -msgid "Sort threads by Nothing or Score. toggles & sets." -msgstr "Trier les fils par Rien ou Score. change & valide." - -#: src/lang.c:1469 -msgid "Sort threads by" -msgstr "Trier les fils par" - -#: src/lang.c:1470 -msgid "# Sort thread by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = Score descending\n" - "# 2 = Score ascending\n" -msgstr "# Trier les fils par...\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# 0 = aucun\n" - "# * 1 = Score descendant\n" - "# 2 = Score ascendant\n" - -#: src/lang.c:1478 -msgid "Put cursor at first/last unread art in groups. toggles & sets." -msgstr "Place le curseur sur le 1er article non lu. change & valide." - -#: src/lang.c:1479 -msgid "Goto first unread article in group" -msgstr "Aller au 1er article non lu du groupe" - -#: src/lang.c:1480 -msgid "# If ON put cursor at first unread art in group otherwise last art\n" -msgstr "# Si ON, place le curseur sur le 1er article non lu sinon sur le dernier\n" - -#: src/lang.c:1484 -msgid "Show all articles or only unread articles. toggles & sets." -msgstr "Affiche tous les articles ou seulement ceux non lus. change & " - " valide." - -#: src/lang.c:1485 -msgid "Show only unread articles" -msgstr "Afficher articles non lus seulement" - -#: src/lang.c:1486 -msgid "# If ON show only new/unread articles otherwise show all.\n" -msgstr "# Si ON, affiche seulement les articles non lus sinon les affiche tous.\n" - -#: src/lang.c:1491 -msgid "Show only groups with unread arts" -msgstr "Voir groupes avec articles non lus" - -#: src/lang.c:1492 -msgid "# If ON show only subscribed to groups that contain unread articles.\n" -msgstr "# Si ON, affiche seulement les groupes ayant des articles non lus.\n" - -#: src/lang.c:1497 -msgid "Filter which articles" -msgstr "Filtrer quel article" - -#: src/lang.c:1498 -msgid "# Filter which articles\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = only kill unread articles\n" - "# 1 = kill all articles and show in threads marked with K\n" - "# 2 = kill all articles and never show them\n" -msgstr "# Filtrer quels articles\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# * 0 = filtrer uniquement les articles non lu\n" - "# 1 = filtrer tous les articles et les marquer avec un K dans les fils\n" - "# 2 = filtrer tous les articles et ne pas les afficher\n" - -#: src/lang.c:1507 -msgid "Tab goes to next unread article" -msgstr "Tab va au prochain article non lu" - -#: src/lang.c:1508 -msgid "# If ON the TAB command will go to next unread article at article viewer " - "level\n" -msgstr "# Si ON, la touche TAB ira au prochain article non lu directement depuis le\n" - "# visualiseur d'article\n" - -#: src/lang.c:1512 -msgid "Scrolling with past the end of an art. jumps to the next unread one." -msgstr "Naviguer avec ira au prochain article non lu." - -#: src/lang.c:1513 -msgid "Space goes to next unread article" -msgstr "Espace va au prochain article non lu" - -#: src/lang.c:1514 -msgid "# If ON the SPACE command will go to next unread article at article viewer\n" - "# level when the end of the article is reached (rn-style pager)\n" -msgstr "# Si ON, ESPACE ira au prochain article non lu dans le visualiseur d'article\n" - "# lorsque la fin d'un article sera atteinte (pager style rn)\n" - -#: src/lang.c:1519 -msgid "Scrolling with / past the end of an art. jumps to the unread one." -msgstr "Naviguer avec / ira au prochain article non lu." - -#: src/lang.c:1520 -msgid "PgDn goes to next unread article" -msgstr "PgDn va au prochain article non lu" - -#: src/lang.c:1521 -msgid "# If ON the PGDN or DOWN command will go to next unread article when\n" - "# pressed at end of message\n" -msgstr "# Si ON, les touches PGDN ou BAS iront au prochain article non lu\n" - "# lorsque la fin d'un article sera atteinte\n" - -#: src/lang.c:1527 -msgid "List thread using right arrow key" -msgstr "Lister le fil via la flèche droite" - -#: src/lang.c:1528 -msgid "# If ON automatically list thread when entering it using right arrow key.\n" -msgstr "# Si ON, listera automatiquement le fil lors de l'utilisation de la flèche\n" - "# droite.\n" - -#: src/lang.c:1532 -msgid "Enter character to indicate deleted articles. sets, cancels." -msgstr "Caractère indiquant les articles effacés. valide, annule." - -#: src/lang.c:1533 -msgid "Character to show deleted articles" -msgstr "Caractère pour articles effacés" - -#: src/lang.c:1534 -msgid "# Character used to show that an art was deleted (default 'D')\n" - "# _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article a été supprimé (défaut 'D')\n" - "# _ est transformé en ' '\n" - -#: src/lang.c:1539 -msgid "Enter character to indicate articles in a range. sets, cancels." -msgstr "Caractère indiquant les articles inclus. valide, annule." - -#: src/lang.c:1540 -msgid "Character to show inrange articles" -msgstr "Caractère pour articles non inclus" - -#: src/lang.c:1541 -msgid "# Character used to show that an art is in a range (default '#')\n" - "# _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article est inclus (défaut '#')\n" - "# _ est transformé en ' '\n" - -#: src/lang.c:1546 -msgid "Enter character to indicate that article will return. sets, " - "cancels." -msgstr "Caractère indiquant que l'article sera retourné. valide, " - "annule." - -#: src/lang.c:1547 -msgid "Character to show returning arts" -msgstr "Caractère pour articles retournés" +msgid "Mark with D on selection screen" +msgstr "Marquer avec un D dans la vue sélection" + +#: src/lang.c:1447 +msgid "Kill only unread arts" +msgstr "Filtrer uniquement les articles non lus" + +#: src/lang.c:1448 +msgid "Kill all arts & show with K" +msgstr "Filtrer tous les articles & afficher avec un K" + +#. TODO: s/K/art_marked_killed/ +#: src/lang.c:1449 +msgid "Kill all arts and never show" +msgstr "Filtrer tous les articles et ne jamais afficher" + +#: src/lang.c:1454 +msgid "Nothing special" +msgstr "Rien de spécial" + +#: src/lang.c:1455 +msgid "Compress quotes" +msgstr "Citations compressées" + +#: src/lang.c:1456 +msgid "Quote signatures" +msgstr "Citer les signatures" + +#: src/lang.c:1457 +msgid "Compress quotes, quote sigs" +msgstr "Compresser les citations, citer les signatures" + +#: src/lang.c:1458 +msgid "Quote empty lines" +msgstr "Citer les lignes vides" + +#: src/lang.c:1459 +msgid "Compress quotes, quote empty lines" +msgstr "Compresser les citations, citer les lignes vides" + +#: src/lang.c:1460 +msgid "Quote sigs & empty lines" +msgstr "Citer les signatures & les lignes vides" + +#: src/lang.c:1461 +msgid "Comp. q., quote sigs & empty lines" +msgstr "Citations compr., signatures et lignes vides citées" + +#: src/lang.c:1499 +msgid "no" +msgstr "non" + +#: src/lang.c:1500 +msgid "with headers" +msgstr "avec les en-têtes" + +#: src/lang.c:1501 +msgid "without headers" +msgstr "sans les en-têtes" + +#: src/lang.c:1508 src/lang.c:1514 +msgid "NFKC" +msgstr "NFKC" + +#: src/lang.c:1509 +msgid "NFKD" +msgstr "NFKD" + +#: src/lang.c:1510 +msgid "NFC" +msgstr "NFC" + +#: src/lang.c:1511 +msgid "NFD" +msgstr "NFD" + +#: src/lang.c:1522 +msgid "Display Options" +msgstr "Options d'affichage" + +#: src/lang.c:1529 +msgid "Color Options" +msgstr "Options des couleurs" + +#: src/lang.c:1536 +msgid "Article-Limiting Options" +msgstr "Options des articles" + +#: src/lang.c:1542 +msgid "Posting/Mailing Options" +msgstr "Options de postage/messagerie" #: src/lang.c:1548 -msgid "# Character used to show that an art will return (default '-')\n" - "# _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article sera retourné (défaut '#')\n" - "# _ est transformé en ' '\n" - -#: src/lang.c:1553 -msgid "Enter character to indicate selected articles. sets, cancels." -msgstr "Caractère indiquant les articles sélectionnés. valide, annule." +msgid "Saving/Printing Options" +msgstr "Options d'enregistrement/d'impression" #: src/lang.c:1554 -msgid "Character to show selected articles" -msgstr "Caractère pour articles sélect." - -#: src/lang.c:1555 -msgid "# Character used to show that an art was auto-selected (default '*')\n" - "# _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article fut sélectionné (defaut '*')\n" - "# _est transformé en ' '\n" +msgid "Expert Options" +msgstr "Options avancées" #: src/lang.c:1560 -msgid "Enter character to indicate recent articles. sets, cancels." -msgstr "Caractère indiquant les articles récents. valide, annule." +msgid "Filtering Options" +msgstr "Options de filtrage" -#: src/lang.c:1561 -msgid "Character to show recent articles" -msgstr "Caractère pour articles récents" - -#: src/lang.c:1562 -msgid "# Character used to show that an art is recent (default 'o')\n" - "# _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article est récent (defaut 'o')\n" - "# _est transformé en ' '\n" +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 src/lang.c:1680 +#: src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 src/lang.c:1725 src/lang.c:1800 +#: src/lang.c:1808 src/lang.c:1998 src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 +#: src/lang.c:2028 src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 src/lang.c:2139 +#: src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 src/lang.c:2167 src/lang.c:2174 +#: src/lang.c:2181 src/lang.c:2188 src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 +#: src/lang.c:2216 src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 src/lang.c:2289 +#: src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 src/lang.c:2316 src/lang.c:2322 +#: src/lang.c:2339 src/lang.c:2351 src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 +#: src/lang.c:2458 src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 src/lang.c:2660 +#: src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 src/lang.c:2734 src/lang.c:2745 +#: src/lang.c:2751 src/lang.c:2789 +msgid " toggles, sets, cancels." +msgstr " change, valide, annule." + +#: src/lang.c:1566 +msgid "Show mini menu & posting etiquette" +msgstr "Afficher le menu & l'intitulé du postage" #: src/lang.c:1567 -msgid "Enter character to indicate unread articles. sets, cancels." -msgstr "Caractère indiquant les articles non lus. valide, annule." - -#: src/lang.c:1568 -msgid "Character to show unread articles" -msgstr "Caractère pour articles non lus" - -#: src/lang.c:1569 -msgid "# Character used to show that an art is unread (default '+')\n" - "# _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article est non lu (defaut '+')\n" - "# _est transformé en ' '\n" +msgid "# If ON show a mini menu of useful commands at each level\n" + "# and posting etiquette after composing an article\n" +msgstr "# Si ON, affiche un mini menu des commandes utiles pour chaque\n" + "# niveaux et affiche les détails après la composition d'un article\n" + +#: src/lang.c:1572 +msgid "Show short description for each newsgroup. toggles & sets." +msgstr "Afficher une brève description pour chaque groupe. change & " + "valide." + +#: src/lang.c:1573 +msgid "Show description of each newsgroup" +msgstr "Voir description de chaque groupe" #: src/lang.c:1574 -msgid "Enter character to indicate read articles. sets, cancels." -msgstr "Caractère indiquant les articles lus. valide, annule." - -#: src/lang.c:1575 -msgid "Character to show read articles" -msgstr "Caractère pour articles lus" - -#: src/lang.c:1576 -msgid "# Character used to show that an art was read (default ' ')\n" - "# _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article a été lu (defaut ' ')\n" - "# _est transformé en ' '\n" +msgid "# If ON show group description text after newsgroup name at\n" + "# group selection level\n" +msgstr "# Si ON, affiche une description du groupe après son nom dans\n" + "# la vue de sélection des groupes\n" + +#: src/lang.c:1579 +msgid "Show Subject & From (author) fields in group menu. toggles & " + "sets." +msgstr "Affiche le sujet & l'auteur dans le menu groupe. change & " + "valide." + +#: src/lang.c:1580 +msgid "In group menu, show author by" +msgstr "Dans vue groupe, voir auteur par" #: src/lang.c:1581 -msgid "Enter character to indicate killed articles. sets, cancels." -msgstr "Caractère indiquant les articles filtrés. valide, annule." - -#: src/lang.c:1582 -msgid "Character to show killed articles" -msgstr "Caractère pour articles filtrés" - -#: src/lang.c:1583 -msgid "# Character used to show that an art was killed (default 'K')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article a été filtré (defaut 'K')\n" - "# kill_level doit être choisi en conséquence, _ est transformé en ' '\n" - -#: src/lang.c:1588 -msgid "Enter character to indicate read selected articles. sets, cancels." -msgstr "Caractère indiquant les articles lus et sélectionnés. valide, " - "annule." - -#: src/lang.c:1589 -msgid "Character to show readselected arts" -msgstr "Caractère pour articles sélectionnés lus" +msgid "# Part of from field to display\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = none\n" + "# 1 = address\n" + "# * 2 = full name\n" + "# 3 = both\n" +msgstr "# Partie du champ from à afficher\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = aucune\n" + "# 1 = adresse\n" + "# * 2 = nom complet\n" + "# 3 les deux\n" #: src/lang.c:1590 -msgid "# Character used to show that an art was selected before read (default ':')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "# Caractère utilisé pour indiquer qu'un article était sélectionné avec\n" - "# d'être lu (defaut ':')\n" - "# kill_level doit être choisi en conséquence, _ est transformé en ' '\n" - -#: src/lang.c:1595 -msgid "Enter maximum length of newsgroup names displayed. sets." -msgstr "Largeur max. à afficher des noms des groupes. valide." - -#: src/lang.c:1596 -msgid "Max. length of group names shown" -msgstr "Largeur max. des noms des groupes" +msgid "Draw -> or highlighted bar for selection. toggles & sets." +msgstr "Affiche -> ou une barre de sélection. change & valide." + +#: src/lang.c:1591 +msgid "Draw -> instead of highlighted bar" +msgstr "Afficher -> plutôt qu'une barre" + +#: src/lang.c:1592 +msgid "# If ON use -> otherwise highlighted bar for selection\n" +msgstr "# Si ON, utilise -> sinon barre en surbrillance pour la sélection\n" #: src/lang.c:1597 -msgid "# Maximum length of the names of newsgroups displayed\n" -msgstr "# Largeur maximum à afficher des noms des groupes.\n" +msgid "Use inverse video for page headers" +msgstr "Vidéo inversée pour les en-têtes" -#: src/lang.c:1602 -msgid "Show lines/score in listings" -msgstr "Afficher dans les différentes vues" +#: src/lang.c:1598 +msgid "# If ON use inverse video for page headers at different levels\n" +msgstr "# Si ON, utilise la vidéo inversée pour les en-têtes dans les différentes\n" + "# vues\n" #: src/lang.c:1603 -msgid "# What informations should be displayed in article/thread listing\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = lines\n" - "# 2 = score\n" - "# 3 = lines & score\n" -msgstr "# Quelles informations doivent être affichées dans la vue article/fil\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# 0 = rien\n" - "# * 1 = lignes\n" - "# 2 = score\n" - "# 3 = lignes & score\n" - -#: src/lang.c:1612 -msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" - "2 = half page" -msgstr "0 = défilement page par page, -1 = afficher dernière ligne dans page " - "suivante, -2 = demi-page" - -#: src/lang.c:1613 -msgid "Number of lines to scroll in pager" -msgstr "Vitesse de défilement dans le pager" - -#: src/lang.c:1614 -msgid "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behavior)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" -msgstr "# Type du défilement lors de la visualisation de l'article dans le pager\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# -2 = demi-page\n" - "# -1 = la première/dernière ligne est affichée dans dans la page suivante\n" - "# 0 = page par page (comportement initial)\n" - "# * 1 = ligne par ligne\n" - "# 2 ou plus = défiler 2 lignes par 2 ou plus (seulement dans le pager)\n" - -#: src/lang.c:1624 -msgid "Display signatures. toggles & sets." -msgstr "Affiche les signatures. change & valide." - -#: src/lang.c:1625 -msgid "Display signatures" -msgstr "Afficher les signatures" - -#: src/lang.c:1626 -msgid "# If OFF don't show signatures when displaying articles\n" -msgstr "# Si OFF ne pas afficher les signatures lors de la visualisation des " - "articles.\n" +msgid "Thread articles by" +msgstr "Regrouper les articles par" + +#: src/lang.c:1604 +msgid "# Thread articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = Both (Subject and References)\n" + "# 4 = Multipart Subject\n" + "# 5 = Percentage Match\n" +msgstr "# Regrouper les articles par...\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = aucun\n" + "# 1 = Sujet\n" + "# 2 = References\n" + "# * 3 = Les deux (Sujet et References)\n" + "# 4 = Sujet multipartie\n" + "# 5 = Pourcentage de concordance\n" + +#: src/lang.c:1615 +msgid "Enter percentage match required to thread together. sets." +msgstr "Entrer le pourcentage de concordance pour grouper les articles en un fil. " + " valide." + +#: src/lang.c:1616 +msgid "Thread percentage match" +msgstr "Pourcentage de concordance pour grouper" + +#: src/lang.c:1617 +#, c-format +msgid "# Thread percentage match...\n" + "# the percentage of characters in the subject of an article that must match\n" + "# a base article for both those articles to be considered to belong to the\n" + "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" + "# follow. If 80 is used here, then 80%% of the characters must match " + "exactly,\n" + "# no insertion of a character, for the two articles to be put in the same\n" + "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" + "# 'harppy' would be threaded separately from 'happy'\n" +msgstr "# Taux de concordance de fil...\n" + "# le pourcentage de caractères dans le sujet d'un article qui doit " + "correspondre\n" + "# à un article initial pour qu'ils puissent être considérés comme appartenant " + "à\n" + "# un même fil. Cette option est un pourcentage, pe. 80, pas de décimales qui\n" + "# suivent. Si 80 est utilisé ici, alors 80%% des caractères doivent " + "absolument\n" + "# correspondre, sans insertion de caractère, pour que les articles soient " + "placés\n" + "# dans le même fil. Par exemple 'happy' et 'harpy' correspondent, mais " + "'harpie',\n" + "# 'happie' et 'harppy' seront regroupés à part de 'happy'\n" + +#: src/lang.c:1629 +msgid "Score of a thread" +msgstr "Score d'un fil" #: src/lang.c:1630 -msgid "Display uuencoded data as tagged attachments. toggles & sets." -msgstr "Afficher les archives uue comme PJ marquées. change & " - "valide." - -#: src/lang.c:1631 -msgid "Display uue data as an attachment" -msgstr "Afficher donnée uue comme PJ" - -#: src/lang.c:1632 -msgid "# Handling of uuencoded data in the pager\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no, display raw uuencoded data\n" - "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" - "# size and filename, similar to how MIME attachments are displayed\n" - "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" - "# be folded into a tag line.\n" -msgstr "# Prise en charge des données uuencode dans le pager\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# * 0 = aucune, affichage brut des données uuencode\n" - "# 1 = oui, les données uuencode seront condensée dans une seule ligne\n" - "# affichant la taille et le fichier, comme sont affichées les pj MIME\n" - "# 2 = masquer, comme pour l'option 1, mais toute ligne qui ressemble à des\n" - "# données uuencode sera condensée en une seule ligne.\n" - -#: src/lang.c:1642 -msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." -msgstr "Décode les umlauts Allemands de type TeX en ISO. change & " - "valide." - -#: src/lang.c:1643 -msgid "Display \"a as Umlaut-a" -msgstr "Afficher \"a comme Umlaut-a" - -#: src/lang.c:1644 -msgid "# If ON decode German style TeX umlaut codes to ISO and\n" - "# show \"a as Umlaut-a, etc.\n" -msgstr "# Si ON, convertit les umlauts Allemands de type TeX en codes ISO\n" - "# et affiche \"a comme Umlaut-a, etc.\n" - -#: src/lang.c:1649 src/lang.c:1659 -msgid "Space separated list of header fields" -msgstr "Liste des en-têtes, séparés par des espaces" - -#: src/lang.c:1650 -msgid "Display these header fields (or *)" -msgstr "Afficher ces en-têtes (ou *)" - -#: src/lang.c:1651 -msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" - "# place an '*' as this value. This is the only way a wildcard can be used.\n" - "# If you enter 'X-' as the value, you will see all headers beginning with\n" - "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " - "with\n" - "# spaces. Not defining anything turns off this option.\n" -msgstr "# Quels en-têtes voulez-vous voir. Si vous souhaitez voir _tout_ les en-" - "têtes,\n" - "# utilisez '*' comme valeur. C'est le seul moyen d'utiliser un caractère\n" - "# joker ici. Si vous entrez 'X-' comme valeur, vous verrez tous les en-têtes\n" - "# commençant par 'X-' (comme X-Alan ou X-Pape). Vous pouvez afficher " - "plusieurs\n" - "# en-têtes en les délimitant avec des espaces. Ne rien définir, désactive\n" - "# cette option.\n" - -#: src/lang.c:1660 -msgid "Do not display these header fields" -msgstr "Ne pas afficher ces en-têtes" - -#: src/lang.c:1661 -msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" - "# An example of using both options might be if you thought X- headers were\n" - "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " - "you\n" - "# would do something like this:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Not defining anything turns off this option.\n" -msgstr "# Comme l'option 'news_headers_to_display' excepté que là c'est le " - "contraire.\n" - "# Un exemple d'utilisation de ces deux options pourrait que vous trouviez " - "les\n" - "# en-têtes 'X-' intéressantes mais celles contenant 'Alan' et 'Pape'\n" - "# inutiles... donc voici ce que vous pourriez alors faire :\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Ne rien définir, désactive cette option.\n" - -#: src/lang.c:1671 -msgid "Do you want to enable automatic handling of multipart/alternative articles?" -msgstr "Voulez-vous activer la prise en charge automatique des articles multipart/" - "alternative ?" - -#: src/lang.c:1672 -msgid "Skip multipart/alternative parts" -msgstr "Ignorer parties multipart/alter." - -#: src/lang.c:1673 -msgid "# If ON strip multipart/alternative messages automatically\n" -msgstr "# Si ON, enlève automatiquement les messages multipart/alternative\n" - -#: src/lang.c:1678 -msgid "A regex used to decide which lines to show in col_quote." -msgstr "Une expression régulière pour déterminer quelles lignes afficher dans " - "col_quote." - -#: src/lang.c:1679 -msgid "Regex used to show quoted lines" -msgstr "Regex pour afficher les citations" - -#: src/lang.c:1680 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Une expression régulière qui permettra à tin d'afficher les citations.\n" - "# Les citations sont affichées dans col_quote. Si vous laissez ce champ\n" - "# vide, tin utilisera une valeur incluse par défaut.\n" - -#: src/lang.c:1686 -msgid "A regex used to decide which lines to show in col_quote2." -msgstr "Une expression régulière pour déterminer quelles lignes afficher dans " - "col_quote2." +msgid "# Thread score\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = max\n" + "# 1 = sum\n" + "# 2 = average\n" +msgstr "# Regrouper les scores\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# * 0 = max\n" + "# 1 = somme\n" + "# 2 = moyenne\n" + +#: src/lang.c:1638 +msgid "Sort articles by Subject, From, Date or Score. toggles & sets." +msgstr "Trie les articles d'après un en-tête. change & valide." + +#: src/lang.c:1639 +msgid "Sort articles by" +msgstr "Trier les articles par" + +#: src/lang.c:1640 +msgid "# Sort articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject descending\n" + "# 2 = Subject ascending\n" + "# 3 = From descending\n" + "# 4 = From ascending\n" + "# 5 = Date descending\n" + "# * 6 = Date ascending\n" + "# 7 = Score descending\n" + "# 8 = Score ascending\n" + "# 9 = Lines descending\n" + "# 10 = Lines ascending\n" +msgstr "# Trie les article par...\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = rien\n" + "# 1 = Sujet descendant\n" + "# 2 = Sujet ascendant\n" + "# 3 = De descendant\n" + "# 4 = De ascendant\n" + "# 5 = Date descendant\n" + "# * 6 = Date ascendant\n" + "# 7 = Score descendant\n" + "# 8 = Score ascendant\n" + "# 9 = Lignes descendant\n" + "# 10 = Lignes ascendant)\n" + +#: src/lang.c:1656 +msgid "Sort threads by Nothing or Score. toggles & sets." +msgstr "Trier les fils par Rien ou Score. change & valide." + +#: src/lang.c:1657 +msgid "Sort threads by" +msgstr "Trier les fils par" + +#: src/lang.c:1658 +msgid "# Sort thread by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = Score descending\n" + "# 2 = Score ascending\n" + "# 3 = Last posting date descending\n" + "# 4 = Last posting date ascending\n" +msgstr "# Trier les fils par...\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = aucun\n" + "# * 1 = Score, descendant\n" + "# 2 = Score, ascendant\n" + "# 3 = Date la plus récente, descendant\n" + "# 4 = Date la plus récente, ascendant\n" + +#: src/lang.c:1668 +msgid "Put cursor at first/last unread art in groups. toggles & sets." +msgstr "Place le curseur sur le 1er article non lu. change & valide." + +#: src/lang.c:1669 +msgid "Go to first unread article in group" +msgstr "Aller au 1er article non lu du groupe" + +#: src/lang.c:1670 +msgid "# If ON put cursor at first unread art in group otherwise last art\n" +msgstr "# Si ON, place le curseur sur le 1er article non lu sinon sur le dernier\n" + +#: src/lang.c:1674 +msgid "Show all articles or only unread articles. toggles & sets." +msgstr "Affiche tous les articles ou seulement ceux non lus. change & " + " valide." + +#: src/lang.c:1675 +msgid "Show only unread articles" +msgstr "Afficher articles non lus seulement" + +#: src/lang.c:1676 +msgid "# If ON show only new/unread articles otherwise show all.\n" +msgstr "# Si ON, affiche seulement les articles non lus sinon les affiche tous.\n" + +#: src/lang.c:1681 +msgid "Show only groups with unread arts" +msgstr "Voir groupes avec articles non lus" + +#: src/lang.c:1682 +msgid "# If ON show only subscribed to groups that contain unread articles.\n" +msgstr "# Si ON, affiche seulement les groupes ayant des articles non lus.\n" #: src/lang.c:1687 -msgid "Regex used to show twice quoted l." -msgstr "Regex pour afficher le 2nd niveau" +msgid "Filter which articles" +msgstr "Filtrer quel article" #: src/lang.c:1688 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted twice. Twice quoted lines are shown in col_quote2.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Une expression régulière qui permettra à tin d'afficher les citations de\n" - "# second niveau. Ces citations sont affichées dans col_quote2. Si vous\n" - "# laissez ce champ vide, tin utilisera une valeur incluse par défaut.\n" - -#: src/lang.c:1694 -msgid "A regex used to decide which lines to show in col_quote3." -msgstr "Une expression régulière pour déterminer quelles lignes afficher dans " - "col_quote3." - -#: src/lang.c:1695 -msgid "Regex used to show >= 3 times q.l." -msgstr "Regex pour afficher niveau >= 3" - -#: src/lang.c:1696 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Une expression régulière qui permettra à tin d'afficher les citations de\n" - "# troisième niveau et supérieur. Ces citations sont affichées dans " - "col_quote3.\n" - "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " - "défaut.\n" - -#: src/lang.c:1703 -msgid "A regex used to decide which words to show in col_markslashes." -msgstr "Une expression régulière pour déterminer quels mots afficher dans " - "col_markslashes." - -#: src/lang.c:1704 -msgid "Regex used to highlight /slashes/" -msgstr "Regex pour les mots entre /slash/" - -#: src/lang.c:1705 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '/' are to be shown in col_markslashes.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Une expression régulière qui permettra à tin d'afficher les mots\n" - "# placés entre des '/' dans col_markslashes.\n" - "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " - "défaut.\n" - -#: src/lang.c:1711 -msgid "A regex used to decide which words to show in col_markstars." -msgstr "Une expression régulière pour déterminer quels mots afficher dans " - "col_markstars." - -#: src/lang.c:1712 -msgid "Regex used to highlight *stars*" -msgstr "Regex pour les mots entre *astérisques*" - -#: src/lang.c:1713 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '*' are to be shown in col_markstars.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Une expression régulière qui permettra à tin d'afficher les mots\n" - "# placés entre des '*' dans col_markstars.\n" - "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " - "défaut.\n" - -#: src/lang.c:1719 -msgid "A regex used to decide which words to show in col_markstroke." -msgstr "Une expression régulière pour déterminer quels mots afficher dans " - "col_markstroke." - -#: src/lang.c:1720 -msgid "Regex used to highlight -strokes-" -msgstr "Regex pour les mots entre -tirets-" - -#: src/lang.c:1721 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '-' are to be shown in col_markstroke.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Une expression régulière qui permettra à tin d'afficher les mots\n" - "# placés entre des '-' dans col_markstroke.\n" - "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " - "défaut.\n" +msgid "# Filter which articles\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = only kill unread articles\n" + "# 1 = kill all articles and show in threads marked with K\n" + "# 2 = kill all articles and never show them\n" +msgstr "# Filtrer quels articles\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# * 0 = filtrer uniquement les articles non lu\n" + "# 1 = filtrer tous les articles et les marquer avec un K dans les fils\n" + "# 2 = filtrer tous les articles et ne pas les afficher\n" + +#: src/lang.c:1697 +msgid "Go to the next unread article with" +msgstr "Aller au prochain article non lu avec" + +#: src/lang.c:1698 +msgid "# Go to the unread article with following key(s)\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN or TAB\n" +msgstr "# Aller à l'article non lu avec la ou les touches suivante(s)\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = aucune\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN ou TAB\n" + +#: src/lang.c:1708 +msgid "How to treat blank lines" +msgstr "Comment gérer les lignes vides" + +#: src/lang.c:1709 +msgid "# Trim the article body, remove unnecessary blank lines.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = Nothing special\n" + "# 1 = Skip leading blank lines\n" + "# 2 = Skip trailing blank lines\n" + "# 3 = Skip leading and trailing blank lines\n" + "# 4 = Compact multiple blank lines between text blocks\n" + "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" + "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" + "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "# Nettoyer le corps de l'article, effaçant les lignes vides inutiles.\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# * 0 = Ne rien faire\n" + "# 1 = Effacer les lignes vides du début\n" + "# 2 = Effacer les lignes vides de la fin\n" + "# 3 = Effacer les lignes vides du début et de la fin\n" + "# 4 = Regrouper plusieurs lignes vides entre les paragraphes\n" + "# 5 = Regrouper plusieurs lignes vides entre les paragraphes et\n" + "# effacer les lignes vides du début\n" + "# 6 = Regrouper plusieurs lignes vides entre les paragraphes et\n" + "# effacer les lignes vides de la fin\n" + "# 7 = Regrouper plusieurs lignes vides entre les paragraphes et\n" + "# effacer les lignes vides du début et de la fin\n" + +#: src/lang.c:1726 +msgid "List thread using right arrow key" +msgstr "Lister le fil via la flèche droite" #: src/lang.c:1727 -msgid "A regex used to decide which words to show in col_markdash." -msgstr "Une expression régulière pour déterminer quels mots afficher dans " - "col_markdash." - -#: src/lang.c:1728 -msgid "Regex used to highlight _underline_" -msgstr "Regex pour les mots entre _underscore_" - -#: src/lang.c:1729 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '_' are to be shown in col_markdash.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "# Une expression régulière qui permettra à tin d'afficher les mots\n" - "# placés entre des '_' dans col_markdash.\n" - "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " - "défaut.\n" - -#: src/lang.c:1735 -msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." -msgstr "Une expression régulière pour trouver les préfixes dans le sujet. '|' est un " - "séparateur." - -#: src/lang.c:1736 -msgid "Regex with Subject prefixes" -msgstr "Regex pour les préfixes dans le sujet" - -#: src/lang.c:1737 -msgid "# A regular expression that tin will use to find Subject prefixes\n" - "# which will be removed before showing the header.\n" -msgstr "# Une expression régulière qui permettra à tin de trouver les préfixes\n" - "# dans le sujet et qui seront effacés avant d'afficher l'en-tête.\n" - -#: src/lang.c:1742 -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." -msgstr "Une expression régulière pour trouver les suffixes dans le sujet. '|' est un " - "séparateur." - -#: src/lang.c:1743 -msgid "Regex with Subject suffixes" -msgstr "Regex pour les suffixes dans le sujet" - -#: src/lang.c:1744 -msgid "# A regular expression that tin will use to find Subject suffixes\n" - "# which will be removed when replying or posting followup.\n" -msgstr "# Une expression régulière qui permettra à tin de trouver les suffixes\n" - "# dans le sujet et qui seront effacés avant d'afficher l'en-tête.\n" - -#: src/lang.c:1749 -msgid "Enter name and options for external MIME viewer, --internal for built-in " - "viewer" -msgstr "Nom et options pour le visualisateur MIME externe, --internal pour celui " - "inclus" - -#: src/lang.c:1750 -msgid "MIME binary content viewer" -msgstr "Visualisateur de contenu MIME" - -#: src/lang.c:1751 -msgid "# If --internal automatically use the built in MIME viewer for non-text\n" - "# parts of articles.\n" - "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" - "# for no automatic viewing\n" -msgstr "# Utilisation du visualisateur MIME inclus pour les parties non textuelles\n" - "# si l'option '--internal' est utilisée.\n" - "# Sinon, spécifiez un logiciel externe (pe. metamail) ou laissez ce champ\n" - "# vide pour ne pas activer la prévisualisation automatique.\n" - -#: src/lang.c:1758 -msgid "Confirm before starting non-text viewing program" -msgstr "Confirmation avant le lancement d'un visualisateur externe" +msgid "# If ON automatically list thread when entering it using right arrow key.\n" +msgstr "# Si ON, listera automatiquement le fil lors de l'utilisation de la flèche\n" + "# droite.\n" + +#: src/lang.c:1731 +msgid "Enter character to indicate deleted articles. sets, cancels." +msgstr "Caractère indiquant les articles effacés. valide, annule." + +#: src/lang.c:1732 +msgid "Character to show deleted articles" +msgstr "Caractère pour articles effacés" + +#: src/lang.c:1733 +msgid "# Character used to show that an art was deleted (default 'D')\n" + "# _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article a été supprimé (défaut 'D')\n" + "# _ est transformé en ' '\n" + +#: src/lang.c:1738 +msgid "Enter character to indicate articles in a range. sets, cancels." +msgstr "Caractère indiquant les articles inclus. valide, annule." + +#: src/lang.c:1739 +msgid "Character to show inrange articles" +msgstr "Caractère pour articles non inclus" + +#: src/lang.c:1740 +msgid "# Character used to show that an art is in a range (default '#')\n" + "# _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article est inclus (défaut '#')\n" + "# _ est transformé en ' '\n" + +#: src/lang.c:1745 +msgid "Enter character to indicate that article will return. sets, " + "cancels." +msgstr "Caractère indiquant que l'article sera retourné. valide, " + "annule." + +#: src/lang.c:1746 +msgid "Character to show returning arts" +msgstr "Caractère pour articles retournés" + +#: src/lang.c:1747 +msgid "# Character used to show that an art will return (default '-')\n" + "# _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article sera retourné (défaut '#')\n" + "# _ est transformé en ' '\n" + +#: src/lang.c:1752 +msgid "Enter character to indicate selected articles. sets, cancels." +msgstr "Caractère indiquant les articles sélectionnés. valide, annule." + +#: src/lang.c:1753 +msgid "Character to show selected articles" +msgstr "Caractère pour articles sélect." + +#: src/lang.c:1754 +msgid "# Character used to show that an art was auto-selected (default '*')\n" + "# _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article fut sélectionné (defaut '*')\n" + "# _est transformé en ' '\n" #: src/lang.c:1759 -msgid "Ask before using MIME viewer" -msgstr "Demander avant d'utiliser le visualisateur" +msgid "Enter character to indicate recent articles. sets, cancels." +msgstr "Caractère indiquant les articles récents. valide, annule." #: src/lang.c:1760 -msgid "# If ON tin will ask before using metamail to display MIME messages\n" - "# this only happens if metamail_prog is set to something\n" -msgstr "# Si ON, tin demandera avant d'utiliser metamail pour afficher les\n" - "# messages MIME\n" - "# Cela ne se produit que lorsque 'metamail_prog' contient une valeur\n" - -#: src/lang.c:1765 -msgid "Ask to mark groups read when quitting. toggles & sets." -msgstr "Marquer lu les groupes à la fermeture ? change & valide." +msgid "Character to show recent articles" +msgstr "Caractère pour articles récents" + +#: src/lang.c:1761 +msgid "# Character used to show that an art is recent (default 'o')\n" + "# _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article est récent (defaut 'o')\n" + "# _est transformé en ' '\n" #: src/lang.c:1766 -msgid "Catchup read groups when quitting" -msgstr "Marquer lu les groupes à la fermeture" +msgid "Enter character to indicate unread articles. sets, cancels." +msgstr "Caractère indiquant les articles non lus. valide, annule." #: src/lang.c:1767 -msgid "# If ON ask user if read groups should all be marked read\n" -msgstr "# Si ON, demande à l'utilisateur si les groupes consultés\n" - "# doivent être marqués lus\n" - -#: src/lang.c:1772 -msgid "Catchup group using left key" -msgstr "Marquer lu le groupe via la flèche gauche" +msgid "Character to show unread articles" +msgstr "Caractère pour articles non lus" + +#: src/lang.c:1768 +msgid "# Character used to show that an art is unread (default '+')\n" + "# _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article est non lu (defaut '+')\n" + "# _est transformé en ' '\n" #: src/lang.c:1773 -msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" -msgstr "# Si ON, marque lu avec <- le groupe/fil.\n" +msgid "Enter character to indicate read articles. sets, cancels." +msgstr "Caractère indiquant les articles lus. valide, annule." -#: src/lang.c:1778 -msgid "Catchup thread by using left key" -msgstr "Marquer lu le fil via la flèche gauche" - -#: src/lang.c:1784 -msgid "Which actions require confirmation" -msgstr "Quelles actions requièrent confirmation" - -#: src/lang.c:1785 -msgid "# What should we ask confirmation for.\n" -msgstr "# Demande de confirmation pour...\n" - -#: src/lang.c:1790 -msgid "'Mark article read' ignores tags" -msgstr "'Marquer lu l'article' ignore les marques" - -#: src/lang.c:1791 -msgid "# If ON the 'Mark article read' function marks only the current article.\n" -msgstr "# Si ON, la fonction 'Marquer lu l'article' agit uniquement sur l'article\n" - "# actuel.\n" +#: src/lang.c:1774 +msgid "Character to show read articles" +msgstr "Caractère pour articles lus" + +#: src/lang.c:1775 +msgid "# Character used to show that an art was read (default ' ')\n" + "# _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article a été lu (defaut ' ')\n" + "# _est transformé en ' '\n" + +#: src/lang.c:1780 +msgid "Enter character to indicate killed articles. sets, cancels." +msgstr "Caractère indiquant les articles filtrés. valide, annule." + +#: src/lang.c:1781 +msgid "Character to show killed articles" +msgstr "Caractère pour articles filtrés" + +#: src/lang.c:1782 +msgid "# Character used to show that an art was killed (default 'K')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article a été filtré (defaut 'K')\n" + "# kill_level doit être choisi en conséquence, _ est transformé en ' '\n" + +#: src/lang.c:1787 +msgid "Enter character to indicate read selected articles. sets, cancels." +msgstr "Caractère indiquant les articles lus et sélectionnés. valide, " + "annule." + +#: src/lang.c:1788 +msgid "Character to show readselected arts" +msgstr "Caractère pour articles sélectionnés lus" + +#: src/lang.c:1789 +msgid "# Character used to show that an art was selected before read (default ':')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "# Caractère utilisé pour indiquer qu'un article était sélectionné avec\n" + "# d'être lu (defaut ':')\n" + "# kill_level doit être choisi en conséquence, _ est transformé en ' '\n" + +#: src/lang.c:1794 +msgid "Enter maximum length of newsgroup names displayed. sets." +msgstr "Largeur max. à afficher des noms des groupes. valide." #: src/lang.c:1795 -msgid "Program to run to open URL's, sets, cancels." -msgstr "Logiciel utilisé pour lancer les URLs, valide, annule." +msgid "Max. length of group names shown" +msgstr "Largeur max. des noms des groupes" #: src/lang.c:1796 -msgid "Program that opens URL's" -msgstr "Logiciel lançant les URLs" +msgid "# Maximum length of the names of newsgroups displayed\n" +msgstr "# Largeur maximum à afficher des noms des groupes.\n" -#: src/lang.c:1797 -msgid "# The program used to open URL's. The actual URL will be appended\n" -msgstr "# Commande ou script ouvrant les URLs. L'URL sera ajoutée\n" +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "Abréger les noms de groupes trop longs" #: src/lang.c:1802 -msgid "Use mouse in xterm" -msgstr "Utiliser la souris dans l'xterm" - -#: src/lang.c:1803 -msgid "# If ON enable mouse key support on xterm terminals\n" -msgstr "# Si ON, active le support de la souris dans xterm\n" +msgid "# If ON abbreviate (if necessary) long newsgroup names at group selection\n" + "# level and article level like this:\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "# Si ON, abrège (si nécessaire) les noms de groupes trop longs dans\n" + "# la vue de sélection de groupes et d'articles comme affiché ci-dessous :\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" #: src/lang.c:1809 -msgid "Use scroll keys on keypad" -msgstr "Utiliser les flèches du pavé numérique" +msgid "Show lines/score in listings" +msgstr "Afficher dans les différentes vues" #: src/lang.c:1810 -msgid "# If ON enable scroll keys on terminals that support it\n" -msgstr "# Si ON, active les flèches de défilement pour les terminaux\n" - "# les supportant\n" - -#: src/lang.c:1815 -msgid "Enter maximum number of article to get. sets." -msgstr "Nombre max d'articles à récupérer. valide." - -#: src/lang.c:1816 -msgid "Number of articles to get" -msgstr "Nombre d'articles à récupérer" - -# AMBIGUOUS -#: src/lang.c:1817 -msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" - "# of already read articles to be read before first unread one\n" -msgstr "# Nombre d'articles à récupérer (0=pas de limite); si le nombre est négatif\n" - "# détermine le nombre max d'articles déjà lus à relire avant le premier non " - "lu\n" - -#: src/lang.c:1822 -msgid "Enter number of days article is considered recent. sets." -msgstr "Nombre de jours un article est considéré comme récent. valide." - -#: src/lang.c:1823 -msgid "Article recentness time limit" -msgstr "Durée des articles considérés comme récents" - -#: src/lang.c:1824 -msgid "# Number of days in which article is considered recent, (0=OFF)\n" -msgstr "# Nombre de jours un article est considéré comme récent; (0=OFF)\n" - -#: src/lang.c:1828 -msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." -msgstr "WILDMAT pour les wildcards normaux, REGEX pour expressions régulières." - -#: src/lang.c:1829 -msgid "Wildcard matching" -msgstr "Concordance wildcard" - -#: src/lang.c:1830 -msgid "# Wildcard matching\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" -msgstr "# Concordances Wildcard\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" +msgid "# What information should be displayed in article/thread listing\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = lines\n" + "# 2 = score\n" + "# 3 = lines & score\n" +msgstr "# Quelles informations doivent être affichées dans la vue article/fil\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = rien\n" + "# * 1 = lignes\n" + "# 2 = score\n" + "# 3 = lignes & score\n" + +#: src/lang.c:1819 +msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" + "2 = half page" +msgstr "0 = défilement page par page, -1 = afficher dernière ligne dans page " + "suivante, -2 = demi-page" + +#: src/lang.c:1820 +msgid "Number of lines to scroll in pager" +msgstr "Vitesse de défilement dans le pager" + +#: src/lang.c:1821 +msgid "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behavior)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" +msgstr "# Type du défilement lors de la visualisation de l'article dans le pager\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# -2 = demi-page\n" + "# -1 = la première/dernière ligne est affichée dans dans la page suivante\n" + "# 0 = page par page (comportement initial)\n" + "# * 1 = ligne par ligne\n" + "# 2 ou plus = défiler 2 lignes par 2 ou plus (seulement dans le pager)\n" + +#: src/lang.c:1831 +msgid "Display signatures. toggles & sets." +msgstr "Affiche les signatures. change & valide." + +#: src/lang.c:1832 +msgid "Display signatures" +msgstr "Afficher les signatures" + +#: src/lang.c:1833 +msgid "# If OFF don't show signatures when displaying articles\n" +msgstr "# Si OFF ne pas afficher les signatures lors de la visualisation des " + "articles.\n" #: src/lang.c:1837 -msgid "Enter minimal score before an article is marked killed. sets." -msgstr "Score minimal avant qu'un article soit filtré. valide." +msgid "Display uuencoded data as tagged attachments. toggles & sets." +msgstr "Afficher les archives uue comme PJ marquées. change & " + "valide." #: src/lang.c:1838 -msgid "Score limit (kill)" -msgstr "Score minimum (filtre)" +msgid "Display uue data as an attachment" +msgstr "Afficher donnée uue comme PJ" #: src/lang.c:1839 -msgid "# Score limit before an article is marked killed\n" -msgstr "# Score minimal avant qu'un article soit filtré\n" - -#: src/lang.c:1843 -msgid "Enter default score to kill articles. sets." -msgstr "Score par défaut pour filtrer les articles. valide." - -#: src/lang.c:1844 -msgid "Default score to kill articles" -msgstr "Score par déf. pour filtrer les articles" - -#: src/lang.c:1845 -msgid "# Default score to kill articles\n" -msgstr "# Score par défaut pour filtrer les articles\n" +msgid "# Handling of uuencoded data in the pager\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no, display raw uuencoded data\n" + "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" + "# size and filename, similar to how MIME attachments are displayed\n" + "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" + "# be folded into a tag line.\n" +msgstr "# Prise en charge des données uuencode dans le pager\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# * 0 = aucune, affichage brut des données uuencode\n" + "# 1 = oui, les données uuencode seront condensée dans une seule ligne\n" + "# affichant la taille et le fichier, comme sont affichées les PJ MIME\n" + "# 2 = masquer, comme pour l'option 1, mais toute ligne qui ressemble à des\n" + "# données uuencode sera condensée en une seule ligne.\n" #: src/lang.c:1849 -msgid "Enter minimal score before an article is marked hot. sets." -msgstr "Score minimal avant qu'un article soit sélectionné. valide." +msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." +msgstr "Décode les umlauts Allemands de type TeX en ISO. change & " + "valide." #: src/lang.c:1850 -msgid "Score limit (select)" -msgstr "Score minimum (sélection)" +msgid "Display \"a as Umlaut-a" +msgstr "Afficher \"a comme Umlaut-a" #: src/lang.c:1851 -msgid "# Score limit before an article is marked hot\n" -msgstr "# Score minimal avant qu'un article soit sélectionné\n" - -#: src/lang.c:1855 -msgid "Enter default score to select articles. sets." -msgstr "Score par défaut pour la sélection des articles. valide." - -#: src/lang.c:1856 -msgid "Default score to select articles" -msgstr "Score par défaut pour sél. les articles" +msgid "# If ON decode German style TeX umlaut codes to ISO and\n" + "# show \"a as Umlaut-a, etc.\n" +msgstr "# Si ON, convertit les umlauts Allemands de type TeX en codes ISO\n" + "# et affiche \"a comme Umlaut-a, etc.\n" + +#: src/lang.c:1856 src/lang.c:1866 +msgid "Space separated list of header fields" +msgstr "Liste des en-têtes, séparés par des espaces" #: src/lang.c:1857 -msgid "# Default score to select articles\n" -msgstr "# Score par défaut pour sélectionner les articles\n" +msgid "Display these header fields (or *)" +msgstr "Afficher ces en-têtes (ou *)" -#: src/lang.c:1863 -msgid "Use slrnface to show ''X-Face:''s" -msgstr "Utiliser slrnface pour afficher les 'X-Face:'" - -#: src/lang.c:1864 -msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" - "# Only useful when running in an xterm.\n" -msgstr "# Si ON, utiliser slrnface(1) pour interpréter l'en-tête 'X-Face:'\n" - "# Seulement utile lors de l'utilisation de tin dans un xterm.\n" - -#: src/lang.c:1872 -msgid "Use ANSI color" -msgstr "Utiliser les couleurs ANSI" - -#: src/lang.c:1873 -msgid "# If ON using ANSI-color\n" -msgstr "# Si ON, utiliser les couleurs ANSI\n" +#: src/lang.c:1858 +msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" + "# place an '*' as this value. This is the only way a wildcard can be used.\n" + "# If you enter 'X-' as the value, you will see all headers beginning with\n" + "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " + "with\n" + "# spaces. Not defining anything turns off this option.\n" +msgstr "# Quels en-têtes voulez-vous voir. Si vous souhaitez voir _tout_ les en-" + "têtes,\n" + "# utilisez '*' comme valeur. C'est le seul moyen d'utiliser un caractère\n" + "# joker ici. Si vous entrez 'X-' comme valeur, vous verrez tous les en-têtes\n" + "# commençant par 'X-' (comme X-Alan ou X-Pape). Vous pouvez afficher " + "plusieurs\n" + "# en-têtes en les délimitant avec des espaces. Ne rien définir, désactive\n" + "# cette option.\n" + +#: src/lang.c:1867 +msgid "Do not display these header fields" +msgstr "Ne pas afficher ces en-têtes" + +#: src/lang.c:1868 +msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" + "# An example of using both options might be if you thought X- headers were\n" + "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " + "you\n" + "# would do something like this:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Not defining anything turns off this option.\n" +msgstr "# Comme l'option 'news_headers_to_display' excepté que là c'est le " + "contraire.\n" + "# Un exemple d'utilisation de ces deux options pourrait que vous trouviez " + "les\n" + "# en-têtes 'X-' intéressantes mais celles contenant 'Alan' et 'Pape'\n" + "# inutiles... donc voici ce que vous pourriez alors faire :\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Ne rien définir, désactive cette option.\n" #: src/lang.c:1878 -msgid "Standard foreground color" -msgstr "Couleur standard de l'avant-plan" +msgid "Do you want to enable automatic handling of multipart/alternative articles?" +msgstr "Voulez-vous activer la prise en charge automatique des articles multipart/" + "alternative ?" #: src/lang.c:1879 -msgid "# Standard foreground color\n" - "# Default: -1 (default color)\n" -msgstr "# Couleur standard de l'avant-plan\n" - "# Défaut : -1 (défaut couleur)\n" +msgid "Skip multipart/alternative parts" +msgstr "Ignorer parties multipart/alter." + +#: src/lang.c:1880 +msgid "# If ON strip multipart/alternative messages automatically\n" +msgstr "# Si ON, enlève automatiquement les messages multipart/alternative\n" + +#: src/lang.c:1884 +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "Activer la détection des blocs à citer ? change & valide." #: src/lang.c:1885 -msgid "Standard background color" -msgstr "Couleur standard de l'arrière-plan" +msgid "Detection of verbatim blocks" +msgstr "Détection des blocs textuels" #: src/lang.c:1886 -msgid "# Standard background color\n" - "# Default: -1 (default color)\n" -msgstr "# Couleur standard de l'arrière-plan\n" - "# Défaut : -1 (défaut couleur)\n" +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "# Si ON, détecte les blocs textuels dans les articles\n" + +#: src/lang.c:1891 +msgid "A regex used to decide which lines to show in col_quote." +msgstr "Une expression régulière pour déterminer quelles lignes afficher dans " + "col_quote." #: src/lang.c:1892 -msgid "Color for inverse text (background)" -msgstr "Couleur du texte inversé (arrière-plan)" +msgid "Regex used to show quoted lines" +msgstr "Regex pour afficher les citations" #: src/lang.c:1893 -msgid "# Color of background for inverse text\n" - "# Default: 4 (blue)\n" -msgstr "# Couleur de l'arrière-plan pour le texte inversé\n" - "# Défaut : 4 (bleu)\n" +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Une expression régulière qui permettra à tin d'afficher les citations.\n" + "# Les citations sont affichées dans col_quote. Si vous laissez ce champ\n" + "# vide, tin utilisera une valeur incluse par défaut.\n" #: src/lang.c:1899 -msgid "Color for inverse text (foreground)" -msgstr "Couleur du texte inversé (avant-plan)" +msgid "A regex used to decide which lines to show in col_quote2." +msgstr "Une expression régulière pour déterminer quelles lignes afficher dans " + "col_quote2." #: src/lang.c:1900 -msgid "# Color of foreground for inverse text\n" - "# Default: 7 (white)\n" -msgstr "# Couleur de l'avant-plan du texte inversé\n" - "# Défaut : 7 (blanc)\n" - -#: src/lang.c:1906 -msgid "Color of text lines" -msgstr "Couleur du texte" +msgid "Regex used to show twice quoted l." +msgstr "Regex pour afficher le 2nd niveau" + +#: src/lang.c:1901 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted twice. Twice quoted lines are shown in col_quote2.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Une expression régulière qui permettra à tin d'afficher les citations de\n" + "# second niveau. Ces citations sont affichées dans col_quote2. Si vous\n" + "# laissez ce champ vide, tin utilisera une valeur incluse par défaut.\n" #: src/lang.c:1907 -msgid "# Color of text lines\n" - "# Default: -1 (default color)\n" -msgstr "# Couleur du texte\n" - "# Défaut : -1 (défaut couleur)\n" - -#: src/lang.c:1913 -msgid "Color of mini help menu" -msgstr "Couleur du petit menu d'aide" - -#: src/lang.c:1914 -msgid "# Color of mini help menu\n" - "# Default: 3 (brown)\n" -msgstr "# Couleur du petit menu d'aide\n" - "# Défaut : 3 (marron)\n" - -#: src/lang.c:1920 -msgid "Color of help text" -msgstr "Couleur de l'aide" - -#: src/lang.c:1921 -msgid "# Color of help pages\n" - "# Default: -1 (default color)\n" -msgstr "# Couleur des pages d'aide\n" - "# Défaut : -1 (couleur par défaut)\n" - -#: src/lang.c:1927 -msgid "Color of status messages" -msgstr "Couleur des messages de statut" - -#: src/lang.c:1928 -msgid "# Color of messages in last line\n" - "# Default: 6 (cyan)\n" -msgstr "# Couleur des messages de statut\n" - "# Défaut : 6 (cyan)\n" +msgid "A regex used to decide which lines to show in col_quote3." +msgstr "Une expression régulière pour déterminer quelles lignes afficher dans " + "col_quote3." + +#: src/lang.c:1908 +msgid "Regex used to show >= 3 times q.l." +msgstr "Regex pour afficher niveau >= 3" + +#: src/lang.c:1909 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Une expression régulière qui permettra à tin d'afficher les citations de\n" + "# troisième niveau et supérieur. Ces citations sont affichées dans " + "col_quote3.\n" + "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " + "défaut.\n" + +#: src/lang.c:1916 +msgid "A regex used to decide which words to show in col_markslashes." +msgstr "Une expression régulière pour déterminer quels mots afficher dans " + "col_markslashes." + +#: src/lang.c:1917 +msgid "Regex used to highlight /slashes/" +msgstr "Regex pour les mots entre /slash/" + +#: src/lang.c:1918 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '/' are to be shown in col_markslashes.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Une expression régulière qui permettra à tin d'afficher les mots\n" + "# placés entre des '/' dans col_markslashes.\n" + "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " + "défaut.\n" + +#: src/lang.c:1924 +msgid "A regex used to decide which words to show in col_markstars." +msgstr "Une expression régulière pour déterminer quels mots afficher dans " + "col_markstars." + +#: src/lang.c:1925 +msgid "Regex used to highlight *stars*" +msgstr "Regex pour les mots entre *astérisques*" + +#: src/lang.c:1926 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '*' are to be shown in col_markstars.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Une expression régulière qui permettra à tin d'afficher les mots\n" + "# placés entre des '*' dans col_markstars.\n" + "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " + "défaut.\n" + +#: src/lang.c:1932 +msgid "A regex used to decide which words to show in col_markstroke." +msgstr "Une expression régulière pour déterminer quels mots afficher dans " + "col_markstroke." + +#: src/lang.c:1933 +msgid "Regex used to highlight -strokes-" +msgstr "Regex pour les mots entre -tirets-" #: src/lang.c:1934 -msgid "Color of quoted lines" -msgstr "Couleur de citation de 1er niveau" - -#: src/lang.c:1935 -msgid "# Color of quote-lines\n" - "# Default: 2 (green)\n" -msgstr "# Couleur de citation de premier niveau\n" - "# Défaut : 2 (vert)\n" +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '-' are to be shown in col_markstroke.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Une expression régulière qui permettra à tin d'afficher les mots\n" + "# placés entre des '-' dans col_markstroke.\n" + "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " + "défaut.\n" + +#: src/lang.c:1940 +msgid "A regex used to decide which words to show in col_markdash." +msgstr "Une expression régulière pour déterminer quels mots afficher dans " + "col_markdash." #: src/lang.c:1941 -msgid "Color of twice quoted line" -msgstr "Couleur de citation de 2nd niveau" +msgid "Regex used to highlight _underline_" +msgstr "Regex pour les mots entre _underscore_" #: src/lang.c:1942 -msgid "# Color of twice quoted lines\n" - "# Default: 3 (brown)\n" -msgstr "# Couleur de citation de second niveau\n" - "# Défaut : 3 (marron)\n" +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '_' are to be shown in col_markdash.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "# Une expression régulière qui permettra à tin d'afficher les mots\n" + "# placés entre des '_' dans col_markdash.\n" + "# Si vous laissez ce champ vide, tin utilisera une valeur incluse par " + "défaut.\n" #: src/lang.c:1948 -msgid "Color of =>3 times quoted line" -msgstr "Couleur de citation de 3e niveau ou sup." +msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." +msgstr "Une expression régulière pour trouver les préfixes dans le sujet. '|' est un " + "séparateur." #: src/lang.c:1949 -msgid "# Color of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" -msgstr "# Couleur de citation de 3e niveau ou supérieur\n" - "# Défaut : 4 (bleu)\n" +msgid "Regex with Subject prefixes" +msgstr "Regex pour les préfixes dans le sujet" + +#: src/lang.c:1950 +msgid "# A regular expression that tin will use to find Subject prefixes\n" + "# which will be removed before showing the header.\n" +msgstr "# Une expression régulière qui permettra à tin de trouver les préfixes\n" + "# dans le sujet et qui seront effacés avant d'afficher l'en-tête.\n" #: src/lang.c:1955 -msgid "Color of article header lines" -msgstr "Couleur des en-têtes de l'article" +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "Une expression régulière pour trouver les suffixes dans le sujet. '|' est un " + "séparateur." #: src/lang.c:1956 -msgid "# Color of header-lines\n" - "# Default: 2 (green)\n" -msgstr "# Couleur des en-têtes de l'article\n" - "# Défaut : 2 (vert)\n" +msgid "Regex with Subject suffixes" +msgstr "Regex pour les suffixes dans le sujet" + +#: src/lang.c:1957 +msgid "# A regular expression that tin will use to find Subject suffixes\n" + "# which will be removed when replying or posting followup.\n" +msgstr "# Une expression régulière qui permettra à tin de trouver les suffixes\n" + "# dans le sujet et qui seront effacés avant d'afficher l'en-tête.\n" #: src/lang.c:1962 -msgid "Color of actual news header fields" -msgstr "Couleur des champs d'en-tête actuels" +msgid "A regex used to find the begin of a verbatim block." +msgstr "Une expression régulière pour trouver le début d'un bloc textuel." #: src/lang.c:1963 -msgid "# Color of actual news header fields\n" - "# Default: 9 (light red)\n" -msgstr "# Couleur des champs d'en-têtes actuels\n" - "# Défaut : 9 (rouge gras)\n" +msgid "Regex for begin of a verbatim block" +msgstr "Regex pour le début d'un bloc textuel" + +#: src/lang.c:1964 +msgid "# A regular expression that tin will use to find the begin of\n" + "# a verbatim block.\n" +msgstr "# Une expression régulière que tin utilisera pour trouver\n" + "# le début d'un bloc textuel.\n" #: src/lang.c:1969 -msgid "Color of article subject lines" -msgstr "Couleur du sujet" +msgid "A regex used to find the end of a verbatim block." +msgstr "Une expression régulière pour trouver la fin d'un bloc textuel." #: src/lang.c:1970 -msgid "# Color of article subject\n" - "# Default: 6 (cyan)\n" -msgstr "# Couleur du sujet\n" - "# Défaut : 6 (cyan)\n" +msgid "Regex for end of a verbatim block" +msgstr "Regex pour la fin d'un bloc textuel" + +#: src/lang.c:1971 +msgid "# A regular expression that tin will use to find the end of\n" + "# a verbatim block.\n" +msgstr "# Une expression régulière que tin utilisera pour trouver\n" + "# la fin d'une bloc textuel.\n" #: src/lang.c:1976 -msgid "Color of response counter" -msgstr "Couleur du compteur de réponse" +msgid "Enter name and options for external MIME viewer, --internal for built-in " + "viewer" +msgstr "Nom et options pour le visualisateur MIME externe, --internal pour celui " + "inclus" #: src/lang.c:1977 -msgid "# Color of response counter\n" - "# Default: 2 (green)\n" -msgstr "# Couleur du compteur de réponse\n" - "# Défaut : 2 (vert)\n" - -#: src/lang.c:1983 -msgid "Color of sender (From:)" -msgstr "Couleur de l'expéditeur (From:)" - -#: src/lang.c:1984 -msgid "# Color of sender (From:)\n" - "# Default: 2 (green)\n" -msgstr "# Couleur de l'expéditeur (From:)\n" - "# Défaut : 2 (vert)\n" - -#: src/lang.c:1990 -msgid "Color of help/mail sign" -msgstr "Couleur de l'aide/signature email" - -#: src/lang.c:1991 -msgid "# Color of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" -msgstr "# Couleur de l'aide/signature email\n" - "# Défaut : 4 (bleu)\n" - -#: src/lang.c:1997 -msgid "Color of signatures" -msgstr "Couleur des signatures" - -#: src/lang.c:1998 -msgid "# Color of signature\n" - "# Default: 4 (blue)\n" -msgstr "# Couleur des signatures\n" - "# Défaut : 4 (bleu)\n" - -#: src/lang.c:2004 -msgid "Color of highlighted URLs" -msgstr "Couleur des URLs en surbrillance" +msgid "MIME binary content viewer" +msgstr "Visualisateur de contenu MIME" + +#: src/lang.c:1978 +msgid "# If --internal automatically use the built in MIME viewer for non-text\n" + "# parts of articles.\n" + "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" + "# for no automatic viewing\n" +msgstr "# Utilisation du visualisateur MIME inclus pour les parties non textuelles\n" + "# si l'option '--internal' est utilisée.\n" + "# Sinon, spécifiez un logiciel externe (pe. metamail) ou laissez ce champ\n" + "# vide pour ne pas activer la prévisualisation automatique.\n" + +#: src/lang.c:1985 +msgid "Confirm before starting non-text viewing program" +msgstr "Confirmation avant le lancement d'un visualisateur externe" + +#: src/lang.c:1986 +msgid "Ask before using MIME viewer" +msgstr "Demander avant d'utiliser le visualisateur" + +#: src/lang.c:1987 +msgid "# If ON tin will ask before using metamail to display MIME messages\n" + "# this only happens if metamail_prog is set to something\n" +msgstr "# Si ON, tin demandera avant d'utiliser metamail pour afficher les\n" + "# messages MIME\n" + "# Cela ne se produit que lorsque 'metamail_prog' contient une valeur\n" + +#: src/lang.c:1992 +msgid "Ask to mark groups read when quitting. toggles & sets." +msgstr "Marquer lu les groupes à la fermeture ? change & valide." + +#: src/lang.c:1993 +msgid "Catchup read groups when quitting" +msgstr "Marquer lu les groupes à la fermeture" + +#: src/lang.c:1994 +msgid "# If ON ask user if read groups should all be marked read\n" +msgstr "# Si ON, demande à l'utilisateur si les groupes consultés\n" + "# doivent être marqués lus\n" + +#: src/lang.c:1999 +msgid "Catchup group using left key" +msgstr "Marquer lu le groupe via la flèche gauche" + +#: src/lang.c:2000 +msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" +msgstr "# Si ON, marque lu avec <- le groupe/fil.\n" #: src/lang.c:2005 -msgid "# Color of highlighted URLs\n" - "# Default: -1 (default color)\n" -msgstr "# Couleur des URLs en surbrillance\n" - "# Défaut : -1 (défaut couleur)\n" +msgid "Catchup thread by using left key" +msgstr "Marquer lu le fil via la flèche gauche" #: src/lang.c:2011 -msgid "Color of highlighting with *stars*" -msgstr "Couleur des mots entre *astérisques*" +msgid "Which actions require confirmation" +msgstr "Quelles actions requièrent confirmation" #: src/lang.c:2012 -msgid "# Color of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" -msgstr "# Couleur des mots entre *astérisques*\n" - "# Défaut : 11 (jaune)\n" +msgid "# What should we ask confirmation for.\n" +msgstr "# Demande de confirmation pour...\n" -#: src/lang.c:2018 -msgid "Color of highlighting with _dash_" -msgstr "Couleur des mots entre _underscore_" +#: src/lang.c:2017 +msgid "'Mark as (un)read' ignores tags" +msgstr "'Marquer (non)lu l'article' ignore les marques" -#: src/lang.c:2019 -msgid "# Color of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" -msgstr "# Couleur des mots entre _underscore_\n" - "# Défaut : 13 (rose gras)\n" - -#: src/lang.c:2025 -msgid "Color of highlighting with /slash/" -msgstr "Couleur des mots entre /slash/" - -#: src/lang.c:2026 -msgid "# Color of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" -msgstr "# Couleur des mots entre /slash/\n" - "# Défaut : 14 (cyan gras)\n" - -#: src/lang.c:2032 -msgid "Color of highlighting with -stroke-" -msgstr "Couleur des mots entre -tirets-" - -#: src/lang.c:2033 -msgid "# Color of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" -msgstr "# Couleur des mots entre -tirets-\n" - "# Défaut : 12 (bleu gras)\n" - -#: src/lang.c:2040 -msgid "Attr. of highlighting with *stars*" -msgstr "Style des mots entre *astérisques*" - -#: src/lang.c:2041 -msgid "# Attributes of word highlighting on mono terminals\n" - "# Possible values are:\n" - "# 0 = Normal\n" - "# 1 = Underline\n" - "# 2 = Best highlighting\n" - "# 3 = Reverse video\n" - "# 4 = Blinking\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# Attribute of word highlighting with *stars*\n" - "# Default: 6 (bold)\n" -msgstr "# Style des mots mis en évidence pour les terminaux mono\n" - "# Les valeurs possibles sont :\n" - "# 0 = Normal\n" - "# 1 = Souligné\n" - "# 2 = Mise en évidence accrue\n" - "# 3 = Vidéo inversée\n" - "# 4 = Clignotement\n" - "# 5 = Contrasté\n" - "# 6 = Gras\n" - "\n" - "# Style des mots entre *astérisques*\n" - "# Défaut : 6 (gras)\n" +#: src/lang.c:2018 +msgid "# If ON the 'Mark as (un)read' function marks only the current article.\n" +msgstr "# Si ON, la fonction 'Marquer (non) lu l'article' agit uniquement sur " + "l'article\n" + "# actuel.\n" + +#: src/lang.c:2022 +msgid "Program to run to open URLs, sets, cancels." +msgstr "Logiciel utilisé pour lancer les URLs, valide, annule." + +#: src/lang.c:2023 +msgid "Program that opens URLs" +msgstr "Logiciel lançant les URLs" + +#: src/lang.c:2024 +msgid "# The program used to open URLs. The actual URL will be appended\n" +msgstr "# Commande ou script ouvrant les URLs. L'URL sera ajoutée\n" + +#: src/lang.c:2029 +msgid "Use mouse in xterm" +msgstr "Utiliser la souris dans l'xterm" + +#: src/lang.c:2030 +msgid "# If ON enable mouse button support on xterm terminals\n" +msgstr "# Si ON, active le support de la souris dans xterm\n" + +#: src/lang.c:2036 +msgid "Use scroll keys on keypad" +msgstr "Utiliser les flèches du pavé numérique" + +#: src/lang.c:2037 +msgid "# If ON enable scroll keys on terminals that support it\n" +msgstr "# Si ON, active les flèches de défilement pour les terminaux\n" + "# les supportant\n" + +#: src/lang.c:2042 +msgid "Enter maximum number of article to get. sets." +msgstr "Nombre max d'articles à récupérer. valide." + +#: src/lang.c:2043 +msgid "Number of articles to get" +msgstr "Nombre d'articles à récupérer" + +#: src/lang.c:2044 +msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" + "# of already read articles to be read before first unread one\n" +msgstr "# Nombre d'articles à récupérer (0=pas de limite); si le nombre est négatif\n" + "# détermine le nombre max d'articles déjà lus à relire avant le premier non " + "lu\n" + +#: src/lang.c:2049 +msgid "Enter number of days article is considered recent. sets." +msgstr "Nombre de jours un article est considéré comme récent. valide." + +#: src/lang.c:2050 +msgid "Article recentness time limit" +msgstr "Durée des articles considérés comme récents" + +#: src/lang.c:2051 +msgid "# Number of days in which article is considered recent, (0=OFF)\n" +msgstr "# Nombre de jours un article est considéré comme récent; (0=OFF)\n" + +#: src/lang.c:2055 +msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." +msgstr "WILDMAT pour les wildcards normaux, REGEX pour expressions régulières." #: src/lang.c:2056 -msgid "Attr. of highlighting with _dash_" -msgstr "Style des mots entre _underscore_" +msgid "Wildcard matching" +msgstr "Concordance wildcard" #: src/lang.c:2057 -msgid "# Attribute of word highlighting with _dash_\n" - "# Default: 2 (best highlighting)\n" -msgstr "# Style des mots entre _tirets_\n" - "# Défaut : 2 (misé en évidence accrue)\n" - -#: src/lang.c:2063 -msgid "Attr. of highlighting with /slash/" -msgstr "Style des mots entre /slash/" +msgid "# Wildcard matching\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" +msgstr "# Concordances Wildcard\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" #: src/lang.c:2064 -msgid "# Attribute of word highlighting with /slash/\n" - "# Default: 5 (half bright)\n" -msgstr "# Style des mots entre /slash/\n" - "# Défaut : 5 (contrasté)\n" +msgid "Enter minimal score before an article is marked killed. sets." +msgstr "Score minimal avant qu'un article soit filtré. valide." + +#: src/lang.c:2065 +msgid "Score limit (kill)" +msgstr "Score minimum (filtre)" + +#: src/lang.c:2066 +msgid "# Score limit before an article is marked killed\n" +msgstr "# Score minimal avant qu'un article soit filtré\n" #: src/lang.c:2070 -msgid "Attr. of highlighting with -stroke-" -msgstr "Style des mots entre -tirets-" +msgid "Enter default score to kill articles. sets." +msgstr "Score par défaut pour filtrer les articles. valide." #: src/lang.c:2071 -msgid "# Attribute of word highlighting with -stroke-\n" - "# Default: 3 (reverse video)\n" -msgstr "# Style des mots entre -tirets-\n" - "# Défaut : 3 (vidéo inversée)\n" +msgid "Default score to kill articles" +msgstr "Score par déf. pour filtrer les articles" + +#: src/lang.c:2072 +msgid "# Default score to kill articles\n" +msgstr "# Score par défaut pour filtrer les articles\n" + +#: src/lang.c:2076 +msgid "Enter minimal score before an article is marked hot. sets." +msgstr "Score minimal avant qu'un article soit sélectionné. valide." #: src/lang.c:2077 -msgid "URL highlighting in message body" -msgstr "Mise en évidence des URLs dans les articles" +msgid "Score limit (select)" +msgstr "Score minimum (sélection)" #: src/lang.c:2078 -msgid "# Enable URL highlighting?\n" -msgstr "# Mettre en évidence les URLs ?\n" +msgid "# Score limit before an article is marked hot\n" +msgstr "# Score minimal avant qu'un article soit sélectionné\n" + +#: src/lang.c:2082 +msgid "Enter default score to select articles. sets." +msgstr "Score par défaut pour la sélection des articles. valide." #: src/lang.c:2083 -msgid "Word highlighting in message body" -msgstr "Mise en évidence des mots dans les articles" +msgid "Default score to select articles" +msgstr "Score par défaut pour sél. les articles" #: src/lang.c:2084 -msgid "# Enable word highlighting?\n" -msgstr "# Mettre en évidence les mots ?\n" - -#: src/lang.c:2089 -msgid "What to display instead of mark" -msgstr "Afficher ça plutôt qu'une marque" +msgid "# Default score to select articles\n" +msgstr "# Score par défaut pour sélectionner les articles\n" #: src/lang.c:2090 -msgid "# Should the leading and ending stars and dashes also be displayed,\n" - "# even when they are highlighting marks?\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = no\n" - "# 1 = yes, display mark\n" - "# * 2 = print a space instead\n" -msgstr "# Est-ce que les astérisques et tirets doivent être affichés,\n" - "# même s'ils mettent en évidence des marques ?\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# 0 = non\n" - "# 1 = oui, afficher la marque\n" - "# * 2 = plutôt afficher un espace\n" +msgid "Use slrnface to show ''X-Face:''s" +msgstr "Utiliser slrnface pour afficher les 'X-Face:'" + +#: src/lang.c:2091 +msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" + "# Only useful when running in an xterm.\n" +msgstr "# Si ON, utiliser slrnface(1) pour interpréter l'en-tête 'X-Face:'\n" + "# Seulement utile lors de l'utilisation de tin dans un xterm.\n" #: src/lang.c:2099 -msgid "Enter column number to wrap article lines to in the pager. sets." -msgstr "Largeur du pager. valide." +msgid "Use ANSI color" +msgstr "Utiliser les couleurs ANSI" #: src/lang.c:2100 -msgid "Page line wrap column" -msgstr "Largeur du pager" +msgid "# If ON using ANSI-color\n" +msgstr "# Si ON, utiliser les couleurs ANSI\n" -#: src/lang.c:2101 -msgid "# Wrap article lines at column\n" -msgstr "# Justifier les lignes des articles à la colonne indiquée\n" +#: src/lang.c:2105 +msgid "Standard foreground color" +msgstr "Couleur standard de l'avant-plan" #: src/lang.c:2106 -msgid "Wrap around threads on next unread" -msgstr "Englober les fils pour le non lu suivant" - -#: src/lang.c:2107 -msgid "# If ON wrap around threads on searching next unread article\n" -msgstr "# Si ON, englober les fils lors de la recherche de l'article suivant non lu\n" - -#: src/lang.c:2111 -msgid "Enter default mail address (and fullname). sets." -msgstr "Adresse mail par défaut (et nom complet). valide." +msgid "# Standard foreground color\n" + "# Default: -1 (default color)\n" +msgstr "# Couleur standard de l'avant-plan\n" + "# Défaut : -1 (défaut couleur)\n" #: src/lang.c:2112 -msgid "Mail address (and fullname)" -msgstr "Adresse mail (et nom complet)" +msgid "Standard background color" +msgstr "Couleur standard de l'arrière-plan" #: src/lang.c:2113 -msgid "# User's mail address (and fullname), if not username@host (fullname)\n" -msgstr "# Adresse mail (et nom complet) si ce n'est pas utilisateur@hôte\n" - "# (nom complet)\n" - -#: src/lang.c:2118 -msgid "Show empty Followup-To in editor" -msgstr "Inclure en-tête Followup-To dans l'éditeur" +msgid "# Standard background color\n" + "# Default: -1 (default color)\n" +msgstr "# Couleur standard de l'arrière-plan\n" + "# Défaut : -1 (défaut couleur)\n" #: src/lang.c:2119 -msgid "# If ON show empty Followup-To header when editing an article\n" -msgstr "# Si ON, inclure l'en-tête Followup-To lors de la composition\n" - "# des articles\n" - -#: src/lang.c:2123 -msgid "Enter path/! command/--none to create your default signature. sets." -msgstr "Chemin/! commande/--aucune pour la création de votre signature. " - "valide." - -#: src/lang.c:2124 -msgid "Create signature from path/command" -msgstr "Signature depuis fichier/commande" - -#: src/lang.c:2125 -msgid "# Signature path (random sigs)/file to be used when posting/replying\n" - "# default_sigfile=file appends file as signature\n" - "# default_sigfile=!command executes external command to generate a " - "signature\n" - "# default_sigfile=--none don't append a signature\n" -msgstr "# Fichier de signature à utiliser lors de la composition/réponse à un " - "article.\n" - "# default_sigfile=fichier\tutilise le contenu du fichier comme signature\n" - "# default_sigfile=!commande\texécute une commande externe comme signature\n" - -#: src/lang.c:2132 -msgid "Prepend signature with \"-- \" on own line. toggles & sets." -msgstr "Précéder la signature avec \"-- \". change & valide." +msgid "Color for inverse text (background)" +msgstr "Couleur du texte inversé (arrière-plan)" + +#: src/lang.c:2120 +msgid "# Color of background for inverse text\n" + "# Default: 4 (blue)\n" +msgstr "# Couleur de l'arrière-plan pour le texte inversé\n" + "# Défaut : 4 (bleu)\n" + +#: src/lang.c:2126 +msgid "Color for inverse text (foreground)" +msgstr "Couleur du texte inversé (avant-plan)" + +#: src/lang.c:2127 +msgid "# Color of foreground for inverse text\n" + "# Default: 7 (white)\n" +msgstr "# Couleur de l'avant-plan du texte inversé\n" + "# Défaut : 7 (blanc)\n" #: src/lang.c:2133 -msgid "Prepend signature with \"-- \"" -msgstr "Précéder la signature avec \"-- \"" +msgid "Color of text lines" +msgstr "Couleur du texte" #: src/lang.c:2134 -msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" -msgstr "# Si ON, précéde la signature avec le délimiteur standard\n" - "# '\\n-- \\'\n" - -#: src/lang.c:2138 -msgid "Add signature when reposting articles. toggles & sets." -msgstr "Rajouter la signature lors du repostage. change & valide." - -#: src/lang.c:2139 -msgid "Add signature when reposting" -msgstr "Rajouter la signature lors du repostage" +msgid "# Color of text lines\n" + "# Default: -1 (default color)\n" +msgstr "# Couleur du texte\n" + "# Défaut : -1 (défaut couleur)\n" #: src/lang.c:2140 -msgid "# If ON add signature to reposted articles\n" -msgstr "# Si ON, rajoute la signature aux articles repostés\n" - -#: src/lang.c:2144 -#, c-format -msgid "Enter quotation marks, %s or %S for author's initials." -msgstr "Caractère de citation, %s ou %S pour les initiales de l'auteur." +msgid "Color of mini help menu" +msgstr "Couleur du petit menu d'aide" -#: src/lang.c:2145 -msgid "Characters used as quote-marks" -msgstr "Caractère de citation" - -#: src/lang.c:2146 -#, c-format -msgid "# Characters used in quoting to followups and replies.\n" - "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" -msgstr "# Caractères utilisés pour les citations.\n" - "# '_' est remplacé par ' ', %%s, %%S sont remplacés par les intiales\n" - "# de l'auteur auquel vous répondez.\n" - -#: src/lang.c:2152 -msgid "Quoting behavior" -msgstr "Type de citations" - -#: src/lang.c:2153 -msgid "# How quoting should be handled when following up or replying.\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = Nothing special\n" - "# 1 = Compress quotes\n" - "# 2 = Quote signatures\n" - "# 3 = Compress quotes, quote signatures\n" - "# 4 = Quote empty lines\n" - "# * 5 = Compress quotes, quote empty lines\n" - "# 6 = Quote signatures, quote empty lines\n" - "# 7 = Compress quotes, quote signatures, quote empty lines\n" -msgstr "# Type de citations lors des réponses ou des suivis.\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# 0 = Rien de spécial\n" - "# 1 = Citations compressées\n" - "# 2 = Citer les signatures\n" - "# 3 = Compresser les citations, citer les signatures\n" - "# 4 = Citer les lignes vides\n" - "# * 5 = Compresser les citations, citer les lignes vides\n" - "# 6 = Citer les signatures, citer les lignes vides\n" - "# 7 = Citations compr., signatures et lignes vides citées\n" - -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 -msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" -msgstr "%A Adresse %D Date %F Adresse+Nom %G groupe %M Message-ID %N Nom %C Prénom" - -#: src/lang.c:2167 -msgid "Quote line when following up" -msgstr "Citation lors d'un suivi" +#: src/lang.c:2141 +msgid "# Color of mini help menu\n" + "# Default: 3 (brown)\n" +msgstr "# Couleur du petit menu d'aide\n" + "# Défaut : 3 (marron)\n" + +#: src/lang.c:2147 +msgid "Color of help text" +msgstr "Couleur de l'aide" + +#: src/lang.c:2148 +msgid "# Color of help pages\n" + "# Default: -1 (default color)\n" +msgstr "# Couleur des pages d'aide\n" + "# Défaut : -1 (couleur par défaut)\n" + +#: src/lang.c:2154 +msgid "Color of status messages" +msgstr "Couleur des messages de statut" + +#: src/lang.c:2155 +msgid "# Color of messages in last line\n" + "# Default: 6 (cyan)\n" +msgstr "# Couleur des messages de statut\n" + "# Défaut : 6 (cyan)\n" + +#: src/lang.c:2161 +msgid "Color of quoted lines" +msgstr "Couleur de citation de 1er niveau" + +#: src/lang.c:2162 +msgid "# Color of quote-lines\n" + "# Default: 2 (green)\n" +msgstr "# Couleur de citation de premier niveau\n" + "# Défaut : 2 (vert)\n" #: src/lang.c:2168 -#, c-format -msgid "# Format of quote line when mailing/posting/following-up an article\n" - "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" - "# %%N Full Name %%C First Name %%I Initials\n" -msgstr "# Format de la citation lors de l'envoi/postage/suivi d'un article\n" - "# %%A Adresse\t\t%%D Date\t%%F Adresse+Nom\t%%G groupe\n" - "# %%M Message-ID\t%%N Nom complet\t%%C Prénom\t%%I Initiales\n" +msgid "Color of twice quoted line" +msgstr "Couleur de citation de 2nd niveau" + +#: src/lang.c:2169 +msgid "# Color of twice quoted lines\n" + "# Default: 3 (brown)\n" +msgstr "# Couleur de citation de second niveau\n" + "# Défaut : 3 (marron)\n" #: src/lang.c:2175 -msgid "Quote line when cross-posting" -msgstr "Citation lors d'un cross-post" +msgid "Color of =>3 times quoted line" +msgstr "Couleur de citation de 3e niveau ou sup." -#: src/lang.c:2181 -msgid "Quote line when mailing" -msgstr "Citation lors d'un envoi par mail" - -#: src/lang.c:2186 -msgid "If ON, include User-Agent: header. toggles & sets." -msgstr "Si ON, inclus l'en-tête 'User-Agent:'. change & valide." - -#: src/lang.c:2187 -msgid "Insert 'User-Agent:'-header" -msgstr "Insérer l'en-tête 'User-Agent'" - -#: src/lang.c:2188 -msgid "# If ON include advertising User-Agent: header\n" -msgstr "# Si ON inclus l'en-tête 'User-Agent:'\n" - -#: src/lang.c:2193 -msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." -msgstr "Jeu d'encodage pour MIME (p.e. US-ASCII, ISO_8859_1, EUC_KR), valide." - -#: src/lang.c:2194 -msgid "MM_CHARSET" -msgstr "MM_CHARSET" - -#: src/lang.c:2195 -msgid "# Charset supported locally which is also used for MIME header and\n" - "# Content-Type header.\n" - "# If not set, the value of the environment variable MM_CHARSET is used.\n" - "# Set to US-ASCII or compile time default if neither of them is defined.\n" - "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" - "# mm_charset is considered not displayable and represented as '?'.\n" -msgstr "# Jeu d'encodage supporté localement qui est également utilisé pour les\n" - "# en-têtes MIME ainsi que l'en-tête 'Content-Type'.\n" - "# Si rien n'est déclaré, la valeur de la variable d'environnement MM_CHARSET\n" - "# est utilisée.\n" - "# Utilisez US-ASCII ou utilisez la valeur par défaut lors de la compilation\n" - "# de tin si aucunes des deux n'est définie.\n" - "# Si MIME_STRICT_CHARSET est déclarée au moment de la compilation, le jeu\n" - "# d'encodage autre que mm_charset est considéré comme non disponible et\n" - "# représenté par '?'.\n" - -#: src/lang.c:2205 -msgid "MM_NETWORK_CHARSET" -msgstr "MM_NETWORK_CHARSET" - -#: src/lang.c:2206 -msgid "# Charset used for MIME (Content-Type) header in postings.\n" -msgstr "# Jeu d'encodage utilisé par l'en-tête MIME (Content-Type).\n" - -#: src/lang.c:2212 -msgid "Mailbox format" -msgstr "Format de la boîte à lettres" - -#: src/lang.c:2213 -msgid "# Format of the mailbox.\n" -msgstr "# Format de la boîte à lettres\n" +#: src/lang.c:2176 +msgid "# Color of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" +msgstr "# Couleur de citation de 3e niveau ou supérieur\n" + "# Défaut : 4 (bleu)\n" + +#: src/lang.c:2182 +msgid "Color of article header lines" +msgstr "Couleur des en-têtes de l'article" + +#: src/lang.c:2183 +msgid "# Color of header-lines\n" + "# Default: 2 (green)\n" +msgstr "# Couleur des en-têtes de l'article\n" + "# Défaut : 2 (vert)\n" + +#: src/lang.c:2189 +msgid "Color of actual news header fields" +msgstr "Couleur des champs d'en-tête actuels" + +#: src/lang.c:2190 +msgid "# Color of actual news header fields\n" + "# Default: 9 (light red)\n" +msgstr "# Couleur des champs d'en-têtes actuels\n" + "# Défaut : 9 (rouge gras)\n" + +#: src/lang.c:2196 +msgid "Color of article subject lines" +msgstr "Couleur du sujet" + +#: src/lang.c:2197 +msgid "# Color of article subject\n" + "# Default: 6 (cyan)\n" +msgstr "# Couleur du sujet\n" + "# Défaut : 6 (cyan)\n" + +#: src/lang.c:2203 +msgid "Color of response counter" +msgstr "Couleur du compteur de réponse" + +#: src/lang.c:2204 +msgid "# Color of response counter\n" + "# Default: 2 (green)\n" +msgstr "# Couleur du compteur de réponse\n" + "# Défaut : 2 (vert)\n" + +#: src/lang.c:2210 +msgid "Color of sender (From:)" +msgstr "Couleur de l'expéditeur (From:)" + +#: src/lang.c:2211 +msgid "# Color of sender (From:)\n" + "# Default: 2 (green)\n" +msgstr "# Couleur de l'expéditeur (From:)\n" + "# Défaut : 2 (vert)\n" + +#: src/lang.c:2217 +msgid "Color of help/mail sign" +msgstr "Couleur de l'aide/signature email" #: src/lang.c:2218 -msgid "MIME encoding in news messages" -msgstr "Encodage MIME dans les messages usenet" - -#: src/lang.c:2219 -msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" - "# for mails and posts, if necessary. QP is efficient for most European\n" - "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" - "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" - "# Russian charsets with a lot of 8bit characters.\n" -msgstr "# Si nécessaire, encodage MIME (8bit, base64, quoted-printable, 7bit) du\n" - "# corps du message pour les mails et les arrticles. QP est suffisant pour\n" - "# la plupart des jeux d'encodage Européens (ISO-8859-X) avec une petite\n" - "# fraction de caractères non-US-ASCII; alors que le Base64 est plus indiqué\n" - "# pour les jeux d'encodage 8bit Est Asiatique, Grec et Russe, car contenant\n" - "# un plus grand nombre de caractères 8bit.\n" - -#: src/lang.c:2227 src/lang.c:2248 -msgid "Don't change unless you know what you are doing. cancels." -msgstr "Ne pas changer sauf si vous savez ce que vous faites. annule." - -#: src/lang.c:2228 -msgid "Use 8bit characters in news headers" -msgstr "Caractères 8bit dans les en-têtes usenet" - -#: src/lang.c:2229 -msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in header are encoded regardless of the value of this\n" - "# parameter unless post_mime_encoding is 8bit as well.\n" -msgstr "# Si ON, les caractères 8bit dans les en-têtes ne sont PAS encodés.\n" - "# OFF par défaut. Donc les caractères 8bit sont encodés par défaut.\n" - "# Les caractères 8bit dans les en-têtes sont encodés indépendamment\n" - "# de la valeur de cette option sauf si post_mime_encoding a comme\n" - "# valeur 8bit.\n" - -#: src/lang.c:2236 -msgid "Auto-view post-processed files toggles, sets, cancels." -msgstr "Visualiser automatiquement les fichiers traités. change, " - "valide, annule." - -#: src/lang.c:2237 -msgid "View post-processed files" -msgstr "Voir les fichiers traités" +msgid "# Color of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" +msgstr "# Couleur de l'aide/signature email\n" + "# Défaut : 4 (bleu)\n" + +#: src/lang.c:2224 +msgid "Color of signatures" +msgstr "Couleur des signatures" + +#: src/lang.c:2225 +msgid "# Color of signature\n" + "# Default: 4 (blue)\n" +msgstr "# Couleur des signatures\n" + "# Défaut : 4 (bleu)\n" + +#: src/lang.c:2231 +msgid "Color of highlighted URLs" +msgstr "Couleur des URLs en surbrillance" + +#: src/lang.c:2232 +msgid "# Color of highlighted URLs\n" + "# Default: -1 (default color)\n" +msgstr "# Couleur des URLs en surbrillance\n" + "# Défaut : -1 (défaut couleur)\n" #: src/lang.c:2238 -msgid "# If set, post processed files will be opened in a viewer\n" -msgstr "# Si ON, les fichiers traités seront ouverts\n" +msgid "Color of verbatim blocks" +msgstr "Couleur des blocs textuels" -#: src/lang.c:2243 -msgid "MIME encoding in mail messages" -msgstr "Encodage MIME pour les mails" - -#: src/lang.c:2249 -msgid "Use 8bit characters in mail headers" -msgstr "Caractères 8bits dans en-têtes mail" - -#: src/lang.c:2250 -msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in headers are encoded regardless of the value of this " - "parameter\n" - "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" - "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" - "# turn it ON unless you have some compelling reason.\n" -msgstr "# Si ON, les caractères 8bit dans les en-têtes des mails ne sont PAS " - "encodés.\n" - "# OFF par défaut. Donc les caractères 8bit sont encodés par défaut.\n" - "# Les caractères 8bit dans les en-têtes sont encodés indépendamment\n" - "# de la valeur de cette option sauf si mail_mime_encoding a comme valeur\n" - "# 8bit.\n" - "# Notez que la RFC 2822 interdit les caractères 8bit dans les en-têtes des\n" - "# mails donc nous vous conseillons de ne PAS activer cette option sauf si\n" - "# vous avez une bonne raison.\n" +#: src/lang.c:2239 +msgid "# Color of verbatim blocks\n" + "# Default: 5 (pink)\n" +msgstr "# Couleur des blocs textuels\n" + "# Défaut : 5 (rose)\n" + +#: src/lang.c:2245 +msgid "Color of highlighting with *stars*" +msgstr "Couleur des mots entre *astérisques*" + +#: src/lang.c:2246 +msgid "# Color of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" +msgstr "# Couleur des mots entre *astérisques*\n" + "# Défaut : 11 (jaune)\n" + +#: src/lang.c:2252 +msgid "Color of highlighting with _dash_" +msgstr "Couleur des mots entre _underscore_" + +#: src/lang.c:2253 +msgid "# Color of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" +msgstr "# Couleur des mots entre _underscore_\n" + "# Défaut : 13 (rose gras)\n" + +#: src/lang.c:2259 +msgid "Color of highlighting with /slash/" +msgstr "Couleur des mots entre /slash/" #: src/lang.c:2260 -msgid "Strip blanks from ends of lines" -msgstr "Nettoyer les fins de lignes" - -#: src/lang.c:2261 -msgid "# If ON strip blanks from ends of lines for faster display on slow " - "terminals.\n" -msgstr "# Si ON, enlève les blancs présents aux fins de lignes pour un affichage \n" - "# plus rapide sur les terminaux lents.\n" +msgid "# Color of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" +msgstr "# Couleur des mots entre /slash/\n" + "# Défaut : 14 (cyan gras)\n" #: src/lang.c:2266 -msgid "If ON, use transliteration. toggles & sets." -msgstr "Si ON, utilise 'translit' pour iconv_open(3). change & " - "valide." +msgid "Color of highlighting with -stroke-" +msgstr "Couleur des mots entre -tirets-" #: src/lang.c:2267 -msgid "Transliteration" -msgstr "Translitération (conversion)" - -#: src/lang.c:2268 -msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" - "# be represented in the in the target character set, it can be approximated\n" - "# through one or several similarly looking characters.\n" -msgstr "# Si ON, utilise l'extension //TRANSLIT. Cela veut dire que lorsqu'un\n" - "# caractère n'est pas disponible dans l'encodage choisi, il peut être\n" - "# remplacé par un ou plusieurs autres caractères similaires.\n" +msgid "# Color of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" +msgstr "# Couleur des mots entre -tirets-\n" + "# Défaut : 12 (bleu gras)\n" + +#: src/lang.c:2274 +msgid "Attr. of highlighting with *stars*" +msgstr "Style des mots entre *astérisques*" #: src/lang.c:2275 -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "Vous envoie automatiquement une copie (CC). change & valide." - -#: src/lang.c:2276 -msgid "Send you a cc automatically" -msgstr "Envoyer automatiquement une copie" - -#: src/lang.c:2277 -msgid "# If ON automatically put your name in the Cc: field when mailing an article\n" -msgstr "# Si ON, inclus automatiquement votre nom dans le champ Cc: lors d'un envoi\n" - "# par mail d'un article.\n" - -#: src/lang.c:2281 -msgid "Send you a blind carbon copy automatically. toggles & sets." -msgstr "Vous envoie automatiquement une copie privée (BCC). change & " - " valide." - -#: src/lang.c:2282 -msgid "Send you a blind cc automatically" -msgstr "Envoi automatique d'une copie privée" - -#: src/lang.c:2283 -msgid "# If ON automatically put your name in the Bcc: field when mailing an " - "article\n" -msgstr "# Si ON, inclus automatiquement votre nom dans le champ Bcc: lors d'un envoi\n" - "# par mail d'un article.\n" - -#: src/lang.c:2287 -msgid "Enter address elements about which you want to be warned. sets." -msgstr "Être averti de ces éléments. valide." - -#: src/lang.c:2288 -msgid "Spamtrap warning address parts" -msgstr "Pièges à spam dans les adresses" - -#: src/lang.c:2289 -msgid "# A comma-delimited list of address-parts you want to be warned\n" - "# about when trying to reply by email.\n" -msgstr "# Une liste des parties dans les adresses, délimitées par des virgules,\n" - "# que vous souhaitez connaître lors d'une réponse par mail.\n" - -#: src/lang.c:2294 -msgid "Enter default number of days a filter entry will be valid. sets." -msgstr "Entrer la durée d'un filtre (en nombre de jours). valide." - -#: src/lang.c:2295 -msgid "No. of days a filter entry is valid" -msgstr "Durée de validité d'un filtre" - -#: src/lang.c:2296 -msgid "# Number of days a short term filter will be active\n" -msgstr "# Durée (en nombre de jours) de validité d'un filtre\n" - -#: src/lang.c:2300 -msgid "Add posted articles to filter. toggles & sets." -msgstr "Créer un filtre pour les articles postés. change & valide." - -#: src/lang.c:2301 -msgid "Add posted articles to filter" -msgstr "Créer un filtre pour les articles postés" - -#: src/lang.c:2302 -msgid "# If ON add posted articles which start a new thread to filter for\n" - "# highlighting follow-ups\n" -msgstr "# Si ON, crée un filtre pour les articles débutant un nouveau fil\n" - "# afin de mettre en surbrillance les suivis.\n" - -#: src/lang.c:2306 -msgid "The directory where articles/threads are to be saved in mailbox format." -msgstr "Le répertoire où sont enregistrés les articles/fils au format mailbox." - -#: src/lang.c:2307 -msgid "Mail directory" -msgstr "Répertoire mail" - -#: src/lang.c:2308 -msgid "# (-m) directory where articles/threads are saved in mailbox format\n" -msgstr "# (-m) répertoire où sont enregistrés les articles/fils au format mailbox\n" - -#: src/lang.c:2313 -msgid "Save articles in batch mode (-S)" -msgstr "Enregistrer articles en arrière-plan (-S)" - -#: src/lang.c:2314 -msgid "# If ON articles/threads will be saved in batch mode when save -S\n" - "# or mail (-M/-N) is specified on the command line\n" -msgstr "# Si ON, les articles/fils seront enregistrés à l'arrière-plan lorsque\n" - "# l'option -S ou (-M/-N) pour les mails est spécifiée.\n" - -#: src/lang.c:2319 -msgid "The directory where you want articles/threads saved." -msgstr "Le répertoire où vous voulez enregistrer les articles/fils." - -#: src/lang.c:2320 -msgid "Directory to save arts/threads in" -msgstr "Répertoire où enregistrer les articles/fils" - -#: src/lang.c:2321 -msgid "# Directory where articles/threads are saved\n" -msgstr "# Répertoire où sont enregistrés les articles/fils\n" - -#: src/lang.c:2325 -msgid "Auto save article/thread by Archive-name: header. toggles & sets." -msgstr "Enregistrement auto. basé sur l'en-tête Archive-name:. change & " - " valide." - -#: src/lang.c:2326 -msgid "Use Archive-name: header for save" -msgstr "Honorer l'en-tête 'Archive-name:'" - -#: src/lang.c:2327 -msgid "# If ON articles/threads with Archive-name: in mail header will\n" - "# be automatically saved with the Archive-name & part/patch no.\n" -msgstr "# Si ON, les articles/fils avec 'Archive-name:' dans l'en-tête\n" - "# du mail seront enregistrés automatiquement avec l'Archive-name\n" - "# & le numéro de la partie et ou patch.\n" - -#: src/lang.c:2332 -msgid "Mark saved articles/threads as read. toggles, sets, " - "cancels." -msgstr "Marquer lu les articles/fils enregistrés. change, valide, " - " annule." +msgid "# Attributes of word highlighting on mono terminals\n" + "# Possible values are:\n" + "# 0 = Normal\n" + "# 1 = Underline\n" + "# 2 = Best highlighting\n" + "# 3 = Reverse video\n" + "# 4 = Blinking\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# Attribute of word highlighting with *stars*\n" + "# Default: 6 (bold)\n" +msgstr "# Style des mots mis en évidence pour les terminaux mono\n" + "# Les valeurs possibles sont :\n" + "# 0 = Normal\n" + "# 1 = Souligné\n" + "# 2 = Mise en évidence accrue\n" + "# 3 = Vidéo inversée\n" + "# 4 = Clignotement\n" + "# 5 = Contrasté\n" + "# 6 = Gras\n" + "\n" + "# Style des mots entre *astérisques*\n" + "# Défaut : 6 (gras)\n" + +#: src/lang.c:2290 +msgid "Attr. of highlighting with _dash_" +msgstr "Style des mots entre _underscore_" + +#: src/lang.c:2291 +msgid "# Attribute of word highlighting with _dash_\n" + "# Default: 2 (best highlighting)\n" +msgstr "# Style des mots entre _tirets_\n" + "# Défaut : 2 (misé en évidence accrue)\n" + +#: src/lang.c:2297 +msgid "Attr. of highlighting with /slash/" +msgstr "Style des mots entre /slash/" + +#: src/lang.c:2298 +msgid "# Attribute of word highlighting with /slash/\n" + "# Default: 5 (half bright)\n" +msgstr "# Style des mots entre /slash/\n" + "# Défaut : 5 (contrasté)\n" + +#: src/lang.c:2304 +msgid "Attr. of highlighting with -stroke-" +msgstr "Style des mots entre -tirets-" + +#: src/lang.c:2305 +msgid "# Attribute of word highlighting with -stroke-\n" + "# Default: 3 (reverse video)\n" +msgstr "# Style des mots entre -tirets-\n" + "# Défaut : 3 (vidéo inversée)\n" + +#: src/lang.c:2311 +msgid "URL highlighting in message body" +msgstr "Mise en évidence des URLs dans les articles" + +#: src/lang.c:2312 +msgid "# Enable URL highlighting?\n" +msgstr "# Mettre en évidence les URLs ?\n" + +#: src/lang.c:2317 +msgid "Word highlighting in message body" +msgstr "Mise en évidence des mots dans les articles" + +#: src/lang.c:2318 +msgid "# Enable word highlighting?\n" +msgstr "# Mettre en évidence les mots ?\n" + +#: src/lang.c:2323 +msgid "What to display instead of mark" +msgstr "Afficher ça plutôt qu'une marque" + +#: src/lang.c:2324 +msgid "# Should the leading and ending stars and dashes also be displayed,\n" + "# even when they are highlighting marks?\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = no\n" + "# 1 = yes, display mark\n" + "# * 2 = print a space instead\n" +msgstr "# Est-ce que les astérisques et tirets doivent être affichés,\n" + "# même s'ils mettent en évidence des marques ?\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = non\n" + "# 1 = oui, afficher la marque\n" + "# * 2 = plutôt afficher un espace\n" #: src/lang.c:2333 -msgid "Mark saved articles/threads as read" -msgstr "Marquer lu les articles/fils enregistrés" +msgid "Enter column number to wrap article lines to in the pager. sets." +msgstr "Largeur du pager. valide." #: src/lang.c:2334 -msgid "# If ON mark articles that are saved as read\n" -msgstr "# Si ON, marque lu les articles qui sont enregistrés\n" +msgid "Page line wrap column" +msgstr "Largeur du pager" -#: src/lang.c:2338 -msgid "Do post processing (eg. extract attachments) for saved articles." -msgstr "Post-traiter (p.e. extraire les pj) les articles enregistrés." - -#: src/lang.c:2339 -msgid "Post process saved articles" -msgstr "Post-traiter les articles enregistrés" +#: src/lang.c:2335 +msgid "# Wrap article lines at column\n" +msgstr "# Justifier les lignes des articles à la colonne indiquée\n" #: src/lang.c:2340 -msgid "# Perform post processing (saving binary attachments) from saved articles.\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no\n" - "# 1 = extract shell archives (shar) only\n" - "# 2 = yes\n" -msgstr "# Post-traitement (enregistrement des pj) des articles enregistrés.\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# * 0 = non\n" - "# 1 = extraire uniquement les *.shar (archives shell)\n" - "# 2 = oui\n" - -#: src/lang.c:2349 -msgid "Process only unread articles" -msgstr "Traiter uniquement les articles non lus" - -#: src/lang.c:2350 -msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" -msgstr "# Si ON, enregistre/imprime/pipe/envoi articles non lu\n" - "# (excepté les articles marqués)\n" - -#: src/lang.c:2355 -msgid "Print all or just part of header. toggles & sets." -msgstr "Afficher tout ou une partie des en-têtes. change & valide." - -#: src/lang.c:2356 -msgid "Print all headers when printing" -msgstr "Imprimer tous les en-têtes" +msgid "Wrap around threads on next unread" +msgstr "Englober les fils pour le non lu suivant" -#: src/lang.c:2357 -msgid "# If ON print all of article header otherwise just the important lines\n" -msgstr "# Si ON, imprimer tous les en-têtes, sinon juste les lignes importantes\n" +#: src/lang.c:2341 +msgid "# If ON wrap around threads on searching next unread article\n" +msgstr "# Si ON, englober les fils lors de la recherche de l'article suivant non lu\n" + +#: src/lang.c:2345 +msgid "Enter default mail address (and fullname). sets." +msgstr "Adresse mail par défaut (et nom complet). valide." + +#: src/lang.c:2346 src/lang.c:2770 +msgid "Mail address (and fullname)" +msgstr "Adresse mail (et nom complet)" + +#: src/lang.c:2347 +msgid "# User's mail address (and fullname), if not username@host (fullname)\n" +msgstr "# Adresse mail (et nom complet) si ce n'est pas utilisateur@hôte\n" + "# (nom complet)\n" + +#: src/lang.c:2352 +msgid "Show empty Followup-To in editor" +msgstr "Inclure en-tête Followup-To dans l'éditeur" + +#: src/lang.c:2353 +msgid "# If ON show empty Followup-To header when editing an article\n" +msgstr "# Si ON, inclure l'en-tête Followup-To lors de la composition\n" + "# des articles\n" -#: src/lang.c:2361 -msgid "The printer program with options that is to be used to print articles/threads." -msgstr "Le logiciel d'impression avec options utilisées pour imprimer les articles/" - "fils." - -#: src/lang.c:2362 -msgid "Printer program with options" -msgstr "Logiciel d'impression avec options" - -#: src/lang.c:2363 -msgid "# Print program with parameters used to print articles/threads\n" -msgstr "# Logiciel d'impression avec options utilisées por imprimer les articles/" - "fils\n" - -#: src/lang.c:2369 -msgid "Force redraw after certain commands" -msgstr "Rafraîchir l'écran après certaines actions" - -#: src/lang.c:2370 -msgid "# If ON a screen redraw will always be done after certain external commands\n" -msgstr "# Si ON, un rafraîchissement de l'écran sera toujours effectué après\n" - "# certaines commandes externes\n" +#: src/lang.c:2357 +msgid "Enter path/! command/--none to create your default signature. sets." +msgstr "Chemin/! commande/--aucune pour la création de votre signature. " + "valide." + +#: src/lang.c:2358 +msgid "Create signature from path/command" +msgstr "Signature depuis fichier/commande" + +#: src/lang.c:2359 +msgid "# Signature path (random sigs)/file to be used when posting/replying\n" + "# sigfile=file appends file as signature\n" + "# sigfile=!command executes external command to generate a signature\n" + "# sigfile=--none don't append a signature\n" +msgstr "# Fichier de signature à utiliser lors de la composition/réponse à un " + "article.\n" + "# sigfile=fichier utilise le contenu d'un fichier comme signature\n" + "# sigfile=!commande exécute une commande externe pour générer la signature\n" + "# sigfile=--aucun ne pas ajouter de signature\n" + +#: src/lang.c:2366 +msgid "Prepend signature with \"-- \" on own line. toggles & sets." +msgstr "Précéder la signature avec \"-- \". change & valide." + +#: src/lang.c:2367 +msgid "Prepend signature with \"-- \"" +msgstr "Précéder la signature avec \"-- \"" + +#: src/lang.c:2368 +msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" +msgstr "# Si ON, précéde la signature avec le délimiteur standard\n" + "# '\\n-- \\'\n" + +#: src/lang.c:2372 +msgid "Add signature when reposting articles. toggles & sets." +msgstr "Rajouter la signature lors du repostage. change & valide." + +#: src/lang.c:2373 +msgid "Add signature when reposting" +msgstr "Rajouter la signature lors du repostage" #: src/lang.c:2374 -msgid "Start editor with line offset. toggles, sets, cancels." -msgstr "Lancer l'éditeur avec une ligne décalée. change, valide, " - " annule." - -#: src/lang.c:2375 -msgid "Start editor with line offset" -msgstr "Lancer l'éditeur avec une ligne décalée" - -#: src/lang.c:2376 -msgid "# If ON editor will be started with cursor offset into the file\n" - "# otherwise the cursor will be positioned at the first line\n" -msgstr "# Si ON, l'éditeur sera lancé avec le curseur décalé\n" - "# sinon, le curseur sera positionné sur la première ligne\n" - -#: src/lang.c:2381 -msgid "Enter %E for editor, %F for filename, %N for line-number, to set." -msgstr "%E pour l'éditeur, %F pour le fichier, %N pour la ligne, valide." - -#: src/lang.c:2382 -msgid "Invocation of your editor" -msgstr "Lancement de votre éditeur" - -#: src/lang.c:2383 -#, c-format -msgid "# Format of editor line including parameters\n" - "# %%E Editor %%F Filename %%N Linenumber\n" -msgstr "# Format des paramètres pour l'éditeur\n" - "# %%E Éditeur %%F Fichier %%N N° de ligne\n" - -#: src/lang.c:2388 -msgid "Enter name and options for external-inews, --internal for internal inews" -msgstr "Nom et options pour l'inews externe, --internal pour l'inews interne" - -#: src/lang.c:2389 -msgid "External inews" -msgstr "Inews externe" - -#: src/lang.c:2390 -msgid "# If --internal use the built in mini inews for posting via NNTP\n" - "# otherwise use an external inews program\n" -msgstr "# Si '--internal', utilise l'inews allégé intégré pour poster via\n" - "# NNTP sinon, utilise un logiciel inews externe\n" - -#: src/lang.c:2394 -msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." -msgstr "%M pour le MUA, %S pour le sujet, %T pour 'to:', %F pour Fichier, " - "valide." - -#: src/lang.c:2395 -msgid "Invocation of your mail command" -msgstr "Lancement de votre client mail" - -#: src/lang.c:2396 -#, c-format -msgid "# Format of mailer line including parameters\n" - "# %%M Mailer %%S Subject %%T To %%F Filename\n" - "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" - "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" -msgstr "# Format des paramètres pour le MUA\n" - "# %%M MUA %%S Sujet %%T 'To:' %%F Fichier\n" - "# p.e. pour utiliser elm comme MUA : elm -s \"%%S\" \"%%T\" < %%F\n" - "# p.e. pour elm interactif : elm -i %%F -s \"%%S\" \"%%T\"\n" - -#: src/lang.c:2404 -msgid "Use interactive mail reader" -msgstr "Utiliser un MUA interactif" - -#: src/lang.c:2405 -msgid "# Interactive mailreader\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no interactive mailreader\n" - "# 1 = use interactive mailreader with headers in file\n" - "# 2 = use interactive mailreader without headers in file\n" -msgstr "# MUA interactif :\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# * 0 = pas de MUA interactif\n" - "# 1 = utiliser un MUA interactif avec les en-têtes du fichier\n" - "# 2 = utiliser un MUA interactif sans les en-têtes du fichier\n" - -#: src/lang.c:2414 -msgid "Remove ~/.article after posting" -msgstr "Effacer ~/.article après le postage" +msgid "# If ON add signature to reposted articles\n" +msgstr "# Si ON, rajoute la signature aux articles repostés\n" -#: src/lang.c:2415 -msgid "# If ON remove ~/.article after posting.\n" -msgstr "# Si ON, effacer ~/.article après le postage.\n" +#: src/lang.c:2378 +#, c-format +msgid "Enter quotation marks, %s or %S for author's initials." +msgstr "Caractère de citation, %s ou %S pour les initiales de l'auteur." + +#: src/lang.c:2379 +msgid "Characters used as quote-marks" +msgstr "Caractère de citation" + +#: src/lang.c:2380 +#, c-format +msgid "# Characters used in quoting to followups and replies.\n" + "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" +msgstr "# Caractères utilisés pour les citations.\n" + "# '_' est remplacé par ' ', %%s, %%S sont remplacés par les intiales\n" + "# de l'auteur auquel vous répondez.\n" + +#: src/lang.c:2386 +msgid "Quoting behavior" +msgstr "Type de citations" + +#: src/lang.c:2387 +msgid "# How quoting should be handled when following up or replying.\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = Nothing special\n" + "# 1 = Compress quotes\n" + "# 2 = Quote signatures\n" + "# 3 = Compress quotes, quote signatures\n" + "# 4 = Quote empty lines\n" + "# * 5 = Compress quotes, quote empty lines\n" + "# 6 = Quote signatures, quote empty lines\n" + "# 7 = Compress quotes, quote signatures, quote empty lines\n" +msgstr "# Type de citations lors des réponses ou des suivis.\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = Rien de spécial\n" + "# 1 = Citations compressées\n" + "# 2 = Citer les signatures\n" + "# 3 = Compresser les citations, citer les signatures\n" + "# 4 = Citer les lignes vides\n" + "# * 5 = Compresser les citations, citer les lignes vides\n" + "# 6 = Citer les signatures, citer les lignes vides\n" + "# 7 = Citations compr., signatures et lignes vides citées\n" + +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 +msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" +msgstr "%A Adresse %D Date %F Adresse+Nom %G groupe %M Message-ID %N Nom %C Prénom" + +#: src/lang.c:2401 +msgid "Quote line when following up" +msgstr "Citation lors d'un suivi" + +#: src/lang.c:2402 +#, c-format +msgid "# Format of quote line when mailing/posting/following-up an article\n" + "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" + "# %%N Full Name %%C First Name %%I Initials\n" +msgstr "# Format de la citation lors de l'envoi/postage/suivi d'un article\n" + "# %%A Adresse\t\t%%D Date\t%%F Adresse+Nom\t%%G groupe\n" + "# %%M Message-ID\t%%N Nom complet\t%%C Prénom\t%%I Initiales\n" + +#: src/lang.c:2409 +msgid "Quote line when cross-posting" +msgstr "Citation lors d'un cross-post" -#: src/lang.c:2419 -msgid "Filename for all posted articles, sets, no filename=do not save." -msgstr "Fichier pour les articles postés, valide, pas de fichier = désactive." +#: src/lang.c:2415 +msgid "Quote line when mailing" +msgstr "Citation lors d'un envoi par mail" #: src/lang.c:2420 -msgid "Filename for posted articles" -msgstr "Fichier pour les articles postés" +msgid "If ON, include User-Agent: header. toggles & sets." +msgstr "Si ON, inclus l'en-tête 'User-Agent:'. change & valide." #: src/lang.c:2421 -msgid "# Filename where to keep all postings (default posted)\n" - "# If no filename is set then postings will not be saved\n" -msgstr "# Fichier où enregistrer les articles postés ('posted' par défaut)\n" - "# Si aucun fichier n'est indiqué, les articles postés ne seront pas\n" - "# enregistrés\n" - -#: src/lang.c:2426 -msgid "Keep all failed articles in ~/dead.articles. toggles & sets." -msgstr "Garder les articles non postés dans ~/dead.articles. change & " - " valide." +msgid "Insert 'User-Agent:' header" +msgstr "Insérer l'en-tête 'User-Agent:'" + +#: src/lang.c:2422 +msgid "# If ON include advertising User-Agent: header\n" +msgstr "# Si ON inclus l'en-tête 'User-Agent:'\n" #: src/lang.c:2427 -msgid "Keep failed arts in ~/dead.articles" -msgstr "Articles non postés dans ~/dead.articles" +msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "Jeu d'encodage pour MIME (p.e. US-ASCII, ISO_8859_1, EUC_KR), valide." #: src/lang.c:2428 -msgid "# If ON keep all failed postings in ~/dead.articles\n" -msgstr "# Si ON, garde tous les articles non postés dans ~/dead.articles\n" +msgid "MM_CHARSET" +msgstr "MM_CHARSET" -#: src/lang.c:2432 -msgid "Do you want to strip unsubscribed groups from .newsrc" -msgstr "Voulez-vous effacer dans newsrc les groupes auxquels vous vous êtes désabonnés" - -#: src/lang.c:2433 -msgid "No unsubscribed groups in newsrc" -msgstr "Pas de groupes désabonnés dans newsrc" - -#: src/lang.c:2434 -msgid "# If ON strip unsubscribed groups from newsrc\n" -msgstr "# Si ON, efface dans newsrc les groupes auxquels vous vous êtes désabonnés\n" +#: src/lang.c:2429 +msgid "# Charset supported locally which is also used for MIME header and\n" + "# Content-Type header.\n" + "# If not set, the value of the environment variable MM_CHARSET is used.\n" + "# Set to US-ASCII or compile time default if neither of them is defined.\n" + "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" + "# mm_charset is considered not displayable and represented as '?'.\n" +msgstr "# Jeu d'encodage supporté localement qui est également utilisé pour les\n" + "# en-têtes MIME ainsi que l'en-tête 'Content-Type'.\n" + "# Si rien n'est déclaré, la valeur de la variable d'environnement MM_CHARSET\n" + "# est utilisée.\n" + "# Utilisez US-ASCII ou utilisez la valeur par défaut lors de la compilation\n" + "# de tin si aucunes des deux n'est définie.\n" + "# Si MIME_STRICT_CHARSET est déclarée au moment de la compilation, le jeu\n" + "# d'encodage autre que mm_charset est considéré comme non disponible et\n" + "# représenté par '?'.\n" #: src/lang.c:2439 -msgid "Remove bogus groups from newsrc" -msgstr "Effacer les groupes corrompus de newsrc" +msgid "MM_NETWORK_CHARSET" +msgstr "MM_NETWORK_CHARSET" #: src/lang.c:2440 -msgid "# What to do with bogus groups in newsrc file\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = keep\n" - "# 1 = remove\n" - "# 2 = highlight with D on selection screen\n" -msgstr "# Que faire des groupes corrompus du fichier newsrc\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# * 0 = garder\n" - "# 1 = effacer\n" - "# 2 = marquer d'un D dans l'écran de sélection\n" - -#: src/lang.c:2448 -msgid "Enter number of seconds until active file will be reread. sets." -msgstr "Durée avant que le fichier active ne soit relu. valide." - -#: src/lang.c:2449 -msgid "Interval in secs to reread active" -msgstr "Durée avant relecture du fichier active" - -#: src/lang.c:2450 -msgid "# Time interval in seconds between rereading the active file (0=never)\n" -msgstr "# Durée (en secondes) avant que le fichier active ne soit relu (0=jamais)\n" - -#: src/lang.c:2455 -msgid "Reconnect to server automatically" -msgstr "Reconnexion automatique au serveur" - -#: src/lang.c:2456 -msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" -msgstr "# Si ON, reconnexion automatique au serveur NNTP si la connexion est rompue\n" +msgid "# Charset used for MIME (Content-Type) header in postings.\n" +msgstr "# Jeu d'encodage utilisé par l'en-tête MIME (Content-Type).\n" + +#: src/lang.c:2444 +msgid "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "Encodage local (p.e. US-ASCII, ISO_8859_1, EUC_KR), valide." + +#: src/lang.c:2445 +msgid "MM_LOCAL_CHARSET" +msgstr "MM_LOCAL_CHARSET" + +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "# Encodage de caractères local disponible.\n" + +#: src/lang.c:2453 +msgid "Mailbox format" +msgstr "Format de la boîte à lettres" + +#: src/lang.c:2454 +msgid "# Format of the mailbox.\n" +msgstr "# Format de la boîte à lettres\n" + +#: src/lang.c:2459 +msgid "MIME encoding in news messages" +msgstr "Encodage MIME dans les messages usenet" #: src/lang.c:2460 -msgid "Create local copies of NNTP overview files. toggles & sets." -msgstr "Créer des copies locales des en-têtes NNTP. change & valide." +msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" + "# for mails and posts, if necessary. QP is efficient for most European\n" + "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" + "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" + "# Russian charsets with a lot of 8bit characters.\n" +msgstr "# Si nécessaire, encodage MIME (8bit, base64, quoted-printable, 7bit) du\n" + "# corps du message pour les mails et les arrticles. QP est suffisant pour\n" + "# la plupart des jeux d'encodage Européens (ISO-8859-X) avec une petite\n" + "# fraction de caractères non-US-ASCII; alors que le Base64 est plus indiqué\n" + "# pour les jeux d'encodage 8bit Est Asiatique, Grec et Russe, car contenant\n" + "# un plus grand nombre de caractères 8bit.\n" + +#: src/lang.c:2468 src/lang.c:2489 +msgid "Don't change unless you know what you are doing. cancels." +msgstr "Ne pas changer sauf si vous savez ce que vous faites. annule." + +#: src/lang.c:2469 +msgid "Use 8bit characters in news headers" +msgstr "Caractères 8bit dans les en-têtes usenet" + +#: src/lang.c:2470 +msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in header are encoded regardless of the value of this\n" + "# parameter unless post_mime_encoding is 8bit as well.\n" +msgstr "# Si ON, les caractères 8bit dans les en-têtes ne sont PAS encodés.\n" + "# OFF par défaut. Donc les caractères 8bit sont encodés par défaut.\n" + "# Les caractères 8bit dans les en-têtes sont encodés indépendamment\n" + "# de la valeur de cette option sauf si post_mime_encoding a comme\n" + "# valeur 8bit.\n" + +#: src/lang.c:2477 +msgid "Auto-view post-processed files toggles, sets, cancels." +msgstr "Visualiser automatiquement les fichiers traités. change, " + "valide, annule." + +#: src/lang.c:2478 +msgid "View post-processed files" +msgstr "Voir les fichiers traités" + +#: src/lang.c:2479 +msgid "# If set, post processed files will be opened in a viewer\n" +msgstr "# Si ON, les fichiers traités seront ouverts\n" + +#: src/lang.c:2484 +msgid "MIME encoding in mail messages" +msgstr "Encodage MIME pour les mails" + +#: src/lang.c:2490 +msgid "Use 8bit characters in mail headers" +msgstr "Caractères 8bits dans en-têtes mail" + +#: src/lang.c:2491 +msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in headers are encoded regardless of the value of this " + "parameter\n" + "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" + "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" + "# turn it ON unless you have some compelling reason.\n" +msgstr "# Si ON, les caractères 8bit dans les en-têtes des mails ne sont PAS " + "encodés.\n" + "# OFF par défaut. Donc les caractères 8bit sont encodés par défaut.\n" + "# Les caractères 8bit dans les en-têtes sont encodés indépendamment\n" + "# de la valeur de cette option sauf si mail_mime_encoding a comme valeur\n" + "# 8bit.\n" + "# Notez que la RFC 2822 interdit les caractères 8bit dans les en-têtes des\n" + "# mails donc nous vous conseillons de ne PAS activer cette option sauf si\n" + "# vous avez une bonne raison.\n" + +#: src/lang.c:2501 +msgid "Strip blanks from ends of lines" +msgstr "Nettoyer les fins de lignes" + +#: src/lang.c:2502 +msgid "# If ON strip blanks from ends of lines for faster display on slow " + "terminals.\n" +msgstr "# Si ON, enlève les blancs présents aux fins de lignes pour un affichage \n" + "# plus rapide sur les terminaux lents.\n" + +#: src/lang.c:2507 +msgid "If ON, use transliteration. toggles & sets." +msgstr "Si ON, utilise 'translit' pour iconv_open(3). change & " + "valide." + +#: src/lang.c:2508 +msgid "Transliteration" +msgstr "Translitération (conversion)" + +#: src/lang.c:2509 +msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" + "# be represented in the in the target character set, it can be approximated\n" + "# through one or several similarly looking characters.\n" +msgstr "# Si ON, utilise l'extension //TRANSLIT. Cela veut dire que lorsqu'un\n" + "# caractère n'est pas disponible dans l'encodage choisi, il peut être\n" + "# remplacé par un ou plusieurs autres caractères similaires.\n" + +#: src/lang.c:2517 +msgid "Send you a Cc/Bcc automatically" +msgstr "S'envoyer automatiquement une copie" + +#: src/lang.c:2518 +msgid "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = No\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc and Bcc\n" +msgstr "# Mettre votre nom dans le champ Cc: et/ou CCi: lors de l'envoi d'un " + "article.\n" + "# Les valeurs possibles sont (la valeur par défaut est indiquée par *) :\n" + "# * 0 = Non\n" + "# 1 = Cc\n" + "# 2 = Cci\n" + "# 3 = Cc et Cci\n" + +#: src/lang.c:2527 +msgid "Enter address elements about which you want to be warned. sets." +msgstr "Être averti de ces éléments. valide." + +#: src/lang.c:2528 +msgid "Spamtrap warning address parts" +msgstr "Pièges à spam dans les adresses" + +#: src/lang.c:2529 +msgid "# A comma-delimited list of address-parts you want to be warned\n" + "# about when trying to reply by email.\n" +msgstr "# Une liste des parties dans les adresses, délimitées par des virgules,\n" + "# que vous souhaitez connaître lors d'une réponse par mail.\n" + +#: src/lang.c:2534 +msgid "Enter default number of days a filter entry will be valid. sets." +msgstr "Entrer la durée d'un filtre (en nombre de jours). valide." + +#: src/lang.c:2535 +msgid "No. of days a filter entry is valid" +msgstr "Durée de validité d'un filtre" + +#: src/lang.c:2536 +msgid "# Number of days a short term filter will be active\n" +msgstr "# Durée (en nombre de jours) de validité d'un filtre\n" + +#: src/lang.c:2540 +msgid "Add posted articles to filter. toggles & sets." +msgstr "Créer un filtre pour les articles postés. change & valide." + +#: src/lang.c:2541 +msgid "Add posted articles to filter" +msgstr "Créer un filtre pour les articles postés" + +#: src/lang.c:2542 +msgid "# If ON add posted articles which start a new thread to filter for\n" + "# highlighting follow-ups\n" +msgstr "# Si ON, crée un filtre pour les articles débutant un nouveau fil\n" + "# afin de mettre en surbrillance les suivis.\n" + +#: src/lang.c:2546 +msgid "The directory where articles/threads are to be saved in mailbox format." +msgstr "Le répertoire où sont enregistrés les articles/fils au format mailbox." + +#: src/lang.c:2547 +msgid "Mail directory" +msgstr "Répertoire mail" + +#: src/lang.c:2548 +msgid "# (-m) directory where articles/threads are saved in mailbox format\n" +msgstr "# (-m) répertoire où sont enregistrés les articles/fils au format mailbox\n" + +#: src/lang.c:2553 +msgid "Save articles in batch mode (-S)" +msgstr "Enregistrer articles en arrière-plan (-S)" + +#: src/lang.c:2554 +msgid "# If ON articles/threads will be saved in batch mode when save -S\n" + "# or mail (-M/-N) is specified on the command line\n" +msgstr "# Si ON, les articles/fils seront enregistrés à l'arrière-plan lorsque\n" + "# l'option -S ou (-M/-N) pour les mails est spécifiée.\n" + +#: src/lang.c:2559 +msgid "The directory where you want articles/threads saved." +msgstr "Le répertoire où vous voulez enregistrer les articles/fils." + +#: src/lang.c:2560 +msgid "Directory to save arts/threads in" +msgstr "Répertoire où enregistrer les articles/fils" + +#: src/lang.c:2561 +msgid "# Directory where articles/threads are saved\n" +msgstr "# Répertoire où sont enregistrés les articles/fils\n" + +#: src/lang.c:2565 +msgid "Auto save article/thread by Archive-name: header. toggles & sets." +msgstr "Enregistrement auto. basé sur l'en-tête Archive-name:. change & " + " valide." + +#: src/lang.c:2566 +msgid "Use Archive-name: header for save" +msgstr "Honorer l'en-tête 'Archive-name:'" + +#: src/lang.c:2567 +msgid "# If ON articles/threads with Archive-name: in mail header will\n" + "# be automatically saved with the Archive-name & part/patch no.\n" +msgstr "# Si ON, les articles/fils avec 'Archive-name:' dans l'en-tête\n" + "# du mail seront enregistrés automatiquement avec l'Archive-name\n" + "# & le numéro de la partie et ou patch.\n" + +#: src/lang.c:2572 +msgid "Mark saved articles/threads as read. toggles, sets, " + "cancels." +msgstr "Marquer lu les articles/fils enregistrés. change, valide, " + " annule." + +#: src/lang.c:2573 +msgid "Mark saved articles/threads as read" +msgstr "Marquer lu les articles/fils enregistrés" + +#: src/lang.c:2574 +msgid "# If ON mark articles that are saved as read\n" +msgstr "# Si ON, marque lu les articles qui sont enregistrés\n" + +#: src/lang.c:2578 +msgid "Do post processing (eg. extract attachments) for saved articles." +msgstr "Post-traiter (p.e. extraire les PJ) les articles enregistrés." + +#: src/lang.c:2579 +msgid "Post process saved articles" +msgstr "Post-traiter les articles enregistrés" + +#: src/lang.c:2580 +msgid "# Perform post processing (saving binary attachments) from saved articles.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no\n" + "# 1 = extract shell archives (shar) only\n" + "# 2 = yes\n" +msgstr "# Post-traitement (enregistrement des PJ) des articles enregistrés.\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# * 0 = non\n" + "# 1 = extraire uniquement les *.shar (archives shell)\n" + "# 2 = oui\n" + +#: src/lang.c:2589 +msgid "Process only unread articles" +msgstr "Traiter uniquement les articles non lus" + +#: src/lang.c:2590 +msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" +msgstr "# Si ON, enregistre/imprime/pipe/envoi articles non lu\n" + "# (excepté les articles marqués)\n" + +#: src/lang.c:2595 +msgid "Print all or just part of header. toggles & sets." +msgstr "Afficher tout ou une partie des en-têtes. change & valide." + +#: src/lang.c:2596 +msgid "Print all headers when printing" +msgstr "Imprimer tous les en-têtes" + +#: src/lang.c:2597 +msgid "# If ON print all of article header otherwise just the important lines\n" +msgstr "# Si ON, imprimer tous les en-têtes, sinon juste les lignes importantes\n" + +#: src/lang.c:2601 +msgid "The printer program with options that is to be used to print articles/threads." +msgstr "Le logiciel d'impression avec options utilisées pour imprimer les articles/" + "fils." + +#: src/lang.c:2602 +msgid "Printer program with options" +msgstr "Logiciel d'impression avec options" + +#: src/lang.c:2603 +msgid "# Print program with parameters used to print articles/threads\n" +msgstr "# Logiciel d'impression avec options utilisées por imprimer les articles/" + "fils\n" + +#: src/lang.c:2609 +msgid "Force redraw after certain commands" +msgstr "Rafraîchir l'écran après certaines actions" + +#: src/lang.c:2610 +msgid "# If ON a screen redraw will always be done after certain external commands\n" +msgstr "# Si ON, un rafraîchissement de l'écran sera toujours effectué après\n" + "# certaines commandes externes\n" + +#: src/lang.c:2614 +msgid "Start editor with line offset. toggles, sets, cancels." +msgstr "Lancer l'éditeur avec une ligne décalée. change, valide, " + " annule." + +#: src/lang.c:2615 +msgid "Start editor with line offset" +msgstr "Lancer l'éditeur avec une ligne décalée" + +#: src/lang.c:2616 +msgid "# If ON editor will be started with cursor offset into the file\n" + "# otherwise the cursor will be positioned at the first line\n" +msgstr "# Si ON, l'éditeur sera lancé avec le curseur décalé\n" + "# sinon, le curseur sera positionné sur la première ligne\n" + +#: src/lang.c:2621 +msgid "Enter %E for editor, %F for filename, %N for line-number, to set." +msgstr "%E pour l'éditeur, %F pour le fichier, %N pour la ligne, valide." + +#: src/lang.c:2622 +msgid "Invocation of your editor" +msgstr "Lancement de votre éditeur" + +#: src/lang.c:2623 +#, c-format +msgid "# Format of editor line including parameters\n" + "# %%E Editor %%F Filename %%N Linenumber\n" +msgstr "# Format des paramètres pour l'éditeur\n" + "# %%E Éditeur %%F Fichier %%N N° de ligne\n" + +#: src/lang.c:2628 +msgid "Enter name and options for external-inews, --internal for internal inews" +msgstr "Nom et options pour l'inews externe, --internal pour l'inews interne" + +#: src/lang.c:2629 +msgid "External inews" +msgstr "Inews externe" + +#: src/lang.c:2630 +msgid "# If --internal use the built in mini inews for posting via NNTP\n" + "# otherwise use an external inews program\n" +msgstr "# Si '--internal', utilise l'inews allégé intégré pour poster via\n" + "# NNTP sinon, utilise un logiciel inews externe\n" + +#: src/lang.c:2634 +msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." +msgstr "%M pour le MUA, %S pour le sujet, %T pour 'to:', %F pour Fichier, " + "valide." + +#: src/lang.c:2635 +msgid "Invocation of your mail command" +msgstr "Lancement de votre client mail" + +#: src/lang.c:2636 +#, c-format +msgid "# Format of mailer line including parameters\n" + "# %%M Mailer %%S Subject %%T To %%F Filename\n" + "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" + "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" +msgstr "# Format des paramètres pour le MUA\n" + "# %%M MUA %%S Sujet %%T 'To:' %%F Fichier\n" + "# p.e. pour utiliser elm comme MUA : elm -s \"%%S\" \"%%T\" < %%F\n" + "# p.e. pour elm interactif : elm -i %%F -s \"%%S\" \"%%T\"\n" + +#: src/lang.c:2644 +msgid "Use interactive mail reader" +msgstr "Utiliser un MUA interactif" + +#: src/lang.c:2645 +msgid "# Interactive mailreader\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no interactive mailreader\n" + "# 1 = use interactive mailreader with headers in file\n" + "# 2 = use interactive mailreader without headers in file\n" +msgstr "# MUA interactif :\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# * 0 = pas de MUA interactif\n" + "# 1 = utiliser un MUA interactif avec les en-têtes du fichier\n" + "# 2 = utiliser un MUA interactif sans les en-têtes du fichier\n" + +#: src/lang.c:2654 +msgid "Remove ~/.article after posting" +msgstr "Effacer ~/.article après le postage" + +#: src/lang.c:2655 +msgid "# If ON remove ~/.article after posting.\n" +msgstr "# Si ON, effacer ~/.article après le postage.\n" + +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" + +#: src/lang.c:2662 +msgid "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" + +#: src/lang.c:2667 +msgid "Filename for all posted articles, sets, no filename=do not save." +msgstr "Fichier pour les articles postés, valide, pas de fichier = désactive." + +#: src/lang.c:2668 +msgid "Filename for posted articles" +msgstr "Fichier pour les articles postés" + +#: src/lang.c:2669 +msgid "# Filename where to keep all postings (default posted)\n" + "# If no filename is set then postings will not be saved\n" +msgstr "# Fichier où enregistrer les articles postés ('posted' par défaut)\n" + "# Si aucun fichier n'est indiqué, les articles postés ne seront pas\n" + "# enregistrés\n" + +#: src/lang.c:2674 +msgid "Keep all failed articles in ~/dead.articles. toggles & sets." +msgstr "Garder les articles non postés dans ~/dead.articles. change & " + " valide." + +#: src/lang.c:2675 +msgid "Keep failed arts in ~/dead.articles" +msgstr "Articles non postés dans ~/dead.articles" + +#: src/lang.c:2676 +msgid "# If ON keep all failed postings in ~/dead.articles\n" +msgstr "# Si ON, garde tous les articles non postés dans ~/dead.articles\n" + +#: src/lang.c:2680 +msgid "Do you want to strip unsubscribed groups from .newsrc" +msgstr "Voulez-vous effacer dans newsrc les groupes auxquels vous vous êtes désabonnés" + +#: src/lang.c:2681 +msgid "No unsubscribed groups in newsrc" +msgstr "Pas de groupes désabonnés dans newsrc" + +#: src/lang.c:2682 +msgid "# If ON strip unsubscribed groups from newsrc\n" +msgstr "# Si ON, efface dans newsrc les groupes auxquels vous vous êtes désabonnés\n" + +#: src/lang.c:2687 +msgid "Remove bogus groups from newsrc" +msgstr "Effacer les groupes corrompus de newsrc" + +#: src/lang.c:2688 +msgid "# What to do with bogus groups in newsrc file\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = keep\n" + "# 1 = remove\n" + "# 2 = highlight with D on selection screen\n" +msgstr "# Que faire des groupes corrompus du fichier newsrc\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# * 0 = garder\n" + "# 1 = effacer\n" + "# 2 = marquer d'un D dans l'écran de sélection\n" + +#: src/lang.c:2696 +msgid "Enter number of seconds until active file will be reread. sets." +msgstr "Durée avant que le fichier active ne soit relu. valide." + +#: src/lang.c:2697 +msgid "Interval in secs to reread active" +msgstr "Durée avant relecture du fichier active" + +#: src/lang.c:2698 +msgid "# Time interval in seconds between rereading the active file (0=never)\n" +msgstr "# Durée (en secondes) avant que le fichier active ne soit relu (0=jamais)\n" + +#: src/lang.c:2703 +msgid "Reconnect to server automatically" +msgstr "Reconnexion automatique au serveur" + +#: src/lang.c:2704 +msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" +msgstr "# Si ON, reconnexion automatique au serveur NNTP si la connexion est rompue\n" + +#: src/lang.c:2708 +msgid "Create local copies of NNTP overview files. toggles & sets." +msgstr "Créer des copies locales des en-têtes NNTP. change & valide." + +#: src/lang.c:2709 +msgid "Cache NNTP overview files locally" +msgstr "Cache local des en-têtes NNTP" + +#: src/lang.c:2710 +msgid "# If ON, create local copies of NNTP overview files.\n" +msgstr "# Si ON, crée une copie locale des en-têtes NNTP.\n" + +#: src/lang.c:2714 +msgid "Enter format string. sets, cancels." +msgstr "Formatage des dates. valide, annule." + +#: src/lang.c:2715 +msgid "Format string for display of dates" +msgstr "Format des dates affichées" + +#: src/lang.c:2716 +msgid "# Format string for date representation\n" +msgstr "# Format des dates affichées\n" + +#: src/lang.c:2722 +msgid "Unicode normalization form" +msgstr "Normalisation d'Unicode" + +#: src/lang.c:2723 +msgid "# Unicode normalization form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" +msgstr "# Normalisation d'Unicode\n" + "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" + "# 0 = Aucune\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" + +#: src/lang.c:2735 +msgid "Render BiDi" +msgstr "Rendu BiDi" + +#: src/lang.c:2736 +msgid "# If ON, bi-directional text is rendered by tin\n" +msgstr "# Si ON, le texte bi-directionnel est affiché par tin\n" + +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "GroupMarkUnselArtRead automatiquement" + +#: src/lang.c:2752 +msgid "Delete post-process files" +msgstr "Effacer les fichiers traités" + +#: src/lang.c:2757 +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "Fichier pour les articles postés, valide, pas de fichier = désactive." + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "Boîte aux lettres pour les emails envoyés" + +#: src/lang.c:2763 +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "En-tête 'Followup-To:' pour ce(s) groupe(s). valide, annule." + +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "En-tête 'Followup-To:'" + +#: src/lang.c:2769 +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "Adresse mail par défaut (et nom complet). valide, annule." + +#: src/lang.c:2776 +msgid "Path and options for ispell-like spell-checker. sets, cancels." +msgstr "Chemin et options pour ispell (ou autre correcteur). valide, " + "annule." + +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "Programme 'Ispell'" + +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "Lorsque le groupe est une liste de diffusion, envoyer les réponses à cette " + "adresse email." + +#: src/lang.c:2784 +msgid "Mailing list address" +msgstr "Adresse email de la liste de diffusion" + +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "Faire suivre les articles en pièce-jointe" + +#: src/lang.c:2795 +msgid "A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "Une liste des 'Content-Type' MIME majeur/mineur séparée par des virgules. " + " annule." + +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "Quels types MIME seront enregistrés" + +#: src/lang.c:2801 +msgid "Value of the Organization: header. sets, cancels." +msgstr "Contenu de l'en-tête 'Organisation:'. valide, annule." + +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "En-tête 'Organisation:'" + +#: src/lang.c:2807 +msgid "Filename for saved articles. sets, cancels." +msgstr "Nom des articles sauvegardés. valide, annule." + +#: src/lang.c:2808 +msgid "savefile" +msgstr "savefile" -#: src/lang.c:2461 -msgid "Cache NNTP overview files locally" -msgstr "Cache local des en-têtes NNTP" +#: src/lang.c:2813 src/lang.c:2837 +#, fuzzy +msgid "Scope for the filter rule. sets, cancels." +msgstr "Formatage des dates. valide, annule." -#: src/lang.c:2462 -msgid "# If ON, create local copies of NNTP overview files.\n" -msgstr "# Si ON, crée une copie locale des en-têtes NNTP.\n" +#: src/lang.c:2814 +#, fuzzy +msgid "Quick (1 key) select filter scope" +msgstr "Ajouter rapidement une règle ?" -#: src/lang.c:2466 -msgid "Enter format string. sets, cancels." -msgstr "Formatage des dates. valide, annule." +#: src/lang.c:2819 src/lang.c:2843 +#, fuzzy +msgid "Header for filter rule. sets, cancels." +msgstr "Nom des articles sauvegardés. valide, annule." -#: src/lang.c:2467 -msgid "Format string for display of dates" -msgstr "Format des dates affichées" +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" -#: src/lang.c:2468 -msgid "# Format string for date representation\n" -msgstr "# Format des dates affichées\n" +#: src/lang.c:2825 src/lang.c:2849 +#, fuzzy +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "Contenu de l'en-tête 'Organisation:'. valide, annule." -#: src/lang.c:2474 -msgid "Unicode normalization form" -msgstr "Normalisation d'Unicode" +#: src/lang.c:2826 +#, fuzzy +msgid "Quick (1 key) select filter case" +msgstr "Ajouter rapidement une règle ?" -#: src/lang.c:2475 -msgid "# Unicode normalization form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" -msgstr "# Normalisation d'Unicode\n" - "# Les valeurs possibles sont (celle par défaut est marquée par *) :\n" - "# 0 = Aucune\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" +#: src/lang.c:2831 src/lang.c:2855 +#, fuzzy +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "Insérer cet en-tête lors du postage. valide, annule." + +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" -#: src/lang.c:2487 -msgid "Render BiDi" -msgstr "Rendu BiDi" +#: src/lang.c:2838 +#, fuzzy +msgid "Quick (1 key) kill filter scope" +msgstr "Ajouter rapidement un filtre ?" -#: src/lang.c:2488 -msgid "# If ON, bi-directional text is rendered by tin\n" -msgstr "# Si ON, le texte bi-directionnel est affiché par tin\n" +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" -#: src/misc.c:3750 +#: src/lang.c:2850 +#, fuzzy +msgid "Quick (1 key) kill filter case" +msgstr "Ajouter rapidement un filtre ?" + +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" + +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "Utilise cet encodage si aucun n'est spécifié, pour changer." + +#: src/lang.c:2863 +msgid "UNDECLARED_CHARSET" +msgstr "UNDECLARED_CHARSET" + +#: src/lang.c:2869 +msgid "Add this text at the start of the message body. sets, cancels." +msgstr "Ajouter ce texte au début du message. valide, annule." + +#: src/lang.c:2870 +msgid "X_Body" +msgstr "X_Body" + +#: src/lang.c:2875 +msgid "Insert this header when posting. sets, cancels." +msgstr "Insérer cet en-tête lors du postage. valide, annule." + +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "X_Headers" + +#: src/lang.c:2881 +msgid "Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "Si ON, inclus un en-tête 'X-Comment-To:'. change & valide." + +#: src/lang.c:2882 +msgid "Insert 'X-Comment-To:' header" +msgstr "Insérer l'en-tête 'X-Comment-To:'" + +#: src/misc.c:3754 #, c-format -msgid "Version: %s %s release %s (\"%s\") %s %s\n" -msgstr "Version : %s %s release %s (\"%s\") %s %s\n" +msgid "Version: %s %s release %s (\"%s\") %s %s\n" +msgstr "Version : %s %s release %s (\"%s\") %s %s\n" -#: src/misc.c:3753 +#: src/misc.c:3757 #, c-format -msgid "Version: %s %s release %s (\"%s\")\n" -msgstr "Version : %s %s release %s (\"%s\")\n" +msgid "Version: %s %s release %s (\"%s\")\n" +msgstr "Version : %s %s release %s (\"%s\")\n" -#: src/newsrc.c:430 -msgid "Unreachable?\n" -msgstr "Inacessible ?\n" +#: src/newsrc.c:453 +msgid "Unreachable?\n" +msgstr "Inacessible ?\n" -#: src/nntplib.c:824 +#: src/nntplib.c:819 #, c-format -msgid "\n" - "Server timed out, trying reconnect # %d\n" -msgstr "\n" - "Connexion au serveur expirée, reconnexion # %d\n" +msgid "\n" + "Server timed out, trying reconnect # %d\n" +msgstr "\n" + "Connexion au serveur expirée, reconnexion # %d\n" -#: src/nntplib.c:842 src/nntplib.c:1630 -msgid "Rejoin current group\n" -msgstr "Rejoindre le groupe actuel\n" +#: src/nntplib.c:855 src/nntplib.c:1830 +msgid "Rejoin current group\n" +msgstr "Rejoindre le groupe actuel\n" -#: src/nntplib.c:849 src/nntplib.c:1637 +#: src/nntplib.c:863 src/nntplib.c:1838 #, c-format -msgid "Read (%s)\n" -msgstr "Lecture (%s)\n" +msgid "Read (%s)\n" +msgstr "Lecture (%s)\n" -#: src/nntplib.c:851 +#: src/nntplib.c:865 #, c-format -msgid "Resend last command (%s)\n" -msgstr "Réenvoyer la dernière commande (%s)\n" +msgid "Resend last command (%s)\n" +msgstr "Réenvoyer la dernière commande (%s)\n" -# TRANSLATION MISSING -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 -msgid "MOTD: " -msgstr "" +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "CAPABILITIES n'a pas annoncé READER" + +#: src/nntplib.c:1979 +msgid "MOTD: " +msgstr "MOTD: " -#: src/nrctbl.c:170 +#: src/nrctbl.c:175 #, c-format -msgid "couldn't expand %s\n" -msgstr "impossible de décompacter %s\n" +msgid "couldn't expand %s\n" +msgstr "impossible de décompacter %s\n" -# TRANSLATION MISSING -#: src/post.c:1171 +#: src/post.c:1307 #, c-format -msgid "Line %d is longer than 998 octets and should be folded, but\n" - "encoding is neither set to %s nor to %s\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is neither set to %s nor to %s\n" +msgstr "La ligne %d dépasse les 998 octets et devrait être réduite, mais\n" + "l'encodage n'est ni %s ni %s\n" -# TRANSLATION MISSING -#: src/post.c:1176 +#: src/post.c:1312 #, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" - "posting doesn't contain any 8bit chars and thus folding won't happen\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" + "posting doesn't contain any 8bit chars and thus folding won't happen\n" +msgstr "La ligne %d dépasse les 998 octets et devrait être réduite, mais\n" + "l'encodage est %s sans que l'option MIME_BREAK_LONG_LINES ne soit\n" + "activée ou l'article ne contient pas de caractères 8 bits donc pas\n" + "besoin de réduire la ligne\n" -# TRANSLATION MISSING -#: src/post.c:1178 +#: src/post.c:1314 #, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is not set to %s\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is not set to %s\n" +msgstr "La ligne %d dépasse les 998 octets et devrait être réduite, mais\n" + "l'encodage n'est pas %s\n" -#: src/post.c:1993 +#: src/post.c:2278 #, c-format -msgid "Posting: %.*s ..." -msgstr "Postage : %.*s ..." +msgid "Posting: %.*s ..." +msgstr "Postage : %.*s ..." #. Check if okay to read -#: src/read.c:211 -msgid "Aborting read, please wait..." -msgstr "Annulation de la lecture, un moment svp..." - -#: src/read.c:358 -msgid "Aborted read\n" -msgstr "Lecture annulée\n" - -#: src/read.c:414 -msgid "Draining\n" -msgstr "Purge\n" - -#. Don't hash the initial '<' -#: src/refs.c:251 -msgid "unchanged" -msgstr "non changé" - -#: src/refs.c:609 -msgid "[- Unavailable -]" -msgstr "[- Indisponible -]" +#: src/read.c:197 +msgid "Aborting read, please wait..." +msgstr "Annulation de la lecture, un moment svp..." + +#: src/read.c:344 +msgid "Aborted read\n" +msgstr "Lecture annulée\n" + +#: src/read.c:399 +msgid "Draining\n" +msgstr "Purge\n" + +#: src/refs.c:232 +msgid "unchanged" +msgstr "inchangé" + +#: src/refs.c:599 +msgid "[- Unavailable -]" +msgstr "[- Indisponible -]" #. #. * preamble #. * TODO: -> lang.c #. -#: src/rfc2047.c:1201 +#: src/rfc2047.c:1287 #, c-format -msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" - "are reading this prefix, your mail reader probably has not yet been modified\n" - "to understand the new format, and some of what follows may look strange.\n" - "\n" -msgstr "Ce message a été composé avec le format MIME 'multipart/mixed'. Si vous\n" - "lisez ceci, votre MUA ne peut probablement pas lire ce nouveau format, donc\n" - "ce qui suit peut paraître assez bizarre.\n" - "\n" - -#: src/save.c:972 -msgid "bytes" -msgstr "octets" - -#: src/select.c:379 -msgid "unread" -msgstr "non lu(s)" - -#: src/select.c:379 -msgid "all" -msgstr "tout" - -#: src/select.c:549 src/select.c:551 -msgid " R" -msgstr " R" - -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 -#, c-format -msgid "Can't run slrnface: Environment variable %s not found." -msgstr "Lancement de slrnface impossible : Variable %s introuvable." - -#: src/xface.c:99 src/xface.c:131 -#, c-format -msgid "Can't run slrnface: failed to create %s" -msgstr "Lancement de slrnface impossible : échec de la création de %s" - -#: src/xface.c:109 -msgid "This directory is used to create named pipes for communication between\n" - "slrnface and its parent process. It should normally be empty because\n" - "the pipe is deleted right after it has been opened by both processes.\n" - "\n" - "File names generated by slrnface have the form \"hostname.pid\". It is\n" - "probably an error if they linger here longer than a fraction of a second.\n" - "\n" - "However, if the directory is mounted from an NFS server, you might see\n" - "special files created by your NFS server while slrnface is running.\n" - "Do not try to remove them.\n" -msgstr "Ce répertoire est utilisé pour créer les pipes de communication entre\n" - "slrnface et ses processus pères. Il devrait être normalement vide car\n" - "le pipe est effacé juste après son ouverture entre les processus.\n" - "\n" - -#: src/xface.c:123 -msgid "Can't run slrnface: couldn't construct fifo name." -msgstr "Lancement de Slrnface impossible : création du nom fifo impossible." - -#: src/xface.c:162 +msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" + "are reading this prefix, your mail reader probably has not yet been modified\n" + "to understand the new format, and some of what follows may look strange.\n" + "\n" +msgstr "Ce message a été composé avec le format MIME 'multipart/mixed'. Si vous\n" + "lisez ceci, votre MUA ne peut probablement pas lire ce nouveau format, donc\n" + "ce qui suit peut paraître assez bizarre.\n" + "\n" + +#: src/save.c:1045 +msgid "bytes" +msgstr "octets" + +#: src/select.c:378 +msgid "unread" +msgstr "non lu(s)" + +#: src/select.c:378 +msgid "all" +msgstr "tout" + +#: src/select.c:554 src/select.c:556 +msgid " R" +msgstr " R" + +#: src/xface.c:70 +msgid "Can't run slrnface: Not running in a xterm." +msgstr "Lancement de Slrnface impossible : ce n'est pas un xterm." + +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 +#, c-format +msgid "Can't run slrnface: Environment variable %s not found." +msgstr "Lancement de slrnface impossible : Variable %s introuvable." + +#: src/xface.c:111 src/xface.c:143 +#, c-format +msgid "Can't run slrnface: failed to create %s" +msgstr "Lancement de slrnface impossible : échec de la création de %s" + +#: src/xface.c:121 +msgid "This directory is used to create named pipes for communication between\n" + "slrnface and its parent process. It should normally be empty because\n" + "the pipe is deleted right after it has been opened by both processes.\n" + "\n" + "File names generated by slrnface have the form \"hostname.pid\". It is\n" + "probably an error if they linger here longer than a fraction of a second.\n" + "\n" + "However, if the directory is mounted from an NFS server, you might see\n" + "special files created by your NFS server while slrnface is running.\n" + "Do not try to remove them.\n" +msgstr "Ce répertoire est utilisé pour créer les pipes de communication entre\n" + "slrnface et ses processus pères. Il devrait être normalement vide car\n" + "le pipe est effacé juste après son ouverture entre les processus.\n" + "\n" + +#: src/xface.c:135 +msgid "Can't run slrnface: couldn't construct fifo name." +msgstr "Lancement de Slrnface impossible : création du nom fifo impossible." + +#: src/xface.c:174 #, c-format -msgid "Slrnface abnormally exited, code %d." -msgstr "Fermeture anormale de Slrnface, code %d." +msgid "Slrnface abnormally exited, code %d." +msgstr "Fermeture anormale de Slrnface, code %d." -#: src/xface.c:206 +#: src/xface.c:218 #, c-format -msgid "Slrnface failed: %s." -msgstr "Échec de Slrnface : %s." +msgid "Slrnface failed: %s." +msgstr "Échec de Slrnface : %s." Binary files tin-1.8.3/po/ru.gmo and tin-2.0.0/po/ru.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/ru.po tin-2.0.0/po/ru.po --- tin-1.8.3/po/ru.po 2007-02-01 13:58:04.000000000 +0100 +++ tin-2.0.0/po/ru.po 2011-08-22 18:32:42.511444508 +0200 @@ -1,6399 +1,7535 @@ -# Russian translations for tin package -# Copyright (C) 2005 Free Software Foundation, Inc. +# Russian translations for tin. # Andrei Emeltchenko , 2005. # -msgid "" -msgstr "Project-Id-Version: tin 1.8.2\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-02-01 13:57+0100\n" - "PO-Revision-Date: 2006-04-21 13:55+0200\n" - "Last-Translator: Andrei Emeltchenko \n" - "Language-Team: Russian \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=KOI8-R\n" - "Content-Transfer-Encoding: 8bit\n" - "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" - "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +msgid "" +msgstr "Project-Id-Version: tin 1.8.2\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2011-08-22 18:32+0200\n" + "PO-Revision-Date: 2006-04-21 15:39+0200\n" + "Last-Translator: Andrei Emeltchenko \n" + "Language-Team: Russian \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=KOI8-R\n" + "Content-Transfer-Encoding: 8bit\n" + "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" + "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 +#, c-format +msgid "attribute with no scope: %s" +msgstr "" + +#: src/attrib.c:884 +#, fuzzy +msgid "Processing attributes... " +msgstr "úÁÐÉÓØ ÆÁÊÌÁ ÁÔÒÉÂÕÔÏ×..." + +#: src/attrib.c:1102 +#, c-format +msgid "# Do not edit this comment block\n" + "#\n" +msgstr "# îÅ ÒÅÄÁËÔÉÒÕÊÔÅ ÜÔÏÔ ÂÌÏË ËÏÍÍÅÎÔÁÒÉÅ×\n" + "#\n" -#: src/art.c:1534 +#: src/attrib.c:1103 #, c-format -msgid "%d Bad overview record (%d fields) '%s'" -msgstr "" +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" +msgstr "# scope=óôòïëá (ÎÁÐÒ. alt.*,!alt.bin*) [mandatory]\n" -#: src/attrib.c:649 +#: src/attrib.c:1104 #, c-format -msgid "# Do not edit this comment block\n" - "#\n" -msgstr "# îÅ ÒÅÄÁËÔÉÒÕÊÔÅ ÜÔÏÔ ÂÌÏË ËÏÍÍÅÎÔÁÒÉÅ×\n" - "#\n" +msgid "# add_posted_to_filter=ON/OFF\n" +msgstr "" -#: src/attrib.c:650 +#: src/attrib.c:1105 #, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" -msgstr "# scope=óôòïëá (ÎÁÐÒ. alt.*,!alt.bin*) [mandatory]\n" +msgid "# advertising=ON/OFF\n" +msgstr "" -#: src/attrib.c:651 +#: src/attrib.c:1106 #, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" -msgstr "# maildir=óôòïëá (ÎÁÐÒ. ~/Mail)\n" +msgid "# alternative_handling=ON/OFF\n" +msgstr "" -#: src/attrib.c:652 +#: src/attrib.c:1107 #, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" -msgstr "# savedir=óôòïëá (ÎÁÐÒ. ~user/News)\n" +msgid "# ask_for_metamail=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1108 +#, fuzzy, c-format +msgid "# auto_cc_bcc=NUM\n" +msgstr "# show_author=þéóìï\n" -#: src/attrib.c:653 +#: src/attrib.c:1109 #, c-format -msgid "# savefile=STRING (ie. =linux)\n" -msgstr "# savefile=óôòïëá (ÎÁÐÒ. =linux)\n" +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "" -#: src/attrib.c:654 +#: src/attrib.c:1110 +#, fuzzy, c-format +msgid "# auto_list_thread=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1111 #, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" -msgstr "# sigfile=óôòïëá (ÎÁÐÒ. $var/sig)\n" +msgid "# auto_save=ON/OFF\n" +msgstr "" -#: src/attrib.c:655 +#: src/attrib.c:1112 #, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" -msgstr "# organization=óôòïëá (ÅÓÌÉ ÎÁÞÉÎÁÅÔÓÑ Ó '/', ÔÏ ÐÒÏÞÉÔÁÔØ ÉÚ ÆÁÊÌÁ)\n" +msgid "# auto_select=ON/OFF\n" +msgstr "" -#: src/attrib.c:656 +#: src/attrib.c:1113 #, c-format -msgid "# followup_to=STRING\n" -msgstr "# followup_to=óôòïëá\n" +msgid "# batch_save=ON/OFF\n" +msgstr "" -#: src/attrib.c:657 +#: src/attrib.c:1114 #, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" -msgstr "# mailing_list=óôòïëá (ÎÁÐÒ. majordomo@example.org)\n" +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "" -#: src/attrib.c:658 +#: src/attrib.c:1115 #, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" -msgstr "# x_headers=óôòïëá (ÎÁÐÒ. ~/.tin/extra-headers)\n" +msgid "# delete_tmp_files=ON/OFF\n" +msgstr "" -#: src/attrib.c:659 +#: src/attrib.c:1116 #, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" -msgstr "# x_body=óôòïëá (ÎÁÐÒ. ~/.tin/extra-body-text)\n" +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" +msgstr "" -#: src/attrib.c:660 +#: src/attrib.c:1117 #, c-format -msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" -msgstr "# from=óôòïëá (ÄÏÂÁרÔÅ ÖÅÌÁÅÍÕÀ ÓÔÒÏËÕ From:, ÎÅ ÉÓÐÏÌØÚÕÊÔÅ ËÁ×ÙÞËÉ)\n" +msgid "# fcc=STRING (eg. =mailbox)\n" +msgstr "# fcc=óôòïëá (ÎÁÐÒ. =mailbox)\n" -#: src/attrib.c:661 +#: src/attrib.c:1118 #, c-format -msgid "# news_quote_format=STRING\n" -msgstr "# news_quote_format=óôòïëá\n" +msgid "# followup_to=STRING\n" +msgstr "# followup_to=óôòïëá\n" -#: src/attrib.c:662 +#: src/attrib.c:1119 #, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" -msgstr "# quote_chars=óôòïëá (%%s, %%S ÄÌÑ ÉÎÉÃÉÁÌÏ×)\n" +msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" +msgstr "# from=óôòïëá (ÄÏÂÁרÔÅ ÖÅÌÁÅÍÕÀ ÓÔÒÏËÕ From:, ÎÅ ÉÓÐÏÌØÚÕÊÔÅ ËÁ×ÙÞËÉ)\n" -#: src/attrib.c:663 +#: src/attrib.c:1120 #, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" -msgstr "# mime_types_to_save=óôòïëá (ÎÁÐÒ. image/*,!image/bmp)\n" +msgid "# group_catchup_on_exit=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1121 +#, fuzzy, c-format +msgid "# mail_8bit_header=ON/OFF\n" +msgstr "# thread_perc=þéóìï\n" -#: src/attrib.c:665 +#: src/attrib.c:1122 #, c-format -msgid "# ispell=STRING\n" -msgstr "# ispell=óôòïëá\n" +msgid "# mail_mime_encoding=supported_encoding" +msgstr "" -#: src/attrib.c:667 +#: src/attrib.c:1130 #, c-format -msgid "# auto_select=ON/OFF\n" -msgstr "" +msgid "# ispell=STRING\n" +msgstr "# ispell=óôòïëá\n" -#: src/attrib.c:668 +#: src/attrib.c:1132 #, c-format -msgid "# auto_save=ON/OFF\n" -msgstr "" +msgid "# maildir=STRING (eg. ~/Mail)\n" +msgstr "# maildir=óôòïëá (ÎÁÐÒ. ~/Mail)\n" -#: src/attrib.c:669 +#: src/attrib.c:1133 #, c-format -msgid "# batch_save=ON/OFF\n" -msgstr "" +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" +msgstr "# mailing_list=óôòïëá (ÎÁÐÒ. majordomo@example.org)\n" -#: src/attrib.c:670 +#: src/attrib.c:1134 #, c-format -msgid "# delete_tmp_files=ON/OFF\n" -msgstr "" +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgstr "# mime_types_to_save=óôòïëá (ÎÁÐÒ. image/*,!image/bmp)\n" -#: src/attrib.c:671 +#: src/attrib.c:1135 +#, fuzzy, c-format +msgid "# mark_ignore_tags=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1136 +#, fuzzy, c-format +msgid "# mark_saved_read=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1137 #, c-format -msgid "# show_only_unread=ON/OFF\n" -msgstr "" +msgid "# mime_forward=ON/OFF\n" +msgstr "" -#: src/attrib.c:672 +#: src/attrib.c:1139 #, c-format -msgid "# thread_arts=NUM" -msgstr "# thread_arts=þéóìï" +msgid "# mm_network_charset=supported_charset" +msgstr "# mm_network_charset=ÐÏÄÄÅÒÖÉ×ÁÅÍÁÑ_ËÏÄÉÒÏ×ËÁ" -#: src/attrib.c:679 +#: src/attrib.c:1146 #, c-format -msgid "# thread_perc=NUM\n" -msgstr "# thread_perc=þéóìï\n" +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgstr "# undeclared_charset=óôòïëá (ÐÏ ÕÍÏÌÞÁÎÉÀ US-ASCII)\n" + +#: src/attrib.c:1148 +#, fuzzy, c-format +msgid "# news_headers_to_display=STRING\n" +msgstr "# news_quote_format=óôòïëá\n" + +#: src/attrib.c:1149 +#, fuzzy, c-format +msgid "# news_headers_to_not_display=STRING\n" +msgstr "# news_quote_format=óôòïëá\n" -#: src/attrib.c:680 +#: src/attrib.c:1150 #, c-format -msgid "# show_author=NUM\n" -msgstr "# show_author=þéóìï\n" +msgid "# news_quote_format=STRING\n" +msgstr "# news_quote_format=óôòïëá\n" -#: src/attrib.c:686 +#: src/attrib.c:1151 #, c-format -msgid "# show_info=NUM\n" -msgstr "# show_info=þéóìï\n" +msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgstr "# organization=óôòïëá (ÅÓÌÉ ÎÁÞÉÎÁÅÔÓÑ Ó '/', ÔÏ ÐÒÏÞÉÔÁÔØ ÉÚ ÆÁÊÌÁ)\n" -#: src/attrib.c:692 +#: src/attrib.c:1152 +#, fuzzy, c-format +msgid "# pos_first_unread=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1153 +#, fuzzy, c-format +msgid "# post_8bit_header=ON/OFF\n" +msgstr "# thread_perc=þéóìï\n" + +#: src/attrib.c:1154 #, c-format -msgid "# sort_art_type=NUM\n" -msgstr "# sort_art_type=þéóìï\n" +msgid "# post_mime_encoding=supported_encoding" +msgstr "" + +#: src/attrib.c:1161 +#, fuzzy, c-format +msgid "# post_process_type=NUM\n" +msgstr "# post_proc_type=þéóìï\n" + +#: src/attrib.c:1166 +#, fuzzy, c-format +msgid "# post_process_view=ON/OFF\n" +msgstr "# post_proc_type=þéóìï\n" -#: src/attrib.c:710 +#: src/attrib.c:1167 #, c-format -msgid "# sort_threads_type=NUM\n" -msgstr "# sort_threads_type=þéóìï\n" +msgid "# quick_kill_scope=STRING (ie. talk.*)\n" +msgstr "# quick_kill_scope=óôòïëá (ÎÁÐÒ. talk.*)\n" -#: src/attrib.c:715 +#: src/attrib.c:1168 #, c-format -msgid "# post_proc_type=NUM\n" -msgstr "# post_proc_type=þéóìï\n" +msgid "# quick_kill_expire=ON/OFF\n" +msgstr "" -#: src/attrib.c:720 +#: src/attrib.c:1169 #, c-format -msgid "# quick_kill_scope=STRING (ie. talk.*)\n" -msgstr "# quick_kill_scope=óôòïëá (ÎÁÐÒ. talk.*)\n" +msgid "# quick_kill_case=ON/OFF\n" +msgstr "" -#: src/attrib.c:721 +#: src/attrib.c:1170 #, c-format -msgid "# quick_kill_expire=ON/OFF\n" -msgstr "" +msgid "# quick_kill_header=NUM\n" +msgstr "# quick_kill_header=þéóìï\n" -#: src/attrib.c:722 +#: src/attrib.c:1171 src/attrib.c:1180 +#, fuzzy, c-format +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "# 0=subj (ÕÞÉÔÙ×ÁÔØ ÒÅÇÉÓÔÒ) 1=subj (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)\n" + +#: src/attrib.c:1172 src/attrib.c:1181 +#, fuzzy, c-format +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "# 2=from (ÕÞÉÔÙ×ÁÔØ ÒÅÇÉÓÔÒ) 3=from (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)\n" + +#: src/attrib.c:1173 src/attrib.c:1182 #, c-format -msgid "# quick_kill_case=ON/OFF\n" -msgstr "" +msgid "# 4=Message-ID: & full References: line\n" +msgstr "" -#: src/attrib.c:723 +#: src/attrib.c:1174 src/attrib.c:1183 #, c-format -msgid "# quick_kill_header=NUM\n" -msgstr "# quick_kill_header=þéóìï\n" +msgid "# 5=Message-ID: & last References: entry only\n" +msgstr "" -#: src/attrib.c:724 src/attrib.c:731 +#: src/attrib.c:1175 src/attrib.c:1184 #, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" -msgstr "# 0=subj (ÕÞÉÔÙ×ÁÔØ ÒÅÇÉÓÔÒ) 1=subj (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)\n" +msgid "# 6=Message-ID: entry only 7=Lines:\n" +msgstr "" -#: src/attrib.c:725 src/attrib.c:732 +#: src/attrib.c:1176 #, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" -msgstr "# 2=from (ÕÞÉÔÙ×ÁÔØ ÒÅÇÉÓÔÒ) 3=from (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)\n" +msgid "# quick_select_scope=STRING\n" +msgstr "# quick_select_scope=óôòïëá\n" -#: src/attrib.c:726 src/attrib.c:733 +#: src/attrib.c:1177 #, c-format -msgid "# 4=msgid 5=lines\n" -msgstr "# 4=msgid 5=ÓÔÒÏËÉ\n" +msgid "# quick_select_expire=ON/OFF\n" +msgstr "" -#: src/attrib.c:727 +#: src/attrib.c:1178 #, c-format -msgid "# quick_select_scope=STRING\n" -msgstr "# quick_select_scope=óôòïëá\n" +msgid "# quick_select_case=ON/OFF\n" +msgstr "" -#: src/attrib.c:728 +#: src/attrib.c:1179 #, c-format -msgid "# quick_select_expire=ON/OFF\n" -msgstr "" +msgid "# quick_select_header=NUM\n" +msgstr "# quick_select_header=þéóìï\n" -#: src/attrib.c:729 +#: src/attrib.c:1185 #, c-format -msgid "# quick_select_case=ON/OFF\n" -msgstr "" +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgstr "# quote_chars=óôòïëá (%%s, %%S ÄÌÑ ÉÎÉÃÉÁÌÏ×)\n" + +#: src/attrib.c:1187 +#, fuzzy, c-format +msgid "# print_header=ON/OFF\n" +msgstr "# thread_perc=þéóìï\n" + +#: src/attrib.c:1189 +#, fuzzy, c-format +msgid "# process_only_unread=ON/OFF\n" +msgstr "# show_author=þéóìï\n" -#: src/attrib.c:730 +#: src/attrib.c:1190 +#, fuzzy, c-format +msgid "# prompt_followupto=ON/OFF\n" +msgstr "# followup_to=óôòïëá\n" + +#: src/attrib.c:1191 #, c-format -msgid "# quick_select_header=NUM\n" -msgstr "# quick_select_header=þéóìï\n" +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "# savedir=óôòïëá (ÎÁÐÒ. ~user/News)\n" -#: src/attrib.c:734 +#: src/attrib.c:1192 #, c-format -msgid "# x_comment_to=ON/OFF\n" -msgstr "" +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "# savefile=óôòïëá (ÎÁÐÒ. =linux)\n" -#: src/attrib.c:735 +#: src/attrib.c:1193 #, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" -msgstr "# fcc=óôòïëá (ÎÁÐÒ. =mailbox)\n" +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "# sigfile=óôòïëá (ÎÁÐÒ. $var/sig)\n" -#: src/attrib.c:736 +#: src/attrib.c:1194 #, c-format -msgid "# tex2iso_conv=ON/OFF\n" -msgstr "" +msgid "# show_author=NUM\n" +msgstr "# show_author=þéóìï\n" -#: src/attrib.c:737 +#: src/attrib.c:1200 #, c-format -msgid "# mime_forward=ON/OFF\n" -msgstr "" +msgid "# show_info=NUM\n" +msgstr "# show_info=þéóìï\n" + +#: src/attrib.c:1206 +#, fuzzy, c-format +msgid "# show_signatures=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1207 +#, fuzzy, c-format +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1208 +#, fuzzy, c-format +msgid "# sigdashes=ON/OFF\n" +msgstr "# show_author=þéóìï\n" -#: src/attrib.c:739 +#: src/attrib.c:1209 +#, fuzzy, c-format +msgid "# signature_repost=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1210 +#, fuzzy, c-format +msgid "# sort_article_type=NUM\n" +msgstr "# sort_art_type=þéóìï\n" + +#: src/attrib.c:1228 #, c-format -msgid "# mm_network_charset=supported_charset" -msgstr "# mm_network_charset=ÐÏÄÄÅÒÖÉ×ÁÅÍÁÑ_ËÏÄÉÒÏ×ËÁ" +msgid "# sort_threads_type=NUM\n" +msgstr "# sort_threads_type=þéóìï\n" -#: src/attrib.c:746 +#: src/attrib.c:1237 +#, fuzzy, c-format +msgid "# start_editor_offset=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1238 #, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" -msgstr "# undeclared_charset=óôòïëá (ÐÏ ÕÍÏÌÞÁÎÉÀ US-ASCII)\n" +msgid "# tex2iso_conv=ON/OFF\n" +msgstr "" -#: src/attrib.c:748 +#: src/attrib.c:1239 #, c-format -msgid "#\n" - "# Note that it is best to put general (global scoping)\n" -msgstr "" +msgid "# thread_catchup_on_exit=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1240 +#, fuzzy, c-format +msgid "# thread_articles=NUM" +msgstr "# thread_arts=þéóìï" -#: src/attrib.c:749 +#: src/attrib.c:1247 #, c-format -msgid "# entries first followed by group specific entries.\n" - "#\n" -msgstr "" +msgid "# thread_perc=NUM\n" +msgstr "# thread_perc=þéóìï\n" -#: src/attrib.c:750 +#: src/attrib.c:1248 #, c-format -msgid "############################################################################\n" - "\n" -msgstr "" +msgid "# trim_article_body=NUM\n" +msgstr "" -#: src/attrib.c:756 +#: src/attrib.c:1249 #, c-format -msgid "# include extra headers\n" -msgstr "# ÄÏÂÁרÔÅ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÚÁÇÏÌÏ×ËÉ ÚÄÅÓØ\n" +msgid "# 0 = Don't trim article body\n" +msgstr "" -#: src/attrib.c:764 +#: src/attrib.c:1250 #, c-format -msgid "# in *sources* set post process type to shar only\n" -msgstr "" +msgid "# 1 = Skip leading blank lines\n" +msgstr "" -#: src/attrib.c:768 +#: src/attrib.c:1251 #, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" -msgstr "# × *binaries* ÄÅÌÁÔØ ÐÏÌÎÕÀ ÐÏÓÔ-ÏÂÒÁÂÏÔËÕ, ÎÏ ÔÏÌØËÏ ÎÅ TeX2ISO\n" +msgid "# 2 = Skip trailing blank lines\n" +msgstr "" -#: src/attrib.c:769 +#: src/attrib.c:1252 #, c-format -msgid "# remove tmp files and set Followup-To: poster\n" -msgstr "" +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "" -#: src/cook.c:499 -msgid "(unknown)" -msgstr "(ÎÅÉÚ×ÅÓÔÎÏ)" +#: src/attrib.c:1253 +#, c-format +msgid "# 4 = Compact multiple blank lines between text blocks\n" +msgstr "" -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -msgid "Removed from the previous rule: " -msgstr "õÄẠ́ΠÉÚ ÐÒÅÄÙÄÕÝÅÇÏ ÐÒÁ×ÉÌÁ: " - -#: src/keymap.c:271 -msgid "NULL" -msgstr "" +#: src/attrib.c:1254 +#, c-format +msgid "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" +msgstr "" + +#: src/attrib.c:1255 +#, c-format +msgid "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1256 +#, c-format +msgid "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1257 +#, c-format +msgid "# verbatim_handling=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1258 +#, fuzzy, c-format +msgid "# wrap_on_next_unread=ON/OFF\n" +msgstr "# show_author=þéóìï\n" + +#: src/attrib.c:1259 +#, c-format +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" +msgstr "# x_body=óôòïëá (ÎÁÐÒ. ~/.tin/extra-body-text)\n" + +#: src/attrib.c:1260 +#, c-format +msgid "# x_comment_to=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1261 +#, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" +msgstr "# x_headers=óôòïëá (ÎÁÐÒ. ~/.tin/extra-headers)\n" + +#: src/attrib.c:1262 +#, c-format +msgid "#\n" + "# Note that it is best to put general (global scoping)\n" +msgstr "" + +#: src/attrib.c:1263 +#, c-format +msgid "# entries first followed by group specific entries.\n" + "#\n" +msgstr "" + +#: src/attrib.c:1264 +#, c-format +msgid "############################################################################\n" +msgstr "" + +#: src/cook.c:625 +msgid "(unknown)" +msgstr "(ÎÅÉÚ×ÅÓÔÎÏ)" + +#: src/keymap.c:277 +msgid "NULL" +msgstr "" #: src/lang.c:42 -msgid "1 Response" -msgstr "1 ÏÔ×ÅÔ" +msgid "1 Response" +msgstr "1 ÏÔ×ÅÔ" #: src/lang.c:46 #, c-format -msgid "\n" - "%s contains no newsgroups. Exiting." -msgstr "\n" - "%s ÎÅ ÓÏÄÅÒÖÉÔ ÇÒÕÐÐ ÎÏ×ÏÓÔÅÊ. ÷ÙÈÏÄ." +msgid "\n" + "%s contains no newsgroups. Exiting." +msgstr "\n" + "%s ÎÅ ÓÏÄÅÒÖÉÔ ÇÒÕÐÐ ÎÏ×ÏÓÔÅÊ. ÷ÙÈÏÄ." #: src/lang.c:47 -msgid "all " -msgstr "×ÓÅ " +msgid "all " +msgstr "×ÓÅ " #: src/lang.c:48 -msgid "All groups" -msgstr "÷ÓÅ ÇÒÕÐÐÙ" +msgid "All groups" +msgstr "÷ÓÅ ÇÒÕÐÐÙ" #: src/lang.c:49 #, c-format -msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " -msgstr "æÁÊÌ %s ÓÕÝÅÓÔ×ÕÅÔ. %s=ÄÏÂÁ×ÉÔØ, %s=ÐÅÒÅÐÉÓÁÔØ, %s=×ÙÊÔÉ: " +msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " +msgstr "æÁÊÌ %s ÓÕÝÅÓÔ×ÕÅÔ. %s=ÄÏÂÁ×ÉÔØ, %s=ÐÅÒÅÐÉÓÁÔØ, %s=×ÙÊÔÉ: " #: src/lang.c:50 -msgid "Article cancelled (deleted)." -msgstr "óÔÁÔØÑ ÏÔÍÅÎÅÎÁ (ÕÄÁÌÅÎÁ)." - -#: src/lang.c:51 -msgid "Article cannot be cancelled (deleted)." -msgstr "óÔÁÔØÑ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÏÔÍÅÎÅÎÁ (ÕÄÁÌÅÎÁ)." +msgid "Article cancelled (deleted)." +msgstr "óÔÁÔØÑ ÏÔÍÅÎÅÎÁ (ÕÄÁÌÅÎÁ)." #: src/lang.c:52 -msgid "Article deleted." -msgstr "óÔÁÔØÑ ÕÄÁÌÅÎÁ." - -#: src/lang.c:53 -#, c-format -msgid "\n" - "Your article:\n" - " \"%s\"\n" - "will be posted to the following %s:\n" -msgstr "\n" - "÷ÁÛÁ ÓÔÁÔØÑ:\n" - " \"%s\"\n" - "ÂÕÄÅÔ ÏÔÐÒÁ×ÌÅÎÁ × %s:\n" +msgid "Article cannot be cancelled (deleted)." +msgstr "óÔÁÔØÑ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÏÔÍÅÎÅÎÁ (ÕÄÁÌÅÎÁ)." #: src/lang.c:54 -msgid "Article not posted!" -msgstr "óÔÁÔØÑ ÎÅ ÏÔÐÒÁ×ÌÅÎÁ!" +msgid "Article deleted." +msgstr "óÔÁÔØÑ ÕÄÁÌÅÎÁ." #: src/lang.c:55 -msgid "Article not saved" -msgstr "óÔÁÔØÑ ÎÅ ÓÏÈÒÁÎÅÎÁ" +#, c-format +msgid "\n" + "Your article:\n" + " \"%s\"\n" + "will be posted to the following %s:\n" +msgstr "\n" + "÷ÁÛÁ ÓÔÁÔØÑ:\n" + " \"%s\"\n" + "ÂÕÄÅÔ ÏÔÐÒÁ×ÌÅÎÁ × %s:\n" #: src/lang.c:56 -msgid "Article Level Commands" -msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÓÔÁÔÅÊ" +msgid "Article not posted!" +msgstr "óÔÁÔØÑ ÎÅ ÏÔÐÒÁ×ÌÅÎÁ!" #: src/lang.c:57 -msgid "Article has no parent" -msgstr "óÔÁÔØÑ ÎÅ ÉÍÅÅÔ ÒÏÄÉÔÅÌØÓËÏÊ ÓÔÁÔØÉ" +msgid "Article not saved" +msgstr "óÔÁÔØÑ ÎÅ ÓÏÈÒÁÎÅÎÁ" #: src/lang.c:58 -msgid "Parent article has been killed" -msgstr "òÏÄÉÔÅÌØÓËÁÑ ÓÔÁÔØÑ ÂÙÌÁ ÕÎÉÞÔÏÖÅÎÁ" +msgid "Article Level Commands" +msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÓÔÁÔÅÊ" #: src/lang.c:59 -msgid "Parent article is unavailable" -msgstr "òÏÄÉÔÅÌØÓËÁÑ ÓÔÁÔØÑ ÎÅÄÏÓÔÕÐÎÁ" +msgid "Article has no parent" +msgstr "óÔÁÔØÑ ÎÅ ÉÍÅÅÔ ÒÏÄÉÔÅÌØÓËÏÊ ÓÔÁÔØÉ" #: src/lang.c:60 -#, c-format -msgid "Article posted: %s" -msgstr "óÔÁÔØÑ ÏÔÐÒÁ×ÌÅÎÁ: %s" +msgid "Parent article has been killed" +msgstr "òÏÄÉÔÅÌØÓËÁÑ ÓÔÁÔØÑ ÂÙÌÁ ÕÎÉÞÔÏÖÅÎÁ" #: src/lang.c:61 -#, c-format -msgid "Article rejected (saved to %s)" -msgstr "óÔÁÔØÑ ÏÔ×ÅÒÇÎÕÔÁ (ÓÏÈÒÁÎÅÎÁ × %s)" +msgid "Parent article is unavailable" +msgstr "òÏÄÉÔÅÌØÓËÁÑ ÓÔÁÔØÑ ÎÅÄÏÓÔÕÐÎÁ" #: src/lang.c:62 #, c-format -msgid "%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " -msgstr "%s=ÓÔÁÔØÑ, %s=ÄÉÓË., %s=hot, %s=ÛÁÂÌÏÎ, %s=ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ, %s=×ÙÈÏÄ: " +msgid "Article posted: %s" +msgstr "óÔÁÔØÑ ÏÔÐÒÁ×ÌÅÎÁ: %s" #: src/lang.c:63 -msgid "Article unavailable" -msgstr "óÔÁÔØÑ ÎÅÄÏÓÔÕÐÎÁ" +#, c-format +msgid "Article rejected (saved to %s)" +msgstr "óÔÁÔØÑ ÏÔ×ÅÒÇÎÕÔÁ (ÓÏÈÒÁÎÅÎÁ × %s)" #: src/lang.c:64 -msgid "Article undeleted." -msgstr "óÔÁÔØÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÁ." +#, fuzzy, c-format +msgid "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " +msgstr "%s=ÓÔÁÔØÑ, %s=ÄÉÓË., %s=hot, %s=ÛÁÂÌÏÎ, %s=ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ, %s=×ÙÈÏÄ: " + +#: src/lang.c:65 +msgid "Article unavailable" +msgstr "óÔÁÔØÑ ÎÅÄÏÓÔÕÐÎÁ" #: src/lang.c:66 -msgid "articles" -msgstr "ÓÔÁÔØÉ" +msgid "Article undeleted." +msgstr "óÔÁÔØÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÁ." #: src/lang.c:67 -msgid "This is a repost of the following article:" -msgstr "üÔÏ ÐÏ×ÔÏÒÎÁÑ ÏÔÐÒÁ×ËÁ ÓÔÁÔØÉ:" - -#: src/lang.c:68 -msgid "article" -msgstr "ÓÔÁÔØÑ" +#, c-format +msgid "Article %4d of %4d" +msgstr "óÔÁÔØÑ %4d ÉÚ %4d" #: src/lang.c:69 -msgid "Article" -msgstr "óÔÁÔØÑ" +msgid "articles" +msgstr "ÓÔÁÔØÉ" #: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" -msgstr "-- %d %s ÏÔÐÒÁ×ÌÅÎÏ ÐÏ email --" +msgid "This is a repost of the following article:" +msgstr "üÔÏ ÐÏ×ÔÏÒÎÁÑ ÏÔÐÒÁ×ËÁ ÓÔÁÔØÉ:" #: src/lang.c:71 -#, c-format -msgid " at %s" -msgstr " × %s" +msgid "article" +msgstr "ÓÔÁÔØÑ" #: src/lang.c:72 -#, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" -msgstr "%*s[-- %s/%s, ËÏÄÉÒÏ×ËÁ %s%s%s, %d ÓÔÒÏË%s%s --]\n" +msgid "Article" +msgstr "óÔÁÔØÑ" #: src/lang.c:73 -msgid ", charset: " -msgstr ", ËÏÄÉÒÏ×ËÁ: " +#, c-format +msgid "-- %d %s mailed --" +msgstr "-- %d %s ÏÔÐÒÁ×ÌÅÎÏ ÐÏ email --" #: src/lang.c:74 #, c-format -msgid "%*s[-- Description: %s --]\n" -msgstr "%*s[-- ïÐÉÓÁÎÉÅ: %s --]\n" +msgid " at %s" +msgstr " × %s" #: src/lang.c:75 #, c-format -msgid "%d Authentication failed" -msgstr "%d á×ÔÏÒÉÚÁÃÉÑ ÎÅ ÕÄÁÌÁÓØ" +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgstr "%*s[-- %s/%s, ËÏÄÉÒÏ×ËÁ %s%s%s, %d ÓÔÒÏË%s%s --]\n" #: src/lang.c:76 -msgid "Server expects authentication.\n" -msgstr "óÅÒ×ÅÒ ÏÖÉÄÁÅÔ Á×ÔÏÒÉÚÁÃÉÀ. \n" +msgid ", charset: " +msgstr ", ËÏÄÉÒÏ×ËÁ: " #: src/lang.c:77 -msgid " Please enter password: " -msgstr " ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÐÁÒÏÌØ: " +#, c-format +msgid "%*s[-- charset %s not supported --]\n" +msgstr "" #: src/lang.c:78 -msgid " Please enter username: " -msgstr " ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÉÍÑ: " +#, c-format +msgid "%*s[-- Description: %s --]\n" +msgstr "%*s[-- ïÐÉÓÁÎÉÅ: %s --]\n" #: src/lang.c:79 -#, c-format -msgid "Author search backwards [%s]> " -msgstr "ðÏÉÓË Á×ÔÏÒÁ (ÎÁÚÁÄ)[%s]> " +#, fuzzy, c-format +msgid "%d lines" +msgstr "óÔÒÏËÉ" #: src/lang.c:80 -#, c-format -msgid "Author search forwards [%s]> " -msgstr "ðÏÉÓË Á×ÔÏÒÁ (×ÐÅÒ£Ä)[%s]> " +msgid "Attachment Menu" +msgstr "" #: src/lang.c:81 -#, c-format -msgid "Authorized for user: %s\n" -msgstr "á×ÔÏÒÉÚÉÒÏ×ÁÎÏ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ: %s\n" +#, fuzzy +msgid "Attachment Menu Commands" +msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÓÔÁÔÅÊ" #: src/lang.c:82 -#, c-format -msgid "Authorization failed for user: %s\n" -msgstr "á×ÔÏÒÉÚÁÃÉÑ ÎÅ ÕÄÁÌÁÓØ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ: %s\n" +#, fuzzy +msgid "" +msgstr "ÎÉÞÅÇÏ" #: src/lang.c:83 -#, c-format -msgid "\n" - "Autosubscribed to %s" -msgstr "\n" - "ðÏÄÐÉÓÁÎ Á×ÔÏÍÁÔÉÞÅÓËÉ ÎÁ %s" +#, fuzzy, c-format +msgid "Attachment saved successfully. (%s)" +msgstr "newsrc ÆÁÊÌ ÕÓÐÅÛÎÏ ÓÏÈÒÁΣÎ.\n" #: src/lang.c:84 -msgid "Autosubscribing groups...\n" -msgstr "á×ÔÏÍÁÔÉÞÅÓËÁÑ ÐÏÄÐÉÓËÁ ÎÁ ÇÒÕÐÐÙ...\n" +#, fuzzy, c-format +msgid "%d of %d attachments saved successfully." +msgstr "newsrc ÆÁÊÌ ÕÓÐÅÛÎÏ ÓÏÈÒÁΣÎ.\n" #: src/lang.c:85 -#, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." -msgstr "á×ÔÏÍÁÔ. ×ÙÂÏÒ ÓÔÁÔÅÊ (ÉÓÐÏÌØÚÕÊÔÅ '%s' ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÎÅÐÒÏÞÉÔÁÎÎÙÈ) ..." +#, fuzzy +msgid "Select attachment> " +msgstr "÷ÙÂÅÒÉÔÅ ÓÔÁÔØÀ> " + +#: src/lang.c:86 +#, fuzzy +msgid "Tagged attachment" +msgstr "÷ÙÂÅÒÉÔÅ ÓÔÁÔØÀ> " #: src/lang.c:87 -#, c-format -msgid "Active file corrupt - %s" -msgstr "Active ÆÁÊÌ ÐÏ×ÒÅÖģΠ- %s" +#, fuzzy, c-format +msgid "%d attachments tagged" +msgstr "÷ÙÂÅÒÉÔÅ ÓÔÁÔØÀ> " #: src/lang.c:88 -#, c-format -msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " -msgstr "óÔÁÔØÑ ÄÌÑ ÏÔÐÒÁ×ËÉ Ó ÏÛÉÂ./ÐÒÅÄÕÐÒ. %s=×ÙÈÏÄ, %s=ÍÅÎÀ, %s=ÒÅÄÁËÔ.: " +#, fuzzy +msgid "Untagged attachment" +msgstr "÷ÙÂÅÒÉÔÅ ÓÔÁÔØÀ> " #: src/lang.c:89 -#, c-format -msgid "Unrecognized attribute: %s" -msgstr "îÅÒÁÓÐÏÚÎÁÎÎÙÊ ÁÔÒÉÂÕÔ: %s" +#, fuzzy +msgid "Attributes Menu Commands" +msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÓÔÁÔÅÊ" -#: src/lang.c:90 +#: src/lang.c:91 #, c-format -msgid "Bad command. Type '%s' for help." -msgstr "ïÛÉÂÏÞÎÁÑ ËÏÍÁÎÄÁ. îÁÂÅÒÉÔÅ '%s' ÄÌÑ ÐÏÍÏÝÉ." +msgid "%d Authentication failed" +msgstr "%d á×ÔÏÒÉÚÁÃÉÑ ÎÅ ÕÄÁÌÁÓØ" #: src/lang.c:92 -msgid "Base article" -msgstr "ïÓÎÏ×ÎÁÑ ÓÔÁÔØÑ" +#, c-format +msgid "NNTP authorization password not found for %s" +msgstr "ðÁÒÏÌØ Á×ÔÏÒÉÚÁÃÉÉ Ë NNTP ÎÅ ÎÁÊÄÅÎ ÄÌÑ %s" #: src/lang.c:93 -msgid "Base article range" -msgstr "äÉÁÐÁÚÏÎ ÏÓÎÏ×ÎÏÊ ÓÔÁÔØÉ" +msgid "Server expects authentication.\n" +msgstr "óÅÒ×ÅÒ ÏÖÉÄÁÅÔ Á×ÔÏÒÉÚÁÃÉÀ. \n" #: src/lang.c:94 -#, c-format -msgid "%s: Updating of index files not supported\n" -msgstr "%s: ïÂÎÏ×ÌÅÎÉÅ ÉÎÄÅËÓÁ ÆÁÊÌÏ× ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n" +msgid " Please enter password: " +msgstr " ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÐÁÒÏÌØ: " #: src/lang.c:95 -msgid "*** Beginning of article ***" -msgstr "*** îÁÞÁÌÏ ÓÔÁÔØÉ ***" +msgid " Please enter username: " +msgstr " ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÉÍÑ: " + +#: src/lang.c:96 +#, c-format +msgid "Authorized for user: %s\n" +msgstr "á×ÔÏÒÉÚÉÒÏ×ÁÎÏ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ: %s\n" #: src/lang.c:97 #, c-format -msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " -msgstr "ïÔÍÅÎÉÔØ (ÕÄÁÌÉÔØ) ÉÌÉ ÚÁÍÅÎÉÔØ (ÐÅÒÅÐÉÓÁÔØ) ÓÔÁÔØÀ [%%s]? (%s/%s/%s): " +msgid "Authorization failed for user: %s\n" +msgstr "á×ÔÏÒÉÚÁÃÉÑ ÎÅ ÕÄÁÌÁÓØ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ: %s\n" -#: src/lang.c:98 -msgid "Cancelling article..." -msgstr "ïÔÍÅÎÁ ÓÔÁÔØÉ..." +#: src/lang.c:99 +#, c-format +msgid "Author search backwards [%s]> " +msgstr "ðÏÉÓË Á×ÔÏÒÁ (ÎÁÚÁÄ)[%s]> " #: src/lang.c:100 #, c-format -msgid "Cannot create %s" -msgstr "îÅ ÍÏÇÕ ÓÏÚÄÁÔØ %s" +msgid "Author search forwards [%s]> " +msgstr "ðÏÉÓË Á×ÔÏÒÁ (×ÐÅÒ£Ä)[%s]> " #: src/lang.c:101 #, c-format -msgid "Can't find base article %d" -msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÏÓÎÏ×ÎÕÀ ÓÔÁÔØÀ %d" +msgid "\n" + "Autosubscribed to %s" +msgstr "\n" + "ðÏÄÐÉÓÁÎ Á×ÔÏÍÁÔÉÞÅÓËÉ ÎÁ %s" #: src/lang.c:102 -#, c-format -msgid "Can't open %s" -msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s" +msgid "Autosubscribing groups...\n" +msgstr "á×ÔÏÍÁÔÉÞÅÓËÁÑ ÐÏÄÐÉÓËÁ ÎÁ ÇÒÕÐÐÙ...\n" #: src/lang.c:103 #, c-format -msgid "Couldn't open %s for saving" -msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s ÄÌÑ ÚÁÐÉÓÉ" - -#: src/lang.c:104 -msgid "*** Posting not allowed ***" -msgstr "*** ïÔÐÒÁ×ËÁ ÚÁÐÒÅÝÅÎÁ ***" +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "á×ÔÏÍÁÔ. ×ÙÂÏÒ ÓÔÁÔÅÊ (ÉÓÐÏÌØÚÕÊÔÅ '%s' ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÎÅÐÒÏÞÉÔÁÎÎÙÈ) ..." #: src/lang.c:105 #, c-format -msgid "Posting is not allowed to %s" -msgstr "ïÔÐÒÁ×ËÁ ÚÁÐÒÅÝÅÎÁ × %s" +msgid "Active file corrupt - %s" +msgstr "Active ÆÁÊÌ ÐÏ×ÒÅÖģΠ- %s" #: src/lang.c:106 #, c-format -msgid "Can't retrieve %s" -msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ %s" +msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "óÔÁÔØÑ ÄÌÑ ÏÔÐÒÁ×ËÉ Ó ÏÛÉÂ./ÐÒÅÄÕÐÒ. %s=×ÙÈÏÄ, %s=ÍÅÎÀ, %s=ÒÅÄÁËÔ.: " #: src/lang.c:107 #, c-format -msgid "%s is a directory" -msgstr "%s - ÄÉÒÅËÔÏÒÉÑ" +msgid "Unrecognized attribute: %s" +msgstr "îÅÒÁÓÐÏÚÎÁÎÎÙÊ ÁÔÒÉÂÕÔ: %s" #: src/lang.c:108 -msgid "Catchup" -msgstr "úÁÈ×ÁÔ" - -#: src/lang.c:109 #, c-format -msgid "Catchup %s..." -msgstr "úÁÈ×ÁÔ %s..." +msgid "Bad command. Type '%s' for help." +msgstr "ïÛÉÂÏÞÎÁÑ ËÏÍÁÎÄÁ. îÁÂÅÒÉÔÅ '%s' ÄÌÑ ÐÏÍÏÝÉ." #: src/lang.c:110 -msgid "Catchup all groups entered during this session?" -msgstr "úÁÈ×ÁÔÉÔØ ×ÓÅ ÇÒÕÐÐÙ ÐÏÓÅÝ£ÎÎÙÅ × ÜÔÏÊ ÓÅÓÓÉÉ?" +msgid "Base article" +msgstr "ïÓÎÏ×ÎÁÑ ÓÔÁÔØÑ" #: src/lang.c:111 -msgid "You have tagged articles in this group - catchup anyway?" -msgstr "÷Ù ÐÏÍÅÔÉÌÉ ÓÔÁÔØÉ × ÇÒÕÐÐÅ - ÚÁÈ×ÁÔÉÔØ ÎÅÓÍÏÔÒÑ ÎÁ ÜÔÏ?" +msgid "Base article range" +msgstr "äÉÁÐÁÚÏÎ ÏÓÎÏ×ÎÏÊ ÓÔÁÔØÉ" #: src/lang.c:112 #, c-format -msgid "%s %d %s in %lu seconds\n" -msgstr "%s %d %s × %lu ÓÅËÕÎÄ\n" +msgid "%s: Updating of index files not supported\n" +msgstr "%s: ïÂÎÏ×ÌÅÎÉÅ ÉÎÄÅËÓÁ ÆÁÊÌÏ× ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n" #: src/lang.c:113 -msgid "Caughtup" -msgstr "úÁÈ×ÁÞÅÎÏ" +msgid "*** Beginning of article ***" +msgstr "*** îÁÞÁÌÏ ÓÔÁÔØÉ ***" #: src/lang.c:114 -msgid "Check Prepared Article" -msgstr "ðÒÏ×ÅÒÉÔØ ÐÒÉÇÏÔÏ×ÌÅÎÎÕÀ ÓÔÁÔØÀ" - -#: src/lang.c:115 -msgid "Checking for new groups... " -msgstr "ðÏÉÓË ÎÏ×ÙÈ ÇÒÕÐÐ... " +#, fuzzy +msgid "*** Beginning of page ***" +msgstr "*** îÁÞÁÌÏ ÓÔÁÔØÉ ***" #: src/lang.c:116 -msgid "Checking for news..." -msgstr "ðÒÏ×ÅÒËÁ ÎÏ×ÏÓÔÅÊ..." +#, c-format +msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " +msgstr "ïÔÍÅÎÉÔØ (ÕÄÁÌÉÔØ) ÉÌÉ ÚÁÍÅÎÉÔØ (ÐÅÒÅÐÉÓÁÔØ) ÓÔÁÔØÀ [%%s]? (%s/%s/%s): " #: src/lang.c:117 -#, c-format -msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " -msgstr "ðÏÓÔ-ÏÂÒÁÂÏÔËÁ %s=ÎÅÔ, %s=ÄÁ, %s=shar, %s=×ÙÈÏÄ:" +msgid "Cancelling article..." +msgstr "ïÔÍÅÎÁ ÓÔÁÔØÉ..." #: src/lang.c:119 -msgid "ANSI color disabled" -msgstr "÷ÙËÌÀÞÉÔØ Ã×ÅÔÁ ANSI" +#, c-format +msgid "Cannot create %s" +msgstr "îÅ ÍÏÇÕ ÓÏÚÄÁÔØ %s" #: src/lang.c:120 -msgid "ANSI color enabled" -msgstr "÷ËÌÀÞÉÔØ Ã×ÅÔÁ ANSI" +#, c-format +msgid "Can't find base article %d" +msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÏÓÎÏ×ÎÕÀ ÓÔÁÔØÀ %d" + +#: src/lang.c:121 +#, c-format +msgid "Can't open %s" +msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s" #: src/lang.c:122 #, c-format -msgid "Command failed: %s" -msgstr "ïÛÉÂËÁ ×Ï ×ÒÅÍÑ ÉÓÐÏÌÎÅÎÉÑ: %s" +msgid "Couldn't open %s for saving" +msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s ÄÌÑ ÚÁÐÉÓÉ" #: src/lang.c:123 -msgid "Mark not selected articles read?" -msgstr "ðÏÍÅÔÉÔØ ÎÅÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ?" +msgid "*** Posting not allowed ***" +msgstr "*** ïÔÐÒÁ×ËÁ ÚÁÐÒÅÝÅÎÁ ***" #: src/lang.c:124 #, c-format -msgid "Connecting to %s..." -msgstr "óÏÅÄÉÎÑÅÍÓÑ Ó %s..." - -#: src/lang.c:125 -msgid "" -msgstr "" +msgid "Posting is not allowed to %s" +msgstr "ïÔÐÒÁ×ËÁ ÚÁÐÒÅÝÅÎÁ × %s" #: src/lang.c:126 -msgid "Creating active file for saved groups...\n" -msgstr "óÏÚÄÁÎÉÅ ÆÁÊÌÁ active ÄÌÑ ÓÏÈÒ. ÇÒÕÐÐ...\n" +#, c-format +msgid "Can't retrieve %s" +msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ %s" + +#: src/lang.c:128 +#, c-format +msgid "%s is a directory" +msgstr "%s - ÄÉÒÅËÔÏÒÉÑ" -#: src/lang.c:127 -msgid "Creating newsrc file...\n" -msgstr "óÏÚÄÁÎÉÅ ÆÁÊÌÁ newsrc...\n" - -#: src/lang.c:129 src/lang.c:1150 -msgid "Default" -msgstr "ðÏ ÕÍÏÌÞÁÎÉÀ" +#: src/lang.c:129 +msgid "Catchup" +msgstr "úÁÈ×ÁÔ" #: src/lang.c:130 -msgid "Delete saved files that have been post processed?" -msgstr "õÄÁÌÉÔØ ÓÏÈÒÁΣÎÎÙÅ ÏÂÒÁÂÏÔÁÎÎÙÅ ÆÁÊÌÙ?" +#, c-format +msgid "Catchup %s..." +msgstr "úÁÈ×ÁÔ %s..." #: src/lang.c:131 -msgid "Deleting temporary files..." -msgstr "õÄÁÌÅÎÉÅ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ×..." +msgid "Catchup all groups entered during this session?" +msgstr "úÁÈ×ÁÔÉÔØ ×ÓÅ ÇÒÕÐÐÙ ÐÏÓÅÝ£ÎÎÙÅ × ÜÔÏÊ ÓÅÓÓÉÉ?" + +#: src/lang.c:132 +msgid "You have tagged articles in this group - catchup anyway?" +msgstr "÷Ù ÐÏÍÅÔÉÌÉ ÓÔÁÔØÉ × ÇÒÕÐÐÅ - ÚÁÈ×ÁÔÉÔØ ÎÅÓÍÏÔÒÑ ÎÁ ÜÔÏ?" #: src/lang.c:133 -msgid "*** End of article ***" -msgstr "*** ëÏÎÅà ÓÔÁÔØÉ ***" +#, c-format +msgid "%s %d %s in %lu seconds\n" +msgstr "%s %d %s × %lu ÓÅËÕÎÄ\n" #: src/lang.c:134 -msgid "*** End of articles ***" -msgstr "*** ëÏÎÅà ÓÔÁÔÅÊ ***" +msgid "Caughtup" +msgstr "úÁÈ×ÁÞÅÎÏ" #: src/lang.c:135 -msgid "*** End of groups ***" -msgstr "*** ëÏÎÅà ÇÒÕÐÐ ***" +msgid "Check Prepared Article" +msgstr "ðÒÏ×ÅÒÉÔØ ÐÒÉÇÏÔÏ×ÌÅÎÎÕÀ ÓÔÁÔØÀ" #: src/lang.c:136 -msgid "*** End of thread ***" -msgstr "*** ëÏÎÅà ÄÉÓËÕÓÓÉÉ ***" +msgid "Checking for new groups... " +msgstr "ðÏÉÓË ÎÏ×ÙÈ ÇÒÕÐÐ... " #: src/lang.c:137 -msgid "Enter limit of articles to get> " -msgstr "÷×ÅÄÉÔÅ ÐÒÅÄÅÌ ÐÏÌÕÞÁÅÍÙÈ ÓÔÁÔÅÊ> " +msgid "Checking for news..." +msgstr "ðÒÏ×ÅÒËÁ ÎÏ×ÏÓÔÅÊ..." #: src/lang.c:138 -msgid "Enter Message-ID to go to> " -msgstr "÷×ÅÄÉÔÅ Message-ID ÄÌÑ ÐÅÒÅÈÏÄÁ> " - -#: src/lang.c:139 -msgid " and enter next unread thread" -msgstr " É ××ÅÄÉÔÅ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÄÉÓËÕÓÓÉÀ" +#, c-format +msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " +msgstr "ðÏÓÔ-ÏÂÒÁÂÏÔËÁ %s=ÎÅÔ, %s=ÄÁ, %s=shar, %s=×ÙÈÏÄ:" #: src/lang.c:140 -msgid " and enter next unread group" -msgstr " É ××ÅÄÉÔÅ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÇÒÕÐÐÕ" +msgid "ANSI color disabled" +msgstr "÷ÙËÌÀÞÉÔØ Ã×ÅÔÁ ANSI" #: src/lang.c:141 -msgid "Enter option number> " -msgstr "÷×ÅÄÉÔÅ ÎÏÍÅÒ ÏÐÃÉÉ> " +msgid "ANSI color enabled" +msgstr "÷ËÌÀÞÉÔØ Ã×ÅÔÁ ANSI" -#: src/lang.c:142 +#: src/lang.c:143 #, c-format -msgid "Enter range [%s]> " -msgstr "÷×ÅÄÉÔÅ ÄÉÁÐÁÚÏÎ [%s]> " +msgid "Command failed: %s" +msgstr "ïÛÉÂËÁ ×Ï ×ÒÅÍÑ ÉÓÐÏÌÎÅÎÉÑ: %s" -#: src/lang.c:143 -msgid "\n" - "Warning: Approved: header used.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ÉÓÐÏÌØÚÏ×ÁÎ ÚÁÇÏÌÏ×ÏË Approved:.\n" - -#: src/lang.c:145 -msgid "\n" - "Error: Bad address in Approved: header.\n" -msgstr "\n" - "ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ Approved:.\n" +#: src/lang.c:144 +msgid "Mark not selected articles read?" +msgstr "ðÏÍÅÔÉÔØ ÎÅÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ?" #: src/lang.c:146 -msgid "\n" - "Error: Bad address in From: header.\n" -msgstr "\n" - "ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ From:.\n" - -#: src/lang.c:147 -msgid "\n" - "Error: Bad address in Reply-To: header.\n" -msgstr "\n" - "ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ Reply-To:.\n" +#, c-format +msgid "Connecting to %s..." +msgstr "óÏÅÄÉÎÑÅÍÓÑ Ó %s..." #: src/lang.c:148 -msgid "\n" - "Error: Bad FQDN in Message-ID: header.\n" -msgstr "\n" - "ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ FQDN × ÚÁÇÏÌÏ×ËÅ Message-ID:.\n" +msgid "" +msgstr "" #: src/lang.c:149 -#, c-format -msgid "Can't unlock %s" -msgstr "îÅ ÍÏÇÕ ÒÁÚÂÌÏËÉÒÏ×ÁÔØ %s" - -#: src/lang.c:151 -#, c-format -msgid "Corrupted file %s" -msgstr "ðÏ×ÒÅÖÄÅÎÎÙÊ ÆÁÊÌ %s" +msgid "Creating active file for saved groups...\n" +msgstr "óÏÚÄÁÎÉÅ ÆÁÊÌÁ active ÄÌÑ ÓÏÈÒ. ÇÒÕÐÐ...\n" -#: src/lang.c:152 -#, c-format -msgid "Couldn't dotlock %s - article not appended!" -msgstr "îÅ ÍÏÇÕ dotlock %s - ÓÔÁÔØÑ ÎÅ ÐÒÉËÒÅÐÌÅÎÁ!" +#: src/lang.c:150 +msgid "Creating newsrc file...\n" +msgstr "óÏÚÄÁÎÉÅ ÆÁÊÌÁ newsrc...\n" + +#: src/lang.c:152 src/lang.c:1296 +msgid "Default" +msgstr "ðÏ ÕÍÏÌÞÁÎÉÀ" #: src/lang.c:153 -#, c-format -msgid "Couldn't lock %s - article not appended!" -msgstr "îÅ ÍÏÇÕ ÚÁÂÌÏËÉÒÏ×ÁÔØ %s - ÓÔÁÔØÑ ÎÅ ÐÒÉËÒÅÐÌÅÎÁ!" +msgid "Delete saved files that have been post processed?" +msgstr "õÄÁÌÉÔØ ÓÏÈÒÁΣÎÎÙÅ ÏÂÒÁÂÏÔÁÎÎÙÅ ÆÁÊÌÙ?" -#: src/lang.c:155 -msgid "Internal error in GNKSA routine - send bug report.\n" -msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ × ÆÕÎËÃÉÉ GNKSA - ÏÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ.\n" +#: src/lang.c:154 +msgid "Deleting temporary files..." +msgstr "õÄÁÌÅÎÉÅ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ×..." #: src/lang.c:156 -msgid "Left angle bracket missing in route address.\n" -msgstr "÷ ÁÄÒÅÓÅ ÐÒÏÐÕÝÅÎÁ ÌÅ×ÁÑ ÕÇÌÏ×ÁÑ ÓËÏÂËÁ.\n" +msgid "*** End of article ***" +msgstr "*** ëÏÎÅà ÓÔÁÔØÉ ***" #: src/lang.c:157 -msgid "Left parenthesis missing in old-style address.\n" -msgstr "÷ ÁÄÒÅÓÅ ÓÔÁÒÏÇÏ ÓÔÉÌÑ ÐÒÏÐÕÝÅÎÁ ÌÅ×ÁÑ ËÒÕÇÌÁÑ ÓËÏÂËÁ.\n" +msgid "*** End of articles ***" +msgstr "*** ëÏÎÅà ÓÔÁÔÅÊ ***" #: src/lang.c:158 -msgid "Right parenthesis missing in old-style address.\n" -msgstr "÷ ÁÄÒÅÓÅ ÓÔÁÒÏÇÏ ÓÔÉÌÑ ÐÒÏÐÕÝÅÎÁ ÐÒÁ×ÁÑ ËÒÕÇÌÁÑ ÓËÏÂËÁ.\n" +#, fuzzy +msgid "*** End of attachments ***" +msgstr "*** ëÏÎÅà ÓÔÁÔÅÊ ***" #: src/lang.c:159 -msgid "At-sign missing in mail address.\n" -msgstr "÷ ÐÏÞÔÏ×ÏÍ ÁÄÒÅÓÅ ÐÒÏÐÕÝÅÎ ÚÎÁË '@'.\n" +msgid "*** End of groups ***" +msgstr "*** ëÏÎÅà ÇÒÕÐÐ ***" #: src/lang.c:160 -msgid "Single component FQDN is not allowed. Add your domain.\n" -msgstr "åÄÉÎÓÔ×ÅÎÎÙÊ ËÏÍÐÏÎÅÎÔ FQDN ÎÅÄÏÐÕÓÔÉÍ. äÏÂÁרÔÅ ×ÁÛ ÄÏÍÅÎ.\n" +#, fuzzy +msgid "*** End of page ***" +msgstr "*** ëÏÎÅà ÓÔÁÔØÉ ***" #: src/lang.c:161 -msgid "Invalid domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "îÅÐÒÁ×ÉÌØÎÙÊ ÄÏÍÅÎ. ïÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ, ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n" - "éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n" +#, fuzzy +msgid "*** End of scopes ***" +msgstr "*** ëÏÎÅà ÇÒÕÐÐ ***" #: src/lang.c:162 -msgid "Illegal domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÄÏÍÅÎ. ïÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n" - "éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n" +msgid "*** End of thread ***" +msgstr "*** ëÏÎÅà ÄÉÓËÕÓÓÉÉ ***" #: src/lang.c:163 -msgid "Unknown domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÄÏÍÅÎ. ïÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n" - "éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n" +#, fuzzy +msgid "*** End of URLs ***" +msgstr "*** ëÏÎÅà ÇÒÕÐÐ ***" #: src/lang.c:164 -msgid "Illegal character in FQDN.\n" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × FQDN.\n" +msgid "Enter limit of articles to get> " +msgstr "÷×ÅÄÉÔÅ ÐÒÅÄÅÌ ÐÏÌÕÞÁÅÍÙÈ ÓÔÁÔÅÊ> " #: src/lang.c:165 -msgid "Zero length FQDN component not allowed.\n" -msgstr "îÕÌÅ×ÁÑ ÄÌÉÎÁ ËÏÍÐÏÎÅÎÔÁ FQDN ÎÅÄÏÐÕÓÔÉÍÁ.\n" +msgid "Enter Message-ID to go to> " +msgstr "÷×ÅÄÉÔÅ Message-ID ÄÌÑ ÐÅÒÅÈÏÄÁ> " #: src/lang.c:166 -msgid "FQDN component exceeds maximum allowed length (63 chars).\n" -msgstr "ëÏÍÐÏÎÅÎÔ FQDN ÐÒÅ×ÙÛÁÅÔ ÍÁËÓ. ÄÏÐÕÓÔÉÍÕÀ ÄÌÉÎÕ (63 ÚÎÁËÁ).\n" +msgid " and enter next unread thread" +msgstr " É ××ÅÄÉÔÅ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÄÉÓËÕÓÓÉÀ" #: src/lang.c:167 -msgid "FQDN component may not start or end with hyphen.\n" -msgstr "ëÏÍÐÏÎÅÎÔ FQDN ÎÅ ÍÏÖÅÔ ÎÁÞÉÎÁÔØÓÑ ÉÌÉ ÚÁËÁÎÞÉ×ÁÔØÓÑ ÄÅÆÉÓÏÍ.\n" +#, fuzzy +msgid " and enter next unread article" +msgstr " É ××ÅÄÉÔÅ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÄÉÓËÕÓÓÉÀ" #: src/lang.c:168 -msgid "FQDN component may not start with digit.\n" -msgstr "ëÏÍÐÏÎÅÎÔ FQDN ÎÅ ÍÏÖÅÔ ÎÁÞÉÎÁÔØÓÑ Ó ÃÉÆÒÙ.\n" +msgid " and enter next unread group" +msgstr " É ××ÅÄÉÔÅ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÇÒÕÐÐÕ" #: src/lang.c:169 -msgid "Domain literal has impossible numeric value.\n" -msgstr "÷ ÚÎÁËÅ ÄÏÍÅÎÁ ÎÅÄÏÐÕÓÔÉÍÙÊ ÃÉÆÒÏ×ÏÊ ÚÎÁË.\n" +msgid "Enter option number> " +msgstr "÷×ÅÄÉÔÅ ÎÏÍÅÒ ÏÐÃÉÉ> " #: src/lang.c:170 -msgid "Domain literal is for private use only and not allowed for global use.\n" -msgstr "úÎÁË ÄÏÍÅÎÁ ÔÏÌØËÏ ÄÌÑ ÞÁÓÔÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ É ÎÅÄÏÐÕÓÔÉÍ.\n" +#, c-format +msgid "Enter range [%s]> " +msgstr "÷×ÅÄÉÔÅ ÄÉÁÐÁÚÏÎ [%s]> " #: src/lang.c:171 -msgid "Right bracket missing in domain literal.\n" -msgstr "÷ ÚÎÁËÅ ÄÏÍÅÎÁ ÐÒÏÐÕÝÅÎÁ ÐÒÁ×ÁÑ ÓËÏÂËÁ.\n" - -#: src/lang.c:172 -msgid "Missing localpart of mail address.\n" -msgstr "ðÒÏÐÕÝÅÎÁ ÌÏËÁÌØÎÁÑ ÞÁÓÔØ ÐÏÞÔÏ×ÏÇÏ ÁÄÒÅÓÁ.\n" +msgid "\n" + "Warning: Approved: header used.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ÉÓÐÏÌØÚÏ×ÁÎ ÚÁÇÏÌÏ×ÏË Approved:.\n" #: src/lang.c:173 -msgid "Illegal character in localpart of mail address.\n" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÌÏËÁÌØÎÏÊ ÞÁÓÔÉ ÐÏÞÔÏ×ÏÇÏ ÁÄÒÅÓÁ.\n" +msgid "\n" + "Error: Bad address in Approved: header.\n" +msgstr "\n" + "ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ Approved:.\n" #: src/lang.c:174 -msgid "Zero length localpart component not allowed.\n" -msgstr "îÕÌÅ×ÁÑ ÄÌÉÎÁ ÌÏËÁÌØÎÏÊ ÞÁÓÔÉ email ÎÅÄÏÐÕÓÔÉÍÁ.\n" +msgid "\n" + "Error: Bad address in From: header.\n" +msgstr "\n" + "ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ From:.\n" #: src/lang.c:175 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" - "óÌÏ×Á ÂÅÚ ËÁ×ÙÞÅË ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '!()<>@,;:\\.[]' × ÁÄÒÅÓÅ.\n" +msgid "\n" + "Error: Bad address in Reply-To: header.\n" +msgstr "\n" + "ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ ÁÄÒÅÓ × ÚÁÇÏÌÏ×ËÅ Reply-To:.\n" #: src/lang.c:176 -msgid "Illegal character in realname.\n" - "Quoted words may not contain '()<>\\'.\n" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" - "óÌÏ×Á × ËÁ×ÙÞËÁÈ ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '()<>\\'.\n" - -#: src/lang.c:177 -msgid "Illegal character in realname.\n" - "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" - "ëÏÄÉÒÏ×ÁÎÎÙÅ ÓÌÏ×Á ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '!()<>@,;:\"\\.[]/=' × ÐÁÒÁÍÅÔÒÅ.\n" +msgid "\n" + "Error: Bad FQDN in Message-ID: header.\n" +msgstr "\n" + "ïÛÉÂËÁ: îÅ×ÅÒÎÙÊ FQDN × ÚÁÇÏÌÏ×ËÅ Message-ID:.\n" #: src/lang.c:178 -msgid "Bad syntax in encoded word used in realname.\n" -msgstr "îÅ×ÅÒÎÙÊ ÓÉÎÔÁËÓÉÓ × ËÏÄÉÒÏ×ÁÎÎÏÍ ÓÌÏ×Å, ÉÓÐÏÌØÚÏ×ÁÎÎÏÍ × ÉÍÅÎÉ.\n" +#, c-format +msgid "Can't unlock %s" +msgstr "îÅ ÍÏÇÕ ÒÁÚÂÌÏËÉÒÏ×ÁÔØ %s" #: src/lang.c:179 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '()<>\\' in old-style addresses.\n" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" - "óÌÏ×Á ÂÅÚ ËÁ×ÙÞÅË ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '()<>\\' × ÁÄÒÅÓÁÈ ÓÔÁÒÏÇÏ ÓÔÉÌÑ.\n" +#, c-format +msgid "Couldn't dotlock %s - article not appended!" +msgstr "îÅ ÍÏÇÕ dotlock %s - ÓÔÁÔØÑ ÎÅ ÐÒÉËÒÅÐÌÅÎÁ!" #: src/lang.c:180 -msgid "Illegal character in realname.\n" - "Control characters and unencoded 8bit characters > 127 are not allowed.\n" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" - "õÐÒÁ×ÌÑÀÝÉÅ ÓÉÍ×ÏÌÙ É ÎÅËÏÄ. 8-ÂÉÔÎÙÅ ÓÉÍ×. > 127 ÎÅÄÏÐÕÓÔÉÍÙ.\n" - -#: src/lang.c:181 -msgid "\n" - "Error: No blank line found after header.\n" -msgstr "\n" - "ïÛÉÂËÁ: îÅ ÎÁÊÄÅÎÁ ÐÕÓÔÁÑ ÓÔÒÏËÁ ÐÏÓÌÅ ÚÁÇÏÌÏ×ËÁ.\n" +#, c-format +msgid "Couldn't lock %s - article not appended!" +msgstr "îÅ ÍÏÇÕ ÚÁÂÌÏËÉÒÏ×ÁÔØ %s - ÓÔÁÔØÑ ÎÅ ÐÒÉËÒÅÐÌÅÎÁ!" -#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:183 -msgid "\n" - "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" - " US-ASCII - please change this setting to a suitable value for\n" - " your language using the M)enu of configurable options or by\n" - " editing tinrc.\n" -msgstr "\n" - "ïÛÉÂËÁ: óÏÏÂÝÅÎÉÅ ÓÏÄÅÒÖÉÔ ÎÅ-ASCII ÓÉÍ×ÏÌÙ ÎÏ MM_CHARSET ÕÓÔÁÎÏ×ÌÅÎ\n" - " US-ASCII - ÐÏÖÁÌÕÊÓÔÁ ÓÍÅÎÉÔÅ ÚÎÁÞÅÎÉÅ ÎÁ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÅ\n" - " ×ÁÛÅÍÕ ÑÚÙËÕ, ÉÓÐÏÌØÚÕÑ M)ÍÅÎÀ ËÏÎÆÉÇÕÒÉÒÕÅÍÙÈ ÚÎÁÞÅÎÉÊ ÉÌÉ\n" - " ÏÔÒÅÄÁËÔÉÒÕÊÔÅ tinrc.\n" +#, c-format +msgid "Corrupted file %s" +msgstr "ðÏ×ÒÅÖÄÅÎÎÙÊ ÆÁÊÌ %s" + +#: src/lang.c:185 +#, fuzzy +msgid "\n" + "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" +msgstr "\n" + "ïÛÉÂËÁ: Followup-To ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÂÏÌØÛÅ ÞÅÍ ÏÄÎÕ ÇÒÕÐÐÕ!\n" + +#: src/lang.c:186 +msgid "Internal error in GNKSA routine - send bug report.\n" +msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ × ÆÕÎËÃÉÉ GNKSA - ÏÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ.\n" + +#: src/lang.c:187 +msgid "Left angle bracket missing in route address.\n" +msgstr "÷ ÁÄÒÅÓÅ ÐÒÏÐÕÝÅÎÁ ÌÅ×ÁÑ ÕÇÌÏ×ÁÑ ÓËÏÂËÁ.\n" #: src/lang.c:188 -msgid "\n" - "Error: Posting contains non-ASCII characters but the MIME encoding\n" - " for news messages is set to \"7bit\" - please change this\n" - " setting to \"8bit\" or \"quoted-printable\" depending on what\n" - " is more common in your part of the world. This can be done\n" - " using the M)enu of configurable options or by editing tinrc.\n" -msgstr "\n" - "ïÛÉÂËÁ: óÏÏÂÝÅÎÉÅ ÓÏÄÅÒÖÉÔ ÎÅ-ASCII ÓÉÍ×ÏÌÙ, ÎÏ ËÏÄÉÒÏ×ËÁ MIME ÕÓÔÁÎÏ×ÌÅÎÁ\n" - " × \"7bit\" - ÐÏÖÁÌÕÊÓÔÁ ÓÍÅÎÉÔÅ ÚÎÁÞÅÎÉÅ ÎÁ \"8bit\" ÉÌÉ\n" - " \"quoted-printable\" × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÏÇÏ, ÞÔÏ ÐÒÉÎÑÔÏ × ×ÁÛÅÍ\n" - " ÒÅÇÉÏÎÅ. éÓÐÏÌØÚÕÊÔÅ M)ÍÅÎÀ ËÏÎÆÉÇÕÒÉÒÕÅÍÙÈ ÏÐÃÉÊ ÉÌÉ ÏÔÒÅÄÁËÔÉÒÕÊÔÅ\n" - "\t ÆÁÊÌ tinrc.\n" +msgid "Left parenthesis missing in old-style address.\n" +msgstr "÷ ÁÄÒÅÓÅ ÓÔÁÒÏÇÏ ÓÔÉÌÑ ÐÒÏÐÕÝÅÎÁ ÌÅ×ÁÑ ËÒÕÇÌÁÑ ÓËÏÂËÁ.\n" + +#: src/lang.c:189 +msgid "Right parenthesis missing in old-style address.\n" +msgstr "÷ ÁÄÒÅÓÅ ÓÔÁÒÏÇÏ ÓÔÉÌÑ ÐÒÏÐÕÝÅÎÁ ÐÒÁ×ÁÑ ËÒÕÇÌÁÑ ÓËÏÂËÁ.\n" + +#: src/lang.c:190 +msgid "At-sign missing in mail address.\n" +msgstr "÷ ÐÏÞÔÏ×ÏÍ ÁÄÒÅÓÅ ÐÒÏÐÕÝÅÎ ÚÎÁË '@'.\n" + +#: src/lang.c:191 +msgid "Single component FQDN is not allowed. Add your domain.\n" +msgstr "åÄÉÎÓÔ×ÅÎÎÙÊ ËÏÍÐÏÎÅÎÔ FQDN ÎÅÄÏÐÕÓÔÉÍ. äÏÂÁרÔÅ ×ÁÛ ÄÏÍÅÎ.\n" + +#: src/lang.c:192 +msgid "Invalid domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "îÅÐÒÁ×ÉÌØÎÙÊ ÄÏÍÅÎ. ïÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ, ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n" + "éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n" + +#: src/lang.c:193 +msgid "Illegal domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÄÏÍÅÎ. ïÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n" + "éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n" #: src/lang.c:194 -msgid "\n" - "Error: Article starts with blank line instead of header\n" -msgstr "\n" - "ïÛÉÂËÁ: óÔÁÔØÑ ÎÁÞÉÎÁÅÔÓÑ Ó ÐÕÓÔÏÊ ÓÔÒÏËÉ ×ÍÅÓÔÏ ÚÁÇÏÌÏ×ËÁ\n" +msgid "Unknown domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÄÏÍÅÎ. ïÔÐÒÁרÔÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÅÓÌÉ ÄÏÍÅÎ ÓÕÝÅÓÔ×ÕÅÔ.\n" + "éÓÐÏÌØÚÕÊÔÅ .invalid ËÁË ÄÏÍÅÎ 1 ÕÒÏ×ÎÑ ÄÌÑ ÉÓÐÏÒÞÅÎÎÙÈ ÁÄÒÅÓÏ×.\n" #: src/lang.c:195 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a colon after the header name:\n" - "%s\n" -msgstr "\n" - "ïÛÉÂËÁ: úÁÇÏÌÏ×ÏË × ÓÔÒÏËÅ %d ÎÅ ÉÍÅÅÔ Ä×ÏÅÔÏÞÉÑ ÐÏÓÌÅ ÉÍÅÎÉ:\n" - "%s\n" +msgid "Illegal character in FQDN.\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × FQDN.\n" #: src/lang.c:196 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is empty.\n" -msgstr "\n" - "ïÛÉÂËÁ: ðÕcÔÁÑ ÓÔÒÏËÁ \"%s:\".\n" +msgid "Zero length FQDN component not allowed.\n" +msgstr "îÕÌÅ×ÁÑ ÄÌÉÎÁ ËÏÍÐÏÎÅÎÔÁ FQDN ÎÅÄÏÐÕÓÔÉÍÁ.\n" #: src/lang.c:197 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is missing from the article header.\n" -msgstr "\n" - "ïÛÉÂËÁ: óÔÒÏËÁ \"%s:\" ÐÒÏÐÕÝÅÎÁ × ÚÁÌÏ×ËÅ ÓÔÁÔØÉ.\n" +msgid "FQDN component exceeds maximum allowed length (63 chars).\n" +msgstr "ëÏÍÐÏÎÅÎÔ FQDN ÐÒÅ×ÙÛÁÅÔ ÍÁËÓ. ÄÏÐÕÓÔÉÍÕÀ ÄÌÉÎÕ (63 ÚÎÁËÁ).\n" #: src/lang.c:198 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a space after the colon:\n" - "%s\n" -msgstr "\n" - "ïÛÉÂËÁ: úÁÇÏÌÏ×ÏË × ÓÔÒÏËÅ %d ÎÅ ÉÍÅÅÔ ÐÒÏÂÅÌÁ ÐÏÓÌÅ Ä×ÏÅÔÏÞÉÑ:\n" - "%s\n" +msgid "FQDN component may not start or end with hyphen.\n" +msgstr "ëÏÍÐÏÎÅÎÔ FQDN ÎÅ ÍÏÖÅÔ ÎÁÞÉÎÁÔØÓÑ ÉÌÉ ÚÁËÁÎÞÉ×ÁÔØÓÑ ÄÅÆÉÓÏÍ.\n" #: src/lang.c:199 -#, c-format -msgid "\n" - "Error: There are multiple (%d) \"%s:\" lines in the header.\n" -msgstr "\n" - "ïÛÉÂËÁ: îÅÓËÏÌØËÏ ÓÔÒÏË (%d) \"%s:\" × ÚÁÇÏÌÏ×ËÅ.\n" +msgid "FQDN component may not start with digit.\n" +msgstr "ëÏÍÐÏÎÅÎÔ FQDN ÎÅ ÍÏÖÅÔ ÎÁÞÉÎÁÔØÓÑ Ó ÃÉÆÒÙ.\n" #: src/lang.c:200 -#, c-format -msgid "Insecure permissions of %s (%o)" -msgstr "îÅÂÅÚÏÐÁÓÎÙÅ ÐÒÁ×Á ÄÏÓÔÕÐÁ %s (%o)" +msgid "Domain literal has impossible numeric value.\n" +msgstr "÷ ÚÎÁËÅ ÄÏÍÅÎÁ ÎÅÄÏÐÕÓÔÉÍÙÊ ÃÉÆÒÏ×ÏÊ ÚÎÁË.\n" #: src/lang.c:201 -#, c-format -msgid "Invalid response to GROUP command, %s" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÏÔ×ÅÔ ÎÁ ËÏÍÁÎÄÕ GROUP, %s" +msgid "Domain literal is for private use only and not allowed for global use.\n" +msgstr "úÎÁË ÄÏÍÅÎÁ ÔÏÌØËÏ ÄÌÑ ÞÁÓÔÎÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ É ÎÅÄÏÐÕÓÔÉÍ.\n" + +#: src/lang.c:202 +msgid "Right bracket missing in domain literal.\n" +msgstr "÷ ÚÎÁËÅ ÄÏÍÅÎÁ ÐÒÏÐÕÝÅÎÁ ÐÒÁ×ÁÑ ÓËÏÂËÁ.\n" #: src/lang.c:203 -#, c-format -msgid "MIME parse error: Unexpected end of %s/%s article" -msgstr "ïÛÉÂËÁ ÏÂÒÁÂÏÔËÉ MIME: îÅÏÖÉÄÁÎÎÏÅ ÏËÏÎÞÁÎÉÅ ÓÔÁÔØÉ %s/%s" +msgid "Missing localpart of mail address.\n" +msgstr "ðÒÏÐÕÝÅÎÁ ÌÏËÁÌØÎÁÑ ÞÁÓÔØ ÐÏÞÔÏ×ÏÇÏ ÁÄÒÅÓÁ.\n" #: src/lang.c:204 -msgid "MIME parse error: Start boundary whilst reading headers" -msgstr "ïÛÉÂËÁ ÏÂÒÁÂÏÔËÉ MIME: îÁÞÁÌÏ ÇÒÁÎÉÃÙ × ÚÁÇÏÌÏ×ËÅ" +msgid "Illegal character in localpart of mail address.\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÌÏËÁÌØÎÏÊ ÞÁÓÔÉ ÐÏÞÔÏ×ÏÇÏ ÁÄÒÅÓÁ.\n" #: src/lang.c:205 -msgid "Can't get a (fully-qualified) domain-name!" -msgstr "îÅ ÕÄÁ£ÔÓÑ ÐÏÌÕÞÉÔØ ÐÏÌÎÏÅ ÉÍÑ ÄÏÍÅÎÁ!" +msgid "Zero length localpart component not allowed.\n" +msgstr "îÕÌÅ×ÁÑ ÄÌÉÎÁ ÌÏËÁÌØÎÏÊ ÞÁÓÔÉ email ÎÅÄÏÐÕÓÔÉÍÁ.\n" #: src/lang.c:206 -#, c-format -msgid "No permissions to go into %s\n" -msgstr "îÅÔ ÄÏÓÔÕÐÁ ÄÌÑ %s\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" + "óÌÏ×Á ÂÅÚ ËÁ×ÙÞÅË ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '!()<>@,;:\\.[]' × ÁÄÒÅÓÅ.\n" #: src/lang.c:207 -msgid "\n" - "Error: From: line missing.\n" -msgstr "\n" - "ïÛÉÂËÁ: ðÒÏÐÕÝÅÎÁ ÓÔÒÏËÁ From:.\n" +msgid "Illegal character in realname.\n" + "Quoted words may not contain '()<>\\'.\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" + "óÌÏ×Á × ËÁ×ÙÞËÁÈ ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '()<>\\'.\n" #: src/lang.c:208 -#, c-format -msgid "No read permissions for %s\n" -msgstr "îÅÔ ÐÒÁ×Á ÎÁ ÞÔÅÎÉÅ ÄÌÑ %s\n" +msgid "Illegal character in realname.\n" + "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" + "ëÏÄÉÒÏ×ÁÎÎÙÅ ÓÌÏ×Á ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '!()<>@,;:\"\\.[]/=' × ÐÁÒÁÍÅÔÒÅ.\n" #: src/lang.c:209 -#, c-format -msgid "File %s does not exist\n" -msgstr "æÁÊÌ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ\n" +msgid "Bad syntax in encoded word used in realname.\n" +msgstr "îÅ×ÅÒÎÙÊ ÓÉÎÔÁËÓÉÓ × ËÏÄÉÒÏ×ÁÎÎÏÍ ÓÌÏ×Å, ÉÓÐÏÌØÚÏ×ÁÎÎÏÍ × ÉÍÅÎÉ.\n" #: src/lang.c:210 -#, c-format -msgid "No write permissions for %s\n" -msgstr "îÅÔ ÐÒÁ×Á ÎÁ ÚÁÐÉÓØ ÄÌÑ %s\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '()<>\\' in old-style addresses.\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" + "óÌÏ×Á ÂÅÚ ËÁ×ÙÞÅË ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ '()<>\\' × ÁÄÒÅÓÁÈ ÓÔÁÒÏÇÏ ÓÔÉÌÑ.\n" #: src/lang.c:211 -msgid "Can't get user information (/etc/passwd missing?)" -msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÏÌØÚÏ×ÁÔÅÌÅ (ÎÅÔ /etc/passwd ?)" +msgid "Illegal character in realname.\n" + "Control characters and unencoded 8bit characters > 127 are not allowed.\n" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË × ÉÍÅÎÉ.\n" + "õÐÒÁ×ÌÑÀÝÉÅ ÓÉÍ×ÏÌÙ É ÎÅËÏÄ. 8-ÂÉÔÎÙÅ ÓÉÍ×. > 127 ÎÅÄÏÐÕÓÔÉÍÙ.\n" #: src/lang.c:212 -msgid "errors" -msgstr "ÏÛÉÂËÉ" +msgid "\n" + "Error: No blank line found after header.\n" +msgstr "\n" + "ïÛÉÂËÁ: îÅ ÎÁÊÄÅÎÁ ÐÕÓÔÁÑ ÓÔÒÏËÁ ÐÏÓÌÅ ÚÁÇÏÌÏ×ËÁ.\n" #: src/lang.c:213 #, c-format -msgid "\n" - "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" -msgstr "\n" - "ïÛÉÂËÁ × ÓÔÒÏËÅ %d: úÁÇÏÌÏ×ÏË \"Sender:\" ÎÅÄÏÐÕÓÔÉÍ (ÂÕÄÅÔ ÄÏÂÁ×ÌÅÎ)\n" - -#: src/lang.c:214 -#, c-format -msgid "Server has non of the groups listed in %s" -msgstr "îÁ ÓÅÒ×ÅÒÅ ÎÅÔ ÎÉ ÏÄÎÏÊ ÇÒÕÐÐÙ ÕËÁÚÁÎÎÙÈ × %s" +msgid "\n" + "Error: Illegal formatted %s.\n" +msgstr "" +#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:215 -msgid "error" -msgstr "ÏÛÉÂËÁ" - -#: src/lang.c:216 -msgid "Unknown display level" -msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÕÒÏ×ÅÎØ ÄÉÓÐÌÅÑ" - -#: src/lang.c:217 -msgid "" -msgstr "" - -#: src/lang.c:218 -msgid "Exiting..." -msgstr "÷ÙÈÏÄ..." - -#: src/lang.c:219 -msgid "leaving external mail-reader" -msgstr "ÏÓÔÁ×ÌÑÅÍ ×ÎÅÛÎÉÊ ÐÏÞÔÏ×ÙÊ ËÌÉÅÎÔ" +msgid "\n" + "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" + " US-ASCII - please change this setting to a suitable value for\n" + " your language using the M)enu of configurable options or by\n" + " editing tinrc.\n" +msgstr "\n" + "ïÛÉÂËÁ: óÏÏÂÝÅÎÉÅ ÓÏÄÅÒÖÉÔ ÎÅ-ASCII ÓÉÍ×ÏÌÙ ÎÏ MM_CHARSET ÕÓÔÁÎÏ×ÌÅÎ\n" + " US-ASCII - ÐÏÖÁÌÕÊÓÔÁ ÓÍÅÎÉÔÅ ÚÎÁÞÅÎÉÅ ÎÁ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÅ\n" + " ×ÁÛÅÍÕ ÑÚÙËÕ, ÉÓÐÏÌØÚÕÑ M)ÍÅÎÀ ËÏÎÆÉÇÕÒÉÒÕÅÍÙÈ ÚÎÁÞÅÎÉÊ ÉÌÉ\n" + " ÏÔÒÅÄÁËÔÉÒÕÊÔÅ tinrc.\n" #: src/lang.c:220 +msgid "\n" + "Error: Posting contains non-ASCII characters but the MIME encoding\n" + " for news messages is set to \"7bit\" - please change this\n" + " setting to \"8bit\" or \"quoted-printable\" depending on what\n" + " is more common in your part of the world. This can be done\n" + " using the M)enu of configurable options or by editing tinrc.\n" +msgstr "\n" + "ïÛÉÂËÁ: óÏÏÂÝÅÎÉÅ ÓÏÄÅÒÖÉÔ ÎÅ-ASCII ÓÉÍ×ÏÌÙ, ÎÏ ËÏÄÉÒÏ×ËÁ MIME ÕÓÔÁÎÏ×ÌÅÎÁ\n" + " × \"7bit\" - ÐÏÖÁÌÕÊÓÔÁ ÓÍÅÎÉÔÅ ÚÎÁÞÅÎÉÅ ÎÁ \"8bit\" ÉÌÉ\n" + " \"quoted-printable\" × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÏÇÏ, ÞÔÏ ÐÒÉÎÑÔÏ × ×ÁÛÅÍ\n" + " ÒÅÇÉÏÎÅ. éÓÐÏÌØÚÕÊÔÅ M)ÍÅÎÀ ËÏÎÆÉÇÕÒÉÒÕÅÍÙÈ ÏÐÃÉÊ ÉÌÉ ÏÔÒÅÄÁËÔÉÒÕÊÔÅ\n" + "\t ÆÁÊÌ tinrc.\n" + +#: src/lang.c:226 +msgid "\n" + "Error: Article starts with blank line instead of header\n" +msgstr "\n" + "ïÛÉÂËÁ: óÔÁÔØÑ ÎÁÞÉÎÁÅÔÓÑ Ó ÐÕÓÔÏÊ ÓÔÒÏËÉ ×ÍÅÓÔÏ ÚÁÇÏÌÏ×ËÁ\n" + +#: src/lang.c:227 #, c-format -msgid "Extracting %s..." -msgstr "éÚ×ÌÅËÁÅÍ %s..." +msgid "\n" + "Error: Header on line %d does not have a colon after the header name:\n" + "%s\n" +msgstr "\n" + "ïÛÉÂËÁ: úÁÇÏÌÏ×ÏË × ÓÔÒÏËÅ %d ÎÅ ÉÍÅÅÔ Ä×ÏÅÔÏÞÉÑ ÐÏÓÌÅ ÉÍÅÎÉ:\n" + "%s\n" -#: src/lang.c:222 +#: src/lang.c:228 #, c-format -msgid "Error writing %s file. Filesystem full? File reset to previous state." -msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÆÁÊÌÁ %s. îÅÔ ÍÅÓÔÁ? ÷ÏÓÓÔÁÎÏ×ÌÅÎÏ ÐÒÅÄ. ÓÏÓÔÏÑÎÉÅ ÆÁÊÌÁ." +msgid "\n" + "Error: The \"%s:\" line is empty.\n" +msgstr "\n" + "ïÛÉÂËÁ: ðÕcÔÁÑ ÓÔÒÏËÁ \"%s:\".\n" -#: src/lang.c:223 +#: src/lang.c:229 #, c-format -msgid "Error making backup of %s file. Filesystem full?" -msgstr "ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s. îÅÔ ÍÅÓÔÁ?" +msgid "\n" + "Error: The \"%s:\" line is missing from the article header.\n" +msgstr "\n" + "ïÛÉÂËÁ: óÔÒÏËÁ \"%s:\" ÐÒÏÐÕÝÅÎÁ × ÚÁÌÏ×ËÅ ÓÔÁÔØÉ.\n" -#: src/lang.c:224 +#: src/lang.c:230 #, c-format -msgid "Filtering global rules (%d/%d)..." -msgstr "æÉÌØÔÒÁÃÉÑ ÇÌÏÂÁÌØÎÙÈ ÐÒÁ×ÉÌ (%d/%d)..." +msgid "\n" + "Error: %s contains non 7bit chars.\n" +msgstr "" -#: src/lang.c:225 -msgid "Rule created by: " -msgstr "ðÒÁ×ÉÌÏ ÓÏÚÄÁÎÏ: " +#: src/lang.c:231 +#, c-format +msgid "\n" + "Error: Header on line %d does not have a space after the colon:\n" + "%s\n" +msgstr "\n" + "ïÛÉÂËÁ: úÁÇÏÌÏ×ÏË × ÓÔÒÏËÅ %d ÎÅ ÉÍÅÅÔ ÐÒÏÂÅÌÁ ÐÏÓÌÅ Ä×ÏÅÔÏÞÉÑ:\n" + "%s\n" -#: src/lang.c:226 +#: src/lang.c:232 #, c-format -msgid "Enter pattern [%s]> " -msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ [%s]> " +msgid "\n" + "Error: There are multiple (%d) \"%s:\" lines in the header.\n" +msgstr "\n" + "ïÛÉÂËÁ: îÅÓËÏÌØËÏ ÓÔÒÏË (%d) \"%s:\" × ÚÁÇÏÌÏ×ËÅ.\n" -#: src/lang.c:227 +#: src/lang.c:233 #, c-format -msgid "\n" - "You requested followups to your article to go to the following %s:\n" -msgstr "" +msgid "Insecure permissions of %s (%o)" +msgstr "îÅÂÅÚÏÐÁÓÎÙÅ ÐÒÁ×Á ÄÏÓÔÕÐÁ %s (%o)" -#: src/lang.c:228 +#: src/lang.c:235 #, c-format -msgid " %s\t Answers will be directed to you by mail.\n" -msgstr " %s\t ïÔ×ÅÔÙ ÂÕÄÕÔ ÎÁÐÒÁ×ÌÅÎÙ Ë ×ÁÍ ÐÏ email.\n" +msgid "Invalid response to GROUP command, %s" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÏÔ×ÅÔ ÎÁ ËÏÍÁÎÄÕ GROUP, %s" -#: src/lang.c:229 -msgid "-- forwarded message --\n" -msgstr "-- ÐÅÒÅÓÌÁÎÎÏÅ ÓÏÏÂÝÅÎÉÅ --\n" +#: src/lang.c:240 +#, c-format +msgid "MIME parse error: Unexpected end of %s/%s article" +msgstr "ïÛÉÂËÁ ÏÂÒÁÂÏÔËÉ MIME: îÅÏÖÉÄÁÎÎÏÅ ÏËÏÎÞÁÎÉÅ ÓÔÁÔØÉ %s/%s" -#: src/lang.c:230 -msgid "-- end of forwarded message --\n" -msgstr "-- ËÏÎÅà ÐÅÒÅÓÌÁÎÎÏÇÏ ÓÏÏÂÝÅÎÉÑ --\n" +#: src/lang.c:241 +msgid "MIME parse error: Start boundary whilst reading headers" +msgstr "ïÛÉÂËÁ ÏÂÒÁÂÏÔËÉ MIME: îÁÞÁÌÏ ÇÒÁÎÉÃÙ × ÚÁÇÏÌÏ×ËÅ" -#: src/lang.c:231 -msgid "# Format:\n" - "# comment=STRING Optional. Multiple lines allowed. Comments must be " - "placed\n" - "# at the beginning of a rule, or they will be moved to " - "the\n" - "# next rule. '#' is not a valid keyword for a comment!\n" - "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" - "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" - "# score=NUM|STRING Mandatory. Score to give. Either:\n" - "# score=NUM A number (e.g. 70). Or:\n" - "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" - "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" - "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" - "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" - "# full references.\n" - "# msgid_last=STRING Optional. Like above, but with last reference only.\n" - "# msgid_only=STRING Optional. Like above, but without references.\n" - "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " - "without\n" - "# Message-ID:\n" - "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" - "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " - "opt.\n" - "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" - "# time=NUM Optional. time_t value when rule expires\n" - "#\n" -msgstr "" +#: src/lang.c:242 +#, fuzzy +msgid "\n" + "Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "\n" + "ïÛÉÂËÁ: \"%s\" - ÎÅÄÏÐÕÓÔÉÍÁÑ ÇÒÕÐÐÁ!\n" -#: src/lang.c:252 +#: src/lang.c:243 +msgid "Can't get a (fully-qualified) domain-name!" +msgstr "îÅ ÕÄÁ£ÔÓÑ ÐÏÌÕÞÉÔØ ÐÏÌÎÏÅ ÉÍÑ ÄÏÍÅÎÁ!" + +#: src/lang.c:244 #, c-format -msgid "Enter score for rule (default=%d): " -msgstr "÷×ÅÄÉÔÅ score ÄÌÑ ÐÒÁ×ÉÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ=%d): " +msgid "No permissions to go into %s\n" +msgstr "îÅÔ ÄÏÓÔÕÐÁ ÄÌÑ %s\n" -#: src/lang.c:253 +#: src/lang.c:246 +msgid "\n" + "Error: From: line missing.\n" +msgstr "\n" + "ïÛÉÂËÁ: ðÒÏÐÕÝÅÎÁ ÓÔÒÏËÁ From:.\n" + +#: src/lang.c:248 #, c-format -msgid "Enter the score weight (range 0 < score <= %d)" -msgstr "÷×ÅÄÉÔÅ ×ÅÓ score (× ÐÒÅÄÅÌÁÈ 0 < score <= %d)" +msgid "No read permissions for %s\n" +msgstr "îÅÔ ÐÒÁ×Á ÎÁ ÞÔÅÎÉÅ ÄÌÑ %s\n" -#. SCORE_MAX -#: src/lang.c:254 -msgid "Full" -msgstr "ðÏÌÎÙÊ" +#: src/lang.c:249 +#, c-format +msgid "File %s does not exist\n" +msgstr "æÁÊÌ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ\n" + +#: src/lang.c:250 +#, c-format +msgid "No write permissions for %s\n" +msgstr "îÅÔ ÐÒÁ×Á ÎÁ ÚÁÐÉÓØ ÄÌÑ %s\n" + +#: src/lang.c:251 +msgid "Can't get user information (/etc/passwd missing?)" +msgstr "îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÏÌØÚÏ×ÁÔÅÌÅ (ÎÅÔ /etc/passwd ?)" + +#: src/lang.c:252 +msgid "errors" +msgstr "ÏÛÉÂËÉ" -#: src/lang.c:255 -msgid "Comment (optional) : " -msgstr "ëÏÍÍÅÎÔÁÒÉÊ (ÏÐÃÉÏÎÁÌÅÎ): " +#: src/lang.c:254 +#, c-format +msgid "\n" + "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" +msgstr "\n" + "ïÛÉÂËÁ × ÓÔÒÏËÅ %d: úÁÇÏÌÏ×ÏË \"Sender:\" ÎÅÄÏÐÕÓÔÉÍ (ÂÕÄÅÔ ÄÏÂÁ×ÌÅÎ)\n" #: src/lang.c:256 -msgid "Apply pattern to : " -msgstr "ðÒÉÍÅÎÉÔØ ÛÁÂÌÏÎ Ë : " +#, c-format +msgid "Server has non of the groups listed in %s" +msgstr "îÁ ÓÅÒ×ÅÒÅ ÎÅÔ ÎÉ ÏÄÎÏÊ ÇÒÕÐÐÙ ÕËÁÚÁÎÎÙÈ × %s" #: src/lang.c:257 -msgid "From: line (ignore case) " -msgstr "From: ÓÔÒÏËÁ (ÉÇÎÏÒ. ÒÅÇÉÓÔÒ) " +msgid "error" +msgstr "ÏÛÉÂËÁ" #: src/lang.c:258 -msgid "From: line (case sensitive) " -msgstr "From: ÓÔÒÏËÁ (ÎÅ ÉÇÎÏÒ. ÒÅÇÉÓÔÒ) " +msgid "Unknown display level" +msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÕÒÏ×ÅÎØ ÄÉÓÐÌÅÑ" + +#: src/lang.c:259 +msgid "" +msgstr "" #: src/lang.c:260 -#, c-format -msgid "%s%s: Unknown host.\n" -msgstr "%s%s: îÅÉÚ×ÅÓÔÎÙÊ ÈÏÓÔ.\n" +msgid "Exiting..." +msgstr "÷ÙÈÏÄ..." #: src/lang.c:261 -msgid "global " -msgstr "ÇÌÏÂÁÌØÎÙÈ " +msgid "leaving external mail-reader" +msgstr "ÏÓÔÁ×ÌÑÅÍ ×ÎÅÛÎÉÊ ÐÏÞÔÏ×ÙÊ ËÌÉÅÎÔ" #: src/lang.c:262 #, c-format -msgid "Please use %.100s instead" -msgstr "ðÏÖÁÌÕÊÓÔÁ ÉÓÐÏÌØÚÕÊÔÅ ×ÍÅÓÔÏ ÜÔÏÇÏ %.100s" - -#: src/lang.c:263 -#, c-format -msgid "%s is bogus" -msgstr "%s ÆÉËÔÉ×ÎÁ (bogus)" +msgid "Extracting %s..." +msgstr "éÚ×ÌÅËÁÅÍ %s..." #: src/lang.c:264 #, c-format -msgid "Group %s is moderated. Continue?" -msgstr "çÒÕÐÐÁ %s ÍÏÄÅÒÉÒÕÅÔÓÑ. ðÒÏÄÏÌÖÉÔØ?" +msgid "Error writing %s file. Filesystem full? File reset to previous state." +msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÆÁÊÌÁ %s. îÅÔ ÍÅÓÔÁ? ÷ÏÓÓÔÁÎÏ×ÌÅÎÏ ÐÒÅÄ. ÓÏÓÔÏÑÎÉÅ ÆÁÊÌÁ." #: src/lang.c:265 -msgid "groups" -msgstr "ÇÒÕÐÐÙ" +#, c-format +msgid "Error making backup of %s file. Filesystem full?" +msgstr "ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s. îÅÔ ÍÅÓÔÁ?" #: src/lang.c:266 #, c-format -msgid "Rereading %s..." -msgstr "ðÅÒÅÞÉÔÙ×ÁÀ %s..." +msgid "Filtering global rules (%d/%d)..." +msgstr "æÉÌØÔÒÁÃÉÑ ÇÌÏÂÁÌØÎÙÈ ÐÒÁ×ÉÌ (%d/%d)..." #: src/lang.c:267 -msgid "Top Level Commands" -msgstr "ëÏÍÁÎÄÙ ×ÅÒÈÎÅÇÏ ÕÒÏ×ÎÑ" +msgid "Rule created by: " +msgstr "ðÒÁ×ÉÌÏ ÓÏÚÄÁÎÏ: " #: src/lang.c:268 -msgid "Group Selection" -msgstr "÷ÙÂÏÒ ÇÒÕÐÐÙ" +#, c-format +msgid "Enter pattern [%s]> " +msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ [%s]> " #: src/lang.c:269 -msgid "group" -msgstr "ÇÒÕÐÐÁ" +#, c-format +msgid "\n" + "You requested followups to your article to go to the following %s:\n" +msgstr "" + +#: src/lang.c:270 +#, c-format +msgid " %s\t Answers will be directed to you by mail.\n" +msgstr " %s\t ïÔ×ÅÔÙ ÂÕÄÕÔ ÎÁÐÒÁ×ÌÅÎÙ Ë ×ÁÍ ÐÏ email.\n" #: src/lang.c:271 -msgid "One or more lines of comment. to add a line or proceed if line is empty." -msgstr "ïÄÎÁ ÉÌÉ ÂÏÌÅÅ ÓÔÒÏË ËÏÍÍÅÎÔÁÒÉÑ. ÄÏÂÁ×ÉÔØ ÓÔÒÏËÕ ÉÌÉ ÐÒÏÄÏÌÖÉÔØ ÅÓÌÉ " - "ÓÔÒÏËÁ ÐÕÓÔÁ." +msgid "-- forwarded message --\n" +msgstr "-- ÐÅÒÅÓÌÁÎÎÏÅ ÓÏÏÂÝÅÎÉÅ --\n" #: src/lang.c:272 -msgid "From: line to add to filter file. toggles & sets." -msgstr "From: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." +msgid "-- end of forwarded message --\n" +msgstr "-- ËÏÎÅà ÐÅÒÅÓÌÁÎÎÏÇÏ ÓÏÏÂÝÅÎÉÑ --\n" #: src/lang.c:273 -msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." -msgstr "äÌÉÎÁ ÆÉÌØÔÒÕÅÍÙÈ ÓÔÁÔÅÊ. < ÍÅÎØÛÅ, > ÂÏÌØÛÅ, = ÒÁ×ÎÏ." - -#: src/lang.c:274 -msgid "Message-ID: line to add to filter file. toggles & sets." -msgstr "Message-ID: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:275 -msgid "Subject: line to add to filter file. toggles & sets." -msgstr "ôÅÍÁ: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:276 -msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." -msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ÆÉÌØÔÒÁÃÉÉ ÅÓÌÉ Subject: É From: ÓÔÒÏËÉ ÎÅÖÅÌÁÎÎÙ." - -#: src/lang.c:277 -msgid "Select where text pattern should be applied. toggles & sets." -msgstr "÷ÙÂÒÁÔØ ÉÅÓÔÏ ÐÒÉÍÅÎÅÎÉÑ ÛÁÂÌÏÎÁ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:278 -msgid "Expiration time in days for the entered filter. toggles & sets." -msgstr "÷ÒÅÍÑ ÄÅÊÓÔ×ÉÑ ÆÉÌØÔÒÁ × ÄÎÑÈ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:279 -msgid "Apply kill only to current group or all groups. toggles & sets." -msgstr "ðÒÉÍÅÎÉÔØ kill ÔÏÌØËÏ Ë ÔÅËÕÝÅÊ ÉÌÉ ËÏ ×ÓÅÍ ÇÒÕÐÐÁÍ. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:280 -msgid "Apply select to current group or all groups. toggles & sets." -msgstr "ðÒÉÍÅÎÉÔØ ×ÙÂÏÒ Ë ÔÅËÕÝÅÊ ÉÌÉ ËÏ ×ÓÅÍ ÇÒÕÐÐÁÍ. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:281 -msgid "kill an article via a menu" -msgstr "ÕÎÉÞÔÏÖÉÔØ ÓÔÁÔØÀ ÞÅÒÅÚ ÍÅÎÀ" - -#: src/lang.c:282 -msgid "auto-select (hot) an article via a menu" -msgstr "Á×ÔÏ×ÙÂÏÒ (hot) ÓÔÁÔØÉ ÞÅÒÅÚ ÍÅÎÀ" - -#: src/lang.c:283 -msgid "Browse URLs in article" -msgstr "ðÒÏÓÍÏÔÒ URL × ÓÔÁÔØÅ" - -#: src/lang.c:284 -msgid "0 - 9\t display article by number in current thread" -msgstr "0 - 9\t ÐÏËÁÚÁÔØ ÓÔÁÔØÀ ÐÏ ÎÏÍÅÒÕ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ" - -#: src/lang.c:285 -msgid "cancel (delete) or supersede (overwrite) current article" -msgstr "ÏÔÍÅÎÉÔØ (ÕÄÁÌÉÔØ) ÉÌÉ ÚÁÍÅÎÉÔØ (ÐÅÒÅÐÉÓÁÔØ) ÔÅËÕÝÕÀ ÓÔÁÔØÀ" - -#: src/lang.c:286 -msgid "edit article (mail-groups only)" -msgstr "ÒÅÄÁËÔÉÒÏ×ÁÔØ ÓÔÁÔØÀ (ÔÏÌØËÏ ÄÌÑ ÐÏÞÔÏ×ÙÈ ÇÒÕÐÐ)" - -#: src/lang.c:287 -msgid "display first article in current thread" -msgstr "ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ" - -#: src/lang.c:288 -msgid "display first page of article" -msgstr "ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÒÁÎÉÃÕ ÓÔÁÔØÉ" - -#: src/lang.c:289 -msgid "post followup to current article" -msgstr "ÏÔÐÒÁ×ÉÔØ followup ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ" - -#: src/lang.c:290 -msgid "post followup (don't copy text) to current article" -msgstr "ÏÔÐÒÁ×ÉÔØ followup (ÎÅ ËÏÐÉÒÕÑ ÔÅËÓÔ) ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ" - -#: src/lang.c:291 -msgid "post followup to current article quoting complete headers" -msgstr "ÏÔÐÒÁ×ÉÔØ followup ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ, ÃÉÔÉÒÕÑ ÐÏÌÎÙÅ ÚÁÇÏÌÏ×ËÉ" - -#: src/lang.c:292 -msgid "display last article in current thread" -msgstr "ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÁÔØÀ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ" - -#: src/lang.c:293 -msgid "display last page of article" -msgstr "ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÒÁÎÉÃÕ ÓÔÁÔØÉ" +msgid "# Format:\n" + "# comment=STRING Optional. Multiple lines allowed. Comments must be " + "placed\n" + "# at the beginning of a rule, or they will be moved to " + "the\n" + "# next rule. '#' is not a valid keyword for a comment!\n" + "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" + "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" + "# score=NUM|STRING Mandatory. Score to give. Either:\n" + "# score=NUM A number (e.g. 70). Or:\n" + "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" + "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" + "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" + "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" + "# full references.\n" + "# msgid_last=STRING Optional. Like above, but with last reference only.\n" + "# msgid_only=STRING Optional. Like above, but without references.\n" + "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " + "without\n" + "# Message-ID:\n" + "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" + "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " + "opt.\n" + "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" + "# time=NUM Optional. time_t value when rule expires\n" + "#\n" +msgstr "" #: src/lang.c:294 -msgid "mark rest of thread as read and advance to next unread" -msgstr "ÐÏÍÅÔÉÔØ ÏÓÔÁÔÏË ÄÉÓË. ËÁË ÐÒÏÞÉÔÁÎÎÙÊ É ÐÅÒÅÊÔÉ ÎÁ ÓÌÅÄ. ÎÅÐÒÏÞÉÔ." +#, c-format +msgid "Enter score for rule (default=%d): " +msgstr "÷×ÅÄÉÔÅ score ÄÌÑ ÐÒÁ×ÉÌÁ (ÐÏ ÕÍÏÌÞÁÎÉÀ=%d): " #: src/lang.c:295 -msgid "display next article" -msgstr "ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÓÔÁÔØÀ" +#, c-format +msgid "Enter the score weight (range 0 < score <= %d)" +msgstr "÷×ÅÄÉÔÅ ×ÅÓ score (× ÐÒÅÄÅÌÁÈ 0 < score <= %d)" +#. SCORE_MAX #: src/lang.c:296 -msgid "display first article in next thread" -msgstr "ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÓÌÅÄÕÀÝÅÊ ÄÉÓËÕÓÓÉÉ" +msgid "Full" +msgstr "ðÏÌÎÙÊ" #: src/lang.c:297 -msgid "display next unread article" -msgstr "ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÓÔÁÔØÀ" +msgid "Comment (optional) : " +msgstr "ëÏÍÍÅÎÔÁÒÉÊ (ÏÐÃÉÏÎÁÌÅÎ): " #: src/lang.c:298 -msgid "go to the article that this one followed up" -msgstr "ÐÅÒÅÊÔÉ ÎÁ ÓÔÁÔØÀ ÚÁ ËÏÔÏÒÏÊ ÓÌÅÄÕÅÔ ÜÔÁ ÓÔÁÔØÑ" +msgid "Apply pattern to : " +msgstr "ðÒÉÍÅÎÉÔØ ÛÁÂÌÏÎ Ë : " #: src/lang.c:299 -msgid "display previous article" -msgstr "ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÓÔÁÔØÀ" +msgid "From: line (ignore case) " +msgstr "From: ÓÔÒÏËÁ (ÉÇÎÏÒ. ÒÅÇÉÓÔÒ) " #: src/lang.c:300 -msgid "display previous unread article" -msgstr "ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÓÔÁÔØÀ" - -#: src/lang.c:301 -msgid "quickly kill an article using defaults" -msgstr "ÂÙÓÔÒÏ ÕÎÉÞÔÏÖÉÔØ ÓÔÁÔØÀ ÉÓÐÏÌØÚÕÑ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" +msgid "From: line (case sensitive) " +msgstr "From: ÓÔÒÏËÁ (ÎÅ ÉÇÎÏÒ. ÒÅÇÉÓÔÒ) " #: src/lang.c:302 -msgid "quickly auto-select (hot) an article using defaults" -msgstr "ÂÙÓÔÒÙÊ Á×ÔÏ×ÙÂÏÒ (hot) ÓÔÁÔØÉ ÉÓÐÏÌØÚÕÑ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" - -#: src/lang.c:303 -msgid "return to group selection level" -msgstr "×ÅÒÎÕÔØÓÑ × ÕÒÏ×ÅÎØ ×ÙÂÏÒÁ ÇÒÕÐÐ" +#, c-format +msgid "%s%s: Unknown host.\n" +msgstr "%s%s: îÅÉÚ×ÅÓÔÎÙÊ ÈÏÓÔ.\n" #: src/lang.c:304 -msgid "reply through mail to author" -msgstr "ÏÔ×ÅÔÉÔØ Á×ÔÏÒÕ ÐÏ email" +msgid "global " +msgstr "ÇÌÏÂÁÌØÎÙÈ " #: src/lang.c:305 -msgid "reply through mail (don't copy text) to author" -msgstr "ÏÔ×ÅÔÉÔØ (ÎÅ ×ÓÔÁ×ÌÑÑ ÔÅËÓÔ) Á×ÔÏÒÕ ÐÏ email" +#, c-format +msgid "Please use %.100s instead" +msgstr "ðÏÖÁÌÕÊÓÔÁ ÉÓÐÏÌØÚÕÊÔÅ ×ÍÅÓÔÏ ÜÔÏÇÏ %.100s" #: src/lang.c:306 -msgid "reply through mail to author quoting complete headers" -msgstr "ÏÔ×ÅÔÉÔØ (ÃÉÔÉÒÕÑ ÐÏÌÎÏÓÔØÀ ÚÁÇÏÌÏ×ËÉ) Á×ÔÏÒÕ ÐÏ email" +#, c-format +msgid "%s is bogus" +msgstr "%s ÆÉËÔÉ×ÎÁ (bogus)" #: src/lang.c:307 -msgid "repost chosen article to another group" -msgstr "ÏÔÐÒÁ×ÉÔØ ×ÙÂÒÁÎÎÕÀ ÓÔÁÔØÀ × ÄÒÕÇÕÀ ÇÒÕÐÐÕ" +#, c-format +msgid "Group %s is moderated. Continue?" +msgstr "çÒÕÐÐÁ %s ÍÏÄÅÒÉÒÕÅÔÓÑ. ðÒÏÄÏÌÖÉÔØ?" #: src/lang.c:308 -msgid "search backwards within this article" -msgstr "ÐÏÉÓË ÎÁÚÁÄ ×ÎÕÔÒÉ ÜÔÏÊ ÓÔÁÔØÉ" +msgid "groups" +msgstr "ÇÒÕÐÐÙ" #: src/lang.c:309 -msgid "search forwards within this article" -msgstr "ÐÏÉÓË ×ÐÅÒ£Ä ×ÎÕÔÒÉ ÜÔÏÊ ÓÔÁÔØÉ" +#, c-format +msgid "Rereading %s..." +msgstr "ðÅÒÅÞÉÔÙ×ÁÀ %s..." #: src/lang.c:310 -msgid "show article in raw-mode (including all headers)" -msgstr "ÐÏËÁÚÁÔØ ÓÔÁÔØÀ × raw ÒÅÖÉÍÅ (×ËÌÀÞÁÑ ×ÓÅ ÚÁÇÏÌÏ×ËÉ)" +msgid "Top Level Commands" +msgstr "ëÏÍÁÎÄÙ ×ÅÒÈÎÅÇÏ ÕÒÏ×ÎÑ" #: src/lang.c:311 -msgid "skip next block of included text" -msgstr "ÐÒÏÐÕÓÔÉÔØ ÓÌÅÄÕÀÝÉÊ ÂÌÏË ×ËÌÀÞ£ÎÎÏÇÏ ÔÅËÓÔÁ" +msgid "Group Selection" +msgstr "÷ÙÂÏÒ ÇÒÕÐÐÙ" #: src/lang.c:312 -msgid "toggle display of sections hidden by a form-feed (^L) on/off" -msgstr "ÉÚÍÅÎÉÔØ ÏÔÏÂÒÁÖÅÎÉÅ ÓÅËÃÉÊ ÓËÒÙÔÙÈ Ó ÐÏÍÏÝØÀ form-feed (^L) ÷ëì/÷ùëì" - -#: src/lang.c:313 -msgid "toggle word highlighting on/off" -msgstr "ÉÚÍÅÎÉÔØ ÐÏÄÓ×ÅÔËÕ ÓÌÏ× ÷ëì/÷ùëì" +msgid "group" +msgstr "ÇÒÕÐÐÁ" #: src/lang.c:314 -msgid "toggle ROT-13 (basic decode) for current article" -msgstr "ÉÚÍÅÎÉÔØ ROT-13 (ÄÅËÏÄÉÒÏ×ÁÎÉÅ) ÄÌÑ ÔÅËÕÝÅÊ ÓÔÁÔØÉ" +msgid "One or more lines of comment. to add a line or proceed if line is empty." +msgstr "ïÄÎÁ ÉÌÉ ÂÏÌÅÅ ÓÔÒÏË ËÏÍÍÅÎÔÁÒÉÑ. ÄÏÂÁ×ÉÔØ ÓÔÒÏËÕ ÉÌÉ ÐÒÏÄÏÌÖÉÔØ ÅÓÌÉ " + "ÓÔÒÏËÁ ÐÕÓÔÁ." #: src/lang.c:315 -msgid "toggle tabwidth 4 <-> 8" -msgstr "ÉÚÍÅÎÉÔØ ÛÉÒÉÎÕ TAB 4 <-> 8" +msgid "From: line to add to filter file. toggles & sets." +msgstr "From: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:316 -msgid "toggle german TeX style decoding for current article" -msgstr "ÉÚÍÅÎÉÔØ ÎÅÍÅÃËÉÊ TeX ÓÔÉÌØ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÄÌÑ ÔÅËÕÝÅÊ ÓÔÁÔØÉ" +msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." +msgstr "äÌÉÎÁ ÆÉÌØÔÒÕÅÍÙÈ ÓÔÁÔÅÊ. < ÍÅÎØÛÅ, > ÂÏÌØÛÅ, = ÒÁ×ÎÏ." #: src/lang.c:317 -msgid "toggle display of uuencoded sections" -msgstr "ÉÚÍÅÎÉÔØ ÐÏËÁÚ UUE ÚÁËÏÄÉÒÏ×ÁÎÎÏÊ ÓÅËÃÉÉ" +msgid "Message-ID: line to add to filter file. toggles & sets." +msgstr "Message-ID: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:318 -msgid "View/save multimedia attachments" -msgstr "ðÒÏÓÍÏÔÒÅÔØ/ÓÏÈÒÁÎÉÔØ ÍÕÌØÔÉÍÅÄÉÑ-×ÌÏÖÅÎÉÅ" +msgid "Subject: line to add to filter file. toggles & sets." +msgstr "ôÅÍÁ: ÓÔÒÏËÁ ÄÌÑ ÄÏÂ. × ÆÉÌØÔÒ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:319 -#, c-format -msgid "report bug or comment via mail to %s" -msgstr "ÏÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÉÌÉ ËÏÍÍÅÎÔÁÒÉÊ %s ÐÏ email" +msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." +msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ÆÉÌØÔÒÁÃÉÉ ÅÓÌÉ Subject: É From: ÓÔÒÏËÉ ÎÅÖÅÌÁÎÎÙ." #: src/lang.c:320 -msgid "choose range of articles to be affected by next command" -msgstr "×ÙÂÒÁÔØ ÄÉÁÐÁÚÏÎ ÓÔÁÔÅÊ ÐÏÄ×ÅÒÖÅÎÎÙÈ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÏÊ" +msgid "Select where text pattern should be applied. toggles & sets." +msgstr "÷ÙÂÒÁÔØ ÉÅÓÔÏ ÐÒÉÍÅÎÅÎÉÑ ÛÁÂÌÏÎÁ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:321 -msgid "escape from command prompt" -msgstr "×ÙÊÔÉ ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ" +msgid "Expiration time in days for the entered filter. toggles & sets." +msgstr "÷ÒÅÍÑ ÄÅÊÓÔ×ÉÑ ÆÉÌØÔÒÁ × ÄÎÑÈ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:322 -msgid "edit filter file" -msgstr "ÒÅÄÁËÔÉÒÏ×ÁÔØ ÆÁÊÌ ÆÉÌØÔÒÁ" +msgid "Apply kill only to current group or all groups. toggles & sets." +msgstr "ðÒÉÍÅÎÉÔØ kill ÔÏÌØËÏ Ë ÔÅËÕÝÅÊ ÉÌÉ ËÏ ×ÓÅÍ ÇÒÕÐÐÁÍ. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:323 -msgid "get help" -msgstr "ÐÏÌÕÞÉÔØ ÐÏÍÏÝØ" +msgid "Apply select to current group or all groups. toggles & sets." +msgstr "ðÒÉÍÅÎÉÔØ ×ÙÂÏÒ Ë ÔÅËÕÝÅÊ ÉÌÉ ËÏ ×ÓÅÍ ÇÒÕÐÐÁÍ. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:324 -msgid "display last article viewed" -msgstr "ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÐÒÏÓÍÏÔÒÅÎÎÕÀ ÓÔÁÔØÀ" +msgid "kill an article via a menu" +msgstr "ÕÎÉÞÔÏÖÉÔØ ÓÔÁÔØÀ ÞÅÒÅÚ ÍÅÎÀ" #: src/lang.c:325 -msgid "down one line" -msgstr "×ÎÉÚ ÎÁ ÏÄÎÕ ÓÔÒÏËÕ" +msgid "auto-select (hot) an article via a menu" +msgstr "Á×ÔÏ×ÙÂÏÒ (hot) ÓÔÁÔØÉ ÞÅÒÅÚ ÍÅÎÀ" #: src/lang.c:326 -msgid "up one line" -msgstr "××ÅÒÈ ÎÁ ÏÄÎÕ ÓÔÒÏËÕ" +msgid "Browse URLs in article" +msgstr "ðÒÏÓÍÏÔÒ URL × ÓÔÁÔØÅ" #: src/lang.c:327 -msgid "go to article chosen by Message-ID" -msgstr "ÐÅÒÅÊÔÉ ÎÁ ÓÔÁÔØÀ ÐÏ Message-ID" - -#: src/lang.c:328 -msgid "mail article/thread/hot/pattern/tagged articles to someone" -msgstr "ÏÔÐÒÁ×ÉÔØ ÓÔÁÔØÀ/ÄÉÓË./hot/ÛÁÂÌÏÎ/ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ ÐÏ email" +msgid "0 - 9\t display article by number in current thread" +msgstr "0 - 9\t ÐÏËÁÚÁÔØ ÓÔÁÔØÀ ÐÏ ÎÏÍÅÒÕ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ" #: src/lang.c:329 -msgid "menu of configurable options" -msgstr "ÍÅÎÀ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÏÐÃÉÊ" +msgid "cancel (delete) or supersede (overwrite) current article" +msgstr "ÏÔÍÅÎÉÔØ (ÕÄÁÌÉÔØ) ÉÌÉ ÚÁÍÅÎÉÔØ (ÐÅÒÅÐÉÓÁÔØ) ÔÅËÕÝÕÀ ÓÔÁÔØÀ" #: src/lang.c:330 -msgid "down one page" -msgstr "×ÎÉÚ ÎÁ ÏÄÎÕ ÓÔÒÁÎÉÃÕ" +msgid "post followup to current article" +msgstr "ÏÔÐÒÁ×ÉÔØ followup ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ" #: src/lang.c:331 -msgid "up one page" -msgstr "××ÅÒÈ ÎÁ ÏÄÎÕ ÓÔÒÁÎÉÃÕ" +msgid "post followup (don't copy text) to current article" +msgstr "ÏÔÐÒÁ×ÉÔØ followup (ÎÅ ËÏÐÉÒÕÑ ÔÅËÓÔ) ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ" #: src/lang.c:332 -msgid "post (write) article to current group" -msgstr "ÏÔÐÒÁ×ÉÔØ (ÎÁÐÉÓÁÔØ) ÓÔÁÔØÀ × ÔÅËÕÝÕÀ ÇÒÕÐÐÕ" +msgid "post followup to current article quoting complete headers" +msgstr "ÏÔÐÒÁ×ÉÔØ followup ÎÁ ÔÅËÕÝÕÀ ÓÔÁÔØÀ, ÃÉÔÉÒÕÑ ÐÏÌÎÙÅ ÚÁÇÏÌÏ×ËÉ" #: src/lang.c:333 -msgid "post postponed articles" -msgstr "ÏÔÐÒÁ×ÉÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ" - -#: src/lang.c:334 -msgid "list articles posted by you (from posted file)" -msgstr "ÓÐÉÓÏË ÓÔÁÔÅÊ ÏÔÐÒÁ×ÌÅÎÎÙÈ ×ÁÍÉ (ÉÚ ÆÁÊÌÁ posted)" +msgid "repost chosen article to another group" +msgstr "ÏÔÐÒÁ×ÉÔØ ×ÙÂÒÁÎÎÕÀ ÓÔÁÔØÀ × ÄÒÕÇÕÀ ÇÒÕÐÐÕ" #: src/lang.c:335 -msgid "return to previous menu" -msgstr "×ÏÚ×ÒÁÔ × ÐÒÅÄÙÄÕÝÅÅ ÍÅÎÀ" +msgid "edit article (mail-groups only)" +msgstr "ÒÅÄÁËÔÉÒÏ×ÁÔØ ÓÔÁÔØÀ (ÔÏÌØËÏ ÄÌÑ ÐÏÞÔÏ×ÙÈ ÇÒÕÐÐ)" #: src/lang.c:336 -msgid "quit tin immediately" -msgstr "×ÙÊÔÉ ÉÚ tin ÎÅÍÅÄÌÅÎÎÏ" +msgid "display first article in current thread" +msgstr "ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ" #: src/lang.c:337 -msgid "redraw page" -msgstr "ÐÅÒÅÒÉÓÏ×ÁÔØ ÓÔÒÁÎÉÃÕ" +msgid "display first page of article" +msgstr "ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÒÁÎÉÃÕ ÓÔÁÔØÉ" #: src/lang.c:338 -msgid "save article/thread/hot/pattern/tagged articles to file" -msgstr "ÓÏÈÒÁÎÉÔØ ÓÔÁÔØÀ/ÄÉÓË./hot/ÛÁÂÌÏÎ/ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ × ÆÁÊÌ" +msgid "display last article in current thread" +msgstr "ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÁÔØÀ × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ" #: src/lang.c:339 -msgid "save marked articles automatically without user prompts" -msgstr "ÓÏÈÒÁÎÑÔØ ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÂÅÚ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ" +msgid "display last page of article" +msgstr "ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÒÁÎÉÃÕ ÓÔÁÔØÉ" #: src/lang.c:340 -msgid "scroll the screen one line down" -msgstr "ÐÒÏËÒÕÔÉÔØ ÜËÒÁÎ ÎÁ ÏÄÎÕ ÌÉÎÉÀ ×ÎÉÚ" +msgid "mark rest of thread as read and advance to next unread" +msgstr "ÐÏÍÅÔÉÔØ ÏÓÔÁÔÏË ÄÉÓË. ËÁË ÐÒÏÞÉÔÁÎÎÙÊ É ÐÅÒÅÊÔÉ ÎÁ ÓÌÅÄ. ÎÅÐÒÏÞÉÔ." #: src/lang.c:341 -msgid "scroll the screen one line up" -msgstr "ÐÒÏËÒÕÔÉÔØ ÜËÒÁÎ ÎÁ ÏÄÎÕ ÌÉÎÉÀ ××ÅÒÈ" +msgid "display next article" +msgstr "ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÓÔÁÔØÀ" #: src/lang.c:342 -msgid "search for articles by author backwards" -msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (ÎÁÚÁÄ)" +msgid "display first article in next thread" +msgstr "ÐÏËÁÚÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÓÌÅÄÕÀÝÅÊ ÄÉÓËÕÓÓÉÉ" #: src/lang.c:343 -msgid "search for articles by author forwards" -msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (×ÐÅÒ£Ä)" +msgid "display next unread article" +msgstr "ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÓÔÁÔØÀ" #: src/lang.c:344 -msgid "search all articles for a given string (this may take some time)" -msgstr "ÐÏÉÓË ×ÓÅÈ ÓÔÁÔÅÊ ÐÏ ÚÁÄÁÎÎÏÊ ÓÔÒÏËÅ (ÍÏÖÅÔ ÚÁÎÑÔØ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ)" +msgid "go to the article that this one followed up" +msgstr "ÐÅÒÅÊÔÉ ÎÁ ÓÔÁÔØÀ ÚÁ ËÏÔÏÒÏÊ ÓÌÅÄÕÅÔ ÜÔÁ ÓÔÁÔØÑ" #: src/lang.c:345 -msgid " \t (searches are case-insensitive and wrap around to all articles)" -msgstr " \t (ÐÏÉÓË ÉÇÎÏÒÉÒÕÅÔ ÒÅÇÉÓÔÒ É ÏÈ×ÁÔÙ×ÁÅÔ ×ÓÅ ÓÔÁÔØÉ)" +msgid "display previous article" +msgstr "ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÓÔÁÔØÀ" #: src/lang.c:346 -msgid "search for articles by Subject line backwards" -msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ ôÅÍÅ (ÎÁÚÁÄ)" +msgid "display previous unread article" +msgstr "ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÓÔÁÔØÀ" #: src/lang.c:347 -msgid "search for articles by Subject line forwards" -msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ ôÅÍÅ (×ÐÅÒ£Ä)" +msgid "quickly kill an article using defaults" +msgstr "ÂÙÓÔÒÏ ÕÎÉÞÔÏÖÉÔØ ÓÔÁÔØÀ ÉÓÐÏÌØÚÕÑ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" #: src/lang.c:348 -msgid "repeat last search" -msgstr "ÐÏ×ÔÏÒÉÔØ ÐÏÓÌÅÄÎÉÊ ÐÏÉÓË" +msgid "quickly auto-select (hot) an article using defaults" +msgstr "ÂÙÓÔÒÙÊ Á×ÔÏ×ÙÂÏÒ (hot) ÓÔÁÔØÉ ÉÓÐÏÌØÚÕÑ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" #: src/lang.c:349 -msgid "tag current article for reposting/mailing/piping/printing/saving" -msgstr "ÏÔÍÅÔÉÔØ ÔÅËÕÝÕÀ ÓÔÁÔØÀ ÄÌÑ ÐÅÒÅÏÔÐ./email/piping/ÐÅÞÁÔÉ/ÓÏÈÒÁÎ." +msgid "return to group selection level" +msgstr "×ÅÒÎÕÔØÓÑ × ÕÒÏ×ÅÎØ ×ÙÂÏÒÁ ÇÒÕÐÐ" #: src/lang.c:350 -msgid "toggle info message in last line (subject/description)" -msgstr "ÉÚÍÅÎÉÔØ ÉÎÆ. ÓÏÏÂÝÅÎÉÅ × ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ (ÔÅÍÁ/ÏÐÉÓÁÎÉÅ)" +msgid "reply through mail to author" +msgstr "ÏÔ×ÅÔÉÔØ Á×ÔÏÒÕ ÐÏ email" #: src/lang.c:351 -msgid "toggle inverse video" -msgstr "ÉÚÍÅÎÉÔØ ÉÎ×ÅÒÓÉÀ ×ÉÄÅÏ" +msgid "reply through mail (don't copy text) to author" +msgstr "ÏÔ×ÅÔÉÔØ (ÎÅ ×ÓÔÁ×ÌÑÑ ÔÅËÓÔ) Á×ÔÏÒÕ ÐÏ email" #: src/lang.c:352 -msgid "toggle mini help menu display" -msgstr "ÉÚÍÅÎÉÔØ ÍÉÎÉÐÏÄÓËÁÚËÕ" +msgid "reply through mail to author quoting complete headers" +msgstr "ÏÔ×ÅÔÉÔØ (ÃÉÔÉÒÕÑ ÐÏÌÎÏÓÔØÀ ÚÁÇÏÌÏ×ËÉ) Á×ÔÏÒÕ ÐÏ email" #: src/lang.c:353 -msgid "cycle the display of authors email address, real name, both or neither" -msgstr "ÓÍÅÎÉÔØ ÐÏËÁÚ ÁÄÒÅÓÏ× email, ÉÍÅÎ, ÏÂÏÉÈ ÉÌÉ ÎÉÞÅÇÏ" +msgid "search backwards within this article" +msgstr "ÐÏÉÓË ÎÁÚÁÄ ×ÎÕÔÒÉ ÜÔÏÊ ÓÔÁÔØÉ" #: src/lang.c:354 -msgid "show version information" -msgstr "ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ" +msgid "search forwards within this article" +msgstr "ÐÏÉÓË ×ÐÅÒ£Ä ×ÎÕÔÒÉ ÜÔÏÊ ÓÔÁÔØÉ" #: src/lang.c:355 -msgid "mark all articles as read and return to group selection menu" -msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ É ×ÅÒÎÕÔØÓÑ × ÍÅÎÀ ×ÙÂÏÒÁ ÇÒÕÐÐ" +msgid "show article in raw-mode (including all headers)" +msgstr "ÐÏËÁÚÁÔØ ÓÔÁÔØÀ × raw ÒÅÖÉÍÅ (×ËÌÀÞÁÑ ×ÓÅ ÚÁÇÏÌÏ×ËÉ)" #: src/lang.c:356 -msgid "mark all articles as read and enter next group with unread articles" -msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔ. É ×ÏÊÔÉ × ÓÌÅÄ. ÇÒÕÐÐÕ Ó ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÑÍÉ" +msgid "skip next block of included text" +msgstr "ÐÒÏÐÕÓÔÉÔØ ÓÌÅÄÕÀÝÉÊ ÂÌÏË ×ËÌÀÞ£ÎÎÏÇÏ ÔÅËÓÔÁ" #: src/lang.c:357 -msgid "choose first thread in list" -msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÄÉÓËÕÓÓÉÀ × ÓÐÉÓËÅ" +msgid "toggle display of sections hidden by a form-feed (^L) on/off" +msgstr "ÉÚÍÅÎÉÔØ ÏÔÏÂÒÁÖÅÎÉÅ ÓÅËÃÉÊ ÓËÒÙÔÙÈ Ó ÐÏÍÏÝØÀ form-feed (^L) ÷ëì/÷ùëì" #: src/lang.c:358 -msgid "choose last thread in list" -msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÄÉÓËÕÓÓÉÀ × ÓÐÉÓËÅ" +#, fuzzy +msgid "toggle display of all headers" +msgstr "ÐÏËÁÚÙ×ÁÔØ ×ÓÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÓÔÁÔØÉ" #: src/lang.c:359 -msgid "list articles within current thread (bring up Thread sub-menu)" -msgstr "ÓÐÉÓÏË ÓÔÁÔÅÊ × ÄÉÓËÕÓÓÉÉ (×ÙÚ×ÁÔØ ÐÏÄÍÅÎÀ äÉÓËÕÓÓÉÑ)" +msgid "toggle word highlighting on/off" +msgstr "ÉÚÍÅÎÉÔØ ÐÏÄÓ×ÅÔËÕ ÓÌÏ× ÷ëì/÷ùëì" #: src/lang.c:360 -msgid "mark article as unread" -msgstr "ÐÏÍÅÔÉÔØ ÓÔÁÔØÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ" +msgid "toggle ROT-13 (basic decode) for current article" +msgstr "ÉÚÍÅÎÉÔØ ROT-13 (ÄÅËÏÄÉÒÏ×ÁÎÉÅ) ÄÌÑ ÔÅËÕÝÅÊ ÓÔÁÔØÉ" #: src/lang.c:361 -msgid "mark current thread or tagged threads as read" -msgstr "ÐÏÍÅÔÉÔØ ÔÅËÕÝÕÀ ÄÉÓË. ÉÌÉ ÏÔÍÅÞÅÎÎÙÅ ÄÉÓË. ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" +msgid "toggle tabwidth 4 <-> 8" +msgstr "ÉÚÍÅÎÉÔØ ÛÉÒÉÎÕ TAB 4 <-> 8" #: src/lang.c:362 -msgid "mark thread as unread" -msgstr "ÐÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÎÅÐÒÏÞÉÔÁÎÎÕÀ" +msgid "toggle german TeX style decoding for current article" +msgstr "ÉÚÍÅÎÉÔØ ÎÅÍÅÃËÉÊ TeX ÓÔÉÌØ ÄÅËÏÄÉÒÏ×ÁÎÉÑ ÄÌÑ ÔÅËÕÝÅÊ ÓÔÁÔØÉ" #: src/lang.c:363 -msgid "toggle display of all/selected articles" -msgstr "ðÏËÁÚÙ×ÁÔØ ×ÓÅ/×ÙÂÒÁÎÎÙÅ ÓÔÁÔØÉ" +msgid "toggle display of uuencoded sections" +msgstr "ÉÚÍÅÎÉÔØ ÐÏËÁÚ UUE ÚÁËÏÄÉÒÏ×ÁÎÎÏÊ ÓÅËÃÉÉ" #: src/lang.c:364 -msgid "display next group" -msgstr "ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÇÒÕÐÐÕ" +#, fuzzy +msgid "View/pipe/save multimedia attachments" +msgstr "ðÒÏÓÍÏÔÒÅÔØ/ÓÏÈÒÁÎÉÔØ ÍÕÌØÔÉÍÅÄÉÑ-×ÌÏÖÅÎÉÅ" #: src/lang.c:365 -msgid "display previous group" -msgstr "ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÇÒÕÐÐÕ" +#, fuzzy +msgid "choose first attachment in list" +msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ" #: src/lang.c:366 -msgid "toggle all selections (all articles)" -msgstr "ÉÚÍÅÎÉÔØ ×ÓÅ ÐÏÍÅÔËÉ (×ÓÅ ÓÔÁÔØÉ)" +#, fuzzy +msgid "0 - 9\t choose attachment by number" +msgstr "0 - 9\t ×ÙÂÒÁÔØ ÓÔÁÔØÀ ÐÏ ÎÏÍÅÒÕ" #: src/lang.c:367 -msgid "select group (make \"hot\")" -msgstr "×ÙÂÒÁÔØ ÇÒÕÐÐÕ (ÓÄÅÌÁÔØ \"hot\")" - -#: src/lang.c:368 -msgid "select thread" -msgstr "×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ" +#, fuzzy +msgid "choose last attachment in list" +msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ" #: src/lang.c:369 -msgid "select threads if at least one unread article is selected" -msgstr "×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ, ÅÓÌÉ ÈÏÔÑ ÂÙ ÏÄÎÁ ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÑ ÐÏÍÅÞÅÎÁ" +msgid "pipe attachment into command" +msgstr "" #: src/lang.c:370 -msgid "select threads that match user specified pattern" -msgstr "×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÉ, ËÏÔÏÒÙÅ ÐÏÄÐÁÄÁÀÔ ÐÏÄ ÕËÁÚÁÎÎÙÊ ÛÁÂÌÏÎ" - -#: src/lang.c:371 -msgid "tag all parts of current multipart-message in order" -msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÞÁÓÔÉ ÔÅËÕÝÅÇÏ multipart-ÓÏÏÂÝÅÎÉÑ ÐÏ ÐÏÒÑÄËÕ" +#, fuzzy +msgid "pipe raw attachment into command" +msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÓÔÁÔÅÊ" #: src/lang.c:372 -msgid "0 - 9\t choose thread by number" -msgstr "0 - 9\t ×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ ÐÏ ÎÏÍÅÒÕ" +msgid "save attachment to disk" +msgstr "" #: src/lang.c:373 -msgid "toggle limit number of articles to get, and reload" -msgstr "ÉÚÍÅÎÉÔØ ÐÒÅÄÅÌ ÞÉÓÌÁ ÐÏÌÕÞÁÅÍÙÈ É ÐÅÒÅÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ" +#, fuzzy +msgid "search for attachments forwards" +msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (×ÐÅÒ£Ä)" #: src/lang.c:374 -msgid "toggle display of all/unread articles" -msgstr "ÐÏËÁÚÙ×ÁÔØ ×ÓÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÓÔÁÔØÉ" +#, fuzzy +msgid "search for attachments backwards" +msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (ÎÁÚÁÄ)" #: src/lang.c:375 -msgid "toggle selection of thread" -msgstr "ÉÚÍÅÎÉÔØ ÐÏÍÅÔËÉ ÄÉÓËÕÓÓÉÊ" +msgid "view attachment" +msgstr "" #: src/lang.c:376 -msgid "cycle through threading options available" -msgstr "ÐÅÒÅÂÏÒ ÄÏÓÔÕÐÎÙÈ ÏÐÃÉÊ ÄÉÓËÕÓÓÉÊ" +#, fuzzy +msgid "tag attachment" +msgstr "÷ÙÂÅÒÉÔÅ ÓÔÁÔØÀ> " #: src/lang.c:377 -msgid "undo all selections (all articles)" -msgstr "ÏÔÍÅÎÉÔØ ×ÓÅ ÐÏÍÅÔËÉ (×ÓÅÈ ÓÔÁÔÅÊ)" +#, fuzzy +msgid "tag attachments that match user specified pattern" +msgstr "×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÉ, ËÏÔÏÒÙÅ ÐÏÄÐÁÄÁÀÔ ÐÏÄ ÕËÁÚÁÎÎÙÊ ÛÁÂÌÏÎ" #: src/lang.c:378 -msgid "untag all tagged threads" -msgstr "ÓÎÑÔØ ÍÅÔËÉ Ó ÏÔÍÅÞÅÎÎÙÈ ÄÉÓËÕÓÓÉÊ" +msgid "reverse tagging on all attachments (toggle)" +msgstr "" #: src/lang.c:379 -msgid "mark all articles in group as read" -msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" +#, fuzzy +msgid "untag all tagged attachments" +msgstr "ÓÎÑÔØ ÍÅÔËÉ Ó ÏÔÍÅÞÅÎÎÙÈ ÄÉÓËÕÓÓÉÊ" #: src/lang.c:380 -msgid "mark all articles in group as read and move to next unread group" -msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ Ë ÓÌÅÄ. ÎÅÐÒÏÞÉÔ. ÇÒÕÐÐÅ" +#, fuzzy +msgid "toggle info message in last line (name/description of attachment)" +msgstr "ÉÚÍÅÎÉÔØ ÉÎÆ. ÓÏÏÂÝÅÎÉÅ × ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ (ÔÅÍÁ/ÏÐÉÓÁÎÉÅ)" #: src/lang.c:381 -msgid "choose first group in list" -msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" +#, fuzzy +msgid "choose first attribute in list" +msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ" #: src/lang.c:382 -msgid "choose group by name" -msgstr "×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÉÍÅÎÉ" +#, fuzzy +msgid "0 - 9\t choose attribute by number" +msgstr "0 - 9\t ×ÙÂÒÁÔØ ÓÔÁÔØÀ ÐÏ ÎÏÍÅÒÕ" #: src/lang.c:383 -msgid "0 - 9\t choose group by number" -msgstr "0 - 9\t ×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÎÏÍÅÒÕ" +#, fuzzy +msgid "choose last attribute in list" +msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ" #: src/lang.c:384 -msgid "choose range of groups to be affected by next command" -msgstr "×ÙÂÒÁÔØ ÄÉÁÐÁÚÏÎ ÇÒÕÐÐ ÐÏÄ×ÅÒÖÅÎÎÙÈ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÅ" +msgid "reset attribute to a default value" +msgstr "" #: src/lang.c:385 -msgid "choose last group in list" -msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" +#, fuzzy +msgid "search forwards for an attribute" +msgstr "ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (×ÐÅÒ£Ä)" #: src/lang.c:386 -msgid "mark all articles in chosen group unread" -msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÎÅÐÒÏÞÉÔÁÎÎÙÅ" +#, fuzzy +msgid "search backwards for an attribute" +msgstr "ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (ÎÁÚÁÄ)" #: src/lang.c:387 -msgid "move chosen group within list" -msgstr "ÐÅÒÅÍÅÓÔÉÔØ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" +#, fuzzy +msgid "select attribute" +msgstr "×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ" #: src/lang.c:388 -msgid "choose next group with unread news" -msgstr "×ÙÂÒÁÔØ ÓÌÅÄ. ÇÒÕÐÐÕ Ó ÎÅÐÒÏÞÉÔÁÎÎÙÍÉ ÎÏ×ÏÓÔÑÍÉ" +msgid "toggle back to options menu when invoked from there" +msgstr "" -#: src/lang.c:389 src/lang.c:1197 -msgid "quit" -msgstr "×ÙÈÏÄ" +#: src/lang.c:389 +#, c-format +msgid "report bug or comment via mail to %s" +msgstr "ÏÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÉÌÉ ËÏÍÍÅÎÔÁÒÉÊ %s ÐÏ email" #: src/lang.c:390 -msgid "quit without saving configuration changes" -msgstr "×ÙÈÏÄ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÉÚÍÅÎÅÎÉÊ" +#, fuzzy +msgid "choose first option in list" +msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" #: src/lang.c:391 -msgid "read chosen group" -msgstr "ÐÒÏÞÉÔÁÔØ ×ÙÂÒÁÎÎÕÀ ÇÒÕÐÐÕ" +#, fuzzy +msgid "0 - 9\t choose option by number" +msgstr "0 - 9\t ×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÎÏÍÅÒÕ" #: src/lang.c:392 -msgid "reset .newsrc (all available articles in groups marked unread)" -msgstr "ÓÂÒÏÓÉÔØ .newsrc (×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ÐÏÍÅÔÑÔÓÑ ÎÅÐÒÏÞÉÔÁÎÎÙÍÉ)" +#, fuzzy +msgid "choose last option in list" +msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" #: src/lang.c:393 -msgid "search backwards for a group name" -msgstr "ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (ÎÁÚÁÄ)" +#, fuzzy +msgid "start scopes menu" +msgstr "×ÏÚ×ÒÁÔ × ÐÒÅÄÙÄÕÝÅÅ ÍÅÎÀ" #: src/lang.c:394 -msgid " \t (all searches are case-insensitive and wrap around)" -msgstr " \t (×ÓÅ ÐÏÉÓËÉ ÒÅÇÉÓÔÒÏ-ÎÅÚÁ×ÉÓÉÍÙ É ÏÈ×ÁÔÙ×ÁÀÔ ×ÓÅ ÓÔÁÔØÉ/ÇÒÕÐÐÙ)" +#, fuzzy +msgid "search forwards for an option" +msgstr "ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (×ÐÅÒ£Ä)" #: src/lang.c:395 -msgid "search forwards for a group name" -msgstr "ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (×ÐÅÒ£Ä)" +#, fuzzy +msgid "search backwards for an option" +msgstr "ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (ÎÁÚÁÄ)" #: src/lang.c:396 -msgid "subscribe to chosen group" -msgstr "ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ×ÙÂÒÁÎÎÕÀ ÇÒÕÐÐÕ" +#, fuzzy +msgid "select option" +msgstr "×ÙÂÏÒ" #: src/lang.c:397 -msgid "subscribe to groups that match pattern" -msgstr "ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÇÒÕÐÐÙ, ÓÏ×ÐÁÄÁÀÝÉÅ Ó ÛÁÂÌÏÎÏÍ" +msgid "toggle to attributes menu" +msgstr "" #: src/lang.c:398 -msgid "reread active file to check for any new news" -msgstr "ÐÅÒÅÞÉÔÁÔØ ÆÁÊÌ active ÄÌÑ ÐÒÏ×ÅÒËÉ ÎÏ×ÙÈ ÎÏ×ÏÓÔÅÊ" +msgid "choose range of articles to be affected by next command" +msgstr "×ÙÂÒÁÔØ ÄÉÁÐÁÚÏÎ ÓÔÁÔÅÊ ÐÏÄ×ÅÒÖÅÎÎÙÈ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÏÊ" #: src/lang.c:399 -msgid "toggle display of group name only or group name plus description" -msgstr "ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ÉÍÑ ÇÒÕÐÐÙ ÉÌÉ ÉÍÑ ÇÒÕÐÐÙ ÐÌÀÓ ÏÐÉÓÁÎÉÅ" +msgid "escape from command prompt" +msgstr "×ÙÊÔÉ ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ" #: src/lang.c:400 -msgid "toggle display to show all/unread subscribed groups" -msgstr "ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ×ÓÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ" +msgid "edit filter file" +msgstr "ÒÅÄÁËÔÉÒÏ×ÁÔØ ÆÁÊÌ ÆÉÌØÔÒÁ" #: src/lang.c:401 -msgid "unsubscribe from chosen group" -msgstr "ÏÔÐÉÓÁÔØÓÑ ÏÔ ×ÙÂÒÁÎÎÏÊ ÇÒÕÐÐÙ" +msgid "get help" +msgstr "ÐÏÌÕÞÉÔØ ÐÏÍÏÝØ" #: src/lang.c:402 -msgid "unsubscribe from groups that match pattern" -msgstr "ÏÔÐÉÓÁÔØÓÑ ÏÔ ÇÒÕÐÐ, ÓÏ×ÐÁÄÁÀÝÉÈ Ó ÛÁÂÌÏÎÏÍ" +msgid "display last article viewed" +msgstr "ÐÏËÁÚÁÔØ ÐÏÓÌÅÄÎÀÀ ÐÒÏÓÍÏÔÒÅÎÎÕÀ ÓÔÁÔØÀ" #: src/lang.c:403 -msgid "sort the list of groups" -msgstr "ÓÏÒÔÉÒÏ×ÁÔØ ÓÐÉÓÏË ÇÒÕÐÐ" +msgid "down one line" +msgstr "×ÎÉÚ ÎÁ ÏÄÎÕ ÓÔÒÏËÕ" #: src/lang.c:404 -msgid "toggle display to show all/subscribed groups" -msgstr "ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ×ÓÅ/ÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ" +msgid "up one line" +msgstr "××ÅÒÈ ÎÁ ÏÄÎÕ ÓÔÒÏËÕ" #: src/lang.c:405 -msgid "0 - 9\t choose article by number" -msgstr "0 - 9\t ×ÙÂÒÁÔØ ÓÔÁÔØÀ ÐÏ ÎÏÍÅÒÕ" +msgid "go to article chosen by Message-ID" +msgstr "ÐÅÒÅÊÔÉ ÎÁ ÓÔÁÔØÀ ÐÏ Message-ID" #: src/lang.c:406 -msgid "mark thread as read and return to group index page" -msgstr "ÐÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ É ×ÅÒÎÕÔØÓÑ ÎÁ ÓÔÒÁÎÉÃÕ ÉÎÄÅËÓÁ ÇÒÕÐÐ" +msgid "mail article/thread/hot/pattern/tagged articles to someone" +msgstr "ÏÔÐÒÁ×ÉÔØ ÓÔÁÔØÀ/ÄÉÓË./hot/ÛÁÂÌÏÎ/ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ ÐÏ email" #: src/lang.c:407 -msgid "mark thread as read and enter next unread thread or group" -msgstr "ÐÏÍÅÔÉÔØ ÄÉÓË. ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ × ÓÌÅÄ. ÎÅÐÒÏÞÉÔ. ÄÉÓË. ÉÌÉ ÇÒÕÐÐÅ" +msgid "menu of configurable options" +msgstr "ÍÅÎÀ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÏÐÃÉÊ" #: src/lang.c:408 -msgid "choose first article in list" -msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ" +msgid "down one page" +msgstr "×ÎÉÚ ÎÁ ÏÄÎÕ ÓÔÒÁÎÉÃÕ" #: src/lang.c:409 -msgid "choose last article in list" -msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ" - -#: src/lang.c:410 -msgid "mark article or tagged articles as read and move cursor to next unread article" -msgstr "ÐÏÍÅÔÉÔØ ÓÔÁÔØÀ ÉÌÉ ÏÔÍÅÞ. ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ Ë ÓÌÅÄ. ÎÅÐÒÏÞ. ÓÔÁÔØÅ" +msgid "up one page" +msgstr "××ÅÒÈ ÎÁ ÏÄÎÕ ÓÔÒÁÎÉÃÕ" #: src/lang.c:411 -msgid "read chosen article" -msgstr "ÐÒÏÞÉÔÁÔØ ×ÙÂÒÁÎÎÕÀ ÓÔÁÔØÀ" +msgid "post (write) article to current group" +msgstr "ÏÔÐÒÁ×ÉÔØ (ÎÁÐÉÓÁÔØ) ÓÔÁÔØÀ × ÔÅËÕÝÕÀ ÇÒÕÐÐÕ" #: src/lang.c:412 -msgid "Display properties\n" - "------------------" -msgstr "ðÏËÁÚÁÔØ Ó×ÏÊÓÔ×Á\n" - "-----------------" - -#: src/lang.c:413 -#, fuzzy -msgid "Miscellaneous\n" - "-------------" -msgstr "òÁÚÎÙÅ\n" - "------" +msgid "post postponed articles" +msgstr "ÏÔÐÒÁ×ÉÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ" #: src/lang.c:414 -msgid "Moving around\n" - "-------------" -msgstr "ä×ÉÖÅÎÉÅ\n" - "--------" +msgid "list articles posted by you (from posted file)" +msgstr "ÓÐÉÓÏË ÓÔÁÔÅÊ ÏÔÐÒÁ×ÌÅÎÎÙÈ ×ÁÍÉ (ÉÚ ÆÁÊÌÁ posted)" #: src/lang.c:415 -msgid "Group/thread/article operations\n" - "-------------------------------" -msgstr "ïÐÅÒÁÃÉÉ Ó ÇÒÕÐÐÁÍÉ/ÄÉÓËÕÓÓÉÑÍ/ÓÔÁÔØÑÍÉ\n" - "---------------------------------------" +msgid "return to previous menu" +msgstr "×ÏÚ×ÒÁÔ × ÐÒÅÄÙÄÕÝÅÅ ÍÅÎÀ" + +#: src/lang.c:416 +msgid "quit tin immediately" +msgstr "×ÙÊÔÉ ÉÚ tin ÎÅÍÅÄÌÅÎÎÏ" #: src/lang.c:417 -msgid "Group Level Commands" -msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÇÒÕÐÐ" +msgid "redraw page" +msgstr "ÐÅÒÅÒÉÓÏ×ÁÔØ ÓÔÒÁÎÉÃÕ" #: src/lang.c:418 -msgid "Kill filter added" -msgstr "õÎÉÞÔÏÖÉÔØ ÄÏÂÁ×ÌÅÎÎÙÊ ÆÉÌØÔÒ" +msgid "save article/thread/hot/pattern/tagged articles to file" +msgstr "ÓÏÈÒÁÎÉÔØ ÓÔÁÔØÀ/ÄÉÓË./hot/ÛÁÂÌÏÎ/ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ × ÆÁÊÌ" #: src/lang.c:419 -msgid "Auto-selection filter added" -msgstr "æÉÌØÔÒ Á×ÔÏ×ÙÂÏÒÁ ÄÏÂÁ×ÌÅÎ" +msgid "save marked articles automatically without user prompts" +msgstr "ÓÏÈÒÁÎÑÔØ ÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÂÅÚ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ" #: src/lang.c:420 -msgid "All parts tagged" -msgstr "÷ÓÅ ÞÁÓÔÉ ÐÏÍÅÞÅÎÙ" +msgid "scroll the screen one line down" +msgstr "ÐÒÏËÒÕÔÉÔØ ÜËÒÁÎ ÎÁ ÏÄÎÕ ÌÉÎÉÀ ×ÎÉÚ" #: src/lang.c:421 -msgid "Storing article for later posting" -msgstr "óÏÈÒÁÎÅÎÉÅ ÓÔÁÔØÉ ÄÌÑ ÏÔÌÏÖÅÎÎÏÊ ÏÔÐÒÁ×ËÉ" +msgid "scroll the screen one line up" +msgstr "ÐÒÏËÒÕÔÉÔØ ÜËÒÁÎ ÎÁ ÏÄÎÕ ÌÉÎÉÀ ××ÅÒÈ" #: src/lang.c:422 -msgid "Please enter a valid character" -msgstr "ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ" +msgid "search for articles by author backwards" +msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (ÎÁÚÁÄ)" #: src/lang.c:423 -#, c-format -msgid "Missing part #%d" -msgstr "ðÒÏÐÕÝÅÎÁ ÞÁÓÔØ #%d" +msgid "search for articles by author forwards" +msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (×ÐÅÒ£Ä)" #: src/lang.c:424 -msgid "*** No postponed articles ***" -msgstr "*** îÅÔ ÏÔÌÏÖÅÎÎÙÈ ÓÔÁÔÅÊ ***" +msgid "search all articles for a given string (this may take some time)" +msgstr "ÐÏÉÓË ×ÓÅÈ ÓÔÁÔÅÊ ÐÏ ÚÁÄÁÎÎÏÊ ÓÔÒÏËÅ (ÍÏÖÅÔ ÚÁÎÑÔØ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ)" #: src/lang.c:425 -msgid "Not a multi-part message" -msgstr "îÅ multi-part ÓÏÏÂÝÅÎÉÅ" +msgid " \t (searches are case-insensitive and wrap around to all articles)" +msgstr " \t (ÐÏÉÓË ÉÇÎÏÒÉÒÕÅÔ ÒÅÇÉÓÔÒ É ÏÈ×ÁÔÙ×ÁÅÔ ×ÓÅ ÓÔÁÔØÉ)" #: src/lang.c:426 -msgid "You are not subscribed to this group" -msgstr "÷Ù ÎÅ ÐÏÄÐÉÓÁÎÙ ÎÁ ÜÔÕ ÇÒÕÐÐÕ" +msgid "search for articles by Subject line backwards" +msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ ôÅÍÅ (ÎÁÚÁÄ)" #: src/lang.c:427 -msgid "No previous expression" -msgstr "îÅÔ ÐÒÅÄÙÄÕÝÅÇÏ ×ÙÒÁÖÅÎÉÑ" +msgid "search for articles by Subject line forwards" +msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ ôÅÍÅ (×ÐÅÒ£Ä)" #: src/lang.c:428 -msgid "Operation disabled in no-overwrite mode" -msgstr "ïÐÅÒÁÃÉÑ ÚÁÐÒÅÝÅÎÁ × ÒÅÖÉÍÅ ÚÁÐÒÅÝÅÎÉÑ ÐÅÒÅÚÁÐÉÓÉ" +msgid "repeat last search" +msgstr "ÐÏ×ÔÏÒÉÔØ ÐÏÓÌÅÄÎÉÊ ÐÏÉÓË" + +#: src/lang.c:429 +msgid "tag current article for reposting/mailing/piping/printing/saving" +msgstr "ÏÔÍÅÔÉÔØ ÔÅËÕÝÕÀ ÓÔÁÔØÀ ÄÌÑ ÐÅÒÅÏÔÐ./email/piping/ÐÅÞÁÔÉ/ÓÏÈÒÁÎ." -#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:430 -#, c-format -msgid "%d postponed %s, reuse with ^O...\n" -msgstr "%d ÏÔÌÏÖÅÎÁ(Ù) %s, ×ÏÚÏÂÎÏ×ÉÔØ Ó ^O...\n" +msgid "toggle info message in last line (subject/description)" +msgstr "ÉÚÍÅÎÉÔØ ÉÎÆ. ÓÏÏÂÝÅÎÉÅ × ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ (ÔÅÍÁ/ÏÐÉÓÁÎÉÅ)" #: src/lang.c:431 -msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" - " To get the whole article, turn alternative handling OFF in the Option Menu\n" -msgstr "X-Conversion-Note: multipart/alternative ÓÏÄÅÒÖÉÍÏÅ ÂÙÌÏ ÕÄÁÌÅÎÏ.\n" - " äÌÑ ÐÏÌÕÞÅÎÉÑ ×ÓÅÊ ÓÔÁÔØÉ, ÉÚÍÅÎÉÔÅ ÏÂÒÁÂÏÔËÕ multipart/alternative\n" - " ÓÔÁÔÅÊ ÎÁ OFF × íÅÎÀ ÏÐÃÉÊ\n" +msgid "toggle inverse video" +msgstr "ÉÚÍÅÎÉÔØ ÉÎ×ÅÒÓÉÀ ×ÉÄÅÏ" + +#: src/lang.c:432 +msgid "toggle mini help menu display" +msgstr "ÉÚÍÅÎÉÔØ ÍÉÎÉÐÏÄÓËÁÚËÕ" #: src/lang.c:433 -#, c-format -msgid "Save filename for %s/%s is a mailbox. Attachment not saved" -msgstr "æÁÊÌ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ %s/%s - mailbox. ÷ÌÏÖÅÎÉÅ ÎÅ ÓÏÈÒÁÎÅÎÏ" +msgid "cycle the display of authors email address, real name, both or neither" +msgstr "ÓÍÅÎÉÔØ ÐÏËÁÚ ÁÄÒÅÓÏ× email, ÉÍÅÎ, ÏÂÏÉÈ ÉÌÉ ÎÉÞÅÇÏ" #: src/lang.c:434 -msgid "TeX2Iso encoded article" -msgstr "TeX2Iso ËÏÄÉÒÏ×ÁÎÎÁÑ ÓÔÁÔØÑ" +msgid "show version information" +msgstr "ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ" #: src/lang.c:435 -msgid "incomplete " -msgstr "ÎÅÐÏÌÎÙÊ " +msgid "mark all articles as read and return to group selection menu" +msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ É ×ÅÒÎÕÔØÓÑ × ÍÅÎÀ ×ÙÂÏÒÁ ÇÒÕÐÐ" + +#: src/lang.c:436 +msgid "mark all articles as read and enter next group with unread articles" +msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔ. É ×ÏÊÔÉ × ÓÌÅÄ. ÇÒÕÐÐÕ Ó ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÑÍÉ" -#. TODO: replace hardcoded key-names #: src/lang.c:437 -#, c-format -msgid "\n" - "Welcome to %s, a full screen threaded Netnews reader. It can read news " - "locally\n" - "(ie. /news) or remotely (-r option) from a NNTP (Network News " - "Transport\n" - "Protocol) server. -h lists the available command line options.\n" - "\n" - "%s has four newsreading levels, the newsgroup selection page, the group " - "index\n" - "page, the thread listing page and the article viewer. Help is available at " - "each\n" - "level by pressing the 'h' command.\n" - "\n" - "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " - "or\n" - "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" - "\n" - "Articles, threads, tagged articles or articles matching a pattern can be " - "mailed\n" - "('m' command), printed ('o' command), saved ('s' command), piped ('|' " - "command).\n" - "Use the 'w' command to post a news article, the 'f'/'F' commands to post " - "a\n" - "follow-up to an existing news article and the 'r'/'R' commands to reply " - "via\n" - "mail to an existing news article author. The 'M' command allows the " - "operation\n" - "of %s to be configured via a menu.\n" - "\n" - "For more information read the manual page, README, INSTALL, TODO and FTP " - "files.\n" - "Please send bug-reports/comments to %s with the 'R' command.\n" -msgstr "\n" - "äÏÂÒÏ ÐÏÖÁÌÏ×ÁÔØ × %s, ÐÏÌÎÏÜËÒÁÎÎÙÊ newsreader. tin ÍÏÖÅÔ ÞÉÔÁÔØ ÎÏ×ÏÓÔÉ Ó \n" - "ÌÏËÁÌØÎÏÊ ÍÁÛÉÎÙ (ÎÁÐÒÉÍÅÒ Ó /news) ÉÌÉ ÕÄÁÌÅÎÏ (Ó ÏÐÃÉÅÊ -r) Ó NNTP\n" - "(Network News Transport Protocol) ÓÅÒ×ÅÒÁ. -h ÐÏËÁÚÙ×ÁÅÔ ÄÏÓÔÕÐÎÙÅ ÏÐÃÉÉ\n" - "ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.\n" - "\n" - "÷ %s ÞÅÔÙÒÅ ÕÒÏ×ÎÑ: ÓÔÒÁÎÉÃÁ ×ÙÂÏÒÁ ÇÒÕÐÐÙ, ÓÔÒÁÎÉÃÁ ÉÎÄÅËÓÁ ÇÒÕÐÐÙ, " - "ÓÔÒÁÎÉÃÁ\n" - "ÄÉÓËÕÓÓÉÊ É ÓÔÒÁÎÉÃÁ ÐÒÏÓÍÏÔÒÁ ÓÔÁÔØÉ. ðÏÄÓËÁÚËÁ ÄÏÓÔÕÐÎÁ ÄÌÑ ËÁÖÄÏÇÏ ÕÒÏ×ÎÑ\n" - "ÎÁÖÁÔÉÅÍ 'h'.\n" - "\n" - "ðÅÒÅÍÅÝÁÔØÓÑ ××ÅÒÈ/×ÎÉÚ ÍÏÖÎÏ ÎÁÖÁÔÉÅÍ ÓÔÒÅÌÏË ÉÌÉ 'j' É 'k'. äÌÑ\n" - "ÐÒÏÌÉÓÔÙ×ÁÎÉÑ ÓÔÒÁÎÉÃÙ ××ÅÒÈ/×ÎÉÚ ÎÁÖÍÉÔÅ PgUp / PgDn ÉÌÉ Ctrl-U / Ctrl-D\n" - "÷ÈÏÄ × ÇÒÕÐÐÕ ÎÁÖÁÔÉÅÍ /<ôáâ>.\n" - "\n" - "óÔÁÔØÉ, ÄÉÓËÕÓÓÉÉ, ÐÏÍÅÞÅÎÎÙÅ ÉÌÉ ÓÏ×ÐÁÄÁÀÝÉÅ Ó ÛÁÂÌÏÎÏÍ ÓÔÁÔØÉ ÍÏÇÕÔ ÂÙÔØ\n" - "ÏÔÐÒÁ×ÌÅÎÙ ÐÏ email (ËÏÍÁÎÄÁ 'm'), ÎÁÐÅÞÁÔÁÎÙ (ËÏÍÁÎÄÁ 'o'), ÓÏÈÒÁÎÅÎÙ\n" - "(ËÏÍÁÎÄÁ 's') ÉÌÉ ÏÔÐÒÁ×ÌÅÎÙ × pipe (ËÏÍÁÎÄÁ '|').\n" - "'w' - ÏÔÐÒÁ×ÉÔØ ÎÏ×ÕÀ ÓÔÁÔØÀ, 'f'/'F' - ÏÔÐÒÁ×ÉÔØ follow-up ÎÁ ÓÕÝÅÓÔ×ÕÀÝÕÀ\n" - "ÓÔÁÔØÀ É 'r'/'R' - ÏÔ×ÅÔÉÔØ ÐÏ email Á×ÔÏÒÕ ÓÔÁÔØÉ. ëÏÍÁÎÄÁ 'M' ÐÏÚ×ÏÌÑÅÔ\n" - "ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ %s ÐÏÓÒÅÄÓÔ×ÏÍ ÕÄÏÂÎÏÇÏ ÍÅÎÀ.\n" - "\n" - "äÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÞÉÔÁÊÔÅ ÓÔÒÁÎÉÃÙ ÄÏËÕÍÅÎÔÁÃÉÉ, ÆÁÊÌÙ README, " - "INSTALL\n" - "TODO É FTP. óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ É ÏÔÚÙ×Ù ÏÔÐÒÁ×ÌÑÊÔÅ %s ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ " - "'R'.\n" +msgid "choose first thread in list" +msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÄÉÓËÕÓÓÉÀ × ÓÐÉÓËÅ" + +#: src/lang.c:438 +msgid "choose last thread in list" +msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÄÉÓËÕÓÓÉÀ × ÓÐÉÓËÅ" + +#: src/lang.c:439 +msgid "list articles within current thread (bring up Thread sub-menu)" +msgstr "ÓÐÉÓÏË ÓÔÁÔÅÊ × ÄÉÓËÕÓÓÉÉ (×ÙÚ×ÁÔØ ÐÏÄÍÅÎÀ äÉÓËÕÓÓÉÑ)" + +#: src/lang.c:440 +msgid "mark article as unread" +msgstr "ÐÏÍÅÔÉÔØ ÓÔÁÔØÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ" + +#: src/lang.c:441 +#, fuzzy +msgid "mark current thread, range or tagged threads as read" +msgstr "ÐÏÍÅÔÉÔØ ÔÅËÕÝÕÀ ÄÉÓË. ÉÌÉ ÏÔÍÅÞÅÎÎÙÅ ÄÉÓË. ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" + +#: src/lang.c:442 +#, fuzzy +msgid "mark current thread, range or tagged threads as unread" +msgstr "ÐÏÍÅÔÉÔØ ÔÅËÕÝÕÀ ÄÉÓË. ÉÌÉ ÏÔÍÅÞÅÎÎÙÅ ÄÉÓË. ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" + +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "" + +#: src/lang.c:445 +msgid "toggle display of all/selected articles" +msgstr "ðÏËÁÚÙ×ÁÔØ ×ÓÅ/×ÙÂÒÁÎÎÙÅ ÓÔÁÔØÉ" + +#: src/lang.c:446 +msgid "display next group" +msgstr "ÐÏËÁÚÁÔØ ÓÌÅÄÕÀÝÕÀ ÇÒÕÐÐÕ" + +#: src/lang.c:447 +msgid "display previous group" +msgstr "ÐÏËÁÚÁÔØ ÐÒÅÄÙÄÕÝÕÀ ÇÒÕÐÐÕ" + +#: src/lang.c:448 +msgid "toggle all selections (all articles)" +msgstr "ÉÚÍÅÎÉÔØ ×ÓÅ ÐÏÍÅÔËÉ (×ÓÅ ÓÔÁÔØÉ)" + +#: src/lang.c:449 +msgid "select group (make \"hot\")" +msgstr "×ÙÂÒÁÔØ ÇÒÕÐÐÕ (ÓÄÅÌÁÔØ \"hot\")" + +#: src/lang.c:450 +msgid "select thread" +msgstr "×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ" + +#: src/lang.c:451 +msgid "select threads if at least one unread article is selected" +msgstr "×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ, ÅÓÌÉ ÈÏÔÑ ÂÙ ÏÄÎÁ ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÑ ÐÏÍÅÞÅÎÁ" + +#: src/lang.c:452 +msgid "select threads that match user specified pattern" +msgstr "×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÉ, ËÏÔÏÒÙÅ ÐÏÄÐÁÄÁÀÔ ÐÏÄ ÕËÁÚÁÎÎÙÊ ÛÁÂÌÏÎ" #: src/lang.c:453 -#, c-format -msgid "Invalid From: %s line. Read the INSTALL file again." -msgstr "îÅÄÏÐÕÓÔÉÍÁÑ ÓÔÒÏËÁ From: %s. ðÒÏÞÉÔÁÊÔÅ ÆÁÊÌ INSTALL ÓÎÏ×Á." +msgid "tag all parts of current multipart-message in order" +msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÞÁÓÔÉ ÔÅËÕÝÅÇÏ multipart-ÓÏÏÂÝÅÎÉÑ ÐÏ ÐÏÒÑÄËÕ" + +#: src/lang.c:454 +msgid "0 - 9\t choose thread by number" +msgstr "0 - 9\t ×ÙÂÒÁÔØ ÄÉÓËÕÓÓÉÀ ÐÏ ÎÏÍÅÒÕ" #: src/lang.c:455 -msgid "Invalid multibyte sequence found\n" -msgstr "îÁÊÄÅÎÁ ÎÅÄÏÐÕÓÔÉÍÁÑ ÍÕÌØÔÉÂÁÊÔÏ×ÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ\n" +msgid "toggle limit number of articles to get, and reload" +msgstr "ÉÚÍÅÎÉÔØ ÐÒÅÄÅÌ ÞÉÓÌÁ ÐÏÌÕÞÁÅÍÙÈ É ÐÅÒÅÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:456 +msgid "toggle display of all/unread articles" +msgstr "ÐÏËÁÚÙ×ÁÔØ ×ÓÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÓÔÁÔØÉ" #: src/lang.c:457 -#, c-format -msgid "Invalid Sender:-header %s" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÁÇÏÌÏ×ÏË Sender: %s" +msgid "toggle selection of thread" +msgstr "ÉÚÍÅÎÉÔØ ÐÏÍÅÔËÉ ÄÉÓËÕÓÓÉÊ" #: src/lang.c:458 -msgid "Inverse video disabled" -msgstr "éÎ×ÅÒÓÎÏÅ ×ÉÄÅÏ ÚÁÐÒÅÝÅÎÏ" +msgid "cycle through threading options available" +msgstr "ÐÅÒÅÂÏÒ ÄÏÓÔÕÐÎÙÈ ÏÐÃÉÊ ÄÉÓËÕÓÓÉÊ" #: src/lang.c:459 -msgid "Inverse video enabled" -msgstr "éÎ×ÅÒÓÎÏÅ ×ÉÄÅÏ ÒÁÚÒÅÛÅÎÏ" +msgid "undo all selections (all articles)" +msgstr "ÏÔÍÅÎÉÔØ ×ÓÅ ÐÏÍÅÔËÉ (×ÓÅÈ ÓÔÁÔÅÊ)" + +#: src/lang.c:460 +msgid "untag all tagged threads" +msgstr "ÓÎÑÔØ ÍÅÔËÉ Ó ÏÔÍÅÞÅÎÎÙÈ ÄÉÓËÕÓÓÉÊ" #: src/lang.c:461 -#, c-format -msgid "Missing definition for %s\n" -msgstr "ðÒÏÐÕÝÅÎÏ ÏÐÒÅÄÅÌÅÎÉÅ ÄÌÑ %s\n" +msgid "add new scope" +msgstr "" #: src/lang.c:462 -#, c-format -msgid "Invalid key definition '%s'\n" -msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ËÌÁ×ÉÛÉ '%s'\n" +#, fuzzy +msgid "delete scope" +msgstr "÷ÙÂÒÁÔØ ÏÂÌÁÓÔØ ÛÁÂÌÏÎÁ: " #: src/lang.c:463 -#, c-format -msgid "Invalid keyname '%s'\n" -msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÎÁÚ×ÁÎÉÅ ËÌÁ×ÉÛÉ '%s'\n" +#, fuzzy +msgid "edit attributes file" +msgstr "úÁÐÉÓØ ÆÁÊÌÁ ÁÔÒÉÂÕÔÏ×..." #: src/lang.c:464 -#, c-format -msgid "Keymap file was upgraded to version %s\n" -msgstr "æÁÊÌ Keymap ÏÂÎÏ×ÌÅÎ ÄÏ ×ÅÒÓÉÉ %s\n" +#, fuzzy +msgid "choose first scope in list" +msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" #: src/lang.c:465 -#, c-format -msgid "Kill From: [%s] (y/n): " -msgstr "õÎÉÞÔÏÖÉÔØ From: [%s] (y/n): " +#, fuzzy +msgid "0 - 9\t choose scope by number" +msgstr "0 - 9\t ×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÎÏÍÅÒÕ" #: src/lang.c:466 -msgid "Kill Lines: (num): " -msgstr "õÎÉÞÔÏÖÉÔØ ÓÔÒÏËÉ: (num): " +#, fuzzy +msgid "choose last scope in list" +msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" #: src/lang.c:467 -msgid "Kill Article Menu" -msgstr "õÎÉÞÔÏÖÉÔØ ÍÅÎÀ ÓÔÁÔØÉ" +msgid "move scope" +msgstr "" #: src/lang.c:468 -#, c-format -msgid "Kill Msg-Id: [%s] (f/l/o/n): " -msgstr "õÎÉÞÔÏÖÉÔØ Msg-Id: [%s] (f/l/o/n): " +msgid "rename scope" +msgstr "" #: src/lang.c:469 -msgid "Kill pattern scope : " -msgstr "õÎÉÞÔÏÖÉÔØ ÛÁÂÌÏÎ ÏÂÚÏÒÁ : " +#, fuzzy +msgid "select scope" +msgstr "×ÙÈÏÄ × ÏÂÏÌÏÞËÕ" #: src/lang.c:470 -#, c-format -msgid "Kill Subject: [%s] (y/n): " -msgstr "õÎÉÞÔÏÖÉÔØ ôÅÍÕ: [%s] (y/n): " +msgid "mark all articles in group as read" +msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" #: src/lang.c:471 -msgid "Kill text pattern : " -msgstr "õÎÉÞÔÏÖÉÔØ ÛÁÂÌÏÎ : " +msgid "mark all articles in group as read and move to next unread group" +msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ Ë ÓÌÅÄ. ÎÅÐÒÏÞÉÔ. ÇÒÕÐÐÅ" #: src/lang.c:472 -msgid "Kill time in days : " -msgstr "õÎÉÞÔÏÖÉÔØ ×ÒÅÍÑ × ÄÎÑÈ : " +msgid "choose first group in list" +msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" + +#: src/lang.c:473 +msgid "choose group by name" +msgstr "×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÉÍÅÎÉ" #: src/lang.c:474 -msgid "Last" -msgstr "ðÏÓÌÅÄÎÉÊ" +msgid "0 - 9\t choose group by number" +msgstr "0 - 9\t ×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÎÏÍÅÒÕ" #: src/lang.c:475 -msgid "-- Last response --" -msgstr "-- ðÏÓÌÅÄÎÉÊ ÏÔ×ÅÔ --" +msgid "choose range of groups to be affected by next command" +msgstr "×ÙÂÒÁÔØ ÄÉÁÐÁÚÏÎ ÇÒÕÐÐ ÐÏÄ×ÅÒÖÅÎÎÙÈ ÓÌÅÄÕÀÝÅÊ ËÏÍÁÎÄÅ" #: src/lang.c:476 -#, c-format -msgid "Lines %s " -msgstr "óÔÒÏË %s " +msgid "choose last group in list" +msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" + +#: src/lang.c:477 +msgid "mark all articles in chosen group unread" +msgstr "ÐÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ËÁË ÎÅÐÒÏÞÉÔÁÎÎÙÅ" #: src/lang.c:478 -msgid "Message-ID: line " -msgstr "Message-ID: ÓÔÒÏËÁ " +msgid "move chosen group within list" +msgstr "ÐÅÒÅÍÅÓÔÉÔØ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" #: src/lang.c:479 -msgid "Mail" -msgstr "" +msgid "choose next group with unread news" +msgstr "×ÙÂÒÁÔØ ÓÌÅÄ. ÇÒÕÐÐÕ Ó ÎÅÐÒÏÞÉÔÁÎÎÙÍÉ ÎÏ×ÏÓÔÑÍÉ" -#: src/lang.c:480 -msgid "mailbox " -msgstr "" +#: src/lang.c:480 src/lang.c:1351 +msgid "quit" +msgstr "×ÙÈÏÄ" #: src/lang.c:481 -#, c-format -msgid "Mail article(s) to [%.*s]> " -msgstr "ïÔÐÒÁ×ÉÔØ ÓÔÁÔØÀ(É) ÐÏ email [%.*s]> " +msgid "quit without saving configuration changes" +msgstr "×ÙÈÏÄ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÈ ÉÚÍÅÎÅÎÉÊ" #: src/lang.c:482 -#, c-format -msgid "Mailing log to %s\n" -msgstr "ïÔÐÒÁ×ÉÔØ ÌÏÇ-ÓÏÏÂÝÅÎÉÅ %s\n" +msgid "read chosen group" +msgstr "ÐÒÏÞÉÔÁÔØ ×ÙÂÒÁÎÎÕÀ ÇÒÕÐÐÕ" #: src/lang.c:483 -msgid "Mail bug report..." -msgstr "ïÔÐÒÁ×ÌÑÅÔÓÑ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ..." +msgid "reset .newsrc (all available articles in groups marked unread)" +msgstr "ÓÂÒÏÓÉÔØ .newsrc (×ÓÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ ÐÏÍÅÔÑÔÓÑ ÎÅÐÒÏÞÉÔÁÎÎÙÍÉ)" #: src/lang.c:484 -#, c-format -msgid "Mail BUG REPORT to %s?" -msgstr "ïÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ %s?" +msgid "search backwards for a group name" +msgstr "ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (ÎÁÚÁÄ)" #: src/lang.c:485 -msgid "Mailed" -msgstr "ïÔÐÒÁ×ÌÅÎÏ ÐÏ email" +msgid " \t (all searches are case-insensitive and wrap around)" +msgstr " \t (×ÓÅ ÐÏÉÓËÉ ÒÅÇÉÓÔÒÏ-ÎÅÚÁ×ÉÓÉÍÙ É ÏÈ×ÁÔÙ×ÁÀÔ ×ÓÅ ÓÔÁÔØÉ/ÇÒÕÐÐÙ)" #: src/lang.c:486 -#, c-format -msgid "Mailing to %s..." -msgstr "ïÔÐÒÁ×ÌÑÅÔÓÑ ÐÏ email %s..." +msgid "search forwards for a group name" +msgstr "ÐÏÉÓË ÉÍÅÎÉ ÇÒÕÐÐÙ (×ÐÅÒ£Ä)" #: src/lang.c:487 -msgid "# [Mail/Save] active file. Format is like news active file:\n" - "# groupname max.artnum min.artnum /dir\n" - "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" - "#\n" -msgstr "" +msgid "subscribe to chosen group" +msgstr "ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ×ÙÂÒÁÎÎÕÀ ÇÒÕÐÐÕ" + +#: src/lang.c:488 +msgid "subscribe to groups that match pattern" +msgstr "ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÇÒÕÐÐÙ, ÓÏ×ÐÁÄÁÀÝÉÅ Ó ÛÁÂÌÏÎÏÍ" + +#: src/lang.c:489 +msgid "reread active file to check for any new news" +msgstr "ÐÅÒÅÞÉÔÁÔØ ÆÁÊÌ active ÄÌÑ ÐÒÏ×ÅÒËÉ ÎÏ×ÙÈ ÎÏ×ÏÓÔÅÊ" #: src/lang.c:490 -#, c-format -msgid "%s marked as unread" -msgstr "%s ÐÏÍÅÞÅÎÏ ËÁË ÎÅÐÒÏÞÉÔÁÎÏ" +msgid "toggle display of group name only or group name plus description" +msgstr "ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ÉÍÑ ÇÒÕÐÐÙ ÉÌÉ ÉÍÑ ÇÒÕÐÐÙ ÐÌÀÓ ÏÐÉÓÁÎÉÅ" #: src/lang.c:491 -#, c-format -msgid "Marked %d of %d tagged %s as read" -msgstr "ðÏÍÅÞÅÎÏ %d ÉÚ %d ÏÔÍÅÞÅÎÎÙÈ %s ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" +msgid "toggle display to show all/unread subscribed groups" +msgstr "ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ×ÓÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ" #: src/lang.c:492 -#, c-format -msgid "Mark all articles as read%s?" -msgstr "ðÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ%s?" +msgid "unsubscribe from chosen group" +msgstr "ÏÔÐÉÓÁÔØÓÑ ÏÔ ×ÙÂÒÁÎÎÏÊ ÇÒÕÐÐÙ" #: src/lang.c:493 -#, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " -msgstr "íÁÒËÉÒÏ×ÁÔØ %s=ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ, %s=ÔÅËÕÝÕÀ ÓÔÁÔØÀ, %s=×ÙÈÏÄ: " +msgid "unsubscribe from groups that match pattern" +msgstr "ÏÔÐÉÓÁÔØÓÑ ÏÔ ÇÒÕÐÐ, ÓÏ×ÐÁÄÁÀÝÉÈ Ó ÛÁÂÌÏÎÏÍ" #: src/lang.c:494 -#, c-format -msgid "Mark group %s as read?" -msgstr "ðÏÍÅÔÉÔØ ÇÒÕÐÐÕ %s ËÁË ÐÒÏÞÉÔÁÎÎÕÀ?" +msgid "sort the list of groups" +msgstr "ÓÏÒÔÉÒÏ×ÁÔØ ÓÐÉÓÏË ÇÒÕÐÐ" #: src/lang.c:495 -#, c-format -msgid "Mark thread as read%s?" -msgstr "ðÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ %s?" +msgid "toggle display to show all/subscribed groups" +msgstr "ÐÅÒÅËÌÀÞÉÔØ ×Ù×ÏÄ: ×ÓÅ/ÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ" #: src/lang.c:496 -#, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " -msgstr "íÁÒËÉÒÏ×ÁÔØ %s=ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓË., %s=ÔÅËÕÝÕÀ ÄÉÓË., %s=×ÙÈÏÄ: " +msgid "0 - 9\t choose article by number" +msgstr "0 - 9\t ×ÙÂÒÁÔØ ÓÔÁÔØÀ ÐÏ ÎÏÍÅÒÕ" #: src/lang.c:497 -#, c-format -msgid "Matching %s groups..." -msgstr "óÏÐÏÓÔÁ×ÌÅÎÉÅ Ó ÛÁÂÌÏÎÏÍ %s ÇÒÕÐÐ..." +msgid "mark thread as read and return to group index page" +msgstr "ÐÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ É ×ÅÒÎÕÔØÓÑ ÎÁ ÓÔÒÁÎÉÃÕ ÉÎÄÅËÓÁ ÇÒÕÐÐ" -#: src/lang.c:498 src/lang.c:502 -#, c-format -msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" -msgstr "=ÐÅÒÅÊÔÉ Ë n; %s=ÓÌÅÄ. ÎÅÐÒÏÞ.; %s=ÐÏÉÓË ÐÏ ÛÁÂÌÏÎÕ; %s=ÕÎÉÞÔ./×ÙÂÒÁÔØ" +#: src/lang.c:498 +msgid "mark thread as read and enter next unread thread or group" +msgstr "ÐÏÍÅÔÉÔØ ÄÉÓË. ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ × ÓÌÅÄ. ÎÅÐÒÏÞÉÔ. ÄÉÓË. ÉÌÉ ÇÒÕÐÐÅ" #: src/lang.c:499 -#, c-format -msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " - "thread" -msgstr "%s=ÐÏÉÓË Á×Ô.; %s=catchup; %s=ÓÔÒË. ×ÎÉÚ.; %s=ÓÔÒË. ××ÅÒÈ.; %s=ÍÁÒË. ÐÒÏÞ.; %" - "s=ÓÐÉÓ. ÄÉÓË." +msgid "choose first article in list" +msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ" #: src/lang.c:500 -#, c-format -msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" -msgstr "%s=ÓÔÒË. ××ÅÒÈ; %s=ÓÔÒË. ×ÎÉÚ; %s=ÓÔÒ. ××ÅÒÈ; %s=ÓÔÒ. ×ÎÉÚ; %s=ÎÁÞÁÌÏ; %" - "s=ËÏÎÅÃ" +msgid "choose last article in list" +msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÁÔØÀ × ÓÐÉÓËÅ" #: src/lang.c:501 -#, c-format -msgid "%s=search forwards; %s=search backwards; %s=quit" -msgstr "%s=ÐÏÉÓË ×ÐÅÒ£Ä; %s=ÐÏÉÓË ÎÁÚÁÄ; %s=×ÙÈÏÄ" +#, fuzzy +msgid "mark art, range or tagged arts as read; move crsr to next unread art" +msgstr "ÐÏÍÅÔÉÔØ ÓÔÁÔØÀ ÉÌÉ ÏÔÍÅÞ. ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔ. É ÐÅÒÅÊÔÉ Ë ÓÌÅÄ. ÎÅÐÒÏÞ. ÓÔÁÔØÅ" + +#: src/lang.c:502 +#, fuzzy +msgid "mark article, range or tagged articles as unread" +msgstr "ÐÏÍÅÔÉÔØ ÓÔÁÔØÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ" #: src/lang.c:503 -#, c-format -msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" -msgstr "%s=ÐÏÉÓË Á×ÔÏÒÁ; %s=ÐÏÉÓË × ÓÏÏÂ.; %s=catchup; %s=followup; %s=ÍÁÒË. ÐÒÏÞ." +#, fuzzy +msgid "mark current thread as unread" +msgstr "ÐÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÎÅÐÒÏÞÉÔÁÎÎÕÀ" #: src/lang.c:504 -#, c-format -msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" -msgstr "=ÐÅÒÅÊÔÉ Ë n; %s=ÓÌÅÄ. ÎÅÐÒÏÞ.; %s,%s=ÐÏÉÓË ÐÏ ÛÁÂÌÏÎÕ; %s=catchup" +msgid "read chosen article" +msgstr "ÐÒÏÞÉÔÁÔØ ×ÙÂÒÁÎÎÕÀ ÓÔÁÔØÀ" #: src/lang.c:505 -#, c-format -msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" -msgstr "%s=ÓÔÒ. ×ÎÉÚ; %s=ÓÔÒ. ××ÅÒÈ; %s=ÐÏÍÏÝØ; %s=ÐÅÒÅÍ.; %s=×ÙÈÏÄ; %s=ÕÓÔ. ×ÓÅ|" - "ÎÅÐÒÏÞ." +msgid "Display properties\n" + "------------------" +msgstr "ðÏËÁÚÁÔØ Ó×ÏÊÓÔ×Á\n" + "-----------------" #: src/lang.c:506 -#, c-format -msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" -msgstr "%s=ÐÏÄÐÉÓÁÔØÓÑ; %s=ÐÏÄÐ. ÛÁÂÌÏÎ; %s=ÏÔÐÉÓÁÔØÓÑ; %s=ÏÔÐÉÓ. ÛÁÂÌÏÎ; %s=yank in/" - "out" +#, fuzzy +msgid "Miscellaneous\n" + "-------------" +msgstr "òÁÚÎÙÅ\n" + "------" #: src/lang.c:507 -#, c-format -msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" -msgstr "=ÐÅÒÅÊÔÉ Ë n; %s=ÓÌÅÄ. ÎÅÐÒÏÞ.; %s=catchup; %s=ÉÚÍÅÎ. ×ÉÄ" +msgid "Moving around\n" + "-------------" +msgstr "ä×ÉÖÅÎÉÅ\n" + "--------" #: src/lang.c:508 -#, c-format -msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" -msgstr "%s=ÐÏÍÏÝØ; %s=ÓÔÒ. ×ÎÉÚ; %s=ÓÔÒ. ××ÅÒÈ; %s=×ÙÈÏÄ; %s=ÏÔÍ.; %s=ÍÁÒË. ÎÅÐÒÏÞ." +msgid "Group/thread/article operations\n" + "-------------------------------" +msgstr "ïÐÅÒÁÃÉÉ Ó ÇÒÕÐÐÁÍÉ/ÄÉÓËÕÓÓÉÑÍ/ÓÔÁÔØÑÍÉ\n" + "---------------------------------------" #: src/lang.c:509 -msgid "--More--" -msgstr "--äÁÌÅÅ--" +#, fuzzy +msgid "Attachment operations\n" + "---------------------" +msgstr "ðÏËÁÚÁÔØ Ó×ÏÊÓÔ×Á\n" + "-----------------" #: src/lang.c:510 -#, c-format -msgid "Moving %s..." -msgstr "ðÅÒÅÍÅÝÅÎÉÅ %s..." +#, fuzzy +msgid "Attribute operations\n" + "--------------------" +msgstr "ðÏËÁÚÁÔØ Ó×ÏÊÓÔ×Á\n" + "-----------------" + +#: src/lang.c:511 +#, fuzzy +msgid "Option operations\n" + "-----------------" +msgstr "ðÏËÁÚÁÔØ Ó×ÏÊÓÔ×Á\n" + "-----------------" #: src/lang.c:512 -msgid ", name: " -msgstr ", ÉÍÑ: " +#, fuzzy +msgid "Scope operations\n" + "----------------" +msgstr "ðÏËÁÚÁÔØ Ó×ÏÊÓÔ×Á\n" + "-----------------" #: src/lang.c:513 -#, c-format -msgid "Goto newsgroup [%s]> " -msgstr "ðÅÒÅÊÔÉ Ë ÇÒÕÐÐÅ [%s]> " +#, fuzzy +msgid "URL operations\n" + "--------------" +msgstr "ðÏËÁÚÁÔØ Ó×ÏÊÓÔ×Á\n" + "-----------------" #: src/lang.c:514 -msgid "newsgroups" -msgstr "ÇÒÕÐÐÙ" +#, fuzzy +msgid "choose first URL in list" +msgstr "×ÙÂÒÁÔØ ÐÅÒ×ÕÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" #: src/lang.c:515 -#, c-format -msgid "Position %s in group list (1,2,..,$) [%d]> " -msgstr "ðÏÚÉÃÉÑ %s × ÓÐÉÓËÅ ÇÒÕÐÐ (1,2,..,$) [%d]> " +#, fuzzy +msgid "0 - 9\t choose URL by number" +msgstr "0 - 9\t ×ÙÂÒÁÔØ ÇÒÕÐÐÕ ÐÏ ÎÏÍÅÒÕ" #: src/lang.c:516 -msgid "newsgroup" -msgstr "ÇÒÕÐÐÁ" +#, fuzzy +msgid "choose last URL in list" +msgstr "×ÙÂÒÁÔØ ÐÏÓÌÅÄÎÀÀ ÇÒÕÐÐÕ × ÓÐÉÓËÅ" #: src/lang.c:517 -msgid "Try and save newsrc file again?" -msgstr "ðÏÐÒÏÂÏ×ÁÔØ É ÓÏÈÒÁÎÉÔØ newsrc ÓÎÏ×Á?" +#, fuzzy +msgid "search for URLs forwards" +msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (×ÐÅÒ£Ä)" #: src/lang.c:518 -msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." -msgstr "÷ÎÉÍÁÎÉÅ: çÒÕÐÐÙ ÎÅ ÂÙÌÉ ÚÁÐÉÓÁÎÙ × newsrc. óÏÈÒÁÎÅÎÉÅ ÐÒÅÒ×ÁÎÏ." +#, fuzzy +msgid "search for URLs backwards" +msgstr "ÐÏÉÓË ÓÔÁÔÅÊ ÐÏ Á×ÔÏÒÕ (ÎÁÚÁÄ)" #: src/lang.c:519 -msgid "newsrc file saved successfully.\n" -msgstr "newsrc ÆÁÊÌ ÕÓÐÅÛÎÏ ÓÏÈÒÁΣÎ.\n" +msgid "Open URL in browser" +msgstr "" #: src/lang.c:520 -msgid "-- Next response --" -msgstr "-- óÌÅÄÕÀÝÉÊ ÏÔ×ÅÔ --" - -#: src/lang.c:521 -#, c-format -msgid "NNTP authorization password not found for %s" -msgstr "ðÁÒÏÌØ Á×ÔÏÒÉÚÁÃÉÉ Ë NNTP ÎÅ ÎÁÊÄÅÎ ÄÌÑ %s" +#, fuzzy +msgid "toggle info message in last line (URL)" +msgstr "ÉÚÍÅÎÉÔØ ÉÎÆ. ÓÏÏÂÝÅÎÉÅ × ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ (ÔÅÍÁ/ÏÐÉÓÁÎÉÅ)" #: src/lang.c:522 -msgid "No " -msgstr "îÅÔ " +msgid "Group Level Commands" +msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÇÒÕÐÐ" #: src/lang.c:523 -msgid "*** No articles ***" -msgstr "*** îÅÔ ÓÔÁÔÅÊ ***" +msgid "Kill filter added" +msgstr "õÎÉÞÔÏÖÉÔØ ÄÏÂÁ×ÌÅÎÎÙÊ ÆÉÌØÔÒ" #: src/lang.c:524 -msgid "No articles have been posted" -msgstr "îÉ ÏÄÎÁ ÓÔÁÔØÑ ÎÅ ÂÙÌÁ ÏÔÐÒÁ×ÌÅÎÁ" +msgid "Auto-selection filter added" +msgstr "æÉÌØÔÒ Á×ÔÏ×ÙÂÏÒÁ ÄÏÂÁ×ÌÅÎ" #: src/lang.c:525 -msgid "*** No description ***" -msgstr "*** îÅÔ ÏÐÉÓÁÎÉÑ ***" +msgid "All parts tagged" +msgstr "÷ÓÅ ÞÁÓÔÉ ÐÏÍÅÞÅÎÙ" #: src/lang.c:526 -msgid "No filename" -msgstr "îÅÔ ÉÍÅÎÉ ÆÁÊÌÁ" +msgid "Storing article for later posting" +msgstr "óÏÈÒÁÎÅÎÉÅ ÓÔÁÔØÉ ÄÌÑ ÏÔÌÏÖÅÎÎÏÊ ÏÔÐÒÁ×ËÉ" #: src/lang.c:527 -msgid "No group" -msgstr "îÅÔ ÇÒÕÐÐÙ" +msgid "Please enter a valid character" +msgstr "ðÏÖÁÌÕÊÓÔÁ ××ÅÄÉÔÅ ÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ" #: src/lang.c:528 -msgid "*** No groups ***" -msgstr "*** îÅÔ ÇÒÕÐÐ ***" +#, c-format +msgid "Missing part #%d" +msgstr "ðÒÏÐÕÝÅÎÁ ÞÁÓÔØ #%d" #: src/lang.c:529 -msgid "No more groups to read" -msgstr "îÅÔ ÂÏÌØÛÅ ÇÒÕÐÐ ÄÌÑ ÞÔÅÎÉÑ" +msgid "*** No postponed articles ***" +msgstr "*** îÅÔ ÏÔÌÏÖÅÎÎÙÈ ÓÔÁÔÅÊ ***" #: src/lang.c:530 -msgid "No last message" -msgstr "îÅÔ ÐÏÓÌÅÄÎÅÇÏ ÓÏÏÂÝÅÎÉÑ" +msgid "Not a multi-part message" +msgstr "îÅ multi-part ÓÏÏÂÝÅÎÉÅ" #: src/lang.c:531 -msgid "No mail address" -msgstr "îÅÔ ÁÄÒÅÓÁ email" +msgid "You are not subscribed to this group" +msgstr "÷Ù ÎÅ ÐÏÄÐÉÓÁÎÙ ÎÁ ÜÔÕ ÇÒÕÐÐÕ" #: src/lang.c:532 -msgid "No articles marked for saving" -msgstr "îÅÔ ÍÁÒËÉÒÏ×ÁÎÎÙÈ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ" +msgid "No previous expression" +msgstr "îÅÔ ÐÒÅÄÙÄÕÝÅÇÏ ×ÙÒÁÖÅÎÉÑ" #: src/lang.c:533 -msgid "No match" -msgstr "îÅÔ ÓÏ×ÐÁÄÅÎÉÑ" - -#: src/lang.c:534 -msgid "No more groups" -msgstr "âÏÌØÛÅ ÎÅÔ ÇÒÕÐÐ" +msgid "Operation disabled in no-overwrite mode" +msgstr "ïÐÅÒÁÃÉÑ ÚÁÐÒÅÝÅÎÁ × ÒÅÖÉÍÅ ÚÁÐÒÅÝÅÎÉÑ ÐÅÒÅÚÁÐÉÓÉ" +#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:535 -msgid "No newsgroups" -msgstr "îÅÔ ÇÒÕÐÐ" +#, c-format +msgid "%d postponed %s, reuse with ^O...\n" +msgstr "%d ÏÔÌÏÖÅÎÁ(Ù) %s, ×ÏÚÏÂÎÏ×ÉÔØ Ó ^O...\n" #: src/lang.c:536 -msgid "No next unread article" -msgstr "îÅÔ ÓÌÅÄÕÀÝÅÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÉ" - -#: src/lang.c:537 -msgid "No previous group" -msgstr "îÅÔ ÐÒÅÄÙÄÕÝÅÊ ÇÒÕÐÐÙ" +msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" + " To get the whole article, turn alternative handling OFF in the Option Menu\n" +msgstr "X-Conversion-Note: multipart/alternative ÓÏÄÅÒÖÉÍÏÅ ÂÙÌÏ ÕÄÁÌÅÎÏ.\n" + " äÌÑ ÐÏÌÕÞÅÎÉÑ ×ÓÅÊ ÓÔÁÔØÉ, ÉÚÍÅÎÉÔÅ ÏÂÒÁÂÏÔËÕ multipart/alternative\n" + " ÓÔÁÔÅÊ ÎÁ OFF × íÅÎÀ ÏÐÃÉÊ\n" #: src/lang.c:538 -msgid "No previous unread article" -msgstr "îÅÔ ÐÒÅÄÙÄÕÝÅÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÉ" +#, c-format +msgid "Save filename for %s/%s is a mailbox. Attachment not saved" +msgstr "æÁÊÌ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ %s/%s - mailbox. ÷ÌÏÖÅÎÉÅ ÎÅ ÓÏÈÒÁÎÅÎÏ" #: src/lang.c:539 -msgid "No responses" -msgstr "îÅÔ ÏÔ×ÅÔÏ×" +msgid "TeX2Iso encoded article" +msgstr "TeX2Iso ËÏÄÉÒÏ×ÁÎÎÁÑ ÓÔÁÔØÑ" #: src/lang.c:540 -msgid "No responses to list in current thread" -msgstr "îÅÔ ÏÔ×ÅÔÏ× ÎÁ ÓÐÉÓÏË × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ" - -#: src/lang.c:541 -msgid "No search string" -msgstr "îÅÔ ÓÔÒÏËÉ ÐÏÉÓËÁ" +msgid "incomplete " +msgstr "ÎÅÐÏÌÎÙÊ " +#. TODO: replace hardcoded key-names #: src/lang.c:542 -msgid "No subject" -msgstr "îÅÔ ÔÅÍÙ" - -#: src/lang.c:544 -#, c-format -msgid "%s: Terminal must have clear to end-of-line (ce)\n" -msgstr "%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ ÆÕÎËÃÉÀ clear to end-of-line (ce)\n" - -#: src/lang.c:545 -#, c-format -msgid "%s: Terminal must have clear to end-of-screen (cd)\n" -msgstr "%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ ÆÕÎËÃÉÀ clear to end-of-screen (cd)\n" - -#: src/lang.c:546 -#, c-format -msgid "%s: Terminal must have clearscreen (cl) capability\n" -msgstr "%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ ÆÕÎËÃÉÀ clearscreen (cl)\n" - -#: src/lang.c:547 -#, c-format -msgid "%s: Terminal must have cursor motion (cm)\n" -msgstr "%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ cursor motion (cm)\n" - -#: src/lang.c:548 -#, c-format -msgid "%s: TERM variable must be set to use screen capabilities\n" -msgstr "%s: ÕÓÔÁÎÏ×ÉÔÅ ÐÅÒÅÍÅÎÎÕÀ ÓÒÅÄÙ TERM\n" - -#: src/lang.c:550 -#, c-format -msgid "No viewer found for %s/%s\n" -msgstr "îÅ ÎÁÊÄÅÎ ÐÒÏÓÍÏÔÏÒÝÉË ÄÌÑ %s/%s\n" - -#: src/lang.c:551 -msgid "Newsgroup does not exist on this server" -msgstr "çÒÕÐÐÁ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÎÁ ÜÔÏÍ ÓÅÒ×ÅÒÅ" - -#: src/lang.c:552 -#, c-format -msgid "Group %s not found in active file" -msgstr "çÒÕÐÐÁ %s ÎÅ ÎÁÊÄÅÎÁ × ÆÁÊÌÅ active" - -#: src/lang.c:553 -msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "c)ÓÏÚÄÁÔØ, a)ÉÓÐ. ÁÌØÔÅÒ. ÉÍÑ, d)ÉÓÐ. ÓÔÁÎÄÁÒÔÎÙÊ .newsrc, q)×ÙÈÏÄ ÉÚ tin: " - -#: src/lang.c:554 -msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "a)ÉÓÐ. ÁÌØÔÅÒ. ÉÍÑ, d)ÉÓÐ. ÓÔÁÎÄÁÒÔÎÙÊ .newsrc, q)×ÙÈÏÄ ÉÚ tin: " - -#: src/lang.c:555 #, c-format -msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" - "# shortname list for %s %s\n" - "#\n" - "# the format of this file is\n" - "# ...\n" - "#\n" - "# if is given without path, $HOME is assumed as its location\n" - "#\n" - "# examples:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" -msgstr "" - -#: src/lang.c:562 -msgid "Only" -msgstr "ôÏÌØËÏ" +msgid "\n" + "Welcome to %s, a full screen threaded Netnews reader. It can read news " + "locally\n" + "(ie. /news) or remotely (-r option) from a NNTP (Network News " + "Transport\n" + "Protocol) server. -h lists the available command line options.\n" + "\n" + "%s has four newsreading levels, the newsgroup selection page, the group " + "index\n" + "page, the thread listing page and the article viewer. Help is available at " + "each\n" + "level by pressing the 'h' command.\n" + "\n" + "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " + "or\n" + "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" + "\n" + "Articles, threads, tagged articles or articles matching a pattern can be " + "mailed\n" + "('m' command), printed ('o' command), saved ('s' command), piped ('|' " + "command).\n" + "Use the 'w' command to post a news article, the 'f'/'F' commands to post " + "a\n" + "follow-up to an existing news article and the 'r'/'R' commands to reply " + "via\n" + "mail to an existing news article author. The 'M' command allows the " + "operation\n" + "of %s to be configured via a menu.\n" + "\n" + "For more information read the manual page, README, INSTALL, TODO and FTP " + "files.\n" + "Please send bug-reports/comments to %s with the 'R' command.\n" +msgstr "\n" + "äÏÂÒÏ ÐÏÖÁÌÏ×ÁÔØ × %s, ÐÏÌÎÏÜËÒÁÎÎÙÊ newsreader. tin ÍÏÖÅÔ ÞÉÔÁÔØ ÎÏ×ÏÓÔÉ Ó \n" + "ÌÏËÁÌØÎÏÊ ÍÁÛÉÎÙ (ÎÁÐÒÉÍÅÒ Ó /news) ÉÌÉ ÕÄÁÌÅÎÏ (Ó ÏÐÃÉÅÊ -r) Ó NNTP\n" + "(Network News Transport Protocol) ÓÅÒ×ÅÒÁ. -h ÐÏËÁÚÙ×ÁÅÔ ÄÏÓÔÕÐÎÙÅ ÏÐÃÉÉ\n" + "ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.\n" + "\n" + "÷ %s ÞÅÔÙÒÅ ÕÒÏ×ÎÑ: ÓÔÒÁÎÉÃÁ ×ÙÂÏÒÁ ÇÒÕÐÐÙ, ÓÔÒÁÎÉÃÁ ÉÎÄÅËÓÁ ÇÒÕÐÐÙ, " + "ÓÔÒÁÎÉÃÁ\n" + "ÄÉÓËÕÓÓÉÊ É ÓÔÒÁÎÉÃÁ ÐÒÏÓÍÏÔÒÁ ÓÔÁÔØÉ. ðÏÄÓËÁÚËÁ ÄÏÓÔÕÐÎÁ ÄÌÑ ËÁÖÄÏÇÏ ÕÒÏ×ÎÑ\n" + "ÎÁÖÁÔÉÅÍ 'h'.\n" + "\n" + "ðÅÒÅÍÅÝÁÔØÓÑ ××ÅÒÈ/×ÎÉÚ ÍÏÖÎÏ ÎÁÖÁÔÉÅÍ ÓÔÒÅÌÏË ÉÌÉ 'j' É 'k'. äÌÑ\n" + "ÐÒÏÌÉÓÔÙ×ÁÎÉÑ ÓÔÒÁÎÉÃÙ ××ÅÒÈ/×ÎÉÚ ÎÁÖÍÉÔÅ PgUp / PgDn ÉÌÉ Ctrl-U / Ctrl-D\n" + "÷ÈÏÄ × ÇÒÕÐÐÕ ÎÁÖÁÔÉÅÍ /<ôáâ>.\n" + "\n" + "óÔÁÔØÉ, ÄÉÓËÕÓÓÉÉ, ÐÏÍÅÞÅÎÎÙÅ ÉÌÉ ÓÏ×ÐÁÄÁÀÝÉÅ Ó ÛÁÂÌÏÎÏÍ ÓÔÁÔØÉ ÍÏÇÕÔ ÂÙÔØ\n" + "ÏÔÐÒÁ×ÌÅÎÙ ÐÏ email (ËÏÍÁÎÄÁ 'm'), ÎÁÐÅÞÁÔÁÎÙ (ËÏÍÁÎÄÁ 'o'), ÓÏÈÒÁÎÅÎÙ\n" + "(ËÏÍÁÎÄÁ 's') ÉÌÉ ÏÔÐÒÁ×ÌÅÎÙ × pipe (ËÏÍÁÎÄÁ '|').\n" + "'w' - ÏÔÐÒÁ×ÉÔØ ÎÏ×ÕÀ ÓÔÁÔØÀ, 'f'/'F' - ÏÔÐÒÁ×ÉÔØ follow-up ÎÁ ÓÕÝÅÓÔ×ÕÀÝÕÀ\n" + "ÓÔÁÔØÀ É 'r'/'R' - ÏÔ×ÅÔÉÔØ ÐÏ email Á×ÔÏÒÕ ÓÔÁÔØÉ. ëÏÍÁÎÄÁ 'M' ÐÏÚ×ÏÌÑÅÔ\n" + "ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ %s ÐÏÓÒÅÄÓÔ×ÏÍ ÕÄÏÂÎÏÇÏ ÍÅÎÀ.\n" + "\n" + "äÌÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÞÉÔÁÊÔÅ ÓÔÒÁÎÉÃÙ ÄÏËÕÍÅÎÔÁÃÉÉ, ÆÁÊÌÙ README, " + "INSTALL\n" + "TODO É FTP. óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ É ÏÔÚÙ×Ù ÏÔÐÒÁ×ÌÑÊÔÅ %s ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ " + "'R'.\n" + +#: src/lang.c:558 +#, c-format +msgid "Invalid From: %s line. Read the INSTALL file again." +msgstr "îÅÄÏÐÕÓÔÉÍÁÑ ÓÔÒÏËÁ From: %s. ðÒÏÞÉÔÁÊÔÅ ÆÁÊÌ INSTALL ÓÎÏ×Á." + +#: src/lang.c:560 +msgid "Invalid multibyte sequence found\n" +msgstr "îÁÊÄÅÎÁ ÎÅÄÏÐÕÓÔÉÍÁÑ ÍÕÌØÔÉÂÁÊÔÏ×ÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ\n" #: src/lang.c:563 #, c-format -msgid "Option not enabled. Recompile with %s." -msgstr "ïÐÃÉÑ ÎÅ ×ËÌÀÞÅÎÁ. ðÅÒÅÓÏÂÅÒÉÔÅ ÐÁËÅÔ Ó %s." +msgid "Invalid Sender:-header %s" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÁÇÏÌÏ×ÏË Sender: %s" -#: src/lang.c:564 -msgid "Options Menu" -msgstr "íÅÎÀ ÏÐÃÉÊ" - -#: src/lang.c:567 -#, c-format -msgid "Error in regex: %s at pos. %d '%s'" -msgstr "ïÛÉÂËÁ × regex: %s × ÐÏÚ. %d '%s'" +#: src/lang.c:565 +msgid "Inverse video disabled" +msgstr "éÎ×ÅÒÓÎÏÅ ×ÉÄÅÏ ÚÁÐÒÅÝÅÎÏ" + +#: src/lang.c:566 +msgid "Inverse video enabled" +msgstr "éÎ×ÅÒÓÎÏÅ ×ÉÄÅÏ ÒÁÚÒÅÛÅÎÏ" #: src/lang.c:568 #, c-format -msgid "Error in regex: pcre internal error %d" -msgstr "ïÛÉÂËÁ × regex: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ pcre %d" +msgid "Missing definition for %s\n" +msgstr "ðÒÏÐÕÝÅÎÏ ÏÐÒÅÄÅÌÅÎÉÅ ÄÌÑ %s\n" #: src/lang.c:569 #, c-format -msgid "Error in regex: study - pcre internal error %s" -msgstr "ïÛÉÂËÁ × regex: study - ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ pcre %s" +msgid "Invalid key definition '%s'\n" +msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ËÌÁ×ÉÛÉ '%s'\n" #: src/lang.c:570 -msgid "Post a followup..." -msgstr "ïÔÐÒÁ×ÌÅÎÉÅ ÏÔ×ÅÔÁ × ÇÒÕÐÐÕ..." +#, c-format +msgid "Invalid keyname '%s'\n" +msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÎÁÚ×ÁÎÉÅ ËÌÁ×ÉÛÉ '%s'\n" + +#: src/lang.c:571 +#, c-format +msgid "Keymap file was upgraded to version %s\n" +msgstr "æÁÊÌ Keymap ÏÂÎÏ×ÌÅÎ ÄÏ ×ÅÒÓÉÉ %s\n" -#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone #: src/lang.c:572 -msgid "An error has occurred while posting the article. If you think that this\n" - "error is temporary or otherwise correctable, you can postpone the article\n" - "and pick it up again with ^O later.\n" -msgstr "ïÛÉÂËÁ ×Ï ×ÒÅÍÑ ÏÔÐÒÁ×ÌÅÎÉÑ ÓÔÁÔØÉ. åÓÌÉ ÷Ù ÄÕÍÁÅÔÅ, ÞÔÏ ÏÛÉÂËÁ ×ÒÅÍÅÎÎÁÑ\n" - "É ÍÏÖÅÔ ÂÙÔØ ÉÓÐÒÁ×ÌÅÎÁÑ, ÔÏ ×Ù ÍÏÖÅÔÅ ÏÔÌÏÖÉÔØ ÓÔÁÔØÀ É ÏÔÐÒÁ×ÉÔØ Å£ Ó\n" - "ÐÏÍÏÝØÀ ^O ÐÏÚÖÅ.\n" +#, c-format +msgid "Kill From: [%s] (y/n): " +msgstr "õÎÉÞÔÏÖÉÔØ From: [%s] (y/n): " + +#: src/lang.c:573 +msgid "Kill Lines: (num): " +msgstr "õÎÉÞÔÏÖÉÔØ ÓÔÒÏËÉ: (num): " + +#: src/lang.c:574 +msgid "Kill Article Menu" +msgstr "õÎÉÞÔÏÖÉÔØ ÍÅÎÀ ÓÔÁÔØÉ" #: src/lang.c:575 -msgid "Posted articles history" -msgstr "éÓÔÏÒÉÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ" +#, c-format +msgid "Kill Msg-Id: [%s] (f/l/o/n): " +msgstr "õÎÉÞÔÏÖÉÔØ Msg-Id: [%s] (f/l/o/n): " #: src/lang.c:576 -#, c-format -msgid "Post to newsgroup(s) [%s]> " -msgstr "ïÔÐÒÁ×ÉÔØ × ÇÒÕÐÐÕ(Ù) [%s]> " +msgid "Kill pattern scope : " +msgstr "õÎÉÞÔÏÖÉÔØ ÛÁÂÌÏÎ ÏÂÚÏÒÁ : " #: src/lang.c:577 -msgid "-- post processing started --" -msgstr "-- ÐÏÓÔ-ÏÂÒÁÂÏÔËÁ ÎÁÞÁÔÁ --" +#, c-format +msgid "Kill Subject: [%s] (y/n): " +msgstr "õÎÉÞÔÏÖÉÔØ ôÅÍÕ: [%s] (y/n): " #: src/lang.c:578 -msgid "-- post processing completed --" -msgstr "-- ÐÏÓÔ-ÏÂÒÁÂÏÔËÁ ÚÁËÏÎÞÅÎÁ --" +msgid "Kill text pattern : " +msgstr "õÎÉÞÔÏÖÉÔØ ÛÁÂÌÏÎ : " #: src/lang.c:579 -#, c-format -msgid "Post subject [%s]> " -msgstr "ôÅÍÁ ÓÏÏÂÝÅÎÉÑ [%s]> " - -#: src/lang.c:580 -msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" -msgstr "# ó×ÏÄËÁ Ï ÓÏÏÂÝÅÎÉÑÈ ÏÔÐÒÁ×ÌÅÎÎÙÈ × ÇÒÕÐÐÕ ÉÌÉ ÐÏ ÐÏÞÔÅ ×ÙÚÙ×ÁÅÔÓÑ ËÏÍÁÎÄÏÊ\n" - "# 'W' ÉÚ tin.\n" +msgid "Kill time in days : " +msgstr "õÎÉÞÔÏÖÉÔØ ×ÒÅÍÑ × ÄÎÑÈ : " #: src/lang.c:581 -msgid "Posting article..." -msgstr "ïÔÐÒÁ×ÌÅÎÉÅ ÓÔÁÔØÉ..." +msgid "Last" +msgstr "ðÏÓÌÅÄÎÉÊ" #: src/lang.c:582 -#, c-format -msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " -msgstr "ïÔÐÒÁ×ÉÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ [%%s]? (%s/%s/%s/%s/%s): " +msgid "-- Last response --" +msgstr "-- ðÏÓÌÅÄÎÉÊ ÏÔ×ÅÔ --" #: src/lang.c:583 #, c-format -msgid "Hot %s" -msgstr "" - -#: src/lang.c:584 -#, c-format -msgid "Tagged %s" -msgstr "ðÏÍÅÞÅÎÙ %s" +msgid "Lines %s " +msgstr "óÔÒÏË %s " #: src/lang.c:585 -#, c-format -msgid "Untagged %s" -msgstr "óÎÑÔÙ ÏÔÍÅÔËÉ %s" +msgid "Mail" +msgstr "" #: src/lang.c:586 -msgid "Processing mail messages marked for deletion." -msgstr "ïÂÒÁÂÏÔËÁ ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÊ ÐÏÍÅÞÅÎÎÙÈ ÄÌÑ ÕÄÁÌÅÎÉÑ." +msgid "mailbox " +msgstr "" #: src/lang.c:587 -msgid "Processing saved articles marked for deletion." -msgstr "ïÂÒÁÂÏÔËÁ ÓÏÈÒÁΣÎÎÙÈ ÓÔÁÔÅÊ ÐÏÍÅÞÅÎÎÙÈ ÄÌÑ ÕÄÁÌÅÎÉÑ." +#, c-format +msgid "Mail article(s) to [%.*s]> " +msgstr "ïÔÐÒÁ×ÉÔØ ÓÔÁÔØÀ(É) ÐÏ email [%.*s]> " #: src/lang.c:588 #, c-format -msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " -msgstr "ðÒÉÎÑÔØ Followup-To? %s=ÏÔÐÒÁ×ÉÔØ, %s=ÉÇÎÏÒÉÒÏ×ÁÔØ, %s=×ÙÈÏÄ: " +msgid "Mailing log to %s\n" +msgstr "ïÔÐÒÁ×ÉÔØ ÌÏÇ-ÓÏÏÂÝÅÎÉÅ %s\n" #: src/lang.c:589 -msgid "Article unchanged, abort mailing?" -msgstr "óÔÁÔØÑ ÎÅ ÉÚÍÅÎÉÌÁÓØ, ÐÒÅÒ×ÁÔØ ÏÔÐÒÁ×ËÕ?" +msgid "Mail bug report..." +msgstr "ïÔÐÒÁ×ÌÑÅÔÓÑ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ..." #: src/lang.c:590 #, c-format -msgid "Do you want to see postponed articles (%d)?" -msgstr "èÏÔÉÔÅ ÐÏÓÍÏÔÒÅÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ (%d)?" +msgid "Mail BUG REPORT to %s?" +msgstr "ïÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ %s?" + +#: src/lang.c:591 +msgid "Mailed" +msgstr "ïÔÐÒÁ×ÌÅÎÏ ÐÏ email" #: src/lang.c:592 -msgid "Add quick kill filter?" -msgstr "äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ÕÎÉÞÔÏÖÅÎÉÑ?" +#, c-format +msgid "Mailing to %s..." +msgstr "ïÔÐÒÁ×ÌÑÅÔÓÑ ÐÏ email %s..." #: src/lang.c:593 -msgid "Add quick selection filter?" -msgstr "äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ×ÙÂÏÒÁ?" - -#: src/lang.c:594 -msgid "Do you really want to quit?" -msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ×ÙÊÔÉ?" - -#: src/lang.c:595 -#, c-format -msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " -msgstr "%s=ÒÅÄÁËÔ. ÏÔÍÅÎ. ÓÏÏÂÝÅÎÉÑ, %s=×ÙÈÏÄ, %s=ÕÄÁÌÉÔØ (ÏÔÍÅÎÉÔØ) [%%s]: " +msgid "# [Mail/Save] active file. Format is like news active file:\n" + "# groupname max.artnum min.artnum /dir\n" + "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" + "#\n" +msgstr "" #: src/lang.c:596 -msgid "You have tagged articles in this group - quit anyway?" -msgstr "ïÓÔÁÌÉÓØ ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ - ×ÙÊÔÉ ×ÓÅ ÒÁ×ÎÏ?" +#, fuzzy, c-format +msgid "%s marked as read" +msgstr "%s ÐÏÍÅÞÅÎÏ ËÁË ÎÅÐÒÏÞÉÔÁÎÏ" #: src/lang.c:597 #, c-format -msgid "%s=quit, %s=edit, %s=postpone: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ, %s=ÏÔÌÏÖÉÔØ: " +msgid "%s marked as unread" +msgstr "%s ÐÏÍÅÞÅÎÏ ËÁË ÎÅÐÒÏÞÉÔÁÎÏ" #: src/lang.c:598 -#, c-format -msgid "%s=quit %s=edit %s=save kill description: " -msgstr "%s=×ÙÈÏÄ %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ %s=ÓÏÈÒ. ÕÎÉÞÔÏÖÅÎÎÏÅ ÏÐÉÓÁÎÉÅ: " +#, fuzzy, c-format +msgid "Marked %d of %d %s as read" +msgstr "ðÏÍÅÞÅÎÏ %d ÉÚ %d ÏÔÍÅÞÅÎÎÙÈ %s ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" #: src/lang.c:599 -#, c-format -msgid "%s=quit %s=edit %s=save select description: " -msgstr "%s=×ÙÈÏÄ %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ %s=ÓÏÈÒ. ×ÙÂÒÁÎÎÏÅ ÏÐÉÓÁÎÉÅ: " - -#: src/lang.c:600 -msgid "Do you really want to quit without saving your configuration?" -msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ×ÙÊÔÉ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ËÏÎÆÉÇÕÒÁÃÉÉ?" +#, fuzzy, c-format +msgid "Marked %d of %d %s as unread" +msgstr "ðÏÍÅÞÅÎÏ %d ÉÚ %d ÏÔÍÅÞÅÎÎÙÈ %s ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" + +#: src/lang.c:600 src/lang.c:1321 +msgid "Mark" +msgstr "" + +#: src/lang.c:601 +#, c-format +msgid "Mark all articles as read%s?" +msgstr "ðÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ%s?" + +#: src/lang.c:602 +#, fuzzy, c-format +msgid "Mark article as read%s?" +msgstr "ðÏÍÅÔÉÔØ ×ÓÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ%s?" #: src/lang.c:603 -msgid "Invalid range - valid are '0-9.$' eg. 1-$" -msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÄÉÁÐÁÚÏÎ - ÄÏÓÔÕÐÎÙ '0-9.$', ÎÁÐÒ. 1-$" +#, c-format +msgid "Mark group %s as read?" +msgstr "ðÏÍÅÔÉÔØ ÇÒÕÐÐÕ %s ËÁË ÐÒÏÞÉÔÁÎÎÕÀ?" #: src/lang.c:604 -msgid "Do you want to abort this operation?" -msgstr "÷Ù ÈÏÔÉÔÅ ÐÒÅÒ×ÁÔØ ÏÐÅÒÁÃÉÀ?" +#, c-format +msgid "Mark thread as read%s?" +msgstr "ðÏÍÅÔÉÔØ ÄÉÓËÕÓÓÉÀ ËÁË ÐÒÏÞÉÔÁÎÎÕÀ %s?" #: src/lang.c:605 -msgid "Do you want to exit tin immediately?" -msgstr "÷Ù ÈÏÔÉÔÅ ×ÙÊÔÉ ÉÚ tin ÎÅÍÅÄÌÅÎÎÏ?" +#, c-format +msgid "Matching %s groups..." +msgstr "óÏÐÏÓÔÁ×ÌÅÎÉÅ Ó ÛÁÂÌÏÎÏÍ %s ÇÒÕÐÐ..." -#: src/lang.c:606 -msgid "Read response> " -msgstr "ðÒÏÞÉÔÁÔØ ÏÔ×ÅÔ> " - -#: src/lang.c:607 -msgid "Reading ('q' to quit)..." -msgstr "þÔÅÎÉÅ ('q' - ×ÙÈÏÄ)..." +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 +#, fuzzy, c-format +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "=ÐÅÒÅÊÔÉ Ë n; %s=ÓÌÅÄ. ÎÅÐÒÏÞ.; %s=catchup; %s=ÉÚÍÅÎ. ×ÉÄ" #: src/lang.c:608 -#, c-format -msgid "Reading %sarticles..." -msgstr "þÔÅÎÉÅ %sÓÔÁÔÅÊ..." - -#: src/lang.c:609 -#, c-format -msgid "Reading %sattributes file...\n" -msgstr "þÔÅÎÉÅ ÆÁÊÌÁ %sÁÔÒÉÂÕÔÏ×...\n" +#, fuzzy, c-format +msgid "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=mail; %s=×ÙÈÏÄ; %s=ÏÔ×ÅÔÉÔØ; %s=ÓÏÈÒÁÎÉÔØ; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" #: src/lang.c:610 -#, c-format -msgid "Reading %sconfig file...\n" -msgstr "þÔÅÎÉÅ ÆÁÊÌÁ %sconfig...\n" - -#: src/lang.c:611 -msgid "Reading filter file...\n" -msgstr "þÔÅÎÉÅ ÆÁÊÌÁ ÆÉÌØÔÒÏ×...\n" +#, fuzzy, c-format +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=mail; %s=×ÙÈÏÄ; %s=ÏÔ×ÅÔÉÔØ; %s=ÓÏÈÒÁÎÉÔØ; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" #: src/lang.c:612 -#, c-format -msgid "Reading %s groups..." -msgstr "þÔÅÎÉÅ %s ÇÒÕÐÐ..." +#, fuzzy, c-format +msgid "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=ÐÏÉÓË ×ÐÅÒ£Ä; %s=ÐÏÉÓË ÎÁÚÁÄ; %s=×ÙÈÏÄ" -#: src/lang.c:613 -msgid "Reading input history file...\n" -msgstr "þÔÅÎÉÅ ÆÁÊÌÁ ÉÓÔÏÒÉÉ...\n" +#: src/lang.c:613 src/lang.c:617 +#, c-format +msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" +msgstr "=ÐÅÒÅÊÔÉ Ë n; %s=ÓÌÅÄ. ÎÅÐÒÏÞ.; %s=ÐÏÉÓË ÐÏ ÛÁÂÌÏÎÕ; %s=ÕÎÉÞÔ./×ÙÂÒÁÔØ" #: src/lang.c:614 -msgid "Reading keymap file...\n" -msgstr "þÔÅÎÉÅ ÆÁÊÌÁ ÎÁÚÎÁÞÅÎÉÊ ËÌÁ×ÉÛ...\n" +#, c-format +msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " + "thread" +msgstr "%s=ÐÏÉÓË Á×Ô.; %s=catchup; %s=ÓÔÒË. ×ÎÉÚ.; %s=ÓÔÒË. ××ÅÒÈ.; %s=ÍÁÒË. ÐÒÏÞ.; %" + "s=ÓÐÉÓ. ÄÉÓË." #: src/lang.c:615 -msgid "Reading groups from active file... " -msgstr "þÔÅÎÉÅ ÇÒÕÐÐ ÉÚ ÆÁÊÌÁ active... " +#, c-format +msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" +msgstr "%s=ÓÔÒË. ××ÅÒÈ; %s=ÓÔÒË. ×ÎÉÚ; %s=ÓÔÒ. ××ÅÒÈ; %s=ÓÔÒ. ×ÎÉÚ; %s=ÎÁÞÁÌÏ; %" + "s=ËÏÎÅÃ" #: src/lang.c:616 -msgid "Reading groups from newsrc file... " -msgstr "þÔÅÎÉÅ ÇÒÕÐÐ ÉÚ ÆÁÊÌÁ newsrc... " - -#: src/lang.c:617 -msgid "Reading newsgroups file... " -msgstr "þÔÅÎÉÅ ÆÁÊÌÁ ÇÒÕÐÐ... " +#, c-format +msgid "%s=search forwards; %s=search backwards; %s=quit" +msgstr "%s=ÐÏÉÓË ×ÐÅÒ£Ä; %s=ÐÏÉÓË ÎÁÚÁÄ; %s=×ÙÈÏÄ" #: src/lang.c:618 -msgid "Reading newsrc file..." -msgstr "þÔÅÎÉÅ ÆÁÊÌÁ newsrc..." +#, c-format +msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" +msgstr "%s=ÐÏÉÓË Á×ÔÏÒÁ; %s=ÐÏÉÓË × ÓÏÏÂ.; %s=catchup; %s=followup; %s=ÍÁÒË. ÐÒÏÞ." + +#: src/lang.c:619 +#, c-format +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "" -#: src/lang.c:620 +#: src/lang.c:621 #, c-format -msgid "(%d:%02d remaining)" -msgstr "(%d:%02d ÏÓÔÁÌÏÓØ)" +msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" +msgstr "=ÐÅÒÅÊÔÉ Ë n; %s=ÓÌÅÄ. ÎÅÐÒÏÞ.; %s,%s=ÐÏÉÓË ÐÏ ÛÁÂÌÏÎÕ; %s=catchup" #: src/lang.c:622 #, c-format -msgid "Bogus group %s removed." -msgstr "ïÛÉÂÏÞÎÁÑ ÇÒÕÐÐÁ %s ÕÄÁÌÅÎÁ." +msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" +msgstr "%s=ÓÔÒ. ×ÎÉÚ; %s=ÓÔÒ. ××ÅÒÈ; %s=ÐÏÍÏÝØ; %s=ÐÅÒÅÍ.; %s=×ÙÈÏÄ; %s=ÕÓÔ. ×ÓÅ|" + "ÎÅÐÒÏÞ." #: src/lang.c:623 #, c-format -msgid "Error: rename %s to %s" -msgstr "ïÛÉÂËÁ: ÐÅÒÅÉÍÅÎÏ×ÁÔØ %s × %s" +msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" +msgstr "%s=ÐÏÄÐÉÓÁÔØÓÑ; %s=ÐÏÄÐ. ÛÁÂÌÏÎ; %s=ÏÔÐÉÓÁÔØÓÑ; %s=ÏÔÐÉÓ. ÛÁÂÌÏÎ; %s=yank in/" + "out" #: src/lang.c:624 -msgid "Reply to author..." -msgstr "ïÔ×ÅÞÁÅÍ Á×ÔÏÒÕ..." +#, c-format +msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" +msgstr "=ÐÅÒÅÊÔÉ Ë n; %s=ÓÌÅÄ. ÎÅÐÒÏÞ.; %s=catchup; %s=ÉÚÍÅÎ. ×ÉÄ" #: src/lang.c:625 -msgid "Repost" -msgstr "ïÐÒÁ×ÉÔØ ÓÎÏ×Á" - -#: src/lang.c:626 -msgid "Reposting article..." -msgstr "ðÏ×ÔÏÒÎÁÑ ÏÔÐÒÁ×ËÁ ÓÔÁÔØÉ..." +#, c-format +msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" +msgstr "%s=ÐÏÍÏÝØ; %s=ÓÔÒ. ×ÎÉÚ; %s=ÓÔÒ. ××ÅÒÈ; %s=×ÙÈÏÄ; %s=ÏÔÍ.; %s=ÍÁÒË. ÎÅÐÒÏÞ." #: src/lang.c:627 -#, c-format -msgid "Repost article(s) to group(s) [%s]> " -msgstr "ïÔÐÒÁ×ÉÔØ ÓÎÏ×Á ÓÔÁÔØÀ(É) × ÇÒÕÐÐÕ(Ù) [%s]> " +#, fuzzy, c-format +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=ÐÏÉÓË ×ÐÅÒ£Ä; %s=ÐÏÉÓË ÎÁÚÁÄ; %s=×ÙÈÏÄ" #: src/lang.c:628 -msgid "Reset newsrc?" -msgstr "óÂÒÏÓÉÔØ newsrc?" +msgid "--More--" +msgstr "--äÁÌÅÅ--" #: src/lang.c:629 -msgid "Responses have been directed to the following newsgroups" -msgstr "ïÔ×ÅÔÙ ÂÙÌÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÙ × ÓÌÅÄÕÀÝÉÅ ÇÒÕÐÐÙ" +#, c-format +msgid "Moving %s..." +msgstr "ðÅÒÅÍÅÝÅÎÉÅ %s..." #: src/lang.c:630 -#, c-format -msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " -msgstr "ïÔ×ÅÔÙ ÂÙÌÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÙ ÏÔÐÒÁ×ÉÔÅÌÀ. %s=mail, %s=ÏÔÐÒÁ×ÉÔØ, %s=×ÙÈÏÄ: " +msgid "Message-ID: & last Reference " +msgstr "" #: src/lang.c:631 -#, c-format -msgid "RespNo %4d of %4d" -msgstr "ïÔ×ÅÔ %4d ÉÚ %4d" +msgid "Message-ID: line " +msgstr "Message-ID: ÓÔÒÏËÁ " #: src/lang.c:632 -msgid "Press to continue..." -msgstr "îÁÖÍÉÔÅ ÄÌÑ ÐÒÏÄÏÌÖÅÎÉÑ..." +msgid "Message-ID: & References: line" +msgstr "" #: src/lang.c:634 -#, c-format -msgid "Select From [%s] (y/n): " -msgstr "÷ÙÂÒÁÔØ From [%s] (y/n): " +msgid ", name: " +msgstr ", ÉÍÑ: " #: src/lang.c:635 -msgid "Select Lines: (num): " -msgstr "÷ÙÂÒÁÔØ ÓÔÒÏËÉ: (num): " +#, fuzzy, c-format +msgid "Go to newsgroup [%s]> " +msgstr "ðÅÒÅÊÔÉ Ë ÇÒÕÐÐÅ [%s]> " #: src/lang.c:636 -msgid "Auto-select Article Menu" -msgstr "á×ÔÏ×ÙÂÏÒ íÅÎÀ ÓÔÁÔÅÊ" +msgid "newsgroups" +msgstr "ÇÒÕÐÐÙ" #: src/lang.c:637 #, c-format -msgid "Select Msg-Id [%s] (f/l/o/n): " -msgstr "÷ÙÂÒÁÔØ Msg-Id [%s] (f/l/o/n): " +msgid "Position %s in group list (1,2,..,$) [%d]> " +msgstr "ðÏÚÉÃÉÑ %s × ÓÐÉÓËÅ ÇÒÕÐÐ (1,2,..,$) [%d]> " #: src/lang.c:638 -msgid "Select pattern scope: " -msgstr "÷ÙÂÒÁÔØ ÏÂÌÁÓÔØ ÛÁÂÌÏÎÁ: " +msgid "newsgroup" +msgstr "ÇÒÕÐÐÁ" #: src/lang.c:639 -#, c-format -msgid "Select Subject [%s] (y/n): " -msgstr "÷ÙÂÒÁÔØ ôÅÍÕ [%s] (y/n): " +msgid "Try and save newsrc file again?" +msgstr "ðÏÐÒÏÂÏ×ÁÔØ É ÓÏÈÒÁÎÉÔØ newsrc ÓÎÏ×Á?" #: src/lang.c:640 -msgid "Select text pattern : " -msgstr "÷ÙÂÒÁÔØ ÛÁÂÌÏÎ : " +msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." +msgstr "÷ÎÉÍÁÎÉÅ: çÒÕÐÐÙ ÎÅ ÂÙÌÉ ÚÁÐÉÓÁÎÙ × newsrc. óÏÈÒÁÎÅÎÉÅ ÐÒÅÒ×ÁÎÏ." #: src/lang.c:641 -msgid "Select time in days : " -msgstr "÷ÙÂÒÁÔØ ×ÒÅÍÑ : " +msgid "newsrc file saved successfully.\n" +msgstr "newsrc ÆÁÊÌ ÕÓÐÅÛÎÏ ÓÏÈÒÁΣÎ.\n" #: src/lang.c:642 -#, c-format -msgid "# %s server configuration file\n" - "# This file was automatically saved by %s %s %s (\"%s\")\n" - "#\n" - "# Do not edit while %s is running, since all your changes to this file\n" - "# will be overwritten when you leave %s.\n" - "# Do not edit at all if you don't know what you do.\n" - "############################################################################\n" - "\n" -msgstr "# %s ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ\n" - "# üÔÏÔ ÆÁÊÌ ÂÙÌ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁΣΠ%s %s %s (\"%s\")\n" - "#\n" - "# îÅ ÒÅÄÁËÔÉÒÕÊÔÅ ÅÇÏ ÐÏËÁ ÚÁÐÕÝÅÎ %s, ÔÁË ËÁË ×ÓÅ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ ×\n" - "# ÜÔÏÍ ÆÁÊÌÅ ÂÕÄÕÔ ÐÅÒÅÚÁÐÉÓÁÎÙ, ËÏÇÄÁ ×Ù ÚÁ×ÅÒÛÉÔÅ ÒÁÂÏÔÕ %s.\n" - "# îÅ ÒÅÄÁËÔÉÒÕÊÔÅ ÓÏ×ÓÅÍ, ÅÓÌÉ ×Ù ÎÅ ÐÏÎÉÍÁÅÔÅ ÞÔÏ ×Ù ÄÅÌÁÅÔÅ.\n" - "############################################################################\n" - "\n" +msgid "-- Next response --" +msgstr "-- óÌÅÄÕÀÝÉÊ ÏÔ×ÅÔ --" + +#: src/lang.c:643 +msgid "No " +msgstr "îÅÔ " + +#: src/lang.c:644 +msgid "*** No articles ***" +msgstr "*** îÅÔ ÓÔÁÔÅÊ ***" + +#: src/lang.c:645 +msgid "No articles have been posted" +msgstr "îÉ ÏÄÎÁ ÓÔÁÔØÑ ÎÅ ÂÙÌÁ ÏÔÐÒÁ×ÌÅÎÁ" + +#: src/lang.c:646 +#, fuzzy +msgid "*** No attachments ***" +msgstr "*** îÅÔ ÓÔÁÔÅÊ ***" + +#: src/lang.c:647 +msgid "*** No description ***" +msgstr "*** îÅÔ ÏÐÉÓÁÎÉÑ ***" #: src/lang.c:648 -msgid "Showing unread groups only" -msgstr "÷Ù×ÏÄ ÔÏÌØËÏ ÎÅÐÒÏÞÉÔÁÎÎÙÈ ÇÒÕÐÐ" +msgid "No filename" +msgstr "îÅÔ ÉÍÅÎÉ ÆÁÊÌÁ" #: src/lang.c:649 -msgid "Subject: line (ignore case) " -msgstr "ôÅÍÁ: ÓÔÒÏËÁ (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ) " +msgid "No group" +msgstr "îÅÔ ÇÒÕÐÐÙ" #: src/lang.c:650 -msgid "Subject: line (case sensitive)" -msgstr "ôÅÍÁ: ÓÔÒÏËÁ (ÎÅ ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)" +msgid "*** No groups ***" +msgstr "*** îÅÔ ÇÒÕÐÐ ***" #: src/lang.c:651 -msgid "Save" -msgstr "óÏÈÒÁÎÉÔØ" +msgid "No more groups to read" +msgstr "îÅÔ ÂÏÌØÛÅ ÇÒÕÐÐ ÄÌÑ ÞÔÅÎÉÑ" #: src/lang.c:652 -#, c-format -msgid "Save '%s' (%s/%s)?" -msgstr "óÏÈÒÁÎÉÔØ '%s' (%s/%s)?" +msgid "No last message" +msgstr "îÅÔ ÐÏÓÌÅÄÎÅÇÏ ÓÏÏÂÝÅÎÉÑ" #: src/lang.c:653 -msgid "Save configuration before continuing?" -msgstr "óÏÈÒÁÎÉÔØ ËÏÎÆÉÇÕÒÁÃÉÀ ÐÅÒÅÄ ÐÒÏÄÏÌÖÅÎÉÅÍ?" +msgid "No mail address" +msgstr "îÅÔ ÁÄÒÅÓÁ email" #: src/lang.c:654 -msgid "Save filename> " -msgstr "óÏÈÒÁÎÉÔØ × ÆÁÊÌ> " +msgid "No articles marked for saving" +msgstr "îÅÔ ÍÁÒËÉÒÏ×ÁÎÎÙÈ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ" #: src/lang.c:655 -msgid "Saved" -msgstr "óÏÈÒÁÎÅÎÏ" +msgid "No match" +msgstr "îÅÔ ÓÏ×ÐÁÄÅÎÉÑ" #: src/lang.c:656 -#, c-format -msgid "%4d unread (%4d hot) %s in %s\n" -msgstr "%4d ÎÅÐÒÏÞÉÔÁÎÏ (%4d hot) %s × %s\n" +msgid "No more groups" +msgstr "âÏÌØÛÅ ÎÅÔ ÇÒÕÐÐ" #: src/lang.c:657 -#, c-format -msgid "Saved %s...\n" -msgstr "óÏÈÒÁÎÅÎÏ %s...\n" +msgid "No newsgroups" +msgstr "îÅÔ ÇÒÕÐÐ" #: src/lang.c:658 -msgid "Nothing was saved" -msgstr "îÉÞÅÇÏ ÎÅ ÂÙÌÏ ÓÏÈÒÁÎÅÎÏ" +msgid "No next unread article" +msgstr "îÅÔ ÓÌÅÄÕÀÝÅÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÉ" #: src/lang.c:659 -#, c-format -msgid "\n" - "%s %d %s from %d %s\n" -msgstr "\n" - "%s %d %s ÉÚ %d %s\n" +msgid "No previous group" +msgstr "îÅÔ ÐÒÅÄÙÄÕÝÅÊ ÇÒÕÐÐÙ" #: src/lang.c:660 -#, c-format -msgid "-- %s saved to %s%s --" -msgstr "-- %s ÓÏÈÒÁÎ. × %s%s --" +msgid "No previous search, nothing to repeat" +msgstr "" #: src/lang.c:661 -#, c-format -msgid "-- %s saved to %s - %s --" -msgstr "-- %s ÓÏÈÒÁÎ. × %s - %s --" +msgid "No previous unread article" +msgstr "îÅÔ ÐÒÅÄÙÄÕÝÅÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÉ" #: src/lang.c:662 -msgid "Saving..." -msgstr "úÁÐÉÓØ..." +msgid "No responses" +msgstr "îÅÔ ÏÔ×ÅÔÏ×" #: src/lang.c:663 -#, c-format -msgid "%s: Screen initialization failed" -msgstr "%s: ÎÅÕÄÁÞÎÁÑ ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÜËÒÁÎÁ" +msgid "No responses to list in current thread" +msgstr "îÅÔ ÏÔ×ÅÔÏ× ÎÁ ÓÐÉÓÏË × ÔÅËÕÝÅÊ ÄÉÓËÕÓÓÉÉ" + +#: src/lang.c:664 +#, fuzzy +msgid "*** No scopes ***" +msgstr "*** îÅÔ ÇÒÕÐÐ ***" #: src/lang.c:665 -#, c-format -msgid "%s: screen is too small\n" -msgstr "%s: ÜËÒÁÎ ÓÌÉÛËÏÍ ÍÁÌ\n" +msgid "No search string" +msgstr "îÅÔ ÓÔÒÏËÉ ÐÏÉÓËÁ" -#: src/lang.c:667 -#, c-format -msgid "screen is too small, %s is exiting\n" -msgstr "ÜËÒÁÎ ÓÌÉÛËÏÍ ÍÁÌ, %s ×ÙÈÏÄ\n" +#: src/lang.c:666 +msgid "No subject" +msgstr "îÅÔ ÔÅÍÙ" #: src/lang.c:668 #, c-format -msgid "Search backwards [%s]> " -msgstr "ðÏÉÓË ÎÁÚÁÄ [%s]> " +msgid "%s: Terminal must have clear to end-of-line (ce)\n" +msgstr "%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ ÆÕÎËÃÉÀ clear to end-of-line (ce)\n" #: src/lang.c:669 #, c-format -msgid "Search body [%s]> " -msgstr "ðÏÉÓË × ÔÅÌÅ [%s]> " +msgid "%s: Terminal must have clear to end-of-screen (cd)\n" +msgstr "%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ ÆÕÎËÃÉÀ clear to end-of-screen (cd)\n" #: src/lang.c:670 #, c-format -msgid "Search forwards [%s]> " -msgstr "ðÏÉÓË ×ÐÅÒ£Ä [%s]> " +msgid "%s: Terminal must have clearscreen (cl) capability\n" +msgstr "%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ ÆÕÎËÃÉÀ clearscreen (cl)\n" #: src/lang.c:671 -msgid "Searching..." -msgstr "ðÏÉÓË..." +#, c-format +msgid "%s: Terminal must have cursor motion (cm)\n" +msgstr "%s: ôÅÒÍÉÎÁÌ ÄÏÌÖÅÎ ÉÍÅÔØ cursor motion (cm)\n" #: src/lang.c:672 #, c-format -msgid "Searching article %d of %d ('q' to abort)..." -msgstr "ðÏÉÓË ÓÔÁÔØÉ %d ÉÚ %d ('q' - ÐÒÅÒ×ÁÔØ)..." - -#: src/lang.c:673 -msgid "Select article> " -msgstr "÷ÙÂÅÒÉÔÅ ÓÔÁÔØÀ> " +msgid "%s: TERM variable must be set to use screen capabilities\n" +msgstr "%s: ÕÓÔÁÎÏ×ÉÔÅ ÐÅÒÅÍÅÎÎÕÀ ÓÒÅÄÙ TERM\n" #: src/lang.c:674 -msgid "Select option number before text or use arrow keys and . 'q' to quit." -msgstr "÷ÙÂÅÒÉÔÅ ÎÏÍÅÒ ÏÐÃÉÉ ÉÌÉ ÐÅÒÅÊÄÉÔÅ ÓÔÒÅÌÏÞËÁÍÉ É ÎÁÖÍÉÔÅ . 'q' ×ÙÈÏÄ." +#, c-format +msgid "No viewer found for %s/%s\n" +msgstr "îÅ ÎÁÊÄÅÎ ÐÒÏÓÍÏÔÏÒÝÉË ÄÌÑ %s/%s\n" #: src/lang.c:675 -msgid "Select group> " -msgstr "÷ÙÂÅÒÉÔÅ ÇÒÕÐÐÕ> " +msgid "Newsgroup does not exist on this server" +msgstr "çÒÕÐÐÁ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÎÁ ÜÔÏÍ ÓÅÒ×ÅÒÅ" #: src/lang.c:676 #, c-format -msgid "Enter selection pattern [%s]> " -msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ×ÙÂÏÒÁ [%s]> " +msgid "Group %s not found in active file" +msgstr "çÒÕÐÐÁ %s ÎÅ ÎÁÊÄÅÎÁ × ÆÁÊÌÅ active" #: src/lang.c:677 -msgid "Select thread > " -msgstr "÷ÙÂÅÒÉÔÅ ÄÉÓËÕÓÓÉÀ > " +msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "c)ÓÏÚÄÁÔØ, a)ÉÓÐ. ÁÌØÔÅÒ. ÉÍÑ, d)ÉÓÐ. ÓÔÁÎÄÁÒÔÎÙÊ .newsrc, q)×ÙÈÏÄ ÉÚ tin: " #: src/lang.c:678 -#, c-format -msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" -msgstr "%s %s %s (\"%s\") [%s]: ÏÔÐÒÁרÔÅ ÐÏÄÒÏÂÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÏÛÉÂËÅ %s\n" +msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "a)ÉÓÐ. ÁÌØÔÅÒ. ÉÍÑ, d)ÉÓÐ. ÓÔÁÎÄÁÒÔÎÙÊ .newsrc, q)×ÙÈÏÄ ÉÚ tin: " #: src/lang.c:679 -msgid "servers active-file" -msgstr "active-ÆÁÊÌ ÓÅÒ×ÅÒÏ×" +#, c-format +msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" + "# shortname list for %s %s\n" + "#\n" + "# the format of this file is\n" + "# ...\n" + "#\n" + "# if is given without path, $HOME is assumed as its location\n" + "#\n" + "# examples:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" +msgstr "" + +#: src/lang.c:686 +msgid "Only" +msgstr "ôÏÌØËÏ" + +#: src/lang.c:687 +#, c-format +msgid "Option not enabled. Recompile with %s." +msgstr "ïÐÃÉÑ ÎÅ ×ËÌÀÞÅÎÁ. ðÅÒÅÓÏÂÅÒÉÔÅ ÐÁËÅÔ Ó %s." -#: src/lang.c:680 -msgid "Cannot move into new newsgroups. Subscribe first..." -msgstr "îÅ ÍÏÇÕ ÐÅÒÅÊÔÉ × ÎÏ×ÕÀ ÇÒÕÐÐÕ. óÎÁÞÁÌÁ ÐÏÄÐÉÛÉÔÅÓØ..." +#: src/lang.c:688 +msgid "Options Menu" +msgstr "íÅÎÀ ÏÐÃÉÊ" -#: src/lang.c:681 -msgid "" -msgstr "<ðòïâåì>" +#: src/lang.c:689 +#, fuzzy +msgid "Options Menu Commands" +msgstr "íÅÎÀ ÏÐÃÉÊ" -#: src/lang.c:682 +#: src/lang.c:692 #, c-format -msgid "Starting: (%s)" -msgstr "óÔÁÒÔÕÀ: (%s)" +msgid "Error in regex: %s at pos. %d '%s'" +msgstr "ïÛÉÂËÁ × regex: %s × ÐÏÚ. %d '%s'" -#: src/lang.c:683 +#: src/lang.c:693 #, c-format -msgid "List Thread (%d of %d)" -msgstr "óÐÉÓÏË ÄÉÓËÕÓÓÉÊ (%d ÉÚ %d)" +msgid "Error in regex: pcre internal error %d" +msgstr "ïÛÉÂËÁ × regex: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ pcre %d" -#: src/lang.c:684 +#: src/lang.c:694 #, c-format -msgid "Thread (%.*s)" -msgstr "äÉÓËÕÓÓÉÑ (%.*s)" +msgid "Error in regex: study - pcre internal error %s" +msgstr "ïÛÉÂËÁ × regex: study - ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ pcre %s" -#: src/lang.c:685 -msgid "Enter wildcard subscribe pattern> " -msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ÐÏÄÐÉÓËÉ> " +#: src/lang.c:695 +msgid "Post a followup..." +msgstr "ïÔÐÒÁ×ÌÅÎÉÅ ÏÔ×ÅÔÁ × ÇÒÕÐÐÕ..." -#: src/lang.c:686 -#, c-format -msgid "subscribed to %d groups" -msgstr "ÐÏÄÐÉÓÁÌÉÓØ ÎÁ %d ÇÒÕÐÐ" +#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone +#: src/lang.c:697 +msgid "An error has occurred while posting the article. If you think that this\n" + "error is temporary or otherwise correctable, you can postpone the article\n" + "and pick it up again with ^O later.\n" +msgstr "ïÛÉÂËÁ ×Ï ×ÒÅÍÑ ÏÔÐÒÁ×ÌÅÎÉÑ ÓÔÁÔØÉ. åÓÌÉ ÷Ù ÄÕÍÁÅÔÅ, ÞÔÏ ÏÛÉÂËÁ ×ÒÅÍÅÎÎÁÑ\n" + "É ÍÏÖÅÔ ÂÙÔØ ÉÓÐÒÁ×ÌÅÎÁÑ, ÔÏ ×Ù ÍÏÖÅÔÅ ÏÔÌÏÖÉÔØ ÓÔÁÔØÀ É ÏÔÐÒÁ×ÉÔØ Å£ Ó\n" + "ÐÏÍÏÝØÀ ^O ÐÏÚÖÅ.\n" -#: src/lang.c:687 +#: src/lang.c:700 +msgid "Posted articles history" +msgstr "éÓÔÏÒÉÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:701 #, c-format -msgid "Subscribed to %s" -msgstr "ðÏÄÐÉÓÁÌÉÓØ ÎÁ %s" +msgid "Post to newsgroup(s) [%s]> " +msgstr "ïÔÐÒÁ×ÉÔØ × ÇÒÕÐÐÕ(Ù) [%s]> " -#: src/lang.c:688 -msgid "Subscribing... " -msgstr "ðÏÄÐÉÓÙ×ÁÅÍÓÑ... " +#: src/lang.c:702 +msgid "-- post processing started --" +msgstr "-- ÐÏÓÔ-ÏÂÒÁÂÏÔËÁ ÎÁÞÁÔÁ --" -#: src/lang.c:689 -#, c-format -msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " -msgstr "ïÔÐÒÁ×ÉÔØ ÓÎÏ×Á ÉÌÉ ÚÁÍÅÎÉÔØ ÓÔÁÔØÀ(É) [%%s]? (%s/%s/%s): " +#: src/lang.c:703 +msgid "-- post processing completed --" +msgstr "-- ÐÏÓÔ-ÏÂÒÁÂÏÔËÁ ÚÁËÏÎÞÅÎÁ --" -#: src/lang.c:690 +#: src/lang.c:704 #, c-format -msgid "Supersede article(s) to group(s) [%s]> " -msgstr "úÁÍÅÎÉÔØ ÓÔÁÔØÀ(É) × ÇÒÕÐÐÕ(Ù) [%s]> " +msgid "Post subject [%s]> " +msgstr "ôÅÍÁ ÓÏÏÂÝÅÎÉÑ [%s]> " -#: src/lang.c:691 -msgid "Superseding article ..." -msgstr "úÁÍÅÎÁ ÓÔÁÔØÉ ..." +#: src/lang.c:705 +msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" +msgstr "# ó×ÏÄËÁ Ï ÓÏÏÂÝÅÎÉÑÈ ÏÔÐÒÁ×ÌÅÎÎÙÈ × ÇÒÕÐÐÕ ÉÌÉ ÐÏ ÐÏÞÔÅ ×ÙÚÙ×ÁÅÔÓÑ ËÏÍÁÎÄÏÊ\n" + "# 'W' ÉÚ tin.\n" -#: src/lang.c:692 -#, c-format -msgid "\n" - "Stopped. Type 'fg' to restart %s\n" -msgstr "\n" - "ïÓÔÁÎÏ×ÌÅÎÏ. îÁÂÅÒÉÔÅ 'fg' ÄÌÑ ÐÅÒÅÚÁÐÕÓËÁ %s\n" +#: src/lang.c:706 +msgid "Posting article..." +msgstr "ïÔÐÒÁ×ÌÅÎÉÅ ÓÔÁÔØÉ..." -#: src/lang.c:694 +#: src/lang.c:707 #, c-format -msgid "%d days" -msgstr "%d ÄÎÅÊ" - -#: src/lang.c:695 -msgid "" -msgstr "<ôáâ>" +msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " +msgstr "ïÔÐÒÁ×ÉÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ [%%s]? (%s/%s/%s/%s/%s): " -#: src/lang.c:696 -msgid "TeX " -msgstr "" +#: src/lang.c:708 +#, c-format +msgid "Hot %s" +msgstr "" -#: src/lang.c:697 -msgid "# Default action/prompt strings\n" -msgstr "" +#: src/lang.c:709 +#, c-format +msgid "Tagged %s" +msgstr "ðÏÍÅÞÅÎÙ %s" -#: src/lang.c:698 -msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" - "# 5=Message-ID: & last References: entry only\n" - "# 6=Message-ID: entry only 7=Lines:\n" - "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" -msgstr "" +#: src/lang.c:710 +#, c-format +msgid "Untagged %s" +msgstr "óÎÑÔÙ ÏÔÍÅÔËÉ %s" #: src/lang.c:711 -msgid "# If ON use print current subject or newsgroup description in the last line\n" -msgstr "# åÓÌÉ ON, ÔÏ ×Ù×ÏÄÉÔØ ÔÅËÕÝÕÀ ÔÅÍÕ ÉÌÉ ÏÐÉÓÁÎÉÅ ÇÒÕÐÐÙ × ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ\n" +msgid "Processing mail messages marked for deletion." +msgstr "ïÂÒÁÂÏÔËÁ ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÊ ÐÏÍÅÞÅÎÎÙÈ ÄÌÑ ÕÄÁÌÅÎÉÑ." #: src/lang.c:712 -msgid "# Host & time info used for detecting new groups (don't touch)\n" -msgstr "# éÎÆÏÒÍÁÃÉÑ Ï ÈÏÓÔÅ É ×ÒÅÍÅÎÉ, ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ\n" - "# ÎÏ×ÙÈ ÇÒÕÐÐ (ÎÅ ÉÚÍÅÎÑÔØ)\n" +msgid "Processing saved articles marked for deletion." +msgstr "ïÂÒÁÂÏÔËÁ ÓÏÈÒÁΣÎÎÙÈ ÓÔÁÔÅÊ ÐÏÍÅÞÅÎÎÙÈ ÄÌÑ ÕÄÁÌÅÎÉÑ." #: src/lang.c:713 -msgid "There is no news\n" -msgstr "îÅÔ ÎÏ×ÏÓÔÅÊ\n" +#, c-format +msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " +msgstr "ðÒÉÎÑÔØ Followup-To? %s=ÏÔÐÒÁ×ÉÔØ, %s=ÉÇÎÏÒÉÒÏ×ÁÔØ, %s=×ÙÈÏÄ: " #: src/lang.c:714 -msgid "Thread" -msgstr "äÉÓËÕÓÓÉÑ" +msgid "Article unchanged, abort mailing?" +msgstr "óÔÁÔØÑ ÎÅ ÉÚÍÅÎÉÌÁÓØ, ÐÒÅÒ×ÁÔØ ÏÔÐÒÁ×ËÕ?" #: src/lang.c:715 -msgid "Thread Level Commands" -msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÄÉÓËÕÓÓÉÊ" - -#: src/lang.c:716 -msgid "Thread deselected" -msgstr "ó ÄÉÓËÕÓÓÉÉ ÓÎÑÔÁ ÏÔÍÅÔËÁ" +#, c-format +msgid "Do you want to see postponed articles (%d)?" +msgstr "èÏÔÉÔÅ ÐÏÓÍÏÔÒÅÔØ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ (%d)?" #: src/lang.c:717 -msgid "Thread selected" -msgstr "äÉÓËÕÓÓÉÑ ×ÙÂÒÁÎÁ" +msgid "Add quick kill filter?" +msgstr "äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ÕÎÉÞÔÏÖÅÎÉÑ?" + +#: src/lang.c:718 +msgid "Add quick selection filter?" +msgstr "äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ×ÙÂÏÒÁ?" #: src/lang.c:719 -msgid "threads" -msgstr "ÄÉÓËÕÓÓÉÉ" +msgid "Do you really want to quit?" +msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ×ÙÊÔÉ?" + +#: src/lang.c:720 +#, c-format +msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " +msgstr "%s=ÒÅÄÁËÔ. ÏÔÍÅÎ. ÓÏÏÂÝÅÎÉÑ, %s=×ÙÈÏÄ, %s=ÕÄÁÌÉÔØ (ÏÔÍÅÎÉÔØ) [%%s]: " #: src/lang.c:721 -msgid "Thread range" -msgstr "äÉÁÐÁÚÏÎ ÄÉÓËÕÓÓÉÉ" +msgid "You have tagged articles in this group - quit anyway?" +msgstr "ïÓÔÁÌÉÓØ ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ × ÇÒÕÐÐÅ - ×ÙÊÔÉ ×ÓÅ ÒÁ×ÎÏ?" #: src/lang.c:722 -msgid "thread" -msgstr "ÄÉÓËÕÓÓÉÑ" +#, c-format +msgid "%s=quit, %s=edit, %s=postpone: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ, %s=ÏÔÌÏÖÉÔØ: " #: src/lang.c:723 #, c-format -msgid "Thread %4s of %4s" -msgstr "äÉÓËÕÓÓÉÑ %4s ÉÚ %4s" +msgid "%s=quit %s=edit %s=save kill description: " +msgstr "%s=×ÙÈÏÄ %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ %s=ÓÏÈÒ. ÕÎÉÞÔÏÖÅÎÎÏÅ ÏÐÉÓÁÎÉÅ: " #: src/lang.c:724 -msgid "Threading articles..." -msgstr "òÁÚÂÏÒ ÄÉÓËÕÓÓÉÊ..." - -#: src/lang.c:725 #, c-format -msgid "Toggled word highlighting %s" -msgstr "ðÅÒÅËÌÀÞÅÎÉÅ ÐÏÄÓ×ÅÔËÉ ÓÌÏ× %s" - -#: src/lang.c:726 -msgid "Toggled rot13 encoding" -msgstr "ðÅÒÅËÌÀÞÅÎÉÅ ËÏÄÉÒÏ×ËÉ rot13" +msgid "%s=quit %s=edit %s=save select description: " +msgstr "%s=×ÙÈÏÄ %s=ÒÅÄÁËÔÉÒÏ×ÁÔØ %s=ÓÏÈÒ. ×ÙÂÒÁÎÎÏÅ ÏÐÉÓÁÎÉÅ: " -#: src/lang.c:727 -#, c-format -msgid "Toggled german TeX encoding %s" -msgstr "ðÅÒÅËÌÀÞÅÎÉÅ ÎÅÍÅÃËÏÊ TeX ËÏÄÉÒÏ×ËÉ %s" +#: src/lang.c:725 +msgid "Do you really want to quit without saving your configuration?" +msgstr "÷Ù ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÈÏÔÉÔÅ ×ÙÊÔÉ ÂÅÚ ÓÏÈÒÁÎÅÎÉÑ ËÏÎÆÉÇÕÒÁÃÉÉ?" #: src/lang.c:728 -#, c-format -msgid "Toggled tab-width to %d" -msgstr "ðÅÒÅËÌÀÞÅÎÉÅ ÛÉÒÉÎÙ ÔÁÂÕÌÑÃÉÉ ÎÁ %d" - -#: src/lang.c:729 -#, c-format -msgid "%d Trying to dotlock %s" -msgstr "%d ÐÏÐÙÔËÁ dotlock %s" +msgid "Invalid range - valid are '0-9.$' eg. 1-$" +msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÄÉÁÐÁÚÏÎ - ÄÏÓÔÕÐÎÙ '0-9.$', ÎÁÐÒ. 1-$" #: src/lang.c:730 -#, c-format -msgid "%d Trying to lock %s" -msgstr "%d ðÏÐÙÔËÁ ÚÁÂÌÏËÉÒÏ×ÁÔØ %s" +msgid "Do you want to abort this operation?" +msgstr "÷Ù ÈÏÔÉÔÅ ÐÒÅÒ×ÁÔØ ÏÐÅÒÁÃÉÀ?" #: src/lang.c:731 -msgid " h=help\n" -msgstr " h=ÐÏÍÏÝØ\n" +msgid "Do you want to exit tin immediately?" +msgstr "÷Ù ÈÏÔÉÔÅ ×ÙÊÔÉ ÉÚ tin ÎÅÍÅÄÌÅÎÎÏ?" #: src/lang.c:733 -msgid "Unlimited" -msgstr "îÅÏÇÒÁÎÉÞÅÎ" +msgid "Reading ('q' to quit)..." +msgstr "þÔÅÎÉÅ ('q' - ×ÙÈÏÄ)..." #: src/lang.c:734 -msgid "Enter wildcard unsubscribe pattern> " -msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ÏÔÐÉÓÙ×ÁÎÉÑ> " +#, c-format +msgid "Reading %sarticles..." +msgstr "þÔÅÎÉÅ %sÓÔÁÔÅÊ..." #: src/lang.c:735 #, c-format -msgid "Error decoding %s : %s" -msgstr "ïÛÉÂËÁ ÒÁÓËÏÄÉÒÏ×ÁÎÉÑ %s : %s" +msgid "Reading %sattributes file...\n" +msgstr "þÔÅÎÉÅ ÆÁÊÌÁ %sÁÔÒÉÂÕÔÏ×...\n" #: src/lang.c:736 -msgid "No end." -msgstr "îÅÔ ËÏÎÃÁ." +#, c-format +msgid "Reading %sconfig file...\n" +msgstr "þÔÅÎÉÅ ÆÁÊÌÁ %sconfig...\n" #: src/lang.c:737 -#, c-format -msgid "%s successfully decoded." -msgstr "%s ÕÓÐÅÛÎÏ ÒÁÓËÏÄÉÒÏ×ÁÎ." +msgid "Reading filter file...\n" +msgstr "þÔÅÎÉÅ ÆÁÊÌÁ ÆÉÌØÔÒÏ×...\n" #: src/lang.c:738 #, c-format -msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" - "\n" -msgstr "%*s[-- %s/%s, %suuencoded ÆÁÊÌ, %d ÓÔÒÏË, ÉÍÑ: %s --]\n" - "\n" +msgid "Reading %s groups..." +msgstr "þÔÅÎÉÅ %s ÇÒÕÐÐ..." #: src/lang.c:739 -msgid "unread " -msgstr "ÎÅÐÒÏÞÉÔÁÎÏ " +msgid "Reading input history file...\n" +msgstr "þÔÅÎÉÅ ÆÁÊÌÁ ÉÓÔÏÒÉÉ...\n" #: src/lang.c:740 -#, c-format -msgid "unsubscribed from %d groups" -msgstr "ÏÔÐÉÓÁÌÉÓØ ÏÔ %d ÇÒÕÐÐ" +msgid "Reading keymap file...\n" +msgstr "þÔÅÎÉÅ ÆÁÊÌÁ ÎÁÚÎÁÞÅÎÉÊ ËÌÁ×ÉÛ...\n" #: src/lang.c:741 -#, c-format -msgid "Unsubscribed from %s" -msgstr "ïÔÐÉÓÁÌÉÓØ ÏÔ %s" +msgid "Reading groups from active file... " +msgstr "þÔÅÎÉÅ ÇÒÕÐÐ ÉÚ ÆÁÊÌÁ active... " #: src/lang.c:742 -msgid "Unsubscribing... " -msgstr "ïÔÐÉÓÙ×ÁÅÍÓÑ... " +msgid "Reading groups from newsrc file... " +msgstr "þÔÅÎÉÅ ÇÒÕÐÐ ÉÚ ÆÁÊÌÁ newsrc... " #: src/lang.c:743 -msgid "Unthreading articles..." -msgstr "òÁÚÇÒÕÐÐÉÒÏ×ËÁ ÄÉÓËÕÓÓÉÊ..." +msgid "Reading newsgroups file... " +msgstr "þÔÅÎÉÅ ÆÁÊÌÁ ÇÒÕÐÐ... " #: src/lang.c:744 -msgid "Updated" -msgstr "ïÂÎÏ×ÌÅÎÏ" +msgid "Reading newsrc file..." +msgstr "þÔÅÎÉÅ ÆÁÊÌÁ newsrc..." #: src/lang.c:745 -msgid "Updating" -msgstr "ïÂÎÏ×ÌÅÎÉÅ" - -#: src/lang.c:746 -#, c-format -msgid "Opening %s\n" -msgstr "ïÔËÒÙÔÉÅ %s\n" +msgid "References: line " +msgstr "References: ÓÔÒÏËÁ " #: src/lang.c:747 -msgid "No more URL's in this article" -msgstr "îÅÔ ÂÏÌØÛÅ URL × ÓÔÁÔØÅ" - -#: src/lang.c:748 -msgid "Use MIME display program for this message?" -msgstr "÷ÙÚ×ÁÔØ ÐÒÏÇÒÁÍÍÕ, ÐÏËÁÚÙ×ÁÀÝÕÀ MIME ÄÌÑ ÓÔÁÔØÉ?" +#, c-format +msgid "(%d:%02d remaining)" +msgstr "(%d:%02d ÏÓÔÁÌÏÓØ)" #: src/lang.c:749 -msgid " -c mark all news as read in subscribed newsgroups (batch mode)" -msgstr " -c ÏÔÍÅÔÉÔØ ×ÓÅ ÎÏ×ÏÓÔÉ ËÁË ÐÒÏÞ. × ÐÏÄÐÉÓ. ÇÒÕÐÐÁÈ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" +#, c-format +msgid "Bogus group %s removed." +msgstr "ïÛÉÂÏÞÎÁÑ ÇÒÕÐÐÁ %s ÕÄÁÌÅÎÁ." #: src/lang.c:750 -msgid " -Z return status indicating if any unread news (batch mode)" -msgstr " -Z ×ÏÚ×ÒÁÔ ÓÔÁÔÕÓÁ Ï ÎÅÐÒÏÞÉÔÁÎÎÙÈ ÎÏ×ÏÓÔÑÈ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" +msgid "Removed from the previous rule: " +msgstr "õÄẠ́ΠÉÚ ÐÒÅÄÙÄÕÝÅÇÏ ÐÒÁ×ÉÌÁ: " #: src/lang.c:751 -msgid " -q don't check for new newsgroups" -msgstr " -q ÎÅ ÐÒÏ×ÅÒÑÔØ ÐÏÑ×ÌÅÎÉÑ ÎÏ×ÙÈ ÇÒÕÐÐ ÎÏ×ÏÓÔÅÊ" +#, c-format +msgid "Error: rename %s to %s" +msgstr "ïÛÉÂËÁ: ÐÅÒÅÉÍÅÎÏ×ÁÔØ %s × %s" #: src/lang.c:752 -msgid " -X don't save any files on quit" -msgstr " -X ÎÅ ÓÏÈÒÁÎÑÔØ ÆÁÊÌÙ ÐÒÉ ×ÙÈÏÄÅ" +msgid "Reply to author..." +msgstr "ïÔ×ÅÞÁÅÍ Á×ÔÏÒÕ..." #: src/lang.c:753 -msgid " -d don't show newsgroup descriptions" -msgstr " -d ÎÅ ÐÏËÁÚÙ×ÁÔØ ÏÐÉÓÁÎÉÑ ÇÒÕÐÐ" +msgid "Repost" +msgstr "ïÐÒÁ×ÉÔØ ÓÎÏ×Á" #: src/lang.c:754 -msgid " -G limit get only limit articles/group" -msgstr " -G limit ÐÏÌÕÞÉÔØ ÔÏÌØËÏ limit ÓÔÁÔÅÊ/ÇÒÕÐÐ" +msgid "Reposting article..." +msgstr "ðÏ×ÔÏÒÎÁÑ ÏÔÐÒÁ×ËÁ ÓÔÁÔØÉ..." #: src/lang.c:755 #, c-format -msgid " -H help information about %s" -msgstr " -H ÐÏÄÓËÁÚËÁ Ï %s" +msgid "Repost article(s) to group(s) [%s]> " +msgstr "ïÔÐÒÁ×ÉÔØ ÓÎÏ×Á ÓÔÁÔØÀ(É) × ÇÒÕÐÐÕ(Ù) [%s]> " #: src/lang.c:756 -msgid " -h this help message" -msgstr " -h ÜÔÁ ÐÏÄÓËÁÚËÁ" +msgid "Reset newsrc?" +msgstr "óÂÒÏÓÉÔØ newsrc?" #: src/lang.c:757 -#, c-format -msgid " -I dir news index file directory [default=%s]" -msgstr " -I dir ÄÉÒÅËÔÏÒÉÑ ÉÎÄÅËÓÎÏÇÏ ÆÁÊÌÁ [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" +msgid "Responses have been directed to the following newsgroups" +msgstr "ïÔ×ÅÔÙ ÂÙÌÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÙ × ÓÌÅÄÕÀÝÉÅ ÇÒÕÐÐÙ" #: src/lang.c:758 -msgid " -u update index files (batch mode)" -msgstr " -u ÏÂÎÏ×ÉÔØ ÉÎÄÅËÓÎÙÅ ÆÁÊÌÙ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" - -#: src/lang.c:759 #, c-format -msgid " -m dir mailbox directory [default=%s]" -msgstr " -m dir ÄÉÒÅËÔÏÒÉÑ mailbox [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" +msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " +msgstr "ïÔ×ÅÔÙ ÂÙÌÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÙ ÏÔÐÒÁ×ÉÔÅÌÀ. %s=mail, %s=ÏÔÐÒÁ×ÉÔØ, %s=×ÙÈÏÄ: " #: src/lang.c:760 -#, c-format -msgid "\n" - "Mail bug reports/comments to %s" -msgstr "\n" - "ïÔÐÒÁ×ÌÑÊÔÅ ÏÛÉÂËÉ/ËÏÍÍÅÎÔÁÒÉÉ %s" - -#: src/lang.c:761 -msgid " -N mail new news to your posts (batch mode)" -msgstr " -N ÏÔÐÒÁ×ÌÑÔØ ÐÏ email ÎÏ×ÙÅ ÓÔÁÔØÉ ÎÁ ×ÁÛÉ ÓÏÏÂÝÅÎÉÑ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" +msgid "Press to continue..." +msgstr "îÁÖÍÉÔÅ ÄÌÑ ÐÒÏÄÏÌÖÅÎÉÑ..." #: src/lang.c:762 -msgid " -M user mail new news to specified user (batch mode)" -msgstr " -M user ÏÔÐÒÁ×ÌÑÔØ ÐÏ email ÎÏ×ÙÅ ÓÔÁÔØÉ ÕËÁÚÁÎÎÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ (ÐÁËÅÔÎÙÊ " - "ÒÅÖÉÍ)" +#, c-format +msgid "Select From [%s] (y/n): " +msgstr "÷ÙÂÒÁÔØ From [%s] (y/n): " #: src/lang.c:763 -#, c-format -msgid " -f file subscribed to newsgroups file [default=%s]" -msgstr " -f file ÆÁÊÌ ÐÏÄÐÉÓËÉ [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" +msgid "Select Lines: (num): " +msgstr "÷ÙÂÒÁÔØ ÓÔÒÏËÉ: (num): " #: src/lang.c:764 -msgid " -x no posting mode" -msgstr " -x ÒÅÖÉÍ ÚÁÐÒÅÔ ÏÔÐÒÁ×ÌÅÎÉÑ" +msgid "Auto-select Article Menu" +msgstr "á×ÔÏ×ÙÂÏÒ íÅÎÀ ÓÔÁÔÅÊ" #: src/lang.c:765 -msgid " -w post an article and exit" -msgstr " -w ÏÔÐÒÁ×ÉÔØ ÓÔÁÔØÀ É ×ÙÊÔÉ" +#, c-format +msgid "Select Msg-Id [%s] (f/l/o/n): " +msgstr "÷ÙÂÒÁÔØ Msg-Id [%s] (f/l/o/n): " #: src/lang.c:766 -msgid " -o post all postponed articles and exit" -msgstr " -o ÏÔÐÒÁ×ÉÔØ ×ÓÅ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ É ×ÙÊÔÉ" +msgid "Select pattern scope: " +msgstr "÷ÙÂÒÁÔØ ÏÂÌÁÓÔØ ÛÁÂÌÏÎÁ: " #: src/lang.c:767 -msgid " -r read news remotely from default NNTP server" -msgstr " -r ÞÉÔÁÔØ ÎÏ×ÏÓÔÉ ÕÄÁÌÅÎÎÏ Ó NNTP ÓÅÒ×ÅÒÁ, ÚÁÄÁÎÎÏÇÏ ÐÏ ÕÍÏÌÞÁÎÉÀ" +#, c-format +msgid "Select Subject [%s] (y/n): " +msgstr "÷ÙÂÒÁÔØ ôÅÍÕ [%s] (y/n): " #: src/lang.c:768 -msgid " -R read news saved by -S option" -msgstr " -R ÞÉÔÁÔØ ÎÏ×ÏÓÔÉ, ÓÏÈÒÁΣÎÎÙÅ ÏÐÃÉÅÊ -S" +msgid "Select text pattern : " +msgstr "÷ÙÂÒÁÔØ ÛÁÂÌÏÎ : " #: src/lang.c:769 -#, c-format -msgid " -s dir save news directory [default=%s]" -msgstr " -s dir ÄÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÎÏ×ÏÓÔÅÊ [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" +msgid "Select time in days : " +msgstr "÷ÙÂÒÁÔØ ×ÒÅÍÑ : " #: src/lang.c:770 -msgid " -S save new news for later reading (batch mode)" -msgstr " -S ÓÏÈÒÁÎÑÔØ ÎÏ×ÏÓÔÉ ÄÌÑ ÐÏÓÌÅÄÕÀÝÅÇÏ ÐÒÏÞÔÅÎÉÑ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" - -#: src/lang.c:771 -msgid " -z start if any unread news" -msgstr " -z ÚÁÐÕÓÔÉÔØ ÅÓÌÉ ÅÓÔØ ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÎÏ×ÏÓÔÉ" - -#: src/lang.c:772 -#, c-format -msgid "A Usenet reader.\n" - "\n" - "Usage: %s [options] [newsgroup[,...]]" -msgstr "ðÒÏÇÒÁÍÍÁ ÞÔÅÎÉÑ ÎÏ×ÏÓÔÅÊ Usenet.\n" - "\n" - "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] [ÇÒÕÐÐÁ ÎÏ×ÏÓÔÅÊ[,...]]" - -#: src/lang.c:773 -msgid " -v verbose output for batch mode options" -msgstr " -v ÄÅÔÁÌØÎÙÊ ×Ù×ÏÄ ÄÌÑ ÏÐÃÉÊ ÐÁËÅÔÎÏÇÏ ÒÅÖÉÍÁ" - -#: src/lang.c:774 -msgid " -V print version & date information" -msgstr " -V ×Ù×ÅÓÔÉ ×ÅÒÓÉÀ É ÄÁÔÕ" - -#: src/lang.c:775 #, c-format -msgid "%s only useful without batch mode operations\n" -msgstr "%s ÏÐÃÉÑ ÐÏÌÅÚÎÁ ÔÏÌØËÏ ÂÅÚ ÐÁËÅÔÎÏÇÏ ÒÅÖÉÍÁ\n" +msgid "# %s server configuration file\n" + "# This file was automatically saved by %s %s %s (\"%s\")\n" + "#\n" + "# Do not edit while %s is running, since all your changes to this file\n" + "# will be overwritten when you leave %s.\n" + "# Do not edit at all if you don't know what you do.\n" + "############################################################################\n" + "\n" +msgstr "# %s ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ\n" + "# üÔÏÔ ÆÁÊÌ ÂÙÌ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁΣΠ%s %s %s (\"%s\")\n" + "#\n" + "# îÅ ÒÅÄÁËÔÉÒÕÊÔÅ ÅÇÏ ÐÏËÁ ÚÁÐÕÝÅÎ %s, ÔÁË ËÁË ×ÓÅ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ ×\n" + "# ÜÔÏÍ ÆÁÊÌÅ ÂÕÄÕÔ ÐÅÒÅÚÁÐÉÓÁÎÙ, ËÏÇÄÁ ×Ù ÚÁ×ÅÒÛÉÔÅ ÒÁÂÏÔÕ %s.\n" + "# îÅ ÒÅÄÁËÔÉÒÕÊÔÅ ÓÏ×ÓÅÍ, ÅÓÌÉ ×Ù ÎÅ ÐÏÎÉÍÁÅÔÅ ÞÔÏ ×Ù ÄÅÌÁÅÔÅ.\n" + "############################################################################\n" + "\n" #: src/lang.c:776 -#, c-format -msgid "%s only useful for batch mode operations\n" -msgstr "%s ÏÐÃÉÑ ÐÏÌÅÚÎÁ ÔÏÌØËÏ × ÐÁËÅÔÎÏÍ ÒÅÖÉÍÅ\n" +msgid "Showing unread groups only" +msgstr "÷Ù×ÏÄ ÔÏÌØËÏ ÎÅÐÒÏÞÉÔÁÎÎÙÈ ÇÒÕÐÐ" + +#: src/lang.c:777 +msgid "Subject: line (ignore case) " +msgstr "ôÅÍÁ: ÓÔÒÏËÁ (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ) " #: src/lang.c:778 -#, c-format -msgid "\n" - "%s%d out of range (0 - %d). Reset to 0" -msgstr "\n" - "%s%d ×ÎÅ ÄÉÁÐÁÚÏÎÁ (0 - %d). óÂÒÏÓ × 0" +msgid "Subject: line (case sensitive)" +msgstr "ôÅÍÁ: ÓÔÒÏËÁ (ÎÅ ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)" #: src/lang.c:779 +msgid "Save" +msgstr "óÏÈÒÁÎÉÔØ" + +#: src/lang.c:780 #, c-format -msgid "View '%s' (%s/%s)?" -msgstr "ðÒÏÓÍÏÔÒ '%s' (%s/%s)?" +msgid "Save '%s' (%s/%s)?" +msgstr "óÏÈÒÁÎÉÔØ '%s' (%s/%s)?" #: src/lang.c:781 -#, c-format -msgid "\n" - "Warning: posting exceeds %d columns. Line %d is the first long one:\n" - "%-100s\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ÓÏÏÂÝÅÎÉÅ ÐÒÅ×ÙÓÉÌÏ %d ÓÉÍ×ÏÌÏ× × ÓÔÒÏËÅ.\n" - "óÔÒÏËÁ %d - ÐÅÒ×ÁÑ ÄÌÉÎÎÁÑ ÓÔÒÏËÁ:\n" - "%-100s\n" +msgid "Save configuration before continuing?" +msgstr "óÏÈÒÁÎÉÔØ ËÏÎÆÉÇÕÒÁÃÉÀ ÐÅÒÅÄ ÐÒÏÄÏÌÖÅÎÉÅÍ?" #: src/lang.c:782 -msgid "\n" - "Warning: article unchanged after editing\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ÓÔÁÔØÑ ÎÅ ÉÚÍÅÎÉÌÁÓØ ÐÏÓÌÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ\n" +msgid "Save filename> " +msgstr "óÏÈÒÁÎÉÔØ × ÆÁÊÌ> " #: src/lang.c:783 -msgid "\n" - "Warning: \"Subject:\" contains only whitespaces.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: \"Subject:\" ÓÏÄÅÒÖÉÔ ÏÄÎÉ ÐÒÏÂÅÌÙ.\n" +msgid "Saved" +msgstr "óÏÈÒÁÎÅÎÏ" #: src/lang.c:784 -msgid "\n" - "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" -msgstr "\n" - "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: \"Subject:\" ÎÁÞÉÎÁÅÔÓÑ Ó \"Re: \" ÎÏ ÎÅÔ \"References:\".\n" - -#: src/lang.c:786 -msgid "\n" - "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" - " with \"Re: \" and does not contain \"(was:\".\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: × ÓÔÁÔØÅ ÅÓÔØ \"References:\" ÎÏ \"Subject:\"\n" - " ÎÅ ÎÁÞÉÎÁÅÔÓÑ Ó \"Re: \" É ÎÅ ÓÏÄÅÒÖÉÔ \"(was:\".\n" +#, c-format +msgid "%4d unread (%4d hot) %s in %s\n" +msgstr "%4d ÎÅÐÒÏÞÉÔÁÎÏ (%4d hot) %s × %s\n" -#: src/lang.c:789 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly written by you. This will " - "wipe\n" - " the article from most news servers throughout the world, but there is " - "no\n" - " guarantee that it will work.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "ðÒÏÞÉÔÁÊÔÅ ×ÎÉÍÁÔÅÌØÎÏ!\n" - "\n" - " ÷Ù ÈÏÔÉÔÅ ÏÔÍÅÎÉÔØ ÓÔÁÔØÀ, ÎÁÐÉÓÁÎÎÕÀ ÓËÏÒÅÅ ×ÓÅÇÏ ×ÁÍÉ. üÔÏ ÕÎÉÞÔÏÖÉÔ\n" - " ÓÔÁÔØÀ Ó ÂÏÌØÛÉÎÓÔ×Á ÓÅÒ×ÅÒÏ× ÐÏ ×ÓÅÍÕ ÍÉÒÕ, ÎÏ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÇÁÒÁÎÔÉÉ,\n" - " ÞÔÏ ÜÔÏ ÂÕÄÅÔ ÓÒÁÂÏÔÁÅÔ.\n" - "\n" - "÷ÏÔ ÓÔÁÔØÑ, ËÏÔÏÒÕÀ ×Ù ÈÏÔÉÔÅ ÏÔÍÅÎÉÔØ:\n" - "\n" +#: src/lang.c:785 +#, c-format +msgid "Saved %s...\n" +msgstr "óÏÈÒÁÎÅÎÏ %s...\n" -#: src/lang.c:793 -msgid "\n" - "Warning: You are using a non-plain transfer encoding (such as base64 or\n" - " quoted-printable) and an external inews program to submit your\n" - " article. If a signature is appended by that inews program it will\n" - " not be encoded properly.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ÷Ù ÉÓÐÏÌØÚÕÅÔÅ ËÏÄÉÒÏ×ÁÎÉÅ ÓÏÏÂÝÅÎÉÑ (base64 ÉÌÉ quoted-printable)\n" - " É ×ÎÅÛÎÀÀ inews ÐÒÏÇÒÁÍÍÕ ÄÌÑ ÏÔÐÒÁ×ËÉ ÎÏ×ÏÓÔÅÊ. åÓÌÉ ÐÏÄÐÉÓØ " - "ÂÕÄÅÔ\n" - " ÄÏÂÁ×ÌÅÎÁ ÜÔÏÊ ÐÒÏÇÒÁÍÍÏÊ, ÏÎÁ ÎÅ ÂÕÄÅÔ ËÏÒÒÅËÔÎÏ ÚÁËÏÄÉÒÏ×ÁÎÁ.\n" +#: src/lang.c:786 +msgid "Nothing was saved" +msgstr "îÉÞÅÇÏ ÎÅ ÂÙÌÏ ÓÏÈÒÁÎÅÎÏ" -#: src/lang.c:798 +#: src/lang.c:787 #, c-format -msgid "\n" - "\n" - "You are upgrading to tin %s from an earlier version.\n" - "Some values in your %s file have changed!\n" - "Read WHATSNEW, etc...\n" -msgstr "\n" - "\n" - "÷Ù ÏÂÎÏ×ÌÑÅÔÅÓØ ÄÏ tin %s Ó ÐÒÅÄÙÄÕÝÅÊ ×ÅÒÓÉÉ.\n" - "îÅËÏÔÏÒÙÅ ÚÎÁÞÅÎÉÑ × ×ÁÛÅÍ %s ÆÁÊÌÅ ÉÚÍÅÎÉÌÉÓØ!\n" - "ðÒÏÞÉÔÁÊÔÅ WHATSNEW, É Ô.Ä...\n" +msgid "\n" + "%s %d %s from %d %s\n" +msgstr "\n" + "%s %d %s ÉÚ %d %s\n" -#: src/lang.c:800 +#: src/lang.c:788 #, c-format -msgid "\n" - "\n" - "You are downgrading to tin %s from a more recent version!\n" - "Some values in your %s file may be ignored, others might have changed!\n" -msgstr "\n" - "\n" - "÷Ù ÉÓÐÏÌØÚÕÅÔÅ ÂÏÌÅÅ ÓÔÁÒÕÀ ×ÅÒÓÉÀ tin %s!\n" - "îÅËÏÔÏÒÙÅ ÚÎÁÞÅÎÉÅÑ × ÆÁÊÌÅ %s ÍÏÇÕÔ ÂÙÔØ ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎÙ,\n" - "ÄÒÕÇÉÅ ÍÏÇÌÉ ÂÙÔØ ÉÚÍÅÎÅÎÙ!\n" +msgid "-- %s saved to %s%s --" +msgstr "-- %s ÓÏÈÒÁÎ. × %s%s --" -#: src/lang.c:803 +#: src/lang.c:789 #, c-format -msgid "Warning: tin wrote fewer groups to your\n" - "\t%s\n" - "than it read at startup. If you didn't unsubscribe from %ld %s during\n" - "this session this indicates an error and you should backup your %s\n" - "before you start tin once again!\n" -msgstr "" +msgid "-- %s saved to %s - %s --" +msgstr "-- %s ÓÏÈÒÁÎ. × %s - %s --" -#: src/lang.c:807 -#, c-format -msgid "\n" - "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ÏÂÎÁÒÕÖÅÎÏ %d '-- \\n' ÓÔÒÏË, ÜÔÏ ÍÏÖÅÔ ÕÄÉ×ÉÔØ ÎÅËÏÔÏÒÙÈ " - "ÐÏÌØÚÏ×ÁÔÅÌÅÊ.\n" +#: src/lang.c:790 +msgid "Saving..." +msgstr "úÁÐÉÓØ..." -#: src/lang.c:808 +#: src/lang.c:791 #, c-format -msgid "Warning: Only %d out of %d articles were saved" -msgstr "÷ÎÉÍÁÎÉÅ: óÏÈÒÁÎÅÎÙ ÔÏÌØËÏ %d ÉÚ %d ÓÔÁÔÅÊ" +msgid "%s: Screen initialization failed" +msgstr "%s: ÎÅÕÄÁÞÎÁÑ ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÜËÒÁÎÁ" -#: src/lang.c:809 +#: src/lang.c:793 #, c-format -msgid "\n" - "Warning: Your signature is longer than %d lines. Since signatures usually " - "do\n" - " not transport any useful information, they should be as short " - "as\n" - " possible.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ÷ÁÛÁ ÐÏÄÐÉÓØ ÄÌÉÎÎÅÅ %d ÓÔÒÏË. ôÁË ËÁË ÐÏÄÐÉÓÉ ÏÂÙÞÎÏ ÎÅ ÐÅÒÅÄÁÀÔ\n" - " ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ, ÏÎÉ ÄÏÌÖÎÙ ÂÙÔØ ËÏÒÏÔËÉÍÉ ÎÁÓÔÏÌØËÏ,\n" - " ÎÁÓËÏÌØËÏ ÜÔÏ ×ÏÚÍÏÖÎÏ.\n" +msgid "%s: screen is too small\n" +msgstr "%s: ÜËÒÁÎ ÓÌÉÛËÏÍ ÍÁÌ\n" -#: src/lang.c:813 +#: src/lang.c:795 #, c-format -msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " -msgstr "÷ÎÉÍÁÎÉÅ: ÁÄÒÅÓ email ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ spamtrap. %s=ÐÒÏÄÏÌÖÉÔØ, %s=ÓÔÏÐ? " +msgid "screen is too small, %s is exiting\n" +msgstr "ÜËÒÁÎ ÓÌÉÛËÏÍ ÍÁÌ, %s ×ÙÈÏÄ\n" -#: src/lang.c:814 -msgid "\n" - "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: óÉÇÎÁÔÕÒÙ ÄÏÌÖÎÙ ÎÁÞÉÎÁÔØÓÑ Ó '-- \\n' ÎÅ Ó '--\\n'.\n" +#: src/lang.c:796 +#, fuzzy +msgid "Delete scope?" +msgstr "÷ÙÂÒÁÔØ ÏÂÌÁÓÔØ ÛÁÂÌÏÎÁ: " -#: src/lang.c:815 -msgid "Writing attributes file..." -msgstr "úÁÐÉÓØ ÆÁÊÌÁ ÁÔÒÉÂÕÔÏ×..." +#: src/lang.c:797 +#, fuzzy +msgid "Enter scope> " +msgstr "÷×ÅÄÉÔÅ ÎÏÍÅÒ ÏÐÃÉÉ> " -#: src/lang.c:817 -#, c-format -msgid "%d Responses" -msgstr "%d ÏÔ×ÅÔÏ×" +#: src/lang.c:798 +#, fuzzy +msgid "Select new position> " +msgstr "÷ÙÂÒÁÔØ ÛÁÂÌÏÎ : " -#: src/lang.c:819 +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "" + +#: src/lang.c:800 +msgid "Global scope, operation not allowed" +msgstr "" + +#: src/lang.c:801 +msgid "Rename scope> " +msgstr "" + +#: src/lang.c:802 +#, fuzzy +msgid "Select scope> " +msgstr "÷ÙÂÅÒÉÔÅ ÇÒÕÐÐÕ> " + +#: src/lang.c:803 +#, fuzzy +msgid "Scopes Menu" +msgstr "íÅÎÀ ÏÐÃÉÊ" + +#: src/lang.c:804 +#, fuzzy +msgid "Scopes Menu Commands" +msgstr "ëÏÍÁÎÄÙ ×ÅÒÈÎÅÇÏ ÕÒÏ×ÎÑ" + +#: src/lang.c:805 +#, c-format +msgid "Search backwards [%s]> " +msgstr "ðÏÉÓË ÎÁÚÁÄ [%s]> " + +#: src/lang.c:806 +#, c-format +msgid "Search body [%s]> " +msgstr "ðÏÉÓË × ÔÅÌÅ [%s]> " + +#: src/lang.c:807 +#, c-format +msgid "Search forwards [%s]> " +msgstr "ðÏÉÓË ×ÐÅÒ£Ä [%s]> " + +#: src/lang.c:808 +msgid "Searching..." +msgstr "ðÏÉÓË..." + +#: src/lang.c:809 +#, c-format +msgid "Searching article %d of %d ('q' to abort)..." +msgstr "ðÏÉÓË ÓÔÁÔØÉ %d ÉÚ %d ('q' - ÐÒÅÒ×ÁÔØ)..." + +#: src/lang.c:810 +msgid "Select article> " +msgstr "÷ÙÂÅÒÉÔÅ ÓÔÁÔØÀ> " + +#: src/lang.c:811 +msgid "Select option number before text or use arrow keys and . 'q' to quit." +msgstr "÷ÙÂÅÒÉÔÅ ÎÏÍÅÒ ÏÐÃÉÉ ÉÌÉ ÐÅÒÅÊÄÉÔÅ ÓÔÒÅÌÏÞËÁÍÉ É ÎÁÖÍÉÔÅ . 'q' ×ÙÈÏÄ." + +#: src/lang.c:812 +msgid "Select group> " +msgstr "÷ÙÂÅÒÉÔÅ ÇÒÕÐÐÕ> " + +#: src/lang.c:813 #, c-format -msgid "Added %d %s" -msgstr "äÏÂÁ×ÌÅÎÏ %d %s" +msgid "Enter selection pattern [%s]> " +msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ×ÙÂÏÒÁ [%s]> " + +#: src/lang.c:814 +msgid "Select thread > " +msgstr "÷ÙÂÅÒÉÔÅ ÄÉÓËÕÓÓÉÀ > " + +#: src/lang.c:815 +#, c-format +msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" +msgstr "%s %s %s (\"%s\") [%s]: ÏÔÐÒÁרÔÅ ÐÏÄÒÏÂÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÏÛÉÂËÅ %s\n" + +#: src/lang.c:816 +msgid "servers active-file" +msgstr "active-ÆÁÊÌ ÓÅÒ×ÅÒÏ×" + +#: src/lang.c:817 +msgid "Cannot move into new newsgroups. Subscribe first..." +msgstr "îÅ ÍÏÇÕ ÐÅÒÅÊÔÉ × ÎÏ×ÕÀ ÇÒÕÐÐÕ. óÎÁÞÁÌÁ ÐÏÄÐÉÛÉÔÅÓØ..." + +#: src/lang.c:818 +msgid "" +msgstr "<ðòïâåì>" + +#: src/lang.c:819 +#, c-format +msgid "Starting: (%s)" +msgstr "óÔÁÒÔÕÀ: (%s)" #: src/lang.c:820 -msgid "No unsubscribed groups to show" -msgstr "îÅÔ ÏÔÐÉÓÁÎÎÙÈ ÇÒÕÐÐ ÄÌÑ ×Ù×ÏÄÁ" +#, c-format +msgid "List Thread (%d of %d)" +msgstr "óÐÉÓÏË ÄÉÓËÕÓÓÉÊ (%d ÉÚ %d)" #: src/lang.c:821 -msgid "Showing subscribed to groups only" -msgstr "ðÏËÁÚ ÔÏÌØËÏ ÐÏÄÐÉÓÁÎÎÙÈ ÎÁ ÇÒÕÐÐÕ" +#, c-format +msgid "Thread (%.*s)" +msgstr "äÉÓËÕÓÓÉÑ (%.*s)" #: src/lang.c:822 -msgid "Yes " -msgstr "äÁ " +msgid "Enter wildcard subscribe pattern> " +msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ÐÏÄÐÉÓËÉ> " #: src/lang.c:823 -msgid " You have mail\n" -msgstr " îÏ×ÁÑ ÐÏÞÔÁ\n" +#, c-format +msgid "subscribed to %d groups" +msgstr "ÐÏÄÐÉÓÁÌÉÓØ ÎÁ %d ÇÒÕÐÐ" + +#: src/lang.c:824 +#, c-format +msgid "Subscribed to %s" +msgstr "ðÏÄÐÉÓÁÌÉÓØ ÎÁ %s" + +#: src/lang.c:825 +msgid "Subscribing... " +msgstr "ðÏÄÐÉÓÙ×ÁÅÍÓÑ... " + +#: src/lang.c:826 +#, c-format +msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " +msgstr "ïÔÐÒÁ×ÉÔØ ÓÎÏ×Á ÉÌÉ ÚÁÍÅÎÉÔØ ÓÔÁÔØÀ(É) [%%s]? (%s/%s/%s): " + +#: src/lang.c:827 +#, c-format +msgid "Supersede article(s) to group(s) [%s]> " +msgstr "úÁÍÅÎÉÔØ ÓÔÁÔØÀ(É) × ÇÒÕÐÐÕ(Ù) [%s]> " #: src/lang.c:828 +msgid "Superseding article ..." +msgstr "úÁÍÅÎÁ ÓÔÁÔØÉ ..." + +#: src/lang.c:829 #, c-format -msgid "\n" - "Warning: Posting is in %s and contains characters which are not\n" - " in your selected MM_NETWORK_CHARSET: %s.\n" - " These characters will be replaced by '?' if you post this\n" - " article unchanged. To avoid garbling your article please either\n" - " edit it and remove those characters or change the setting of\n" - " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" - " M)enu option.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ïÔÐÒÁ×ËÁ × %s ÓÏÄÅÒÖÉÔ ÓÉÍ×ÏÌÙ, ËÏÔÏÒÙÅ ÎÅ ÐÒÉÓÕÔÓÔ×ÕÀÔ ×\n" - " ×ÙÂÒÁÎÎÏÍ MM_NETWORK_CHARSET: %s.\n" - " üÔÉ ÓÉÍ×ÏÌÙ ÂÕÄÕÔ ÚÁÍÅÎÅÎÙ ÎÁ '?', ÅÓÌÉ ×Ù ÏÔÐÒÁ×ÉÔÅ ÜÔÕ ÓÔÁÔØÀ\n" - " ÂÅÚ ÉÚÍÅÎÅÎÉÊ. þÔÏÂÙ ÉÚÂÅÖÁÔØ ÉÓËÁÖÅÎÉÑ ×ÁÛÉÈ ÓÔÁÔÅÊ, ÐÏÖÁÌÕÊÓÔÁ,\n" - " ÏÔÒÅÄÁËÔÉÒÕÊÔŠţ É ÕÂÅÒÉÔÅ ÜÔÉ ÓÉÍ×ÏÌÙ ÉÌÉ ÉÚÍÅÎÉÔÅ × M)ÅÎÀ\n" - " ÚÎÁÞÅÎÉÅ MM_NETWORK_CHARSET ÎÁ ÐÏÄÈÏÄÑÝÅÅ.\n" - -#: src/lang.c:839 -msgid " -D debug mode 1=NNTP 2=ALL" -msgstr " -D ÒÅÖÉÍ ÏÔÌÁÄËÉ 1=NNTP 2=÷ó³" - -#: src/lang.c:843 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly not written by you. This " - "will\n" - " wipe the article from lots of news servers throughout the world;\n" - " Usenet's majority considers this rather inappropriate, to say the " - "least.\n" - " Only press 'd' if you are absolutely positive that you are ready to " - "take\n" - " the rap.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "ðÒÏÞÉÔÁÊÔÅ ×ÎÉÍÁÔÅÌØÎÏ!\n" - "\n" - " ÷Ù ÈÏÔÉÔÅ ÏÔÍÅÎÉÔØ ÓÔÁÔØÀ, ÎÁÐÉÓÁÎÎÕÀ ÓËÏÒÅÅ ×ÓÅÇÏ ÎÅ ×ÁÍÉ. üÔÏ ÕÎÉÞÔÏÖÉÔ\n" - " ÓÔÁÔØÀ Ó ÂÏÌØÛÉÎÓÔ×Á ÓÅÒ×ÅÒÏ× ÐÏ ×ÓÅÍÕ ÍÉÒÕ; ÂÏÌØÛÉÎÓÔ×Ï × Usenet\n" - " ÒÁÓÓÍÁÔÒÉ×ÁÅÔ ÔÁËÏÅ ÄÅÊÓÔ×ÉÅ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÎÅÕÍÅÓÔÎÙÍ.\n" - " îÁÖÍÉÔÅ 'd' ÔÏÌØËÏ × ÔÏÍ ÓÌÕÞÁÅ, ÅÓÌÉ ×Ù ÇÏÔÏ×Ù ÄÌÑ ÐÏÌÕÞÅÎÉÑ\n" - " ÏÔÒÉÃÁÔÅÌØÎÏÊ ÒÅÁËÃÉÉ (ÒÅÚËÉÈ ÏÔ×ÅÔÏ×) ÎÁ ×ÁÛÉ ÄÅÊÓÔ×ÉÑ.\n" - "\n" - "÷ÏÔ ÓÔÁÔØÑ, ËÏÔÏÒÕÀ ×Ù ÈÏÔÉÔÅ ÏÔÍÅÎÉÔØ:\n" - "\n" +msgid "\n" + "Stopped. Type 'fg' to restart %s\n" +msgstr "\n" + "ïÓÔÁÎÏ×ÌÅÎÏ. îÁÂÅÒÉÔÅ 'fg' ÄÌÑ ÐÅÒÅÚÁÐÕÓËÁ %s\n" + +#: src/lang.c:831 +#, c-format +msgid "%d days" +msgstr "%d ÄÎÅÊ" + +#: src/lang.c:832 +msgid "" +msgstr "<ôáâ>" + +#: src/lang.c:833 +msgid "TeX " +msgstr "" + +#: src/lang.c:834 +msgid "# Default action/prompt strings\n" +msgstr "" + +#: src/lang.c:835 +msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" + "# 5=Message-ID: & last References: entry only\n" + "# 6=Message-ID: entry only 7=Lines:\n" + "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +msgstr "" + +#: src/lang.c:848 +msgid "# If ON use print current subject or newsgroup description in the last line\n" +msgstr "# åÓÌÉ ON, ÔÏ ×Ù×ÏÄÉÔØ ÔÅËÕÝÕÀ ÔÅÍÕ ÉÌÉ ÏÐÉÓÁÎÉÅ ÇÒÕÐÐÙ × ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ\n" + +#: src/lang.c:849 +msgid "# Host & time info used for detecting new groups (don't touch)\n" +msgstr "# éÎÆÏÒÍÁÃÉÑ Ï ÈÏÓÔÅ É ×ÒÅÍÅÎÉ, ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ\n" + "# ÎÏ×ÙÈ ÇÒÕÐÐ (ÎÅ ÉÚÍÅÎÑÔØ)\n" + +#: src/lang.c:850 +msgid "There is no news\n" +msgstr "îÅÔ ÎÏ×ÏÓÔÅÊ\n" + +#: src/lang.c:851 +msgid "Thread" +msgstr "äÉÓËÕÓÓÉÑ" #: src/lang.c:852 -msgid "toggle color" -msgstr "ÉÚÍÅÎÉÔØ Ã×ÅÔ" +msgid "Thread Level Commands" +msgstr "ëÏÍÁÎÄÙ ÕÒÏ×ÎÑ ÄÉÓËÕÓÓÉÊ" #: src/lang.c:853 -msgid "# Changing colors of several screen parts\n" - "# Possible values are:\n" - "# -1 = default (white for foreground and black for background)\n" - "# 0 = black\n" - "# 1 = red\n" - "# 2 = green\n" - "# 3 = brown\n" - "# 4 = blue\n" - "# 5 = pink\n" - "# 6 = cyan\n" - "# 7 = white\n" - "# These are *only* for foreground:\n" - "# 8 = gray\n" - "# 9 = light red\n" - "# 10 = light green\n" - "# 11 = yellow\n" - "# 12 = light blue\n" - "# 13 = light pink\n" - "# 14 = light cyan\n" - "# 15 = light white\n" - "\n" -msgstr "# éÚÍÅÎÅÎÉÅ Ã×ÅÔÏ× ÄÌÑ ÒÁÚÌÉÞÎÙÈ ÞÁÓÔÅÊ ÜËÒÁÎÁ\n" - "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ:\n" - "# -1 = ÐÏ ÕÍÏÌÞÁÎÉÀ (ÂÅÌÙÊ ÄÌÑ ÓÉÍ×ÏÌÏ× É Þ£ÒÎÙÊ ÄÌÑ ÆÏÎÁ)\n" - "# 0 = Þ£ÒÎÙÊ\n" - "# 1 = ËÒÁÓÎÙÊ\n" - "# 2 = ÚÅÌ£ÎÙÊ\n" - "# 3 = ËÏÒÉÞÎÅ×ÙÊ\n" - "# 4 = ÓÉÎÉÊ\n" - "# 5 = ÒÏÚÏ×ÙÊ\n" - "# 6 = ÇÏÌÕÂÏÊ\n" - "# 7 = ÂÅÌÙÊ\n" - "# üÔÉ Ã×ÅÔÁ *ÔÏÌØËÏ* ÄÌÑ ÓÉÍ×ÏÌÏ×:\n" - "# 8 = ÓÅÒÙÊ\n" - "# 9 = Ó×ÅÔÌÏ-ËÒÁÓÎÙÊ\n" - "# 10 = Ó×ÅÔÌÏ-ÚÅÌ£ÎÙÊ\n" - "# 11 = Ö£ÌÔÙÊ\n" - "# 12 = Ó×ÅÔÌÏ-ÓÉÎÉÊ\n" - "# 13 = Ó×ÅÔÌÏ-ÒÏÚÏ×ÙÊ\n" - "# 14 = Ó×ÅÔÌÏ-ÇÏÌÕÂÏÊ\n" - "# 15 = Ó×ÅÔÌÏ-ÂÅÌÙÊ\n" - "\n" +msgid "Thread deselected" +msgstr "ó ÄÉÓËÕÓÓÉÉ ÓÎÑÔÁ ÏÔÍÅÔËÁ" + +#: src/lang.c:854 +msgid "Thread selected" +msgstr "äÉÓËÕÓÓÉÑ ×ÙÂÒÁÎÁ" + +#: src/lang.c:856 +msgid "threads" +msgstr "ÄÉÓËÕÓÓÉÉ" + +#: src/lang.c:858 +msgid "thread" +msgstr "ÄÉÓËÕÓÓÉÑ" + +#: src/lang.c:859 +#, c-format +msgid "Thread %4s of %4s" +msgstr "äÉÓËÕÓÓÉÑ %4s ÉÚ %4s" + +#: src/lang.c:860 +msgid "Threading articles..." +msgstr "òÁÚÂÏÒ ÄÉÓËÕÓÓÉÊ..." + +#: src/lang.c:861 +#, c-format +msgid "Toggled word highlighting %s" +msgstr "ðÅÒÅËÌÀÞÅÎÉÅ ÐÏÄÓ×ÅÔËÉ ÓÌÏ× %s" + +#: src/lang.c:862 +msgid "Toggled rot13 encoding" +msgstr "ðÅÒÅËÌÀÞÅÎÉÅ ËÏÄÉÒÏ×ËÉ rot13" + +#: src/lang.c:863 +#, c-format +msgid "Toggled german TeX encoding %s" +msgstr "ðÅÒÅËÌÀÞÅÎÉÅ ÎÅÍÅÃËÏÊ TeX ËÏÄÉÒÏ×ËÉ %s" + +#: src/lang.c:864 +#, c-format +msgid "Toggled tab-width to %d" +msgstr "ðÅÒÅËÌÀÞÅÎÉÅ ÛÉÒÉÎÙ ÔÁÂÕÌÑÃÉÉ ÎÁ %d" + +#: src/lang.c:866 +#, c-format +msgid "%d Trying to dotlock %s" +msgstr "%d ÐÏÐÙÔËÁ dotlock %s" + +#: src/lang.c:867 +#, c-format +msgid "%d Trying to lock %s" +msgstr "%d ðÏÐÙÔËÁ ÚÁÂÌÏËÉÒÏ×ÁÔØ %s" + +#: src/lang.c:869 +msgid " h=help" +msgstr " h=ÐÏÍÏÝØ" + +#: src/lang.c:871 +msgid "Unlimited" +msgstr "îÅÏÇÒÁÎÉÞÅÎ" + +#: src/lang.c:872 +msgid "Enter wildcard unsubscribe pattern> " +msgstr "÷×ÅÄÉÔÅ ÛÁÂÌÏÎ ÄÌÑ ÏÔÐÉÓÙ×ÁÎÉÑ> " #: src/lang.c:873 -msgid " -a toggle color flag" -msgstr " -a ÉÚÍÅÎÉÔØ Ã×ÅÔ" +#, c-format +msgid "Error decoding %s : %s" +msgstr "ïÛÉÂËÁ ÒÁÓËÏÄÉÒÏ×ÁÎÉÑ %s : %s" + +#: src/lang.c:874 +msgid "No end." +msgstr "îÅÔ ËÏÎÃÁ." + +#: src/lang.c:875 +#, c-format +msgid "%s successfully decoded." +msgstr "%s ÕÓÐÅÛÎÏ ÒÁÓËÏÄÉÒÏ×ÁÎ." + +#: src/lang.c:876 +#, c-format +msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" + "\n" +msgstr "%*s[-- %s/%s, %suuencoded ÆÁÊÌ, %d ÓÔÒÏË, ÉÍÑ: %s --]\n" + "\n" #: src/lang.c:877 -msgid "\n" - "Error: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "ïÛÉÂËÁ: Followup-To ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÂÏÌØÛÅ ÞÅÍ ÏÄÎÕ ÇÒÕÐÐÕ!\n" +msgid "unread " +msgstr "ÎÅÐÒÏÞÉÔÁÎÏ " #: src/lang.c:878 #, c-format -msgid "\n" - "Error: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "ïÛÉÂËÁ: ËÒÏÓÓ-ÐÏÓÔÉÎÇÁ × %d ÇÒÕÐÐÙ ÂÅÚ Followup-To ÓÔÒÏËÉ!\n" +msgid "unsubscribed from %d groups" +msgstr "ÏÔÐÉÓÁÌÉÓØ ÏÔ %d ÇÒÕÐÐ" #: src/lang.c:879 #, c-format -msgid "\n" - "Error: \"%s\" is not a valid newsgroup!\n" -msgstr "\n" - "ïÛÉÂËÁ: \"%s\" - ÎÅÄÏÐÕÓÔÉÍÁÑ ÇÒÕÐÐÁ!\n" +msgid "Unsubscribed from %s" +msgstr "ïÔÐÉÓÁÌÉÓØ ÏÔ %s" + +#: src/lang.c:880 +msgid "Unsubscribing... " +msgstr "ïÔÐÉÓÙ×ÁÅÍÓÑ... " #: src/lang.c:881 -msgid "\n" - "Warning: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: Followup-To ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÂÏÌØÛÅ ÞÅÍ ÏÄÎÕ ÇÒÕÐÐÕ!\n" +msgid "Unthreading articles..." +msgstr "òÁÚÇÒÕÐÐÉÒÏ×ËÁ ÄÉÓËÕÓÓÉÊ..." #: src/lang.c:882 -#, c-format -msgid "\n" - "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ËÒÏÓÓ-ÐÏÓÔÉÎÇ × %d ÇÒÕÐÐÙ ÂÅÚ Followup-To ÓÔÒÏËÉ!\n" - -#: src/lang.c:883 -#, c-format -msgid "\n" - "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: \"%s\" ÎÅ × newsrc É ÍÏÖÅÔ ÂÙÔØ ÏÛÉÂÏÞÎÁ ÎÁ ÜÔÏÍ ÍÅÓÔÅ!\n" +msgid "Updated" +msgstr "ïÂÎÏ×ÌÅÎÏ" #: src/lang.c:884 #, c-format -msgid "\n" - "Warning: \"%s\" is not a valid newsgroup at this site!\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: \"%s\" - ÎÅÄÏÐÕÓÔÉÍÁÑ ÎÁ ÜÔÏÍ ÍÅÓÔÅ ÇÒÕÐÐÁ ÎÏ×ÏÓÔÅÊ!\n" +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "" + +#: src/lang.c:886 +msgid "Updating" +msgstr "ïÂÎÏ×ÌÅÎÉÅ" + +#: src/lang.c:887 +msgid "URL Menu" +msgstr "" #: src/lang.c:888 -#, c-format -msgid "%d files successfully written from %d articles. %d %s occurred." -msgstr "%d ÆÁÊÌÏ× ÕÓÐÅÛÎÏ ÚÁÐÉÓÁÎÙ ÉÚ %d ÓÔÁÔÅÊ. %d %s." +#, fuzzy +msgid "URL Menu Commands" +msgstr "ëÏÍÁÎÄÙ ×ÅÒÈÎÅÇÏ ÕÒÏ×ÎÑ" #: src/lang.c:889 -msgid "Missing parts." -msgstr "ðÒÏÐÕÝÅÎÙ ÞÁÓÔÉ." +#, fuzzy, c-format +msgid "Opening %s" +msgstr "ïÔËÒÙÔÉÅ %s\n" #: src/lang.c:890 -msgid "No beginning." -msgstr "îÅÔ ÎÁÞÁÌÁ." +#, fuzzy +msgid "Select URL> " +msgstr "÷ÙÂÅÒÉÔÅ ÇÒÕÐÐÕ> " #: src/lang.c:891 -msgid "No data." -msgstr "îÅÔ ÄÁÎÎÙÈ." +#, fuzzy +msgid "No URLs in this article" +msgstr "îÅÔ ÂÏÌØÛÅ URL × ÓÔÁÔØÅ" #: src/lang.c:892 -msgid "Unknown error." -msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ." +msgid "Use MIME display program for this message?" +msgstr "÷ÙÚ×ÁÔØ ÐÒÏÇÒÁÍÍÕ, ÐÏËÁÚÙ×ÁÀÝÕÀ MIME ÄÌÑ ÓÔÁÔØÉ?" + +#: src/lang.c:893 +msgid " -c mark all news as read in subscribed newsgroups (batch mode)" +msgstr " -c ÏÔÍÅÔÉÔØ ×ÓÅ ÎÏ×ÏÓÔÉ ËÁË ÐÒÏÞ. × ÐÏÄÐÉÓ. ÇÒÕÐÐÁÈ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" + +#: src/lang.c:894 +msgid " -Z return status indicating if any unread news (batch mode)" +msgstr " -Z ×ÏÚ×ÒÁÔ ÓÔÁÔÕÓÁ Ï ÎÅÐÒÏÞÉÔÁÎÎÙÈ ÎÏ×ÏÓÔÑÈ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" #: src/lang.c:895 +msgid " -q don't check for new newsgroups" +msgstr " -q ÎÅ ÐÒÏ×ÅÒÑÔØ ÐÏÑ×ÌÅÎÉÑ ÎÏ×ÙÈ ÇÒÕÐÐ ÎÏ×ÏÓÔÅÊ" + +#: src/lang.c:896 +msgid " -X don't save any files on quit" +msgstr " -X ÎÅ ÓÏÈÒÁÎÑÔØ ÆÁÊÌÙ ÐÒÉ ×ÙÈÏÄÅ" + +#: src/lang.c:897 +msgid " -d don't show newsgroup descriptions" +msgstr " -d ÎÅ ÐÏËÁÚÙ×ÁÔØ ÏÐÉÓÁÎÉÑ ÇÒÕÐÐ" + +#: src/lang.c:898 +msgid " -G limit get only limit articles/group" +msgstr " -G limit ÐÏÌÕÞÉÔØ ÔÏÌØËÏ limit ÓÔÁÔÅÊ/ÇÒÕÐÐ" + +#: src/lang.c:899 #, c-format -msgid "\tChecksum of %s (%ld %s)" -msgstr "\tëÏÎÔÒÏÌØÎÁÑ ÓÕÍÍÁ %s (%ld %s)" +msgid " -H help information about %s" +msgstr " -H ÐÏÄÓËÁÚËÁ Ï %s" #: src/lang.c:900 -msgid "Reading mail active file... " -msgstr "" +msgid " -h this help message" +msgstr " -h ÜÔÁ ÐÏÄÓËÁÚËÁ" #: src/lang.c:901 -msgid "Reading mailgroups file... " -msgstr "þÔÅÎÉÅ ÆÁÊÌÁ mailgroups... " +#, c-format +msgid " -I dir news index file directory [default=%s]" +msgstr " -I dir ÄÉÒÅËÔÏÒÉÑ ÉÎÄÅËÓÎÏÇÏ ÆÁÊÌÁ [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" + +#: src/lang.c:902 +msgid " -u update index files (batch mode)" +msgstr " -u ÏÂÎÏ×ÉÔØ ÉÎÄÅËÓÎÙÅ ÆÁÊÌÙ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" + +#: src/lang.c:903 +#, c-format +msgid " -m dir mailbox directory [default=%s]" +msgstr " -m dir ÄÉÒÅËÔÏÒÉÑ mailbox [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" + +#: src/lang.c:904 +#, c-format +msgid "\n" + "Mail bug reports/comments to %s" +msgstr "\n" + "ïÔÐÒÁ×ÌÑÊÔÅ ÏÛÉÂËÉ/ËÏÍÍÅÎÔÁÒÉÉ %s" #: src/lang.c:905 -msgid "perform PGP operations on article" -msgstr "×ÙÐÏÌÎÉÔØ PGP ÏÐÅÒÁÃÉÉ ÓÏ ÓÔÁÔØÅÊ" +msgid " -N mail new news to your posts (batch mode)" +msgstr " -N ÏÔÐÒÁ×ÌÑÔØ ÐÏ email ÎÏ×ÙÅ ÓÔÁÔØÉ ÎÁ ×ÁÛÉ ÓÏÏÂÝÅÎÉÑ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" #: src/lang.c:906 -msgid "Add key(s) to public keyring?" -msgstr "äÏÂÁ×ÉÔØ ËÌÀÞ(É) Ë ÏÔËÒÙÔÙÍ ËÌÀÞÁÍ?" +msgid " -M user mail new news to specified user (batch mode)" +msgstr " -M user ÏÔÐÒÁ×ÌÑÔØ ÐÏ email ÎÏ×ÙÅ ÓÔÁÔØÉ ÕËÁÚÁÎÎÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ (ÐÁËÅÔÎÙÊ " + "ÒÅÖÉÍ)" #: src/lang.c:907 #, c-format -msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " -msgstr "%s=ÛÉÆÒÏ×ÁÔØ, %s=ÐÏÄÐÉÓÁÔØ, %s=ÏÂÁ, %s=×ÙÈÏÄ: " +msgid " -f file subscribed to newsgroups file [default=%s]" +msgstr " -f file ÆÁÊÌ ÐÏÄÐÉÓËÉ [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" #: src/lang.c:908 -#, c-format -msgid "%s=sign, %s=sign & include public key, %s=quit: " -msgstr "%s=ÛÉÆÒÏ×ÁÔØ, %s=ÐÏÄÐÉÓÁÔØ É ×ÌÏÖÉÔØ ÏÔËÒÙÔÙÊ ËÌÀÞ, %s=×ÙÈÏÄ: " +msgid " -x no posting mode" +msgstr " -x ÒÅÖÉÍ ÚÁÐÒÅÔ ÏÔÐÒÁ×ÌÅÎÉÑ" #: src/lang.c:909 -#, c-format -msgid "PGP has not been set up (can't open %s)" -msgstr "PGP ÎÅ ÕÓÔÁÎÏ×ÌÅÎ (ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ %s)" +msgid " -w post an article and exit" +msgstr " -w ÏÔÐÒÁ×ÉÔØ ÓÔÁÔØÀ É ×ÙÊÔÉ" #: src/lang.c:910 -msgid "Article not signed and no public keys found" -msgstr "óÔÁÔØÑ ÎÅ ÐÏÄÐÉÓÁÎÁ É ÏÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ" +msgid " -o post all postponed articles and exit" +msgstr " -o ÏÔÐÒÁ×ÉÔØ ×ÓÅ ÏÔÌÏÖÅÎÎÙÅ ÓÔÁÔØÉ É ×ÙÊÔÉ" + +#: src/lang.c:911 +msgid " -R read news saved by -S option" +msgstr " -R ÞÉÔÁÔØ ÎÏ×ÏÓÔÉ, ÓÏÈÒÁΣÎÎÙÅ ÏÐÃÉÅÊ -S" #: src/lang.c:912 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=pgp, %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ: " +msgid " -s dir save news directory [default=%s]" +msgstr " -s dir ÄÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÎÏ×ÏÓÔÅÊ [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" #: src/lang.c:913 -#, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=pgp, %s=ÏÔÐÒÁ×ÉÔØ [%%s]: " +msgid " -S save new news for later reading (batch mode)" +msgstr " -S ÓÏÈÒÁÎÑÔØ ÎÏ×ÏÓÔÉ ÄÌÑ ÐÏÓÌÅÄÕÀÝÅÇÏ ÐÒÏÞÔÅÎÉÑ (ÐÁËÅÔÎÙÊ ÒÅÖÉÍ)" #: src/lang.c:914 +msgid " -z start if any unread news" +msgstr " -z ÚÁÐÕÓÔÉÔØ ÅÓÌÉ ÅÓÔØ ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÎÏ×ÏÓÔÉ" + +#: src/lang.c:915 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=pgp, %s=ÍÅÎÀ, %s=ÏÔÐÒ., %s=ÏÔÌÏÖÉÔØ [%%s]: " +msgid "A Usenet reader.\n" + "\n" + "Usage: %s [options] [newsgroup[,...]]" +msgstr "ðÒÏÇÒÁÍÍÁ ÞÔÅÎÉÑ ÎÏ×ÏÓÔÅÊ Usenet.\n" + "\n" + "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ÏÐÃÉÉ] [ÇÒÕÐÐÁ ÎÏ×ÏÓÔÅÊ[,...]]" #: src/lang.c:916 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄÁËÔ., %s=pgp, %s=ÍÅÎÀ, %s=ÏÔÐÒ., %s=ÏÔÌÏÖÉÔØ: " +msgid " -v verbose output for batch mode options" +msgstr " -v ÄÅÔÁÌØÎÙÊ ×Ù×ÏÄ ÄÌÑ ÏÐÃÉÊ ÐÁËÅÔÎÏÇÏ ÒÅÖÉÍÁ" #: src/lang.c:917 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=pgp, %s=ÏÔÐÒÁ×ÉÔØ [%%s]: " +msgid " -V print version & date information" +msgstr " -V ×Ù×ÅÓÔÉ ×ÅÒÓÉÀ É ÄÁÔÕ" #: src/lang.c:918 #, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=pgp, %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ [%%s]: " +msgid "%s only useful without batch mode operations\n" +msgstr "%s ÏÐÃÉÑ ÐÏÌÅÚÎÁ ÔÏÌØËÏ ÂÅÚ ÐÁËÅÔÎÏÇÏ ÒÅÖÉÍÁ\n" + +#: src/lang.c:919 +#, c-format +msgid "%s only useful for batch mode operations\n" +msgstr "%s ÏÐÃÉÑ ÐÏÌÅÚÎÁ ÔÏÌØËÏ × ÐÁËÅÔÎÏÍ ÒÅÖÉÍÅ\n" + +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "" #: src/lang.c:922 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=ÍÅÎÀ, %s=ÏÔÐÒ., %s=ÏÔÌÏÖÉÔØ: " +msgid "\n" + "%s%d out of range (0 - %d). Reset to 0" +msgstr "\n" + "%s%d ×ÎÅ ÄÉÁÐÁÚÏÎÁ (0 - %d). óÂÒÏÓ × 0" #: src/lang.c:923 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=ÏÔÐÒÁ×ÉÔØ [%%s]: " +msgid "View '%s' (%s/%s)?" +msgstr "ðÒÏÓÍÏÔÒ '%s' (%s/%s)?" -#: src/lang.c:924 +#: src/lang.c:925 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ [%%s]: " +msgid "\n" + "Warning: posting exceeds %d columns. Line %d is the first long one:\n" + "%-100s\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ÓÏÏÂÝÅÎÉÅ ÐÒÅ×ÙÓÉÌÏ %d ÓÉÍ×ÏÌÏ× × ÓÔÒÏËÅ.\n" + "óÔÒÏËÁ %d - ÐÅÒ×ÁÑ ÄÌÉÎÎÁÑ ÓÔÒÏËÁ:\n" + "%-100s\n" #: src/lang.c:926 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ: " +msgid "\n" + "Warning: article unchanged after editing\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ÓÔÁÔØÑ ÎÅ ÉÚÍÅÎÉÌÁÓØ ÐÏÓÌÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ\n" #: src/lang.c:927 -#, c-format -msgid "%s=quit, %s=edit, %s=send [%%s]: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ÏÔÐÒÁ×ÉÔØ [%%s]: " +msgid "\n" + "Warning: \"Subject:\" contains only whitespaces.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: \"Subject:\" ÓÏÄÅÒÖÉÔ ÏÄÎÉ ÐÒÏÂÅÌÙ.\n" #: src/lang.c:928 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ [%%s]: " +msgid "\n" + "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" +msgstr "\n" + "ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: \"Subject:\" ÎÁÞÉÎÁÅÔÓÑ Ó \"Re: \" ÎÏ ÎÅÔ \"References:\".\n" + +#: src/lang.c:930 +msgid "\n" + "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" + " with \"Re: \" and does not contain \"(was:\".\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: × ÓÔÁÔØÅ ÅÓÔØ \"References:\" ÎÏ \"Subject:\"\n" + " ÎÅ ÎÁÞÉÎÁÅÔÓÑ Ó \"Re: \" É ÎÅ ÓÏÄÅÒÖÉÔ \"(was:\".\n" + +#: src/lang.c:933 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly written by you. This will " + "wipe\n" + " the article from most news servers throughout the world, but there is " + "no\n" + " guarantee that it will work.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "ðÒÏÞÉÔÁÊÔÅ ×ÎÉÍÁÔÅÌØÎÏ!\n" + "\n" + " ÷Ù ÈÏÔÉÔÅ ÏÔÍÅÎÉÔØ ÓÔÁÔØÀ, ÎÁÐÉÓÁÎÎÕÀ ÓËÏÒÅÅ ×ÓÅÇÏ ×ÁÍÉ. üÔÏ ÕÎÉÞÔÏÖÉÔ\n" + " ÓÔÁÔØÀ Ó ÂÏÌØÛÉÎÓÔ×Á ÓÅÒ×ÅÒÏ× ÐÏ ×ÓÅÍÕ ÍÉÒÕ, ÎÏ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÇÁÒÁÎÔÉÉ,\n" + " ÞÔÏ ÜÔÏ ÂÕÄÅÔ ÓÒÁÂÏÔÁÅÔ.\n" + "\n" + "÷ÏÔ ÓÔÁÔØÑ, ËÏÔÏÒÕÀ ×Ù ÈÏÔÉÔÅ ÏÔÍÅÎÉÔØ:\n" + "\n" #: src/lang.c:937 -msgid "Try cache_overview_files to speed up things.\n" -msgstr "ðÏÐÒÏÂÕÊÔÅ cache_overview_files ÄÌÑ ÕÓËÏÒÅÎÉÑ.\n" - -#: src/lang.c:938 -msgid "Tin will use local index files instead.\n" -msgstr "Tin ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÁÊÌÙ ÌÏËÁÌØÎÏÇÏ ÉÎÄÅËÓÁ.\n" - -#: src/lang.c:939 -msgid "Cannot find NNTP server name" -msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÉÍÑ NNTP ÓÅÒ×ÅÒÁ" - -#: src/lang.c:940 -#, c-format -msgid "Connecting to %s:%d..." -msgstr "óÏÅÄÉÎÅÎÉÅ Ó %s:%d..." - -#: src/lang.c:941 -msgid "Disconnecting from server...\n" -msgstr "ïÔÓÏÅÄÉÎÅÎÉÅ ÏÔ ÓÅÒ×ÅÒÁ...\n" +msgid "\n" + "Warning: You are using a non-plain transfer encoding (such as base64 or\n" + " quoted-printable) and an external inews program to submit your\n" + " article. If a signature is appended by that inews program it will\n" + " not be encoded properly.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ÷Ù ÉÓÐÏÌØÚÕÅÔÅ ËÏÄÉÒÏ×ÁÎÉÅ ÓÏÏÂÝÅÎÉÑ (base64 ÉÌÉ quoted-printable)\n" + " É ×ÎÅÛÎÀÀ inews ÐÒÏÇÒÁÍÍÕ ÄÌÑ ÏÔÐÒÁ×ËÉ ÎÏ×ÏÓÔÅÊ. åÓÌÉ ÐÏÄÐÉÓØ " + "ÂÕÄÅÔ\n" + " ÄÏÂÁ×ÌÅÎÁ ÜÔÏÊ ÐÒÏÇÒÁÍÍÏÊ, ÏÎÁ ÎÅ ÂÕÄÅÔ ËÏÒÒÅËÔÎÏ ÚÁËÏÄÉÒÏ×ÁÎÁ.\n" #: src/lang.c:942 -#, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" -msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÉÍÑ ÇÒÕÐÐÙ × ÏÔ×ÅÔÅ ÎÁ ËÏÍÁÎÄÕ GROUP, %s ÄÌÑ %s" +msgid "\n" + "Warning: \"example\" is a reserved hierarchy!\n" +msgstr "" #: src/lang.c:943 #, c-format -msgid "Failed to connect to NNTP server %s. Exiting..." -msgstr "îÅ ÕÄÁÌÏÓØ ÓÏÅÄÉÎÉÔØÓÑ Ó NNTP ÓÅÒ×ÅÒÏÍ %s. ÷ÙÈÏÄ..." - -#: src/lang.c:944 -msgid "205 Closing connection" -msgstr "205 úÁËÒÙÔÉÅ ÓÏÅÄÉÎÅÎÉÑ" +msgid "\n" + "\n" + "You are upgrading to tin %s from an earlier version.\n" + "Some values in your %s file have changed!\n" + "Read WHATSNEW, etc...\n" +msgstr "\n" + "\n" + "÷Ù ÏÂÎÏ×ÌÑÅÔÅÓØ ÄÏ tin %s Ó ÐÒÅÄÙÄÕÝÅÊ ×ÅÒÓÉÉ.\n" + "îÅËÏÔÏÒÙÅ ÚÎÁÞÅÎÉÑ × ×ÁÛÅÍ %s ÆÁÊÌÅ ÉÚÍÅÎÉÌÉÓØ!\n" + "ðÒÏÞÉÔÁÊÔÅ WHATSNEW, É Ô.Ä...\n" #: src/lang.c:945 -msgid "Your server does not support the NNTP XOVER or OVER command.\n" -msgstr "óÅÒ×ÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ NNTP XOVER ÉÌÉ OVER ËÏÍÁÎÄÙ.\n" - -#: src/lang.c:946 -msgid "Connection to news server has timed out. Reconnect?" -msgstr "÷ÒÅÍÑ ÓÏÅÄÉÎÅÎÉÑ Ë ÓÅÒ×ÅÒÕ ÐÒÅ×ÙÓÉÌÏ ÌÉÍÉÔ. ðÏÄËÌÀÞÉÔØÓÑ ÅÝ£ ÒÁÚ?" - -#: src/lang.c:947 -#, c-format -msgid "Put the server name in the file %s,\n" - "or set the environment variable NNTPSERVER" -msgstr "ðÏÍÅÓÔÉÔØ ÉÍÑ ÓÅÒ×ÅÒÁ × ÆÁÊÌ %s,\n" - "ÉÌÉ ÕÓÔÁÎÏ×ÉÔØ ÐÅÒÅÍÅÎÎÕÀ ÏËÒÕÖÅÎÉÑ NNTPSERVER" - -#: src/lang.c:948 -msgid " -A force authentication on connect" -msgstr " -A ÐÒÉÎÕÄÉÔÅÌØÎÁÑ ÁÕÔÅÎÔÉÆÉËÁÃÉÑ ÐÒÉ ÓÏÅÄÉÎÅÎÉÉ" - -#: src/lang.c:949 #, c-format -msgid " -g serv read news from NNTP server serv [default=%s]" -msgstr " -g serv ÞÔÅÎÉÅ ÎÏ×ÏÓÔÅÊ Ó NNTP ÓÅÒ×ÅÒÁ serv [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" +msgid "\n" + "\n" + "You are downgrading to tin %s from a more recent version!\n" + "Some values in your %s file may be ignored, others might have changed!\n" +msgstr "\n" + "\n" + "÷Ù ÉÓÐÏÌØÚÕÅÔÅ ÂÏÌÅÅ ÓÔÁÒÕÀ ×ÅÒÓÉÀ tin %s!\n" + "îÅËÏÔÏÒÙÅ ÚÎÁÞÅÎÉÅÑ × ÆÁÊÌÅ %s ÍÏÇÕÔ ÂÙÔØ ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎÙ,\n" + "ÄÒÕÇÉÅ ÍÏÇÌÉ ÂÙÔØ ÉÚÍÅÎÅÎÙ!\n" -#: src/lang.c:950 +#: src/lang.c:948 #, c-format -msgid " -p port use port as NNTP port [default=%d]" -msgstr " -p port ÉÓÐÏÌØÚÏ×ÁÔØ port ËÁË NNTP ÐÏÒÔ [ÐÏ ÕÍÏÌÞÁÎÉÀ=%d]" - -#: src/lang.c:951 -msgid " -Q quick start. Same as -nqd" -msgstr " -Q ÂÙÓÔÒÙÊ ÚÁÐÕÓË. ëÁË Ó ÏÐÃÉÑÍÉ -nqd" +msgid "Warning: tin wrote fewer groups to your\n" + "\t%s\n" + "than it read at startup. If you didn't unsubscribe from %ld %s during\n" + "this session this indicates an error and you should backup your %s\n" + "before you start tin once again!\n" +msgstr "" #: src/lang.c:952 -msgid " -l use only LIST instead of GROUP (-n) command" -msgstr " -l ÉÓÐÏÌØÚÏ×ÁÔØ LIST ×ÍÅÓÔÏ ËÏÍÁÎÄÙ GROUP (-n)" +#, c-format +msgid "\n" + "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ÏÂÎÁÒÕÖÅÎÏ %d '-- \\n' ÓÔÒÏË, ÜÔÏ ÍÏÖÅÔ ÕÄÉ×ÉÔØ ÎÅËÏÔÏÒÙÈ " + "ÐÏÌØÚÏ×ÁÔÅÌÅÊ.\n" #: src/lang.c:953 -msgid " -n only read subscribed .newsrc groups from NNTP server" -msgstr " -n ÞÉÔÁÔØ ÔÏÌØËÏ ÐÏÄÐÉÓÁÎÎÙÅ .newsrc ÇÒÕÐÐÙ Ó NNTP ÓÅÒ×ÅÒÁ" +#, c-format +msgid "Warning: Only %d out of %d articles were saved" +msgstr "÷ÎÉÍÁÎÉÅ: óÏÈÒÁÎÅÎÙ ÔÏÌØËÏ %d ÉÚ %d ÓÔÁÔÅÊ" -#: src/lang.c:955 +#: src/lang.c:954 #, c-format -msgid "%s/tcp: Unknown service.\n" -msgstr "%s/tcp: îÅÉÚ×ÅÓÔÎÙÊ ÓÅÒ×ÉÓ.\n" +msgid "\n" + "Warning: Your signature is longer than %d lines. Since signatures usually " + "do\n" + " not transport any useful information, they should be as short " + "as\n" + " possible.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ÷ÁÛÁ ÐÏÄÐÉÓØ ÄÌÉÎÎÅÅ %d ÓÔÒÏË. ôÁË ËÁË ÐÏÄÐÉÓÉ ÏÂÙÞÎÏ ÎÅ ÐÅÒÅÄÁÀÔ\n" + " ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ, ÏÎÉ ÄÏÌÖÎÙ ÂÙÔØ ËÏÒÏÔËÉÍÉ ÎÁÓÔÏÌØËÏ,\n" + " ÎÁÓËÏÌØËÏ ÜÔÏ ×ÏÚÍÏÖÎÏ.\n" #: src/lang.c:958 -msgid "\n" - "socket or connect problem\n" -msgstr "\n" - "ÐÒÏÂÌÅÍÁ Ó ÓÏËÅÔÏÍ ÉÌÉ Ó ÓÏÅÄÉÎÅÎÉÅÍ\n" - -#: src/lang.c:960 #, c-format -msgid "\n" - "Connection to %s: " -msgstr "\n" - "óÏÅÄÉÎÅÎÉÅ Ó %s: " - -#: src/lang.c:961 -msgid "Giving up...\n" -msgstr "ðÒÅËÒÁÝÁÅÍ...\n" +msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " +msgstr "÷ÎÉÍÁÎÉÅ: ÁÄÒÅÓ email ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ spamtrap. %s=ÐÒÏÄÏÌÖÉÔØ, %s=ÓÔÏÐ? " -#: src/lang.c:964 -msgid "Your server does not have Xref: in its XOVER information.\n" - "Tin will try to use XHDR XREF instead (slows down things a bit).\n" -msgstr "÷ÁÛ ÓÅÒ×ÅÒ ÎÅ ÓÏÄÅÒÖÉÔ Xref: × Ó×ÏÅÊ ÉÎÆÏÒÍÁÃÉÉ XOVER.\n" - "Tin ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ XHDR XREF (ÞÕÔØ ÍÅÄÌÅÎÅÅ).\n" +#: src/lang.c:959 +msgid "\n" + "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: óÉÇÎÁÔÕÒÙ ÄÏÌÖÎÙ ÎÁÞÉÎÁÔØÓÑ Ó '-- \\n' ÎÅ Ó '--\\n'.\n" -#: src/lang.c:967 -msgid "Your server does not have Xref: in its XOVER information.\n" -msgstr "óÅÒ×ÅÒ ÎÅ ÓÏÄÅÒÖÉÔ Xref: × XOVER.\n" +#: src/lang.c:960 +msgid "Writing attributes file..." +msgstr "úÁÐÉÓØ ÆÁÊÌÁ ÁÔÒÉÂÕÔÏ×..." -#: src/lang.c:970 +#: src/lang.c:962 #, c-format -msgid "Can't open %s. Try %s -r to read news via NNTP.\n" -msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s. ðÏÐÒÏÂÕÊÔÅ %s -r ÄÌÑ ÞÔÅÎÉÑ ÎÏ×ÏÓÔÅÊ ÐÏ NNTP.\n" - -#: src/lang.c:973 -msgid " -Q quick start. Same as -qd" -msgstr " -Q ÂÙÓÔÒÙÊ ÚÁÐÕÓË. ôÏ ÖÅ ÓÁÍÏÅ ËÁË Ó ÏÐÃÉÑÍÉ -qd" - -#: src/lang.c:974 -msgid " -l read only active file instead of scanning spool (-n) command" -msgstr " -l ÞÉÔÁÔØ ÔÏÌØËÏ ÆÁÊÌ active ×ÍÅÓÔÏ ÓËÁÎÉÒÏ×ÁÎÉÑ spool (-n) ËÏÍÁÎÄÙ" - -#: src/lang.c:975 -msgid " -n only read subscribed .newsrc groups from spool" -msgstr " -n ÞÉÔÁÔØ ÔÏÌØËÏ ÐÏÄÐÉÓÁÎÎÙÅ .newsrc ÇÒÕÐÐÙ ÉÚ spool" - -#: src/lang.c:976 -msgid "Your server does not have Xref: in its NOV-files.\n" -msgstr "÷ÁÛ ÓÅÒ×ÅÒ ÎÅ ÉÍÅÅÔ Xref: × NOV-ÆÁÊÌÁÈ.\n" - -#: src/lang.c:980 -msgid "Posting using external inews failed. Use built in inews instead?" -msgstr "ïÔÐÒÁ×ÌÅÎÉÅ Ó ×ÎÅÛÎÉÍ inews ÐÒÏ×ÁÌÉÌÏÓØ. éÓÐÏÌØÚÏ×ÁÔØ ×ÓÔÒÏÅÎÎÙÊ inews" +msgid "%d Responses" +msgstr "%d ÏÔ×ÅÔÏ×" -#: src/lang.c:981 -msgid "It worked! Should I always use my built in inews from now on?" -msgstr "úÁÒÁÂÏÔÁÌÏ! éÓÐÏÌØÚÏ×ÁÔØ ×ÓÅÇÄÁ ÓÄÅÌÁÎÎÙÊ inews?" - -#: src/lang.c:989 +#: src/lang.c:964 #, c-format -msgid "%d %s printed" -msgstr "%d %s ÎÁÐÅÞÁÔÁÎÏ" +msgid "Added %d %s" +msgstr "äÏÂÁ×ÌÅÎÏ %d %s" -#: src/lang.c:990 -msgid "output article/thread/hot/pattern/tagged articles to printer" -msgstr "×Ù×ÏÄ ÓÔÁÔØÉ/ÄÉÓËÕÓÓÉÉ/hot/ÛÁÂÌÏÎÁ/ÐÏÍÅÞÅÎÎÙÈ ÓÔÁÔÅÊ ÎÁ ÐÅÞÁÔØ" +#: src/lang.c:965 +msgid "No unsubscribed groups to show" +msgstr "îÅÔ ÏÔÐÉÓÁÎÎÙÈ ÇÒÕÐÐ ÄÌÑ ×Ù×ÏÄÁ" + +#: src/lang.c:966 +msgid "Showing subscribed to groups only" +msgstr "ðÏËÁÚ ÔÏÌØËÏ ÐÏÄÐÉÓÁÎÎÙÈ ÎÁ ÇÒÕÐÐÕ" -#: src/lang.c:991 -msgid "Print" -msgstr "ðÅÞÁÔØ" +#: src/lang.c:967 +msgid "Yes " +msgstr "äÁ " -#: src/lang.c:992 -msgid "Printing..." -msgstr "ðÅÞÁÔÁÀ..." +#: src/lang.c:968 +msgid " You have mail" +msgstr " îÏ×ÁÑ ÐÏÞÔÁ" -#: src/lang.c:996 -msgid "pipe article/thread/hot/pattern/tagged articles into command" -msgstr "pipe ÓÔÁÔØÀ/ÄÉÓËÕÓÓÉÀ/hot/ÛÁÂÌÏÎ/ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ × ËÏÍÁÎÄÕ" +#: src/lang.c:973 +#, c-format +msgid "\n" + "Warning: Posting is in %s and contains characters which are not\n" + " in your selected MM_NETWORK_CHARSET: %s.\n" + " These characters will be replaced by '?' if you post this\n" + " article unchanged. To avoid garbling your article please either\n" + " edit it and remove those characters or change the setting of\n" + " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" + " M)enu option.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ïÔÐÒÁ×ËÁ × %s ÓÏÄÅÒÖÉÔ ÓÉÍ×ÏÌÙ, ËÏÔÏÒÙÅ ÎÅ ÐÒÉÓÕÔÓÔ×ÕÀÔ ×\n" + " ×ÙÂÒÁÎÎÏÍ MM_NETWORK_CHARSET: %s.\n" + " üÔÉ ÓÉÍ×ÏÌÙ ÂÕÄÕÔ ÚÁÍÅÎÅÎÙ ÎÁ '?', ÅÓÌÉ ×Ù ÏÔÐÒÁ×ÉÔÅ ÜÔÕ ÓÔÁÔØÀ\n" + " ÂÅÚ ÉÚÍÅÎÅÎÉÊ. þÔÏÂÙ ÉÚÂÅÖÁÔØ ÉÓËÁÖÅÎÉÑ ×ÁÛÉÈ ÓÔÁÔÅÊ, ÐÏÖÁÌÕÊÓÔÁ,\n" + " ÏÔÒÅÄÁËÔÉÒÕÊÔŠţ É ÕÂÅÒÉÔÅ ÜÔÉ ÓÉÍ×ÏÌÙ ÉÌÉ ÉÚÍÅÎÉÔÅ × M)ÅÎÀ\n" + " ÚÎÁÞÅÎÉÅ MM_NETWORK_CHARSET ÎÁ ÐÏÄÈÏÄÑÝÅÅ.\n" + +#: src/lang.c:984 +msgid " -D mode debug mode" +msgstr "" + +#: src/lang.c:988 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly not written by you. This " + "will\n" + " wipe the article from lots of news servers throughout the world;\n" + " Usenet's majority considers this rather inappropriate, to say the " + "least.\n" + " Only press 'd' if you are absolutely positive that you are ready to " + "take\n" + " the rap.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "ðÒÏÞÉÔÁÊÔÅ ×ÎÉÍÁÔÅÌØÎÏ!\n" + "\n" + " ÷Ù ÈÏÔÉÔÅ ÏÔÍÅÎÉÔØ ÓÔÁÔØÀ, ÎÁÐÉÓÁÎÎÕÀ ÓËÏÒÅÅ ×ÓÅÇÏ ÎÅ ×ÁÍÉ. üÔÏ ÕÎÉÞÔÏÖÉÔ\n" + " ÓÔÁÔØÀ Ó ÂÏÌØÛÉÎÓÔ×Á ÓÅÒ×ÅÒÏ× ÐÏ ×ÓÅÍÕ ÍÉÒÕ; ÂÏÌØÛÉÎÓÔ×Ï × Usenet\n" + " ÒÁÓÓÍÁÔÒÉ×ÁÅÔ ÔÁËÏÅ ÄÅÊÓÔ×ÉÅ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÎÅÕÍÅÓÔÎÙÍ.\n" + " îÁÖÍÉÔÅ 'd' ÔÏÌØËÏ × ÔÏÍ ÓÌÕÞÁÅ, ÅÓÌÉ ×Ù ÇÏÔÏ×Ù ÄÌÑ ÐÏÌÕÞÅÎÉÑ\n" + " ÏÔÒÉÃÁÔÅÌØÎÏÊ ÒÅÁËÃÉÉ (ÒÅÚËÉÈ ÏÔ×ÅÔÏ×) ÎÁ ×ÁÛÉ ÄÅÊÓÔ×ÉÑ.\n" + "\n" + "÷ÏÔ ÓÔÁÔØÑ, ËÏÔÏÒÕÀ ×Ù ÈÏÔÉÔÅ ÏÔÍÅÎÉÔØ:\n" + "\n" #: src/lang.c:997 -msgid "No command" -msgstr "îÅÔ ËÏÍÁÎÄÙ" +msgid "toggle color" +msgstr "ÉÚÍÅÎÉÔØ Ã×ÅÔ" #: src/lang.c:998 -msgid "Pipe" -msgstr "" - -#: src/lang.c:999 -#, c-format -msgid "Pipe to command [%.*s]> " -msgstr "Pipe × ËÏÍÁÎÄÕ [%.*s]> " - -#: src/lang.c:1000 -msgid "Piping..." -msgstr "" - -#: src/lang.c:1002 -msgid "Piping not enabled." -msgstr "Piping ÎÅ ×ËÌÀÞÅÎ." - -#: src/lang.c:1006 -#, c-format -msgid "\n" - "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" - " The only allowable space is the one separating the colon (:)\n" - " from the contents. Use a comma (,) to separate multiple\n" - " newsgroup names.\n" -msgstr "\n" - "ïÛÉÂËÁ: ÓÔÒÏËÁ \"%s:\" ÓÏÄÅÒÖÉÔ ÐÒÏÂÅÌÙ, ËÏÔÏÒÙÅ äïìöîù ÂÙÔØ ÕÂÒÁÎÙ.\n" - " òÁÚÒÅÛÅÎ ÔÏÌØËÏ ÏÄÉÎ ÐÒÏØÅÌ, ÒÁÚÄÅÌÑÀÝÉÊ Ä×ÏÅÔÏÞÉÅ (:)\n" - " É ÓÏÄÅÒÖÉÍÏÅ. éÓÐÏÌØÚÕÊÔÅ ÚÁÐÑÔÕÀ (,) ÄÌÑ ÒÁÚÄÅÌÅÎÉÑ\n" - " ÎÅÓËÏÌØËÉÈ ÉÍÅÎ ÇÒÕÐÐ.\n" - -#: src/lang.c:1011 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is continued in the next line. Since\n" - " the line may not contain whitespace, this is not allowed.\n" - " Please write all newsgroups into a single line.\n" -msgstr "\n" - "ïÛÉÂËÁ: ÓÔÒÏËÁ \"%s:\" ÐÒÏÄÏÌÖÁÅÔÓÑ × ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÅ. üÔÏ ÚÁÐÒÅÝÅÎÏ,\n" - " ÔÁË ËÁË ÓÔÒÏËÁ ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÐÒÏÂÅÌÏ×.\n" - " ðÏÖÁÌÕÊÓÔÁ ÚÁÐÉÓÙ×ÁÅÔÅ ×ÓÅ ÇÒÕÐÐÙ ÏÄÎÏÊ ÓÔÒÏËÏÊ.\n" - -#: src/lang.c:1016 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line is continued in the next line.\n" - " This is a very new feature and may not be accepted by all servers.\n" - " To avoid trouble please write all newsgroups into a single line.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ÓÔÒÏËÁ \"%s:\" ÐÒÏÄÏÌÖÁÅÔÓÑ × ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÅ.\n" - " üÔÏ ÎÏ×ÏÅ Ó×ÏÊÔÓ×Ï É ÍÏÖÅÔ ÐÏÄÄÅÒÖÉ×ÁÔØÓÑ ÎÅ ×ÓÅÍÉ ÓÅÒ×ÅÒÁÍÉ.\n" - " þÔÏÂÙ ÉÚÂÅÖÁÔØ ÐÒÏÂÌÅÍ, ÚÁÐÉÓÙ×ÁÊÔÅ ×ÓÅ ÇÒÕÐÐÙ ÏÄÎÏÊ ÓÔÒÏËÏÊ.\n" - -#: src/lang.c:1020 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" -msgstr "\n" - "÷ÎÉÍÁÎÉÅ: ÓÔÒÏËÁ \"%s:\" ÓÏÄÅÒÖÉÔ ÐÒÏÂÅÌÙ, ËÏÔÏÒÙÅ ÄÏÌÖÎÙ ÂÙÔØ ÕÂÒÁÎÙ.\n" +msgid "# Changing colors of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" +msgstr "# éÚÍÅÎÅÎÉÅ Ã×ÅÔÏ× ÄÌÑ ÒÁÚÌÉÞÎÙÈ ÞÁÓÔÅÊ ÜËÒÁÎÁ\n" + "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ:\n" + "# -1 = ÐÏ ÕÍÏÌÞÁÎÉÀ (ÂÅÌÙÊ ÄÌÑ ÓÉÍ×ÏÌÏ× É Þ£ÒÎÙÊ ÄÌÑ ÆÏÎÁ)\n" + "# 0 = Þ£ÒÎÙÊ\n" + "# 1 = ËÒÁÓÎÙÊ\n" + "# 2 = ÚÅÌ£ÎÙÊ\n" + "# 3 = ËÏÒÉÞÎÅ×ÙÊ\n" + "# 4 = ÓÉÎÉÊ\n" + "# 5 = ÒÏÚÏ×ÙÊ\n" + "# 6 = ÇÏÌÕÂÏÊ\n" + "# 7 = ÂÅÌÙÊ\n" + "# üÔÉ Ã×ÅÔÁ *ÔÏÌØËÏ* ÄÌÑ ÓÉÍ×ÏÌÏ×:\n" + "# 8 = ÓÅÒÙÊ\n" + "# 9 = Ó×ÅÔÌÏ-ËÒÁÓÎÙÊ\n" + "# 10 = Ó×ÅÔÌÏ-ÚÅÌ£ÎÙÊ\n" + "# 11 = Ö£ÌÔÙÊ\n" + "# 12 = Ó×ÅÔÌÏ-ÓÉÎÉÊ\n" + "# 13 = Ó×ÅÔÌÏ-ÒÏÚÏ×ÙÊ\n" + "# 14 = Ó×ÅÔÌÏ-ÇÏÌÕÂÏÊ\n" + "# 15 = Ó×ÅÔÌÏ-ÂÅÌÙÊ\n" + "\n" + +#: src/lang.c:1018 +msgid " -a toggle color flag" +msgstr " -a ÉÚÍÅÎÉÔØ Ã×ÅÔ" + +#: src/lang.c:1022 +msgid "\n" + "Error: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "ïÛÉÂËÁ: Followup-To ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÂÏÌØÛÅ ÞÅÍ ÏÄÎÕ ÇÒÕÐÐÕ!\n" + +#: src/lang.c:1023 +#, c-format +msgid "\n" + "Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "" + +#: src/lang.c:1024 +#, c-format +msgid "\n" + "Error: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "ïÛÉÂËÁ: ËÒÏÓÓ-ÐÏÓÔÉÎÇÁ × %d ÇÒÕÐÐÙ ÂÅÚ Followup-To ÓÔÒÏËÉ!\n" #: src/lang.c:1025 -msgid "\n" - " If your article contains quoted text please take some time to pare it " - "down\n" - " to just the key points to which you are responding, or people will " - "think\n" - " you are a dweeb! Many people have the habit of skipping any article " - "whose\n" - " first page is largely quoted material. Format your article to fit in " - "less\n" - " then 80 chars, since that's the conventional size (72 is a good choice " - "as\n" - " it allows quoting without exceeding the limit). If your lines are too " - "long\n" - " they'll wrap around ugly and people won't read what you write. If " - "you\n" - " aren't careful and considerate in formatting your posting, people " - "are\n" - " likely to ignore it completely. It's a crowded net out there.\n" -msgstr "" +#, c-format +msgid "\n" + "Error: \"%s\" is not a valid newsgroup!\n" +msgstr "\n" + "ïÛÉÂËÁ: \"%s\" - ÎÅÄÏÐÕÓÔÉÍÁÑ ÇÒÕÐÐÁ!\n" + +#: src/lang.c:1027 +msgid "\n" + "Warning: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: Followup-To ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÂÏÌØÛÅ ÞÅÍ ÏÄÎÕ ÇÒÕÐÐÕ!\n" + +#: src/lang.c:1028 +#, fuzzy, c-format +msgid "\n" + "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: \"%s\" - ÎÅÄÏÐÕÓÔÉÍÁÑ ÎÁ ÜÔÏÍ ÍÅÓÔÅ ÇÒÕÐÐÁ ÎÏ×ÏÓÔÅÊ!\n" + +#: src/lang.c:1029 +#, c-format +msgid "\n" + "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ËÒÏÓÓ-ÐÏÓÔÉÎÇ × %d ÇÒÕÐÐÙ ÂÅÚ Followup-To ÓÔÒÏËÉ!\n" + +#: src/lang.c:1030 +#, c-format +msgid "\n" + "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: \"%s\" ÎÅ × newsrc É ÍÏÖÅÔ ÂÙÔØ ÏÛÉÂÏÞÎÁ ÎÁ ÜÔÏÍ ÍÅÓÔÅ!\n" + +#: src/lang.c:1031 +#, c-format +msgid "\n" + "Warning: \"%s\" is not a valid newsgroup at this site!\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: \"%s\" - ÎÅÄÏÐÕÓÔÉÍÁÑ ÎÁ ÜÔÏÍ ÍÅÓÔÅ ÇÒÕÐÐÁ ÎÏ×ÏÓÔÅÊ!\n" + +#: src/lang.c:1035 +#, c-format +msgid "%d files successfully written from %d articles. %d %s occurred." +msgstr "%d ÆÁÊÌÏ× ÕÓÐÅÛÎÏ ÚÁÐÉÓÁÎÙ ÉÚ %d ÓÔÁÔÅÊ. %d %s." + +#: src/lang.c:1036 +msgid "Missing parts." +msgstr "ðÒÏÐÕÝÅÎÙ ÞÁÓÔÉ." + +#: src/lang.c:1037 +msgid "No beginning." +msgstr "îÅÔ ÎÁÞÁÌÁ." #: src/lang.c:1038 -msgid "shell escape" -msgstr "×ÙÈÏÄ × ÏÂÏÌÏÞËÕ" +msgid "No data." +msgstr "îÅÔ ÄÁÎÎÙÈ." #: src/lang.c:1039 -#, c-format -msgid "Shell Command (%s)" -msgstr "ëÏÍÁÎÄÁ ÏÂÏÌÏÞËÉ (%s)" +msgid "Unknown error." +msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ." -#: src/lang.c:1040 +#: src/lang.c:1042 #, c-format -msgid "Enter shell command [%s]> " -msgstr "÷×ÅÄÉÔÅ ËÏÍÁÎÄÕ ÏÂÏÌÏÞËÉ [%s]> " +msgid "\tChecksum of %s (%ld %s)" +msgstr "\tëÏÎÔÒÏÌØÎÁÑ ÓÕÍÍÁ %s (%ld %s)" -#: src/lang.c:1044 -#, c-format -msgid "%s: Can't get entry for TERM\n" -msgstr "%s: îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÚÁÐÉÓØ ÄÌÑ TERM\n" +#: src/lang.c:1047 +msgid "Reading mail active file... " +msgstr "" #: src/lang.c:1048 +msgid "Reading mailgroups file... " +msgstr "þÔÅÎÉÅ ÆÁÊÌÁ mailgroups... " + +#: src/lang.c:1052 +msgid "perform PGP operations on article" +msgstr "×ÙÐÏÌÎÉÔØ PGP ÏÐÅÒÁÃÉÉ ÓÏ ÓÔÁÔØÅÊ" + +#: src/lang.c:1053 +msgid "Add key(s) to public keyring?" +msgstr "äÏÂÁ×ÉÔØ ËÌÀÞ(É) Ë ÏÔËÒÙÔÙÍ ËÌÀÞÁÍ?" + +#: src/lang.c:1054 #, c-format -msgid "Group %.*s ('q' to quit)..." -msgstr "çÒÕÐÐÁ %.*s ('q' ÞÔÏÂÙ ×ÙÊÔÉ)..." +msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " +msgstr "%s=ÛÉÆÒÏ×ÁÔØ, %s=ÐÏÄÐÉÓÁÔØ, %s=ÏÂÁ, %s=×ÙÈÏÄ: " -#: src/lang.c:1050 +#: src/lang.c:1055 #, c-format -msgid "Group %.*s..." -msgstr "çÒÕÐÐÁ %.*s..." +msgid "%s=sign, %s=sign & include public key, %s=quit: " +msgstr "%s=ÛÉÆÒÏ×ÁÔØ, %s=ÐÏÄÐÉÓÁÔØ É ×ÌÏÖÉÔØ ÏÔËÒÙÔÙÊ ËÌÀÞ, %s=×ÙÈÏÄ: " -#: src/lang.c:1054 -msgid "Server unavailable\n" -msgstr "óÅÒ×ÅÒ ÎÅ ÄÏÓÔÕÐÅÎ\n" +#: src/lang.c:1056 +#, c-format +msgid "PGP has not been set up (can't open %s)" +msgstr "PGP ÎÅ ÕÓÔÁÎÏ×ÌÅÎ (ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ %s)" + +#: src/lang.c:1057 +msgid "Article not signed and no public keys found" +msgstr "óÔÁÔØÑ ÎÅ ÐÏÄÐÉÓÁÎÁ É ÏÔËÒÙÔÙÊ ËÌÀÞ ÎÅ ÎÁÊÄÅÎ" + +#: src/lang.c:1059 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=pgp, %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ: " #: src/lang.c:1060 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" - "s=post" -msgstr "%s=pipe; %s=mail; %s=ÐÅÞÁÔØ; %s=×ÙÈÏÄ; %s=toggle all/unread; %s=ÓÏÈÒ.; %" - "s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=pgp, %s=ÏÔÐÒÁ×ÉÔØ [%%s]: " #: src/lang.c:1061 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=pipe; %s=mail; %s=ÐÅÞÁÔØ; %s=×ÙÈÏÄ; %s=reply mail; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %" - "s=ÏÔÐÒÁ×ÉÔØ" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=pgp, %s=ÍÅÎÀ, %s=ÏÔÐÒ., %s=ÏÔÌÏÖÉÔØ [%%s]: " #: src/lang.c:1063 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=mail; %s=ÐÅÞÁÔØ; %s=×ÙÈÏÄ; %s=toggle all/unread; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %" - "s=ÏÔÐÒÁ×ÉÔØ" +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄÁËÔ., %s=pgp, %s=ÍÅÎÀ, %s=ÏÔÐÒ., %s=ÏÔÌÏÖÉÔØ: " #: src/lang.c:1064 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=mail; %s=ÐÅÞÁÔØ; %s=×ÙÈÏÄ; %s=ÏÔ×ÅÔÉÔØ; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" +msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=pgp, %s=ÏÔÐÒÁ×ÉÔØ [%%s]: " -#: src/lang.c:1068 +#: src/lang.c:1065 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=pipe; %s=mail; %s=×ÙÈÏÄ; %s=toggle all/unread; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %" - "s=ÏÔÐÒÁ×ÉÔØ" +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=pgp, %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ [%%s]: " #: src/lang.c:1069 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=pipe; %s=mail; %s=×ÙÈÏÄ; %s=ÏÔ×ÅÔÉÔØ; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=ÍÅÎÀ, %s=ÏÔÐÒ., %s=ÏÔÌÏÖÉÔØ: " + +#: src/lang.c:1070 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=ÏÔÐÒÁ×ÉÔØ [%%s]: " #: src/lang.c:1071 #, c-format -msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=mail; %s=×ÙÈÏÄ; %s=toggle all/unread; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ispell, %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ [%%s]: " -#: src/lang.c:1072 +#: src/lang.c:1073 #, c-format -msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=mail; %s=×ÙÈÏÄ; %s=ÏÔ×ÅÔÉÔØ; %s=ÓÏÈÒÁÎÉÔØ; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ: " -#: src/lang.c:1078 -msgid "Terminal does not support color" -msgstr "ôÅÒÍÉÎÁÌ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ Ã×ÅÔ" +#: src/lang.c:1074 +#, c-format +msgid "%s=quit, %s=edit, %s=send [%%s]: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ÏÔÐÒÁ×ÉÔØ [%%s]: " -#: src/lang.c:1083 +#: src/lang.c:1075 #, c-format -msgid "Trying %s" -msgstr "" +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=×ÙÈÏÄ, %s=ÒÅÄ., %s=ÍÅÎÀ, %s=ÏÔÐÒÁ×ÉÔØ, %s=ÏÔÌÏÖÉÔØ [%%s]: " + +#: src/lang.c:1084 +msgid "Try cache_overview_files to speed up things.\n" +msgstr "ðÏÐÒÏÂÕÊÔÅ cache_overview_files ÄÌÑ ÕÓËÏÒÅÎÉÑ.\n" + +#: src/lang.c:1085 +msgid "Tin will use local index files instead.\n" +msgstr "Tin ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÁÊÌÙ ÌÏËÁÌØÎÏÇÏ ÉÎÄÅËÓÁ.\n" + +#: src/lang.c:1086 +msgid "Cannot find NNTP server name" +msgstr "îÅ ÍÏÇÕ ÎÁÊÔÉ ÉÍÑ NNTP ÓÅÒ×ÅÒÁ" + +#: src/lang.c:1087 +#, fuzzy, c-format +msgid "Connecting to %s:%u..." +msgstr "óÏÅÄÉÎÅÎÉÅ Ó %s:%u..." + +#: src/lang.c:1088 +msgid "Disconnecting from server...\n" +msgstr "ïÔÓÏÅÄÉÎÅÎÉÅ ÏÔ ÓÅÒ×ÅÒÁ...\n" + +#: src/lang.c:1089 +#, fuzzy, c-format +msgid "Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" +msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÉÍÑ ÇÒÕÐÐÙ × ÏÔ×ÅÔÅ ÎÁ ËÏÍÁÎÄÕ GROUP, %s ÄÌÑ %s" + +#: src/lang.c:1090 +#, c-format +msgid "Failed to connect to NNTP server %s. Exiting..." +msgstr "îÅ ÕÄÁÌÏÓØ ÓÏÅÄÉÎÉÔØÓÑ Ó NNTP ÓÅÒ×ÅÒÏÍ %s. ÷ÙÈÏÄ..." + +#: src/lang.c:1091 +msgid "205 Closing connection" +msgstr "205 úÁËÒÙÔÉÅ ÓÏÅÄÉÎÅÎÉÑ" -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 src/refs.c:296 -msgid "None" -msgstr "îÉÞÅÇÏ" +#: src/lang.c:1092 +msgid "Your server does not support the NNTP XOVER or OVER command.\n" +msgstr "óÅÒ×ÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ NNTP XOVER ÉÌÉ OVER ËÏÍÁÎÄÙ.\n" + +#: src/lang.c:1093 +msgid "Connection to news server has timed out. Reconnect?" +msgstr "÷ÒÅÍÑ ÓÏÅÄÉÎÅÎÉÑ Ë ÓÅÒ×ÅÒÕ ÐÒÅ×ÙÓÉÌÏ ÌÉÍÉÔ. ðÏÄËÌÀÞÉÔØÓÑ ÅÝ£ ÒÁÚ?" + +#: src/lang.c:1094 +#, c-format +msgid "Put the server name in the file %s,\n" + "or set the environment variable NNTPSERVER" +msgstr "ðÏÍÅÓÔÉÔØ ÉÍÑ ÓÅÒ×ÅÒÁ × ÆÁÊÌ %s,\n" + "ÉÌÉ ÕÓÔÁÎÏ×ÉÔØ ÐÅÒÅÍÅÎÎÕÀ ÏËÒÕÖÅÎÉÑ NNTPSERVER" + +#: src/lang.c:1095 +msgid " -A force authentication on connect" +msgstr " -A ÐÒÉÎÕÄÉÔÅÌØÎÁÑ ÁÕÔÅÎÔÉÆÉËÁÃÉÑ ÐÒÉ ÓÏÅÄÉÎÅÎÉÉ" + +#: src/lang.c:1096 +#, c-format +msgid " -g serv read news from NNTP server serv [default=%s]" +msgstr " -g serv ÞÔÅÎÉÅ ÎÏ×ÏÓÔÅÊ Ó NNTP ÓÅÒ×ÅÒÁ serv [ÐÏ ÕÍÏÌÞÁÎÉÀ=%s]" + +#: src/lang.c:1097 +#, c-format +msgid " -p port use port as NNTP port [default=%d]" +msgstr " -p port ÉÓÐÏÌØÚÏ×ÁÔØ port ËÁË NNTP ÐÏÒÔ [ÐÏ ÕÍÏÌÞÁÎÉÀ=%d]" #: src/lang.c:1098 -msgid "Subject" -msgstr "ôÅÍÁ" +msgid " -Q quick start. Same as -nqd" +msgstr " -Q ÂÙÓÔÒÙÊ ÚÁÐÕÓË. ëÁË Ó ÏÐÃÉÑÍÉ -nqd" #: src/lang.c:1099 -msgid "References" -msgstr "" +msgid " -r read news remotely from default NNTP server" +msgstr " -r ÞÉÔÁÔØ ÎÏ×ÏÓÔÉ ÕÄÁÌÅÎÎÏ Ó NNTP ÓÅÒ×ÅÒÁ, ÚÁÄÁÎÎÏÇÏ ÐÏ ÕÍÏÌÞÁÎÉÀ" #: src/lang.c:1100 -msgid "Both Subject and References" -msgstr "ôÅÍÁ É References" +msgid " -l use only LIST instead of GROUP (-n) command" +msgstr " -l ÉÓÐÏÌØÚÏ×ÁÔØ LIST ×ÍÅÓÔÏ ËÏÍÁÎÄÙ GROUP (-n)" #: src/lang.c:1101 -msgid "Multipart Subject" -msgstr "" +msgid " -n only read subscribed .newsrc groups from NNTP server" +msgstr " -n ÞÉÔÁÔØ ÔÏÌØËÏ ÐÏÄÐÉÓÁÎÎÙÅ .newsrc ÇÒÕÐÐÙ Ó NNTP ÓÅÒ×ÅÒÁ" + +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" +msgstr "" + +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr "" + +#: src/lang.c:1105 +msgid "\n" + "socket or connect problem\n" +msgstr "\n" + "ÐÒÏÂÌÅÍÁ Ó ÓÏËÅÔÏÍ ÉÌÉ Ó ÓÏÅÄÉÎÅÎÉÅÍ\n" + +#: src/lang.c:1107 +#, c-format +msgid "\n" + "Connection to %s: " +msgstr "\n" + "óÏÅÄÉÎÅÎÉÅ Ó %s: " + +#: src/lang.c:1108 +msgid "Giving up...\n" +msgstr "ðÒÅËÒÁÝÁÅÍ...\n" + +#: src/lang.c:1110 +#, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "%s/tcp: îÅÉÚ×ÅÓÔÎÙÊ ÓÅÒ×ÉÓ.\n" -#: src/lang.c:1102 -msgid "Percentage Match" -msgstr "óÏ×ÐÁÄÅÎÉÑ ÐÏ ÐÒÏÃÅÎÔÁÍ" - -#: src/lang.c:1114 src/lang.c:1225 -msgid "No" -msgstr "îÅÔ" - -#: src/lang.c:1115 src/lang.c:1227 -msgid "Yes" -msgstr "äÁ" - -#: src/lang.c:1116 -msgid "Hide All" -msgstr "óËÒÙÔØ ×ÓÅ" +#: src/lang.c:1114 +msgid "Your server does not have Xref: in its XOVER information.\n" + "Tin will try to use XHDR XREF instead (slows down things a bit).\n" +msgstr "÷ÁÛ ÓÅÒ×ÅÒ ÎÅ ÓÏÄÅÒÖÉÔ Xref: × Ó×ÏÅÊ ÉÎÆÏÒÍÁÃÉÉ XOVER.\n" + "Tin ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ XHDR XREF (ÞÕÔØ ÍÅÄÌÅÎÅÅ).\n" + +#: src/lang.c:1117 +msgid "Your server does not have Xref: in its XOVER information.\n" +msgstr "óÅÒ×ÅÒ ÎÅ ÓÏÄÅÒÖÉÔ Xref: × XOVER.\n" + +#: src/lang.c:1120 +#, c-format +msgid "Can't open %s. Try %s -r to read news via NNTP.\n" +msgstr "îÅ ÍÏÇÕ ÏÔËÒÙÔØ %s. ðÏÐÒÏÂÕÊÔÅ %s -r ÄÌÑ ÞÔÅÎÉÑ ÎÏ×ÏÓÔÅÊ ÐÏ NNTP.\n" + +#: src/lang.c:1123 +msgid " -Q quick start. Same as -qd" +msgstr " -Q ÂÙÓÔÒÙÊ ÚÁÐÕÓË. ôÏ ÖÅ ÓÁÍÏÅ ËÁË Ó ÏÐÃÉÑÍÉ -qd" #: src/lang.c:1124 -msgid "Address" -msgstr "áÄÒÅÓ" +msgid " -l read only active file instead of scanning spool (-n) command" +msgstr " -l ÞÉÔÁÔØ ÔÏÌØËÏ ÆÁÊÌ active ×ÍÅÓÔÏ ÓËÁÎÉÒÏ×ÁÎÉÑ spool (-n) ËÏÍÁÎÄÙ" #: src/lang.c:1125 -msgid "Full Name" -msgstr "ðÏÌÎÏÅ ÉÍÑ" +msgid " -n only read subscribed .newsrc groups from spool" +msgstr " -n ÞÉÔÁÔØ ÔÏÌØËÏ ÐÏÄÐÉÓÁÎÎÙÅ .newsrc ÇÒÕÐÐÙ ÉÚ spool" #: src/lang.c:1126 -msgid "Address and Name" -msgstr "áÄÒÅÓ É ÉÍÑ" +msgid "Your server does not have Xref: in its NOV-files.\n" +msgstr "÷ÁÛ ÓÅÒ×ÅÒ ÎÅ ÉÍÅÅÔ Xref: × NOV-ÆÁÊÌÁÈ.\n" -#: src/lang.c:1133 -msgid "Max" -msgstr "íÁËÓÉÍÁÌØÎÙÊ" - -#: src/lang.c:1134 -msgid "Sum" -msgstr "óÕÍÍÁ" +#: src/lang.c:1130 +msgid "Posting using external inews failed. Use built in inews instead?" +msgstr "ïÔÐÒÁ×ÌÅÎÉÅ Ó ×ÎÅÛÎÉÍ inews ÐÒÏ×ÁÌÉÌÏÓØ. éÓÐÏÌØÚÏ×ÁÔØ ×ÓÔÒÏÅÎÎÙÊ inews" + +#: src/lang.c:1131 +msgid "It worked! Should I always use my built in inews from now on?" +msgstr "úÁÒÁÂÏÔÁÌÏ! éÓÐÏÌØÚÏ×ÁÔØ ×ÓÅÇÄÁ ÓÄÅÌÁÎÎÙÊ inews?" #: src/lang.c:1135 -msgid "Average" -msgstr "óÒÅÄÎÉÊ" +#, c-format +msgid "%d %s printed" +msgstr "%d %s ÎÁÐÅÞÁÔÁÎÏ" -#: src/lang.c:1140 -msgid "Lines" -msgstr "óÔÒÏËÉ" - -#: src/lang.c:1141 -msgid "Score" -msgstr "" +#: src/lang.c:1136 +msgid "output article/thread/hot/pattern/tagged articles to printer" +msgstr "×Ù×ÏÄ ÓÔÁÔØÉ/ÄÉÓËÕÓÓÉÉ/hot/ÛÁÂÌÏÎÁ/ÐÏÍÅÞÅÎÎÙÈ ÓÔÁÔÅÊ ÎÁ ÐÅÞÁÔØ" + +#: src/lang.c:1137 +msgid "Print" +msgstr "ðÅÞÁÔØ" + +#: src/lang.c:1138 +msgid "Printing..." +msgstr "ðÅÞÁÔÁÀ..." #: src/lang.c:1142 -msgid "Lines & Score" -msgstr "óÔÒÏËÉ É Score" +msgid "pipe article/thread/hot/pattern/tagged articles into command" +msgstr "pipe ÓÔÁÔØÀ/ÄÉÓËÕÓÓÉÀ/hot/ÛÁÂÌÏÎ/ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ × ËÏÍÁÎÄÕ" -#: src/lang.c:1151 -msgid "Black" -msgstr "þÅÒÎÙÊ" +#: src/lang.c:1143 +msgid "No command" +msgstr "îÅÔ ËÏÍÁÎÄÙ" -#: src/lang.c:1152 -msgid "Red" -msgstr "ëÒÁÓÎÙÊ" +#: src/lang.c:1144 +msgid "Pipe" +msgstr "" -#: src/lang.c:1153 -msgid "Green" -msgstr "úÅÌ£ÎÙÊ" - -#: src/lang.c:1154 -msgid "Brown" -msgstr "ëÏÒÉÞÎÅ×ÙÊ" - -#: src/lang.c:1155 -msgid "Blue" -msgstr "óÉÎÉÊ" - -#: src/lang.c:1156 -msgid "Pink" -msgstr "òÏÚÏ×ÙÊ" +#: src/lang.c:1145 +#, c-format +msgid "Pipe to command [%.*s]> " +msgstr "Pipe × ËÏÍÁÎÄÕ [%.*s]> " -#: src/lang.c:1157 -msgid "Cyan" -msgstr "çÏÌÕÂÏÊ" +#: src/lang.c:1146 +msgid "Piping..." +msgstr "" -#: src/lang.c:1158 -msgid "White" -msgstr "âÅÌÙÊ" - -#: src/lang.c:1159 -msgid "Gray" -msgstr "óÅÒÙÊ" - -#: src/lang.c:1160 -msgid "Light Red" -msgstr "ó×ÅÔÌÏ-ËÒÁÓÎÙÊ" - -#: src/lang.c:1161 -msgid "Light Green" -msgstr "ó×ÅÔÌÏ-ÚÅÌ£ÎÙÊ" +#: src/lang.c:1148 +msgid "Piping not enabled." +msgstr "Piping ÎÅ ×ËÌÀÞÅÎ." -#: src/lang.c:1162 -msgid "Yellow" -msgstr "ö£ÌÔÙÊ" +#: src/lang.c:1152 +#, c-format +msgid "\n" + "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" + " The only allowable space is the one separating the colon (:)\n" + " from the contents. Use a comma (,) to separate multiple\n" + " newsgroup names.\n" +msgstr "\n" + "ïÛÉÂËÁ: ÓÔÒÏËÁ \"%s:\" ÓÏÄÅÒÖÉÔ ÐÒÏÂÅÌÙ, ËÏÔÏÒÙÅ äïìöîù ÂÙÔØ ÕÂÒÁÎÙ.\n" + " òÁÚÒÅÛÅÎ ÔÏÌØËÏ ÏÄÉÎ ÐÒÏØÅÌ, ÒÁÚÄÅÌÑÀÝÉÊ Ä×ÏÅÔÏÞÉÅ (:)\n" + " É ÓÏÄÅÒÖÉÍÏÅ. éÓÐÏÌØÚÕÊÔÅ ÚÁÐÑÔÕÀ (,) ÄÌÑ ÒÁÚÄÅÌÅÎÉÑ\n" + " ÎÅÓËÏÌØËÉÈ ÉÍÅÎ ÇÒÕÐÐ.\n" -#: src/lang.c:1163 -msgid "Light Blue" -msgstr "ó×ÅÔÌÏ-ÓÉÎÉÊ" - -#: src/lang.c:1164 -msgid "Light Pink" -msgstr "ó×ÅÔÌÏ-ÒÏÚÏ×ÙÊ" - -#: src/lang.c:1165 -msgid "Light Cyan" -msgstr "ó×ÅÔÌÏ-ÇÏÌÕÂÏÊ" +#: src/lang.c:1157 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is continued in the next line. Since\n" + " the line may not contain whitespace, this is not allowed.\n" + " Please write all newsgroups into a single line.\n" +msgstr "\n" + "ïÛÉÂËÁ: ÓÔÒÏËÁ \"%s:\" ÐÒÏÄÏÌÖÁÅÔÓÑ × ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÅ. üÔÏ ÚÁÐÒÅÝÅÎÏ,\n" + " ÔÁË ËÁË ÓÔÒÏËÁ ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÐÒÏÂÅÌÏ×.\n" + " ðÏÖÁÌÕÊÓÔÁ ÚÁÐÉÓÙ×ÁÅÔÅ ×ÓÅ ÇÒÕÐÐÙ ÏÄÎÏÊ ÓÔÒÏËÏÊ.\n" -#: src/lang.c:1166 -msgid "Light White" -msgstr "ó×ÅÔÌÏ-ÂÅÌÙÊ" +#: src/lang.c:1162 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line is continued in the next line.\n" + " This is a very new feature and may not be accepted by all servers.\n" + " To avoid trouble please write all newsgroups into a single line.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ÓÔÒÏËÁ \"%s:\" ÐÒÏÄÏÌÖÁÅÔÓÑ × ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÅ.\n" + " üÔÏ ÎÏ×ÏÅ Ó×ÏÊÔÓ×Ï É ÍÏÖÅÔ ÐÏÄÄÅÒÖÉ×ÁÔØÓÑ ÎÅ ×ÓÅÍÉ ÓÅÒ×ÅÒÁÍÉ.\n" + " þÔÏÂÙ ÉÚÂÅÖÁÔØ ÐÒÏÂÌÅÍ, ÚÁÐÉÓÙ×ÁÊÔÅ ×ÓÅ ÇÒÕÐÐÙ ÏÄÎÏÊ ÓÔÒÏËÏÊ.\n" -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 -msgid "Nothing" -msgstr "îÉÞÅÇÏ" - -#: src/lang.c:1175 -msgid "Mark" -msgstr "" - -#: src/lang.c:1176 -msgid "Space" -msgstr "" - -#: src/lang.c:1183 -msgid "Normal" -msgstr "" +#: src/lang.c:1166 +#, c-format +msgid "\n" + "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" +msgstr "\n" + "÷ÎÉÍÁÎÉÅ: ÓÔÒÏËÁ \"%s:\" ÓÏÄÅÒÖÉÔ ÐÒÏÂÅÌÙ, ËÏÔÏÒÙÅ ÄÏÌÖÎÙ ÂÙÔØ ÕÂÒÁÎÙ.\n" + +#: src/lang.c:1171 +msgid "\n" + " If your article contains quoted text please take some time to pare it " + "down\n" + " to just the key points to which you are responding, or people will " + "think\n" + " you are a dweeb! Many people have the habit of skipping any article " + "whose\n" + " first page is largely quoted material. Format your article to fit in " + "less\n" + " then 80 chars, since that's the conventional size (72 is a good choice " + "as\n" + " it allows quoting without exceeding the limit). If your lines are too " + "long\n" + " they'll wrap around ugly and people won't read what you write. If " + "you\n" + " aren't careful and considerate in formatting your posting, people " + "are\n" + " likely to ignore it completely. It's a crowded net out there.\n" +msgstr "" #: src/lang.c:1184 -msgid "Best highlighting" -msgstr "ìÕÞÛÅÅ ÐÏÄÓ×ÅÞÉ×ÁÎÉÅ" +msgid "shell escape" +msgstr "×ÙÈÏÄ × ÏÂÏÌÏÞËÕ" #: src/lang.c:1185 -msgid "Underline" -msgstr "ðÏÄÞÅÒËÉ×ÁÎÉÅ" +#, c-format +msgid "Shell Command (%s)" +msgstr "ëÏÍÁÎÄÁ ÏÂÏÌÏÞËÉ (%s)" #: src/lang.c:1186 -msgid "Reverse video" -msgstr "òÅ×ÅÒÓÎÏÅ ×ÉÄÅÏ" +#, c-format +msgid "Enter shell command [%s]> " +msgstr "÷×ÅÄÉÔÅ ËÏÍÁÎÄÕ ÏÂÏÌÏÞËÉ [%s]> " -#: src/lang.c:1187 -msgid "Blinking" -msgstr "íÉÇÁÎÉÅ" - -#: src/lang.c:1188 -msgid "Half bright" -msgstr "" - -#: src/lang.c:1189 -msgid "Bold" -msgstr "" +#: src/lang.c:1190 +#, c-format +msgid "%s: Can't get entry for TERM\n" +msgstr "%s: îÅ ÍÏÇÕ ÐÏÌÕÞÉÔØ ÚÁÐÉÓØ ÄÌÑ TERM\n" #: src/lang.c:1194 -msgid "none" -msgstr "ÎÉÞÅÇÏ" - -#: src/lang.c:1195 -msgid "commands" -msgstr "ËÏÍÁÎÄÙ" +#, c-format +msgid "Group %.*s ('q' to quit)..." +msgstr "çÒÕÐÐÁ %.*s ('q' ÞÔÏÂÙ ×ÙÊÔÉ)..." #: src/lang.c:1196 -msgid "select" -msgstr "×ÙÂÏÒ" - -#: src/lang.c:1198 -msgid "commands & quit" -msgstr "ËÏÍÁÎÄÙ É ×ÙÈÏÄ" - -#: src/lang.c:1199 -msgid "commands & select" -msgstr "ËÏÍÁÎÄÙ É ×ÙÂÏÒ" +#, c-format +msgid "Group %.*s..." +msgstr "çÒÕÐÐÁ %.*s..." #: src/lang.c:1200 -msgid "quit & select" -msgstr "×ÙÈÏÄ É ×ÙÂÏÒ" +msgid "Server unavailable\n" +msgstr "óÅÒ×ÅÒ ÎÅ ÄÏÓÔÕÐÅÎ\n" -#: src/lang.c:1201 -msgid "commands & quit & select" -msgstr "ËÏÍÁÎÄÙ, ×ÙÈÏÄ É ×ÙÂÏÒ" - -#: src/lang.c:1226 -msgid "Shell archive" -msgstr "" - -#: src/lang.c:1232 -msgid "Subject: (descending)" -msgstr "ôÅÍÁ: (ÐÏ ÕÂÙ×ÁÎÉÀ)" - -#: src/lang.c:1233 -msgid "Subject: (ascending)" -msgstr "ôÅÍÁ: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" - -#: src/lang.c:1234 -msgid "From: (descending)" -msgstr "From: (ÐÏ ÕÂÙ×ÁÎÉÀ)" - -#: src/lang.c:1235 -msgid "From: (ascending)" -msgstr "From: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" - -#: src/lang.c:1236 -msgid "Date: (descending)" -msgstr "äÁÔÁ: (ÐÏ ÕÂÙ×ÁÎÉÀ)" - -#: src/lang.c:1237 -msgid "Date: (ascending)" -msgstr "äÁÔÁ: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" - -#: src/lang.c:1238 src/lang.c:1246 -msgid "Score (descending)" -msgstr "Score (ÐÏ ÕÂÙ×ÁÎÉÀ)" - -#: src/lang.c:1239 src/lang.c:1247 -msgid "Score (ascending)" -msgstr "Score (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" - -#: src/lang.c:1240 -msgid "Lines: (descending)" -msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË: (ÐÏ ÕÂÙ×ÁÎÉÀ)" - -#: src/lang.c:1241 -msgid "Lines: (ascending)" -msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" - -#: src/lang.c:1252 -msgid "Always Keep" -msgstr "" - -#: src/lang.c:1253 -msgid "Always Remove" -msgstr "" - -#: src/lang.c:1254 -msgid "Mark with D on selection screen" -msgstr "" - -#: src/lang.c:1259 -msgid "Kill only unread arts" -msgstr "õÎÉÞÔÏÖÁÔØ ÔÏÌØËÏ ÎÅÐÒÏÞ. ÓÔÁÔØÉ" - -#: src/lang.c:1260 -msgid "Kill all arts & show with K" -msgstr "õÎÉÞÔÏÖÁÔØ ×ÓÅ ÓÔÁÔØÉ É ÐÏËÁÚ. Ó K" +#: src/lang.c:1206 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" + "s=post" +msgstr "%s=pipe; %s=mail; %s=ÐÅÞÁÔØ; %s=×ÙÈÏÄ; %s=toggle all/unread; %s=ÓÏÈÒ.; %" + "s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" -#. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 -msgid "Kill all arts and never show" -msgstr "õÎÉÞÔÏÖÁÔØ ×ÓÅ ÓÔÁÔØÉ É ÎÅ ÐÏËÁÚ." - -#: src/lang.c:1266 -msgid "Nothing special" -msgstr "îÉÞÅÇÏ ÏÓÏÂÅÎÎÏÇÏ" - -#: src/lang.c:1267 -msgid "Compress quotes" -msgstr "óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ" - -#: src/lang.c:1268 -msgid "Quote signatures" -msgstr "ãÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ" - -#: src/lang.c:1269 -msgid "Compress quotes, quote sigs" -msgstr "óÖÉÍÁÔØ ÓÉÇÎÁÔÕÒÙ, ÃÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ" +#: src/lang.c:1207 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=pipe; %s=mail; %s=ÐÅÞÁÔØ; %s=×ÙÈÏÄ; %s=reply mail; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %" + "s=ÏÔÐÒÁ×ÉÔØ" + +#: src/lang.c:1209 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=mail; %s=ÐÅÞÁÔØ; %s=×ÙÈÏÄ; %s=toggle all/unread; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %" + "s=ÏÔÐÒÁ×ÉÔØ" + +#: src/lang.c:1210 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=mail; %s=ÐÅÞÁÔØ; %s=×ÙÈÏÄ; %s=ÏÔ×ÅÔÉÔØ; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" + +#: src/lang.c:1214 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=pipe; %s=mail; %s=×ÙÈÏÄ; %s=toggle all/unread; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %" + "s=ÏÔÐÒÁ×ÉÔØ" + +#: src/lang.c:1215 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=pipe; %s=mail; %s=×ÙÈÏÄ; %s=ÏÔ×ÅÔÉÔØ; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" + +#: src/lang.c:1217 +#, c-format +msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=mail; %s=×ÙÈÏÄ; %s=toggle all/unread; %s=ÓÏÈÒ.; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" + +#: src/lang.c:1218 +#, c-format +msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=mail; %s=×ÙÈÏÄ; %s=ÏÔ×ÅÔÉÔØ; %s=ÓÏÈÒÁÎÉÔØ; %s=ÏÔÍ.; %s=ÏÔÐÒÁ×ÉÔØ" + +#: src/lang.c:1224 +msgid "Terminal does not support color" +msgstr "ôÅÒÍÉÎÁÌ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ Ã×ÅÔ" + +#: src/lang.c:1229 +#, c-format +msgid "Trying %s" +msgstr "" + +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 src/refs.c:288 +msgid "None" +msgstr "îÉÞÅÇÏ" + +#: src/lang.c:1244 +msgid "Subject" +msgstr "ôÅÍÁ" + +#: src/lang.c:1245 +msgid "References" +msgstr "" + +#: src/lang.c:1246 +msgid "Both Subject and References" +msgstr "ôÅÍÁ É References" + +#: src/lang.c:1247 +msgid "Multipart Subject" +msgstr "" + +#: src/lang.c:1248 +msgid "Percentage Match" +msgstr "óÏ×ÐÁÄÅÎÉÑ ÐÏ ÐÒÏÃÅÎÔÁÍ" + +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 +msgid "No" +msgstr "îÅÔ" + +#: src/lang.c:1261 src/lang.c:1413 +msgid "Yes" +msgstr "äÁ" + +#: src/lang.c:1262 +msgid "Hide All" +msgstr "óËÒÙÔØ ×ÓÅ" #: src/lang.c:1270 -msgid "Quote empty lines" -msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ" +msgid "Address" +msgstr "áÄÒÅÓ" #: src/lang.c:1271 -msgid "Compress quotes, quote empty lines" -msgstr "óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ, ÃÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ" +msgid "Full Name" +msgstr "ðÏÌÎÏÅ ÉÍÑ" #: src/lang.c:1272 -msgid "Quote sigs & empty lines" -msgstr "ãÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ É ÐÕÓÔÙÅ ÓÔÒÏËÉ" +msgid "Address and Name" +msgstr "áÄÒÅÓ É ÉÍÑ" -#: src/lang.c:1273 -msgid "Comp. q., quote sigs & empty lines" -msgstr "óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ, ÃÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ É ÐÕÓÔÙÅ ÓÔÒÏËÉ" +#: src/lang.c:1279 +msgid "Max" +msgstr "íÁËÓÉÍÁÌØÎÙÊ" + +#: src/lang.c:1280 +msgid "Sum" +msgstr "óÕÍÍÁ" + +#: src/lang.c:1281 +msgid "Average" +msgstr "óÒÅÄÎÉÊ" + +#: src/lang.c:1286 +msgid "Lines" +msgstr "óÔÒÏËÉ" + +#: src/lang.c:1287 +msgid "Score" +msgstr "" + +#: src/lang.c:1288 +msgid "Lines & Score" +msgstr "óÔÒÏËÉ É Score" + +#: src/lang.c:1297 +msgid "Black" +msgstr "þÅÒÎÙÊ" + +#: src/lang.c:1298 +msgid "Red" +msgstr "ëÒÁÓÎÙÊ" + +#: src/lang.c:1299 +msgid "Green" +msgstr "úÅÌ£ÎÙÊ" + +#: src/lang.c:1300 +msgid "Brown" +msgstr "ëÏÒÉÞÎÅ×ÙÊ" + +#: src/lang.c:1301 +msgid "Blue" +msgstr "óÉÎÉÊ" + +#: src/lang.c:1302 +msgid "Pink" +msgstr "òÏÚÏ×ÙÊ" + +#: src/lang.c:1303 +msgid "Cyan" +msgstr "çÏÌÕÂÏÊ" + +#: src/lang.c:1304 +msgid "White" +msgstr "âÅÌÙÊ" + +#: src/lang.c:1305 +msgid "Gray" +msgstr "óÅÒÙÊ" + +#: src/lang.c:1306 +msgid "Light Red" +msgstr "ó×ÅÔÌÏ-ËÒÁÓÎÙÊ" + +#: src/lang.c:1307 +msgid "Light Green" +msgstr "ó×ÅÔÌÏ-ÚÅÌ£ÎÙÊ" + +#: src/lang.c:1308 +msgid "Yellow" +msgstr "ö£ÌÔÙÊ" + +#: src/lang.c:1309 +msgid "Light Blue" +msgstr "ó×ÅÔÌÏ-ÓÉÎÉÊ" + +#: src/lang.c:1310 +msgid "Light Pink" +msgstr "ó×ÅÔÌÏ-ÒÏÚÏ×ÙÊ" #: src/lang.c:1311 -msgid "no" -msgstr "ÎÅÔ" +msgid "Light Cyan" +msgstr "ó×ÅÔÌÏ-ÇÏÌÕÂÏÊ" #: src/lang.c:1312 -msgid "with headers" -msgstr "Ó ÚÁÇÏÌÏ×ËÁÍÉ" +msgid "Light White" +msgstr "ó×ÅÔÌÏ-ÂÅÌÙÊ" -#: src/lang.c:1313 -msgid "without headers" -msgstr "ÂÅÚ ÚÁÇÏÌÏ×ËÏ×" - -#: src/lang.c:1320 src/lang.c:1326 -msgid "NFKC" -msgstr "" - -#: src/lang.c:1321 -msgid "NFKD" -msgstr "" +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 +msgid "Nothing" +msgstr "îÉÞÅÇÏ" #: src/lang.c:1322 -msgid "NFC" -msgstr "" +msgid "Space" +msgstr "" -#: src/lang.c:1323 -msgid "NFD" -msgstr "" +#: src/lang.c:1329 +msgid "Normal" +msgstr "" + +#: src/lang.c:1330 +msgid "Best highlighting" +msgstr "ìÕÞÛÅÅ ÐÏÄÓ×ÅÞÉ×ÁÎÉÅ" + +#: src/lang.c:1331 +msgid "Underline" +msgstr "ðÏÄÞÅÒËÉ×ÁÎÉÅ" + +#: src/lang.c:1332 +msgid "Reverse video" +msgstr "òÅ×ÅÒÓÎÏÅ ×ÉÄÅÏ" + +#: src/lang.c:1333 +msgid "Blinking" +msgstr "íÉÇÁÎÉÅ" #: src/lang.c:1334 -msgid "Display Options" -msgstr "ïÐÃÉÉ ×Ù×ÏÄÁ" +msgid "Half bright" +msgstr "" + +#: src/lang.c:1335 +msgid "Bold" +msgstr "" #: src/lang.c:1341 -msgid "Color Options" -msgstr "ïÐÃÉÉ ÒÁÂÏÔÙ Ó Ã×ÅÔÏÍ" +msgid "Cc" +msgstr "" -#: src/lang.c:1348 -msgid "Article-Limiting Options" -msgstr "" +#: src/lang.c:1342 +msgid "Bcc" +msgstr "" + +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "" + +#: src/lang.c:1348 src/lang.c:1360 +msgid "none" +msgstr "ÎÉÞÅÇÏ" + +#: src/lang.c:1349 +msgid "commands" +msgstr "ËÏÍÁÎÄÙ" + +#: src/lang.c:1350 +msgid "select" +msgstr "×ÙÂÏÒ" + +#: src/lang.c:1352 +msgid "commands & quit" +msgstr "ËÏÍÁÎÄÙ É ×ÙÈÏÄ" + +#: src/lang.c:1353 +msgid "commands & select" +msgstr "ËÏÍÁÎÄÙ É ×ÙÂÏÒ" #: src/lang.c:1354 -msgid "Posting/Mailing Options" -msgstr "ïÐÃÉÉ ÏÔÐÒÁ×ËÉ ÓÔÁÔÅÊ/ÐÉÓÅÍ" +msgid "quit & select" +msgstr "×ÙÈÏÄ É ×ÙÂÏÒ" -#: src/lang.c:1360 -msgid "Saving/Printing Options" -msgstr "ïÐÃÉÉ ÓÏÈÒÁÎÅÎÉÑ É ÐÅÞÁÔÉ" - -#: src/lang.c:1366 -msgid "Expert Options" -msgstr "üËÓÐÅÒÔÎÙÅ ÏÐÃÉÉ" +#: src/lang.c:1355 +msgid "commands & quit & select" +msgstr "ËÏÍÁÎÄÙ, ×ÙÈÏÄ É ×ÙÂÏÒ" + +#: src/lang.c:1361 +msgid "PageDown" +msgstr "" + +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "" + +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "" + +#: src/lang.c:1368 +#, fuzzy +msgid "Subject: (case sensitive)" +msgstr "ôÅÍÁ: ÓÔÒÏËÁ (ÎÅ ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ)" + +#: src/lang.c:1369 +#, fuzzy +msgid "Subject: (ignore case)" +msgstr "ôÅÍÁ: ÓÔÒÏËÁ (ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ) " + +#: src/lang.c:1370 +#, fuzzy +msgid "From: (case sensitive)" +msgstr "From: ÓÔÒÏËÁ (ÎÅ ÉÇÎÏÒ. ÒÅÇÉÓÔÒ) " + +#: src/lang.c:1371 +#, fuzzy +msgid "From: (ignore case)" +msgstr "From: ÓÔÒÏËÁ (ÉÇÎÏÒ. ÒÅÇÉÓÔÒ) " #: src/lang.c:1372 -msgid "Filtering Options" -msgstr "ïÐÃÉÉ ÆÉÌØÔÒÁÃÉÉ" +msgid "Msg-ID: & full References: line" +msgstr "" + +#: src/lang.c:1373 +msgid "Msg-ID: & last References: only" +msgstr "" + +#: src/lang.c:1374 +msgid "Message-ID: entry only" +msgstr "" + +#: src/lang.c:1375 +#, fuzzy +msgid "Lines:" +msgstr "óÔÒÏËÉ" + +#: src/lang.c:1380 +#, fuzzy +msgid "Don't trim article body" +msgstr "óÏÒÔÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ" -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 src/lang.c:1490 -#: src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 src/lang.c:1601 src/lang.c:1771 -#: src/lang.c:1777 src/lang.c:1783 src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 -#: src/lang.c:1862 src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 src/lang.c:1926 -#: src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 src/lang.c:1954 src/lang.c:1961 -#: src/lang.c:1968 src/lang.c:1975 src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 -#: src/lang.c:2003 src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 src/lang.c:2076 -#: src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 src/lang.c:2117 src/lang.c:2151 -#: src/lang.c:2204 src/lang.c:2211 src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 -#: src/lang.c:2312 src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 -msgid " toggles, sets, cancels." -msgstr "<ðòïâåì> ×ÙÂÒÁÔØ, ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." - -#: src/lang.c:1378 -msgid "Show mini menu & posting etiquette" -msgstr "ðÏËÁÚÙ×ÁÔØ ÍÉÎÉ-ÍÅÎÀ É ÜÔÉËÅÔ ÏÂÝÅÎÉÑ" - -#: src/lang.c:1379 -msgid "# If ON show a mini menu of useful commands at each level\n" - "# and posting etiquette after composing an article\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ËÏÒÏÔËÏÅ ÏÐÉÓÁÎÉÅ ÄÌÑ ËÁÖÄÏÊ ÇÒÕÐÐÙ\n" - "# É ÐÒÁ×ÉÌÁ ÓÅÔÅ×ÏÇÏ ÜÔÉËÅÔÁ ÐÏÓÌÅ ÓÏÚÄÁÎÉÑ ÓÔÁÔØÉ\n" +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "" + +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "" + +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "" #: src/lang.c:1384 -msgid "Show short description for each newsgroup. toggles & sets." -msgstr "ðÏËÁÚÙ×ÁÔØ ËÏÒÏÔËÏÅ ÏÐÉÓÁÎÉÑ ÄÌÑ ËÁÖÄÏÊ ÇÒÕÐÐÙ. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." +msgid "Compact multiple between text" +msgstr "" #: src/lang.c:1385 -msgid "Show description of each newsgroup" -msgstr "ðÏËÁÚÙ×ÁÔØ ÏÐÉÓÁÎÉÅ ÇÒÕÐÐ" +msgid "Compact multiple and skip leading" +msgstr "" #: src/lang.c:1386 -msgid "# If ON show group description text after newsgroup name at\n" - "# group selection level\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ÏÐÉÓÁÎÉÅ ÇÒÕÐÐÙ ÐÏÓÌÅ ÉÍÅÎÉ ÇÒÕÐÐÙ ×\n" - "# ÒÅÖÉÍÅ ×ÙÂÏÒÁ ÇÒÕÐÐÙ\n" - -#: src/lang.c:1391 -msgid "Show Subject & From (author) fields in group menu. toggles & " - "sets." -msgstr "÷Ù×ÏÄ ôÅÍÙ É á×ÔÏÒÁ × ÍÅÎÀ ÇÒÕÐÐÙ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1392 -msgid "In group menu, show author by" -msgstr "÷ ÍÅÎÀ ÇÒÕÐÐÙ ÐÏËÁÚÁÔØ Á×ÔÏÒÁ ËÁË" - -#: src/lang.c:1393 -msgid "# Part of from field to display\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = none\n" - "# 1 = address\n" - "# * 2 = full name\n" - "# 3 = both\n" -msgstr "# ÷Ù×ÏÄÉÔØ ÞÁÓÔØ ÐÏÌÑ From:\n" - "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# 0 = ÎÉÞÅÇÏ\n" - "# 1 = ÁÄÒÅÓ\n" - "# * 2 = ÐÏÌÎÏÅ ÉÍÑ\n" - "# 3 = ÁÄÒÅÓ É ÐÏÌÎÏÅ ÉÍÑ\n" - -#: src/lang.c:1402 -msgid "Draw -> or highlighted bar for selection. toggles & sets." -msgstr "÷Ù×ÏÄÉÔØ -> ×ÍÅÓÔÏ ÐÏÄÓ×ÅÔËÉ × ÍÅÎÀ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1403 -msgid "Draw -> instead of highlighted bar" -msgstr "÷Ù×ÏÄÉÔØ -> ×ÍÅÓÔÏ ÐÏÄÓ×ÅÔËÉ × ÍÅÎÀ." - -#: src/lang.c:1404 -msgid "# If ON use -> otherwise highlighted bar for selection\n" -msgstr "# åÓÌÉ ON, ÔÏ ×Ù×ÏÄÉÔØ -> ×ÍÅÓÔÏ ÐÏÄÓ×ÅÔËÉ × ÍÅÎÀ\n" - -#: src/lang.c:1409 -msgid "Use inverse video for page headers" -msgstr "éÎ×ÅÒÓÎÙÊ ×ÉÄÅÏ ÒÅÖÉÍ ÄÌÑ ÚÁÇÏÌÏ×ËÏ× ÓÔÒÁÎÉÃ" - -#: src/lang.c:1410 -msgid "# If ON use inverse video for page headers at different levels\n" -msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎ×ÅÒÓÉÀ Ã×ÅÔÏ× ÄÌÑ ÚÁÇÏÌÏ×ËÏ× ÎÁ\n" - "# ÒÁÚÌÉÞÎÙÈ ÕÒÏ×ÎÑÈ\n" - -#: src/lang.c:1415 -msgid "Thread articles by" -msgstr "çÒÕÐÐÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ" - -#: src/lang.c:1416 -msgid "# Thread articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = Both (Subject and References)\n" - "# 4 = Multipart Subject\n" - "# 5 = Percentage Match\n" -msgstr "# çÒÕÐÐÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ ...\n" - "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# 0 = ÎÉÞÅÇÏ\n" - "# 1 = ôÅÍÁ\n" - "# 2 = References\n" - "# * 3 = ïÂÁ (ôÅÍÁ É References)\n" - "# 4 = Multipart Subject\n" - "# 5 = óÏ×ÐÁÄÅÎÉÅ ÐÏ ÐÒÏÃÅÎÔÁÍ\n" +msgid "Compact multiple and skip trailing" +msgstr "" + +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "" + +#: src/lang.c:1412 +msgid "Shell archive" +msgstr "" + +#: src/lang.c:1418 +msgid "Subject: (descending)" +msgstr "ôÅÍÁ: (ÐÏ ÕÂÙ×ÁÎÉÀ)" + +#: src/lang.c:1419 +msgid "Subject: (ascending)" +msgstr "ôÅÍÁ: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" + +#: src/lang.c:1420 +msgid "From: (descending)" +msgstr "From: (ÐÏ ÕÂÙ×ÁÎÉÀ)" + +#: src/lang.c:1421 +msgid "From: (ascending)" +msgstr "From: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" + +#: src/lang.c:1422 +msgid "Date: (descending)" +msgstr "äÁÔÁ: (ÐÏ ÕÂÙ×ÁÎÉÀ)" + +#: src/lang.c:1423 +msgid "Date: (ascending)" +msgstr "äÁÔÁ: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" + +#: src/lang.c:1424 src/lang.c:1432 +msgid "Score (descending)" +msgstr "Score (ÐÏ ÕÂÙ×ÁÎÉÀ)" + +#: src/lang.c:1425 src/lang.c:1433 +msgid "Score (ascending)" +msgstr "Score (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" + +#: src/lang.c:1426 +msgid "Lines: (descending)" +msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË: (ÐÏ ÕÂÙ×ÁÎÉÀ)" #: src/lang.c:1427 -msgid "Enter percentage match required to thread together. sets." -msgstr "÷×ÅÄÉÔÅ ÎÅÏÂÈÏÄÉÍÙÊ ÐÒÏÃÅÎÔ ÓÏ×ÐÁÄÅÎÉÑ ÄÌÑ ÏÂßÅÄÉÎÅÎÉÑ × ÄÉÓËÕÓÓÉÀ. " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1428 -msgid "Thread percentage match" -msgstr "ðÒÏÃÅÎÔ ÓÏ×ÐÁÄÅÎÉÑ ÄÉÓËÕÓÓÉÉ" - -#: src/lang.c:1429 -#, c-format -msgid "# Thread percentage match...\n" - "# the percentage of characters in the subject of an article that must match\n" - "# a base article for both those articles to be considered to belong to the\n" - "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" - "# follow. If 80 is used here, then 80%% of the characters must match " - "exactly,\n" - "# no insertion of a character, for the two articles to be put in the same\n" - "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" - "# 'harppy' would be threaded separately from 'happy'\n" -msgstr "" +msgid "Lines: (ascending)" +msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" + +#: src/lang.c:1434 +#, fuzzy +msgid "Last posting date (descending)" +msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË: (ÐÏ ÕÂÙ×ÁÎÉÀ)" + +#: src/lang.c:1435 +#, fuzzy +msgid "Last posting date (ascending)" +msgstr "ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË: (ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ)" + +#: src/lang.c:1440 +msgid "Always Keep" +msgstr "" #: src/lang.c:1441 -msgid "Score of a thread" -msgstr "Score ÄÉÓËÕÓÓÉÉ" +msgid "Always Remove" +msgstr "" #: src/lang.c:1442 -msgid "# Thread score\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = max\n" - "# 1 = sum\n" - "# 2 = average\n" -msgstr "# Score ÄÉÓËÕÓÓÉÉ\n" - "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# * 0 = max\n" - "# 1 = ÓÕÍÍÁ\n" - "# 2 = ÓÒÅÄÎÅÅ\n" - -#: src/lang.c:1450 -msgid "Sort articles by Subject, From, Date or Score. toggles & sets." -msgstr "óÏÒÔÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ ôÅÍÅ, From, äÁÔÅ ÉÌÉ Score. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1451 -msgid "Sort articles by" -msgstr "óÏÒÔÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ" - -#: src/lang.c:1452 -msgid "# Sort articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject descending\n" - "# 2 = Subject ascending\n" - "# 3 = From descending\n" - "# 4 = From ascending\n" - "# 5 = Date descending\n" - "# * 6 = Date ascending\n" - "# 7 = Score descending\n" - "# 8 = Score ascending\n" - "# 9 = Lines descending\n" - "# 10 = Lines ascending\n" -msgstr "# óÏÒÔÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ...\n" - "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# 0 = ÎÉÞÅÇÏ\n" - "# 1 = ôÅÍÁ ÐÏ ÕÂÙ×ÁÎÉÀ\n" - "# 2 = ôÅÍÁ ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" - "# 3 = From ÐÏ ÕÂÙ×ÁÎÉÀ\n" - "# 4 = From ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" - "# 5 = äÁÔÁ ÐÏ ÕÂÙ×ÁÎÉÀ\n" - "# * 6 = äÁÔÁ ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" - "# 7 = Score ÐÏ ÕÂÙ×ÁÎÉÀ\n" - "# 8 = Score ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" - "# 9 = ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË ÐÏ ÕÂÙ×ÁÎÉÀ\n" - "# 10 = ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" - -#: src/lang.c:1468 -msgid "Sort threads by Nothing or Score. toggles & sets." -msgstr "îÅ ÓÏÒÔÉÒÏ×ÁÔØ ÄÉÓËÕÓÓÉÉ ÉÌÉ ÓÏÒÔÉÒÏ×ÁÔØ ÐÏ Score. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1469 -msgid "Sort threads by" -msgstr "óÏÒÔÉÒÏ×ÁÔØ ÄÉÓËÕÓÓÉÉ ÐÏ" - -#: src/lang.c:1470 -msgid "# Sort thread by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = Score descending\n" - "# 2 = Score ascending\n" -msgstr "# óÏÒÔÉÒÏ×ÁÔØ ÄÉÓËÕÓÓÉÀ ÐÏ...\n" - "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# 0 = ÎÉÞÅÇÏ\n" - "# * 1 = Score ÐÏ ÕÂÙ×ÁÎÉÀ\n" - "# 2 = Score ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" - -#: src/lang.c:1478 -msgid "Put cursor at first/last unread art in groups. toggles & sets." -msgstr "õÓÔ. ËÕÒÓÏÒ ÎÁ ÐÅÒ×ÕÀ/ÐÏÓÌÅÄ. ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÀ × ÇÒÕÐÐÁÈ. <ðòïâåì> ×ÙÂÏÒ, " - " ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1479 -msgid "Goto first unread article in group" -msgstr "ðÅÒÅÊÔÉ Ë ÐÅÒ×ÏÊ ÎÅÐÒÏÞ. ÓÔÁÔØÅ × ÇÒÕÐÐÅ" - -#: src/lang.c:1480 -msgid "# If ON put cursor at first unread art in group otherwise last art\n" -msgstr "# åÓÌÉ ON ÔÏ ÐÅÒÅÊÔÉ Ë ÐÅÒ×ÏÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÅ × ÇÒÕÐÐÅ,\n" - "# ÉÎÁÞÅ Ë ÐÅÒÅÊÔÉ Ë ÐÏÓÌÅÄÎÅÊ.\n" - -#: src/lang.c:1484 -msgid "Show all articles or only unread articles. toggles & sets." -msgstr "ðÏËÁÚÙ×ÁÔØ ×ÓÅ ÓÔÁÔØÉ ÉÌÉ ÔÏÌØËÏ ÎÅÐÒÏÞÉÔÁÎÎÙÅ. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1485 -msgid "Show only unread articles" -msgstr "ðÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÉ" - -#: src/lang.c:1486 -msgid "# If ON show only new/unread articles otherwise show all.\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÎÏ×ÙÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÓÔÁÔØÉ,\n" - "# ÉÎÁÞÅ ÐÏËÁÚÙ×ÁÔØ ×ÓÅ.\n" - -#: src/lang.c:1491 -msgid "Show only groups with unread arts" -msgstr "ðÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÇÒÕÐÐÙ Ó ÎÅÐÒÏÞ. ÓÔÁÔØÑÍÉ" - -#: src/lang.c:1492 -msgid "# If ON show only subscribed to groups that contain unread articles.\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ Ó ÎÅÐÒÏÞÔ£ÎÎÙÍÉ ÓÔÁÔØÑÍÉ.\n" - -#: src/lang.c:1497 -msgid "Filter which articles" -msgstr "óÔÁÔØÉ ÄÌÑ ÆÉÌØÔÒÁÃÉÉ" - -#: src/lang.c:1498 -msgid "# Filter which articles\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = only kill unread articles\n" - "# 1 = kill all articles and show in threads marked with K\n" - "# 2 = kill all articles and never show them\n" -msgstr "" - -#: src/lang.c:1507 -msgid "Tab goes to next unread article" -msgstr "Tab - ÐÅÒÅÈÏÄ Ë ÓÌÅÄ. ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÅ" - -#: src/lang.c:1508 -msgid "# If ON the TAB command will go to next unread article at article viewer " - "level\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÏ ÔÁÂÕÌÑÃÉÉ ÐÅÒÅÈÏÄÉÔØ ÎÁ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÓÔÁÔØÀ\n" - -#: src/lang.c:1512 -msgid "Scrolling with past the end of an art. jumps to the next unread one." -msgstr "ðÒÏËÒÕÔËÁ <ðòïâåìïí> ÄÏ ËÏÎÃÁ ÓÔÁÔØÉ, ÚÁÔÅÍ ÐÅÒÅÈÏÄ ÎÁ ÓÌÅÄ. ÎÅÐÒÏÞ. ÓÔÁÔØÀ." - -#: src/lang.c:1513 -msgid "Space goes to next unread article" -msgstr "ðÒÏÂÅÌ - ÐÅÒÅÈÏÄ Ë ÓÌÅÄ. ÎÅÐÒÏÞ. ÓÔÁÔØÅ" - -#: src/lang.c:1514 -msgid "# If ON the SPACE command will go to next unread article at article viewer\n" - "# level when the end of the article is reached (rn-style pager)\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÏ ÐÒÏÂÅÌÕ ÐÅÒÅÈÏÄÉÔØ ÎÁ ÓÌÅÄÕÀÝÕÀ ÎÅÐÒÏÞÉÔÁÎÎÕÀ ÓÔÁÔØÀ\n" - "# ÐÏ ÄÏÓÔÉÖÅÎÉÀ ËÏÎÃÁ ÔÅËÕÝÅÊ ÓÔÁÔØÉ (ÐÏÄÏÂÎÏ ÐÅÊÄÖÅÒÕ rn)\n" - -#: src/lang.c:1519 -msgid "Scrolling with / past the end of an art. jumps to the unread one." -msgstr "ðÒÏËÒÕÔËÁ / ÄÏ ËÏÎÃÁ ÓÔÁÔØÉ, ÚÁÔÅÍ ÐÅÒÅÈÏÄ ÎÁ ÓÌÅÄ. ÎÅÐÒÏÞ. " - "ÓÔÁÔØÀ." - -#: src/lang.c:1520 -msgid "PgDn goes to next unread article" -msgstr "PgDn - ÐÅÒÅÈÏÄ Ë ÓÌÅÄ. ÎÅÐÒÏÞ. ÓÔÁÔØÅ" - -#: src/lang.c:1521 -msgid "# If ON the PGDN or DOWN command will go to next unread article when\n" - "# pressed at end of message\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÒÉ ÎÁÖÁÔÉÉ × ËÏÎÃÅ ÓÏÏÂÝÅÎÉÑ ÎÁ PGDN É DOWN ÐÅÒÅÊÔÉ\n" - "# Ë ÓÌÅÄÕÀÝÅÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÅ.\n" - -#: src/lang.c:1527 -msgid "List thread using right arrow key" -msgstr "òÁÚ×ÅÒÎÕÔØ ÄÉÓËÕÓÓÉÀ ÐÒÁ×ÏÊ ÓÔÒÅÌËÏÊ" - -#: src/lang.c:1528 -msgid "# If ON automatically list thread when entering it using right arrow key.\n" -msgstr "" - -#: src/lang.c:1532 -msgid "Enter character to indicate deleted articles. sets, cancels." -msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÕÄÁÌ£ÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." - -#: src/lang.c:1533 -msgid "Character to show deleted articles" -msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÕÄÁÌ£ÎÎÙÈ ÓÔÁÔÅÊ" - -#: src/lang.c:1534 -msgid "# Character used to show that an art was deleted (default 'D')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1539 -msgid "Enter character to indicate articles in a range. sets, cancels." -msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔÅÊ × ÄÉÁÐÁÚÏÎÅ. ÕÓÔÁÎÏ×ÉÔØ, " - "ÏÔÍÅÎÉÔØ." - -#: src/lang.c:1540 -msgid "Character to show inrange articles" -msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔÅÊ × ÄÉÁÐÁÚÏÎÅ" - -#: src/lang.c:1541 -msgid "# Character used to show that an art is in a range (default '#')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1546 -msgid "Enter character to indicate that article will return. sets, " - "cancels." -msgstr "" - -#: src/lang.c:1547 -msgid "Character to show returning arts" -msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ×ÏÚ×Ò. ÓÔÁÔÅÊ" +msgid "Mark with D on selection screen" +msgstr "" + +#: src/lang.c:1447 +msgid "Kill only unread arts" +msgstr "õÎÉÞÔÏÖÁÔØ ÔÏÌØËÏ ÎÅÐÒÏÞ. ÓÔÁÔØÉ" + +#: src/lang.c:1448 +msgid "Kill all arts & show with K" +msgstr "õÎÉÞÔÏÖÁÔØ ×ÓÅ ÓÔÁÔØÉ É ÐÏËÁÚ. Ó K" + +#. TODO: s/K/art_marked_killed/ +#: src/lang.c:1449 +msgid "Kill all arts and never show" +msgstr "õÎÉÞÔÏÖÁÔØ ×ÓÅ ÓÔÁÔØÉ É ÎÅ ÐÏËÁÚ." + +#: src/lang.c:1454 +msgid "Nothing special" +msgstr "îÉÞÅÇÏ ÏÓÏÂÅÎÎÏÇÏ" + +#: src/lang.c:1455 +msgid "Compress quotes" +msgstr "óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ" + +#: src/lang.c:1456 +msgid "Quote signatures" +msgstr "ãÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ" + +#: src/lang.c:1457 +msgid "Compress quotes, quote sigs" +msgstr "óÖÉÍÁÔØ ÓÉÇÎÁÔÕÒÙ, ÃÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ" + +#: src/lang.c:1458 +msgid "Quote empty lines" +msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ" + +#: src/lang.c:1459 +msgid "Compress quotes, quote empty lines" +msgstr "óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ, ÃÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ" + +#: src/lang.c:1460 +msgid "Quote sigs & empty lines" +msgstr "ãÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ É ÐÕÓÔÙÅ ÓÔÒÏËÉ" + +#: src/lang.c:1461 +msgid "Comp. q., quote sigs & empty lines" +msgstr "óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ, ÃÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ É ÐÕÓÔÙÅ ÓÔÒÏËÉ" + +#: src/lang.c:1499 +msgid "no" +msgstr "ÎÅÔ" + +#: src/lang.c:1500 +msgid "with headers" +msgstr "Ó ÚÁÇÏÌÏ×ËÁÍÉ" + +#: src/lang.c:1501 +msgid "without headers" +msgstr "ÂÅÚ ÚÁÇÏÌÏ×ËÏ×" + +#: src/lang.c:1508 src/lang.c:1514 +msgid "NFKC" +msgstr "" + +#: src/lang.c:1509 +msgid "NFKD" +msgstr "" + +#: src/lang.c:1510 +msgid "NFC" +msgstr "" + +#: src/lang.c:1511 +msgid "NFD" +msgstr "" + +#: src/lang.c:1522 +msgid "Display Options" +msgstr "ïÐÃÉÉ ×Ù×ÏÄÁ" + +#: src/lang.c:1529 +msgid "Color Options" +msgstr "ïÐÃÉÉ ÒÁÂÏÔÙ Ó Ã×ÅÔÏÍ" + +#: src/lang.c:1536 +msgid "Article-Limiting Options" +msgstr "" + +#: src/lang.c:1542 +msgid "Posting/Mailing Options" +msgstr "ïÐÃÉÉ ÏÔÐÒÁ×ËÉ ÓÔÁÔÅÊ/ÐÉÓÅÍ" #: src/lang.c:1548 -msgid "# Character used to show that an art will return (default '-')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1553 -msgid "Enter character to indicate selected articles. sets, cancels." -msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ×ÙÂÒÁÎÎÙÈ ÓÔÁÔÅÊ. ××ÏÄ, ÏÔÍÅÎÁ." +msgid "Saving/Printing Options" +msgstr "ïÐÃÉÉ ÓÏÈÒÁÎÅÎÉÑ É ÐÅÞÁÔÉ" #: src/lang.c:1554 -msgid "Character to show selected articles" -msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ×ÙÂÒÁÎÎÙÈ ÓÔÁÔÅÊ" - -#: src/lang.c:1555 -msgid "# Character used to show that an art was auto-selected (default '*')\n" - "# _ is turned into ' '\n" -msgstr "" +msgid "Expert Options" +msgstr "üËÓÐÅÒÔÎÙÅ ÏÐÃÉÉ" #: src/lang.c:1560 -msgid "Enter character to indicate recent articles. sets, cancels." -msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÏ×ÙÈ ÓÔÁÔÅÊ. ××ÏÄ, ÏÔÍÅÎÁ." +msgid "Filtering Options" +msgstr "ïÐÃÉÉ ÆÉÌØÔÒÁÃÉÉ" -#: src/lang.c:1561 -msgid "Character to show recent articles" -msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÏ×ÙÈ ÓÔÁÔÅÊ" - -#: src/lang.c:1562 -msgid "# Character used to show that an art is recent (default 'o')\n" - "# _ is turned into ' '\n" -msgstr "# óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÏ×ÏÊ ÓÔÁÔØÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ 'o')\n" - "# _ ÚÁÍÅÎÑÅÔÓÑ ÎÁ ' '\n" +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 src/lang.c:1680 +#: src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 src/lang.c:1725 src/lang.c:1800 +#: src/lang.c:1808 src/lang.c:1998 src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 +#: src/lang.c:2028 src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 src/lang.c:2139 +#: src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 src/lang.c:2167 src/lang.c:2174 +#: src/lang.c:2181 src/lang.c:2188 src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 +#: src/lang.c:2216 src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 src/lang.c:2289 +#: src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 src/lang.c:2316 src/lang.c:2322 +#: src/lang.c:2339 src/lang.c:2351 src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 +#: src/lang.c:2458 src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 src/lang.c:2660 +#: src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 src/lang.c:2734 src/lang.c:2745 +#: src/lang.c:2751 src/lang.c:2789 +msgid " toggles, sets, cancels." +msgstr "<ðòïâåì> ×ÙÂÒÁÔØ, ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:1566 +msgid "Show mini menu & posting etiquette" +msgstr "ðÏËÁÚÙ×ÁÔØ ÍÉÎÉ-ÍÅÎÀ É ÜÔÉËÅÔ ÏÂÝÅÎÉÑ" #: src/lang.c:1567 -msgid "Enter character to indicate unread articles. sets, cancels." -msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÅÐÒÏÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ. ××ÏÄ, ÏÔÍÅÎÁ." - -#: src/lang.c:1568 -msgid "Character to show unread articles" -msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÅÐÒÏÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ" - -#: src/lang.c:1569 -msgid "# Character used to show that an art is unread (default '+')\n" - "# _ is turned into ' '\n" -msgstr "# óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔØÉ ËÁË ÎÅÐÒÏÞÉÔÁÎÎÏÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ '+')\n" - "# _ ÚÁÍÅÎÑÅÔÓÑ ÎÁ ' '\n" +msgid "# If ON show a mini menu of useful commands at each level\n" + "# and posting etiquette after composing an article\n" +msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ËÏÒÏÔËÏÅ ÏÐÉÓÁÎÉÅ ÄÌÑ ËÁÖÄÏÊ ÇÒÕÐÐÙ\n" + "# É ÐÒÁ×ÉÌÁ ÓÅÔÅ×ÏÇÏ ÜÔÉËÅÔÁ ÐÏÓÌÅ ÓÏÚÄÁÎÉÑ ÓÔÁÔØÉ\n" + +#: src/lang.c:1572 +msgid "Show short description for each newsgroup. toggles & sets." +msgstr "ðÏËÁÚÙ×ÁÔØ ËÏÒÏÔËÏÅ ÏÐÉÓÁÎÉÑ ÄÌÑ ËÁÖÄÏÊ ÇÒÕÐÐÙ. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1573 +msgid "Show description of each newsgroup" +msgstr "ðÏËÁÚÙ×ÁÔØ ÏÐÉÓÁÎÉÅ ÇÒÕÐÐ" #: src/lang.c:1574 -msgid "Enter character to indicate read articles. sets, cancels." -msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÐÒÏÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." - -#: src/lang.c:1575 -msgid "Character to show read articles" -msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÐÒÏÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ" - -#: src/lang.c:1576 -msgid "# Character used to show that an art was read (default ' ')\n" - "# _ is turned into ' '\n" -msgstr "# óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÏÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ ' ')\n" - "# _ ÚÁÍÅÎÑÅÔÓÑ ÎÁ ' '\n" +msgid "# If ON show group description text after newsgroup name at\n" + "# group selection level\n" +msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ÏÐÉÓÁÎÉÅ ÇÒÕÐÐÙ ÐÏÓÌÅ ÉÍÅÎÉ ÇÒÕÐÐÙ ×\n" + "# ÒÅÖÉÍÅ ×ÙÂÏÒÁ ÇÒÕÐÐÙ\n" + +#: src/lang.c:1579 +msgid "Show Subject & From (author) fields in group menu. toggles & " + "sets." +msgstr "÷Ù×ÏÄ ôÅÍÙ É á×ÔÏÒÁ × ÍÅÎÀ ÇÒÕÐÐÙ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1580 +msgid "In group menu, show author by" +msgstr "÷ ÍÅÎÀ ÇÒÕÐÐÙ ÐÏËÁÚÁÔØ Á×ÔÏÒÁ ËÁË" #: src/lang.c:1581 -msgid "Enter character to indicate killed articles. sets, cancels." -msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÕÎÉÞÔÏÖÅÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." - -#: src/lang.c:1582 -msgid "Character to show killed articles" -msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÕÎÉÞÔÏÖÅÎÎÙÈ ÓÔÁÔÅÊ" - -#: src/lang.c:1583 -msgid "# Character used to show that an art was killed (default 'K')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1588 -msgid "Enter character to indicate read selected articles. sets, cancels." -msgstr "" - -#: src/lang.c:1589 -msgid "Character to show readselected arts" -msgstr "" +msgid "# Part of from field to display\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = none\n" + "# 1 = address\n" + "# * 2 = full name\n" + "# 3 = both\n" +msgstr "# ÷Ù×ÏÄÉÔØ ÞÁÓÔØ ÐÏÌÑ From:\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# 0 = ÎÉÞÅÇÏ\n" + "# 1 = ÁÄÒÅÓ\n" + "# * 2 = ÐÏÌÎÏÅ ÉÍÑ\n" + "# 3 = ÁÄÒÅÓ É ÐÏÌÎÏÅ ÉÍÑ\n" #: src/lang.c:1590 -msgid "# Character used to show that an art was selected before read (default ':')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1595 -msgid "Enter maximum length of newsgroup names displayed. sets." -msgstr "íÁËÓÉÍÁÌØÎÁÑ ÄÌÉÎÁ ÉͣΠÇÒÕÐÐ ÐÒÉ ×Ù×ÏÄÅ. ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1596 -msgid "Max. length of group names shown" -msgstr "íÁËÓ. ÄÌÉÎÁ ÉͣΠÇÒÕÐÐ ÐÒÉ ×Ù×ÏÄÅ" +msgid "Draw -> or highlighted bar for selection. toggles & sets." +msgstr "÷Ù×ÏÄÉÔØ -> ×ÍÅÓÔÏ ÐÏÄÓ×ÅÔËÉ × ÍÅÎÀ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1591 +msgid "Draw -> instead of highlighted bar" +msgstr "÷Ù×ÏÄÉÔØ -> ×ÍÅÓÔÏ ÐÏÄÓ×ÅÔËÉ × ÍÅÎÀ." + +#: src/lang.c:1592 +msgid "# If ON use -> otherwise highlighted bar for selection\n" +msgstr "# åÓÌÉ ON, ÔÏ ×Ù×ÏÄÉÔØ -> ×ÍÅÓÔÏ ÐÏÄÓ×ÅÔËÉ × ÍÅÎÀ\n" #: src/lang.c:1597 -msgid "# Maximum length of the names of newsgroups displayed\n" -msgstr "# íÁËÓÉÍÁÌØÎÁÑ ÄÌÉÎÁ ÉͣΠÇÒÕÐÐ ÐÒÉ ×Ù×ÏÄÅ\n" +msgid "Use inverse video for page headers" +msgstr "éÎ×ÅÒÓÎÙÊ ×ÉÄÅÏ ÒÅÖÉÍ ÄÌÑ ÚÁÇÏÌÏ×ËÏ× ÓÔÒÁÎÉÃ" -#: src/lang.c:1602 -msgid "Show lines/score in listings" -msgstr "ðÏËÁÚÙ×ÁÔØ ÓÔÒÏËÉ/score × ÌÉÓÔÉÎÇÅ" +#: src/lang.c:1598 +msgid "# If ON use inverse video for page headers at different levels\n" +msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎ×ÅÒÓÉÀ Ã×ÅÔÏ× ÄÌÑ ÚÁÇÏÌÏ×ËÏ× ÎÁ\n" + "# ÒÁÚÌÉÞÎÙÈ ÕÒÏ×ÎÑÈ\n" #: src/lang.c:1603 -msgid "# What informations should be displayed in article/thread listing\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = lines\n" - "# 2 = score\n" - "# 3 = lines & score\n" -msgstr "# ëÁËÁÑ ÉÎÆÏÒÍÁÃÉÑ ÄÏÌÖÎÁ ×Ù×ÏÄÉÔÓÑ × ÓÐÉÓËÅ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ\n" - "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# 0 = ÎÉÞÅÇÏ\n" - "# * 1 = ËÏÌÉÞÅÓÔ×Ï ÓÔÒÏË\n" - "# 2 = score\n" - "# 3 = ËÏÌÉÞÅÓÔ×Ï ÓÔÒÏË É score\n" - -#: src/lang.c:1612 -msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" - "2 = half page" -msgstr "0 = ÐÒÏËÒÕÔËÁ ×ÓÅÊ ÓÔÒÁÎÉÃÙ, -1 = ÐÒÅÄÙÄÕÝÁÑ ÐÏÓÌÅÄÎÑÑ ÓÔÒÏËÁ ËÁË ÐÅÒ×ÁÑ ÎÁ " - "ÓÌÅÄÕÀÝÅÊ ÓÔÒÁÎÉÃÅ, -2 = ÐÏÌÓÔÒÁÎÉÃÙ" - -#: src/lang.c:1613 -msgid "Number of lines to scroll in pager" -msgstr "þÉÓÌÏ ÓÔÒÏË ÐÒÏËÒÕÔËÉ × ÐÅÊÄÖÅÒÅ" - -#: src/lang.c:1614 -msgid "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behavior)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" -msgstr "" - -#: src/lang.c:1624 -msgid "Display signatures. toggles & sets." -msgstr "÷Ù×ÏÄÉÔØ ÓÉÇÎÁÔÕÒÙ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1625 -msgid "Display signatures" -msgstr "÷Ù×ÏÄÉÔØ ÓÉÇÎÁÔÕÒÙ" - -#: src/lang.c:1626 -msgid "# If OFF don't show signatures when displaying articles\n" -msgstr "# åÓÌÉ OFF, ÔÏ ÎÅ ×Ù×ÏÄÉÔØ ÓÉÇÎÁÔÕÒÙ ÐÒÉ ×Ù×ÏÄÅ ÓÔÁÔÅÊ\n" +msgid "Thread articles by" +msgstr "çÒÕÐÐÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ" + +#: src/lang.c:1604 +msgid "# Thread articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = Both (Subject and References)\n" + "# 4 = Multipart Subject\n" + "# 5 = Percentage Match\n" +msgstr "# çÒÕÐÐÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ ...\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# 0 = ÎÉÞÅÇÏ\n" + "# 1 = ôÅÍÁ\n" + "# 2 = References\n" + "# * 3 = ïÂÁ (ôÅÍÁ É References)\n" + "# 4 = Multipart Subject\n" + "# 5 = óÏ×ÐÁÄÅÎÉÅ ÐÏ ÐÒÏÃÅÎÔÁÍ\n" + +#: src/lang.c:1615 +msgid "Enter percentage match required to thread together. sets." +msgstr "÷×ÅÄÉÔÅ ÎÅÏÂÈÏÄÉÍÙÊ ÐÒÏÃÅÎÔ ÓÏ×ÐÁÄÅÎÉÑ ÄÌÑ ÏÂßÅÄÉÎÅÎÉÑ × ÄÉÓËÕÓÓÉÀ. " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1616 +msgid "Thread percentage match" +msgstr "ðÒÏÃÅÎÔ ÓÏ×ÐÁÄÅÎÉÑ ÄÉÓËÕÓÓÉÉ" + +#: src/lang.c:1617 +#, c-format +msgid "# Thread percentage match...\n" + "# the percentage of characters in the subject of an article that must match\n" + "# a base article for both those articles to be considered to belong to the\n" + "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" + "# follow. If 80 is used here, then 80%% of the characters must match " + "exactly,\n" + "# no insertion of a character, for the two articles to be put in the same\n" + "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" + "# 'harppy' would be threaded separately from 'happy'\n" +msgstr "" + +#: src/lang.c:1629 +msgid "Score of a thread" +msgstr "Score ÄÉÓËÕÓÓÉÉ" #: src/lang.c:1630 -msgid "Display uuencoded data as tagged attachments. toggles & sets." -msgstr "÷Ù×ÏÄÉÔØ UUE ÚÁËÏÄÉÒÏ×ÁÎÎÙÅ ÄÁÎÎÙÅ ËÁË ×ÌÏÖÅÎÉÅ. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1631 -msgid "Display uue data as an attachment" -msgstr "÷Ù×ÏÄÉÔØ UUE ÄÁÎÎÙÅ ËÁË ×ÌÏÖÅÎÉÅ" - -#: src/lang.c:1632 -msgid "# Handling of uuencoded data in the pager\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no, display raw uuencoded data\n" - "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" - "# size and filename, similar to how MIME attachments are displayed\n" - "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" - "# be folded into a tag line.\n" -msgstr "" - -#: src/lang.c:1642 -msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." -msgstr "" - -#: src/lang.c:1643 -msgid "Display \"a as Umlaut-a" -msgstr "÷Ù×ÏÄÉÔØ \"a ËÁË Umlaut-a" - -#: src/lang.c:1644 -msgid "# If ON decode German style TeX umlaut codes to ISO and\n" - "# show \"a as Umlaut-a, etc.\n" -msgstr "" - -#: src/lang.c:1649 src/lang.c:1659 -msgid "Space separated list of header fields" -msgstr "óÐÉÓÏË ÐÏÌÅÊ ÚÁÇÏÌÏ×ËÁ, ÒÁÚÄÅÌ£ÎÎÙÅ ÐÒÏÂÅÌÁÍÉ" - -#: src/lang.c:1650 -msgid "Display these header fields (or *)" -msgstr "ðÏËÁÚÙ×ÁÔØ ÜÔÉ ÐÏÌÑ ÚÁÇÏÌÏ×ËÁ (ÉÌÉ *)" - -#: src/lang.c:1651 -msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" - "# place an '*' as this value. This is the only way a wildcard can be used.\n" - "# If you enter 'X-' as the value, you will see all headers beginning with\n" - "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " - "with\n" - "# spaces. Not defining anything turns off this option.\n" -msgstr "" - -#: src/lang.c:1660 -msgid "Do not display these header fields" -msgstr "îÅ ÐÏËÁÚÙ×ÁÔØ ÜÔÉ ÐÏÌÑ ÚÁÇÏÌÏ×ËÁ" - -#: src/lang.c:1661 -msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" - "# An example of using both options might be if you thought X- headers were\n" - "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " - "you\n" - "# would do something like this:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Not defining anything turns off this option.\n" -msgstr "" - -#: src/lang.c:1671 -msgid "Do you want to enable automatic handling of multipart/alternative articles?" -msgstr "èÏÔÉÔÅ ×ËÌÀÞÉÔØ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ÏÂÒÁÂÏÔËÕ multipart/alternative ÓÔÁÔÅÊ?" - -#: src/lang.c:1672 -msgid "Skip multipart/alternative parts" -msgstr "ðÒÏÐÕÓËÁÔØ multipart/alternative ÞÁÓÔÉ" - -#: src/lang.c:1673 -msgid "# If ON strip multipart/alternative messages automatically\n" -msgstr "" - -#: src/lang.c:1678 -msgid "A regex used to decide which lines to show in col_quote." -msgstr "" - -#: src/lang.c:1679 -msgid "Regex used to show quoted lines" -msgstr "çÅÇ. ×ÙÒ. ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" - -#: src/lang.c:1680 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1686 -msgid "A regex used to decide which lines to show in col_quote2." -msgstr "" +msgid "# Thread score\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = max\n" + "# 1 = sum\n" + "# 2 = average\n" +msgstr "# Score ÄÉÓËÕÓÓÉÉ\n" + "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# * 0 = max\n" + "# 1 = ÓÕÍÍÁ\n" + "# 2 = ÓÒÅÄÎÅÅ\n" + +#: src/lang.c:1638 +msgid "Sort articles by Subject, From, Date or Score. toggles & sets." +msgstr "óÏÒÔÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ ôÅÍÅ, From, äÁÔÅ ÉÌÉ Score. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1639 +msgid "Sort articles by" +msgstr "óÏÒÔÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ" + +#: src/lang.c:1640 +msgid "# Sort articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject descending\n" + "# 2 = Subject ascending\n" + "# 3 = From descending\n" + "# 4 = From ascending\n" + "# 5 = Date descending\n" + "# * 6 = Date ascending\n" + "# 7 = Score descending\n" + "# 8 = Score ascending\n" + "# 9 = Lines descending\n" + "# 10 = Lines ascending\n" +msgstr "# óÏÒÔÉÒÏ×ÁÔØ ÓÔÁÔØÉ ÐÏ...\n" + "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# 0 = ÎÉÞÅÇÏ\n" + "# 1 = ôÅÍÁ ÐÏ ÕÂÙ×ÁÎÉÀ\n" + "# 2 = ôÅÍÁ ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" + "# 3 = From ÐÏ ÕÂÙ×ÁÎÉÀ\n" + "# 4 = From ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" + "# 5 = äÁÔÁ ÐÏ ÕÂÙ×ÁÎÉÀ\n" + "# * 6 = äÁÔÁ ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" + "# 7 = Score ÐÏ ÕÂÙ×ÁÎÉÀ\n" + "# 8 = Score ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" + "# 9 = ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË ÐÏ ÕÂÙ×ÁÎÉÀ\n" + "# 10 = ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" + +#: src/lang.c:1656 +msgid "Sort threads by Nothing or Score. toggles & sets." +msgstr "îÅ ÓÏÒÔÉÒÏ×ÁÔØ ÄÉÓËÕÓÓÉÉ ÉÌÉ ÓÏÒÔÉÒÏ×ÁÔØ ÐÏ Score. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1657 +msgid "Sort threads by" +msgstr "óÏÒÔÉÒÏ×ÁÔØ ÄÉÓËÕÓÓÉÉ ÐÏ" + +#: src/lang.c:1658 +#, fuzzy +msgid "# Sort thread by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = Score descending\n" + "# 2 = Score ascending\n" + "# 3 = Last posting date descending\n" + "# 4 = Last posting date ascending\n" +msgstr "# óÏÒÔÉÒÏ×ÁÔØ ÄÉÓËÕÓÓÉÀ ÐÏ...\n" + "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# 0 = ÎÉÞÅÇÏ\n" + "# * 1 = Score ÐÏ ÕÂÙ×ÁÎÉÀ\n" + "# 2 = Score ÐÏ ×ÏÚÒÁÓÔÁÎÉÀ\n" + +#: src/lang.c:1668 +msgid "Put cursor at first/last unread art in groups. toggles & sets." +msgstr "õÓÔ. ËÕÒÓÏÒ ÎÁ ÐÅÒ×ÕÀ/ÐÏÓÌÅÄ. ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÀ × ÇÒÕÐÐÁÈ. <ðòïâåì> ×ÙÂÏÒ, " + " ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1669 +#, fuzzy +msgid "Go to first unread article in group" +msgstr "ðÅÒÅÊÔÉ Ë ÐÅÒ×ÏÊ ÎÅÐÒÏÞ. ÓÔÁÔØÅ × ÇÒÕÐÐÅ" + +#: src/lang.c:1670 +msgid "# If ON put cursor at first unread art in group otherwise last art\n" +msgstr "# åÓÌÉ ON ÔÏ ÐÅÒÅÊÔÉ Ë ÐÅÒ×ÏÊ ÎÅÐÒÏÞÉÔÁÎÎÏÊ ÓÔÁÔØÅ × ÇÒÕÐÐÅ,\n" + "# ÉÎÁÞÅ Ë ÐÅÒÅÊÔÉ Ë ÐÏÓÌÅÄÎÅÊ.\n" + +#: src/lang.c:1674 +msgid "Show all articles or only unread articles. toggles & sets." +msgstr "ðÏËÁÚÙ×ÁÔØ ×ÓÅ ÓÔÁÔØÉ ÉÌÉ ÔÏÌØËÏ ÎÅÐÒÏÞÉÔÁÎÎÙÅ. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1675 +msgid "Show only unread articles" +msgstr "ðÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÎÅÐÒÏÞÉÔ. ÓÔÁÔØÉ" + +#: src/lang.c:1676 +msgid "# If ON show only new/unread articles otherwise show all.\n" +msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÎÏ×ÙÅ/ÎÅÐÒÏÞÉÔÁÎÎÙÅ ÓÔÁÔØÉ,\n" + "# ÉÎÁÞÅ ÐÏËÁÚÙ×ÁÔØ ×ÓÅ.\n" + +#: src/lang.c:1681 +msgid "Show only groups with unread arts" +msgstr "ðÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÇÒÕÐÐÙ Ó ÎÅÐÒÏÞ. ÓÔÁÔØÑÍÉ" + +#: src/lang.c:1682 +msgid "# If ON show only subscribed to groups that contain unread articles.\n" +msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ÔÏÌØËÏ ÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ Ó ÎÅÐÒÏÞÔ£ÎÎÙÍÉ ÓÔÁÔØÑÍÉ.\n" #: src/lang.c:1687 -msgid "Regex used to show twice quoted l." -msgstr "òÅÇ. ×ÙÒ. ÄÌÑ Ä×ÁÖÄÙ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" +msgid "Filter which articles" +msgstr "óÔÁÔØÉ ÄÌÑ ÆÉÌØÔÒÁÃÉÉ" #: src/lang.c:1688 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted twice. Twice quoted lines are shown in col_quote2.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1694 -msgid "A regex used to decide which lines to show in col_quote3." -msgstr "" - -#: src/lang.c:1695 -msgid "Regex used to show >= 3 times q.l." -msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË >= 3 ÒÁÚ" - -#: src/lang.c:1696 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1703 -msgid "A regex used to decide which words to show in col_markslashes." -msgstr "" - -#: src/lang.c:1704 -msgid "Regex used to highlight /slashes/" -msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ×ÙÄÅÌÅÎÉÑ /ÔÅËÓÔÁ/" - -#: src/lang.c:1705 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '/' are to be shown in col_markslashes.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1711 -msgid "A regex used to decide which words to show in col_markstars." -msgstr "" - -#: src/lang.c:1712 -msgid "Regex used to highlight *stars*" -msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ×ÙÄÅÌÅÎÉÑ *ÔÅËÓÔÁ*" - -#: src/lang.c:1713 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '*' are to be shown in col_markstars.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1719 -msgid "A regex used to decide which words to show in col_markstroke." -msgstr "" - -#: src/lang.c:1720 -msgid "Regex used to highlight -strokes-" -msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ×ÙÄÅÌÅÎÉÑ -ÔÅËÓÔÁ-" - -#: src/lang.c:1721 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '-' are to be shown in col_markstroke.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" +msgid "# Filter which articles\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = only kill unread articles\n" + "# 1 = kill all articles and show in threads marked with K\n" + "# 2 = kill all articles and never show them\n" +msgstr "" + +#: src/lang.c:1697 +msgid "Go to the next unread article with" +msgstr "" + +#: src/lang.c:1698 +msgid "# Go to the unread article with following key(s)\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN or TAB\n" +msgstr "" + +#: src/lang.c:1708 +#, fuzzy +msgid "How to treat blank lines" +msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ" + +#: src/lang.c:1709 +msgid "# Trim the article body, remove unnecessary blank lines.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = Nothing special\n" + "# 1 = Skip leading blank lines\n" + "# 2 = Skip trailing blank lines\n" + "# 3 = Skip leading and trailing blank lines\n" + "# 4 = Compact multiple blank lines between text blocks\n" + "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" + "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" + "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/lang.c:1726 +msgid "List thread using right arrow key" +msgstr "òÁÚ×ÅÒÎÕÔØ ÄÉÓËÕÓÓÉÀ ÐÒÁ×ÏÊ ÓÔÒÅÌËÏÊ" #: src/lang.c:1727 -msgid "A regex used to decide which words to show in col_markdash." -msgstr "" +msgid "# If ON automatically list thread when entering it using right arrow key.\n" +msgstr "" -#: src/lang.c:1728 -msgid "Regex used to highlight _underline_" -msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ×ÙÄÅÌÅÎÉÑ _ÔÅËÓÔÁ_" - -#: src/lang.c:1729 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '_' are to be shown in col_markdash.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1735 -msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." -msgstr "" - -#: src/lang.c:1736 -msgid "Regex with Subject prefixes" -msgstr "" - -#: src/lang.c:1737 -msgid "# A regular expression that tin will use to find Subject prefixes\n" - "# which will be removed before showing the header.\n" -msgstr "" - -#: src/lang.c:1742 -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." -msgstr "" - -#: src/lang.c:1743 -msgid "Regex with Subject suffixes" -msgstr "" - -#: src/lang.c:1744 -msgid "# A regular expression that tin will use to find Subject suffixes\n" - "# which will be removed when replying or posting followup.\n" -msgstr "" - -#: src/lang.c:1749 -msgid "Enter name and options for external MIME viewer, --internal for built-in " - "viewer" -msgstr "÷×ÅÄÉÔÅ ÉÍÑ É ÏÐÃÉÉ ÄÌÑ ×ÎÅÛÎÅÇÏ ÐÒÏÓÍÏÔÒ. MIME, --internal ÄÌÑ ×ÓÔÒÏÅÎÎÏÇÏ " - "ÐÒÏÓÍÏÔÒ." - -#: src/lang.c:1750 -msgid "MIME binary content viewer" -msgstr "ðÒÏÓÍÏÔÏÒÝÉË ÓÏÄÅÒÖÉÍÏÇÏ Ä×ÏÉÞÎÏÇÏ MIME" - -#: src/lang.c:1751 -msgid "# If --internal automatically use the built in MIME viewer for non-text\n" - "# parts of articles.\n" - "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" - "# for no automatic viewing\n" -msgstr "" - -#: src/lang.c:1758 -msgid "Confirm before starting non-text viewing program" -msgstr "ðÏÄÔ×ÅÒÖÄÁÔØ ÓÔÁÒÔ ÐÒÏÓÍÏÔÏÒÝÉËÁ ÎÅÔÅËÓÔÏ×ÏÊ ÉÎÆÏÒÍÁÃÉÉ" +#: src/lang.c:1731 +msgid "Enter character to indicate deleted articles. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÕÄÁÌ£ÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:1732 +msgid "Character to show deleted articles" +msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÕÄÁÌ£ÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:1733 +msgid "# Character used to show that an art was deleted (default 'D')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1738 +msgid "Enter character to indicate articles in a range. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔÅÊ × ÄÉÁÐÁÚÏÎÅ. ÕÓÔÁÎÏ×ÉÔØ, " + "ÏÔÍÅÎÉÔØ." + +#: src/lang.c:1739 +msgid "Character to show inrange articles" +msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔÅÊ × ÄÉÁÐÁÚÏÎÅ" + +#: src/lang.c:1740 +msgid "# Character used to show that an art is in a range (default '#')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1745 +msgid "Enter character to indicate that article will return. sets, " + "cancels." +msgstr "" + +#: src/lang.c:1746 +msgid "Character to show returning arts" +msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ×ÏÚ×Ò. ÓÔÁÔÅÊ" + +#: src/lang.c:1747 +msgid "# Character used to show that an art will return (default '-')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1752 +msgid "Enter character to indicate selected articles. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ×ÙÂÒÁÎÎÙÈ ÓÔÁÔÅÊ. ××ÏÄ, ÏÔÍÅÎÁ." + +#: src/lang.c:1753 +msgid "Character to show selected articles" +msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ×ÙÂÒÁÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:1754 +msgid "# Character used to show that an art was auto-selected (default '*')\n" + "# _ is turned into ' '\n" +msgstr "" #: src/lang.c:1759 -msgid "Ask before using MIME viewer" -msgstr "óÐÒÏÓÉÔØ Ï ÉÓÐÏÌ. ÐÒÏÓÍÏÔÒ. MIME" +msgid "Enter character to indicate recent articles. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÏ×ÙÈ ÓÔÁÔÅÊ. ××ÏÄ, ÏÔÍÅÎÁ." #: src/lang.c:1760 -msgid "# If ON tin will ask before using metamail to display MIME messages\n" - "# this only happens if metamail_prog is set to something\n" -msgstr "" - -#: src/lang.c:1765 -msgid "Ask to mark groups read when quitting. toggles & sets." -msgstr "óÐÒÏÓÉÔØ Ï ÏÔÍÅÔËÅ ÇÒÕÐÐ ËÁË ÐÒÏÞÉÔ. ÐÒÉ ×ÙÈÏÄÅ. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." +msgid "Character to show recent articles" +msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÏ×ÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:1761 +msgid "# Character used to show that an art is recent (default 'o')\n" + "# _ is turned into ' '\n" +msgstr "# óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÏ×ÏÊ ÓÔÁÔØÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ 'o')\n" + "# _ ÚÁÍÅÎÑÅÔÓÑ ÎÁ ' '\n" #: src/lang.c:1766 -msgid "Catchup read groups when quitting" -msgstr "" +msgid "Enter character to indicate unread articles. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÅÐÒÏÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ. ××ÏÄ, ÏÔÍÅÎÁ." #: src/lang.c:1767 -msgid "# If ON ask user if read groups should all be marked read\n" -msgstr "# åÓÌÉ ON, ÔÏ ÓÐÒÏÓÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÏÌÖÎÙ ÌÉ ÂÙÔØ ×ÓÅ ÇÒÕÐÐÙ\n" - "# ÐÏÍÅÞÅÎÙ ËÁË ÐÒÏÞÔ£ÎÎÙÅ.\n" - -#: src/lang.c:1772 -msgid "Catchup group using left key" -msgstr "" +msgid "Character to show unread articles" +msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÎÅÐÒÏÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:1768 +msgid "# Character used to show that an art is unread (default '+')\n" + "# _ is turned into ' '\n" +msgstr "# óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔØÉ ËÁË ÎÅÐÒÏÞÉÔÁÎÎÏÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ '+')\n" + "# _ ÚÁÍÅÎÑÅÔÓÑ ÎÁ ' '\n" #: src/lang.c:1773 -msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" -msgstr "" +msgid "Enter character to indicate read articles. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÐÒÏÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." -#: src/lang.c:1778 -msgid "Catchup thread by using left key" -msgstr "" - -#: src/lang.c:1784 -msgid "Which actions require confirmation" -msgstr "ëÁËÉÅ ÄÅÊÓÔ×ÉÑ ÔÒÅÂÕÀÔ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ" - -#: src/lang.c:1785 -msgid "# What should we ask confirmation for.\n" -msgstr "# ëÁËÉÅ ÄÅÊÓÔ×ÉÑ ÔÒÅÂÕÀÔ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ.\n" - -#: src/lang.c:1790 -msgid "'Mark article read' ignores tags" -msgstr "" - -#: src/lang.c:1791 -msgid "# If ON the 'Mark article read' function marks only the current article.\n" -msgstr "" +#: src/lang.c:1774 +msgid "Character to show read articles" +msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÐÒÏÞÉÔÁÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:1775 +msgid "# Character used to show that an art was read (default ' ')\n" + "# _ is turned into ' '\n" +msgstr "# óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÏÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ ' ')\n" + "# _ ÚÁÍÅÎÑÅÔÓÑ ÎÁ ' '\n" + +#: src/lang.c:1780 +msgid "Enter character to indicate killed articles. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÕÎÉÞÔÏÖÅÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:1781 +msgid "Character to show killed articles" +msgstr "óÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÕÎÉÞÔÏÖÅÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:1782 +msgid "# Character used to show that an art was killed (default 'K')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1787 +msgid "Enter character to indicate read selected articles. sets, cancels." +msgstr "" + +#: src/lang.c:1788 +msgid "Character to show readselected arts" +msgstr "" + +#: src/lang.c:1789 +msgid "# Character used to show that an art was selected before read (default ':')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1794 +msgid "Enter maximum length of newsgroup names displayed. sets." +msgstr "íÁËÓÉÍÁÌØÎÁÑ ÄÌÉÎÁ ÉͣΠÇÒÕÐÐ ÐÒÉ ×Ù×ÏÄÅ. ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:1795 -msgid "Program to run to open URL's, sets, cancels." -msgstr "ðÒÏÇÒÁÍÍÙ ÄÌÑ ÏÔËÒÙÔÉÑ URL. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ" +msgid "Max. length of group names shown" +msgstr "íÁËÓ. ÄÌÉÎÁ ÉͣΠÇÒÕÐÐ ÐÒÉ ×Ù×ÏÄÅ" #: src/lang.c:1796 -msgid "Program that opens URL's" -msgstr "ðÒÏÇÒÁÍÍÁ ÄÌÑ ÏÔËÒÙÔÉÑ URL" +msgid "# Maximum length of the names of newsgroups displayed\n" +msgstr "# íÁËÓÉÍÁÌØÎÁÑ ÄÌÉÎÁ ÉͣΠÇÒÕÐÐ ÐÒÉ ×Ù×ÏÄÅ\n" -#: src/lang.c:1797 -msgid "# The program used to open URL's. The actual URL will be appended\n" -msgstr "# ðÒÏÇÒÁÍÍÁ ÄÌÑ ÏÔËÒÙÔÉÑ URL. óÁÍ URL ÂÕÄÅÔ ÄÏÂÁ×ÌÅÎ × ËÏÎÅÃ\n" +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "" #: src/lang.c:1802 -msgid "Use mouse in xterm" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ ÍÙÛØ × xterm" - -#: src/lang.c:1803 -msgid "# If ON enable mouse key support on xterm terminals\n" -msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÍÙÛØ × xterm ÔÅÒÍÉÎÁÌÁÈ\n" +msgid "# If ON abbreviate (if necessary) long newsgroup names at group selection\n" + "# level and article level like this:\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "" #: src/lang.c:1809 -msgid "Use scroll keys on keypad" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÉ ÐÒÏËÒÕÔËÉ ÎÁ keypad" +msgid "Show lines/score in listings" +msgstr "ðÏËÁÚÙ×ÁÔØ ÓÔÒÏËÉ/score × ÌÉÓÔÉÎÇÅ" #: src/lang.c:1810 -msgid "# If ON enable scroll keys on terminals that support it\n" -msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÉ ÐÒÏËÒÕÔËÉ ÎÁ ÎÅËÏÔÏÒÙÈ ÔÅÒÍÉÎÁÌÁÈ\n" - -#: src/lang.c:1815 -msgid "Enter maximum number of article to get. sets." -msgstr "÷×ÅÄÉÔÅ ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÓÔÁÔÅÊ ÄÌÑ ÚÁÇÒÕÚËÉ. ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1816 -msgid "Number of articles to get" -msgstr "þÉÓÌÏ ÓÔÁÔÅÊ ÄÌÑ ÚÁÇÒÕÚËÉ" - -#: src/lang.c:1817 -msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" - "# of already read articles to be read before first unread one\n" -msgstr "" - -#: src/lang.c:1822 -msgid "Enter number of days article is considered recent. sets." -msgstr "÷×ÅÄÉÔÅ ÞÉÓÌÏ ÄÎÅÊ, ÐÏËÁ ÓÔÁÔØÑ ÓÞÉÔÁÅÔÓÑ ÎÏ×ÏÊ. ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:1823 -msgid "Article recentness time limit" -msgstr "ìÉÍÉÔ ×ÒÅÍÅÎÉ ÄÌÑ ÎÏ×ÙÈ ÓÔÁÔÅÊ" - -#: src/lang.c:1824 -msgid "# Number of days in which article is considered recent, (0=OFF)\n" -msgstr "# þÉÓÌÏ ÄÎÅÊ, ÐÏËÁ ÓÔÁÔØÑ ÓÞÉÔÁÅÔÓÑ ÎÏ×ÏÊ. (0=OFF)\n" - -#: src/lang.c:1828 -msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." -msgstr "WILDMAT ÄÌÑ ÏÂÙÞÎÙÈ ÛÁÂÌÏÎÏ×, REGEX ÄÌÑ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ" - -#: src/lang.c:1829 -msgid "Wildcard matching" -msgstr "ôÉÐ ÛÁÂÌÏÎÁ" - -#: src/lang.c:1830 -msgid "# Wildcard matching\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" -msgstr "# óÏÐÏÓÔÁ×ÌÅÎÉÅ Ó ÛÁÂÌÏÎÏÍ\n" - "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" +msgid "# What information should be displayed in article/thread listing\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = lines\n" + "# 2 = score\n" + "# 3 = lines & score\n" +msgstr "# ëÁËÁÑ ÉÎÆÏÒÍÁÃÉÑ ÄÏÌÖÎÁ ×Ù×ÏÄÉÔÓÑ × ÓÐÉÓËÅ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ\n" + "# äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# 0 = ÎÉÞÅÇÏ\n" + "# * 1 = ËÏÌÉÞÅÓÔ×Ï ÓÔÒÏË\n" + "# 2 = score\n" + "# 3 = ËÏÌÉÞÅÓÔ×Ï ÓÔÒÏË É score\n" + +#: src/lang.c:1819 +msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" + "2 = half page" +msgstr "0 = ÐÒÏËÒÕÔËÁ ×ÓÅÊ ÓÔÒÁÎÉÃÙ, -1 = ÐÒÅÄÙÄÕÝÁÑ ÐÏÓÌÅÄÎÑÑ ÓÔÒÏËÁ ËÁË ÐÅÒ×ÁÑ ÎÁ " + "ÓÌÅÄÕÀÝÅÊ ÓÔÒÁÎÉÃÅ, -2 = ÐÏÌÓÔÒÁÎÉÃÙ" + +#: src/lang.c:1820 +msgid "Number of lines to scroll in pager" +msgstr "þÉÓÌÏ ÓÔÒÏË ÐÒÏËÒÕÔËÉ × ÐÅÊÄÖÅÒÅ" + +#: src/lang.c:1821 +msgid "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behavior)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" +msgstr "" + +#: src/lang.c:1831 +msgid "Display signatures. toggles & sets." +msgstr "÷Ù×ÏÄÉÔØ ÓÉÇÎÁÔÕÒÙ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1832 +msgid "Display signatures" +msgstr "÷Ù×ÏÄÉÔØ ÓÉÇÎÁÔÕÒÙ" + +#: src/lang.c:1833 +msgid "# If OFF don't show signatures when displaying articles\n" +msgstr "# åÓÌÉ OFF, ÔÏ ÎÅ ×Ù×ÏÄÉÔØ ÓÉÇÎÁÔÕÒÙ ÐÒÉ ×Ù×ÏÄÅ ÓÔÁÔÅÊ\n" #: src/lang.c:1837 -msgid "Enter minimal score before an article is marked killed. sets." -msgstr "" +msgid "Display uuencoded data as tagged attachments. toggles & sets." +msgstr "÷Ù×ÏÄÉÔØ UUE ÚÁËÏÄÉÒÏ×ÁÎÎÙÅ ÄÁÎÎÙÅ ËÁË ×ÌÏÖÅÎÉÅ. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:1838 -msgid "Score limit (kill)" -msgstr "" +msgid "Display uue data as an attachment" +msgstr "÷Ù×ÏÄÉÔØ UUE ÄÁÎÎÙÅ ËÁË ×ÌÏÖÅÎÉÅ" #: src/lang.c:1839 -msgid "# Score limit before an article is marked killed\n" -msgstr "" - -#: src/lang.c:1843 -msgid "Enter default score to kill articles. sets." -msgstr "" - -#: src/lang.c:1844 -msgid "Default score to kill articles" -msgstr "" - -#: src/lang.c:1845 -msgid "# Default score to kill articles\n" -msgstr "" +msgid "# Handling of uuencoded data in the pager\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no, display raw uuencoded data\n" + "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" + "# size and filename, similar to how MIME attachments are displayed\n" + "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" + "# be folded into a tag line.\n" +msgstr "" #: src/lang.c:1849 -msgid "Enter minimal score before an article is marked hot. sets." -msgstr "" +msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." +msgstr "" #: src/lang.c:1850 -msgid "Score limit (select)" -msgstr "" +msgid "Display \"a as Umlaut-a" +msgstr "÷Ù×ÏÄÉÔØ \"a ËÁË Umlaut-a" #: src/lang.c:1851 -msgid "# Score limit before an article is marked hot\n" -msgstr "" - -#: src/lang.c:1855 -msgid "Enter default score to select articles. sets." -msgstr "" - -#: src/lang.c:1856 -msgid "Default score to select articles" -msgstr "" +msgid "# If ON decode German style TeX umlaut codes to ISO and\n" + "# show \"a as Umlaut-a, etc.\n" +msgstr "" + +#: src/lang.c:1856 src/lang.c:1866 +msgid "Space separated list of header fields" +msgstr "óÐÉÓÏË ÐÏÌÅÊ ÚÁÇÏÌÏ×ËÁ, ÒÁÚÄÅÌ£ÎÎÙÅ ÐÒÏÂÅÌÁÍÉ" #: src/lang.c:1857 -msgid "# Default score to select articles\n" -msgstr "" +msgid "Display these header fields (or *)" +msgstr "ðÏËÁÚÙ×ÁÔØ ÜÔÉ ÐÏÌÑ ÚÁÇÏÌÏ×ËÁ (ÉÌÉ *)" -#: src/lang.c:1863 -msgid "Use slrnface to show ''X-Face:''s" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ slrnface ÄÌÑ ÐÏËÁÚÁ X_Face:" - -#: src/lang.c:1864 -msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" - "# Only useful when running in an xterm.\n" -msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ slrnface(1) ÄÌÑ ÉÎÔÅÒÐÒÅÔÉÒÏ×ÁÎÉÑ\n" - "# ÚÁÇÏÌÏ×ËÁ X-Face. ðÏÌØÚÎÏ ÔÏÌØËÏ ÐÏÄ xterm.\n" - -#: src/lang.c:1872 -msgid "Use ANSI color" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ Ã×ÅÔ ANSI" - -#: src/lang.c:1873 -msgid "# If ON using ANSI-color\n" -msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ Ã×ÅÔ ANSI\n" +#: src/lang.c:1858 +msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" + "# place an '*' as this value. This is the only way a wildcard can be used.\n" + "# If you enter 'X-' as the value, you will see all headers beginning with\n" + "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " + "with\n" + "# spaces. Not defining anything turns off this option.\n" +msgstr "" + +#: src/lang.c:1867 +msgid "Do not display these header fields" +msgstr "îÅ ÐÏËÁÚÙ×ÁÔØ ÜÔÉ ÐÏÌÑ ÚÁÇÏÌÏ×ËÁ" + +#: src/lang.c:1868 +msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" + "# An example of using both options might be if you thought X- headers were\n" + "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " + "you\n" + "# would do something like this:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Not defining anything turns off this option.\n" +msgstr "" #: src/lang.c:1878 -msgid "Standard foreground color" -msgstr "óÔÁÎÄÁÒÔÎÙÊ Ã×ÅÔ ÓÉÍ×ÏÌÏ×" +msgid "Do you want to enable automatic handling of multipart/alternative articles?" +msgstr "èÏÔÉÔÅ ×ËÌÀÞÉÔØ Á×ÔÏÍÁÔÉÞÅÓËÕÀ ÏÂÒÁÂÏÔËÕ multipart/alternative ÓÔÁÔÅÊ?" #: src/lang.c:1879 -msgid "# Standard foreground color\n" - "# Default: -1 (default color)\n" -msgstr "# óÔÁÎÄÁÒÔÎÙÊ Ã×ÅÔ ÓÉÍ×ÏÌÏ×\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" +msgid "Skip multipart/alternative parts" +msgstr "ðÒÏÐÕÓËÁÔØ multipart/alternative ÞÁÓÔÉ" + +#: src/lang.c:1880 +msgid "# If ON strip multipart/alternative messages automatically\n" +msgstr "" + +#: src/lang.c:1884 +#, fuzzy +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "äÏÂÁ×ÌÑÔØ ÓÉÇÎÁÔÕÒÕ ÐÒÉ ÐÏ×ÔÏÒÎÏÊ ÏÔÐÒÁ×ËÅ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:1885 -msgid "Standard background color" -msgstr "óÔÁÎÄÁÒÔÎÙÊ Ã×ÅÔ ÆÏÎÁ" +msgid "Detection of verbatim blocks" +msgstr "" #: src/lang.c:1886 -msgid "# Standard background color\n" - "# Default: -1 (default color)\n" -msgstr "# óÔÁÎÄÁÒÔÎÙÊ Ã×ÅÔ ÆÏÎÁ\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" +#, fuzzy +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "# åÓÌÉ ON, ÔÏ ÄÅÒÖÁÔØ ×ÓÅ ÎÅÕÄÁ×ÛÉÅÓÑ ÏÔÐÒÁ×ËÉ ÓÔÁÔÅÊ × ~/dead.articles\n" + +#: src/lang.c:1891 +msgid "A regex used to decide which lines to show in col_quote." +msgstr "" #: src/lang.c:1892 -msgid "Color for inverse text (background)" -msgstr "ã×ÅÔ ÄÌÑ ÉÎ×ÅÒÓÎÏÇÏ ÔÅËÓÔÁ (ÆÏÎ)" +msgid "Regex used to show quoted lines" +msgstr "çÅÇ. ×ÙÒ. ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" #: src/lang.c:1893 -msgid "# Color of background for inverse text\n" - "# Default: 4 (blue)\n" -msgstr "# ã×ÅÔ ÆÏÎÁ ÄÌÑ ÉÎ×ÅÒÓÎÏÇÏ ÔÅËÓÔÁ\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 4 (ÓÉÎÉÊ)\n" +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1899 -msgid "Color for inverse text (foreground)" -msgstr "ã×ÅÔ ÄÌÑ ÉÎ×ÅÒÓÎÏÇÏ ÔÅËÓÔÁ (ÓÉÍ×ÏÌÙ)" +msgid "A regex used to decide which lines to show in col_quote2." +msgstr "" #: src/lang.c:1900 -msgid "# Color of foreground for inverse text\n" - "# Default: 7 (white)\n" -msgstr "# ã×ÅÔ ÄÌÑ ÉÎ×ÅÒÓÎÏÇÏ ÔÅËÓÔÁ (ÓÉÍ×ÏÌÙ)\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 7 (ÂÅÌÙÊ)\n" - -#: src/lang.c:1906 -msgid "Color of text lines" -msgstr "ã×ÅÔ ÔÅËÓÔÏ×ÙÈ ÓÔÒÏË" +msgid "Regex used to show twice quoted l." +msgstr "òÅÇ. ×ÙÒ. ÄÌÑ Ä×ÁÖÄÙ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" + +#: src/lang.c:1901 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted twice. Twice quoted lines are shown in col_quote2.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1907 -msgid "# Color of text lines\n" - "# Default: -1 (default color)\n" -msgstr "# ã×ÅÔ ÔÅËÓÔÏ×ÙÈ ÓÔÒÏË\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" - -#: src/lang.c:1913 -msgid "Color of mini help menu" -msgstr "ã×ÅÔ ÔÅËÓÔÁ ÍÅÎÀ ÍÉÎÉ-ÐÏÍÏÝÉ" - -#: src/lang.c:1914 -msgid "# Color of mini help menu\n" - "# Default: 3 (brown)\n" -msgstr "# ã×ÅÔ ÔÅËÓÔÁ ÍÉÎÉ-ÐÏÍÏÝÉ\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 3 (ËÏÒÉÞÎÅ×ÙÊ)\n" - -#: src/lang.c:1920 -msgid "Color of help text" -msgstr "ã×ÅÔ ÔÅËÓÔÁ ÐÏÍÏÝÉ" - -#: src/lang.c:1921 -msgid "# Color of help pages\n" - "# Default: -1 (default color)\n" -msgstr "# ã×ÅÔ ÔÅËÓÔÁ ÐÏÍÏÝÉ\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" - -#: src/lang.c:1927 -msgid "Color of status messages" -msgstr "ã×ÅÔ ÓÔÁÔÕÓÎÙÈ ÓÏÏÂÝÅÎÉÊ" - -#: src/lang.c:1928 -msgid "# Color of messages in last line\n" - "# Default: 6 (cyan)\n" -msgstr "" +msgid "A regex used to decide which lines to show in col_quote3." +msgstr "" -#: src/lang.c:1934 -msgid "Color of quoted lines" -msgstr "ã×ÅÔ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" +#: src/lang.c:1908 +msgid "Regex used to show >= 3 times q.l." +msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË >= 3 ÒÁÚ" + +#: src/lang.c:1909 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1916 +msgid "A regex used to decide which words to show in col_markslashes." +msgstr "" + +#: src/lang.c:1917 +msgid "Regex used to highlight /slashes/" +msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ×ÙÄÅÌÅÎÉÑ /ÔÅËÓÔÁ/" + +#: src/lang.c:1918 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '/' are to be shown in col_markslashes.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1924 +msgid "A regex used to decide which words to show in col_markstars." +msgstr "" + +#: src/lang.c:1925 +msgid "Regex used to highlight *stars*" +msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ×ÙÄÅÌÅÎÉÑ *ÔÅËÓÔÁ*" + +#: src/lang.c:1926 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '*' are to be shown in col_markstars.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1932 +msgid "A regex used to decide which words to show in col_markstroke." +msgstr "" + +#: src/lang.c:1933 +msgid "Regex used to highlight -strokes-" +msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ×ÙÄÅÌÅÎÉÑ -ÔÅËÓÔÁ-" -#: src/lang.c:1935 -msgid "# Color of quote-lines\n" - "# Default: 2 (green)\n" -msgstr "# ã×ÅÔ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÚÅÌ£ÎÙÊ)\n" +#: src/lang.c:1934 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '-' are to be shown in col_markstroke.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1940 +msgid "A regex used to decide which words to show in col_markdash." +msgstr "" #: src/lang.c:1941 -msgid "Color of twice quoted line" -msgstr "ã×ÅÔ Ä×ÁÖÄÙ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" +msgid "Regex used to highlight _underline_" +msgstr "òÅÇ. ×ÙÒ. ÄÌÑ ×ÙÄÅÌÅÎÉÑ _ÔÅËÓÔÁ_" #: src/lang.c:1942 -msgid "# Color of twice quoted lines\n" - "# Default: 3 (brown)\n" -msgstr "# ã×ÅÔ Ä×ÁÖÄÙ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 3 (ËÏÒÉÞÎÅ×ÙÊ)\n" +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '_' are to be shown in col_markdash.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1948 -msgid "Color of =>3 times quoted line" -msgstr "ã×ÅÔ >=3 ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" +msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." +msgstr "" #: src/lang.c:1949 -msgid "# Color of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" -msgstr "# ã×ÅÔ >=3 ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 4 (ÓÉÎÉÊ)\n" +msgid "Regex with Subject prefixes" +msgstr "" + +#: src/lang.c:1950 +msgid "# A regular expression that tin will use to find Subject prefixes\n" + "# which will be removed before showing the header.\n" +msgstr "" #: src/lang.c:1955 -msgid "Color of article header lines" -msgstr "ã×ÅÔ ÓÔÒÏË ÚÁÇÏÌÏ×ËÏ× ÓÔÁÔØÉ" +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "" #: src/lang.c:1956 -msgid "# Color of header-lines\n" - "# Default: 2 (green)\n" -msgstr "# ã×ÅÔ ÓÔÒÏË ÚÁÇÏÌÏ×ËÁ\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÚÅÌ£ÎÙÊ)\n" +msgid "Regex with Subject suffixes" +msgstr "" + +#: src/lang.c:1957 +msgid "# A regular expression that tin will use to find Subject suffixes\n" + "# which will be removed when replying or posting followup.\n" +msgstr "" #: src/lang.c:1962 -msgid "Color of actual news header fields" -msgstr "ã×ÅÔ ÓÔÒÏË news ÚÁÇÏÌÏ×ËÏ× ÓÔÁÔÅÊ" +msgid "A regex used to find the begin of a verbatim block." +msgstr "" #: src/lang.c:1963 -msgid "# Color of actual news header fields\n" - "# Default: 9 (light red)\n" -msgstr "# ã×ÅÔ ÓÔÒÏË news ÚÁÇÏÌÏ×ËÏ× ÓÔÁÔÅÊ\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 9 (Ó×ÅÔÌÏ-ËÒÁÓÎÙÊ)\n" +msgid "Regex for begin of a verbatim block" +msgstr "" + +#: src/lang.c:1964 +msgid "# A regular expression that tin will use to find the begin of\n" + "# a verbatim block.\n" +msgstr "" #: src/lang.c:1969 -msgid "Color of article subject lines" -msgstr "ã×ÅÔ ÓÔÒÏË Ó ÔÅÍÏÊ ÓÔÁÔØÉ" +msgid "A regex used to find the end of a verbatim block." +msgstr "" #: src/lang.c:1970 -msgid "# Color of article subject\n" - "# Default: 6 (cyan)\n" -msgstr "# ã×ÅÔ ÓÔÒÏËÉ Ó ÔÅÍÏÊ ÓÔÁÔØÉ\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 6 (ÇÏÌÕÂÏÊ)\n" +msgid "Regex for end of a verbatim block" +msgstr "" + +#: src/lang.c:1971 +msgid "# A regular expression that tin will use to find the end of\n" + "# a verbatim block.\n" +msgstr "" #: src/lang.c:1976 -msgid "Color of response counter" -msgstr "ã×ÅÔ ÓÞÅÔÞÉËÁ ËÏÌÉÞÅÓÔ×Á ÏÔ×ÅÔÏ×" +msgid "Enter name and options for external MIME viewer, --internal for built-in " + "viewer" +msgstr "÷×ÅÄÉÔÅ ÉÍÑ É ÏÐÃÉÉ ÄÌÑ ×ÎÅÛÎÅÇÏ ÐÒÏÓÍÏÔÒ. MIME, --internal ÄÌÑ ×ÓÔÒÏÅÎÎÏÇÏ " + "ÐÒÏÓÍÏÔÒ." #: src/lang.c:1977 -msgid "# Color of response counter\n" - "# Default: 2 (green)\n" -msgstr "# ã×ÅÔ ÓÞÅÔÞÉËÁ ËÏÌÉÞÅÓÔ×Á ÏÔ×ÅÔÏ×\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÚÅÌ£ÎÙÊ)\n" - -#: src/lang.c:1983 -msgid "Color of sender (From:)" -msgstr "ã×ÅÔ ÓÔÒÏËÉ ÏÔÐÒÁ×ÉÔÅÌÑ From:" - -#: src/lang.c:1984 -msgid "# Color of sender (From:)\n" - "# Default: 2 (green)\n" -msgstr "# ã×ÅÔ ÓÔÒÏËÉ ÏÔÐÒÁ×ÉÔÅÌÑ (From:)\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÚÅÌ£ÎÙÊ)\n" - -#: src/lang.c:1990 -msgid "Color of help/mail sign" -msgstr "ã×ÅÔ ÓÏÏÂÝÅÎÉÑ Ï ×ÙÚÏ×Å ÐÏÍÏÝÉ" - -#: src/lang.c:1991 -msgid "# Color of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" -msgstr "# ã×ÅÔ Help/Mail-Sign\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 4 (ÓÉÎÉÊ)\n" - -#: src/lang.c:1997 -msgid "Color of signatures" -msgstr "ã×ÅÔ ÓÉÇÎÁÔÕÒ" - -#: src/lang.c:1998 -msgid "# Color of signature\n" - "# Default: 4 (blue)\n" -msgstr "# ã×ÅÔ ÓÉÇÎÁÔÕÒ\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 4 (ÓÉÎÉÊ)\n" - -#: src/lang.c:2004 -msgid "Color of highlighted URLs" -msgstr "ã×ÅÔ ÐÏÄÓ×ÅÞÉ×ÁÎÉÑ URL" +msgid "MIME binary content viewer" +msgstr "ðÒÏÓÍÏÔÏÒÝÉË ÓÏÄÅÒÖÉÍÏÇÏ Ä×ÏÉÞÎÏÇÏ MIME" + +#: src/lang.c:1978 +msgid "# If --internal automatically use the built in MIME viewer for non-text\n" + "# parts of articles.\n" + "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" + "# for no automatic viewing\n" +msgstr "" + +#: src/lang.c:1985 +msgid "Confirm before starting non-text viewing program" +msgstr "ðÏÄÔ×ÅÒÖÄÁÔØ ÓÔÁÒÔ ÐÒÏÓÍÏÔÏÒÝÉËÁ ÎÅÔÅËÓÔÏ×ÏÊ ÉÎÆÏÒÍÁÃÉÉ" + +#: src/lang.c:1986 +msgid "Ask before using MIME viewer" +msgstr "óÐÒÏÓÉÔØ Ï ÉÓÐÏÌ. ÐÒÏÓÍÏÔÒ. MIME" + +#: src/lang.c:1987 +msgid "# If ON tin will ask before using metamail to display MIME messages\n" + "# this only happens if metamail_prog is set to something\n" +msgstr "" + +#: src/lang.c:1992 +msgid "Ask to mark groups read when quitting. toggles & sets." +msgstr "óÐÒÏÓÉÔØ Ï ÏÔÍÅÔËÅ ÇÒÕÐÐ ËÁË ÐÒÏÞÉÔ. ÐÒÉ ×ÙÈÏÄÅ. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:1993 +msgid "Catchup read groups when quitting" +msgstr "" + +#: src/lang.c:1994 +msgid "# If ON ask user if read groups should all be marked read\n" +msgstr "# åÓÌÉ ON, ÔÏ ÓÐÒÏÓÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÏÌÖÎÙ ÌÉ ÂÙÔØ ×ÓÅ ÇÒÕÐÐÙ\n" + "# ÐÏÍÅÞÅÎÙ ËÁË ÐÒÏÞÔ£ÎÎÙÅ.\n" + +#: src/lang.c:1999 +msgid "Catchup group using left key" +msgstr "" + +#: src/lang.c:2000 +msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" +msgstr "" #: src/lang.c:2005 -msgid "# Color of highlighted URLs\n" - "# Default: -1 (default color)\n" -msgstr "# ã×ÅÔ ÐÏÄÓ×ÅÞÉ×ÁÎÉÑ URL\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" +msgid "Catchup thread by using left key" +msgstr "" #: src/lang.c:2011 -msgid "Color of highlighting with *stars*" -msgstr "ã×ÅÔ ×ÙÄÅÌÅÎÎÏÇÏ *ÔÅËÓÔÁ*" +msgid "Which actions require confirmation" +msgstr "ëÁËÉÅ ÄÅÊÓÔ×ÉÑ ÔÒÅÂÕÀÔ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ" #: src/lang.c:2012 -msgid "# Color of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" -msgstr "# ã×ÅÔ ÄÌÑ ×ÙÄÅÌÅÎÎÏÇÏ *ÔÅËÓÔÁ*\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 11 (Ö£ÌÔÙÊ)\n" +msgid "# What should we ask confirmation for.\n" +msgstr "# ëÁËÉÅ ÄÅÊÓÔ×ÉÑ ÔÒÅÂÕÀÔ ÐÏÄÔ×ÅÒÖÄÅÎÉÑ.\n" + +#: src/lang.c:2017 +msgid "'Mark as (un)read' ignores tags" +msgstr "" #: src/lang.c:2018 -msgid "Color of highlighting with _dash_" -msgstr "ã×ÅÔ ×ÙÄÅÌÅÎÎÏÇÏ _ÔÅËÓÔÁ_" +msgid "# If ON the 'Mark as (un)read' function marks only the current article.\n" +msgstr "" -#: src/lang.c:2019 -msgid "# Color of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" -msgstr "# ã×ÅÔ ÄÌÑ ×ÙÄÅÌÅÎÎÏÇÏ _ÔÅËÓÔÁ_\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 13 (Ó×ÅÔÌÏ-ÒÏÚÏ×ÙÊ)\n" - -#: src/lang.c:2025 -msgid "Color of highlighting with /slash/" -msgstr "ã×ÅÔ ×ÙÄÅÌÅÎÎÏÇÏ /ÔÅËÓÔÁ/" - -#: src/lang.c:2026 -msgid "# Color of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" -msgstr "# ã×ÅÔ ÄÌÑ ×ÙÄÅÌÅÎÉÑ /ÔÅËÓÔÁ/\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 14 (Ó×ÅÔÌÏ-ÇÏÌÕÂÏÊ)\n" - -#: src/lang.c:2032 -msgid "Color of highlighting with -stroke-" -msgstr "ã×ÅÔ ×ÙÄÅÌÅÎÎÏÇÏ -ÔÅËÓÔÁ-" - -#: src/lang.c:2033 -msgid "# Color of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" -msgstr "# ã×ÅÔ ÄÌÑ ×ÙÄÅÌÅÎÉÑ -ÔÅËÓÔÁ-\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 12 (Ó×ÅÔÌÏ-ÓÉÎÉÊ)\n" - -#: src/lang.c:2040 -msgid "Attr. of highlighting with *stars*" -msgstr "áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ *ÔÅËÓÔÁ*" - -#: src/lang.c:2041 -msgid "# Attributes of word highlighting on mono terminals\n" - "# Possible values are:\n" - "# 0 = Normal\n" - "# 1 = Underline\n" - "# 2 = Best highlighting\n" - "# 3 = Reverse video\n" - "# 4 = Blinking\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# Attribute of word highlighting with *stars*\n" - "# Default: 6 (bold)\n" -msgstr "# áÔÒÉÂÕÔÙ ÐÏÄÓ×ÅÞÉ×ÁÎÉÑ ÓÌÏ× ÎÁ ÍÏÎÏÈÒÏÍÎÙÈ ÔÅÒÍÉÎÁÌÁÈ\n" - "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ:\n" - "# 0 = îÏÒÍÁÌØÎÙÊ\n" - "# 1 = ðÏÄÞ£ÒËÉ×ÁÎÉÅ\n" - "# 2 = ìÕÞÛÅÅ ÐÏÄÓ×ÅÞÉ×ÁÎÉÅ\n" - "# 3 = òÅ×ÅÒÓÎÏÅ ×ÉÄÅÏ\n" - "# 4 = íÉÇÁÎÉÅ\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# áÔÒÉÂÕÔ ÄÌÑ ×ÙÄÅÌÅÎÎÏÇÏ *ÔÅËÓÔÁ*\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 6 (bold)\n" +#: src/lang.c:2022 +#, fuzzy +msgid "Program to run to open URLs, sets, cancels." +msgstr "ðÒÏÇÒÁÍÍÙ ÄÌÑ ÏÔËÒÙÔÉÑ URL. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ" + +#: src/lang.c:2023 +#, fuzzy +msgid "Program that opens URLs" +msgstr "ðÒÏÇÒÁÍÍÁ ÄÌÑ ÏÔËÒÙÔÉÑ URL" + +#: src/lang.c:2024 +#, fuzzy +msgid "# The program used to open URLs. The actual URL will be appended\n" +msgstr "# ðÒÏÇÒÁÍÍÁ ÄÌÑ ÏÔËÒÙÔÉÑ URL. óÁÍ URL ÂÕÄÅÔ ÄÏÂÁ×ÌÅÎ × ËÏÎÅÃ\n" + +#: src/lang.c:2029 +msgid "Use mouse in xterm" +msgstr "éÓÐÏÌØÚÏ×ÁÔØ ÍÙÛØ × xterm" + +#: src/lang.c:2030 +msgid "# If ON enable mouse button support on xterm terminals\n" +msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÍÙÛØ × xterm ÔÅÒÍÉÎÁÌÁÈ\n" + +#: src/lang.c:2036 +msgid "Use scroll keys on keypad" +msgstr "éÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÉ ÐÒÏËÒÕÔËÉ ÎÁ keypad" + +#: src/lang.c:2037 +msgid "# If ON enable scroll keys on terminals that support it\n" +msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÉ ÐÒÏËÒÕÔËÉ ÎÁ ÎÅËÏÔÏÒÙÈ ÔÅÒÍÉÎÁÌÁÈ\n" + +#: src/lang.c:2042 +msgid "Enter maximum number of article to get. sets." +msgstr "÷×ÅÄÉÔÅ ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÓÔÁÔÅÊ ÄÌÑ ÚÁÇÒÕÚËÉ. ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2043 +msgid "Number of articles to get" +msgstr "þÉÓÌÏ ÓÔÁÔÅÊ ÄÌÑ ÚÁÇÒÕÚËÉ" + +#: src/lang.c:2044 +msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" + "# of already read articles to be read before first unread one\n" +msgstr "" + +#: src/lang.c:2049 +msgid "Enter number of days article is considered recent. sets." +msgstr "÷×ÅÄÉÔÅ ÞÉÓÌÏ ÄÎÅÊ, ÐÏËÁ ÓÔÁÔØÑ ÓÞÉÔÁÅÔÓÑ ÎÏ×ÏÊ. ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2050 +msgid "Article recentness time limit" +msgstr "ìÉÍÉÔ ×ÒÅÍÅÎÉ ÄÌÑ ÎÏ×ÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:2051 +msgid "# Number of days in which article is considered recent, (0=OFF)\n" +msgstr "# þÉÓÌÏ ÄÎÅÊ, ÐÏËÁ ÓÔÁÔØÑ ÓÞÉÔÁÅÔÓÑ ÎÏ×ÏÊ. (0=OFF)\n" + +#: src/lang.c:2055 +msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." +msgstr "WILDMAT ÄÌÑ ÏÂÙÞÎÙÈ ÛÁÂÌÏÎÏ×, REGEX ÄÌÑ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ" #: src/lang.c:2056 -msgid "Attr. of highlighting with _dash_" -msgstr "áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ _ÔÅËÓÔÁ_" +msgid "Wildcard matching" +msgstr "ôÉÐ ÛÁÂÌÏÎÁ" #: src/lang.c:2057 -msgid "# Attribute of word highlighting with _dash_\n" - "# Default: 2 (best highlighting)\n" -msgstr "# áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ _ÔÅËÓÔÁ_\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÌÕÞÛÅÅ ÐÏÄÓ×ÅÞÉ×ÁÎÉÅ)\n" - -#: src/lang.c:2063 -msgid "Attr. of highlighting with /slash/" -msgstr "áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ /ÔÅËÓÔÁ/" +msgid "# Wildcard matching\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" +msgstr "# óÏÐÏÓÔÁ×ÌÅÎÉÅ Ó ÛÁÂÌÏÎÏÍ\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" #: src/lang.c:2064 -msgid "# Attribute of word highlighting with /slash/\n" - "# Default: 5 (half bright)\n" -msgstr "# áÔÒÉÂÕÔ ÄÌÑ ×ÙÄÅÌÅÎÉÑ /ÔÅËÓÔÁ/\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 5 (half bright)\n" +msgid "Enter minimal score before an article is marked killed. sets." +msgstr "" + +#: src/lang.c:2065 +msgid "Score limit (kill)" +msgstr "" + +#: src/lang.c:2066 +msgid "# Score limit before an article is marked killed\n" +msgstr "" #: src/lang.c:2070 -msgid "Attr. of highlighting with -stroke-" -msgstr "áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ -ÔÅËÓÔÁ-" +msgid "Enter default score to kill articles. sets." +msgstr "" #: src/lang.c:2071 -msgid "# Attribute of word highlighting with -stroke-\n" - "# Default: 3 (reverse video)\n" -msgstr "# áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ -ÔÅËÓÔÁ-\n" - "# ðÏ ÕÍÏÌÞÁÎÉÀ: 3 (ÒÅ×ÅÒÓÎÏÅ ×ÉÄÅÏ)\n" +msgid "Default score to kill articles" +msgstr "" + +#: src/lang.c:2072 +msgid "# Default score to kill articles\n" +msgstr "" + +#: src/lang.c:2076 +msgid "Enter minimal score before an article is marked hot. sets." +msgstr "" #: src/lang.c:2077 -msgid "URL highlighting in message body" -msgstr "ðÏÄÓ×ÅÞÉ×ÁÔØ URL × ÔÅÌÅ ÐÉÓØÍÁ" +msgid "Score limit (select)" +msgstr "" #: src/lang.c:2078 -msgid "# Enable URL highlighting?\n" -msgstr "# ÷ËÌÀÞÉÔØ ÐÏÄÓ×ÅÔËÕ URL?\n" +msgid "# Score limit before an article is marked hot\n" +msgstr "" + +#: src/lang.c:2082 +msgid "Enter default score to select articles. sets." +msgstr "" #: src/lang.c:2083 -msgid "Word highlighting in message body" -msgstr "ðÏÄÓ×ÅÞÉ×ÁÔØ ÓÌÏ×Á × ÔÅÌÅ ÓÏÏÂÝÅÎÉÑ" +msgid "Default score to select articles" +msgstr "" #: src/lang.c:2084 -msgid "# Enable word highlighting?\n" -msgstr "# ÷ËÌÀÞÉÔØ ÐÏÄÓ×ÅÔËÕ ÓÌÏ×?\n" - -#: src/lang.c:2089 -msgid "What to display instead of mark" -msgstr "÷Ù×ÏÄÉÔØ ×ÍÅÓÔÏ ÏÔÍÅÔËÉ" +msgid "# Default score to select articles\n" +msgstr "" #: src/lang.c:2090 -msgid "# Should the leading and ending stars and dashes also be displayed,\n" - "# even when they are highlighting marks?\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = no\n" - "# 1 = yes, display mark\n" - "# * 2 = print a space instead\n" -msgstr "" +msgid "Use slrnface to show ''X-Face:''s" +msgstr "éÓÐÏÌØÚÏ×ÁÔØ slrnface ÄÌÑ ÐÏËÁÚÁ X_Face:" + +#: src/lang.c:2091 +msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" + "# Only useful when running in an xterm.\n" +msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ slrnface(1) ÄÌÑ ÉÎÔÅÒÐÒÅÔÉÒÏ×ÁÎÉÑ\n" + "# ÚÁÇÏÌÏ×ËÁ X-Face. ðÏÌØÚÎÏ ÔÏÌØËÏ ÐÏÄ xterm.\n" #: src/lang.c:2099 -msgid "Enter column number to wrap article lines to in the pager. sets." -msgstr "÷×ÅÄÉÔÅ ÍÁËÓ. ÞÉÓÌÏ ÓÉÍ×ÏÌÏ× × ÓÔÒÏËÅ × ÐÅÊÄÖÅÒÅ. ÕÓÔÁÎÏ×ÉÔØ." +msgid "Use ANSI color" +msgstr "éÓÐÏÌØÚÏ×ÁÔØ Ã×ÅÔ ANSI" #: src/lang.c:2100 -msgid "Page line wrap column" -msgstr "íÁËÓ. ÞÉÓÌÏ ÓÉÍ×ÏÌÏ× × ÓÔÒÏËÅ × ÐÅÊÄÖÅÒÅ" +msgid "# If ON using ANSI-color\n" +msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ Ã×ÅÔ ANSI\n" -#: src/lang.c:2101 -msgid "# Wrap article lines at column\n" -msgstr "" +#: src/lang.c:2105 +msgid "Standard foreground color" +msgstr "óÔÁÎÄÁÒÔÎÙÊ Ã×ÅÔ ÓÉÍ×ÏÌÏ×" #: src/lang.c:2106 -msgid "Wrap around threads on next unread" -msgstr "" - -#: src/lang.c:2107 -msgid "# If ON wrap around threads on searching next unread article\n" -msgstr "" - -#: src/lang.c:2111 -msgid "Enter default mail address (and fullname). sets." -msgstr "÷×ÅÄÉÔÅ email ÁÄÒÅÓ (É ÐÏÌÎÏÅ ÉÍÑ). ÕÓÔÁÎÏ×ÉÔØ." +msgid "# Standard foreground color\n" + "# Default: -1 (default color)\n" +msgstr "# óÔÁÎÄÁÒÔÎÙÊ Ã×ÅÔ ÓÉÍ×ÏÌÏ×\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" #: src/lang.c:2112 -msgid "Mail address (and fullname)" -msgstr "Email ÁÄÒÅÓ (É ÐÏÌÎÏÅ ÉÍÑ)" +msgid "Standard background color" +msgstr "óÔÁÎÄÁÒÔÎÙÊ Ã×ÅÔ ÆÏÎÁ" #: src/lang.c:2113 -msgid "# User's mail address (and fullname), if not username@host (fullname)\n" -msgstr "# Email ÁÄÒÅÓ ÐÏÌØÚÏ×ÁÔÅÌÑ (É ÐÏÌÎÏÅ ÉÍÑ).\n" - -#: src/lang.c:2118 -msgid "Show empty Followup-To in editor" -msgstr "ðÏËÁÚÙ×ÁÔØ ÐÕÓÔÏÊ Followup-To × ÒÅÄÁËÔÏÒÅ" +msgid "# Standard background color\n" + "# Default: -1 (default color)\n" +msgstr "# óÔÁÎÄÁÒÔÎÙÊ Ã×ÅÔ ÆÏÎÁ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" #: src/lang.c:2119 -msgid "# If ON show empty Followup-To header when editing an article\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ÐÕÓÔÏÊ Follow-up ×Ï ×ÒÅÍÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÓÔÁÔØÉ\n" +msgid "Color for inverse text (background)" +msgstr "ã×ÅÔ ÄÌÑ ÉÎ×ÅÒÓÎÏÇÏ ÔÅËÓÔÁ (ÆÏÎ)" -#: src/lang.c:2123 -msgid "Enter path/! command/--none to create your default signature. sets." -msgstr "÷×ÅÄÉÔÅ ÐÕÔØ/! ËÏÍÁÎÄÁ/--none ÄÌÑ ÓÏÚÄÁÎÉÑ ×ÁÛÅÊ ÓÉÇÎÁÔÕÒÙ. ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2124 -msgid "Create signature from path/command" -msgstr "óÏÚÄÁÔØ ÓÉÇÎÁÔÕÒÕ ËÏÍÁÎÄÏÊ" - -#: src/lang.c:2125 -msgid "# Signature path (random sigs)/file to be used when posting/replying\n" - "# default_sigfile=file appends file as signature\n" - "# default_sigfile=!command executes external command to generate a " - "signature\n" - "# default_sigfile=--none don't append a signature\n" -msgstr "" - -#: src/lang.c:2132 -msgid "Prepend signature with \"-- \" on own line. toggles & sets." -msgstr "îÁÞÉÎÁÔØ ÓÉÇÎÁÔÕÒÕ Ó \"--\" × ÏÔÄÅÌØÎÏÊ ÓÔÒÏËÅ. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." +#: src/lang.c:2120 +msgid "# Color of background for inverse text\n" + "# Default: 4 (blue)\n" +msgstr "# ã×ÅÔ ÆÏÎÁ ÄÌÑ ÉÎ×ÅÒÓÎÏÇÏ ÔÅËÓÔÁ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 4 (ÓÉÎÉÊ)\n" + +#: src/lang.c:2126 +msgid "Color for inverse text (foreground)" +msgstr "ã×ÅÔ ÄÌÑ ÉÎ×ÅÒÓÎÏÇÏ ÔÅËÓÔÁ (ÓÉÍ×ÏÌÙ)" + +#: src/lang.c:2127 +msgid "# Color of foreground for inverse text\n" + "# Default: 7 (white)\n" +msgstr "# ã×ÅÔ ÄÌÑ ÉÎ×ÅÒÓÎÏÇÏ ÔÅËÓÔÁ (ÓÉÍ×ÏÌÙ)\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 7 (ÂÅÌÙÊ)\n" #: src/lang.c:2133 -msgid "Prepend signature with \"-- \"" -msgstr "îÁÞÉÎÁÔØ ÓÉÇÎÁÔÕÒÕ Ó \"--\"" +msgid "Color of text lines" +msgstr "ã×ÅÔ ÔÅËÓÔÏ×ÙÈ ÓÔÒÏË" #: src/lang.c:2134 -msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" -msgstr "# åÓÌÉ ON, ÔÏ ÎÁÞÉÎÁÔØ ÓÉÇÎÁÔÕÒÕ Ó ÄÅÆÉÓÏ× '\\n-- \\n'\n" - -#: src/lang.c:2138 -msgid "Add signature when reposting articles. toggles & sets." -msgstr "äÏÂÁ×ÌÑÔØ ÓÉÇÎÁÔÕÒÕ ÐÒÉ ÐÏ×ÔÏÒÎÏÊ ÏÔÐÒÁ×ËÅ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2139 -msgid "Add signature when reposting" -msgstr "äÏÂÁ×ÌÑÔØ ÓÉÇÎÁÔÕÒÕ ÐÒÉ ÐÏ×ÔÏÒÎÏÊ ÏÔÐÒÁ×ËÅ" +msgid "# Color of text lines\n" + "# Default: -1 (default color)\n" +msgstr "# ã×ÅÔ ÔÅËÓÔÏ×ÙÈ ÓÔÒÏË\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" #: src/lang.c:2140 -msgid "# If ON add signature to reposted articles\n" -msgstr "# åÓÌÉ ON, ÔÏ ÄÏÂÁ×ÌÑÔØ ÓÉÇÎÁÔÕÒÕ ÐÒÉ ÐÏ×ÔÏÒÎÏÊ ÏÔÐÒÁ×ËÅ\n" - -#: src/lang.c:2144 -#, c-format -msgid "Enter quotation marks, %s or %S for author's initials." -msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌÙ ÄÌÑ ÎÁÞÁÌÁ ÃÉÔÉÒÏ×ÁÎÉÑ, %s ÉÌÉ %S ÉÎÉÃÉÁÌÙ Á×ÔÏÒÁ." +msgid "Color of mini help menu" +msgstr "ã×ÅÔ ÔÅËÓÔÁ ÍÅÎÀ ÍÉÎÉ-ÐÏÍÏÝÉ" -#: src/lang.c:2145 -msgid "Characters used as quote-marks" -msgstr "óÉÍ×ÏÌÙ ÉÓÐÏÌØÚÕÅÍÙÅ ÄÌÑ ÎÁÞÁÌÁ ÃÉÔÉÒÏ×ÁÎÉÑ" - -#: src/lang.c:2146 -#, c-format -msgid "# Characters used in quoting to followups and replies.\n" - "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" -msgstr "" - -#: src/lang.c:2152 -msgid "Quoting behavior" -msgstr "ãÉÔÉÒÏ×ÁÎÉÅ" - -#: src/lang.c:2153 -msgid "# How quoting should be handled when following up or replying.\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = Nothing special\n" - "# 1 = Compress quotes\n" - "# 2 = Quote signatures\n" - "# 3 = Compress quotes, quote signatures\n" - "# 4 = Quote empty lines\n" - "# * 5 = Compress quotes, quote empty lines\n" - "# 6 = Quote signatures, quote empty lines\n" - "# 7 = Compress quotes, quote signatures, quote empty lines\n" -msgstr "# íÅÔÏÄ ÃÉÔÉÒÏ×ÁÎÉÑ ÓÔÁÔÅÊ ÐÒÉ ÏÔ×ÅÔÅ.\n" - "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# 0 = îÉÞÅÇÏ ÏÓÏÂÅÎÎÏÇÏ\n" - "# 1 = óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ\n" - "# 2 = ãÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ\n" - "# 3 = óÖÉÍÁÔØ ÓÉÇÎÁÔÕÒÙ, ÃÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ\n" - "# 4 = ãÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ\n" - "# * 5 = óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ, ÃÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ\n" - "# 6 = ãÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ É ÐÕÓÔÙÅ ÓÔÒÏËÉ\n" - "# 7 = óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ, ÃÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ É ÐÕÓÔÙÅ ÓÔÒÏËÉ\n" - -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 -msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" -msgstr "" - -#: src/lang.c:2167 -msgid "Quote line when following up" -msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÒÉ follow-up" +#: src/lang.c:2141 +msgid "# Color of mini help menu\n" + "# Default: 3 (brown)\n" +msgstr "# ã×ÅÔ ÔÅËÓÔÁ ÍÉÎÉ-ÐÏÍÏÝÉ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 3 (ËÏÒÉÞÎÅ×ÙÊ)\n" + +#: src/lang.c:2147 +msgid "Color of help text" +msgstr "ã×ÅÔ ÔÅËÓÔÁ ÐÏÍÏÝÉ" + +#: src/lang.c:2148 +msgid "# Color of help pages\n" + "# Default: -1 (default color)\n" +msgstr "# ã×ÅÔ ÔÅËÓÔÁ ÐÏÍÏÝÉ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" + +#: src/lang.c:2154 +msgid "Color of status messages" +msgstr "ã×ÅÔ ÓÔÁÔÕÓÎÙÈ ÓÏÏÂÝÅÎÉÊ" + +#: src/lang.c:2155 +msgid "# Color of messages in last line\n" + "# Default: 6 (cyan)\n" +msgstr "" + +#: src/lang.c:2161 +msgid "Color of quoted lines" +msgstr "ã×ÅÔ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" + +#: src/lang.c:2162 +msgid "# Color of quote-lines\n" + "# Default: 2 (green)\n" +msgstr "# ã×ÅÔ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÚÅÌ£ÎÙÊ)\n" #: src/lang.c:2168 -#, c-format -msgid "# Format of quote line when mailing/posting/following-up an article\n" - "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" - "# %%N Full Name %%C First Name %%I Initials\n" -msgstr "" +msgid "Color of twice quoted line" +msgstr "ã×ÅÔ Ä×ÁÖÄÙ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" + +#: src/lang.c:2169 +msgid "# Color of twice quoted lines\n" + "# Default: 3 (brown)\n" +msgstr "# ã×ÅÔ Ä×ÁÖÄÙ ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 3 (ËÏÒÉÞÎÅ×ÙÊ)\n" #: src/lang.c:2175 -msgid "Quote line when cross-posting" -msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÒÉ ËÒÏÓÓ-ÐÏÓÔÉÎÇÅ" +msgid "Color of =>3 times quoted line" +msgstr "ã×ÅÔ >=3 ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË" -#: src/lang.c:2181 -msgid "Quote line when mailing" -msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÒÉ ÏÔÐÒÁ×ËÅ email" - -#: src/lang.c:2186 -msgid "If ON, include User-Agent: header. toggles & sets." -msgstr "åÓÌÉ ON, ÔÏ ÄÏÂÁ×ÌÑÔØ ÚÁÇÏÌÏ×ÏË User-Agent:. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2187 -msgid "Insert 'User-Agent:'-header" -msgstr "äÏÂÁ×ÌÑÔØ ÚÁÇÏÌÏ×ÏË User-Agent:" - -#: src/lang.c:2188 -msgid "# If ON include advertising User-Agent: header\n" -msgstr "# åÓÌÉ ON, ÔÏ ÄÏÂÁ×ÌÑÔØ ÒÅËÌÁÍÎÙÊ ÚÁÇÏÌÏ×ÏË User-Agent:\n" - -#: src/lang.c:2193 -msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." -msgstr "÷×ÅÄÉÔÅ ËÏÄÉÒÏ×ËÕ ÄÌÑ MIME (ÎÁÐÒ. US-ASCII, ISO-8859-1, EUC-KR), " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2194 -msgid "MM_CHARSET" -msgstr "" - -#: src/lang.c:2195 -msgid "# Charset supported locally which is also used for MIME header and\n" - "# Content-Type header.\n" - "# If not set, the value of the environment variable MM_CHARSET is used.\n" - "# Set to US-ASCII or compile time default if neither of them is defined.\n" - "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" - "# mm_charset is considered not displayable and represented as '?'.\n" -msgstr "" - -#: src/lang.c:2205 -msgid "MM_NETWORK_CHARSET" -msgstr "" - -#: src/lang.c:2206 -msgid "# Charset used for MIME (Content-Type) header in postings.\n" -msgstr "# ëÏÄÉÒÏ×ËÁ × MIME (Content-Type) × ÏÔÐÒÁ×ÌÑÅÍÙÈ ÓÔÁÔØÑÈ.\n" - -#: src/lang.c:2212 -msgid "Mailbox format" -msgstr "æÏÒÍÁÔ Mailbox" - -#: src/lang.c:2213 -msgid "# Format of the mailbox.\n" -msgstr "# æÏÒÍÁÔ mailbox.\n" +#: src/lang.c:2176 +msgid "# Color of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" +msgstr "# ã×ÅÔ >=3 ÃÉÔÉÒÕÅÍÙÈ ÓÔÒÏË\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 4 (ÓÉÎÉÊ)\n" + +#: src/lang.c:2182 +msgid "Color of article header lines" +msgstr "ã×ÅÔ ÓÔÒÏË ÚÁÇÏÌÏ×ËÏ× ÓÔÁÔØÉ" + +#: src/lang.c:2183 +msgid "# Color of header-lines\n" + "# Default: 2 (green)\n" +msgstr "# ã×ÅÔ ÓÔÒÏË ÚÁÇÏÌÏ×ËÁ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÚÅÌ£ÎÙÊ)\n" + +#: src/lang.c:2189 +msgid "Color of actual news header fields" +msgstr "ã×ÅÔ ÓÔÒÏË news ÚÁÇÏÌÏ×ËÏ× ÓÔÁÔÅÊ" + +#: src/lang.c:2190 +msgid "# Color of actual news header fields\n" + "# Default: 9 (light red)\n" +msgstr "# ã×ÅÔ ÓÔÒÏË news ÚÁÇÏÌÏ×ËÏ× ÓÔÁÔÅÊ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 9 (Ó×ÅÔÌÏ-ËÒÁÓÎÙÊ)\n" + +#: src/lang.c:2196 +msgid "Color of article subject lines" +msgstr "ã×ÅÔ ÓÔÒÏË Ó ÔÅÍÏÊ ÓÔÁÔØÉ" + +#: src/lang.c:2197 +msgid "# Color of article subject\n" + "# Default: 6 (cyan)\n" +msgstr "# ã×ÅÔ ÓÔÒÏËÉ Ó ÔÅÍÏÊ ÓÔÁÔØÉ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 6 (ÇÏÌÕÂÏÊ)\n" + +#: src/lang.c:2203 +msgid "Color of response counter" +msgstr "ã×ÅÔ ÓÞÅÔÞÉËÁ ËÏÌÉÞÅÓÔ×Á ÏÔ×ÅÔÏ×" + +#: src/lang.c:2204 +msgid "# Color of response counter\n" + "# Default: 2 (green)\n" +msgstr "# ã×ÅÔ ÓÞÅÔÞÉËÁ ËÏÌÉÞÅÓÔ×Á ÏÔ×ÅÔÏ×\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÚÅÌ£ÎÙÊ)\n" + +#: src/lang.c:2210 +msgid "Color of sender (From:)" +msgstr "ã×ÅÔ ÓÔÒÏËÉ ÏÔÐÒÁ×ÉÔÅÌÑ From:" + +#: src/lang.c:2211 +msgid "# Color of sender (From:)\n" + "# Default: 2 (green)\n" +msgstr "# ã×ÅÔ ÓÔÒÏËÉ ÏÔÐÒÁ×ÉÔÅÌÑ (From:)\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÚÅÌ£ÎÙÊ)\n" + +#: src/lang.c:2217 +msgid "Color of help/mail sign" +msgstr "ã×ÅÔ ÓÏÏÂÝÅÎÉÑ Ï ×ÙÚÏ×Å ÐÏÍÏÝÉ" #: src/lang.c:2218 -msgid "MIME encoding in news messages" -msgstr "ëÏÄÉÒÏ×ËÁ MIME × ÓÔÁÔØÑÈ" - -#: src/lang.c:2219 -msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" - "# for mails and posts, if necessary. QP is efficient for most European\n" - "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" - "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" - "# Russian charsets with a lot of 8bit characters.\n" -msgstr "" - -#: src/lang.c:2227 src/lang.c:2248 -msgid "Don't change unless you know what you are doing. cancels." -msgstr "îÅ ÉÚÍÅÎÑÊÔÅ, ÅÓÌÉ ÎÅ ÐÏÎÉÍÁÅÔÅ ÞÔÏ ×Ù ÄÅÌÁÅÔÅ. ÏÔÍÅÎÁ." - -#: src/lang.c:2228 -msgid "Use 8bit characters in news headers" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ÓÔÁÔÅÊ" - -#: src/lang.c:2229 -msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in header are encoded regardless of the value of this\n" - "# parameter unless post_mime_encoding is 8bit as well.\n" -msgstr "# åÓÌÉ ON, ÔÏ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ÓÔÁÔÅÊ ÎÅ ËÏÄÉÒÕÀÔÓÑ.\n" - "# ðÏ ÕÍÏÌÞÎÁÎÉÀ OFF. ôÁËÉÍ ÏÂÒÁÚÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ\n" - "# ËÏÄÉÒÕÀÔÓÑ. 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ËÏÄÉÒÕÀÔÓÑ ×ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ\n" - "# ÏÔ ÚÎÁÞÅÎÉÑ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ, ÐÏËÁ post_mime_encoding ÔÁËÖÅ\n" - "# ÎÅ ÕÓÔÁÎÏ×ÌÅÎ × 8bit.\n" - -#: src/lang.c:2236 -msgid "Auto-view post-processed files toggles, sets, cancels." -msgstr "á×ÔÏÐÒÏÓÍÏÔÒ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÈ ÆÁÊÌÏ×. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ, " - "ÏÔÍÅÎÉÔØ" - -#: src/lang.c:2237 -msgid "View post-processed files" -msgstr "ðÒÏÓÍÏÔÒ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÈ ÆÁÊÌÏ×" +msgid "# Color of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" +msgstr "# ã×ÅÔ Help/Mail-Sign\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 4 (ÓÉÎÉÊ)\n" + +#: src/lang.c:2224 +msgid "Color of signatures" +msgstr "ã×ÅÔ ÓÉÇÎÁÔÕÒ" + +#: src/lang.c:2225 +msgid "# Color of signature\n" + "# Default: 4 (blue)\n" +msgstr "# ã×ÅÔ ÓÉÇÎÁÔÕÒ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 4 (ÓÉÎÉÊ)\n" + +#: src/lang.c:2231 +msgid "Color of highlighted URLs" +msgstr "ã×ÅÔ ÐÏÄÓ×ÅÞÉ×ÁÎÉÑ URL" + +#: src/lang.c:2232 +msgid "# Color of highlighted URLs\n" + "# Default: -1 (default color)\n" +msgstr "# ã×ÅÔ ÐÏÄÓ×ÅÞÉ×ÁÎÉÑ URL\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: -1 (Ã×ÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ)\n" #: src/lang.c:2238 -msgid "# If set, post processed files will be opened in a viewer\n" -msgstr "# åÓÌÉ ÕÓÔÁÎÏ×ÌÅÎ, ÔÏ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÅ ÆÁÊÌÙ ÂÕÄÕÔ ÏÔËÒÙ×ÁÔØÓÑ\n" - "# × ÐÒÏÓÍÏÔÏÒÝÉËÅ\n" - -#: src/lang.c:2243 -msgid "MIME encoding in mail messages" -msgstr "MIME ËÏÄÉÒÏ×ËÁ × ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÑÈ" - -#: src/lang.c:2249 -msgid "Use 8bit characters in mail headers" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ÐÏÞÔÙ" - -#: src/lang.c:2250 -msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in headers are encoded regardless of the value of this " - "parameter\n" - "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" - "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" - "# turn it ON unless you have some compelling reason.\n" -msgstr "" +#, fuzzy +msgid "Color of verbatim blocks" +msgstr "ã×ÅÔ ÔÅËÓÔÏ×ÙÈ ÓÔÒÏË" -#: src/lang.c:2260 -msgid "Strip blanks from ends of lines" -msgstr "õÂÉÒÁÔØ ÐÒÏÂÅÌÙ × ËÏÎÃÅ ÓÔÒÏËÉ" +#: src/lang.c:2239 +#, fuzzy +msgid "# Color of verbatim blocks\n" + "# Default: 5 (pink)\n" +msgstr "# ã×ÅÔ ÓÔÒÏËÉ Ó ÔÅÍÏÊ ÓÔÁÔØÉ\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 6 (ÇÏÌÕÂÏÊ)\n" + +#: src/lang.c:2245 +msgid "Color of highlighting with *stars*" +msgstr "ã×ÅÔ ×ÙÄÅÌÅÎÎÏÇÏ *ÔÅËÓÔÁ*" + +#: src/lang.c:2246 +msgid "# Color of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" +msgstr "# ã×ÅÔ ÄÌÑ ×ÙÄÅÌÅÎÎÏÇÏ *ÔÅËÓÔÁ*\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 11 (Ö£ÌÔÙÊ)\n" + +#: src/lang.c:2252 +msgid "Color of highlighting with _dash_" +msgstr "ã×ÅÔ ×ÙÄÅÌÅÎÎÏÇÏ _ÔÅËÓÔÁ_" + +#: src/lang.c:2253 +msgid "# Color of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" +msgstr "# ã×ÅÔ ÄÌÑ ×ÙÄÅÌÅÎÎÏÇÏ _ÔÅËÓÔÁ_\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 13 (Ó×ÅÔÌÏ-ÒÏÚÏ×ÙÊ)\n" + +#: src/lang.c:2259 +msgid "Color of highlighting with /slash/" +msgstr "ã×ÅÔ ×ÙÄÅÌÅÎÎÏÇÏ /ÔÅËÓÔÁ/" -#: src/lang.c:2261 -msgid "# If ON strip blanks from ends of lines for faster display on slow " - "terminals.\n" -msgstr "# åÓÌÉ ON, ÔÏ ÕÂÉÒÁÔØ ÐÒÏÂÅÌÙ × ËÏÎÃÅ ÓÔÒÏËÉ ÄÌÑ ÂÏÌÅÅ ÂÙÓÔÒÏÇÏ ×Ù×ÏÄÁ\n" - "# ÎÁ ÍÅÄÌÅÎÎÙÈ ÔÅÒÍÉÎÁÌÁÈ.\n" +#: src/lang.c:2260 +msgid "# Color of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" +msgstr "# ã×ÅÔ ÄÌÑ ×ÙÄÅÌÅÎÉÑ /ÔÅËÓÔÁ/\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 14 (Ó×ÅÔÌÏ-ÇÏÌÕÂÏÊ)\n" #: src/lang.c:2266 -msgid "If ON, use transliteration. toggles & sets." -msgstr "åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÒÁÎÓÌÉÔÅÒÁÃÉÀ, <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ" +msgid "Color of highlighting with -stroke-" +msgstr "ã×ÅÔ ×ÙÄÅÌÅÎÎÏÇÏ -ÔÅËÓÔÁ-" #: src/lang.c:2267 -msgid "Transliteration" -msgstr "ôÒÁÎÓÌÉÔÅÒÁÃÉÑ" - -#: src/lang.c:2268 -msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" - "# be represented in the in the target character set, it can be approximated\n" - "# through one or several similarly looking characters.\n" -msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÁÓÛÉÒÅÎÉÅ //TRANSLIT. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ËÏÇÄÁ\n" - "# ÓÉÍ×ÏÌ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÒÅÄÓÔÁ×ÌÅÎ × ÃÅÌÅ×ÏÍ ÎÁÂÏÒÅ ÓÉÍ×ÏÌÏ×, ÔÏ ÏÎ\n" - "# ÁÐÐÒÏËÓÉÍÉÒÕÅÔÓÑ ÏÄÎÉÍ ÉÌÉ ÎÅÓËÏÌØËÉÍÉ ÐÏÈÏÖÉÍÉ ÓÉÍ×ÏÌÁÍÉ.\n" +msgid "# Color of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" +msgstr "# ã×ÅÔ ÄÌÑ ×ÙÄÅÌÅÎÉÑ -ÔÅËÓÔÁ-\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 12 (Ó×ÅÔÌÏ-ÓÉÎÉÊ)\n" + +#: src/lang.c:2274 +msgid "Attr. of highlighting with *stars*" +msgstr "áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ *ÔÅËÓÔÁ*" #: src/lang.c:2275 -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "ïÔÐÒÁ×ÌÑÔØ ×ÁÍ carbon copy Á×ÔÏÍÁÔÉÞÅÓËÉ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2276 -msgid "Send you a cc automatically" -msgstr "ïÔÐÒÁ×ÌÑÔØ ×ÁÍ Cc Á×ÔÏÍÁÔÉÞÅÓËÉ" - -#: src/lang.c:2277 -msgid "# If ON automatically put your name in the Cc: field when mailing an article\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÒÉ ÏÔÐÒÁ×ËÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏÍÅÝÁÔØ ×ÁÛÅ ÉÍÑ × ÐÏÌÅ Cc:\n" - -#: src/lang.c:2281 -msgid "Send you a blind carbon copy automatically. toggles & sets." -msgstr "" - -#: src/lang.c:2282 -msgid "Send you a blind cc automatically" -msgstr "ïÔÐÒÁ×ÌÑÔØ ×ÁÍ Blind cc Á×ÔÏÍÁÔÉÞÅÓËÉ" - -#: src/lang.c:2283 -msgid "# If ON automatically put your name in the Bcc: field when mailing an " - "article\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÒÉ ÏÔÐÒÁ×ËÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏÍÅÝÁÔØ ×ÁÛÅ ÉÍÑ × ÐÏÌÅ " - "Bcc:\n" - -#: src/lang.c:2287 -msgid "Enter address elements about which you want to be warned. sets." -msgstr "" - -#: src/lang.c:2288 -msgid "Spamtrap warning address parts" -msgstr "" - -#: src/lang.c:2289 -msgid "# A comma-delimited list of address-parts you want to be warned\n" - "# about when trying to reply by email.\n" -msgstr "" - -#: src/lang.c:2294 -msgid "Enter default number of days a filter entry will be valid. sets." -msgstr "÷×ÅÄÉÔÅ ÞÉÓÌÏ ÄÎÅÊ ÐÏËÁ ÆÉÌØÔÒ ÉÍÅÅÔ ÓÉÌÕ. ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2295 -msgid "No. of days a filter entry is valid" -msgstr "þÉÓÌÏ ÄÎÅÊ ÐÏËÁ ÆÉÌØÔÒ ÉÍÅÅÔ ÓÉÌÕ" - -#: src/lang.c:2296 -msgid "# Number of days a short term filter will be active\n" -msgstr "" - -#: src/lang.c:2300 -msgid "Add posted articles to filter. toggles & sets." -msgstr "äÏÂÁ×ÉÔØ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ × ÆÉÌØÔÒ, <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ" - -#: src/lang.c:2301 -msgid "Add posted articles to filter" -msgstr "äÏÂÁ×ÉÔØ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ × ÆÉÌØÔÒ" - -#: src/lang.c:2302 -msgid "# If ON add posted articles which start a new thread to filter for\n" - "# highlighting follow-ups\n" -msgstr "" - -#: src/lang.c:2306 -msgid "The directory where articles/threads are to be saved in mailbox format." -msgstr "äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ × ÆÏÒÍÁÔÅ mailbox." - -#: src/lang.c:2307 -msgid "Mail directory" -msgstr "äÉÒÅËÔÏÒÉÑ ÄÌÑ ÐÏÞÔÙ" - -#: src/lang.c:2308 -msgid "# (-m) directory where articles/threads are saved in mailbox format\n" -msgstr "# (-m) ÄÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ × ÆÏÒÍÁÔÅ mailbox\n" - -#: src/lang.c:2313 -msgid "Save articles in batch mode (-S)" -msgstr "óÏÈÒÁÎÑÔØ ÓÔÁÔØÉ × ÐÁËÅÔÎÏÍ ÒÅÖÉÍÅ (-S)" - -#: src/lang.c:2314 -msgid "# If ON articles/threads will be saved in batch mode when save -S\n" - "# or mail (-M/-N) is specified on the command line\n" -msgstr "" - -#: src/lang.c:2319 -msgid "The directory where you want articles/threads saved." -msgstr "äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ" - -#: src/lang.c:2320 -msgid "Directory to save arts/threads in" -msgstr "äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ" - -#: src/lang.c:2321 -msgid "# Directory where articles/threads are saved\n" -msgstr "# äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ\n" - -#: src/lang.c:2325 -msgid "Auto save article/thread by Archive-name: header. toggles & sets." -msgstr "á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁÎÑÔØ ÓÔÁÔØÉ/ÄÉÓË. Ó ÚÁÇÏÌÏ×ËÏÍ Archive-name:. <ðòïâåì> " - "×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2326 -msgid "Use Archive-name: header for save" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ ÚÁÇÏÌÏ×ÏË Archive-name: ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ" - -#: src/lang.c:2327 -msgid "# If ON articles/threads with Archive-name: in mail header will\n" - "# be automatically saved with the Archive-name & part/patch no.\n" -msgstr "" - -#: src/lang.c:2332 -msgid "Mark saved articles/threads as read. toggles, sets, " - "cancels." -msgstr "ïÔÍÅÔÉÔØ ÓÏÈÒÁΣÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓËÕÓÓÉÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ" +msgid "# Attributes of word highlighting on mono terminals\n" + "# Possible values are:\n" + "# 0 = Normal\n" + "# 1 = Underline\n" + "# 2 = Best highlighting\n" + "# 3 = Reverse video\n" + "# 4 = Blinking\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# Attribute of word highlighting with *stars*\n" + "# Default: 6 (bold)\n" +msgstr "# áÔÒÉÂÕÔÙ ÐÏÄÓ×ÅÞÉ×ÁÎÉÑ ÓÌÏ× ÎÁ ÍÏÎÏÈÒÏÍÎÙÈ ÔÅÒÍÉÎÁÌÁÈ\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ:\n" + "# 0 = îÏÒÍÁÌØÎÙÊ\n" + "# 1 = ðÏÄÞ£ÒËÉ×ÁÎÉÅ\n" + "# 2 = ìÕÞÛÅÅ ÐÏÄÓ×ÅÞÉ×ÁÎÉÅ\n" + "# 3 = òÅ×ÅÒÓÎÏÅ ×ÉÄÅÏ\n" + "# 4 = íÉÇÁÎÉÅ\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# áÔÒÉÂÕÔ ÄÌÑ ×ÙÄÅÌÅÎÎÏÇÏ *ÔÅËÓÔÁ*\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 6 (bold)\n" + +#: src/lang.c:2290 +msgid "Attr. of highlighting with _dash_" +msgstr "áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ _ÔÅËÓÔÁ_" + +#: src/lang.c:2291 +msgid "# Attribute of word highlighting with _dash_\n" + "# Default: 2 (best highlighting)\n" +msgstr "# áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ _ÔÅËÓÔÁ_\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 2 (ÌÕÞÛÅÅ ÐÏÄÓ×ÅÞÉ×ÁÎÉÅ)\n" + +#: src/lang.c:2297 +msgid "Attr. of highlighting with /slash/" +msgstr "áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ /ÔÅËÓÔÁ/" + +#: src/lang.c:2298 +msgid "# Attribute of word highlighting with /slash/\n" + "# Default: 5 (half bright)\n" +msgstr "# áÔÒÉÂÕÔ ÄÌÑ ×ÙÄÅÌÅÎÉÑ /ÔÅËÓÔÁ/\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 5 (half bright)\n" + +#: src/lang.c:2304 +msgid "Attr. of highlighting with -stroke-" +msgstr "áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ -ÔÅËÓÔÁ-" + +#: src/lang.c:2305 +msgid "# Attribute of word highlighting with -stroke-\n" + "# Default: 3 (reverse video)\n" +msgstr "# áÔÒÉÂÕÔ ×ÙÄÅÌÅÎÎÏÇÏ -ÔÅËÓÔÁ-\n" + "# ðÏ ÕÍÏÌÞÁÎÉÀ: 3 (ÒÅ×ÅÒÓÎÏÅ ×ÉÄÅÏ)\n" + +#: src/lang.c:2311 +msgid "URL highlighting in message body" +msgstr "ðÏÄÓ×ÅÞÉ×ÁÔØ URL × ÔÅÌÅ ÐÉÓØÍÁ" + +#: src/lang.c:2312 +msgid "# Enable URL highlighting?\n" +msgstr "# ÷ËÌÀÞÉÔØ ÐÏÄÓ×ÅÔËÕ URL?\n" + +#: src/lang.c:2317 +msgid "Word highlighting in message body" +msgstr "ðÏÄÓ×ÅÞÉ×ÁÔØ ÓÌÏ×Á × ÔÅÌÅ ÓÏÏÂÝÅÎÉÑ" + +#: src/lang.c:2318 +msgid "# Enable word highlighting?\n" +msgstr "# ÷ËÌÀÞÉÔØ ÐÏÄÓ×ÅÔËÕ ÓÌÏ×?\n" + +#: src/lang.c:2323 +msgid "What to display instead of mark" +msgstr "÷Ù×ÏÄÉÔØ ×ÍÅÓÔÏ ÏÔÍÅÔËÉ" + +#: src/lang.c:2324 +msgid "# Should the leading and ending stars and dashes also be displayed,\n" + "# even when they are highlighting marks?\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = no\n" + "# 1 = yes, display mark\n" + "# * 2 = print a space instead\n" +msgstr "" #: src/lang.c:2333 -msgid "Mark saved articles/threads as read" -msgstr "ïÔÍÅÔÉÔØ ÓÏÈÒÁΣÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓËÕÓÓÉÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" +msgid "Enter column number to wrap article lines to in the pager. sets." +msgstr "÷×ÅÄÉÔÅ ÍÁËÓ. ÞÉÓÌÏ ÓÉÍ×ÏÌÏ× × ÓÔÒÏËÅ × ÐÅÊÄÖÅÒÅ. ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:2334 -msgid "# If ON mark articles that are saved as read\n" -msgstr "# åÓÌÉ ON, ÔÏ ÏÔÍÅÔÉÔØ ÓÏÈÒÁΣÎÎÙÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ\n" +msgid "Page line wrap column" +msgstr "íÁËÓ. ÞÉÓÌÏ ÓÉÍ×ÏÌÏ× × ÓÔÒÏËÅ × ÐÅÊÄÖÅÒÅ" -#: src/lang.c:2338 -msgid "Do post processing (eg. extract attachments) for saved articles." -msgstr "÷ÙÐÏÌÎÉÔØ ÐÏÓÔ-ÏÂÒÁÂÏÔËÕ (ÎÁÐÒ. ÕÂÒÁÔØ ×ÌÏÖÅÎÉÑ) ÄÌÑ ÓÏÈÒÁÎÑÅÍÙÈ ÓÔÁÔÅÊ" - -#: src/lang.c:2339 -msgid "Post process saved articles" -msgstr "ðÏÓÔ-ÏÂÒÁÂÏÔËÁ ÓÏÈÒÁΣÎÎÙÈ ÓÔÁÔÅÊ" +#: src/lang.c:2335 +msgid "# Wrap article lines at column\n" +msgstr "" #: src/lang.c:2340 -msgid "# Perform post processing (saving binary attachments) from saved articles.\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no\n" - "# 1 = extract shell archives (shar) only\n" - "# 2 = yes\n" -msgstr "" - -#: src/lang.c:2349 -msgid "Process only unread articles" -msgstr "ïÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ÎÅÐÒÏÞ. ÓÔÁÔØÉ" - -#: src/lang.c:2350 -msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" -msgstr "" - -#: src/lang.c:2355 -msgid "Print all or just part of header. toggles & sets." -msgstr "ðÅÞÁÔÁÔØ ×ÓÅ ÉÌÉ ÔÏÌØËÏ ÞÁÓÔØ ÚÁÇÏÌÏ×ËÏ×. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2356 -msgid "Print all headers when printing" -msgstr "ðÅÞÁÔÁÔØ ×ÓÅ ÚÁÇÏÌÏ×ËÉ" +msgid "Wrap around threads on next unread" +msgstr "" + +#: src/lang.c:2341 +msgid "# If ON wrap around threads on searching next unread article\n" +msgstr "" + +#: src/lang.c:2345 +msgid "Enter default mail address (and fullname). sets." +msgstr "÷×ÅÄÉÔÅ email ÁÄÒÅÓ (É ÐÏÌÎÏÅ ÉÍÑ). ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2346 src/lang.c:2770 +msgid "Mail address (and fullname)" +msgstr "Email ÁÄÒÅÓ (É ÐÏÌÎÏÅ ÉÍÑ)" + +#: src/lang.c:2347 +msgid "# User's mail address (and fullname), if not username@host (fullname)\n" +msgstr "# Email ÁÄÒÅÓ ÐÏÌØÚÏ×ÁÔÅÌÑ (É ÐÏÌÎÏÅ ÉÍÑ).\n" + +#: src/lang.c:2352 +msgid "Show empty Followup-To in editor" +msgstr "ðÏËÁÚÙ×ÁÔØ ÐÕÓÔÏÊ Followup-To × ÒÅÄÁËÔÏÒÅ" + +#: src/lang.c:2353 +msgid "# If ON show empty Followup-To header when editing an article\n" +msgstr "# åÓÌÉ ON, ÔÏ ÐÏËÁÚÙ×ÁÔØ ÐÕÓÔÏÊ Follow-up ×Ï ×ÒÅÍÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÓÔÁÔØÉ\n" #: src/lang.c:2357 -msgid "# If ON print all of article header otherwise just the important lines\n" -msgstr "# åÓÌÉ ON, ÔÏ ×Ù×ÏÄÉÔØ ×ÓÅ ÚÁÇÏÌÏ×ËÉ ÓÔÁÔÅÊ, ÉÎÁÞÅ ÔÏÌØËÏ ×ÁÖÎÙÅ\n" +msgid "Enter path/! command/--none to create your default signature. sets." +msgstr "÷×ÅÄÉÔÅ ÐÕÔØ/! ËÏÍÁÎÄÁ/--none ÄÌÑ ÓÏÚÄÁÎÉÑ ×ÁÛÅÊ ÓÉÇÎÁÔÕÒÙ. ÕÓÔÁÎÏ×ÉÔØ." -#: src/lang.c:2361 -msgid "The printer program with options that is to be used to print articles/threads." -msgstr "ëÏÍÁÎÄÁ ÐÅÞÁÔÉ Ó ÐÁÒÁÍÅÔÒÁÍÉ ÄÌÑ ÐÅÞÁÔÉ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ" - -#: src/lang.c:2362 -msgid "Printer program with options" -msgstr "ðÒÏÇÒÁÍÍÁ ÐÅÞÁÔÉ Ó ÏÐÃÉÑÍÉ" - -#: src/lang.c:2363 -msgid "# Print program with parameters used to print articles/threads\n" -msgstr "# ëÏÍÁÎÄÁ ÐÅÞÁÔÉ Ó ÐÁÒÁÍÅÔÒÁÍÉ ÄÌÑ ÐÅÞÁÔÉ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ\n" - -#: src/lang.c:2369 -msgid "Force redraw after certain commands" -msgstr "ðÅÒÅÒÉÓÏ×Ù×ÁÔØ ÜËÒÁÎ ÐÏÓÌÅ ÎÅËÏÔÏÒÙÈ ËÏÍÁÎÄ" - -#: src/lang.c:2370 -msgid "# If ON a screen redraw will always be done after certain external commands\n" -msgstr "# åÓÌÉ ON, ÔÏ ÐÅÒÅÒÉÓÏ×Ù×ÁÔØ ÜËÒÁÎ ÐÏÓÌÅ ÎÅËÏÔÏÒÙÈ ×ÎÅÛÎÉÈ ËÏÍÁÎÄ\n" +#: src/lang.c:2358 +msgid "Create signature from path/command" +msgstr "óÏÚÄÁÔØ ÓÉÇÎÁÔÕÒÕ ËÏÍÁÎÄÏÊ" + +#: src/lang.c:2359 +msgid "# Signature path (random sigs)/file to be used when posting/replying\n" + "# sigfile=file appends file as signature\n" + "# sigfile=!command executes external command to generate a signature\n" + "# sigfile=--none don't append a signature\n" +msgstr "" + +#: src/lang.c:2366 +msgid "Prepend signature with \"-- \" on own line. toggles & sets." +msgstr "îÁÞÉÎÁÔØ ÓÉÇÎÁÔÕÒÕ Ó \"--\" × ÏÔÄÅÌØÎÏÊ ÓÔÒÏËÅ. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2367 +msgid "Prepend signature with \"-- \"" +msgstr "îÁÞÉÎÁÔØ ÓÉÇÎÁÔÕÒÕ Ó \"--\"" + +#: src/lang.c:2368 +msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" +msgstr "# åÓÌÉ ON, ÔÏ ÎÁÞÉÎÁÔØ ÓÉÇÎÁÔÕÒÕ Ó ÄÅÆÉÓÏ× '\\n-- \\n'\n" + +#: src/lang.c:2372 +msgid "Add signature when reposting articles. toggles & sets." +msgstr "äÏÂÁ×ÌÑÔØ ÓÉÇÎÁÔÕÒÕ ÐÒÉ ÐÏ×ÔÏÒÎÏÊ ÏÔÐÒÁ×ËÅ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2373 +msgid "Add signature when reposting" +msgstr "äÏÂÁ×ÌÑÔØ ÓÉÇÎÁÔÕÒÕ ÐÒÉ ÐÏ×ÔÏÒÎÏÊ ÏÔÐÒÁ×ËÅ" #: src/lang.c:2374 -msgid "Start editor with line offset. toggles, sets, cancels." -msgstr "úÁÐÕÓÔÉÔØ ÒÅÄÁËÔÏÒ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ, " - " ÏÔÍÅÎÁ." - -#: src/lang.c:2375 -msgid "Start editor with line offset" -msgstr "úÁÐÕÓÔÉÔØ ÒÅÄÁËÔÏÒ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ" - -#: src/lang.c:2376 -msgid "# If ON editor will be started with cursor offset into the file\n" - "# otherwise the cursor will be positioned at the first line\n" -msgstr "# åÓÌÉ ON, ÔÏ ÒÅÄÁËÔÏÒ ÂÕÄÅÔ ÚÁÐÕÝÅÎ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ ÓÏ ÓÍÅÝÅÎÉÅÍ,\n" - "# ÉÎÁÞÅ ËÕÒÓÏÒ ÂÕÄÅÔ ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÐÅÒ×ÏÊ ÓÔÒÏËÅ\n" - -#: src/lang.c:2381 -msgid "Enter %E for editor, %F for filename, %N for line-number, to set." -msgstr "÷×ÅÄÉÔÅ %E ÄÌÑ ÉÍÅÎÉ ÒÅÄÁËÔÏÒÁ, %F ÄÌÑ ÉÍÅÎÉ ÆÁÊÌÁ, %N ÄÌÑ ÎÏÍÅÒÁ ÓÔÒÏËÉ. " - " ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2382 -msgid "Invocation of your editor" -msgstr "úÁÐÕÓË ×ÁÛÅÇÏ ÒÅÄÁËÔÏÒÁ" - -#: src/lang.c:2383 -#, c-format -msgid "# Format of editor line including parameters\n" - "# %%E Editor %%F Filename %%N Linenumber\n" -msgstr "# æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ÚÁÐÕÓËÁ ÒÅÄÁËÔÏÒÁ ×ËÌÀÞÁÅÔ ÐÁÒÁÍÅÔÒÙ\n" - "# %%E òÅÄÁËÔÏÒ %%F éÍÑ ÆÁÊÌÁ %%N îÏÍÅÒ ÓÔÒÏËÉ\n" - -#: src/lang.c:2388 -msgid "Enter name and options for external-inews, --internal for internal inews" -msgstr "÷×ÅÄÉÔÅ ÉÍÑ É ÏÐÃÉÉ ÄÌÑ external-inews, --internal ÄÌÑ internal inews" - -#: src/lang.c:2389 -msgid "External inews" -msgstr "÷ÎÅÛÎÉÊ inews" - -#: src/lang.c:2390 -msgid "# If --internal use the built in mini inews for posting via NNTP\n" - "# otherwise use an external inews program\n" -msgstr "# åÓÌÉ --internal, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÔÒÏÅÎÎÙÊ ÍÉÎÉ unews ÄÌÑ ÏÔÐÒÁ×ËÉ\n" - "# ÓÔÁÔÅÊ ÞÅÒÅÚ NNTP, ÉÎÁÞÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÅÛÎÀÀ ÐÒÏÇÒÁÍÍÕ inews\n" - -#: src/lang.c:2394 -msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." -msgstr "÷×ÅÄÉÔÅ %M ÄÌÑ MTA, %S ÄÌÑ ÔÅÍÙ, %T ÄÌÑ To, %F ÄÌÑ ÉÍÅÎÉ ÆÁÊÌÁ, " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2395 -msgid "Invocation of your mail command" -msgstr "úÁÐÕÓË ×ÁÛÅÊ ËÏÍÁÎÄÙ ÏÔÐÒÁ×ËÉ ÐÏÞÔÙ" - -#: src/lang.c:2396 -#, c-format -msgid "# Format of mailer line including parameters\n" - "# %%M Mailer %%S Subject %%T To %%F Filename\n" - "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" - "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" -msgstr "" - -#: src/lang.c:2404 -msgid "Use interactive mail reader" -msgstr "éÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ" - -#: src/lang.c:2405 -msgid "# Interactive mailreader\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no interactive mailreader\n" - "# 1 = use interactive mailreader with headers in file\n" - "# 2 = use interactive mailreader without headers in file\n" -msgstr "# éÎÔÅÒÁËÔÉ×ÎÁÑ ÐÒÏÇÒÁÍÍÁ ÞÔÅÎÉÑ ÐÏÞÔÙ\n" - "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# * 0 = ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ\n" - "# 1 = ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ Ó ÚÁÇÏÌÏ×ËÁÍÉ × " - "ÆÁÊÌÅ\n" - "# 2 = ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ ÂÅÚ ÚÁÇÏÌÏ×ËÏ× × " - "ÆÁÊÌÅ\n" - -#: src/lang.c:2414 -msgid "Remove ~/.article after posting" -msgstr "õÂÒÁÔØ ~/.article ÐÏÓÌÅ ÏÔÐÒÁ×ËÉ" +msgid "# If ON add signature to reposted articles\n" +msgstr "# åÓÌÉ ON, ÔÏ ÄÏÂÁ×ÌÑÔØ ÓÉÇÎÁÔÕÒÕ ÐÒÉ ÐÏ×ÔÏÒÎÏÊ ÏÔÐÒÁ×ËÅ\n" -#: src/lang.c:2415 -msgid "# If ON remove ~/.article after posting.\n" -msgstr "# åÓÌÉ ON, ÔÏ ÕÂÒÁÔØ ~/.article ÐÏÓÌÅ ÏÔÐÒÁ×ËÉ.\n" +#: src/lang.c:2378 +#, c-format +msgid "Enter quotation marks, %s or %S for author's initials." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌÙ ÄÌÑ ÎÁÞÁÌÁ ÃÉÔÉÒÏ×ÁÎÉÑ, %s ÉÌÉ %S ÉÎÉÃÉÁÌÙ Á×ÔÏÒÁ." -#: src/lang.c:2419 -msgid "Filename for all posted articles, sets, no filename=do not save." -msgstr "éÍÑ ÆÁÊÌÁ ÄÌÑ ×ÓÅÈ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÎÅ ÉÍÅÎÉ=ÎÅ " - "ÓÏÈÒÁÎÑÔØ." +#: src/lang.c:2379 +msgid "Characters used as quote-marks" +msgstr "óÉÍ×ÏÌÙ ÉÓÐÏÌØÚÕÅÍÙÅ ÄÌÑ ÎÁÞÁÌÁ ÃÉÔÉÒÏ×ÁÎÉÑ" + +#: src/lang.c:2380 +#, c-format +msgid "# Characters used in quoting to followups and replies.\n" + "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" +msgstr "" + +#: src/lang.c:2386 +msgid "Quoting behavior" +msgstr "ãÉÔÉÒÏ×ÁÎÉÅ" + +#: src/lang.c:2387 +msgid "# How quoting should be handled when following up or replying.\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = Nothing special\n" + "# 1 = Compress quotes\n" + "# 2 = Quote signatures\n" + "# 3 = Compress quotes, quote signatures\n" + "# 4 = Quote empty lines\n" + "# * 5 = Compress quotes, quote empty lines\n" + "# 6 = Quote signatures, quote empty lines\n" + "# 7 = Compress quotes, quote signatures, quote empty lines\n" +msgstr "# íÅÔÏÄ ÃÉÔÉÒÏ×ÁÎÉÑ ÓÔÁÔÅÊ ÐÒÉ ÏÔ×ÅÔÅ.\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# 0 = îÉÞÅÇÏ ÏÓÏÂÅÎÎÏÇÏ\n" + "# 1 = óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ\n" + "# 2 = ãÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ\n" + "# 3 = óÖÉÍÁÔØ ÓÉÇÎÁÔÕÒÙ, ÃÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ\n" + "# 4 = ãÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ\n" + "# * 5 = óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ, ÃÉÔÉÒÏ×ÁÔØ ÐÕÓÔÙÅ ÓÔÒÏËÉ\n" + "# 6 = ãÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ É ÐÕÓÔÙÅ ÓÔÒÏËÉ\n" + "# 7 = óÖÉÍÁÔØ ÃÉÔÉÒÏ×ÁÎÉÅ, ÃÉÔÉÒÏ×ÁÔØ ÓÉÇÎÁÔÕÒÙ É ÐÕÓÔÙÅ ÓÔÒÏËÉ\n" + +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 +msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" +msgstr "" + +#: src/lang.c:2401 +msgid "Quote line when following up" +msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÒÉ follow-up" + +#: src/lang.c:2402 +#, c-format +msgid "# Format of quote line when mailing/posting/following-up an article\n" + "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" + "# %%N Full Name %%C First Name %%I Initials\n" +msgstr "" + +#: src/lang.c:2409 +msgid "Quote line when cross-posting" +msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÒÉ ËÒÏÓÓ-ÐÏÓÔÉÎÇÅ" + +#: src/lang.c:2415 +msgid "Quote line when mailing" +msgstr "ãÉÔÉÒÏ×ÁÔØ ÐÒÉ ÏÔÐÒÁ×ËÅ email" #: src/lang.c:2420 -msgid "Filename for posted articles" -msgstr "éÍÑ ÆÁÊÌÁ ÄÌÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ" +msgid "If ON, include User-Agent: header. toggles & sets." +msgstr "åÓÌÉ ON, ÔÏ ÄÏÂÁ×ÌÑÔØ ÚÁÇÏÌÏ×ÏË User-Agent:. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:2421 -msgid "# Filename where to keep all postings (default posted)\n" - "# If no filename is set then postings will not be saved\n" -msgstr "# éÍÑ ÆÁÊÌÁ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ.\n" - "# åÓÌÉ ÉÍÑ ÆÁÊÌÁ ÎÅ ÕËÁÚÁÎÏ, ÔÏ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ ÎÅ ÂÕÄÕÔ ÓÏÈÒÁÎÑÔÓÑ.\n" - -#: src/lang.c:2426 -msgid "Keep all failed articles in ~/dead.articles. toggles & sets." -msgstr "äÅÒÖÁÔØ ×ÓÅ ÎÅÕÄÁ×ÛÉÅÓÑ ÓÔÁÔØÉ × ~/dead.articles. <ðòïâåì> ×ÙÂÏÒ, " - "ÕÓÔÁÎÏ×ÉÔØ." +#, fuzzy +msgid "Insert 'User-Agent:' header" +msgstr "äÏÂÁ×ÌÑÔØ ÚÁÇÏÌÏ×ÏË User-Agent:" + +#: src/lang.c:2422 +msgid "# If ON include advertising User-Agent: header\n" +msgstr "# åÓÌÉ ON, ÔÏ ÄÏÂÁ×ÌÑÔØ ÒÅËÌÁÍÎÙÊ ÚÁÇÏÌÏ×ÏË User-Agent:\n" #: src/lang.c:2427 -msgid "Keep failed arts in ~/dead.articles" -msgstr "äÅÒÖÁÔØ ÎÅÕÄÁ×ÛÉÅÓÑ ÓÔÁÔØÉ × ~/dead.articles" +msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "÷×ÅÄÉÔÅ ËÏÄÉÒÏ×ËÕ ÄÌÑ MIME (ÎÁÐÒ. US-ASCII, ISO-8859-1, EUC-KR), " + "ÕÓÔÁÎÏ×ÉÔØ." #: src/lang.c:2428 -msgid "# If ON keep all failed postings in ~/dead.articles\n" -msgstr "# åÓÌÉ ON, ÔÏ ÄÅÒÖÁÔØ ×ÓÅ ÎÅÕÄÁ×ÛÉÅÓÑ ÏÔÐÒÁ×ËÉ ÓÔÁÔÅÊ × ~/dead.articles\n" +msgid "MM_CHARSET" +msgstr "" -#: src/lang.c:2432 -msgid "Do you want to strip unsubscribed groups from .newsrc" -msgstr "èÏÔÉÔÅ ÕÂÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ .newsrc" - -#: src/lang.c:2433 -msgid "No unsubscribed groups in newsrc" -msgstr "õÂÉÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc" - -#: src/lang.c:2434 -msgid "# If ON strip unsubscribed groups from newsrc\n" -msgstr "# åÓÌÉ ON, ÔÏ ÕÂÉÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc\n" +#: src/lang.c:2429 +msgid "# Charset supported locally which is also used for MIME header and\n" + "# Content-Type header.\n" + "# If not set, the value of the environment variable MM_CHARSET is used.\n" + "# Set to US-ASCII or compile time default if neither of them is defined.\n" + "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" + "# mm_charset is considered not displayable and represented as '?'.\n" +msgstr "" #: src/lang.c:2439 -msgid "Remove bogus groups from newsrc" -msgstr "õÂÉÒÁÔØ ÆÉËÔÉ×ÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc" +msgid "MM_NETWORK_CHARSET" +msgstr "" #: src/lang.c:2440 -msgid "# What to do with bogus groups in newsrc file\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = keep\n" - "# 1 = remove\n" - "# 2 = highlight with D on selection screen\n" -msgstr "# äÅÊÓÔ×ÉÑ Ó ÆÉËÔÉ×ÎÙÍÉ ÇÒÕÐÐÁÍÉ ÉÚ ÆÁÊÌÁ newsrc\n" - "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# * 0 = ÏÓÔÁ×ÌÑÔØ\n" - "# 1 = ÕÎÉÞÔÏÖÁÔØ\n" - "# 2 = ÐÏÍÅÞÁÔØ D × ÜËÒÁÎÅ ×ÙÂÏÒÁ\n" - -#: src/lang.c:2448 -msgid "Enter number of seconds until active file will be reread. sets." -msgstr "÷×ÅÄÉÔÅ ËÏÌÉÞÅÓÔ×Ï ÓÅËÕÎÄ ÍÅÖÄÕ Á×ÔÏÍÁÔÉÞÅÓËÉÍ ÞÔÅÎÉÅÍ ÁËÔÉ×ÎÏÇÏ ÆÁÊÌÁ. " - "ÕÓÔÁÎÏ×ÉÔØ." - -#: src/lang.c:2449 -msgid "Interval in secs to reread active" -msgstr "éÎÔÅÒ×ÁÌ × ÓÅËÕÎÄÁÈ ÍÅÖÄÕ ÞÔÅÎÉÅÍ active" - -#: src/lang.c:2450 -msgid "# Time interval in seconds between rereading the active file (0=never)\n" -msgstr "# ÷ÒÅÍÅÎÎÏÊ ÉÎÔÅÒ×ÁÌ × ÓÅËÕÎÄÁÈ ÍÅÖÄÕ Á×ÔÏÍÁÔÉÞÅÓËÉÍ ÞÔÅÎÉÅÍ ÆÁÊÌÁ\n" - "# active (0=ÎÉËÏÇÄÁ)\n" - -#: src/lang.c:2455 -msgid "Reconnect to server automatically" -msgstr "óÏÅÄÉÎÉÔØÓÑ ÓÎÏ×Á Ó ÓÅÒ×ÅÒÏÍ Á×ÔÏÍÁÔÉÞÅÓËÉ" - -#: src/lang.c:2456 -msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" -msgstr "# åÓÌÉ ON, ÔÏ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÅÒÅÐÏÄËÌÀÞÁÔØÓÑ Ë ÓÅÒ×ÅÒÕ NNTP, ÅÓÌÉ ÓÏÅÄÉÎÅÎÉÅ\n" - "# ÐÒÅÒ×ÁÌÏÓØ\n" +msgid "# Charset used for MIME (Content-Type) header in postings.\n" +msgstr "# ëÏÄÉÒÏ×ËÁ × MIME (Content-Type) × ÏÔÐÒÁ×ÌÑÅÍÙÈ ÓÔÁÔØÑÈ.\n" + +#: src/lang.c:2444 +#, fuzzy +msgid "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "÷×ÅÄÉÔÅ ËÏÄÉÒÏ×ËÕ ÄÌÑ MIME (ÎÁÐÒ. US-ASCII, ISO-8859-1, EUC-KR), " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2445 +msgid "MM_LOCAL_CHARSET" +msgstr "" + +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "" + +#: src/lang.c:2453 +msgid "Mailbox format" +msgstr "æÏÒÍÁÔ Mailbox" + +#: src/lang.c:2454 +msgid "# Format of the mailbox.\n" +msgstr "# æÏÒÍÁÔ mailbox.\n" + +#: src/lang.c:2459 +msgid "MIME encoding in news messages" +msgstr "ëÏÄÉÒÏ×ËÁ MIME × ÓÔÁÔØÑÈ" #: src/lang.c:2460 -msgid "Create local copies of NNTP overview files. toggles & sets." -msgstr "" +msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" + "# for mails and posts, if necessary. QP is efficient for most European\n" + "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" + "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" + "# Russian charsets with a lot of 8bit characters.\n" +msgstr "" + +#: src/lang.c:2468 src/lang.c:2489 +msgid "Don't change unless you know what you are doing. cancels." +msgstr "îÅ ÉÚÍÅÎÑÊÔÅ, ÅÓÌÉ ÎÅ ÐÏÎÉÍÁÅÔÅ ÞÔÏ ×Ù ÄÅÌÁÅÔÅ. ÏÔÍÅÎÁ." + +#: src/lang.c:2469 +msgid "Use 8bit characters in news headers" +msgstr "éÓÐÏÌØÚÏ×ÁÔØ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ÓÔÁÔÅÊ" + +#: src/lang.c:2470 +msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in header are encoded regardless of the value of this\n" + "# parameter unless post_mime_encoding is 8bit as well.\n" +msgstr "# åÓÌÉ ON, ÔÏ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ÓÔÁÔÅÊ ÎÅ ËÏÄÉÒÕÀÔÓÑ.\n" + "# ðÏ ÕÍÏÌÞÎÁÎÉÀ OFF. ôÁËÉÍ ÏÂÒÁÚÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ\n" + "# ËÏÄÉÒÕÀÔÓÑ. 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ËÏÄÉÒÕÀÔÓÑ ×ÎÅ ÚÁ×ÉÓÉÍÏÓÔÉ\n" + "# ÏÔ ÚÎÁÞÅÎÉÑ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ, ÐÏËÁ post_mime_encoding ÔÁËÖÅ\n" + "# ÎÅ ÕÓÔÁÎÏ×ÌÅÎ × 8bit.\n" + +#: src/lang.c:2477 +msgid "Auto-view post-processed files toggles, sets, cancels." +msgstr "á×ÔÏÐÒÏÓÍÏÔÒ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÈ ÆÁÊÌÏ×. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ, " + "ÏÔÍÅÎÉÔØ" + +#: src/lang.c:2478 +msgid "View post-processed files" +msgstr "ðÒÏÓÍÏÔÒ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÈ ÆÁÊÌÏ×" + +#: src/lang.c:2479 +msgid "# If set, post processed files will be opened in a viewer\n" +msgstr "# åÓÌÉ ÕÓÔÁÎÏ×ÌÅÎ, ÔÏ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÅ ÆÁÊÌÙ ÂÕÄÕÔ ÏÔËÒÙ×ÁÔØÓÑ\n" + "# × ÐÒÏÓÍÏÔÏÒÝÉËÅ\n" + +#: src/lang.c:2484 +msgid "MIME encoding in mail messages" +msgstr "MIME ËÏÄÉÒÏ×ËÁ × ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÑÈ" + +#: src/lang.c:2490 +msgid "Use 8bit characters in mail headers" +msgstr "éÓÐÏÌØÚÏ×ÁÔØ 8 ÂÉÔÎÙÅ ÓÉÍ×ÏÌÙ × ÚÁÇÏÌÏ×ËÁÈ ÐÏÞÔÙ" + +#: src/lang.c:2491 +msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in headers are encoded regardless of the value of this " + "parameter\n" + "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" + "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" + "# turn it ON unless you have some compelling reason.\n" +msgstr "" + +#: src/lang.c:2501 +msgid "Strip blanks from ends of lines" +msgstr "õÂÉÒÁÔØ ÐÒÏÂÅÌÙ × ËÏÎÃÅ ÓÔÒÏËÉ" + +#: src/lang.c:2502 +msgid "# If ON strip blanks from ends of lines for faster display on slow " + "terminals.\n" +msgstr "# åÓÌÉ ON, ÔÏ ÕÂÉÒÁÔØ ÐÒÏÂÅÌÙ × ËÏÎÃÅ ÓÔÒÏËÉ ÄÌÑ ÂÏÌÅÅ ÂÙÓÔÒÏÇÏ ×Ù×ÏÄÁ\n" + "# ÎÁ ÍÅÄÌÅÎÎÙÈ ÔÅÒÍÉÎÁÌÁÈ.\n" + +#: src/lang.c:2507 +msgid "If ON, use transliteration. toggles & sets." +msgstr "åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÒÁÎÓÌÉÔÅÒÁÃÉÀ, <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ" + +#: src/lang.c:2508 +msgid "Transliteration" +msgstr "ôÒÁÎÓÌÉÔÅÒÁÃÉÑ" + +#: src/lang.c:2509 +msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" + "# be represented in the in the target character set, it can be approximated\n" + "# through one or several similarly looking characters.\n" +msgstr "# åÓÌÉ ON, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÁÓÛÉÒÅÎÉÅ //TRANSLIT. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ËÏÇÄÁ\n" + "# ÓÉÍ×ÏÌ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÒÅÄÓÔÁ×ÌÅÎ × ÃÅÌÅ×ÏÍ ÎÁÂÏÒÅ ÓÉÍ×ÏÌÏ×, ÔÏ ÏÎ\n" + "# ÁÐÐÒÏËÓÉÍÉÒÕÅÔÓÑ ÏÄÎÉÍ ÉÌÉ ÎÅÓËÏÌØËÉÍÉ ÐÏÈÏÖÉÍÉ ÓÉÍ×ÏÌÁÍÉ.\n" + +#: src/lang.c:2517 +#, fuzzy +msgid "Send you a Cc/Bcc automatically" +msgstr "ïÔÐÒÁ×ÌÑÔØ ×ÁÍ Cc Á×ÔÏÍÁÔÉÞÅÓËÉ" + +#: src/lang.c:2518 +#, fuzzy +msgid "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = No\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc and Bcc\n" +msgstr "# æÏÒÍÁ ÎÏÒÍÁÌÉÚÁÃÉÉ Unicode\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# 0 = îÉÞÅÇÏ\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" + +#: src/lang.c:2527 +msgid "Enter address elements about which you want to be warned. sets." +msgstr "" + +#: src/lang.c:2528 +msgid "Spamtrap warning address parts" +msgstr "" + +#: src/lang.c:2529 +msgid "# A comma-delimited list of address-parts you want to be warned\n" + "# about when trying to reply by email.\n" +msgstr "" + +#: src/lang.c:2534 +msgid "Enter default number of days a filter entry will be valid. sets." +msgstr "÷×ÅÄÉÔÅ ÞÉÓÌÏ ÄÎÅÊ ÐÏËÁ ÆÉÌØÔÒ ÉÍÅÅÔ ÓÉÌÕ. ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2535 +msgid "No. of days a filter entry is valid" +msgstr "þÉÓÌÏ ÄÎÅÊ ÐÏËÁ ÆÉÌØÔÒ ÉÍÅÅÔ ÓÉÌÕ" + +#: src/lang.c:2536 +msgid "# Number of days a short term filter will be active\n" +msgstr "" + +#: src/lang.c:2540 +msgid "Add posted articles to filter. toggles & sets." +msgstr "äÏÂÁ×ÉÔØ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ × ÆÉÌØÔÒ, <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ" + +#: src/lang.c:2541 +msgid "Add posted articles to filter" +msgstr "äÏÂÁ×ÉÔØ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ × ÆÉÌØÔÒ" + +#: src/lang.c:2542 +msgid "# If ON add posted articles which start a new thread to filter for\n" + "# highlighting follow-ups\n" +msgstr "" + +#: src/lang.c:2546 +msgid "The directory where articles/threads are to be saved in mailbox format." +msgstr "äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ × ÆÏÒÍÁÔÅ mailbox." + +#: src/lang.c:2547 +msgid "Mail directory" +msgstr "äÉÒÅËÔÏÒÉÑ ÄÌÑ ÐÏÞÔÙ" + +#: src/lang.c:2548 +msgid "# (-m) directory where articles/threads are saved in mailbox format\n" +msgstr "# (-m) ÄÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ × ÆÏÒÍÁÔÅ mailbox\n" + +#: src/lang.c:2553 +msgid "Save articles in batch mode (-S)" +msgstr "óÏÈÒÁÎÑÔØ ÓÔÁÔØÉ × ÐÁËÅÔÎÏÍ ÒÅÖÉÍÅ (-S)" + +#: src/lang.c:2554 +msgid "# If ON articles/threads will be saved in batch mode when save -S\n" + "# or mail (-M/-N) is specified on the command line\n" +msgstr "" + +#: src/lang.c:2559 +msgid "The directory where you want articles/threads saved." +msgstr "äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ" + +#: src/lang.c:2560 +msgid "Directory to save arts/threads in" +msgstr "äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ" + +#: src/lang.c:2561 +msgid "# Directory where articles/threads are saved\n" +msgstr "# äÉÒÅËÔÏÒÉÑ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ\n" + +#: src/lang.c:2565 +msgid "Auto save article/thread by Archive-name: header. toggles & sets." +msgstr "á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÈÒÁÎÑÔØ ÓÔÁÔØÉ/ÄÉÓË. Ó ÚÁÇÏÌÏ×ËÏÍ Archive-name:. <ðòïâåì> " + "×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2566 +msgid "Use Archive-name: header for save" +msgstr "éÓÐÏÌØÚÏ×ÁÔØ ÚÁÇÏÌÏ×ÏË Archive-name: ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ" + +#: src/lang.c:2567 +msgid "# If ON articles/threads with Archive-name: in mail header will\n" + "# be automatically saved with the Archive-name & part/patch no.\n" +msgstr "" + +#: src/lang.c:2572 +msgid "Mark saved articles/threads as read. toggles, sets, " + "cancels." +msgstr "ïÔÍÅÔÉÔØ ÓÏÈÒÁΣÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓËÕÓÓÉÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ" + +#: src/lang.c:2573 +msgid "Mark saved articles/threads as read" +msgstr "ïÔÍÅÔÉÔØ ÓÏÈÒÁΣÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓËÕÓÓÉÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ" + +#: src/lang.c:2574 +msgid "# If ON mark articles that are saved as read\n" +msgstr "# åÓÌÉ ON, ÔÏ ÏÔÍÅÔÉÔØ ÓÏÈÒÁΣÎÎÙÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ\n" + +#: src/lang.c:2578 +msgid "Do post processing (eg. extract attachments) for saved articles." +msgstr "÷ÙÐÏÌÎÉÔØ ÐÏÓÔ-ÏÂÒÁÂÏÔËÕ (ÎÁÐÒ. ÕÂÒÁÔØ ×ÌÏÖÅÎÉÑ) ÄÌÑ ÓÏÈÒÁÎÑÅÍÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:2579 +msgid "Post process saved articles" +msgstr "ðÏÓÔ-ÏÂÒÁÂÏÔËÁ ÓÏÈÒÁΣÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:2580 +msgid "# Perform post processing (saving binary attachments) from saved articles.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no\n" + "# 1 = extract shell archives (shar) only\n" + "# 2 = yes\n" +msgstr "" + +#: src/lang.c:2589 +msgid "Process only unread articles" +msgstr "ïÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ÎÅÐÒÏÞ. ÓÔÁÔØÉ" + +#: src/lang.c:2590 +msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" +msgstr "" + +#: src/lang.c:2595 +msgid "Print all or just part of header. toggles & sets." +msgstr "ðÅÞÁÔÁÔØ ×ÓÅ ÉÌÉ ÔÏÌØËÏ ÞÁÓÔØ ÚÁÇÏÌÏ×ËÏ×. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2596 +msgid "Print all headers when printing" +msgstr "ðÅÞÁÔÁÔØ ×ÓÅ ÚÁÇÏÌÏ×ËÉ" + +#: src/lang.c:2597 +msgid "# If ON print all of article header otherwise just the important lines\n" +msgstr "# åÓÌÉ ON, ÔÏ ×Ù×ÏÄÉÔØ ×ÓÅ ÚÁÇÏÌÏ×ËÉ ÓÔÁÔÅÊ, ÉÎÁÞÅ ÔÏÌØËÏ ×ÁÖÎÙÅ\n" + +#: src/lang.c:2601 +msgid "The printer program with options that is to be used to print articles/threads." +msgstr "ëÏÍÁÎÄÁ ÐÅÞÁÔÉ Ó ÐÁÒÁÍÅÔÒÁÍÉ ÄÌÑ ÐÅÞÁÔÉ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ" + +#: src/lang.c:2602 +msgid "Printer program with options" +msgstr "ðÒÏÇÒÁÍÍÁ ÐÅÞÁÔÉ Ó ÏÐÃÉÑÍÉ" + +#: src/lang.c:2603 +msgid "# Print program with parameters used to print articles/threads\n" +msgstr "# ëÏÍÁÎÄÁ ÐÅÞÁÔÉ Ó ÐÁÒÁÍÅÔÒÁÍÉ ÄÌÑ ÐÅÞÁÔÉ ÓÔÁÔÅÊ/ÄÉÓËÕÓÓÉÊ\n" + +#: src/lang.c:2609 +msgid "Force redraw after certain commands" +msgstr "ðÅÒÅÒÉÓÏ×Ù×ÁÔØ ÜËÒÁÎ ÐÏÓÌÅ ÎÅËÏÔÏÒÙÈ ËÏÍÁÎÄ" + +#: src/lang.c:2610 +msgid "# If ON a screen redraw will always be done after certain external commands\n" +msgstr "# åÓÌÉ ON, ÔÏ ÐÅÒÅÒÉÓÏ×Ù×ÁÔØ ÜËÒÁÎ ÐÏÓÌÅ ÎÅËÏÔÏÒÙÈ ×ÎÅÛÎÉÈ ËÏÍÁÎÄ\n" + +#: src/lang.c:2614 +msgid "Start editor with line offset. toggles, sets, cancels." +msgstr "úÁÐÕÓÔÉÔØ ÒÅÄÁËÔÏÒ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ, " + " ÏÔÍÅÎÁ." + +#: src/lang.c:2615 +msgid "Start editor with line offset" +msgstr "úÁÐÕÓÔÉÔØ ÒÅÄÁËÔÏÒ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ" + +#: src/lang.c:2616 +msgid "# If ON editor will be started with cursor offset into the file\n" + "# otherwise the cursor will be positioned at the first line\n" +msgstr "# åÓÌÉ ON, ÔÏ ÒÅÄÁËÔÏÒ ÂÕÄÅÔ ÚÁÐÕÝÅÎ Ó ÕÓÔÁÎÏ×ËÏÊ ËÕÒÓÏÒÁ ÓÏ ÓÍÅÝÅÎÉÅÍ,\n" + "# ÉÎÁÞÅ ËÕÒÓÏÒ ÂÕÄÅÔ ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÐÅÒ×ÏÊ ÓÔÒÏËÅ\n" + +#: src/lang.c:2621 +msgid "Enter %E for editor, %F for filename, %N for line-number, to set." +msgstr "÷×ÅÄÉÔÅ %E ÄÌÑ ÉÍÅÎÉ ÒÅÄÁËÔÏÒÁ, %F ÄÌÑ ÉÍÅÎÉ ÆÁÊÌÁ, %N ÄÌÑ ÎÏÍÅÒÁ ÓÔÒÏËÉ. " + " ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2622 +msgid "Invocation of your editor" +msgstr "úÁÐÕÓË ×ÁÛÅÇÏ ÒÅÄÁËÔÏÒÁ" + +#: src/lang.c:2623 +#, c-format +msgid "# Format of editor line including parameters\n" + "# %%E Editor %%F Filename %%N Linenumber\n" +msgstr "# æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ÚÁÐÕÓËÁ ÒÅÄÁËÔÏÒÁ ×ËÌÀÞÁÅÔ ÐÁÒÁÍÅÔÒÙ\n" + "# %%E òÅÄÁËÔÏÒ %%F éÍÑ ÆÁÊÌÁ %%N îÏÍÅÒ ÓÔÒÏËÉ\n" + +#: src/lang.c:2628 +msgid "Enter name and options for external-inews, --internal for internal inews" +msgstr "÷×ÅÄÉÔÅ ÉÍÑ É ÏÐÃÉÉ ÄÌÑ external-inews, --internal ÄÌÑ internal inews" + +#: src/lang.c:2629 +msgid "External inews" +msgstr "÷ÎÅÛÎÉÊ inews" + +#: src/lang.c:2630 +msgid "# If --internal use the built in mini inews for posting via NNTP\n" + "# otherwise use an external inews program\n" +msgstr "# åÓÌÉ --internal, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÓÔÒÏÅÎÎÙÊ ÍÉÎÉ unews ÄÌÑ ÏÔÐÒÁ×ËÉ\n" + "# ÓÔÁÔÅÊ ÞÅÒÅÚ NNTP, ÉÎÁÞÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÅÛÎÀÀ ÐÒÏÇÒÁÍÍÕ inews\n" + +#: src/lang.c:2634 +msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." +msgstr "÷×ÅÄÉÔÅ %M ÄÌÑ MTA, %S ÄÌÑ ÔÅÍÙ, %T ÄÌÑ To, %F ÄÌÑ ÉÍÅÎÉ ÆÁÊÌÁ, " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2635 +msgid "Invocation of your mail command" +msgstr "úÁÐÕÓË ×ÁÛÅÊ ËÏÍÁÎÄÙ ÏÔÐÒÁ×ËÉ ÐÏÞÔÙ" + +#: src/lang.c:2636 +#, c-format +msgid "# Format of mailer line including parameters\n" + "# %%M Mailer %%S Subject %%T To %%F Filename\n" + "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" + "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" +msgstr "" + +#: src/lang.c:2644 +msgid "Use interactive mail reader" +msgstr "éÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ" + +#: src/lang.c:2645 +msgid "# Interactive mailreader\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no interactive mailreader\n" + "# 1 = use interactive mailreader with headers in file\n" + "# 2 = use interactive mailreader without headers in file\n" +msgstr "# éÎÔÅÒÁËÔÉ×ÎÁÑ ÐÒÏÇÒÁÍÍÁ ÞÔÅÎÉÑ ÐÏÞÔÙ\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# * 0 = ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ\n" + "# 1 = ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ Ó ÚÁÇÏÌÏ×ËÁÍÉ × " + "ÆÁÊÌÅ\n" + "# 2 = ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÕÀ ÐÒÏÇÒÁÍÍÕ ÞÔÅÎÉÑ ÐÏÞÔÙ ÂÅÚ ÚÁÇÏÌÏ×ËÏ× × " + "ÆÁÊÌÅ\n" + +#: src/lang.c:2654 +msgid "Remove ~/.article after posting" +msgstr "õÂÒÁÔØ ~/.article ÐÏÓÌÅ ÏÔÐÒÁ×ËÉ" + +#: src/lang.c:2655 +msgid "# If ON remove ~/.article after posting.\n" +msgstr "# åÓÌÉ ON, ÔÏ ÕÂÒÁÔØ ~/.article ÐÏÓÌÅ ÏÔÐÒÁ×ËÉ.\n" + +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" + +#: src/lang.c:2662 +msgid "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" + +#: src/lang.c:2667 +msgid "Filename for all posted articles, sets, no filename=do not save." +msgstr "éÍÑ ÆÁÊÌÁ ÄÌÑ ×ÓÅÈ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÎÅ ÉÍÅÎÉ=ÎÅ " + "ÓÏÈÒÁÎÑÔØ." + +#: src/lang.c:2668 +msgid "Filename for posted articles" +msgstr "éÍÑ ÆÁÊÌÁ ÄÌÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ" + +#: src/lang.c:2669 +msgid "# Filename where to keep all postings (default posted)\n" + "# If no filename is set then postings will not be saved\n" +msgstr "# éÍÑ ÆÁÊÌÁ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ.\n" + "# åÓÌÉ ÉÍÑ ÆÁÊÌÁ ÎÅ ÕËÁÚÁÎÏ, ÔÏ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÔÁÔØÉ ÎÅ ÂÕÄÕÔ ÓÏÈÒÁÎÑÔÓÑ.\n" + +#: src/lang.c:2674 +msgid "Keep all failed articles in ~/dead.articles. toggles & sets." +msgstr "äÅÒÖÁÔØ ×ÓÅ ÎÅÕÄÁ×ÛÉÅÓÑ ÓÔÁÔØÉ × ~/dead.articles. <ðòïâåì> ×ÙÂÏÒ, " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2675 +msgid "Keep failed arts in ~/dead.articles" +msgstr "äÅÒÖÁÔØ ÎÅÕÄÁ×ÛÉÅÓÑ ÓÔÁÔØÉ × ~/dead.articles" + +#: src/lang.c:2676 +msgid "# If ON keep all failed postings in ~/dead.articles\n" +msgstr "# åÓÌÉ ON, ÔÏ ÄÅÒÖÁÔØ ×ÓÅ ÎÅÕÄÁ×ÛÉÅÓÑ ÏÔÐÒÁ×ËÉ ÓÔÁÔÅÊ × ~/dead.articles\n" + +#: src/lang.c:2680 +msgid "Do you want to strip unsubscribed groups from .newsrc" +msgstr "èÏÔÉÔÅ ÕÂÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ .newsrc" + +#: src/lang.c:2681 +msgid "No unsubscribed groups in newsrc" +msgstr "õÂÉÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc" + +#: src/lang.c:2682 +msgid "# If ON strip unsubscribed groups from newsrc\n" +msgstr "# åÓÌÉ ON, ÔÏ ÕÂÉÒÁÔØ ÎÅÐÏÄÐÉÓÁÎÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc\n" + +#: src/lang.c:2687 +msgid "Remove bogus groups from newsrc" +msgstr "õÂÉÒÁÔØ ÆÉËÔÉ×ÎÙÅ ÇÒÕÐÐÙ ÉÚ newsrc" + +#: src/lang.c:2688 +msgid "# What to do with bogus groups in newsrc file\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = keep\n" + "# 1 = remove\n" + "# 2 = highlight with D on selection screen\n" +msgstr "# äÅÊÓÔ×ÉÑ Ó ÆÉËÔÉ×ÎÙÍÉ ÇÒÕÐÐÁÍÉ ÉÚ ÆÁÊÌÁ newsrc\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# * 0 = ÏÓÔÁ×ÌÑÔØ\n" + "# 1 = ÕÎÉÞÔÏÖÁÔØ\n" + "# 2 = ÐÏÍÅÞÁÔØ D × ÜËÒÁÎÅ ×ÙÂÏÒÁ\n" + +#: src/lang.c:2696 +msgid "Enter number of seconds until active file will be reread. sets." +msgstr "÷×ÅÄÉÔÅ ËÏÌÉÞÅÓÔ×Ï ÓÅËÕÎÄ ÍÅÖÄÕ Á×ÔÏÍÁÔÉÞÅÓËÉÍ ÞÔÅÎÉÅÍ ÁËÔÉ×ÎÏÇÏ ÆÁÊÌÁ. " + "ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2697 +msgid "Interval in secs to reread active" +msgstr "éÎÔÅÒ×ÁÌ × ÓÅËÕÎÄÁÈ ÍÅÖÄÕ ÞÔÅÎÉÅÍ active" + +#: src/lang.c:2698 +msgid "# Time interval in seconds between rereading the active file (0=never)\n" +msgstr "# ÷ÒÅÍÅÎÎÏÊ ÉÎÔÅÒ×ÁÌ × ÓÅËÕÎÄÁÈ ÍÅÖÄÕ Á×ÔÏÍÁÔÉÞÅÓËÉÍ ÞÔÅÎÉÅÍ ÆÁÊÌÁ\n" + "# active (0=ÎÉËÏÇÄÁ)\n" + +#: src/lang.c:2703 +msgid "Reconnect to server automatically" +msgstr "óÏÅÄÉÎÉÔØÓÑ ÓÎÏ×Á Ó ÓÅÒ×ÅÒÏÍ Á×ÔÏÍÁÔÉÞÅÓËÉ" + +#: src/lang.c:2704 +msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" +msgstr "# åÓÌÉ ON, ÔÏ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÅÒÅÐÏÄËÌÀÞÁÔØÓÑ Ë ÓÅÒ×ÅÒÕ NNTP, ÅÓÌÉ ÓÏÅÄÉÎÅÎÉÅ\n" + "# ÐÒÅÒ×ÁÌÏÓØ\n" + +#: src/lang.c:2708 +msgid "Create local copies of NNTP overview files. toggles & sets." +msgstr "" + +#: src/lang.c:2709 +msgid "Cache NNTP overview files locally" +msgstr "" + +#: src/lang.c:2710 +msgid "# If ON, create local copies of NNTP overview files.\n" +msgstr "" + +#: src/lang.c:2714 +msgid "Enter format string. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:2715 +msgid "Format string for display of dates" +msgstr "æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ×Ù×ÏÄÁ ÄÁÔ" + +#: src/lang.c:2716 +msgid "# Format string for date representation\n" +msgstr "# æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÄÁÔÙ\n" + +#: src/lang.c:2722 +msgid "Unicode normalization form" +msgstr "æÏÒÍÁ ÎÏÒÍÁÌÉÚÁÃÉÉ Unicode" + +#: src/lang.c:2723 +msgid "# Unicode normalization form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" +msgstr "# æÏÒÍÁ ÎÏÒÍÁÌÉÚÁÃÉÉ Unicode\n" + "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" + "# 0 = îÉÞÅÇÏ\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" + +#: src/lang.c:2735 +msgid "Render BiDi" +msgstr "÷ÏÓÐÒÏÉÚ×ÏÄÉÔØ BiDi" + +#: src/lang.c:2736 +msgid "# If ON, bi-directional text is rendered by tin\n" +msgstr "# åÓÌÉ ON, ÔÏ Ä×ÕÎÁÐÒÁ×ÌÅÎÎÙÊ ÔÅËÓÔ ×ÏÓÐÒÏÉÚ×ÏÄÉÔÓÑ tin'ÏÍ\n" + +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "" + +#: src/lang.c:2752 +#, fuzzy +msgid "Delete post-process files" +msgstr "ðÒÏÓÍÏÔÒ ÐÏÓÔ-ÏÂÒÁÂÏÔÁÎÎÙÈ ÆÁÊÌÏ×" + +#: src/lang.c:2757 +#, fuzzy +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "éÍÑ ÆÁÊÌÁ ÄÌÑ ×ÓÅÈ ÏÔÐÒÁ×ÌÅÎÎÙÈ ÓÔÁÔÅÊ. ÕÓÔÁÎÏ×ÉÔØ, ÎÅ ÉÍÅÎÉ=ÎÅ " + "ÓÏÈÒÁÎÑÔØ." + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "" + +#: src/lang.c:2763 +#, fuzzy +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "" + +#: src/lang.c:2769 +#, fuzzy +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "÷×ÅÄÉÔÅ email ÁÄÒÅÓ (É ÐÏÌÎÏÅ ÉÍÑ). ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2776 +#, fuzzy +msgid "Path and options for ispell-like spell-checker. sets, cancels." +msgstr "ðÒÏÇÒÁÍÍÙ ÄÌÑ ÏÔËÒÙÔÉÑ URL. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ" + +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "" + +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "" + +#: src/lang.c:2784 +#, fuzzy +msgid "Mailing list address" +msgstr "ïÔÐÒÁ×ÉÔØ ÌÏÇ-ÓÏÏÂÝÅÎÉÅ %s\n" + +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "" + +#: src/lang.c:2795 +msgid "A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "" + +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "" + +#: src/lang.c:2801 +#, fuzzy +msgid "Value of the Organization: header. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "" + +#: src/lang.c:2807 +#, fuzzy +msgid "Filename for saved articles. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:2808 +#, fuzzy +msgid "savefile" +msgstr "óÏÈÒÁÎÉÔØ × ÆÁÊÌ> " + +#: src/lang.c:2813 src/lang.c:2837 +#, fuzzy +msgid "Scope for the filter rule. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." -#: src/lang.c:2461 -msgid "Cache NNTP overview files locally" -msgstr "" - -#: src/lang.c:2462 -msgid "# If ON, create local copies of NNTP overview files.\n" -msgstr "" - -#: src/lang.c:2466 -msgid "Enter format string. sets, cancels." -msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." - -#: src/lang.c:2467 -msgid "Format string for display of dates" -msgstr "æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ×Ù×ÏÄÁ ÄÁÔ" - -#: src/lang.c:2468 -msgid "# Format string for date representation\n" -msgstr "# æÏÒÍÁÔ ÓÔÒÏËÉ ÄÌÑ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÄÁÔÙ\n" - -#: src/lang.c:2474 -msgid "Unicode normalization form" -msgstr "æÏÒÍÁ ÎÏÒÍÁÌÉÚÁÃÉÉ Unicode" - -#: src/lang.c:2475 -msgid "# Unicode normalization form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" -msgstr "# æÏÒÍÁ ÎÏÒÍÁÌÉÚÁÃÉÉ Unicode\n" - "# ÷ÏÚÍÏÖÎÙÅ ÚÎÁÞÅÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔÍÅÞÅÎÏ *):\n" - "# 0 = îÉÞÅÇÏ\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" - -#: src/lang.c:2487 -msgid "Render BiDi" -msgstr "÷ÏÓÐÒÏÉÚ×ÏÄÉÔØ BiDi" - -#: src/lang.c:2488 -msgid "# If ON, bi-directional text is rendered by tin\n" -msgstr "# åÓÌÉ ON, ÔÏ Ä×ÕÎÁÐÒÁ×ÌÅÎÎÙÊ ÔÅËÓÔ ×ÏÓÐÒÏÉÚ×ÏÄÉÔÓÑ tin'ÏÍ\n" - -#: src/misc.c:3750 -#, c-format -msgid "Version: %s %s release %s (\"%s\") %s %s\n" -msgstr "÷ÅÒÓÉÑ: %s %s ÒÅÌÉÚ %s (\"%s\") %s %s\n" - -#: src/misc.c:3753 -#, c-format -msgid "Version: %s %s release %s (\"%s\")\n" -msgstr "÷ÅÒÓÉÑ: %s %s ÒÅÌÉÚ %s (\"%s\")\n" - -#: src/newsrc.c:430 -msgid "Unreachable?\n" -msgstr "îÅÄÏÓÔÉÖÉÍÏ?\n" - -#: src/nntplib.c:824 -#, c-format -msgid "\n" - "Server timed out, trying reconnect # %d\n" -msgstr "\n" - "óÅÒ×ÅÒ ÎÅ ÏÔ×ÅÞÁÅÔ, ÐÏÐÙÔËÁ ÓÏÅÄÉÎÉÔØÓÑ ÓÎÏ×Á # %d\n" - -#: src/nntplib.c:842 src/nntplib.c:1630 -msgid "Rejoin current group\n" -msgstr "÷ÓÔÕÐÉÔØ ÓÎÏ×Á × ÔÅËÕÝÕÀ ÇÒÕÐÐÕ\n" - -#: src/nntplib.c:849 src/nntplib.c:1637 +#: src/lang.c:2814 +#, fuzzy +msgid "Quick (1 key) select filter scope" +msgstr "äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ×ÙÂÏÒÁ?" + +#: src/lang.c:2819 src/lang.c:2843 +#, fuzzy +msgid "Header for filter rule. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" + +#: src/lang.c:2825 src/lang.c:2849 +#, fuzzy +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:2826 +#, fuzzy +msgid "Quick (1 key) select filter case" +msgstr "äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ×ÙÂÏÒÁ?" + +#: src/lang.c:2831 src/lang.c:2855 +#, fuzzy +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" + +#: src/lang.c:2838 +#, fuzzy +msgid "Quick (1 key) kill filter scope" +msgstr "äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ÕÎÉÞÔÏÖÅÎÉÑ?" + +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" + +#: src/lang.c:2850 +#, fuzzy +msgid "Quick (1 key) kill filter case" +msgstr "äÏÂÁ×ÉÔØ ÆÉÌØÔÒ ÂÙÓÔÒÏÇÏ ÕÎÉÞÔÏÖÅÎÉÑ?" + +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" + +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "" + +#: src/lang.c:2863 +msgid "UNDECLARED_CHARSET" +msgstr "" + +#: src/lang.c:2869 +#, fuzzy +msgid "Add this text at the start of the message body. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÓÉÍ×ÏÌ ÄÌÑ ÏÔÍÅÔËÉ ÓÔÁÔÅÊ × ÄÉÁÐÁÚÏÎÅ. ÕÓÔÁÎÏ×ÉÔØ, " + "ÏÔÍÅÎÉÔØ." + +#: src/lang.c:2870 +msgid "X_Body" +msgstr "" + +#: src/lang.c:2875 +#, fuzzy +msgid "Insert this header when posting. sets, cancels." +msgstr "÷×ÅÄÉÔÅ ÆÏÒÍÁÔ ÓÔÒÏËÉ. ÕÓÔÁÎÏ×ÉÔØ, ÏÔÍÅÎÁ." + +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "" + +#: src/lang.c:2881 +#, fuzzy +msgid "Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "åÓÌÉ ON, ÔÏ ÄÏÂÁ×ÌÑÔØ ÚÁÇÏÌÏ×ÏË User-Agent:. <ðòïâåì> ×ÙÂÏÒ, ÕÓÔÁÎÏ×ÉÔØ." + +#: src/lang.c:2882 +#, fuzzy +msgid "Insert 'X-Comment-To:' header" +msgstr "äÏÂÁ×ÌÑÔØ ÚÁÇÏÌÏ×ÏË 'X-Comment-To:'" + +#: src/misc.c:3754 #, c-format -msgid "Read (%s)\n" -msgstr "þÔÅÎÉÅ (%s)\n" +msgid "Version: %s %s release %s (\"%s\") %s %s\n" +msgstr "÷ÅÒÓÉÑ: %s %s ÒÅÌÉÚ %s (\"%s\") %s %s\n" -#: src/nntplib.c:851 +#: src/misc.c:3757 #, c-format -msgid "Resend last command (%s)\n" -msgstr "ðÅÒÅÓÌÁÔØ ÐÏÓÌÅÄÎÀÀ ËÏÍÁÎÄÕ (%s)\n" +msgid "Version: %s %s release %s (\"%s\")\n" +msgstr "÷ÅÒÓÉÑ: %s %s ÒÅÌÉÚ %s (\"%s\")\n" -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 -msgid "MOTD: " -msgstr "" +#: src/newsrc.c:453 +msgid "Unreachable?\n" +msgstr "îÅÄÏÓÔÉÖÉÍÏ?\n" + +#: src/nntplib.c:819 +#, c-format +msgid "\n" + "Server timed out, trying reconnect # %d\n" +msgstr "\n" + "óÅÒ×ÅÒ ÎÅ ÏÔ×ÅÞÁÅÔ, ÐÏÐÙÔËÁ ÓÏÅÄÉÎÉÔØÓÑ ÓÎÏ×Á # %d\n" + +#: src/nntplib.c:855 src/nntplib.c:1830 +msgid "Rejoin current group\n" +msgstr "÷ÓÔÕÐÉÔØ ÓÎÏ×Á × ÔÅËÕÝÕÀ ÇÒÕÐÐÕ\n" + +#: src/nntplib.c:863 src/nntplib.c:1838 +#, c-format +msgid "Read (%s)\n" +msgstr "þÔÅÎÉÅ (%s)\n" + +#: src/nntplib.c:865 +#, c-format +msgid "Resend last command (%s)\n" +msgstr "ðÅÒÅÓÌÁÔØ ÐÏÓÌÅÄÎÀÀ ËÏÍÁÎÄÕ (%s)\n" + +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "" + +#: src/nntplib.c:1979 +msgid "MOTD: " +msgstr "" -#: src/nrctbl.c:170 +#: src/nrctbl.c:175 #, c-format -msgid "couldn't expand %s\n" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÒÁÓËÒÙÔØ %s\n" +msgid "couldn't expand %s\n" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÒÁÓËÒÙÔØ %s\n" -#: src/post.c:1171 +#: src/post.c:1307 #, c-format -msgid "Line %d is longer than 998 octets and should be folded, but\n" - "encoding is neither set to %s nor to %s\n" -msgstr "óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É ÄÏÌÖÎÁ ÂÙÔØ ÒÁÚÂÉÔÁ ÎÁ ÞÁÓÔÉ,\n" - "ÎÏ ËÏÄÉÒÏ×ËÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ ÎÉ × %s, ÎÉ × %s\n" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is neither set to %s nor to %s\n" +msgstr "óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É ÄÏÌÖÎÁ ÂÙÔØ ÒÁÚÂÉÔÁ ÎÁ ÞÁÓÔÉ,\n" + "ÎÏ ËÏÄÉÒÏ×ËÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ ÎÉ × %s, ÎÉ × %s\n" -#: src/post.c:1176 +#: src/post.c:1312 #, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" - "posting doesn't contain any 8bit chars and thus folding won't happen\n" -msgstr "óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É ÄÏÌÖÎÁ ÂÙÔØ ÒÁÚÂÉÔÁ ÎÁ ÞÁÓÔÉ,\n" - "ÎÏ ËÏÄÉÒÏ×ËÁ ÕÓÔÁÎÏ×ÌÅÎÁ × %s ÂÅÚ ×ËÌÀÞÅÎÉÑ MIME_BREAK_LONG_LINES,\n" - "ÉÌÉ ÓÏÏÂÝÅÎÉÅ ÎÅ ÓÏÄÅÒÖÉÔ ÎÉ ÏÄÎÏÇÏ 8-ÂÉÔÎÏÇÏ ÓÉÍ×ÏÌÁ, ÔÁËÉÍ ÏÂÒÁÚÏÍ\n" - "ÒÁÚÂÉÔÉÑ ÎÁ ÞÁÓÔÉ ÎÅ ÐÒÏÉÚÏÊÄ£Ô.\n" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" + "posting doesn't contain any 8bit chars and thus folding won't happen\n" +msgstr "óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É ÄÏÌÖÎÁ ÂÙÔØ ÒÁÚÂÉÔÁ ÎÁ ÞÁÓÔÉ,\n" + "ÎÏ ËÏÄÉÒÏ×ËÁ ÕÓÔÁÎÏ×ÌÅÎÁ × %s ÂÅÚ ×ËÌÀÞÅÎÉÑ MIME_BREAK_LONG_LINES,\n" + "ÉÌÉ ÓÏÏÂÝÅÎÉÅ ÎÅ ÓÏÄÅÒÖÉÔ ÎÉ ÏÄÎÏÇÏ 8-ÂÉÔÎÏÇÏ ÓÉÍ×ÏÌÁ, ÔÁËÉÍ ÏÂÒÁÚÏÍ\n" + "ÒÁÚÂÉÔÉÑ ÎÁ ÞÁÓÔÉ ÎÅ ÐÒÏÉÚÏÊÄ£Ô.\n" -#: src/post.c:1178 +#: src/post.c:1314 #, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is not set to %s\n" -msgstr "óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É ÄÏÌÖÎÁ ÂÙÔØ ÒÁÚÂÉÔÁ ÎÁ ÞÁÓÔÉ,\n" - "ÎÏ ËÏÄÉÒÏ×ËÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ × %s\n" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is not set to %s\n" +msgstr "óÔÒÏËÁ %d ÄÌÉÎÎÅÅ 998 ÏËÔÅÔÏ× É ÄÏÌÖÎÁ ÂÙÔØ ÒÁÚÂÉÔÁ ÎÁ ÞÁÓÔÉ,\n" + "ÎÏ ËÏÄÉÒÏ×ËÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ × %s\n" -#: src/post.c:1993 +#: src/post.c:2278 #, c-format -msgid "Posting: %.*s ..." -msgstr "ïÔÐÒÁ×ÌÅÎÉÅ × ÇÒÕÐÐÕ %.*s ..." +msgid "Posting: %.*s ..." +msgstr "ïÔÐÒÁ×ÌÅÎÉÅ × ÇÒÕÐÐÕ %.*s ..." #. Check if okay to read -#: src/read.c:211 -msgid "Aborting read, please wait..." -msgstr "ðÒÅÒÙ×ÁÎÉÅ ÞÔÅÎÉÑ, ÐÏÄÏÖÄÉÔÅ..." - -#: src/read.c:358 -msgid "Aborted read\n" -msgstr "þÔÅÎÉÅ ÐÒÅÒ×ÁÎÏ\n" - -#: src/read.c:414 -msgid "Draining\n" -msgstr "ïÓÕÛÅÎÉÅ\n" - -#. Don't hash the initial '<' -#: src/refs.c:251 -msgid "unchanged" -msgstr "ÎÅÉÚÍÅÎÅÎÏ" - -#: src/refs.c:609 -msgid "[- Unavailable -]" -msgstr "[- îÅÄÏÓÔÕÐÎÏ -]" +#: src/read.c:197 +msgid "Aborting read, please wait..." +msgstr "ðÒÅÒÙ×ÁÎÉÅ ÞÔÅÎÉÑ, ÐÏÄÏÖÄÉÔÅ..." + +#: src/read.c:344 +msgid "Aborted read\n" +msgstr "þÔÅÎÉÅ ÐÒÅÒ×ÁÎÏ\n" + +#: src/read.c:399 +msgid "Draining\n" +msgstr "ïÓÕÛÅÎÉÅ\n" + +#: src/refs.c:232 +msgid "unchanged" +msgstr "ÎÅÉÚÍÅÎÅÎÏ" + +#: src/refs.c:599 +msgid "[- Unavailable -]" +msgstr "[- îÅÄÏÓÔÕÐÎÏ -]" #. #. * preamble #. * TODO: -> lang.c #. -#: src/rfc2047.c:1201 +#: src/rfc2047.c:1287 #, c-format -msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" - "are reading this prefix, your mail reader probably has not yet been modified\n" - "to understand the new format, and some of what follows may look strange.\n" - "\n" -msgstr "üÔÏ ÓÏÏÂÝÅÎÉÅ ÂÙÌÏ ÓÏÚÄÁÎÏ × 'multipart/mixed' MIME-ÆÏÒÍÁÔÅ. åÓÌÉ ×Ù\n" - "×ÉÄÉÔÅ ÜÔÏÔ ÐÒÅÆÉËÓ, ÔÏ ×ÁÛ ÐÏÞÔÏ×ÙÊ ÁÇÅÎÔ ×ÅÒÏÑÔÎÏ ÎÅ ÂÙÌ ÍÏÄÉÆÉÃÉÒÏ×ÁÎ\n" - "ÄÌÑ ÒÁÂÏÔÙ Ó ÎÏ×ÙÍ ÆÏÒÍÁÔÏÍ É ÓÌÅÄÕÀÝÉÅ ÄÁÎÎÙÅ ÍÏÇÕÔ ×ÙÇÌÑÄÅÔØ ÓÔÒÁÎÎÏ.\n" - "\n" - -#: src/save.c:972 -msgid "bytes" -msgstr "ÂÁÊÔ" - -#: src/select.c:379 -msgid "unread" -msgstr "ÎÅÐÒÏÞÉÔÁÎÎÙÅ" - -#: src/select.c:379 -msgid "all" -msgstr "×ÓÅ" - -#: src/select.c:549 src/select.c:551 -msgid " R" -msgstr "" - -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 -#, c-format -msgid "Can't run slrnface: Environment variable %s not found." -msgstr "îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ðÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ %s ÎÅ ÎÁÊÄÅÎÁ." - -#: src/xface.c:99 src/xface.c:131 -#, c-format -msgid "Can't run slrnface: failed to create %s" -msgstr "îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ %s" - -#: src/xface.c:109 -msgid "This directory is used to create named pipes for communication between\n" - "slrnface and its parent process. It should normally be empty because\n" - "the pipe is deleted right after it has been opened by both processes.\n" - "\n" - "File names generated by slrnface have the form \"hostname.pid\". It is\n" - "probably an error if they linger here longer than a fraction of a second.\n" - "\n" - "However, if the directory is mounted from an NFS server, you might see\n" - "special files created by your NFS server while slrnface is running.\n" - "Do not try to remove them.\n" -msgstr "üÔÁ ÄÉÒÅËÔÏÒÉÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÓÏÚÄÁÎÉÑ ÉÍÅÎÏ×ÁÎÎÙÈ pipe ÄÌÑ Ó×ÑÚÉ ÍÅÖÄÕ\n" - "slrnface É ÒÏÄÉÔÅÌØÓËÉÍ ÐÒÏÃÅÓÓÏÍ. ïÎÁ ÏÂÙÞÎÏ ÄÏÌÖÎÁ ÂÙÔØ ÐÕÓÔÏÊ, ÔÁË ËÁË\n" - "ÆÁÊÌ pipe ÕÎÉÞÔÏÖÁÅÔÓÑ ÓÒÁÚÕ ÖÅ ÐÏÓÌÅ ÔÏÇÏ, ËÁË ÏÎ ÏÔËÒÙÔ ÄÒÕÍÑ ÐÒÏÃÅÓÓÁÍÉ.\n" - "éÍÅÎÁ ÆÁÊÌÏ× ÇÅÎÅÒÉÒÕÅÍÙÅ slrnface ÉÍÅÀÔ ÆÏÒÍÕ \"hostname.pid\". ÷ÅÒÏÑÔÎÏ\n" - "ÓÕÝÅÓÔ×ÕÅÔ ÎÅËÏÔÏÒÁÑ ÏÛÉÂËÁ, ÅÓÌÉ ÏÎÉ ÚÁÄÅÒÖÉ×ÁÀÔÓÑ × ÜÔÏÊ ÄÉÒÅËÔÏÒÉÉ\n" - "ÂÏÌÅÅ ÞÅÍ ÎÁ ÓÅËÕÎÄÕ.\n" - "\n" - "ïÄÎÁËÏ, ÅÓÌÉ ÄÉÒÅËÔÏÒÉÑ ÐÏÄÍÏÎÔÉÒÏ×ÁÎÁ ÞÅÒÅÚ NFS ÓÅÒ×ÅÒ, ÔÏ ×Ù ÍÏÖÅÔÅ\n" - "×ÉÄÅÔØ ÓÐÅÃÉÁÌØÎÙÅ ÆÁÊÌÙ ÓÏÚÄÁÎÎÙÅ ÄÌÑ ×ÁÓ NFS ÓÅÒ×ÅÒÏÍ ×Ï ×ÒÅÍÑ ÒÁÂÏÔÙ\n" - "slrnface.\n" - -#: src/xface.c:123 -msgid "Can't run slrnface: couldn't construct fifo name." -msgstr "îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ÎÅ ÕÄÁ£ÔÓÑ ÓËÏÎÓÔÒÕÉÒÏ×ÁÔØ ÉÍÑ fifo." - -#: src/xface.c:162 +msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" + "are reading this prefix, your mail reader probably has not yet been modified\n" + "to understand the new format, and some of what follows may look strange.\n" + "\n" +msgstr "üÔÏ ÓÏÏÂÝÅÎÉÅ ÂÙÌÏ ÓÏÚÄÁÎÏ × 'multipart/mixed' MIME-ÆÏÒÍÁÔÅ. åÓÌÉ ×Ù\n" + "×ÉÄÉÔÅ ÜÔÏÔ ÐÒÅÆÉËÓ, ÔÏ ×ÁÛ ÐÏÞÔÏ×ÙÊ ÁÇÅÎÔ ×ÅÒÏÑÔÎÏ ÎÅ ÂÙÌ ÍÏÄÉÆÉÃÉÒÏ×ÁÎ\n" + "ÄÌÑ ÒÁÂÏÔÙ Ó ÎÏ×ÙÍ ÆÏÒÍÁÔÏÍ É ÓÌÅÄÕÀÝÉÅ ÄÁÎÎÙÅ ÍÏÇÕÔ ×ÙÇÌÑÄÅÔØ ÓÔÒÁÎÎÏ.\n" + "\n" + +#: src/save.c:1045 +msgid "bytes" +msgstr "ÂÁÊÔ" + +#: src/select.c:378 +msgid "unread" +msgstr "ÎÅÐÒÏÞÉÔÁÎÎÙÅ" + +#: src/select.c:378 +msgid "all" +msgstr "×ÓÅ" + +#: src/select.c:554 src/select.c:556 +msgid " R" +msgstr "" + +#: src/xface.c:70 +#, fuzzy +msgid "Can't run slrnface: Not running in a xterm." +msgstr "îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ÎÅ ÕÄÁ£ÔÓÑ ÓËÏÎÓÔÒÕÉÒÏ×ÁÔØ ÉÍÑ fifo." + +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 #, c-format -msgid "Slrnface abnormally exited, code %d." -msgstr "Slrnface ÎÅÐÒÁ×ÉÌØÎÏ ÚÁ×ÅÒÛÅÎÁ Ó ËÏÄÏÍ %d." +msgid "Can't run slrnface: Environment variable %s not found." +msgstr "îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ðÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ %s ÎÅ ÎÁÊÄÅÎÁ." -#: src/xface.c:206 +#: src/xface.c:111 src/xface.c:143 +#, c-format +msgid "Can't run slrnface: failed to create %s" +msgstr "îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ %s" + +#: src/xface.c:121 +msgid "This directory is used to create named pipes for communication between\n" + "slrnface and its parent process. It should normally be empty because\n" + "the pipe is deleted right after it has been opened by both processes.\n" + "\n" + "File names generated by slrnface have the form \"hostname.pid\". It is\n" + "probably an error if they linger here longer than a fraction of a second.\n" + "\n" + "However, if the directory is mounted from an NFS server, you might see\n" + "special files created by your NFS server while slrnface is running.\n" + "Do not try to remove them.\n" +msgstr "üÔÁ ÄÉÒÅËÔÏÒÉÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÓÏÚÄÁÎÉÑ ÉÍÅÎÏ×ÁÎÎÙÈ pipe ÄÌÑ Ó×ÑÚÉ ÍÅÖÄÕ\n" + "slrnface É ÒÏÄÉÔÅÌØÓËÉÍ ÐÒÏÃÅÓÓÏÍ. ïÎÁ ÏÂÙÞÎÏ ÄÏÌÖÎÁ ÂÙÔØ ÐÕÓÔÏÊ, ÔÁË ËÁË\n" + "ÆÁÊÌ pipe ÕÎÉÞÔÏÖÁÅÔÓÑ ÓÒÁÚÕ ÖÅ ÐÏÓÌÅ ÔÏÇÏ, ËÁË ÏÎ ÏÔËÒÙÔ ÄÒÕÍÑ ÐÒÏÃÅÓÓÁÍÉ.\n" + "éÍÅÎÁ ÆÁÊÌÏ× ÇÅÎÅÒÉÒÕÅÍÙÅ slrnface ÉÍÅÀÔ ÆÏÒÍÕ \"hostname.pid\". ÷ÅÒÏÑÔÎÏ\n" + "ÓÕÝÅÓÔ×ÕÅÔ ÎÅËÏÔÏÒÁÑ ÏÛÉÂËÁ, ÅÓÌÉ ÏÎÉ ÚÁÄÅÒÖÉ×ÁÀÔÓÑ × ÜÔÏÊ ÄÉÒÅËÔÏÒÉÉ\n" + "ÂÏÌÅÅ ÞÅÍ ÎÁ ÓÅËÕÎÄÕ.\n" + "\n" + "ïÄÎÁËÏ, ÅÓÌÉ ÄÉÒÅËÔÏÒÉÑ ÐÏÄÍÏÎÔÉÒÏ×ÁÎÁ ÞÅÒÅÚ NFS ÓÅÒ×ÅÒ, ÔÏ ×Ù ÍÏÖÅÔÅ\n" + "×ÉÄÅÔØ ÓÐÅÃÉÁÌØÎÙÅ ÆÁÊÌÙ ÓÏÚÄÁÎÎÙÅ ÄÌÑ ×ÁÓ NFS ÓÅÒ×ÅÒÏÍ ×Ï ×ÒÅÍÑ ÒÁÂÏÔÙ\n" + "slrnface.\n" + +#: src/xface.c:135 +msgid "Can't run slrnface: couldn't construct fifo name." +msgstr "îÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ slrnface: ÎÅ ÕÄÁ£ÔÓÑ ÓËÏÎÓÔÒÕÉÒÏ×ÁÔØ ÉÍÑ fifo." + +#: src/xface.c:174 #, c-format -msgid "Slrnface failed: %s." -msgstr "Slrnface: ÏÛÉÂËÁ ÚÁÐÕÓËÁ: %s." +msgid "Slrnface abnormally exited, code %d." +msgstr "Slrnface ÎÅÐÒÁ×ÉÌØÎÏ ÚÁ×ÅÒÛÅÎÁ Ó ËÏÄÏÍ %d." + +#: src/xface.c:218 +#, c-format +msgid "Slrnface failed: %s." +msgstr "Slrnface: ÏÛÉÂËÁ ÚÁÐÕÓËÁ: %s." + +#, fuzzy +#~ msgid "mark selected articles as read" +#~ msgstr "ðÏÍÅÔÉÔØ ÎÅÏÔÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ ËÁË ÐÒÏÞÉÔÁÎÎÙÅ?" + +#~ msgid "Mark %s=tagged articles, %s=current article, %s=quit: " +#~ msgstr "íÁÒËÉÒÏ×ÁÔØ %s=ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ, %s=ÔÅËÕÝÕÀ ÓÔÁÔØÀ, %s=×ÙÈÏÄ: " + +#~ msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " +#~ msgstr "íÁÒËÉÒÏ×ÁÔØ %s=ÐÏÍÅÞÅÎÎÙÅ ÓÔÁÔØÉ/ÄÉÓË., %s=ÔÅËÕÝÕÀ ÄÉÓË., %s=×ÙÈÏÄ: " + +#~ msgid "Thread range" +#~ msgstr "äÉÁÐÁÚÏÎ ÄÉÓËÕÓÓÉÉ" + +#~ msgid "Send you a carbon copy automatically. toggles & sets." +#~ msgstr "ïÔÐÒÁ×ÌÑÔØ ×ÁÍ carbon copy Á×ÔÏÍÁÔÉÞÅÓËÉ. <ðòïâåì> ×ÙÂÏÒ, " +#~ "ÕÓÔÁÎÏ×ÉÔØ." + +#~ msgid "# If ON automatically put your name in the Cc: field when mailing an " +#~ "article\n" +#~ msgstr "# åÓÌÉ ON, ÔÏ ÐÒÉ ÏÔÐÒÁ×ËÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏÍÅÝÁÔØ ×ÁÛÅ ÉÍÑ × " +#~ "ÐÏÌÅ Cc:\n" + +#~ msgid "Send you a blind cc automatically" +#~ msgstr "ïÔÐÒÁ×ÌÑÔØ ×ÁÍ Blind cc Á×ÔÏÍÁÔÉÞÅÓËÉ" + +#~ msgid "# If ON automatically put your name in the Bcc: field when mailing an " +#~ "article\n" +#~ msgstr "# åÓÌÉ ON, ÔÏ ÐÒÉ ÏÔÐÒÁ×ËÅ ÓÔÁÔØÉ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÏÍÅÝÁÔØ ×ÁÛÅ ÉÍÑ × " +#~ "ÐÏÌÅ Bcc:\n" + +#, fuzzy +#~ msgid "\n" +#~ "Warning: %s contains non 7bit chars.\n" +#~ msgstr "\n" +#~ "÷ÎÉÍÁÎÉÅ: \"Subject:\" ÓÏÄÅÒÖÉÔ ÏÄÎÉ ÐÒÏÂÅÌÙ.\n" Binary files tin-1.8.3/po/rw.gmo and tin-2.0.0/po/rw.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/rw.po tin-2.0.0/po/rw.po --- tin-1.8.3/po/rw.po 2007-02-01 13:58:04.000000000 +0100 +++ tin-2.0.0/po/rw.po 1970-01-01 01:00:00.000000000 +0100 @@ -1,6964 +0,0 @@ -# translation of tin to Kinyarwanda. -# Copyright (C) 2005 Free Software Foundation, Inc. -# This file is distributed under the same license as the tin package. -# Steve Murphy , 2005 -# Steve performed initial rough translation from compendium built from translations provided by the following translators: -# Philibert Ndandali , 2005. -# Viateur MUGENZI , 2005. -# Noëlla Mupole , 2005. -# Carole Karema , 2005. -# JEAN BAPTISTE NGENDAHAYO , 2005. -# Augustin KIBERWA , 2005. -# Donatien NSENGIYUMVA , 2005. -# Antoine Bigirimana , 2005. -# -msgid "" -msgstr "Project-Id-Version: tin 1.7.8\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-02-01 13:57+0100\n" - "PO-Revision-Date: 2005-04-03 10:55-0700\n" - "Last-Translator: Steven Michael Murphy \n" - "Language-Team: Kinyarwanda \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=ISO-8859-1\n" - "Content-Transfer-Encoding: 8bit\n" - -#: src/art.c:1534 -#, fuzzy, c-format -msgid "%d Bad overview record (%d fields) '%s'" -msgstr "%d Incamake Icyabitswe Imyanya" - -#: src/attrib.c:649 -#, fuzzy, c-format -msgid "# Do not edit this comment block\n" - "#\n" -msgstr "# O YA Guhindura iyi Icyo wongeraho\n" - "#\n" - -#: src/attrib.c:650 -#, fuzzy, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" -msgstr "# Alt. Alt.\n" - -#: src/attrib.c:651 -#, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" -msgstr "" - -#: src/attrib.c:652 -#, fuzzy, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" -msgstr "# Ukoresha:\n" - -#: src/attrib.c:653 -#, c-format -msgid "# savefile=STRING (ie. =linux)\n" -msgstr "" - -#: src/attrib.c:654 -#, fuzzy, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" -msgstr "# VAR\n" - -#: src/attrib.c:655 -#, fuzzy, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" -msgstr "# Ihuzagahunda NIBA Itangiriro Na: Gusoma Bivuye IDOSIYE\n" - -#: src/attrib.c:656 -#, c-format -msgid "# followup_to=STRING\n" -msgstr "" - -#: src/attrib.c:657 -#, fuzzy, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" -msgstr "# Urutonde rwa Imeli Urugero org\n" - -#: src/attrib.c:658 -#, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" -msgstr "" - -#: src/attrib.c:659 -#, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" -msgstr "" - -#: src/attrib.c:660 -#, fuzzy, c-format -msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" -msgstr "# Bivuye Kongeraho... Umurongo Gukoresha\n" - -#: src/attrib.c:661 -#, c-format -msgid "# news_quote_format=STRING\n" -msgstr "" - -#: src/attrib.c:662 -#, fuzzy, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" -msgstr "# kugirango Izibanza\n" - -#: src/attrib.c:663 -#, fuzzy, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" -msgstr "# Ishusho Ishusho bmp\n" - -#: src/attrib.c:665 -#, c-format -msgid "# ispell=STRING\n" -msgstr "" - -#: src/attrib.c:667 -#, c-format -msgid "# auto_select=ON/OFF\n" -msgstr "" - -#: src/attrib.c:668 -#, fuzzy, c-format -msgid "# auto_save=ON/OFF\n" -msgstr "# NyaMwishyingura\n" - -#: src/attrib.c:669 -#, c-format -msgid "# batch_save=ON/OFF\n" -msgstr "" - -#: src/attrib.c:670 -#, c-format -msgid "# delete_tmp_files=ON/OFF\n" -msgstr "" - -#: src/attrib.c:671 -#, c-format -msgid "# show_only_unread=ON/OFF\n" -msgstr "" - -#: src/attrib.c:672 -#, c-format -msgid "# thread_arts=NUM" -msgstr "" - -#: src/attrib.c:679 -#, c-format -msgid "# thread_perc=NUM\n" -msgstr "" - -#: src/attrib.c:680 -#, c-format -msgid "# show_author=NUM\n" -msgstr "" - -#: src/attrib.c:686 -#, c-format -msgid "# show_info=NUM\n" -msgstr "" - -#: src/attrib.c:692 -#, c-format -msgid "# sort_art_type=NUM\n" -msgstr "" - -#: src/attrib.c:710 -#, c-format -msgid "# sort_threads_type=NUM\n" -msgstr "" - -#: src/attrib.c:715 -#, c-format -msgid "# post_proc_type=NUM\n" -msgstr "" - -#: src/attrib.c:720 -#, c-format -msgid "# quick_kill_scope=STRING (ie. talk.*)\n" -msgstr "" - -#: src/attrib.c:721 -#, c-format -msgid "# quick_kill_expire=ON/OFF\n" -msgstr "" - -#: src/attrib.c:722 -#, c-format -msgid "# quick_kill_case=ON/OFF\n" -msgstr "" - -#: src/attrib.c:723 -#, c-format -msgid "# quick_kill_header=NUM\n" -msgstr "" - -#: src/attrib.c:724 src/attrib.c:731 -#, fuzzy, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" -msgstr "# 0 1. Kwirengagiza\n" - -#: src/attrib.c:725 src/attrib.c:732 -#, fuzzy, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" -msgstr "# 2. Bivuye 3. Bivuye Kwirengagiza\n" - -#: src/attrib.c:726 src/attrib.c:733 -#, c-format -msgid "# 4=msgid 5=lines\n" -msgstr "" - -#: src/attrib.c:727 -#, c-format -msgid "# quick_select_scope=STRING\n" -msgstr "" - -#: src/attrib.c:728 -#, c-format -msgid "# quick_select_expire=ON/OFF\n" -msgstr "" - -#: src/attrib.c:729 -#, c-format -msgid "# quick_select_case=ON/OFF\n" -msgstr "" - -#: src/attrib.c:730 -#, c-format -msgid "# quick_select_header=NUM\n" -msgstr "" - -#: src/attrib.c:734 -#, c-format -msgid "# x_comment_to=ON/OFF\n" -msgstr "" - -#: src/attrib.c:735 -#, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" -msgstr "" - -#: src/attrib.c:736 -#, c-format -msgid "# tex2iso_conv=ON/OFF\n" -msgstr "" - -#: src/attrib.c:737 -#, c-format -msgid "# mime_forward=ON/OFF\n" -msgstr "" - -#: src/attrib.c:739 -#, c-format -msgid "# mm_network_charset=supported_charset" -msgstr "" - -#: src/attrib.c:746 -#, fuzzy, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" -msgstr "# Mburabuzi ni\n" - -#: src/attrib.c:748 -#, fuzzy, c-format -msgid "#\n" - "# Note that it is best to put general (global scoping)\n" -msgstr "#\n" - "# ni Kuri Gushyira Rusange\n" - -#: src/attrib.c:749 -#, fuzzy, c-format -msgid "# entries first followed by group specific entries.\n" - "#\n" -msgstr "# Ibyinjijwe Itangira ku Itsinda Ibyinjijwe\n" - "#\n" - -#: src/attrib.c:750 -#, c-format -msgid "############################################################################\n" - "\n" -msgstr "" - -#: src/attrib.c:756 -#, fuzzy, c-format -msgid "# include extra headers\n" -msgstr "# Gushyiramo Birenga\n" - -#: src/attrib.c:764 -#, fuzzy, c-format -msgid "# in *sources* set post process type to shar only\n" -msgstr "# in Gushyiraho Iposita Ubwoko Kuri\n" - -#: src/attrib.c:768 -#, fuzzy, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" -msgstr "# in Iposita Inonosora Gukuraho...\n" - -#: src/attrib.c:769 -#, fuzzy, c-format -msgid "# remove tmp files and set Followup-To: poster\n" -msgstr "# Na Gushyiraho\n" - -#: src/cook.c:499 -#, fuzzy -msgid "(unknown)" -msgstr "(Itazwi)" - -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -#, fuzzy -msgid "Removed from the previous rule: " -msgstr "Bivuye i Ibanjirije" - -#: src/keymap.c:271 -msgid "NULL" -msgstr "" - -#: src/lang.c:42 -#, fuzzy -msgid "1 Response" -msgstr "1." - -#: src/lang.c:46 -#, fuzzy, c-format -msgid "\n" - "%s contains no newsgroups. Exiting." -msgstr "\n" - "%sKirimo Oya Imbuga z'amakuru" - -#: src/lang.c:47 -#, fuzzy -msgid "all " -msgstr "Byose" - -#: src/lang.c:48 -msgid "All groups" -msgstr "amatsinda yose" - -#: src/lang.c:49 -#, fuzzy, c-format -msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " -msgstr "Idosiye Kongeraho... Guhindura Kuvamo" - -#: src/lang.c:50 -#, fuzzy -msgid "Article cancelled (deleted)." -msgstr "Kureka Cyasibwe" - -#: src/lang.c:51 -#, fuzzy -msgid "Article cannot be cancelled (deleted)." -msgstr "Kureka Cyasibwe" - -#: src/lang.c:52 -#, fuzzy -msgid "Article deleted." -msgstr "Cyasibwe" - -#: src/lang.c:53 -#, fuzzy, c-format -msgid "\n" - "Your article:\n" - " \"%s\"\n" - "will be posted to the following %s:\n" -msgstr "Ingingo Kuri i" - -#: src/lang.c:54 -#, fuzzy -msgid "Article not posted!" -msgstr "OYA" - -#: src/lang.c:55 -#, fuzzy -msgid "Article not saved" -msgstr "OYA" - -#: src/lang.c:56 -msgid "Article Level Commands" -msgstr "" - -#: src/lang.c:57 -#, fuzzy -msgid "Article has no parent" -msgstr "Oya" - -#: src/lang.c:58 -#, fuzzy -msgid "Parent article has been killed" -msgstr "Ingingo" - -#: src/lang.c:59 -#, fuzzy -msgid "Parent article is unavailable" -msgstr "Ingingo ni" - -#: src/lang.c:60 -#, c-format -msgid "Article posted: %s" -msgstr "" - -#: src/lang.c:61 -#, fuzzy, c-format -msgid "Article rejected (saved to %s)" -msgstr "Byanzwe Kuri" - -#: src/lang.c:62 -#, fuzzy, c-format -msgid "%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " -msgstr "%s=Ingingo Urudodo Ishusho Kuvamo" - -#: src/lang.c:63 -msgid "Article unavailable" -msgstr "" - -#: src/lang.c:64 -msgid "Article undeleted." -msgstr "" - -#: src/lang.c:66 -msgid "articles" -msgstr "" - -#: src/lang.c:67 -#, fuzzy -msgid "This is a repost of the following article:" -msgstr "ni a Bya i Ingingo" - -#: src/lang.c:68 -#, fuzzy -msgid "article" -msgstr "Ingingo" - -#: src/lang.c:69 -msgid "Article" -msgstr "Ingingo" - -#: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" -msgstr "" - -# 345 -#: src/lang.c:71 -#, fuzzy, c-format -msgid " at %s" -msgstr " ku %s" - -#: src/lang.c:72 -#, fuzzy, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" -msgstr "%*s[--%s/%s,Imisobekere: Imirongo" - -#: src/lang.c:73 -msgid ", charset: " -msgstr "" - -#: src/lang.c:74 -#, c-format -msgid "%*s[-- Description: %s --]\n" -msgstr "" - -#: src/lang.c:75 -#, fuzzy, c-format -msgid "%d Authentication failed" -msgstr "%dByanze" - -#: src/lang.c:76 -msgid "Server expects authentication.\n" -msgstr "" - -#: src/lang.c:77 -#, fuzzy -msgid " Please enter password: " -msgstr "Injiza Ijambobanga..." - -#: src/lang.c:78 -#, fuzzy -msgid " Please enter username: " -msgstr "Injiza Izina ry'ukoresha" - -#: src/lang.c:79 -#, fuzzy, c-format -msgid "Author search backwards [%s]> " -msgstr "Gushaka Inyuma" - -#: src/lang.c:80 -#, fuzzy, c-format -msgid "Author search forwards [%s]> " -msgstr "Gushaka" - -#: src/lang.c:81 -#, fuzzy, c-format -msgid "Authorized for user: %s\n" -msgstr "kugirango Ukoresha:" - -#: src/lang.c:82 -#, fuzzy, c-format -msgid "Authorization failed for user: %s\n" -msgstr "Byanze kugirango Ukoresha:" - -#: src/lang.c:83 -#, fuzzy, c-format -msgid "\n" - "Autosubscribed to %s" -msgstr "Kuri" - -#: src/lang.c:84 -#, fuzzy -msgid "Autosubscribing groups...\n" -msgstr "Amatsinda" - -#: src/lang.c:85 -#, fuzzy, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." -msgstr "Gukoresha Kuri Byose Bidasomye" - -#: src/lang.c:87 -#, fuzzy, c-format -msgid "Active file corrupt - %s" -msgstr "IDOSIYE" - -#: src/lang.c:88 -#, fuzzy, c-format -msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " -msgstr "Kuri in Amakosa Iburira Kuvamo Guhindura" - -#: src/lang.c:89 -#, fuzzy, c-format -msgid "Unrecognized attribute: %s" -msgstr "Ikiranga" - -#: src/lang.c:90 -#, fuzzy, c-format -msgid "Bad command. Type '%s' for help." -msgstr "Komandi: kugirango Ifashayobora" - -#: src/lang.c:92 -#, fuzzy -msgid "Base article" -msgstr "Base Ingingo" - -#: src/lang.c:93 -#, fuzzy -msgid "Base article range" -msgstr "Base Ingingo Urutonde" - -#: src/lang.c:94 -#, fuzzy, c-format -msgid "%s: Updating of index files not supported\n" -msgstr "%s:Bya Umubarendanga Idosiye OYA" - -#: src/lang.c:95 -#, fuzzy -msgid "*** Beginning of article ***" -msgstr "***Bya Ingingo" - -#: src/lang.c:97 -#, fuzzy, c-format -msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " -msgstr "Gusiba Cyangwa Guhindura Ingingo" - -#: src/lang.c:98 -#, fuzzy -msgid "Cancelling article..." -msgstr "Ingingo" - -#: src/lang.c:100 -#, fuzzy, c-format -msgid "Cannot create %s" -msgstr "Kurema" - -#: src/lang.c:101 -#, fuzzy, c-format -msgid "Can't find base article %d" -msgstr "Gushaka SHINGIRO Ingingo" - -#: src/lang.c:102 -#, fuzzy, c-format -msgid "Can't open %s" -msgstr "Gufungura" - -#: src/lang.c:103 -#, fuzzy, c-format -msgid "Couldn't open %s for saving" -msgstr "Gufungura kugirango Mu kubika" - -#: src/lang.c:104 -#, fuzzy -msgid "*** Posting not allowed ***" -msgstr "***OYA" - -#: src/lang.c:105 -#, fuzzy, c-format -msgid "Posting is not allowed to %s" -msgstr "ni OYA Kuri" - -#: src/lang.c:106 -#, c-format -msgid "Can't retrieve %s" -msgstr "" - -#: src/lang.c:107 -#, fuzzy, c-format -msgid "%s is a directory" -msgstr "%sni a bushyinguro" - -#: src/lang.c:108 -msgid "Catchup" -msgstr "" - -#: src/lang.c:109 -#, c-format -msgid "Catchup %s..." -msgstr "" - -#: src/lang.c:110 -#, fuzzy -msgid "Catchup all groups entered during this session?" -msgstr "Byose Amatsinda iyi Umukoro" - -#: src/lang.c:111 -#, fuzzy -msgid "You have tagged articles in this group - catchup anyway?" -msgstr "in iyi Itsinda" - -#: src/lang.c:112 -#, fuzzy, c-format -msgid "%s %d %s in %lu seconds\n" -msgstr "%s%d%sin" - -#: src/lang.c:113 -msgid "Caughtup" -msgstr "" - -#: src/lang.c:114 -msgid "Check Prepared Article" -msgstr "" - -#: src/lang.c:115 -#, fuzzy -msgid "Checking for new groups... " -msgstr "kugirango Gishya Amatsinda" - -#: src/lang.c:116 -#, fuzzy -msgid "Checking for news..." -msgstr "kugirango Amakuru" - -#: src/lang.c:117 -#, fuzzy, c-format -msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " -msgstr "Oya Yego Kuvamo" - -#: src/lang.c:119 -#, fuzzy -msgid "ANSI color disabled" -msgstr "Ibara Yahagaritswe" - -#: src/lang.c:120 -#, fuzzy -msgid "ANSI color enabled" -msgstr "Ibara Bikora" - -#: src/lang.c:122 -#, fuzzy, c-format -msgid "Command failed: %s" -msgstr "Byanze" - -#: src/lang.c:123 -#, fuzzy -msgid "Mark not selected articles read?" -msgstr "OYA Byahiswemo Gusoma" - -#: src/lang.c:124 -#, fuzzy, c-format -msgid "Connecting to %s..." -msgstr "Kwihuza na %s..." - -#: src/lang.c:125 -msgid "" -msgstr "" - -#: src/lang.c:126 -#, fuzzy -msgid "Creating active file for saved groups...\n" -msgstr "Gikora IDOSIYE kugirango Amatsinda" - -#: src/lang.c:127 -#, fuzzy -msgid "Creating newsrc file...\n" -msgstr "IDOSIYE" - -#: src/lang.c:129 src/lang.c:1150 -msgid "Default" -msgstr "Mburabuzi" - -#: src/lang.c:130 -#, fuzzy -msgid "Delete saved files that have been post processed?" -msgstr "Idosiye Iposita" - -#: src/lang.c:131 -#, fuzzy -msgid "Deleting temporary files..." -msgstr "By'igihe gito Idosiye" - -#: src/lang.c:133 -#, fuzzy -msgid "*** End of article ***" -msgstr "***Impera Bya Ingingo" - -#: src/lang.c:134 -#, fuzzy -msgid "*** End of articles ***" -msgstr "***Impera Bya" - -#: src/lang.c:135 -#, fuzzy -msgid "*** End of groups ***" -msgstr "***Impera Bya Amatsinda" - -#: src/lang.c:136 -#, fuzzy -msgid "*** End of thread ***" -msgstr "***Impera Bya Urudodo" - -#: src/lang.c:137 -#, fuzzy -msgid "Enter limit of articles to get> " -msgstr "Bya Kuri Kubona" - -#: src/lang.c:138 -#, fuzzy -msgid "Enter Message-ID to go to> " -msgstr "Kuri Gyayo Kuri" - -#: src/lang.c:139 -#, fuzzy -msgid " and enter next unread thread" -msgstr "Na Injiza Komeza>> Bidasomye Urudodo" - -#: src/lang.c:140 -#, fuzzy -msgid " and enter next unread group" -msgstr "Na Injiza Komeza>> Bidasomye Itsinda" - -#: src/lang.c:141 -#, fuzzy -msgid "Enter option number> " -msgstr "Ihitamo Umubare" - -#: src/lang.c:142 -#, fuzzy, c-format -msgid "Enter range [%s]> " -msgstr "Urutonde" - -#: src/lang.c:143 -#, fuzzy -msgid "\n" - "Warning: Approved: header used.\n" -msgstr "Umutwempangano" - -#: src/lang.c:145 -#, fuzzy -msgid "\n" - "Error: Bad address in Approved: header.\n" -msgstr "Aderesi in Umutwempangano" - -#: src/lang.c:146 -#, fuzzy -msgid "\n" - "Error: Bad address in From: header.\n" -msgstr "Aderesi in Umutwempangano" - -#: src/lang.c:147 -#, fuzzy -msgid "\n" - "Error: Bad address in Reply-To: header.\n" -msgstr "Aderesi in Umutwempangano" - -#: src/lang.c:148 -#, fuzzy -msgid "\n" - "Error: Bad FQDN in Message-ID: header.\n" -msgstr "in Umutwempangano" - -#: src/lang.c:149 -#, c-format -msgid "Can't unlock %s" -msgstr "" - -#: src/lang.c:151 -#, fuzzy, c-format -msgid "Corrupted file %s" -msgstr "IDOSIYE" - -#: src/lang.c:152 -#, fuzzy, c-format -msgid "Couldn't dotlock %s - article not appended!" -msgstr "Ingingo OYA" - -#: src/lang.c:153 -#, fuzzy, c-format -msgid "Couldn't lock %s - article not appended!" -msgstr "Ingingo OYA" - -#: src/lang.c:155 -#, fuzzy -msgid "Internal error in GNKSA routine - send bug report.\n" -msgstr "Ikosa in Kohereza Icyegeranyo" - -#: src/lang.c:156 -#, fuzzy -msgid "Left angle bracket missing in route address.\n" -msgstr "Imfuruka Ibuze in Aderesi" - -#: src/lang.c:157 -#, fuzzy -msgid "Left parenthesis missing in old-style address.\n" -msgstr "Ibuze in ki/ bishaje IMISUSIRE Aderesi" - -#: src/lang.c:158 -#, fuzzy -msgid "Right parenthesis missing in old-style address.\n" -msgstr "Ibuze in ki/ bishaje IMISUSIRE Aderesi" - -#: src/lang.c:159 -#, fuzzy -msgid "At-sign missing in mail address.\n" -msgstr "IKIMENYETSO Ibuze in Ubutumwa Aderesi" - -#: src/lang.c:160 -#, fuzzy -msgid "Single component FQDN is not allowed. Add your domain.\n" -msgstr "ni OYA Urwego" - -#: src/lang.c:161 -#, fuzzy -msgid "Invalid domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Urwego Icyegeranyo NIBA Hejuru: urwego Urwego Sibyo Nka Hejuru: urwego Urwego " - "kugirango Amaderesi" - -#: src/lang.c:162 -#, fuzzy -msgid "Illegal domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Urwego Icyegeranyo NIBA Hejuru: urwego Urwego Sibyo Nka Hejuru: urwego Urwego " - "kugirango Amaderesi" - -#: src/lang.c:163 -#, fuzzy -msgid "Unknown domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Urwego Icyegeranyo NIBA Hejuru: urwego Urwego Sibyo Nka Hejuru: urwego Urwego " - "kugirango Amaderesi" - -#: src/lang.c:164 -#, fuzzy -msgid "Illegal character in FQDN.\n" -msgstr "Inyuguti in" - -#: src/lang.c:165 -#, fuzzy -msgid "Zero length FQDN component not allowed.\n" -msgstr "Uburebure OYA" - -#: src/lang.c:166 -#, fuzzy -msgid "FQDN component exceeds maximum allowed length (63 chars).\n" -msgstr "Kinini Uburebure" - -#: src/lang.c:167 -#, fuzzy -msgid "FQDN component may not start or end with hyphen.\n" -msgstr "Gicurasi OYA Gutangira Cyangwa Impera Na:" - -#: src/lang.c:168 -#, fuzzy -msgid "FQDN component may not start with digit.\n" -msgstr "Gicurasi OYA Gutangira Na:" - -#: src/lang.c:169 -#, fuzzy -msgid "Domain literal has impossible numeric value.\n" -msgstr "Bikurikije umubare Agaciro" - -#: src/lang.c:170 -#, fuzzy -msgid "Domain literal is for private use only and not allowed for global use.\n" -msgstr "ni kugirango By'umwihariko Gukoresha Na OYA kugirango Gukoresha" - -#: src/lang.c:171 -#, fuzzy -msgid "Right bracket missing in domain literal.\n" -msgstr "Ibuze in Urwego" - -#: src/lang.c:172 -#, fuzzy -msgid "Missing localpart of mail address.\n" -msgstr "Bya Ubutumwa Aderesi" - -#: src/lang.c:173 -#, fuzzy -msgid "Illegal character in localpart of mail address.\n" -msgstr "Inyuguti in Bya Ubutumwa Aderesi" - -#: src/lang.c:174 -#, fuzzy -msgid "Zero length localpart component not allowed.\n" -msgstr "Uburebure OYA" - -#: src/lang.c:175 -#, fuzzy -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" -msgstr "Inyuguti in Amagambo Gicurasi OYA in Amaderesi" - -#: src/lang.c:176 -#, fuzzy -msgid "Illegal character in realname.\n" - "Quoted words may not contain '()<>\\'.\n" -msgstr "Inyuguti in Amagambo Gicurasi OYA" - -#: src/lang.c:177 -#, fuzzy -msgid "Illegal character in realname.\n" - "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" -msgstr "Inyuguti in Amagambo Gicurasi OYA in" - -#: src/lang.c:178 -#, fuzzy -msgid "Bad syntax in encoded word used in realname.\n" -msgstr "in ijambo in" - -#: src/lang.c:179 -#, fuzzy -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '()<>\\' in old-style addresses.\n" -msgstr "Inyuguti in Amagambo Gicurasi OYA in ki/ bishaje IMISUSIRE Amaderesi" - -#: src/lang.c:180 -#, fuzzy -msgid "Illegal character in realname.\n" - "Control characters and unencoded 8bit characters > 127 are not allowed.\n" -msgstr "Inyuguti in Inyuguti Na Inyuguti OYA" - -#: src/lang.c:181 -#, fuzzy -msgid "\n" - "Error: No blank line found after header.\n" -msgstr "Ahatanditseho Umurongo Byabonetse Nyuma Umutwempangano" - -#. TODO: fixme, US-ASCII is not the only 7bit charset we know about -#: src/lang.c:183 -#, fuzzy -msgid "\n" - "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" - " US-ASCII - please change this setting to a suitable value for\n" - " your language using the M)enu of configurable options or by\n" - " editing tinrc.\n" -msgstr "Kirimo Inyuguti ni Gushyiraho Guhindura>> iyi Igenamiterere Kuri a Agaciro " - "Ururimi ikoresha i Bya Amahitamo Cyangwa" - -#: src/lang.c:188 -#, fuzzy -msgid "\n" - "Error: Posting contains non-ASCII characters but the MIME encoding\n" - " for news messages is set to \"7bit\" - please change this\n" - " setting to \"8bit\" or \"quoted-printable\" depending on what\n" - " is more common in your part of the world. This can be done\n" - " using the M)enu of configurable options or by editing tinrc.\n" -msgstr "Kirimo Inyuguti i kugirango Amakuru Ubutumwa ni Gushyiraho Kuri Guhindura>> " - "Igenamiterere Kuri Cyangwa Gicapika ku ni Birenzeho in Bya i ikoresha i Bya " - "Amahitamo Cyangwa ku" - -#: src/lang.c:194 -#, fuzzy -msgid "\n" - "Error: Article starts with blank line instead of header\n" -msgstr "Na: Ahatanditseho Umurongo Bya" - -#: src/lang.c:195 -#, fuzzy, c-format -msgid "\n" - "Error: Header on line %d does not have a colon after the header name:\n" - "%s\n" -msgstr "ku Umurongo OYA a Nyuma i Umutwempangano Izina:" - -#: src/lang.c:196 -#, fuzzy, c-format -msgid "\n" - "Error: The \"%s:\" line is empty.\n" -msgstr "Umurongo ni ubusa" - -#: src/lang.c:197 -#, fuzzy, c-format -msgid "\n" - "Error: The \"%s:\" line is missing from the article header.\n" -msgstr "Umurongo ni Ibuze Bivuye i Ingingo Umutwempangano" - -#: src/lang.c:198 -#, fuzzy, c-format -msgid "\n" - "Error: Header on line %d does not have a space after the colon:\n" - "%s\n" -msgstr "ku Umurongo OYA a Umwanya Nyuma i" - -#: src/lang.c:199 -#, fuzzy, c-format -msgid "\n" - "Error: There are multiple (%d) \"%s:\" lines in the header.\n" -msgstr "Igikubo Imirongo in i Umutwempangano" - -#: src/lang.c:200 -#, fuzzy, c-format -msgid "Insecure permissions of %s (%o)" -msgstr "Uruhushya Bya" - -#: src/lang.c:201 -#, fuzzy, c-format -msgid "Invalid response to GROUP command, %s" -msgstr "Kuri Komandi:" - -#: src/lang.c:203 -#, fuzzy, c-format -msgid "MIME parse error: Unexpected end of %s/%s article" -msgstr "Ikosa Impera Bya Ingingo" - -#: src/lang.c:204 -#, fuzzy -msgid "MIME parse error: Start boundary whilst reading headers" -msgstr "Ikosa Gutangira Imitwe" - -#: src/lang.c:205 -#, fuzzy -msgid "Can't get a (fully-qualified) domain-name!" -msgstr "Kubona a Urwego Izina:" - -#: src/lang.c:206 -#, fuzzy, c-format -msgid "No permissions to go into %s\n" -msgstr "Uruhushya Kuri Gyayo" - -#: src/lang.c:207 -#, fuzzy -msgid "\n" - "Error: From: line missing.\n" -msgstr "Umurongo Ibuze" - -#: src/lang.c:208 -#, fuzzy, c-format -msgid "No read permissions for %s\n" -msgstr "Gusoma Uruhushya kugirango" - -#: src/lang.c:209 -#, fuzzy, c-format -msgid "File %s does not exist\n" -msgstr "Idosiye OYA" - -#: src/lang.c:210 -#, fuzzy, c-format -msgid "No write permissions for %s\n" -msgstr "Kwandika Uruhushya kugirango" - -#: src/lang.c:211 -#, fuzzy -msgid "Can't get user information (/etc/passwd missing?)" -msgstr "Kubona Ukoresha: Ibisobanuro Ibuze" - -#: src/lang.c:212 -#, fuzzy -msgid "errors" -msgstr "Amakosa" - -#: src/lang.c:213 -#, fuzzy, c-format -msgid "\n" - "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" -msgstr "ku Umurongo Umutwempangano OYA Kyongewe kugirango" - -#: src/lang.c:214 -#, fuzzy, c-format -msgid "Server has non of the groups listed in %s" -msgstr "Bya i Amatsinda in" - -#: src/lang.c:215 -#, fuzzy -msgid "error" -msgstr "Ikosa" - -#: src/lang.c:216 -#, fuzzy -msgid "Unknown display level" -msgstr "Kugaragaza urwego" - -#: src/lang.c:217 -msgid "" -msgstr "" - -#: src/lang.c:218 -msgid "Exiting..." -msgstr "" - -#: src/lang.c:219 -#, fuzzy -msgid "leaving external mail-reader" -msgstr "external Ubutumwa" - -#: src/lang.c:220 -#, c-format -msgid "Extracting %s..." -msgstr "" - -#: src/lang.c:222 -#, fuzzy, c-format -msgid "Error writing %s file. Filesystem full? File reset to previous state." -msgstr "IDOSIYE Idosiye Kugarura Kuri Ibanjirije Leta" - -#: src/lang.c:223 -#, fuzzy, c-format -msgid "Error making backup of %s file. Filesystem full?" -msgstr "Inyibutsa Bya IDOSIYE" - -#: src/lang.c:224 -#, c-format -msgid "Filtering global rules (%d/%d)..." -msgstr "" - -#: src/lang.c:225 -#, fuzzy -msgid "Rule created by: " -msgstr "Byaremwe ku" - -#: src/lang.c:226 -#, fuzzy, c-format -msgid "Enter pattern [%s]> " -msgstr "Ishusho" - -#: src/lang.c:227 -#, fuzzy, c-format -msgid "\n" - "You requested followups to your article to go to the following %s:\n" -msgstr "Kuri Ingingo Kuri Gyayo Kuri i" - -#: src/lang.c:228 -#, fuzzy, c-format -msgid " %s\t Answers will be directed to you by mail.\n" -msgstr "%sKuri ku Ubutumwa" - -#: src/lang.c:229 -#, fuzzy -msgid "-- forwarded message --\n" -msgstr "--Ubutumwa" - -#: src/lang.c:230 -#, fuzzy -msgid "-- end of forwarded message --\n" -msgstr "--Impera Bya Ubutumwa" - -#: src/lang.c:231 -#, fuzzy -msgid "# Format:\n" - "# comment=STRING Optional. Multiple lines allowed. Comments must be " - "placed\n" - "# at the beginning of a rule, or they will be moved to " - "the\n" - "# next rule. '#' is not a valid keyword for a comment!\n" - "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" - "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" - "# score=NUM|STRING Mandatory. Score to give. Either:\n" - "# score=NUM A number (e.g. 70). Or:\n" - "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" - "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" - "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" - "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" - "# full references.\n" - "# msgid_last=STRING Optional. Like above, but with last reference only.\n" - "# msgid_only=STRING Optional. Like above, but without references.\n" - "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " - "without\n" - "# Message-ID:\n" - "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" - "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " - "opt.\n" - "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" - "# time=NUM Optional. time_t value when rule expires\n" - "#\n" -msgstr "#g. g. g. g. g. g. g. Alt." - -#: src/lang.c:252 -#, fuzzy, c-format -msgid "Enter score for rule (default=%d): " -msgstr "kugirango Mburabuzi" - -#: src/lang.c:253 -#, fuzzy, c-format -msgid "Enter the score weight (range 0 < score <= %d)" -msgstr "i Uburemere Urutonde 0" - -#. SCORE_MAX -#: src/lang.c:254 -msgid "Full" -msgstr "" - -#: src/lang.c:255 -#, fuzzy -msgid "Comment (optional) : " -msgstr "Bitari ngombwa" - -#: src/lang.c:256 -#, fuzzy -msgid "Apply pattern to : " -msgstr "Ishusho Kuri" - -#: src/lang.c:257 -#, fuzzy -msgid "From: line (ignore case) " -msgstr "Umurongo Kwirengagiza" - -#: src/lang.c:258 -#, fuzzy -msgid "From: line (case sensitive) " -msgstr "Umurongo" - -#: src/lang.c:260 -#, fuzzy, c-format -msgid "%s%s: Unknown host.\n" -msgstr "%s%s:Ubuturo" - -#: src/lang.c:261 -msgid "global " -msgstr "" - -#: src/lang.c:262 -#, fuzzy, c-format -msgid "Please use %.100s instead" -msgstr "Gukoresha" - -#: src/lang.c:263 -#, fuzzy, c-format -msgid "%s is bogus" -msgstr "%sni" - -#: src/lang.c:264 -#, fuzzy, c-format -msgid "Group %s is moderated. Continue?" -msgstr "Dukomeza." - -#: src/lang.c:265 -#, fuzzy -msgid "groups" -msgstr "Amatsinda" - -#: src/lang.c:266 -#, c-format -msgid "Rereading %s..." -msgstr "" - -#: src/lang.c:267 -msgid "Top Level Commands" -msgstr "" - -#: src/lang.c:268 -msgid "Group Selection" -msgstr "" - -#: src/lang.c:269 -#, fuzzy -msgid "group" -msgstr "Itsinda" - -#: src/lang.c:271 -#, fuzzy -msgid "One or more lines of comment. to add a line or proceed if line is empty." -msgstr "Cyangwa Birenzeho Imirongo Bya Icyo wongeraho Kuri Kongeramo a Umurongo " - "Cyangwa NIBA Umurongo ni ubusa" - -#: src/lang.c:272 -#, fuzzy -msgid "From: line to add to filter file. toggles & sets." -msgstr "Umurongo Kuri Kongeramo Kuri Muyunguruzi... IDOSIYE" - -#: src/lang.c:273 -#, fuzzy -msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." -msgstr "Bya Kuri kugirango Birutwa kugirango Birenzeho kugirango bingana" - -#: src/lang.c:274 -#, fuzzy -msgid "Message-ID: line to add to filter file. toggles & sets." -msgstr "Umurongo Kuri Kongeramo Kuri Muyunguruzi... IDOSIYE" - -#: src/lang.c:275 -#, fuzzy -msgid "Subject: line to add to filter file. toggles & sets." -msgstr "Umurongo Kuri Kongeramo Kuri Muyunguruzi... IDOSIYE" - -#: src/lang.c:276 -#, fuzzy -msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." -msgstr "Umwandiko Ishusho Kuri Muyunguruzi... NIBA Imirongo OYA" - -#: src/lang.c:277 -#, fuzzy -msgid "Select where text pattern should be applied. toggles & sets." -msgstr "Umwandiko Ishusho Byashyizweho" - -#: src/lang.c:278 -#, fuzzy -msgid "Expiration time in days for the entered filter. toggles & sets." -msgstr "Igihe in Iminsi kugirango i Muyunguruzi..." - -#: src/lang.c:279 -#, fuzzy -msgid "Apply kill only to current group or all groups. toggles & sets." -msgstr "Kuri KIGEZWEHO Itsinda Cyangwa Byose Amatsinda" - -#: src/lang.c:280 -#, fuzzy -msgid "Apply select to current group or all groups. toggles & sets." -msgstr "Guhitamo Kuri KIGEZWEHO Itsinda Cyangwa Byose Amatsinda" - -#: src/lang.c:281 -#, fuzzy -msgid "kill an article via a menu" -msgstr "Ingingo Biturutse a Ibikubiyemo" - -#: src/lang.c:282 -#, fuzzy -msgid "auto-select (hot) an article via a menu" -msgstr "Ikiyega Guhitamo Ingingo Biturutse a Ibikubiyemo" - -#: src/lang.c:283 -#, fuzzy -msgid "Browse URLs in article" -msgstr "in Ingingo" - -#: src/lang.c:284 -#, fuzzy -msgid "0 - 9\t display article by number in current thread" -msgstr "0 Kugaragaza Ingingo ku Umubare in KIGEZWEHO Urudodo" - -#: src/lang.c:285 -#, fuzzy -msgid "cancel (delete) or supersede (overwrite) current article" -msgstr "Kureka Gusiba Cyangwa Guhindura KIGEZWEHO Ingingo" - -#: src/lang.c:286 -#, fuzzy -msgid "edit article (mail-groups only)" -msgstr "Guhindura Ingingo Ubutumwa Amatsinda" - -#: src/lang.c:287 -#, fuzzy -msgid "display first article in current thread" -msgstr "Kugaragaza Itangira Ingingo in KIGEZWEHO Urudodo" - -#: src/lang.c:288 -#, fuzzy -msgid "display first page of article" -msgstr "Kugaragaza Itangira Ipaji Bya Ingingo" - -#: src/lang.c:289 -#, fuzzy -msgid "post followup to current article" -msgstr "Iposita Kuri KIGEZWEHO Ingingo" - -#: src/lang.c:290 -#, fuzzy -msgid "post followup (don't copy text) to current article" -msgstr "Iposita Gukoporora Umwandiko Kuri KIGEZWEHO Ingingo" - -#: src/lang.c:291 -#, fuzzy -msgid "post followup to current article quoting complete headers" -msgstr "Iposita Kuri KIGEZWEHO Ingingo Byuzuye Imitwe" - -#: src/lang.c:292 -#, fuzzy -msgid "display last article in current thread" -msgstr "Kugaragaza Iheruka Ingingo in KIGEZWEHO Urudodo" - -#: src/lang.c:293 -#, fuzzy -msgid "display last page of article" -msgstr "Kugaragaza Iheruka Ipaji Bya Ingingo" - -#: src/lang.c:294 -#, fuzzy -msgid "mark rest of thread as read and advance to next unread" -msgstr "Ikimenyetso Bya Urudodo Nka Gusoma Na Kuri Komeza>> Bidasomye" - -#: src/lang.c:295 -#, fuzzy -msgid "display next article" -msgstr "Kugaragaza Komeza>> Ingingo" - -#: src/lang.c:296 -#, fuzzy -msgid "display first article in next thread" -msgstr "Kugaragaza Itangira Ingingo in Komeza>> Urudodo" - -#: src/lang.c:297 -#, fuzzy -msgid "display next unread article" -msgstr "Kugaragaza Komeza>> Bidasomye Ingingo" - -#: src/lang.c:298 -#, fuzzy -msgid "go to the article that this one followed up" -msgstr "Gyayo Kuri i Ingingo iyi Hejuru" - -#: src/lang.c:299 -#, fuzzy -msgid "display previous article" -msgstr "Kugaragaza Ibanjirije Ingingo" - -#: src/lang.c:300 -#, fuzzy -msgid "display previous unread article" -msgstr "Kugaragaza Ibanjirije Bidasomye Ingingo" - -#: src/lang.c:301 -#, fuzzy -msgid "quickly kill an article using defaults" -msgstr "Ingingo ikoresha" - -#: src/lang.c:302 -#, fuzzy -msgid "quickly auto-select (hot) an article using defaults" -msgstr "Ikiyega Guhitamo Ingingo ikoresha" - -#: src/lang.c:303 -#, fuzzy -msgid "return to group selection level" -msgstr "Garuka Kuri Itsinda Ihitamo urwego" - -#: src/lang.c:304 -#, fuzzy -msgid "reply through mail to author" -msgstr "Subiza Gihinguranya Ubutumwa Kuri Umwanditsi" - -#: src/lang.c:305 -#, fuzzy -msgid "reply through mail (don't copy text) to author" -msgstr "Subiza Gihinguranya Ubutumwa Gukoporora Umwandiko Kuri Umwanditsi" - -#: src/lang.c:306 -#, fuzzy -msgid "reply through mail to author quoting complete headers" -msgstr "Subiza Gihinguranya Ubutumwa Kuri Umwanditsi Byuzuye Imitwe" - -#: src/lang.c:307 -#, fuzzy -msgid "repost chosen article to another group" -msgstr "Ingingo Kuri Itsinda" - -#: src/lang.c:308 -#, fuzzy -msgid "search backwards within this article" -msgstr "Gushaka Inyuma muri iyi Ingingo" - -#: src/lang.c:309 -#, fuzzy -msgid "search forwards within this article" -msgstr "Gushaka muri iyi Ingingo" - -#: src/lang.c:310 -#, fuzzy -msgid "show article in raw-mode (including all headers)" -msgstr "Garagaza Ingingo in Ubwoko Byose Imitwe" - -#: src/lang.c:311 -#, fuzzy -msgid "skip next block of included text" -msgstr "Komeza>> Funga Bya Umwandiko" - -#: src/lang.c:312 -#, fuzzy -msgid "toggle display of sections hidden by a form-feed (^L) on/off" -msgstr "Mukomatanya Kugaragaza Bya Ibyatoranyijwe gihishwe ku a Ifishi ku Bidakora" - -#: src/lang.c:313 -#, fuzzy -msgid "toggle word highlighting on/off" -msgstr "Mukomatanya ijambo Igaragaza cyane ku Bidakora" - -#: src/lang.c:314 -#, fuzzy -msgid "toggle ROT-13 (basic decode) for current article" -msgstr "Mukomatanya BASIC kugirango KIGEZWEHO Ingingo" - -#: src/lang.c:315 -#, fuzzy -msgid "toggle tabwidth 4 <-> 8" -msgstr "Mukomatanya 4. 8" - -#: src/lang.c:316 -#, fuzzy -msgid "toggle german TeX style decoding for current article" -msgstr "Mukomatanya Ikidage IMISUSIRE kugirango KIGEZWEHO Ingingo" - -#: src/lang.c:317 -#, fuzzy -msgid "toggle display of uuencoded sections" -msgstr "Mukomatanya Kugaragaza Bya Ibyatoranyijwe" - -#: src/lang.c:318 -#, fuzzy -msgid "View/save multimedia attachments" -msgstr "Kubika Imigereka" - -#: src/lang.c:319 -#, fuzzy, c-format -msgid "report bug or comment via mail to %s" -msgstr "Icyegeranyo Cyangwa Icyo wongeraho Biturutse Ubutumwa Kuri" - -#: src/lang.c:320 -#, fuzzy -msgid "choose range of articles to be affected by next command" -msgstr "Guhitamo Urutonde Bya Kuri ku Komeza>> Komandi:" - -#: src/lang.c:321 -#, fuzzy -msgid "escape from command prompt" -msgstr "Bivuye Komandi: Urwinjiriro" - -#: src/lang.c:322 -#, fuzzy -msgid "edit filter file" -msgstr "Guhindura Muyunguruzi... IDOSIYE" - -#: src/lang.c:323 -#, fuzzy -msgid "get help" -msgstr "Kubona Ifashayobora" - -#: src/lang.c:324 -#, fuzzy -msgid "display last article viewed" -msgstr "Kugaragaza Iheruka Ingingo" - -#: src/lang.c:325 -#, fuzzy -msgid "down one line" -msgstr "Hasi Umurongo" - -#: src/lang.c:326 -#, fuzzy -msgid "up one line" -msgstr "Hejuru Umurongo" - -#: src/lang.c:327 -#, fuzzy -msgid "go to article chosen by Message-ID" -msgstr "Gyayo Kuri Ingingo ku" - -#: src/lang.c:328 -#, fuzzy -msgid "mail article/thread/hot/pattern/tagged articles to someone" -msgstr "Ubutumwa Ingingo Urudodo Ishusho Kuri" - -#: src/lang.c:329 -#, fuzzy -msgid "menu of configurable options" -msgstr "Ibikubiyemo Bya Amahitamo" - -#: src/lang.c:330 -#, fuzzy -msgid "down one page" -msgstr "Hasi Ipaji" - -#: src/lang.c:331 -#, fuzzy -msgid "up one page" -msgstr "Hejuru Ipaji" - -#: src/lang.c:332 -#, fuzzy -msgid "post (write) article to current group" -msgstr "Iposita Kwandika Ingingo Kuri KIGEZWEHO Itsinda" - -#: src/lang.c:333 -#, fuzzy -msgid "post postponed articles" -msgstr "Iposita" - -#: src/lang.c:334 -#, fuzzy -msgid "list articles posted by you (from posted file)" -msgstr "Urutonde ku Bivuye IDOSIYE" - -#: src/lang.c:335 -#, fuzzy -msgid "return to previous menu" -msgstr "Garuka Kuri Ibanjirije Ibikubiyemo" - -#: src/lang.c:336 -#, fuzzy -msgid "quit tin immediately" -msgstr "Kuvamo Ako kanya" - -#: src/lang.c:337 -#, fuzzy -msgid "redraw page" -msgstr "Kongera Gushushanya Ipaji" - -#: src/lang.c:338 -#, fuzzy -msgid "save article/thread/hot/pattern/tagged articles to file" -msgstr "Kubika Ingingo Urudodo Ishusho Kuri IDOSIYE" - -#: src/lang.c:339 -#, fuzzy -msgid "save marked articles automatically without user prompts" -msgstr "Kubika cy/ byagarajwe ku buryo bwikora Ukoresha:" - -#: src/lang.c:340 -#, fuzzy -msgid "scroll the screen one line down" -msgstr "i Mugaragaza Umurongo Hasi" - -#: src/lang.c:341 -#, fuzzy -msgid "scroll the screen one line up" -msgstr "i Mugaragaza Umurongo Hejuru" - -#: src/lang.c:342 -#, fuzzy -msgid "search for articles by author backwards" -msgstr "Gushaka kugirango ku Umwanditsi Inyuma" - -#: src/lang.c:343 -#, fuzzy -msgid "search for articles by author forwards" -msgstr "Gushaka kugirango ku Umwanditsi" - -#: src/lang.c:344 -#, fuzzy -msgid "search all articles for a given string (this may take some time)" -msgstr "Gushaka Byose kugirango a Ikurikiranyanyuguti iyi Gicurasi Igihe" - -#: src/lang.c:345 -#, fuzzy -msgid " \t (searches are case-insensitive and wrap around to all articles)" -msgstr "(Na Gufunika Kuri Byose" - -#: src/lang.c:346 -#, fuzzy -msgid "search for articles by Subject line backwards" -msgstr "Gushaka kugirango ku Umurongo Inyuma" - -#: src/lang.c:347 -#, fuzzy -msgid "search for articles by Subject line forwards" -msgstr "Gushaka kugirango ku Umurongo" - -#: src/lang.c:348 -#, fuzzy -msgid "repeat last search" -msgstr "Gusubiramo Iheruka Gushaka" - -#: src/lang.c:349 -#, fuzzy -msgid "tag current article for reposting/mailing/piping/printing/saving" -msgstr "Itagi: KIGEZWEHO Ingingo kugirango Icapa... Mu kubika" - -#: src/lang.c:350 -#, fuzzy -msgid "toggle info message in last line (subject/description)" -msgstr "Mukomatanya Ibisobanuro Ubutumwa in Iheruka Umurongo Ikivugwaho " - "Isobanuramiterere" - -#: src/lang.c:351 -#, fuzzy -msgid "toggle inverse video" -msgstr "Mukomatanya Videwo..." - -#: src/lang.c:352 -#, fuzzy -msgid "toggle mini help menu display" -msgstr "Mukomatanya Ifashayobora Ibikubiyemo Kugaragaza" - -#: src/lang.c:353 -#, fuzzy -msgid "cycle the display of authors email address, real name, both or neither" -msgstr "Uruziga i Kugaragaza Bya Abahanzi imeli Aderesi Izina: Byombi Cyangwa" - -#: src/lang.c:354 -#, fuzzy -msgid "show version information" -msgstr "Garagaza Verisiyo Ibisobanuro" - -#: src/lang.c:355 -#, fuzzy -msgid "mark all articles as read and return to group selection menu" -msgstr "Ikimenyetso Byose Nka Gusoma Na Garuka Kuri Itsinda Ihitamo Ibikubiyemo" - -#: src/lang.c:356 -#, fuzzy -msgid "mark all articles as read and enter next group with unread articles" -msgstr "Ikimenyetso Byose Nka Gusoma Na Injiza Komeza>> Itsinda Na: Bidasomye" - -#: src/lang.c:357 -#, fuzzy -msgid "choose first thread in list" -msgstr "Guhitamo Itangira Urudodo in Urutonde" - -#: src/lang.c:358 -#, fuzzy -msgid "choose last thread in list" -msgstr "Guhitamo Iheruka Urudodo in Urutonde" - -#: src/lang.c:359 -#, fuzzy -msgid "list articles within current thread (bring up Thread sub-menu)" -msgstr "Urutonde muri KIGEZWEHO Urudodo Hejuru Ibikubiyemo" - -#: src/lang.c:360 -#, fuzzy -msgid "mark article as unread" -msgstr "Ikimenyetso Ingingo Nka Bidasomye" - -#: src/lang.c:361 -#, fuzzy -msgid "mark current thread or tagged threads as read" -msgstr "Ikimenyetso KIGEZWEHO Urudodo Cyangwa Nka Gusoma" - -#: src/lang.c:362 -#, fuzzy -msgid "mark thread as unread" -msgstr "Ikimenyetso Urudodo Nka Bidasomye" - -#: src/lang.c:363 -#, fuzzy -msgid "toggle display of all/selected articles" -msgstr "Mukomatanya Kugaragaza Bya Byose Byahiswemo" - -#: src/lang.c:364 -#, fuzzy -msgid "display next group" -msgstr "Kugaragaza Komeza>> Itsinda" - -#: src/lang.c:365 -#, fuzzy -msgid "display previous group" -msgstr "Kugaragaza Ibanjirije Itsinda" - -#: src/lang.c:366 -#, fuzzy -msgid "toggle all selections (all articles)" -msgstr "Mukomatanya Byose Byose" - -#: src/lang.c:367 -#, fuzzy -msgid "select group (make \"hot\")" -msgstr "Guhitamo Itsinda Ubwoko" - -#: src/lang.c:368 -#, fuzzy -msgid "select thread" -msgstr "Guhitamo Urudodo" - -#: src/lang.c:369 -#, fuzzy -msgid "select threads if at least one unread article is selected" -msgstr "Guhitamo NIBA ku Bidasomye Ingingo ni Byahiswemo" - -#: src/lang.c:370 -#, fuzzy -msgid "select threads that match user specified pattern" -msgstr "Guhitamo BIHUYE Ukoresha: Ishusho" - -#: src/lang.c:371 -#, fuzzy -msgid "tag all parts of current multipart-message in order" -msgstr "Itagi: Byose Bya KIGEZWEHO Ubutumwa in Itondekanya" - -#: src/lang.c:372 -#, fuzzy -msgid "0 - 9\t choose thread by number" -msgstr "0 Guhitamo Urudodo ku Umubare" - -#: src/lang.c:373 -#, fuzzy -msgid "toggle limit number of articles to get, and reload" -msgstr "Mukomatanya Umubare Bya Kuri Kubona Na Kongera Gutangiza" - -#: src/lang.c:374 -#, fuzzy -msgid "toggle display of all/unread articles" -msgstr "Mukomatanya Kugaragaza Bya Byose Bidasomye" - -#: src/lang.c:375 -#, fuzzy -msgid "toggle selection of thread" -msgstr "Mukomatanya Ihitamo Bya Urudodo" - -#: src/lang.c:376 -#, fuzzy -msgid "cycle through threading options available" -msgstr "Uruziga Gihinguranya Amahitamo Bihari" - -#: src/lang.c:377 -#, fuzzy -msgid "undo all selections (all articles)" -msgstr "Isubiranyuma Byose Byose" - -#: src/lang.c:378 -#, fuzzy -msgid "untag all tagged threads" -msgstr "Byose" - -#: src/lang.c:379 -#, fuzzy -msgid "mark all articles in group as read" -msgstr "Ikimenyetso Byose in Itsinda Nka Gusoma" - -#: src/lang.c:380 -#, fuzzy -msgid "mark all articles in group as read and move to next unread group" -msgstr "Ikimenyetso Byose in Itsinda Nka Gusoma Na Kwimura Kuri Komeza>> Bidasomye " - "Itsinda" - -#: src/lang.c:381 -#, fuzzy -msgid "choose first group in list" -msgstr "Guhitamo Itangira Itsinda in Urutonde" - -#: src/lang.c:382 -#, fuzzy -msgid "choose group by name" -msgstr "Guhitamo Itsinda ku Izina:" - -#: src/lang.c:383 -#, fuzzy -msgid "0 - 9\t choose group by number" -msgstr "0 Guhitamo Itsinda ku Umubare" - -#: src/lang.c:384 -#, fuzzy -msgid "choose range of groups to be affected by next command" -msgstr "Guhitamo Urutonde Bya Amatsinda Kuri ku Komeza>> Komandi:" - -#: src/lang.c:385 -#, fuzzy -msgid "choose last group in list" -msgstr "Guhitamo Iheruka Itsinda in Urutonde" - -#: src/lang.c:386 -#, fuzzy -msgid "mark all articles in chosen group unread" -msgstr "Ikimenyetso Byose in Itsinda Bidasomye" - -#: src/lang.c:387 -#, fuzzy -msgid "move chosen group within list" -msgstr "Kwimura Itsinda muri Urutonde" - -#: src/lang.c:388 -#, fuzzy -msgid "choose next group with unread news" -msgstr "Guhitamo Komeza>> Itsinda Na: Bidasomye Amakuru" - -#: src/lang.c:389 src/lang.c:1197 -#, fuzzy -msgid "quit" -msgstr "Kuvamo" - -#: src/lang.c:390 -#, fuzzy -msgid "quit without saving configuration changes" -msgstr "Kuvamo Mu kubika Iboneza Amahinduka" - -#: src/lang.c:391 -#, fuzzy -msgid "read chosen group" -msgstr "Gusoma Itsinda" - -#: src/lang.c:392 -#, fuzzy -msgid "reset .newsrc (all available articles in groups marked unread)" -msgstr "Kugarura." - -#: src/lang.c:393 -#, fuzzy -msgid "search backwards for a group name" -msgstr "Gushaka Inyuma kugirango a Itsinda Izina:" - -#: src/lang.c:394 -#, fuzzy -msgid " \t (all searches are case-insensitive and wrap around)" -msgstr "(Byose Na Gufunika" - -#: src/lang.c:395 -#, fuzzy -msgid "search forwards for a group name" -msgstr "Gushaka kugirango a Itsinda Izina:" - -#: src/lang.c:396 -#, fuzzy -msgid "subscribe to chosen group" -msgstr "Kwiyandikisha Kuri Itsinda" - -#: src/lang.c:397 -#, fuzzy -msgid "subscribe to groups that match pattern" -msgstr "Kwiyandikisha Kuri Amatsinda BIHUYE Ishusho" - -#: src/lang.c:398 -#, fuzzy -msgid "reread active file to check for any new news" -msgstr "Gikora IDOSIYE Kuri Kugenzura... kugirango Gishya Amakuru" - -#: src/lang.c:399 -#, fuzzy -msgid "toggle display of group name only or group name plus description" -msgstr "Mukomatanya Kugaragaza Bya Itsinda Izina: Cyangwa Itsinda Izina: Guteranya " - "Isobanuramiterere" - -#: src/lang.c:400 -#, fuzzy -msgid "toggle display to show all/unread subscribed groups" -msgstr "Mukomatanya Kugaragaza Kuri Garagaza Byose Bidasomye yanditswe/ byemewe " - "Amatsinda" - -#: src/lang.c:401 -#, fuzzy -msgid "unsubscribe from chosen group" -msgstr "Kwivana aho wiyandikishe Bivuye Itsinda" - -#: src/lang.c:402 -#, fuzzy -msgid "unsubscribe from groups that match pattern" -msgstr "Kwivana aho wiyandikishe Bivuye Amatsinda BIHUYE Ishusho" - -#: src/lang.c:403 -#, fuzzy -msgid "sort the list of groups" -msgstr "Ishungura i Urutonde Bya Amatsinda" - -#: src/lang.c:404 -#, fuzzy -msgid "toggle display to show all/subscribed groups" -msgstr "Mukomatanya Kugaragaza Kuri Garagaza Byose yanditswe/ byemewe Amatsinda" - -#: src/lang.c:405 -#, fuzzy -msgid "0 - 9\t choose article by number" -msgstr "0 Guhitamo Ingingo ku Umubare" - -#: src/lang.c:406 -#, fuzzy -msgid "mark thread as read and return to group index page" -msgstr "Ikimenyetso Urudodo Nka Gusoma Na Garuka Kuri Itsinda Umubarendanga Ipaji" - -#: src/lang.c:407 -#, fuzzy -msgid "mark thread as read and enter next unread thread or group" -msgstr "Ikimenyetso Urudodo Nka Gusoma Na Injiza Komeza>> Bidasomye Urudodo Cyangwa " - "Itsinda" - -#: src/lang.c:408 -#, fuzzy -msgid "choose first article in list" -msgstr "Guhitamo Itangira Ingingo in Urutonde" - -#: src/lang.c:409 -#, fuzzy -msgid "choose last article in list" -msgstr "Guhitamo Iheruka Ingingo in Urutonde" - -#: src/lang.c:410 -#, fuzzy -msgid "mark article or tagged articles as read and move cursor to next unread article" -msgstr "Ikimenyetso Ingingo Cyangwa Nka Gusoma Na Kwimura indanga Kuri Komeza>> " - "Bidasomye Ingingo" - -#: src/lang.c:411 -#, fuzzy -msgid "read chosen article" -msgstr "Gusoma Ingingo" - -#: src/lang.c:412 -msgid "Display properties\n" - "------------------" -msgstr "" - -#: src/lang.c:413 -msgid "Miscellaneous\n" - "-------------" -msgstr "" - -#: src/lang.c:414 -msgid "Moving around\n" - "-------------" -msgstr "" - -#: src/lang.c:415 -#, fuzzy -msgid "Group/thread/article operations\n" - "-------------------------------" -msgstr "Urudodo Ingingo" - -#: src/lang.c:417 -msgid "Group Level Commands" -msgstr "" - -#: src/lang.c:418 -#, fuzzy -msgid "Kill filter added" -msgstr "Muyunguruzi... Kyongewe" - -#: src/lang.c:419 -#, fuzzy -msgid "Auto-selection filter added" -msgstr "Ihitamo Muyunguruzi... Kyongewe" - -#: src/lang.c:420 -msgid "All parts tagged" -msgstr "" - -#: src/lang.c:421 -#, fuzzy -msgid "Storing article for later posting" -msgstr "Ingingo kugirango" - -#: src/lang.c:422 -#, fuzzy -msgid "Please enter a valid character" -msgstr "Injiza a Byemewe Inyuguti" - -#: src/lang.c:423 -#, c-format -msgid "Missing part #%d" -msgstr "" - -#: src/lang.c:424 -msgid "*** No postponed articles ***" -msgstr "" - -#: src/lang.c:425 -#, fuzzy -msgid "Not a multi-part message" -msgstr "a Ubutumwa" - -#: src/lang.c:426 -#, fuzzy -msgid "You are not subscribed to this group" -msgstr "OYA yanditswe/ byemewe Kuri iyi Itsinda" - -#: src/lang.c:427 -#, fuzzy -msgid "No previous expression" -msgstr "Ibanjirije imvugo" - -#: src/lang.c:428 -#, fuzzy -msgid "Operation disabled in no-overwrite mode" -msgstr "Yahagaritswe in Oya Guhindura Ubwoko" - -#. TODO: replace hardcoded key-name in txt_info_postponed -#: src/lang.c:430 -#, fuzzy, c-format -msgid "%d postponed %s, reuse with ^O...\n" -msgstr "%dNa:" - -#: src/lang.c:431 -#, fuzzy -msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" - " To get the whole article, turn alternative handling OFF in the Option Menu\n" -msgstr "Ibigize Cyavanyweho Kubona i Ingingo in i" - -#: src/lang.c:433 -#, fuzzy, c-format -msgid "Save filename for %s/%s is a mailbox. Attachment not saved" -msgstr "Kubika Izina ry'idosiye: kugirango ni a OYA" - -#: src/lang.c:434 -#, fuzzy -msgid "TeX2Iso encoded article" -msgstr "Ingingo" - -#: src/lang.c:435 -msgid "incomplete " -msgstr "" - -#. TODO: replace hardcoded key-names -#: src/lang.c:437 -#, fuzzy, c-format -msgid "\n" - "Welcome to %s, a full screen threaded Netnews reader. It can read news " - "locally\n" - "(ie. /news) or remotely (-r option) from a NNTP (Network News " - "Transport\n" - "Protocol) server. -h lists the available command line options.\n" - "\n" - "%s has four newsreading levels, the newsgroup selection page, the group " - "index\n" - "page, the thread listing page and the article viewer. Help is available at " - "each\n" - "level by pressing the 'h' command.\n" - "\n" - "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " - "or\n" - "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" - "\n" - "Articles, threads, tagged articles or articles matching a pattern can be " - "mailed\n" - "('m' command), printed ('o' command), saved ('s' command), piped ('|' " - "command).\n" - "Use the 'w' command to post a news article, the 'f'/'F' commands to post " - "a\n" - "follow-up to an existing news article and the 'r'/'R' commands to reply " - "via\n" - "mail to an existing news article author. The 'M' command allows the " - "operation\n" - "of %s to be configured via a menu.\n" - "\n" - "For more information read the manual page, README, INSTALL, TODO and FTP " - "files.\n" - "Please send bug-reports/comments to %s with the 'R' command.\n" -msgstr "Kuri a Mugaragaza Gusoma Amakuru Amakuru Cyangwa R Ihitamo Bivuye a Seriveri " - "h Intonde i Bihari Komandi: Umurongo Amahitamo Intera i Urubuga rw'amakuru " - "Ihitamo Ipaji i Itsinda i Urudodo Ipaji Na i Ingingo ni Bihari ku ku i " - "Komandi: Hejuru Hasi ku ikoresha i Akambi Utubuto Cyangwa Na U Na Kuri Ipaji " - "Hejuru Hasi a Urubuga rw'amakuru ku Cyangwa a Ishusho Komandi: Byacapwe " - "Komandi: Komandi: Komandi: i Komandi: Kuri Iposita a Amakuru Ingingo i " - "Amabwiriza Kuri Iposita Hejuru Kuri Amakuru Ingingo Na i Amabwiriza Kuri " - "Subiza Kuri Amakuru Ingingo Umwanditsi Komandi: i Kuri Biturutse a " - "Ibikubiyemo Birenzeho Ibisobanuro Gusoma i Bikorwa Ipaji Na Idosiye Kohereza " - "Raporo Ibisobanuro Kuri Na: i Komandi:" - -#: src/lang.c:453 -#, fuzzy, c-format -msgid "Invalid From: %s line. Read the INSTALL file again." -msgstr "Umurongo i IDOSIYE" - -#: src/lang.c:455 -msgid "Invalid multibyte sequence found\n" -msgstr "" - -#: src/lang.c:457 -#, fuzzy, c-format -msgid "Invalid Sender:-header %s" -msgstr "Umutwempangano" - -#: src/lang.c:458 -#, fuzzy -msgid "Inverse video disabled" -msgstr "Videwo... Yahagaritswe" - -#: src/lang.c:459 -#, fuzzy -msgid "Inverse video enabled" -msgstr "Videwo... Bikora" - -#: src/lang.c:461 -#, fuzzy, c-format -msgid "Missing definition for %s\n" -msgstr "Insobanuro kugirango" - -#: src/lang.c:462 -#, fuzzy, c-format -msgid "Invalid key definition '%s'\n" -msgstr "Urufunguzo Insobanuro" - -#: src/lang.c:463 -#, c-format -msgid "Invalid keyname '%s'\n" -msgstr "" - -#: src/lang.c:464 -#, fuzzy, c-format -msgid "Keymap file was upgraded to version %s\n" -msgstr "IDOSIYE Kuri Verisiyo" - -#: src/lang.c:465 -#, c-format -msgid "Kill From: [%s] (y/n): " -msgstr "" - -#: src/lang.c:466 -msgid "Kill Lines: (num): " -msgstr "" - -#: src/lang.c:467 -msgid "Kill Article Menu" -msgstr "" - -#: src/lang.c:468 -#, c-format -msgid "Kill Msg-Id: [%s] (f/l/o/n): " -msgstr "" - -#: src/lang.c:469 -#, fuzzy -msgid "Kill pattern scope : " -msgstr "Ishusho Ingano:" - -#: src/lang.c:470 -#, c-format -msgid "Kill Subject: [%s] (y/n): " -msgstr "" - -#: src/lang.c:471 -#, fuzzy -msgid "Kill text pattern : " -msgstr "Umwandiko Ishusho" - -#: src/lang.c:472 -#, fuzzy -msgid "Kill time in days : " -msgstr "Igihe in Iminsi" - -#: src/lang.c:474 -msgid "Last" -msgstr "Iheruka" - -#: src/lang.c:475 -msgid "-- Last response --" -msgstr "" - -#: src/lang.c:476 -#, fuzzy, c-format -msgid "Lines %s " -msgstr "Imirongo." - -#: src/lang.c:478 -#, fuzzy -msgid "Message-ID: line " -msgstr "Umurongo" - -# sfx2/source\appl\app.src:STR_MAIL.text -#: src/lang.c:479 -msgid "Mail" -msgstr "Ubutumwa" - -#: src/lang.c:480 -msgid "mailbox " -msgstr "" - -#: src/lang.c:481 -#, fuzzy, c-format -msgid "Mail article(s) to [%.*s]> " -msgstr "Ingingo S Kuri S" - -#: src/lang.c:482 -#, fuzzy, c-format -msgid "Mailing log to %s\n" -msgstr "LOG Kuri %s\n" - -#: src/lang.c:483 -#, fuzzy -msgid "Mail bug report..." -msgstr "Icyegeranyo" - -#: src/lang.c:484 -#, fuzzy, c-format -msgid "Mail BUG REPORT to %s?" -msgstr "Kuri" - -#: src/lang.c:485 -msgid "Mailed" -msgstr "" - -#: src/lang.c:486 -#, fuzzy, c-format -msgid "Mailing to %s..." -msgstr "Kuri %s" - -#: src/lang.c:487 -#, fuzzy -msgid "# [Mail/Save] active file. Format is like news active file:\n" - "# groupname max.artnum min.artnum /dir\n" - "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" - "#\n" -msgstr "#[Kubika Gikora IDOSIYE ni nka Amakuru Gikora IDOSIYE KININI GITO Umwanya ni " - "i Cyangwa" - -#: src/lang.c:490 -#, fuzzy, c-format -msgid "%s marked as unread" -msgstr "%scy/ byagarajwe Nka Bidasomye" - -#: src/lang.c:491 -#, fuzzy, c-format -msgid "Marked %d of %d tagged %s as read" -msgstr "Bya Nka Gusoma" - -#: src/lang.c:492 -#, fuzzy, c-format -msgid "Mark all articles as read%s?" -msgstr "Byose Nka Gusoma" - -#: src/lang.c:493 -#, fuzzy, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " -msgstr "KIGEZWEHO Ingingo Kuvamo" - -#: src/lang.c:494 -#, fuzzy, c-format -msgid "Mark group %s as read?" -msgstr "Itsinda Nka Gusoma" - -#: src/lang.c:495 -#, fuzzy, c-format -msgid "Mark thread as read%s?" -msgstr "Urudodo Nka Gusoma" - -#: src/lang.c:496 -#, fuzzy, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " -msgstr "KIGEZWEHO Urudodo Kuvamo" - -#: src/lang.c:497 -#, fuzzy, c-format -msgid "Matching %s groups..." -msgstr "Amatsinda" - -#: src/lang.c:498 src/lang.c:502 -#, fuzzy, c-format -msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" -msgstr "> Bidasomye Gushaka Ishusho Guhitamo" - -#: src/lang.c:499 -#, fuzzy, c-format -msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " - "thread" -msgstr "%s=Umwanditsi Gushaka Umurongo Hasi Umurongo Hejuru Ikimenyetso Gusoma " - "Urutonde Urudodo" - -#: src/lang.c:500 -#, fuzzy, c-format -msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" -msgstr "%s=Umurongo Hejuru Umurongo Hasi Ipaji Hejuru Ipaji Hasi Hejuru: Hasi:" - -#: src/lang.c:501 -#, fuzzy, c-format -msgid "%s=search forwards; %s=search backwards; %s=quit" -msgstr "%s=Gushaka Gushaka Inyuma Kuvamo" - -#: src/lang.c:503 -#, fuzzy, c-format -msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" -msgstr "%s=Umwanditsi Gushaka Umubiri Gushaka Ikimenyetso Gusoma" - -#: src/lang.c:504 -#, fuzzy, c-format -msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" -msgstr "> Bidasomye Gushaka Ishusho" - -#: src/lang.c:505 -#, fuzzy, c-format -msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" -msgstr "%s=Umurongo Hasi Umurongo Hejuru Ifashayobora Kwimura Kuvamo Mukomatanya " - "Byose Bidasomye" - -#: src/lang.c:506 -#, fuzzy, c-format -msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" -msgstr "%s=Kwiyandikisha Ishusho Kwivana aho wiyandikishe Ishusho in Inyuma" - -#: src/lang.c:507 -#, fuzzy, c-format -msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" -msgstr "> Bidasomye Kugaragaza Mukomatanya" - -#: src/lang.c:508 -#, fuzzy, c-format -msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" -msgstr "%s=Ifashayobora Umurongo Hasi Umurongo Hejuru Kuvamo Itagi: Ikimenyetso " - "Bidasomye" - -#: src/lang.c:509 -msgid "--More--" -msgstr "" - -#: src/lang.c:510 -#, c-format -msgid "Moving %s..." -msgstr "" - -#: src/lang.c:512 -#, fuzzy -msgid ", name: " -msgstr ",IZINA! " - -#: src/lang.c:513 -#, fuzzy, c-format -msgid "Goto newsgroup [%s]> " -msgstr "Urubuga rw'amakuru" - -# svtools/source\misc\mediatyp.src:STR_SVT_MIMETYPE_CNT_BBBOX.text -#: src/lang.c:514 -#, fuzzy -msgid "newsgroups" -msgstr "Imbuga z'amakuru" - -#: src/lang.c:515 -#, c-format -msgid "Position %s in group list (1,2,..,$) [%d]> " -msgstr "" - -#: src/lang.c:516 -#, fuzzy -msgid "newsgroup" -msgstr "Urubuga rw'amakuru" - -#: src/lang.c:517 -#, fuzzy -msgid "Try and save newsrc file again?" -msgstr "Na Kubika IDOSIYE" - -#: src/lang.c:518 -#, fuzzy -msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." -msgstr "Imbuga z'amakuru Kuri IDOSIYE Kubika" - -#: src/lang.c:519 -#, fuzzy -msgid "newsrc file saved successfully.\n" -msgstr "IDOSIYE" - -#: src/lang.c:520 -msgid "-- Next response --" -msgstr "" - -#: src/lang.c:521 -#, fuzzy, c-format -msgid "NNTP authorization password not found for %s" -msgstr "Ijambobanga... OYA Byabonetse kugirango" - -#: src/lang.c:522 -#, fuzzy -msgid "No " -msgstr "Oya" - -#: src/lang.c:523 -msgid "*** No articles ***" -msgstr "" - -#: src/lang.c:524 -msgid "No articles have been posted" -msgstr "" - -#: src/lang.c:525 -#, fuzzy -msgid "*** No description ***" -msgstr "*** Isobanuramiterere ***" - -#: src/lang.c:526 -#, fuzzy -msgid "No filename" -msgstr "Izina ry'idosiye:" - -#: src/lang.c:527 -#, fuzzy -msgid "No group" -msgstr "Itsinda" - -#: src/lang.c:528 -#, fuzzy -msgid "*** No groups ***" -msgstr "*** Amatsinda ***" - -#: src/lang.c:529 -#, fuzzy -msgid "No more groups to read" -msgstr "Birenzeho Amatsinda Kuri Gusoma" - -#: src/lang.c:530 -#, fuzzy -msgid "No last message" -msgstr "Iheruka Ubutumwa" - -#: src/lang.c:531 -#, fuzzy -msgid "No mail address" -msgstr "Ubutumwa Aderesi" - -#: src/lang.c:532 -#, fuzzy -msgid "No articles marked for saving" -msgstr "cy/ byagarajwe kugirango Mu kubika" - -#: src/lang.c:533 -#, fuzzy -msgid "No match" -msgstr "BIHUYE" - -#: src/lang.c:534 -#, fuzzy -msgid "No more groups" -msgstr "Birenzeho Amatsinda" - -#: src/lang.c:535 -#, fuzzy -msgid "No newsgroups" -msgstr "Imbuga z'amakuru" - -#: src/lang.c:536 -#, fuzzy -msgid "No next unread article" -msgstr "Komeza>> Bidasomye Ingingo" - -#: src/lang.c:537 -#, fuzzy -msgid "No previous group" -msgstr "Ibanjirije Itsinda" - -#: src/lang.c:538 -#, fuzzy -msgid "No previous unread article" -msgstr "Ibanjirije Bidasomye Ingingo" - -#: src/lang.c:539 -msgid "No responses" -msgstr "" - -#: src/lang.c:540 -#, fuzzy -msgid "No responses to list in current thread" -msgstr "Kuri Urutonde in KIGEZWEHO Urudodo" - -#: src/lang.c:541 -#, fuzzy -msgid "No search string" -msgstr "Gushaka Ikurikiranyanyuguti" - -#: src/lang.c:542 -msgid "No subject" -msgstr "Nta kivugwaho" - -#: src/lang.c:544 -#, fuzzy, c-format -msgid "%s: Terminal must have clear to end-of-line (ce)\n" -msgstr "%s:Gusiba Kuri Impera Bya Umurongo" - -#: src/lang.c:545 -#, fuzzy, c-format -msgid "%s: Terminal must have clear to end-of-screen (cd)\n" -msgstr "%s:Gusiba Kuri Impera Bya Mugaragaza" - -#: src/lang.c:546 -#, c-format -msgid "%s: Terminal must have clearscreen (cl) capability\n" -msgstr "" - -#: src/lang.c:547 -#, fuzzy, c-format -msgid "%s: Terminal must have cursor motion (cm)\n" -msgstr "%s:indanga cm" - -#: src/lang.c:548 -#, fuzzy, c-format -msgid "%s: TERM variable must be set to use screen capabilities\n" -msgstr "%s:IMPINDURAGACIRO Gushyiraho Kuri Gukoresha Mugaragaza" - -#: src/lang.c:550 -#, fuzzy, c-format -msgid "No viewer found for %s/%s\n" -msgstr "Byabonetse kugirango" - -#: src/lang.c:551 -#, fuzzy -msgid "Newsgroup does not exist on this server" -msgstr "OYA ku iyi Seriveri" - -#: src/lang.c:552 -#, fuzzy, c-format -msgid "Group %s not found in active file" -msgstr "OYA Byabonetse in Gikora IDOSIYE" - -#: src/lang.c:553 -#, fuzzy -msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "C Gukoresha a Izina: Gukoresha D Q" - -#: src/lang.c:554 -#, fuzzy -msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "Gukoresha a Izina: Gukoresha D Q" - -#: src/lang.c:555 -#, c-format -msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" - "# shortname list for %s %s\n" - "#\n" - "# the format of this file is\n" - "# ...\n" - "#\n" - "# if is given without path, $HOME is assumed as its location\n" - "#\n" - "# examples:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" -msgstr "" - -#: src/lang.c:562 -msgid "Only" -msgstr "" - -#: src/lang.c:563 -#, fuzzy, c-format -msgid "Option not enabled. Recompile with %s." -msgstr "OYA Bikora Na:" - -#: src/lang.c:564 -msgid "Options Menu" -msgstr "" - -#: src/lang.c:567 -#, fuzzy, c-format -msgid "Error in regex: %s at pos. %d '%s'" -msgstr "in ku" - -#: src/lang.c:568 -#, fuzzy, c-format -msgid "Error in regex: pcre internal error %d" -msgstr "in By'imbere Ikosa" - -#: src/lang.c:569 -#, fuzzy, c-format -msgid "Error in regex: study - pcre internal error %s" -msgstr "in By'imbere Ikosa" - -#: src/lang.c:570 -msgid "Post a followup..." -msgstr "" - -#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone -#: src/lang.c:572 -#, fuzzy -msgid "An error has occurred while posting the article. If you think that this\n" - "error is temporary or otherwise correctable, you can postpone the article\n" - "and pick it up again with ^O later.\n" -msgstr "Ikosa i Ingingo ni By'igihe gito Cyangwa i Hejuru Na:" - -#: src/lang.c:575 -#, fuzzy -msgid "Posted articles history" -msgstr "Urutonde" - -#: src/lang.c:576 -#, fuzzy, c-format -msgid "Post to newsgroup(s) [%s]> " -msgstr "Kuri Urubuga rw'amakuru S" - -#: src/lang.c:577 -#, fuzzy -msgid "-- post processing started --" -msgstr "--Iposita Inonosora--" - -#: src/lang.c:578 -#, fuzzy -msgid "-- post processing completed --" -msgstr "--Iposita Inonosora--" - -#: src/lang.c:579 -#, fuzzy, c-format -msgid "Post subject [%s]> " -msgstr "Ikivugwaho" - -#: src/lang.c:580 -#, fuzzy -msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" -msgstr "# Bya Ubutumwa ku Komandi: Bivuye muri" - -#: src/lang.c:581 -#, fuzzy -msgid "Posting article..." -msgstr "Ingingo" - -#: src/lang.c:582 -#, c-format -msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " -msgstr "" - -#: src/lang.c:583 -#, c-format -msgid "Hot %s" -msgstr "" - -#: src/lang.c:584 -#, c-format -msgid "Tagged %s" -msgstr "" - -#: src/lang.c:585 -#, c-format -msgid "Untagged %s" -msgstr "" - -#: src/lang.c:586 -#, fuzzy -msgid "Processing mail messages marked for deletion." -msgstr "Ubutumwa Ubutumwa cy/ byagarajwe kugirango Isibwa" - -#: src/lang.c:587 -#, fuzzy -msgid "Processing saved articles marked for deletion." -msgstr "cy/ byagarajwe kugirango Isibwa" - -#: src/lang.c:588 -#, fuzzy, c-format -msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " -msgstr "Iposita Kwirengagiza Kuvamo" - -#: src/lang.c:589 -#, fuzzy -msgid "Article unchanged, abort mailing?" -msgstr "Kureka" - -#: src/lang.c:590 -#, fuzzy, c-format -msgid "Do you want to see postponed articles (%d)?" -msgstr "Kuri" - -#: src/lang.c:592 -#, fuzzy -msgid "Add quick kill filter?" -msgstr "Muyunguruzi..." - -#: src/lang.c:593 -#, fuzzy -msgid "Add quick selection filter?" -msgstr "Ihitamo Muyunguruzi..." - -#: src/lang.c:594 -#, fuzzy -msgid "Do you really want to quit?" -msgstr "Kuri Kuvamo" - -#: src/lang.c:595 -#, fuzzy, c-format -msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " -msgstr "%s=Guhindura Kureka Ubutumwa Kuvamo Gusiba Kureka" - -#: src/lang.c:596 -#, fuzzy -msgid "You have tagged articles in this group - quit anyway?" -msgstr "in iyi Itsinda Kuvamo" - -#: src/lang.c:597 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=postpone: " -msgstr "%s=Kuvamo Guhindura" - -#: src/lang.c:598 -#, fuzzy, c-format -msgid "%s=quit %s=edit %s=save kill description: " -msgstr "%s=Kuvamo Guhindura Kubika Isobanuramiterere" - -#: src/lang.c:599 -#, fuzzy, c-format -msgid "%s=quit %s=edit %s=save select description: " -msgstr "%s=Kuvamo Guhindura Kubika Guhitamo Isobanuramiterere" - -#: src/lang.c:600 -#, fuzzy -msgid "Do you really want to quit without saving your configuration?" -msgstr "Kuri Kuvamo Mu kubika Iboneza" - -#: src/lang.c:603 -#, fuzzy -msgid "Invalid range - valid are '0-9.$' eg. 1-$" -msgstr "Urutonde Byemewe 0 9 1." - -#: src/lang.c:604 -#, fuzzy -msgid "Do you want to abort this operation?" -msgstr "Kuri Kureka iyi" - -#: src/lang.c:605 -#, fuzzy -msgid "Do you want to exit tin immediately?" -msgstr "Kuri Gusohoka Ako kanya" - -#: src/lang.c:606 -msgid "Read response> " -msgstr "" - -#: src/lang.c:607 -#, fuzzy -msgid "Reading ('q' to quit)..." -msgstr "Kuri Kuvamo" - -#: src/lang.c:608 -#, c-format -msgid "Reading %sarticles..." -msgstr "" - -#: src/lang.c:609 -#, fuzzy, c-format -msgid "Reading %sattributes file...\n" -msgstr "IDOSIYE" - -#: src/lang.c:610 -#, fuzzy, c-format -msgid "Reading %sconfig file...\n" -msgstr "IDOSIYE" - -#: src/lang.c:611 -#, fuzzy -msgid "Reading filter file...\n" -msgstr "Muyunguruzi... IDOSIYE" - -#: src/lang.c:612 -#, fuzzy, c-format -msgid "Reading %s groups..." -msgstr "Amatsinda" - -#: src/lang.c:613 -#, fuzzy -msgid "Reading input history file...\n" -msgstr "Iyinjiza Urutonde IDOSIYE" - -#: src/lang.c:614 -#, fuzzy -msgid "Reading keymap file...\n" -msgstr "IDOSIYE" - -#: src/lang.c:615 -#, fuzzy -msgid "Reading groups from active file... " -msgstr "Amatsinda Bivuye Gikora IDOSIYE" - -#: src/lang.c:616 -#, fuzzy -msgid "Reading groups from newsrc file... " -msgstr "Amatsinda Bivuye IDOSIYE" - -#: src/lang.c:617 -#, fuzzy -msgid "Reading newsgroups file... " -msgstr "Imbuga z'amakuru IDOSIYE" - -#: src/lang.c:618 -#, fuzzy -msgid "Reading newsrc file..." -msgstr "IDOSIYE" - -#: src/lang.c:620 -#, c-format -msgid "(%d:%02d remaining)" -msgstr "" - -#: src/lang.c:622 -#, fuzzy, c-format -msgid "Bogus group %s removed." -msgstr "Itsinda Cyavanyweho" - -#: src/lang.c:623 -#, fuzzy, c-format -msgid "Error: rename %s to %s" -msgstr "Guhindura izina Kuri" - -#: src/lang.c:624 -#, fuzzy -msgid "Reply to author..." -msgstr "Kuri Umwanditsi" - -#: src/lang.c:625 -msgid "Repost" -msgstr "" - -#: src/lang.c:626 -#, fuzzy -msgid "Reposting article..." -msgstr "Ingingo" - -#: src/lang.c:627 -#, fuzzy, c-format -msgid "Repost article(s) to group(s) [%s]> " -msgstr "Ingingo S Kuri Itsinda S" - -#: src/lang.c:628 -msgid "Reset newsrc?" -msgstr "" - -#: src/lang.c:629 -#, fuzzy -msgid "Responses have been directed to the following newsgroups" -msgstr "Kuri i Imbuga z'amakuru" - -#: src/lang.c:630 -#, fuzzy, c-format -msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " -msgstr "Kuri Umuteguro Ubutumwa Iposita Kuvamo" - -#: src/lang.c:631 -#, fuzzy, c-format -msgid "RespNo %4d of %4d" -msgstr "Bya" - -#: src/lang.c:632 -#, fuzzy -msgid "Press to continue..." -msgstr "Kuri urifuzagukomeza" - -#: src/lang.c:634 -#, fuzzy, c-format -msgid "Select From [%s] (y/n): " -msgstr "Y N" - -#: src/lang.c:635 -msgid "Select Lines: (num): " -msgstr "" - -#: src/lang.c:636 -#, fuzzy -msgid "Auto-select Article Menu" -msgstr "Guhitamo" - -#: src/lang.c:637 -#, fuzzy, c-format -msgid "Select Msg-Id [%s] (f/l/o/n): " -msgstr "F L o N" - -#: src/lang.c:638 -#, fuzzy -msgid "Select pattern scope: " -msgstr "Ishusho Ingano:" - -#: src/lang.c:639 -#, fuzzy, c-format -msgid "Select Subject [%s] (y/n): " -msgstr "Y N" - -#: src/lang.c:640 -#, fuzzy -msgid "Select text pattern : " -msgstr "Umwandiko Ishusho" - -#: src/lang.c:641 -#, fuzzy -msgid "Select time in days : " -msgstr "Igihe in Iminsi" - -#: src/lang.c:642 -#, fuzzy, c-format -msgid "# %s server configuration file\n" - "# This file was automatically saved by %s %s %s (\"%s\")\n" - "#\n" - "# Do not edit while %s is running, since all your changes to this file\n" - "# will be overwritten when you leave %s.\n" - "# Do not edit at all if you don't know what you do.\n" - "############################################################################\n" - "\n" -msgstr "#%sSeriveri Iboneza IDOSIYE ku buryo bwikora ku OYA Guhindura ni guhera Byose " - "Amahinduka Kuri iyi Ryari: OYA Guhindura ku Byose NIBA" - -#: src/lang.c:648 -#, fuzzy -msgid "Showing unread groups only" -msgstr "Bidasomye Amatsinda" - -#: src/lang.c:649 -#, fuzzy -msgid "Subject: line (ignore case) " -msgstr "Umurongo Kwirengagiza" - -#: src/lang.c:650 -#, fuzzy -msgid "Subject: line (case sensitive)" -msgstr "Umurongo" - -#: src/lang.c:651 -msgid "Save" -msgstr "Kubika" - -#: src/lang.c:652 -#, fuzzy, c-format -msgid "Save '%s' (%s/%s)?" -msgstr "Kubika" - -#: src/lang.c:653 -#, fuzzy -msgid "Save configuration before continuing?" -msgstr "Kubika Iboneza Mbere" - -#: src/lang.c:654 -#, fuzzy -msgid "Save filename> " -msgstr "Kubika Izina ry'idosiye:" - -#: src/lang.c:655 -msgid "Saved" -msgstr "" - -#: src/lang.c:656 -#, fuzzy, c-format -msgid "%4d unread (%4d hot) %s in %s\n" -msgstr "%4dBidasomye in" - -#: src/lang.c:657 -#, c-format -msgid "Saved %s...\n" -msgstr "" - -#: src/lang.c:658 -msgid "Nothing was saved" -msgstr "" - -#: src/lang.c:659 -#, fuzzy, c-format -msgid "\n" - "%s %d %s from %d %s\n" -msgstr "%s%d%sBivuye" - -#: src/lang.c:660 -#, fuzzy, c-format -msgid "-- %s saved to %s%s --" -msgstr "--%sKuri" - -#: src/lang.c:661 -#, fuzzy, c-format -msgid "-- %s saved to %s - %s --" -msgstr "--%sKuri" - -#: src/lang.c:662 -#, fuzzy -msgid "Saving..." -msgstr "Kubika%S" - -#: src/lang.c:663 -#, fuzzy, c-format -msgid "%s: Screen initialization failed" -msgstr "%s:Byanze" - -#: src/lang.c:665 -#, fuzzy, c-format -msgid "%s: screen is too small\n" -msgstr "%s:Mugaragaza ni" - -#: src/lang.c:667 -#, fuzzy, c-format -msgid "screen is too small, %s is exiting\n" -msgstr "Mugaragaza ni Gitoya ni" - -# svx/source\form\fmsearch.src:RID_SVXDLG_SEARCHFORM.CB_BACKWARD.text -#: src/lang.c:668 -#, fuzzy, c-format -msgid "Search backwards [%s]> " -msgstr "Gushakisha inyuma" - -#: src/lang.c:669 -#, fuzzy, c-format -msgid "Search body [%s]> " -msgstr "Umubiri" - -#: src/lang.c:670 -#, c-format -msgid "Search forwards [%s]> " -msgstr "" - -# 5374 -#: src/lang.c:671 -msgid "Searching..." -msgstr "Gushakisha..." - -#: src/lang.c:672 -#, fuzzy, c-format -msgid "Searching article %d of %d ('q' to abort)..." -msgstr "Ingingo Bya Kuri Kureka" - -#: src/lang.c:673 -#, fuzzy -msgid "Select article> " -msgstr "Ingingo" - -#: src/lang.c:674 -#, fuzzy -msgid "Select option number before text or use arrow keys and . 'q' to quit." -msgstr "Ihitamo Umubare Mbere Umwandiko Cyangwa Gukoresha Akambi Utubuto Na Kuri " - "Kuvamo" - -#: src/lang.c:675 -#, fuzzy -msgid "Select group> " -msgstr "Itsinda" - -#: src/lang.c:676 -#, fuzzy, c-format -msgid "Enter selection pattern [%s]> " -msgstr "Ihitamo Ishusho" - -#: src/lang.c:677 -#, fuzzy -msgid "Select thread > " -msgstr "Urudodo" - -#: src/lang.c:678 -#, fuzzy, c-format -msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" -msgstr "%s%s%s(\"%s\")[%s]:Kohereza a Icyegeranyo Kuri" - -#: src/lang.c:679 -#, fuzzy -msgid "servers active-file" -msgstr "Gikora IDOSIYE" - -#: src/lang.c:680 -#, fuzzy -msgid "Cannot move into new newsgroups. Subscribe first..." -msgstr "Kwimura Gishya Imbuga z'amakuru Itangira" - -#: src/lang.c:681 -msgid "" -msgstr "" - -#: src/lang.c:682 -#, c-format -msgid "Starting: (%s)" -msgstr "" - -#: src/lang.c:683 -#, fuzzy, c-format -msgid "List Thread (%d of %d)" -msgstr "Bya" - -#: src/lang.c:684 -#, fuzzy, c-format -msgid "Thread (%.*s)" -msgstr "S" - -#: src/lang.c:685 -#, fuzzy -msgid "Enter wildcard subscribe pattern> " -msgstr "Kwiyandikisha Ishusho" - -#: src/lang.c:686 -#, fuzzy, c-format -msgid "subscribed to %d groups" -msgstr "yanditswe/ byemewe Kuri Amatsinda" - -#: src/lang.c:687 -#, fuzzy, c-format -msgid "Subscribed to %s" -msgstr "Kuri" - -#: src/lang.c:688 -msgid "Subscribing... " -msgstr "" - -#: src/lang.c:689 -#, fuzzy, c-format -msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " -msgstr "Cyangwa Ingingo S" - -#: src/lang.c:690 -#, fuzzy, c-format -msgid "Supersede article(s) to group(s) [%s]> " -msgstr "Ingingo S Kuri Itsinda S" - -#: src/lang.c:691 -#, fuzzy -msgid "Superseding article ..." -msgstr "Ingingo" - -#: src/lang.c:692 -#, fuzzy, c-format -msgid "\n" - "Stopped. Type 'fg' to restart %s\n" -msgstr "Kuri Ongera utangire" - -#: src/lang.c:694 -#, fuzzy, c-format -msgid "%d days" -msgstr "%dIminsi" - -#: src/lang.c:695 -msgid "" -msgstr "" - -#: src/lang.c:696 -msgid "TeX " -msgstr "" - -#: src/lang.c:697 -#, fuzzy -msgid "# Default action/prompt strings\n" -msgstr "#Igikorwa Urwinjiriro" - -#: src/lang.c:698 -#, fuzzy -msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" - "# 5=Message-ID: & last References: entry only\n" - "# 6=Message-ID: entry only 7=Lines:\n" - "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" -msgstr "#kugirango 1. Urufunguzo Ikiyega Ihitamo Umutwempangano 0 1. 2. 3. 4. 5 " - "Iheruka Icyinjijwe 6 Icyinjijwe 7 Gukurikiza Kuri Byose Amatsinda Gukurikiza " - "Kuri KIGEZWEHO Muyunguruzi... Kwirengagiza Kuri" - -#: src/lang.c:711 -#, fuzzy -msgid "# If ON use print current subject or newsgroup description in the last line\n" -msgstr "#Gukoresha Gucapa KIGEZWEHO Ikivugwaho Cyangwa Urubuga rw'amakuru " - "Isobanuramiterere in i Iheruka" - -#: src/lang.c:712 -#, fuzzy -msgid "# Host & time info used for detecting new groups (don't touch)\n" -msgstr "#Igihe Ibisobanuro kugirango Gishya Amatsinda" - -#: src/lang.c:713 -#, fuzzy -msgid "There is no news\n" -msgstr "ni Oya" - -#: src/lang.c:714 -msgid "Thread" -msgstr "Urudodo" - -#: src/lang.c:715 -msgid "Thread Level Commands" -msgstr "" - -#: src/lang.c:716 -msgid "Thread deselected" -msgstr "" - -#: src/lang.c:717 -#, fuzzy -msgid "Thread selected" -msgstr "Byahiswemo" - -#: src/lang.c:719 -msgid "threads" -msgstr "" - -#: src/lang.c:721 -#, fuzzy -msgid "Thread range" -msgstr "Urutonde" - -#: src/lang.c:722 -#, fuzzy -msgid "thread" -msgstr "Urudodo" - -#: src/lang.c:723 -#, fuzzy, c-format -msgid "Thread %4s of %4s" -msgstr "Bya" - -#: src/lang.c:724 -msgid "Threading articles..." -msgstr "" - -#: src/lang.c:725 -#, fuzzy, c-format -msgid "Toggled word highlighting %s" -msgstr "ijambo Igaragaza cyane" - -#: src/lang.c:726 -#, fuzzy -msgid "Toggled rot13 encoding" -msgstr "ROT13 Imisobekere:" - -#: src/lang.c:727 -#, fuzzy, c-format -msgid "Toggled german TeX encoding %s" -msgstr "Ikidage Imisobekere:" - -#: src/lang.c:728 -#, fuzzy, c-format -msgid "Toggled tab-width to %d" -msgstr "Isunika Ubugari Kuri" - -#: src/lang.c:729 -#, fuzzy, c-format -msgid "%d Trying to dotlock %s" -msgstr "%dKuri" - -#: src/lang.c:730 -#, fuzzy, c-format -msgid "%d Trying to lock %s" -msgstr "%dKuri" - -#: src/lang.c:731 -#, fuzzy -msgid " h=help\n" -msgstr "h" - -#: src/lang.c:733 -msgid "Unlimited" -msgstr "" - -#: src/lang.c:734 -#, fuzzy -msgid "Enter wildcard unsubscribe pattern> " -msgstr "Kwivana aho wiyandikishe Ishusho" - -#: src/lang.c:735 -#, c-format -msgid "Error decoding %s : %s" -msgstr "" - -#: src/lang.c:736 -#, fuzzy -msgid "No end." -msgstr "Impera" - -#: src/lang.c:737 -#, c-format -msgid "%s successfully decoded." -msgstr "" - -#: src/lang.c:738 -#, fuzzy, c-format -msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" - "\n" -msgstr "%*s[--%s/%s,%suuencodedIDOSIYE Imirongo Izina:" - -#: src/lang.c:739 -#, fuzzy -msgid "unread " -msgstr "Bidasomye" - -#: src/lang.c:740 -#, fuzzy, c-format -msgid "unsubscribed from %d groups" -msgstr "Bivuye Amatsinda" - -#: src/lang.c:741 -#, fuzzy, c-format -msgid "Unsubscribed from %s" -msgstr "Bivuye" - -#: src/lang.c:742 -msgid "Unsubscribing... " -msgstr "" - -#: src/lang.c:743 -msgid "Unthreading articles..." -msgstr "" - -#: src/lang.c:744 -msgid "Updated" -msgstr "" - -#: src/lang.c:745 -msgid "Updating" -msgstr "Ivugurura" - -#: src/lang.c:746 -#, fuzzy, c-format -msgid "Opening %s\n" -msgstr "Gufungura %s%S" - -#: src/lang.c:747 -#, fuzzy -msgid "No more URL's in this article" -msgstr "Birenzeho in iyi Ingingo" - -#: src/lang.c:748 -#, fuzzy -msgid "Use MIME display program for this message?" -msgstr "Kugaragaza Porogaramu kugirango iyi Ubutumwa" - -#: src/lang.c:749 -#, fuzzy -msgid " -c mark all news as read in subscribed newsgroups (batch mode)" -msgstr "-C Ikimenyetso Byose Amakuru Nka Gusoma in yanditswe/ byemewe Imbuga " - "z'amakuru Ubwoko" - -#: src/lang.c:750 -#, fuzzy -msgid " -Z return status indicating if any unread news (batch mode)" -msgstr "-Garuka Imimerere NIBA Bidasomye Amakuru Ubwoko" - -#: src/lang.c:751 -#, fuzzy -msgid " -q don't check for new newsgroups" -msgstr "-Q Kugenzura... kugirango Gishya Imbuga z'amakuru" - -#: src/lang.c:752 -#, fuzzy -msgid " -X don't save any files on quit" -msgstr "-Kubika Idosiye ku Kuvamo" - -#: src/lang.c:753 -#, fuzzy -msgid " -d don't show newsgroup descriptions" -msgstr "-D Garagaza Urubuga rw'amakuru" - -#: src/lang.c:754 -#, fuzzy -msgid " -G limit get only limit articles/group" -msgstr "-Kubona Itsinda" - -#: src/lang.c:755 -#, fuzzy, c-format -msgid " -H help information about %s" -msgstr "-H Ifashayobora Ibisobanuro Ibyerekeye" - -#: src/lang.c:756 -#, fuzzy -msgid " -h this help message" -msgstr "-h iyi Ifashayobora Ubutumwa" - -#: src/lang.c:757 -#, fuzzy, c-format -msgid " -I dir news index file directory [default=%s]" -msgstr "-Amakuru Umubarendanga IDOSIYE bushyinguro Mburabuzi" - -#: src/lang.c:758 -#, fuzzy -msgid " -u update index files (batch mode)" -msgstr "-u Kuvugurura Umubarendanga Idosiye Ubwoko" - -#: src/lang.c:759 -#, fuzzy, c-format -msgid " -m dir mailbox directory [default=%s]" -msgstr "-M bushyinguro Mburabuzi" - -#: src/lang.c:760 -#, fuzzy, c-format -msgid "\n" - "Mail bug reports/comments to %s" -msgstr "Raporo Ibisobanuro Kuri" - -#: src/lang.c:761 -#, fuzzy -msgid " -N mail new news to your posts (batch mode)" -msgstr "-Ubutumwa Gishya Amakuru Kuri Ubwoko" - -#: src/lang.c:762 -#, fuzzy -msgid " -M user mail new news to specified user (batch mode)" -msgstr "-Ukoresha: Ubutumwa Gishya Amakuru Kuri Ukoresha: Ubwoko" - -#: src/lang.c:763 -#, fuzzy, c-format -msgid " -f file subscribed to newsgroups file [default=%s]" -msgstr "-F IDOSIYE yanditswe/ byemewe Kuri Imbuga z'amakuru IDOSIYE Mburabuzi" - -#: src/lang.c:764 -#, fuzzy -msgid " -x no posting mode" -msgstr "-X Oya Ubwoko" - -#: src/lang.c:765 -#, fuzzy -msgid " -w post an article and exit" -msgstr "-W Iposita Ingingo Na Gusohoka" - -#: src/lang.c:766 -#, fuzzy -msgid " -o post all postponed articles and exit" -msgstr "-o Iposita Byose Na Gusohoka" - -#: src/lang.c:767 -#, fuzzy -msgid " -r read news remotely from default NNTP server" -msgstr "-R Gusoma Amakuru Bivuye Mburabuzi Seriveri" - -#: src/lang.c:768 -#, fuzzy -msgid " -R read news saved by -S option" -msgstr "-Gusoma Amakuru ku Ihitamo" - -#: src/lang.c:769 -#, fuzzy, c-format -msgid " -s dir save news directory [default=%s]" -msgstr "-S Kubika Amakuru bushyinguro Mburabuzi" - -#: src/lang.c:770 -#, fuzzy -msgid " -S save new news for later reading (batch mode)" -msgstr "-Kubika Gishya Amakuru kugirango Ubwoko" - -#: src/lang.c:771 -#, fuzzy -msgid " -z start if any unread news" -msgstr "-Z Gutangira NIBA Bidasomye Amakuru" - -#: src/lang.c:772 -#, fuzzy, c-format -msgid "A Usenet reader.\n" - "\n" - "Usage: %s [options] [newsgroup[,...]]" -msgstr "A Amahitamo Urubuga rw'amakuru" - -#: src/lang.c:773 -#, fuzzy -msgid " -v verbose output for batch mode options" -msgstr "-v Ibisohoka kugirango Ubwoko Amahitamo" - -#: src/lang.c:774 -#, fuzzy -msgid " -V print version & date information" -msgstr "-V Gucapa Verisiyo Itariki Ibisobanuro" - -#: src/lang.c:775 -#, fuzzy, c-format -msgid "%s only useful without batch mode operations\n" -msgstr "%sUbwoko" - -#: src/lang.c:776 -#, fuzzy, c-format -msgid "%s only useful for batch mode operations\n" -msgstr "%skugirango Ubwoko" - -#: src/lang.c:778 -#, fuzzy, c-format -msgid "\n" - "%s%d out of range (0 - %d). Reset to 0" -msgstr "%s%dInyuma Bya Urutonde 0 Kuri 0" - -#: src/lang.c:779 -#, fuzzy, c-format -msgid "View '%s' (%s/%s)?" -msgstr "Kureba" - -#: src/lang.c:781 -#, fuzzy, c-format -msgid "\n" - "Warning: posting exceeds %d columns. Line %d is the first long one:\n" - "%-100s\n" -msgstr "Inkingi ni i Itangira" - -#: src/lang.c:782 -#, fuzzy -msgid "\n" - "Warning: article unchanged after editing\n" -msgstr "Ingingo Nyuma" - -#: src/lang.c:783 -#, fuzzy -msgid "\n" - "Warning: \"Subject:\" contains only whitespaces.\n" -msgstr "Kirimo" - -#: src/lang.c:784 -#, fuzzy -msgid "\n" - "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" -msgstr "Na: Oya" - -#: src/lang.c:786 -#, fuzzy -msgid "\n" - "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" - " with \"Re: \" and does not contain \"(was:\".\n" -msgstr "OYA Na: Na OYA" - -#: src/lang.c:789 -#, fuzzy -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly written by you. This will " - "wipe\n" - " the article from most news servers throughout the world, but there is " - "no\n" - " guarantee that it will work.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Ibyerekeye Kuri Kureka Ingingo ku i Ingingo Bivuye Amakuru i ni Akazi ni i " - "Ingingo Ibyerekeye Kuri Kureka" - -#: src/lang.c:793 -#, fuzzy -msgid "\n" - "Warning: You are using a non-plain transfer encoding (such as base64 or\n" - " quoted-printable) and an external inews program to submit your\n" - " article. If a signature is appended by that inews program it will\n" - " not be encoded properly.\n" -msgstr "ikoresha a Byuzuye Imisobekere: Nka Gicapika Na external Porogaramu Kuri " - "Tanga Ingingo a Isinya ni ku Porogaramu OYA" - -#: src/lang.c:798 -#, fuzzy, c-format -msgid "\n" - "\n" - "You are upgrading to tin %s from an earlier version.\n" - "Some values in your %s file have changed!\n" - "Read WHATSNEW, etc...\n" -msgstr "Kuri Bivuye Verisiyo Uduciro in IDOSIYE Byahinduwe" - -#: src/lang.c:800 -#, fuzzy, c-format -msgid "\n" - "\n" - "You are downgrading to tin %s from a more recent version!\n" - "Some values in your %s file may be ignored, others might have changed!\n" -msgstr "Kuri Bivuye a Birenzeho Verisiyo Uduciro in IDOSIYE Gicurasi Ibindi Byahinduwe" - -#: src/lang.c:803 -#, fuzzy, c-format -msgid "Warning: tin wrote fewer groups to your\n" - "\t%s\n" - "than it read at startup. If you didn't unsubscribe from %ld %s during\n" - "this session this indicates an error and you should backup your %s\n" - "before you start tin once again!\n" -msgstr "Bike Amatsinda Kuri Gusoma ku Kwivana aho wiyandikishe Bivuye Umukoro iyi " - "Ikosa Na Inyibutsa Mbere Gutangira Rimwe" - -#: src/lang.c:807 -#, fuzzy, c-format -msgid "\n" - "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" -msgstr "Imirongo iyi Gicurasi Abantu" - -#: src/lang.c:808 -#, fuzzy, c-format -msgid "Warning: Only %d out of %d articles were saved" -msgstr "Inyuma Bya" - -#: src/lang.c:809 -#, fuzzy, c-format -msgid "\n" - "Warning: Your signature is longer than %d lines. Since signatures usually " - "do\n" - " not transport any useful information, they should be as short " - "as\n" - " possible.\n" -msgstr "Isinya ni Imirongo OYA Ibisobanuro Nka" - -#: src/lang.c:813 -#, fuzzy, c-format -msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " -msgstr "iyi Ubutumwa Aderesi Gicurasi a urifuzagukomeza Kureka" - -#: src/lang.c:814 -#, fuzzy -msgid "\n" - "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" -msgstr "Gutangira Na: OYA Na:" - -#: src/lang.c:815 -#, fuzzy -msgid "Writing attributes file..." -msgstr "Ibiranga IDOSIYE" - -#: src/lang.c:817 -#, c-format -msgid "%d Responses" -msgstr "" - -#: src/lang.c:819 -#, fuzzy, c-format -msgid "Added %d %s" -msgstr "Kyongewe" - -#: src/lang.c:820 -#, fuzzy -msgid "No unsubscribed groups to show" -msgstr "Amatsinda Kuri Garagaza" - -#: src/lang.c:821 -#, fuzzy -msgid "Showing subscribed to groups only" -msgstr "yanditswe/ byemewe Kuri Amatsinda" - -#: src/lang.c:822 -#, fuzzy -msgid "Yes " -msgstr "Yego" - -#: src/lang.c:823 -msgid " You have mail\n" -msgstr "" - -#: src/lang.c:828 -#, fuzzy, c-format -msgid "\n" - "Warning: Posting is in %s and contains characters which are not\n" - " in your selected MM_NETWORK_CHARSET: %s.\n" - " These characters will be replaced by '?' if you post this\n" - " article unchanged. To avoid garbling your article please either\n" - " edit it and remove those characters or change the setting of\n" - " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" - " M)enu option.\n" -msgstr "ni in Na Kirimo Inyuguti in Byahiswemo Inyuguti ku NIBA Iposita Ingingo " - "Ingingo Guhindura Na Gukuraho... Inyuguti Cyangwa Guhindura>> i Igenamiterere " - "Kuri a Agaciro kugirango Biturutse Ihitamo" - -#: src/lang.c:839 -#, fuzzy -msgid " -D debug mode 1=NNTP 2=ALL" -msgstr "-Kosora amakosa Ubwoko 1. 2." - -#: src/lang.c:843 -#, fuzzy -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly not written by you. This " - "will\n" - " wipe the article from lots of news servers throughout the world;\n" - " Usenet's majority considers this rather inappropriate, to say the " - "least.\n" - " Only press 'd' if you are absolutely positive that you are ready to " - "take\n" - " the rap.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Ibyerekeye Kuri Kureka Ingingo OYA ku Guhanagura i Ingingo Bivuye Bya Amakuru " - "i iyi Kuri i Kanda NIBA Cyiteguye Kuri i ni i Ingingo Ibyerekeye Kuri Kureka" - -#: src/lang.c:852 -#, fuzzy -msgid "toggle color" -msgstr "Mukomatanya Ibara" - -#: src/lang.c:853 -#, fuzzy -msgid "# Changing colors of several screen parts\n" - "# Possible values are:\n" - "# -1 = default (white for foreground and black for background)\n" - "# 0 = black\n" - "# 1 = red\n" - "# 2 = green\n" - "# 3 = brown\n" - "# 4 = blue\n" - "# 5 = pink\n" - "# 6 = cyan\n" - "# 7 = white\n" - "# These are *only* for foreground:\n" - "# 8 = gray\n" - "# 9 = light red\n" - "# 10 = light green\n" - "# 11 = yellow\n" - "# 12 = light blue\n" - "# 13 = light pink\n" - "# 14 = light cyan\n" - "# 15 = light white\n" - "\n" -msgstr "#Amabara Bya Mugaragaza Uduciro 1. Mburabuzi Umweru kugirango Na umukara " - "kugirango Mbuganyuma 0 1. 2. 3. 4. 5 6 7 kugirango 8 9 kimurika 10 kimurika " - "12 kimurika kimurika 14 kimurika 15 kimurika" - -#: src/lang.c:873 -#, fuzzy -msgid " -a toggle color flag" -msgstr "-a Mukomatanya Ibara Ibendera" - -#: src/lang.c:877 -#, fuzzy -msgid "\n" - "Error: Followup-To set to more than one newsgroup!\n" -msgstr "Gushyiraho Kuri Birenzeho Urubuga rw'amakuru" - -#: src/lang.c:878 -#, fuzzy, c-format -msgid "\n" - "Error: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "Kwambukiranya Kuri Imbuga z'amakuru Na Oya Umurongo" - -#: src/lang.c:879 -#, fuzzy, c-format -msgid "\n" - "Error: \"%s\" is not a valid newsgroup!\n" -msgstr "ni OYA a Byemewe Urubuga rw'amakuru" - -#: src/lang.c:881 -#, fuzzy -msgid "\n" - "Warning: Followup-To set to more than one newsgroup!\n" -msgstr "Gushyiraho Kuri Birenzeho Urubuga rw'amakuru" - -#: src/lang.c:882 -#, fuzzy, c-format -msgid "\n" - "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "Kwambukiranya Kuri Imbuga z'amakuru Na Oya Umurongo" - -#: src/lang.c:883 -#, fuzzy, c-format -msgid "\n" - "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" -msgstr "ni OYA in Gicurasi Sibyo ku iyi Ipaji" - -#: src/lang.c:884 -#, fuzzy, c-format -msgid "\n" - "Warning: \"%s\" is not a valid newsgroup at this site!\n" -msgstr "ni OYA a Byemewe Urubuga rw'amakuru ku iyi Ipaji" - -#: src/lang.c:888 -#, fuzzy, c-format -msgid "%d files successfully written from %d articles. %d %s occurred." -msgstr "%dIdosiye Bivuye" - -#: src/lang.c:889 -msgid "Missing parts." -msgstr "" - -#: src/lang.c:890 -#, fuzzy -msgid "No beginning." -msgstr "Itangiriro" - -#: src/lang.c:891 -#, fuzzy -msgid "No data." -msgstr "Ibyatanzwe" - -# # @name OTHER -# # @loc none -#: src/lang.c:892 -#, fuzzy -msgid "Unknown error." -msgstr "Ikosa itazwi" - -#: src/lang.c:895 -#, fuzzy, c-format -msgid "\tChecksum of %s (%ld %s)" -msgstr "Bya" - -#: src/lang.c:900 -#, fuzzy -msgid "Reading mail active file... " -msgstr "Ubutumwa Gikora IDOSIYE" - -#: src/lang.c:901 -#, fuzzy -msgid "Reading mailgroups file... " -msgstr "IDOSIYE" - -#: src/lang.c:905 -#, fuzzy -msgid "perform PGP operations on article" -msgstr "Ibikorwa: ku Ingingo" - -#: src/lang.c:906 -#, fuzzy -msgid "Add key(s) to public keyring?" -msgstr "Urufunguzo S Kuri Rusange" - -#: src/lang.c:907 -#, fuzzy, c-format -msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " -msgstr "%s=Shyiraho Umutekano IKIMENYETSO Byombi Kuvamo" - -#: src/lang.c:908 -#, fuzzy, c-format -msgid "%s=sign, %s=sign & include public key, %s=quit: " -msgstr "%s=IKIMENYETSO IKIMENYETSO Gushyiramo Rusange Urufunguzo Kuvamo" - -#: src/lang.c:909 -#, fuzzy, c-format -msgid "PGP has not been set up (can't open %s)" -msgstr "OYA Gushyiraho Hejuru Gufungura" - -#: src/lang.c:910 -#, fuzzy -msgid "Article not signed and no public keys found" -msgstr "OYA Na Oya Rusange Utubuto Byabonetse" - -#: src/lang.c:912 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=Kuvamo Guhindura Ibikubiyemo Iposita" - -#: src/lang.c:913 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " -msgstr "%s=Kuvamo Guhindura Kohereza" - -#: src/lang.c:914 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=Kuvamo Guhindura Ibikubiyemo Iposita" - -#: src/lang.c:916 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=Kuvamo Guhindura Ibikubiyemo Iposita" - -#: src/lang.c:917 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " -msgstr "%s=Kuvamo Guhindura Kohereza" - -#: src/lang.c:918 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=Kuvamo Guhindura Ibikubiyemo Iposita" - -#: src/lang.c:922 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " -msgstr "%s=Kuvamo Guhindura Ibikubiyemo Iposita" - -#: src/lang.c:923 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " -msgstr "%s=Kuvamo Guhindura Kohereza" - -#: src/lang.c:924 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=Kuvamo Guhindura Ibikubiyemo Iposita" - -#: src/lang.c:926 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " -msgstr "%s=Kuvamo Guhindura Ibikubiyemo Iposita" - -#: src/lang.c:927 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=send [%%s]: " -msgstr "%s=Kuvamo Guhindura Kohereza" - -#: src/lang.c:928 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=Kuvamo Guhindura Ibikubiyemo Iposita" - -#: src/lang.c:937 -#, fuzzy -msgid "Try cache_overview_files to speed up things.\n" -msgstr "Kuri Umuvuduko Hejuru" - -#: src/lang.c:938 -#, fuzzy -msgid "Tin will use local index files instead.\n" -msgstr "Gukoresha Umubarendanga Idosiye" - -#: src/lang.c:939 -#, fuzzy -msgid "Cannot find NNTP server name" -msgstr "Gushaka Seriveri Izina:" - -#: src/lang.c:940 -#, fuzzy, c-format -msgid "Connecting to %s:%d..." -msgstr "Kwihuza na\"\"..." - -#: src/lang.c:941 -#, fuzzy -msgid "Disconnecting from server...\n" -msgstr "Bivuye Seriveri" - -#: src/lang.c:942 -#, fuzzy, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" -msgstr "Urubuga rw'amakuru Izina: in Bya Komandi: kugirango" - -#: src/lang.c:943 -#, fuzzy, c-format -msgid "Failed to connect to NNTP server %s. Exiting..." -msgstr "Kuri Kwihuza Kuri Seriveri" - -#: src/lang.c:944 -#, fuzzy -msgid "205 Closing connection" -msgstr "Ukwihuza" - -#: src/lang.c:945 -#, fuzzy -msgid "Your server does not support the NNTP XOVER or OVER command.\n" -msgstr "Seriveri OYA Gushigikira i Cyangwa Komandi:" - -#: src/lang.c:946 -#, fuzzy -msgid "Connection to news server has timed out. Reconnect?" -msgstr "Kongerakwihuza." - -#: src/lang.c:947 -#, fuzzy, c-format -msgid "Put the server name in the file %s,\n" - "or set the environment variable NNTPSERVER" -msgstr "i Seriveri Izina: in i IDOSIYE Cyangwa Gushyiraho i IMPINDURAGACIRO" - -#: src/lang.c:948 -#, fuzzy -msgid " -A force authentication on connect" -msgstr "-A ku Kwihuza" - -#: src/lang.c:949 -#, fuzzy, c-format -msgid " -g serv read news from NNTP server serv [default=%s]" -msgstr "-g Gusoma Amakuru Bivuye Seriveri Mburabuzi" - -#: src/lang.c:950 -#, fuzzy, c-format -msgid " -p port use port as NNTP port [default=%d]" -msgstr "-P Umuyoboro Gukoresha Umuyoboro Nka Umuyoboro Mburabuzi" - -#: src/lang.c:951 -#, fuzzy -msgid " -Q quick start. Same as -nqd" -msgstr "-Gutangira Nka" - -#: src/lang.c:952 -#, fuzzy -msgid " -l use only LIST instead of GROUP (-n) command" -msgstr "-L Gukoresha Bya N Komandi:" - -#: src/lang.c:953 -#, fuzzy -msgid " -n only read subscribed .newsrc groups from NNTP server" -msgstr "-N Gusoma yanditswe/ byemewe Amatsinda Bivuye Seriveri" - -#: src/lang.c:955 -#, fuzzy, c-format -msgid "%s/tcp: Unknown service.\n" -msgstr "%s/Serivisi" - -#: src/lang.c:958 -#, fuzzy -msgid "\n" - "socket or connect problem\n" -msgstr "Cyangwa Kwihuza" - -#: src/lang.c:960 -#, fuzzy, c-format -msgid "\n" - "Connection to %s: " -msgstr "Kuri" - -#: src/lang.c:961 -#, fuzzy -msgid "Giving up...\n" -msgstr "Hejuru" - -#: src/lang.c:964 -#, fuzzy -msgid "Your server does not have Xref: in its XOVER information.\n" - "Tin will try to use XHDR XREF instead (slows down things a bit).\n" -msgstr "Seriveri OYA in Ibisobanuro Kuri Gukoresha Hasi a" - -#: src/lang.c:967 -#, fuzzy -msgid "Your server does not have Xref: in its XOVER information.\n" -msgstr "Seriveri OYA in Ibisobanuro" - -#: src/lang.c:970 -#, fuzzy, c-format -msgid "Can't open %s. Try %s -r to read news via NNTP.\n" -msgstr "Gufungura R Kuri Gusoma Amakuru Biturutse" - -#: src/lang.c:973 -#, fuzzy -msgid " -Q quick start. Same as -qd" -msgstr "-Gutangira Nka" - -#: src/lang.c:974 -#, fuzzy -msgid " -l read only active file instead of scanning spool (-n) command" -msgstr "-L Gusoma Gikora IDOSIYE Bya N Komandi:" - -#: src/lang.c:975 -#, fuzzy -msgid " -n only read subscribed .newsrc groups from spool" -msgstr "-N Gusoma yanditswe/ byemewe Amatsinda Bivuye" - -#: src/lang.c:976 -#, fuzzy -msgid "Your server does not have Xref: in its NOV-files.\n" -msgstr "Seriveri OYA in Idosiye" - -#: src/lang.c:980 -#, fuzzy -msgid "Posting using external inews failed. Use built in inews instead?" -msgstr "ikoresha external Byanze in" - -#: src/lang.c:981 -#, fuzzy -msgid "It worked! Should I always use my built in inews from now on?" -msgstr "Buri gihe Gukoresha in Bivuye NONEAHA ku" - -#: src/lang.c:989 -#, fuzzy, c-format -msgid "%d %s printed" -msgstr "%d%sByacapwe" - -#: src/lang.c:990 -#, fuzzy -msgid "output article/thread/hot/pattern/tagged articles to printer" -msgstr "Ibisohoka Ingingo Urudodo Ishusho Kuri Mucapyi" - -#: src/lang.c:991 -msgid "Print" -msgstr "Gucapa" - -#: src/lang.c:992 -msgid "Printing..." -msgstr "Icapa..." - -#: src/lang.c:996 -#, fuzzy -msgid "pipe article/thread/hot/pattern/tagged articles into command" -msgstr "Ingingo Urudodo Ishusho Komandi:" - -#: src/lang.c:997 -#, fuzzy -msgid "No command" -msgstr "Komandi:" - -#: src/lang.c:998 -msgid "Pipe" -msgstr "" - -#: src/lang.c:999 -#, fuzzy, c-format -msgid "Pipe to command [%.*s]> " -msgstr "Kuri Komandi: S" - -#: src/lang.c:1000 -msgid "Piping..." -msgstr "" - -#: src/lang.c:1002 -#, fuzzy -msgid "Piping not enabled." -msgstr "OYA Bikora" - -#: src/lang.c:1006 -#, fuzzy, c-format -msgid "\n" - "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" - " The only allowable space is the one separating the colon (:)\n" - " from the contents. Use a comma (,) to separate multiple\n" - " newsgroup names.\n" -msgstr "Umurongo Imyanya in Cyavanyweho Umwanya ni i i Bivuye i Ibigize a Akitso Kuri " - "Urubuga rw'amakuru Amazina" - -#: src/lang.c:1011 -#, fuzzy, c-format -msgid "\n" - "Error: The \"%s:\" line is continued in the next line. Since\n" - " the line may not contain whitespace, this is not allowed.\n" - " Please write all newsgroups into a single line.\n" -msgstr "Umurongo ni in i Komeza>> Umurongo i Umurongo Gicurasi OYA iyi ni OYA " - "Kwandika Byose Imbuga z'amakuru a UMWE Umurongo" - -#: src/lang.c:1016 -#, fuzzy, c-format -msgid "\n" - "Warning: The \"%s:\" line is continued in the next line.\n" - " This is a very new feature and may not be accepted by all servers.\n" - " To avoid trouble please write all newsgroups into a single line.\n" -msgstr "Umurongo ni in i Komeza>> Umurongo ni a Gishya Na Gicurasi OYA Byemewe ku " - "Byose Kwandika Byose Imbuga z'amakuru a UMWE Umurongo" - -#: src/lang.c:1020 -#, fuzzy, c-format -msgid "\n" - "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" -msgstr "Umurongo Imyanya in Cyavanyweho" - -#: src/lang.c:1025 -#, fuzzy -msgid "\n" - " If your article contains quoted text please take some time to pare it " - "down\n" - " to just the key points to which you are responding, or people will " - "think\n" - " you are a dweeb! Many people have the habit of skipping any article " - "whose\n" - " first page is largely quoted material. Format your article to fit in " - "less\n" - " then 80 chars, since that's the conventional size (72 is a good choice " - "as\n" - " it allows quoting without exceeding the limit). If your lines are too " - "long\n" - " they'll wrap around ugly and people won't read what you write. If " - "you\n" - " aren't careful and considerate in formatting your posting, people " - "are\n" - " likely to ignore it completely. It's a crowded net out there.\n" -msgstr "Ingingo Kirimo Umwandiko Igihe Kuri Kuri i Urufunguzo Utudomo Kuri Cyangwa " - "Abantu a Abantu i Bya Gusimbuka:%s Ingingo Itangira Ipaji ni Ibikoresho " - "Ingingo Kuri in Hanyuma guhera i Ingano ni a i Imirongo Gufunika Na Abantu " - "Gusoma Kwandika Na in Ihinduramiterere Abantu Kuri Kwirengagiza a Cyuzuye " - "Inyuma" - -#: src/lang.c:1038 -#, fuzzy -msgid "shell escape" -msgstr "Igikonoshwa" - -#: src/lang.c:1039 -#, c-format -msgid "Shell Command (%s)" -msgstr "" - -#: src/lang.c:1040 -#, fuzzy, c-format -msgid "Enter shell command [%s]> " -msgstr "Igikonoshwa Komandi:" - -#: src/lang.c:1044 -#, fuzzy, c-format -msgid "%s: Can't get entry for TERM\n" -msgstr "%s:Kubona Icyinjijwe kugirango" - -#: src/lang.c:1048 -#, fuzzy, c-format -msgid "Group %.*s ('q' to quit)..." -msgstr "S Kuri Kuvamo" - -#: src/lang.c:1050 -#, fuzzy, c-format -msgid "Group %.*s..." -msgstr "S" - -#: src/lang.c:1054 -msgid "Server unavailable\n" -msgstr "" - -#: src/lang.c:1060 -#, fuzzy, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" - "s=post" -msgstr "%s=Ubutumwa Gucapa Kuvamo Mukomatanya Byose Bidasomye Kubika Itagi: Iposita" - -#: src/lang.c:1061 -#, fuzzy, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=Ubutumwa Gucapa Kuvamo Subiza Ubutumwa Kubika Itagi: Iposita" - -#: src/lang.c:1063 -#, fuzzy, c-format -msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=Ubutumwa Gucapa Kuvamo Mukomatanya Byose Bidasomye Kubika Itagi: Iposita" - -#: src/lang.c:1064 -#, fuzzy, c-format -msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=Ubutumwa Gucapa Kuvamo Subiza Ubutumwa Kubika Itagi: Iposita" - -#: src/lang.c:1068 -#, fuzzy, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=Ubutumwa Kuvamo Mukomatanya Byose Bidasomye Kubika Itagi: Iposita" - -#: src/lang.c:1069 -#, fuzzy, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=Ubutumwa Kuvamo Subiza Ubutumwa Kubika Itagi: Iposita" - -#: src/lang.c:1071 -#, fuzzy, c-format -msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=Ubutumwa Kuvamo Mukomatanya Byose Bidasomye Kubika Itagi: Iposita" - -#: src/lang.c:1072 -#, fuzzy, c-format -msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=Ubutumwa Kuvamo Subiza Ubutumwa Kubika Itagi: Iposita" - -#: src/lang.c:1078 -#, fuzzy -msgid "Terminal does not support color" -msgstr "OYA Gushigikira Ibara" - -#: src/lang.c:1083 -#, c-format -msgid "Trying %s" -msgstr "" - -# goodies/source\filter.vcl\eps\dlgeps.src:DLG_EXPORT_EPS.RB_COMPRESSION_NONE.text -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 src/refs.c:296 -msgid "None" -msgstr "Nta na kimwe" - -#: src/lang.c:1098 -msgid "Subject" -msgstr "Ikivugwaho" - -#: src/lang.c:1099 -msgid "References" -msgstr "Indango" - -#: src/lang.c:1100 -#, fuzzy -msgid "Both Subject and References" -msgstr "Na" - -#: src/lang.c:1101 -msgid "Multipart Subject" -msgstr "" - -#: src/lang.c:1102 -msgid "Percentage Match" -msgstr "" - -#: src/lang.c:1114 src/lang.c:1225 -msgid "No" -msgstr "Oya" - -#: src/lang.c:1115 src/lang.c:1227 -msgid "Yes" -msgstr "Yego" - -#: src/lang.c:1116 -#, fuzzy -msgid "Hide All" -msgstr "Guhisha byose" - -#: src/lang.c:1124 -msgid "Address" -msgstr "Aderesi" - -#: src/lang.c:1125 -msgid "Full Name" -msgstr "" - -#: src/lang.c:1126 -#, fuzzy -msgid "Address and Name" -msgstr "Na" - -#: src/lang.c:1133 -msgid "Max" -msgstr "Kinini" - -#: src/lang.c:1134 -msgid "Sum" -msgstr "Igiteranyo" - -#: src/lang.c:1135 -msgid "Average" -msgstr "Impuzandengo" - -#: src/lang.c:1140 -msgid "Lines" -msgstr "Imirongo" - -#: src/lang.c:1141 -msgid "Score" -msgstr "" - -#: src/lang.c:1142 -msgid "Lines & Score" -msgstr "" - -#: src/lang.c:1151 -msgid "Black" -msgstr "Umukara" - -#: src/lang.c:1152 -msgid "Red" -msgstr "Umutuku" - -#: src/lang.c:1153 -msgid "Green" -msgstr "Icyatsi" - -#: src/lang.c:1154 -msgid "Brown" -msgstr "Igihogo" - -#: src/lang.c:1155 -msgid "Blue" -msgstr "Ubururu" - -#: src/lang.c:1156 -msgid "Pink" -msgstr "" - -#: src/lang.c:1157 -msgid "Cyan" -msgstr "Ubururu bukeye" - -#: src/lang.c:1158 -msgid "White" -msgstr "Umweru" - -#: src/lang.c:1159 -msgid "Gray" -msgstr "Ikigina" - -#: src/lang.c:1160 -msgid "Light Red" -msgstr "Umutuku Werurutse" - -#: src/lang.c:1161 -msgid "Light Green" -msgstr "Icyatsi Cyerurutse" - -#: src/lang.c:1162 -msgid "Yellow" -msgstr "Umuhondo" - -#: src/lang.c:1163 -msgid "Light Blue" -msgstr "Ubururu Bwerurutse" - -#: src/lang.c:1164 -msgid "Light Pink" -msgstr "" - -#: src/lang.c:1165 -msgid "Light Cyan" -msgstr "Ubururu Bwerurutse" - -#: src/lang.c:1166 -msgid "Light White" -msgstr "" - -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 -msgid "Nothing" -msgstr "" - -# 3737 -#: src/lang.c:1175 -msgid "Mark" -msgstr "garagaza" - -#: src/lang.c:1176 -msgid "Space" -msgstr "Umwanya" - -#: src/lang.c:1183 -msgid "Normal" -msgstr "Bisanzwe" - -#: src/lang.c:1184 -#, fuzzy -msgid "Best highlighting" -msgstr "Igaragaza cyane" - -#: src/lang.c:1185 -msgid "Underline" -msgstr "Gucaho umurongo" - -#: src/lang.c:1186 -#, fuzzy -msgid "Reverse video" -msgstr "Videwo..." - -#: src/lang.c:1187 -msgid "Blinking" -msgstr "Kinyoteera" - -#: src/lang.c:1188 -#, fuzzy -msgid "Half bright" -msgstr "Bibonerana" - -#: src/lang.c:1189 -msgid "Bold" -msgstr "Bitsindagiye" - -#: src/lang.c:1194 -msgid "none" -msgstr "ntacyo" - -# sfx2/source\doc\docvor.src:DLG_ORGANIZE.BTN_EDIT.text -#: src/lang.c:1195 -#, fuzzy -msgid "commands" -msgstr "Amabwiriza" - -#: src/lang.c:1196 -msgid "select" -msgstr "guhitamo" - -#: src/lang.c:1198 -#, fuzzy -msgid "commands & quit" -msgstr "Amabwiriza Kuvamo" - -#: src/lang.c:1199 -#, fuzzy -msgid "commands & select" -msgstr "Amabwiriza Guhitamo" - -#: src/lang.c:1200 -#, fuzzy -msgid "quit & select" -msgstr "Kuvamo Guhitamo" - -#: src/lang.c:1201 -#, fuzzy -msgid "commands & quit & select" -msgstr "Amabwiriza Kuvamo Guhitamo" - -#: src/lang.c:1226 -msgid "Shell archive" -msgstr "" - -#: src/lang.c:1232 -#, fuzzy -msgid "Subject: (descending)" -msgstr "Ubujyesi" - -#: src/lang.c:1233 -#, fuzzy -msgid "Subject: (ascending)" -msgstr "Ubujyejuru" - -#: src/lang.c:1234 -#, fuzzy -msgid "From: (descending)" -msgstr "Ubujyesi" - -#: src/lang.c:1235 -#, fuzzy -msgid "From: (ascending)" -msgstr "Ubujyejuru" - -#: src/lang.c:1236 -#, fuzzy -msgid "Date: (descending)" -msgstr "Ubujyesi" - -#: src/lang.c:1237 -#, fuzzy -msgid "Date: (ascending)" -msgstr "Ubujyejuru" - -#: src/lang.c:1238 src/lang.c:1246 -#, fuzzy -msgid "Score (descending)" -msgstr "Ubujyesi" - -#: src/lang.c:1239 src/lang.c:1247 -#, fuzzy -msgid "Score (ascending)" -msgstr "Ubujyejuru" - -#: src/lang.c:1240 -#, fuzzy -msgid "Lines: (descending)" -msgstr "Ubujyesi" - -#: src/lang.c:1241 -#, fuzzy -msgid "Lines: (ascending)" -msgstr "Ubujyejuru" - -#: src/lang.c:1252 -msgid "Always Keep" -msgstr "" - -#: src/lang.c:1253 -msgid "Always Remove" -msgstr "" - -#: src/lang.c:1254 -#, fuzzy -msgid "Mark with D on selection screen" -msgstr "Na: ku Ihitamo Mugaragaza" - -#: src/lang.c:1259 -#, fuzzy -msgid "Kill only unread arts" -msgstr "Bidasomye" - -#: src/lang.c:1260 -#, fuzzy -msgid "Kill all arts & show with K" -msgstr "Byose Garagaza Na:" - -#. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 -#, fuzzy -msgid "Kill all arts and never show" -msgstr "Byose Na Nta narimwe Garagaza" - -#: src/lang.c:1266 -#, fuzzy -msgid "Nothing special" -msgstr "Bidasanzwe" - -#: src/lang.c:1267 -msgid "Compress quotes" -msgstr "" - -#: src/lang.c:1268 -msgid "Quote signatures" -msgstr "" - -#: src/lang.c:1269 -#, fuzzy -msgid "Compress quotes, quote sigs" -msgstr "Gushyiraho akugarizo" - -#: src/lang.c:1270 -#, fuzzy -msgid "Quote empty lines" -msgstr "ubusa Imirongo" - -#: src/lang.c:1271 -#, fuzzy -msgid "Compress quotes, quote empty lines" -msgstr "Gushyiraho akugarizo ubusa Imirongo" - -#: src/lang.c:1272 -#, fuzzy -msgid "Quote sigs & empty lines" -msgstr "ubusa Imirongo" - -#: src/lang.c:1273 -#, fuzzy -msgid "Comp. q., quote sigs & empty lines" -msgstr "Q." - -#: src/lang.c:1311 -#, fuzzy -msgid "no" -msgstr "Oya" - -#: src/lang.c:1312 -#, fuzzy -msgid "with headers" -msgstr "Na: Imitwe" - -#: src/lang.c:1313 -#, fuzzy -msgid "without headers" -msgstr "Imitwe" - -#: src/lang.c:1320 src/lang.c:1326 -msgid "NFKC" -msgstr "" - -#: src/lang.c:1321 -msgid "NFKD" -msgstr "" - -#: src/lang.c:1322 -msgid "NFC" -msgstr "" - -#: src/lang.c:1323 -msgid "NFD" -msgstr "" - -#: src/lang.c:1334 -msgid "Display Options" -msgstr "" - -#: src/lang.c:1341 -msgid "Color Options" -msgstr "" - -#: src/lang.c:1348 -msgid "Article-Limiting Options" -msgstr "" - -#: src/lang.c:1354 -msgid "Posting/Mailing Options" -msgstr "" - -#: src/lang.c:1360 -msgid "Saving/Printing Options" -msgstr "" - -#: src/lang.c:1366 -msgid "Expert Options" -msgstr "" - -#: src/lang.c:1372 -msgid "Filtering Options" -msgstr "" - -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 src/lang.c:1490 -#: src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 src/lang.c:1601 src/lang.c:1771 -#: src/lang.c:1777 src/lang.c:1783 src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 -#: src/lang.c:1862 src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 src/lang.c:1926 -#: src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 src/lang.c:1954 src/lang.c:1961 -#: src/lang.c:1968 src/lang.c:1975 src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 -#: src/lang.c:2003 src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 src/lang.c:2076 -#: src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 src/lang.c:2117 src/lang.c:2151 -#: src/lang.c:2204 src/lang.c:2211 src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 -#: src/lang.c:2312 src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 -msgid " toggles, sets, cancels." -msgstr "" - -#: src/lang.c:1378 -#, fuzzy -msgid "Show mini menu & posting etiquette" -msgstr "Ibikubiyemo" - -#: src/lang.c:1379 -#, fuzzy -msgid "# If ON show a mini menu of useful commands at each level\n" - "# and posting etiquette after composing an article\n" -msgstr "#Garagaza a Ibikubiyemo Bya Amabwiriza ku Na Nyuma" - -#: src/lang.c:1384 -#, fuzzy -msgid "Show short description for each newsgroup. toggles & sets." -msgstr "Isobanuramiterere kugirango Urubuga rw'amakuru" - -#: src/lang.c:1385 -#, fuzzy -msgid "Show description of each newsgroup" -msgstr "Isobanuramiterere Bya Urubuga rw'amakuru" - -#: src/lang.c:1386 -#, fuzzy -msgid "# If ON show group description text after newsgroup name at\n" - "# group selection level\n" -msgstr "#Garagaza Itsinda Isobanuramiterere Umwandiko Nyuma Urubuga rw'amakuru Izina: " - "Itsinda Ihitamo" - -#: src/lang.c:1391 -#, fuzzy -msgid "Show Subject & From (author) fields in group menu. toggles & " - "sets." -msgstr "Umwanditsi Imyanya in Itsinda Ibikubiyemo" - -#: src/lang.c:1392 -#, fuzzy -msgid "In group menu, show author by" -msgstr "Itsinda Ibikubiyemo Garagaza Umwanditsi ku" - -#: src/lang.c:1393 -#, fuzzy -msgid "# Part of from field to display\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = none\n" - "# 1 = address\n" - "# * 2 = full name\n" - "# 3 = both\n" -msgstr "#Bya Bivuye Umwanya Kuri Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. 3." - -#: src/lang.c:1402 -#, fuzzy -msgid "Draw -> or highlighted bar for selection. toggles & sets." -msgstr "Cyangwa kugirango Ihitamo" - -#: src/lang.c:1403 -#, fuzzy -msgid "Draw -> instead of highlighted bar" -msgstr "Bya" - -#: src/lang.c:1404 -#, fuzzy -msgid "# If ON use -> otherwise highlighted bar for selection\n" -msgstr "#Gukoresha kugirango" - -#: src/lang.c:1409 -#, fuzzy -msgid "Use inverse video for page headers" -msgstr "Videwo... kugirango Ipaji Imitwe" - -#: src/lang.c:1410 -#, fuzzy -msgid "# If ON use inverse video for page headers at different levels\n" -msgstr "#Gukoresha Videwo... kugirango Ipaji Imitwe ku" - -#: src/lang.c:1415 -#, fuzzy -msgid "Thread articles by" -msgstr "ku" - -#: src/lang.c:1416 -#, fuzzy -msgid "# Thread articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = Both (Subject and References)\n" - "# 4 = Multipart Subject\n" - "# 5 = Percentage Match\n" -msgstr "# ku Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. 3. Na 4." - -#: src/lang.c:1427 -msgid "Enter percentage match required to thread together. sets." -msgstr "" - -#: src/lang.c:1428 -msgid "Thread percentage match" -msgstr "" - -#: src/lang.c:1429 -#, c-format -msgid "# Thread percentage match...\n" - "# the percentage of characters in the subject of an article that must match\n" - "# a base article for both those articles to be considered to belong to the\n" - "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" - "# follow. If 80 is used here, then 80%% of the characters must match " - "exactly,\n" - "# no insertion of a character, for the two articles to be put in the same\n" - "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" - "# 'harppy' would be threaded separately from 'happy'\n" -msgstr "" - -#: src/lang.c:1441 -#, fuzzy -msgid "Score of a thread" -msgstr "Bya a Urudodo" - -#: src/lang.c:1442 -#, fuzzy -msgid "# Thread score\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = max\n" - "# 1 = sum\n" - "# 2 = average\n" -msgstr "#Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2." - -#: src/lang.c:1450 -#, fuzzy -msgid "Sort articles by Subject, From, Date or Score. toggles & sets." -msgstr "ku Cyangwa" - -#: src/lang.c:1451 -#, fuzzy -msgid "Sort articles by" -msgstr "ku" - -#: src/lang.c:1452 -#, fuzzy -msgid "# Sort articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject descending\n" - "# 2 = Subject ascending\n" - "# 3 = From descending\n" - "# 4 = From ascending\n" - "# 5 = Date descending\n" - "# * 6 = Date ascending\n" - "# 7 = Score descending\n" - "# 8 = Score ascending\n" - "# 9 = Lines descending\n" - "# 10 = Lines ascending\n" -msgstr "#ku Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. 3. 4. 5 6 7 8 9 10" - -#: src/lang.c:1468 -#, fuzzy -msgid "Sort threads by Nothing or Score. toggles & sets." -msgstr "ku Cyangwa" - -#: src/lang.c:1469 -#, fuzzy -msgid "Sort threads by" -msgstr "ku" - -#: src/lang.c:1470 -#, fuzzy -msgid "# Sort thread by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = Score descending\n" - "# 2 = Score ascending\n" -msgstr "#Urudodo ku Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2." - -#: src/lang.c:1478 -#, fuzzy -msgid "Put cursor at first/last unread art in groups. toggles & sets." -msgstr "indanga ku Itangira Iheruka Bidasomye in Amatsinda" - -#: src/lang.c:1479 -#, fuzzy -msgid "Goto first unread article in group" -msgstr "Itangira Bidasomye Ingingo in Itsinda" - -#: src/lang.c:1480 -#, fuzzy -msgid "# If ON put cursor at first unread art in group otherwise last art\n" -msgstr "#Gushyira indanga ku Itangira Bidasomye in Itsinda Iheruka" - -#: src/lang.c:1484 -#, fuzzy -msgid "Show all articles or only unread articles. toggles & sets." -msgstr "Byose Cyangwa Bidasomye" - -#: src/lang.c:1485 -#, fuzzy -msgid "Show only unread articles" -msgstr "Bidasomye" - -#: src/lang.c:1486 -#, fuzzy -msgid "# If ON show only new/unread articles otherwise show all.\n" -msgstr "#Garagaza Gishya Bidasomye Garagaza Byose" - -#: src/lang.c:1491 -#, fuzzy -msgid "Show only groups with unread arts" -msgstr "Amatsinda Na: Bidasomye" - -#: src/lang.c:1492 -#, fuzzy -msgid "# If ON show only subscribed to groups that contain unread articles.\n" -msgstr "#Garagaza yanditswe/ byemewe Kuri Amatsinda Bidasomye" - -#: src/lang.c:1497 -msgid "Filter which articles" -msgstr "" - -#: src/lang.c:1498 -#, fuzzy -msgid "# Filter which articles\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = only kill unread articles\n" - "# 1 = kill all articles and show in threads marked with K\n" - "# 2 = kill all articles and never show them\n" -msgstr "#Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 Bidasomye 1. Byose Na Garagaza " - "in cy/ byagarajwe Na: 2. Byose Na Nta narimwe Garagaza" - -#: src/lang.c:1507 -#, fuzzy -msgid "Tab goes to next unread article" -msgstr "Kuri Komeza>> Bidasomye Ingingo" - -#: src/lang.c:1508 -#, fuzzy -msgid "# If ON the TAB command will go to next unread article at article viewer " - "level\n" -msgstr "#i Komandi: Gyayo Kuri Komeza>> Bidasomye Ingingo ku Ingingo" - -#: src/lang.c:1512 -#, fuzzy -msgid "Scrolling with past the end of an art. jumps to the next unread one." -msgstr "Na: i Impera Bya Kuri i Komeza>> Bidasomye" - -#: src/lang.c:1513 -#, fuzzy -msgid "Space goes to next unread article" -msgstr "Kuri Komeza>> Bidasomye Ingingo" - -#: src/lang.c:1514 -#, fuzzy -msgid "# If ON the SPACE command will go to next unread article at article viewer\n" - "# level when the end of the article is reached (rn-style pager)\n" -msgstr "#i Komandi: Gyayo Kuri Komeza>> Bidasomye Ingingo ku Ingingo urwego Ryari: i " - "Impera Bya i Ingingo ni IMISUSIRE Peja" - -#: src/lang.c:1519 -#, fuzzy -msgid "Scrolling with / past the end of an art. jumps to the unread one." -msgstr "Na: i Impera Bya Kuri i Bidasomye" - -#: src/lang.c:1520 -#, fuzzy -msgid "PgDn goes to next unread article" -msgstr "Kuri Komeza>> Bidasomye Ingingo" - -#: src/lang.c:1521 -#, fuzzy -msgid "# If ON the PGDN or DOWN command will go to next unread article when\n" - "# pressed at end of message\n" -msgstr "#i Cyangwa Komandi: Gyayo Kuri Komeza>> Bidasomye Ingingo ku Impera Bya" - -#: src/lang.c:1527 -#, fuzzy -msgid "List thread using right arrow key" -msgstr "Urudodo ikoresha Iburyo: Akambi Urufunguzo" - -#: src/lang.c:1528 -#, fuzzy -msgid "# If ON automatically list thread when entering it using right arrow key.\n" -msgstr "#ku buryo bwikora Urutonde Urudodo Ryari: ikoresha Iburyo: Akambi Urufunguzo" - -#: src/lang.c:1532 -#, fuzzy -msgid "Enter character to indicate deleted articles. sets, cancels." -msgstr "Inyuguti Kuri Cyasibwe" - -#: src/lang.c:1533 -#, fuzzy -msgid "Character to show deleted articles" -msgstr "Kuri Garagaza Cyasibwe" - -#: src/lang.c:1534 -#, fuzzy -msgid "# Character used to show that an art was deleted (default 'D')\n" - "# _ is turned into ' '\n" -msgstr "#Kuri Garagaza Cyasibwe Mburabuzi ni" - -#: src/lang.c:1539 -#, fuzzy -msgid "Enter character to indicate articles in a range. sets, cancels." -msgstr "Inyuguti Kuri in a Urutonde" - -#: src/lang.c:1540 -#, fuzzy -msgid "Character to show inrange articles" -msgstr "Kuri Garagaza" - -#: src/lang.c:1541 -#, fuzzy -msgid "# Character used to show that an art is in a range (default '#')\n" - "# _ is turned into ' '\n" -msgstr "#Kuri Garagaza ni in a Urutonde Mburabuzi ni" - -#: src/lang.c:1546 -#, fuzzy -msgid "Enter character to indicate that article will return. sets, " - "cancels." -msgstr "Inyuguti Kuri Ingingo Garuka" - -#: src/lang.c:1547 -#, fuzzy -msgid "Character to show returning arts" -msgstr "Kuri Garagaza" - -#: src/lang.c:1548 -#, fuzzy -msgid "# Character used to show that an art will return (default '-')\n" - "# _ is turned into ' '\n" -msgstr "#Kuri Garagaza Garuka Mburabuzi ni" - -#: src/lang.c:1553 -#, fuzzy -msgid "Enter character to indicate selected articles. sets, cancels." -msgstr "Inyuguti Kuri Byahiswemo" - -#: src/lang.c:1554 -#, fuzzy -msgid "Character to show selected articles" -msgstr "Kuri Garagaza Byahiswemo" - -#: src/lang.c:1555 -#, fuzzy -msgid "# Character used to show that an art was auto-selected (default '*')\n" - "# _ is turned into ' '\n" -msgstr "#Kuri Garagaza Ikiyega Byahiswemo Mburabuzi ni" - -#: src/lang.c:1560 -#, fuzzy -msgid "Enter character to indicate recent articles. sets, cancels." -msgstr "Inyuguti Kuri" - -#: src/lang.c:1561 -#, fuzzy -msgid "Character to show recent articles" -msgstr "Kuri Garagaza" - -#: src/lang.c:1562 -#, fuzzy -msgid "# Character used to show that an art is recent (default 'o')\n" - "# _ is turned into ' '\n" -msgstr "#Kuri Garagaza ni Mburabuzi ni" - -#: src/lang.c:1567 -#, fuzzy -msgid "Enter character to indicate unread articles. sets, cancels." -msgstr "Inyuguti Kuri Bidasomye" - -#: src/lang.c:1568 -#, fuzzy -msgid "Character to show unread articles" -msgstr "Kuri Garagaza Bidasomye" - -#: src/lang.c:1569 -#, fuzzy -msgid "# Character used to show that an art is unread (default '+')\n" - "# _ is turned into ' '\n" -msgstr "#Kuri Garagaza ni Bidasomye Mburabuzi ni" - -#: src/lang.c:1574 -#, fuzzy -msgid "Enter character to indicate read articles. sets, cancels." -msgstr "Inyuguti Kuri Gusoma" - -#: src/lang.c:1575 -#, fuzzy -msgid "Character to show read articles" -msgstr "Kuri Garagaza Gusoma" - -#: src/lang.c:1576 -#, fuzzy -msgid "# Character used to show that an art was read (default ' ')\n" - "# _ is turned into ' '\n" -msgstr "#Kuri Garagaza Gusoma Mburabuzi ni" - -#: src/lang.c:1581 -#, fuzzy -msgid "Enter character to indicate killed articles. sets, cancels." -msgstr "Inyuguti Kuri" - -#: src/lang.c:1582 -#, fuzzy -msgid "Character to show killed articles" -msgstr "Kuri Garagaza" - -#: src/lang.c:1583 -#, fuzzy -msgid "# Character used to show that an art was killed (default 'K')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "#Kuri Garagaza Mburabuzi Gushyiraho ni" - -#: src/lang.c:1588 -#, fuzzy -msgid "Enter character to indicate read selected articles. sets, cancels." -msgstr "Inyuguti Kuri Gusoma Byahiswemo" - -#: src/lang.c:1589 -#, fuzzy -msgid "Character to show readselected arts" -msgstr "Kuri Garagaza" - -#: src/lang.c:1590 -#, fuzzy -msgid "# Character used to show that an art was selected before read (default ':')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "#Kuri Garagaza Byahiswemo Mbere Gusoma Mburabuzi Gushyiraho ni" - -#: src/lang.c:1595 -#, fuzzy -msgid "Enter maximum length of newsgroup names displayed. sets." -msgstr "Kinini Uburebure Bya Urubuga rw'amakuru Amazina" - -#: src/lang.c:1596 -#, fuzzy -msgid "Max. length of group names shown" -msgstr "Uburebure Bya Itsinda Amazina" - -#: src/lang.c:1597 -#, fuzzy -msgid "# Maximum length of the names of newsgroups displayed\n" -msgstr "#Uburebure Bya i Amazina Bya Imbuga z'amakuru" - -#: src/lang.c:1602 -#, fuzzy -msgid "Show lines/score in listings" -msgstr "Imirongo in" - -#: src/lang.c:1603 -#, fuzzy -msgid "# What informations should be displayed in article/thread listing\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = lines\n" - "# 2 = score\n" - "# 3 = lines & score\n" -msgstr "#in Ingingo Urudodo Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. 3. " - "Imirongo" - -#: src/lang.c:1612 -#, fuzzy -msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" - "2 = half page" -msgstr "0 Ipaji 1. Garagaza Ibanjirije Iheruka Umurongo Nka Itangira ku Komeza>> " - "Ipaji 2. Ipaji" - -#: src/lang.c:1613 -#, fuzzy -msgid "Number of lines to scroll in pager" -msgstr "Bya Imirongo Kuri in Peja" - -#: src/lang.c:1614 -#, fuzzy -msgid "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behavior)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" -msgstr "#Bya Imirongo indanga Hejuru Hasi in Ingingo Uduciro i Mburabuzi ni cy/ " - "byagarajwe Na: 2. Ipaji 1. i Hejuru: Hasi: Umurongo ni KURI i Komeza>> 0 " - "Ipaji ku Ipaji imyitwarire 1. Umurongo ku 2. Cyangwa Biruta ku 2. Cyangwa " - "Birenzeho Imirongo in i Peja" - -#: src/lang.c:1624 -msgid "Display signatures. toggles & sets." -msgstr "" - -#: src/lang.c:1625 -msgid "Display signatures" -msgstr "" - -#: src/lang.c:1626 -#, fuzzy -msgid "# If OFF don't show signatures when displaying articles\n" -msgstr "#Garagaza Ryari:" - -#: src/lang.c:1630 -#, fuzzy -msgid "Display uuencoded data as tagged attachments. toggles & sets." -msgstr "Ibyatanzwe Nka Imigereka" - -#: src/lang.c:1631 -#, fuzzy -msgid "Display uue data as an attachment" -msgstr "Ibyatanzwe Nka umugereka" - -#: src/lang.c:1632 -#, fuzzy -msgid "# Handling of uuencoded data in the pager\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no, display raw uuencoded data\n" - "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" - "# size and filename, similar to how MIME attachments are displayed\n" - "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" - "# be folded into a tag line.\n" -msgstr "#Bya Ibyatanzwe in i Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 Oya " - "Kugaragaza 1. Yego Ibyatanzwe Cyegeranye Kuri a UMWE Itagi: Umurongo Ingano " - "Na Izina ry'idosiye: Kuri Imigereka 2. Gushisha Byose Nka kugirango 1. " - "Umurongo nka Ibyatanzwe a Itagi: Umurongo" - -#: src/lang.c:1642 -#, fuzzy -msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." -msgstr "IMISUSIRE Kuri" - -#: src/lang.c:1643 -#, fuzzy -msgid "Display \"a as Umlaut-a" -msgstr "a Nka a" - -#: src/lang.c:1644 -#, fuzzy -msgid "# If ON decode German style TeX umlaut codes to ISO and\n" - "# show \"a as Umlaut-a, etc.\n" -msgstr "#IMISUSIRE Kuri Garagaza a Nka a" - -#: src/lang.c:1649 src/lang.c:1659 -#, fuzzy -msgid "Space separated list of header fields" -msgstr "Urutonde Bya Umutwempangano Imyanya" - -#: src/lang.c:1650 -#, fuzzy -msgid "Display these header fields (or *)" -msgstr "Umutwempangano Imyanya Cyangwa" - -#: src/lang.c:1651 -#, fuzzy -msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" - "# place an '*' as this value. This is the only way a wildcard can be used.\n" - "# If you enter 'X-' as the value, you will see all headers beginning with\n" - "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " - "with\n" - "# spaces. Not defining anything turns off this option.\n" -msgstr "#Amakuru Imitwe Kuri Kuri Byose i Imitwe Nka iyi Agaciro ni i a Injiza Nka i " - "Agaciro Byose Imitwe Itangiriro nka Cyangwa Urutonde Birenzeho ku Imyanya " - "Bidakora iyi Ihitamo" - -#: src/lang.c:1660 -#, fuzzy -msgid "Do not display these header fields" -msgstr "OYA Kugaragaza Umutwempangano Imyanya" - -#: src/lang.c:1661 -#, fuzzy -msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" - "# An example of using both options might be if you thought X- headers were\n" - "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " - "you\n" - "# would do something like this:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Not defining anything turns off this option.\n" -msgstr "#Nka i Urugero Bya ikoresha Byombi Amahitamo NIBA Imitwe A Na Hanyuma nka iyi " - "Bidakora iyi Ihitamo" - -#: src/lang.c:1671 -#, fuzzy -msgid "Do you want to enable automatic handling of multipart/alternative articles?" -msgstr "Kuri Gushoboza Byikoresha Bya" - -#: src/lang.c:1672 -msgid "Skip multipart/alternative parts" -msgstr "" - -#: src/lang.c:1673 -#, fuzzy -msgid "# If ON strip multipart/alternative messages automatically\n" -msgstr "#Ubutumwa" - -#: src/lang.c:1678 -#, fuzzy -msgid "A regex used to decide which lines to show in col_quote." -msgstr "A Kuri Imirongo Kuri Garagaza in" - -#: src/lang.c:1679 -#, fuzzy -msgid "Regex used to show quoted lines" -msgstr "Kuri Garagaza Imirongo" - -#: src/lang.c:1680 -#, fuzzy -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri Imirongo Ryari: Imirongo in iyi " - "Ahatanditseho Gukoresha a in Mburabuzi" - -#: src/lang.c:1686 -#, fuzzy -msgid "A regex used to decide which lines to show in col_quote2." -msgstr "A Kuri Imirongo Kuri Garagaza in" - -#: src/lang.c:1687 -#, fuzzy -msgid "Regex used to show twice quoted l." -msgstr "Kuri Garagaza L" - -#: src/lang.c:1688 -#, fuzzy -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted twice. Twice quoted lines are shown in col_quote2.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri Imirongo Imirongo in iyi Ahatanditseho " - "Gukoresha a in Mburabuzi" - -#: src/lang.c:1694 -#, fuzzy -msgid "A regex used to decide which lines to show in col_quote3." -msgstr "A Kuri Imirongo Kuri Garagaza in" - -#: src/lang.c:1695 -#, fuzzy -msgid "Regex used to show >= 3 times q.l." -msgstr "L." - -#: src/lang.c:1696 -#, fuzzy -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri Imirongo 3. Times 3. Times Imirongo in iyi " - "Ahatanditseho Gukoresha a in Mburabuzi" - -#: src/lang.c:1703 -#, fuzzy -msgid "A regex used to decide which words to show in col_markslashes." -msgstr "A Kuri Amagambo Kuri Garagaza in" - -#: src/lang.c:1704 -#, fuzzy -msgid "Regex used to highlight /slashes/" -msgstr "Kuri garagaza cyane" - -#: src/lang.c:1705 -#, fuzzy -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '/' are to be shown in col_markslashes.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri ku Kuri in iyi Ahatanditseho Gukoresha a " - "in Mburabuzi" - -#: src/lang.c:1711 -#, fuzzy -msgid "A regex used to decide which words to show in col_markstars." -msgstr "A Kuri Amagambo Kuri Garagaza in" - -#: src/lang.c:1712 -#, fuzzy -msgid "Regex used to highlight *stars*" -msgstr "Kuri garagaza cyane Inyenyeri" - -#: src/lang.c:1713 -#, fuzzy -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '*' are to be shown in col_markstars.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri ku Kuri in iyi Ahatanditseho Gukoresha a " - "in Mburabuzi" - -#: src/lang.c:1719 -#, fuzzy -msgid "A regex used to decide which words to show in col_markstroke." -msgstr "A Kuri Amagambo Kuri Garagaza in" - -#: src/lang.c:1720 -#, fuzzy -msgid "Regex used to highlight -strokes-" -msgstr "Kuri garagaza cyane" - -#: src/lang.c:1721 -#, fuzzy -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '-' are to be shown in col_markstroke.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri ku Kuri in iyi Ahatanditseho Gukoresha a " - "in Mburabuzi" - -#: src/lang.c:1727 -#, fuzzy -msgid "A regex used to decide which words to show in col_markdash." -msgstr "A Kuri Amagambo Kuri Garagaza in" - -#: src/lang.c:1728 -#, fuzzy -msgid "Regex used to highlight _underline_" -msgstr "Kuri garagaza cyane Gucaho umurongo" - -#: src/lang.c:1729 -#, fuzzy -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '_' are to be shown in col_markdash.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri ku Kuri in iyi Ahatanditseho Gukoresha a " - "in Mburabuzi" - -#: src/lang.c:1735 -#, fuzzy -msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." -msgstr "A Kuri Gushaka Kuri Gukuraho... Nka Mutandukanya" - -#: src/lang.c:1736 -#, fuzzy -msgid "Regex with Subject prefixes" -msgstr "Na:" - -#: src/lang.c:1737 -#, fuzzy -msgid "# A regular expression that tin will use to find Subject prefixes\n" - "# which will be removed before showing the header.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri Gushaka Cyavanyweho Mbere i Umutwempangano" - -#: src/lang.c:1742 -#, fuzzy -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." -msgstr "A Kuri Gushaka Imigereka Kuri Gukuraho... Nka Mutandukanya" - -#: src/lang.c:1743 -#, fuzzy -msgid "Regex with Subject suffixes" -msgstr "Na: Imigereka" - -#: src/lang.c:1744 -#, fuzzy -msgid "# A regular expression that tin will use to find Subject suffixes\n" - "# which will be removed when replying or posting followup.\n" -msgstr "#A Ibisanzwe imvugo Gukoresha Kuri Gushaka Cyavanyweho Ryari: Cyangwa" - -#: src/lang.c:1749 -#, fuzzy -msgid "Enter name and options for external MIME viewer, --internal for built-in " - "viewer" -msgstr "Izina: Na Amahitamo kugirango external By'imbere kugirango in" - -#: src/lang.c:1750 -#, fuzzy -msgid "MIME binary content viewer" -msgstr "Nyabibiri Ibikubiyemo" - -#: src/lang.c:1751 -#, fuzzy -msgid "# If --internal automatically use the built in MIME viewer for non-text\n" - "# parts of articles.\n" - "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" - "# for no automatic viewing\n" -msgstr "#By'imbere ku buryo bwikora Gukoresha i in kugirango Bya external Porogaramu " - "Cyangwa kugirango Oya Byikoresha" - -#: src/lang.c:1758 -#, fuzzy -msgid "Confirm before starting non-text viewing program" -msgstr "Mbere Umwandiko Porogaramu" - -#: src/lang.c:1759 -#, fuzzy -msgid "Ask before using MIME viewer" -msgstr "Mbere ikoresha" - -#: src/lang.c:1760 -#, fuzzy -msgid "# If ON tin will ask before using metamail to display MIME messages\n" - "# this only happens if metamail_prog is set to something\n" -msgstr "#Mbere ikoresha Kuri Kugaragaza iyi NIBA ni Gushyiraho Kuri" - -#: src/lang.c:1765 -#, fuzzy -msgid "Ask to mark groups read when quitting. toggles & sets." -msgstr "Kuri Ikimenyetso Amatsinda Gusoma Ryari:" - -#: src/lang.c:1766 -#, fuzzy -msgid "Catchup read groups when quitting" -msgstr "Gusoma Amatsinda Ryari:" - -#: src/lang.c:1767 -#, fuzzy -msgid "# If ON ask user if read groups should all be marked read\n" -msgstr "#Ukoresha: NIBA Gusoma Amatsinda Byose cy/ byagarajwe" - -#: src/lang.c:1772 -#, fuzzy -msgid "Catchup group using left key" -msgstr "Itsinda ikoresha Ibumoso: Urufunguzo" - -#: src/lang.c:1773 -#, fuzzy -msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" -msgstr "#Itsinda Urudodo Ryari: Na: i Ibumoso: Akambi Urufunguzo" - -#: src/lang.c:1778 -#, fuzzy -msgid "Catchup thread by using left key" -msgstr "Urudodo ku ikoresha Ibumoso: Urufunguzo" - -#: src/lang.c:1784 -#, fuzzy -msgid "Which actions require confirmation" -msgstr "Iyemeza" - -#: src/lang.c:1785 -#, fuzzy -msgid "# What should we ask confirmation for.\n" -msgstr "#Twebwe Iyemeza kugirango" - -#: src/lang.c:1790 -#, fuzzy -msgid "'Mark article read' ignores tags" -msgstr "'Ingingo" - -#: src/lang.c:1791 -#, fuzzy -msgid "# If ON the 'Mark article read' function marks only the current article.\n" -msgstr "#i Ingingo Umumaro i KIGEZWEHO Ingingo" - -#: src/lang.c:1795 -#, fuzzy -msgid "Program to run to open URL's, sets, cancels." -msgstr "Kuri Gukoresha Kuri Gufungura" - -#: src/lang.c:1796 -msgid "Program that opens URL's" -msgstr "" - -#: src/lang.c:1797 -#, fuzzy -msgid "# The program used to open URL's. The actual URL will be appended\n" -msgstr "#Porogaramu Kuri Gufungura" - -#: src/lang.c:1802 -#, fuzzy -msgid "Use mouse in xterm" -msgstr "Imbeba in" - -#: src/lang.c:1803 -#, fuzzy -msgid "# If ON enable mouse key support on xterm terminals\n" -msgstr "#Gushoboza Imbeba Urufunguzo Gushigikira ku" - -#: src/lang.c:1809 -#, fuzzy -msgid "Use scroll keys on keypad" -msgstr "Utubuto ku" - -#: src/lang.c:1810 -#, fuzzy -msgid "# If ON enable scroll keys on terminals that support it\n" -msgstr "#Gushoboza Utubuto ku Gushigikira" - -#: src/lang.c:1815 -#, fuzzy -msgid "Enter maximum number of article to get. sets." -msgstr "Kinini Umubare Bya Ingingo Kuri Kubona" - -#: src/lang.c:1816 -#, fuzzy -msgid "Number of articles to get" -msgstr "Bya Kuri Kubona" - -#: src/lang.c:1817 -#, fuzzy -msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" - "# of already read articles to be read before first unread one\n" -msgstr "#Bya Kuri Kubona 0 Oya NIBA Kinini Bya Gusoma Kuri Gusoma Mbere Itangira " - "Bidasomye" - -#: src/lang.c:1822 -#, fuzzy -msgid "Enter number of days article is considered recent. sets." -msgstr "Umubare Bya Iminsi Ingingo ni" - -#: src/lang.c:1823 -#, fuzzy -msgid "Article recentness time limit" -msgstr "Igihe" - -#: src/lang.c:1824 -#, fuzzy -msgid "# Number of days in which article is considered recent, (0=OFF)\n" -msgstr "#Bya Iminsi in Ingingo ni 0" - -#: src/lang.c:1828 -#, fuzzy -msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." -msgstr "kugirango Bisanzwe kugirango Ibisanzwe imvugo" - -#: src/lang.c:1829 -msgid "Wildcard matching" -msgstr "" - -#: src/lang.c:1830 -#, fuzzy -msgid "# Wildcard matching\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" -msgstr "#Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1." - -#: src/lang.c:1837 -#, fuzzy -msgid "Enter minimal score before an article is marked killed. sets." -msgstr "Mbere Ingingo ni cy/ byagarajwe" - -#: src/lang.c:1838 -msgid "Score limit (kill)" -msgstr "" - -#: src/lang.c:1839 -#, fuzzy -msgid "# Score limit before an article is marked killed\n" -msgstr "#Mbere Ingingo ni cy/ byagarajwe" - -#: src/lang.c:1843 -#, fuzzy -msgid "Enter default score to kill articles. sets." -msgstr "Mburabuzi Kuri" - -#: src/lang.c:1844 -#, fuzzy -msgid "Default score to kill articles" -msgstr "Kuri" - -#: src/lang.c:1845 -#, fuzzy -msgid "# Default score to kill articles\n" -msgstr "#Kuri" - -#: src/lang.c:1849 -#, fuzzy -msgid "Enter minimal score before an article is marked hot. sets." -msgstr "Mbere Ingingo ni cy/ byagarajwe" - -#: src/lang.c:1850 -#, fuzzy -msgid "Score limit (select)" -msgstr "Guhitamo" - -#: src/lang.c:1851 -#, fuzzy -msgid "# Score limit before an article is marked hot\n" -msgstr "#Mbere Ingingo ni cy/ byagarajwe" - -#: src/lang.c:1855 -#, fuzzy -msgid "Enter default score to select articles. sets." -msgstr "Mburabuzi Kuri Guhitamo" - -#: src/lang.c:1856 -#, fuzzy -msgid "Default score to select articles" -msgstr "Kuri Guhitamo" - -#: src/lang.c:1857 -#, fuzzy -msgid "# Default score to select articles\n" -msgstr "#Kuri Guhitamo" - -#: src/lang.c:1863 -#, fuzzy -msgid "Use slrnface to show ''X-Face:''s" -msgstr "Kuri Garagaza S" - -#: src/lang.c:1864 -#, fuzzy -msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" - "# Only useful when running in an xterm.\n" -msgstr "#ikoresha 1. Kuri i Umutwempangano Ryari: in" - -#: src/lang.c:1872 -#, fuzzy -msgid "Use ANSI color" -msgstr "Ibara" - -#: src/lang.c:1873 -#, fuzzy -msgid "# If ON using ANSI-color\n" -msgstr "#ikoresha" - -#: src/lang.c:1878 -#, fuzzy -msgid "Standard foreground color" -msgstr "Ibara" - -#: src/lang.c:1879 -#, fuzzy -msgid "# Standard foreground color\n" - "# Default: -1 (default color)\n" -msgstr "#1. Mburabuzi Ibara" - -#: src/lang.c:1885 -#, fuzzy -msgid "Standard background color" -msgstr "Mbuganyuma Ibara" - -#: src/lang.c:1886 -#, fuzzy -msgid "# Standard background color\n" - "# Default: -1 (default color)\n" -msgstr "#Mbuganyuma 1. Mburabuzi Ibara" - -#: src/lang.c:1892 -#, fuzzy -msgid "Color for inverse text (background)" -msgstr "kugirango Umwandiko Mbuganyuma" - -#: src/lang.c:1893 -#, fuzzy -msgid "# Color of background for inverse text\n" - "# Default: 4 (blue)\n" -msgstr "#Bya Mbuganyuma kugirango 4. Ubururu" - -#: src/lang.c:1899 -#, fuzzy -msgid "Color for inverse text (foreground)" -msgstr "kugirango Umwandiko" - -#: src/lang.c:1900 -#, fuzzy -msgid "# Color of foreground for inverse text\n" - "# Default: 7 (white)\n" -msgstr "#Bya kugirango 7 Umweru" - -#: src/lang.c:1906 -#, fuzzy -msgid "Color of text lines" -msgstr "Bya Umwandiko Imirongo" - -#: src/lang.c:1907 -#, fuzzy -msgid "# Color of text lines\n" - "# Default: -1 (default color)\n" -msgstr "#Bya Umwandiko 1. Mburabuzi Ibara" - -#: src/lang.c:1913 -#, fuzzy -msgid "Color of mini help menu" -msgstr "Bya Ifashayobora Ibikubiyemo" - -#: src/lang.c:1914 -#, fuzzy -msgid "# Color of mini help menu\n" - "# Default: 3 (brown)\n" -msgstr "#Bya Ifashayobora 3. Igihogo" - -#: src/lang.c:1920 -#, fuzzy -msgid "Color of help text" -msgstr "Bya Ifashayobora Umwandiko" - -#: src/lang.c:1921 -#, fuzzy -msgid "# Color of help pages\n" - "# Default: -1 (default color)\n" -msgstr "#Bya Ifashayobora 1. Mburabuzi Ibara" - -#: src/lang.c:1927 -#, fuzzy -msgid "Color of status messages" -msgstr "Bya Imimerere Ubutumwa" - -#: src/lang.c:1928 -#, fuzzy -msgid "# Color of messages in last line\n" - "# Default: 6 (cyan)\n" -msgstr "#Bya Ubutumwa in Iheruka 6 Ubururu bukeye" - -#: src/lang.c:1934 -#, fuzzy -msgid "Color of quoted lines" -msgstr "Bya Imirongo" - -#: src/lang.c:1935 -#, fuzzy -msgid "# Color of quote-lines\n" - "# Default: 2 (green)\n" -msgstr "#Bya Gushyiraho akugarizo 2. Icyatsi" - -#: src/lang.c:1941 -#, fuzzy -msgid "Color of twice quoted line" -msgstr "Bya Umurongo" - -#: src/lang.c:1942 -#, fuzzy -msgid "# Color of twice quoted lines\n" - "# Default: 3 (brown)\n" -msgstr "#Bya 3. Igihogo" - -#: src/lang.c:1948 -#, fuzzy -msgid "Color of =>3 times quoted line" -msgstr "Bya 3. Times Umurongo" - -#: src/lang.c:1949 -#, fuzzy -msgid "# Color of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" -msgstr "#Bya 3. Times 4. Ubururu" - -#: src/lang.c:1955 -#, fuzzy -msgid "Color of article header lines" -msgstr "Bya Ingingo Umutwempangano Imirongo" - -#: src/lang.c:1956 -#, fuzzy -msgid "# Color of header-lines\n" - "# Default: 2 (green)\n" -msgstr "#Bya Umutwempangano 2. Icyatsi" - -#: src/lang.c:1962 -#, fuzzy -msgid "Color of actual news header fields" -msgstr "Bya Amakuru Umutwempangano Imyanya" - -#: src/lang.c:1963 -#, fuzzy -msgid "# Color of actual news header fields\n" - "# Default: 9 (light red)\n" -msgstr "#Bya Amakuru Umutwempangano 9 kimurika Umutuku" - -#: src/lang.c:1969 -#, fuzzy -msgid "Color of article subject lines" -msgstr "Bya Ingingo Ikivugwaho Imirongo" - -#: src/lang.c:1970 -#, fuzzy -msgid "# Color of article subject\n" - "# Default: 6 (cyan)\n" -msgstr "#Bya Ingingo 6 Ubururu bukeye" - -#: src/lang.c:1976 -#, fuzzy -msgid "Color of response counter" -msgstr "Bya" - -#: src/lang.c:1977 -#, fuzzy -msgid "# Color of response counter\n" - "# Default: 2 (green)\n" -msgstr "#Bya 2. Icyatsi" - -#: src/lang.c:1983 -#, fuzzy -msgid "Color of sender (From:)" -msgstr "Bya Uwohereza" - -#: src/lang.c:1984 -#, fuzzy -msgid "# Color of sender (From:)\n" - "# Default: 2 (green)\n" -msgstr "#Bya Uwohereza 2. Icyatsi" - -#: src/lang.c:1990 -#, fuzzy -msgid "Color of help/mail sign" -msgstr "Bya Ifashayobora Ubutumwa IKIMENYETSO" - -#: src/lang.c:1991 -#, fuzzy -msgid "# Color of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" -msgstr "#Bya 4. Ubururu" - -#: src/lang.c:1997 -#, fuzzy -msgid "Color of signatures" -msgstr "Bya" - -#: src/lang.c:1998 -#, fuzzy -msgid "# Color of signature\n" - "# Default: 4 (blue)\n" -msgstr "#Bya 4. Ubururu" - -#: src/lang.c:2004 -#, fuzzy -msgid "Color of highlighted URLs" -msgstr "Bya" - -#: src/lang.c:2005 -#, fuzzy -msgid "# Color of highlighted URLs\n" - "# Default: -1 (default color)\n" -msgstr "#Bya 1. Mburabuzi Ibara" - -#: src/lang.c:2011 -#, fuzzy -msgid "Color of highlighting with *stars*" -msgstr "Bya Igaragaza cyane Na: Inyenyeri" - -#: src/lang.c:2012 -#, fuzzy -msgid "# Color of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" -msgstr "#Bya ijambo Igaragaza cyane Na: Inyenyeri Umuhondo" - -#: src/lang.c:2018 -#, fuzzy -msgid "Color of highlighting with _dash_" -msgstr "Bya Igaragaza cyane Na: AKANYEREZO" - -#: src/lang.c:2019 -#, fuzzy -msgid "# Color of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" -msgstr "#Bya ijambo Igaragaza cyane Na: kimurika" - -#: src/lang.c:2025 -#, fuzzy -msgid "Color of highlighting with /slash/" -msgstr "Bya Igaragaza cyane Na: AKARONGOKABERAMYE" - -#: src/lang.c:2026 -#, fuzzy -msgid "# Color of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" -msgstr "#Bya ijambo Igaragaza cyane Na: AKARONGOKABERAMYE 14 kimurika Ubururu bukeye" - -#: src/lang.c:2032 -#, fuzzy -msgid "Color of highlighting with -stroke-" -msgstr "Bya Igaragaza cyane Na: Akarongo" - -#: src/lang.c:2033 -#, fuzzy -msgid "# Color of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" -msgstr "#Bya ijambo Igaragaza cyane Na: Akarongo 12 kimurika Ubururu" - -#: src/lang.c:2040 -#, fuzzy -msgid "Attr. of highlighting with *stars*" -msgstr "Bya Igaragaza cyane Na: Inyenyeri" - -#: src/lang.c:2041 -#, fuzzy -msgid "# Attributes of word highlighting on mono terminals\n" - "# Possible values are:\n" - "# 0 = Normal\n" - "# 1 = Underline\n" - "# 2 = Best highlighting\n" - "# 3 = Reverse video\n" - "# 4 = Blinking\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# Attribute of word highlighting with *stars*\n" - "# Default: 6 (bold)\n" -msgstr "#Bya ijambo Igaragaza cyane ku Uduciro 0 1. 2. 3. 4. 5 6 Bya ijambo Igaragaza " - "cyane Na: Inyenyeri 6 UTSINDAGIYE" - -#: src/lang.c:2056 -#, fuzzy -msgid "Attr. of highlighting with _dash_" -msgstr "Bya Igaragaza cyane Na: AKANYEREZO" - -#: src/lang.c:2057 -#, fuzzy -msgid "# Attribute of word highlighting with _dash_\n" - "# Default: 2 (best highlighting)\n" -msgstr "#Bya ijambo Igaragaza cyane Na: 2. Igaragaza cyane" - -#: src/lang.c:2063 -#, fuzzy -msgid "Attr. of highlighting with /slash/" -msgstr "Bya Igaragaza cyane Na: AKARONGOKABERAMYE" - -#: src/lang.c:2064 -#, fuzzy -msgid "# Attribute of word highlighting with /slash/\n" - "# Default: 5 (half bright)\n" -msgstr "#Bya ijambo Igaragaza cyane Na: AKARONGOKABERAMYE 5 Bibonerana" - -#: src/lang.c:2070 -#, fuzzy -msgid "Attr. of highlighting with -stroke-" -msgstr "Bya Igaragaza cyane Na: Akarongo" - -#: src/lang.c:2071 -#, fuzzy -msgid "# Attribute of word highlighting with -stroke-\n" - "# Default: 3 (reverse video)\n" -msgstr "#Bya ijambo Igaragaza cyane Na: Akarongo 3. Ihindurakerekezo Videwo..." - -#: src/lang.c:2077 -#, fuzzy -msgid "URL highlighting in message body" -msgstr "Igaragaza cyane in Ubutumwa Umubiri" - -#: src/lang.c:2078 -#, fuzzy -msgid "# Enable URL highlighting?\n" -msgstr "#Igaragaza cyane" - -#: src/lang.c:2083 -#, fuzzy -msgid "Word highlighting in message body" -msgstr "Igaragaza cyane in Ubutumwa Umubiri" - -#: src/lang.c:2084 -#, fuzzy -msgid "# Enable word highlighting?\n" -msgstr "#ijambo Igaragaza cyane" - -#: src/lang.c:2089 -#, fuzzy -msgid "What to display instead of mark" -msgstr "Kuri Kugaragaza Bya Ikimenyetso" - -#: src/lang.c:2090 -#, fuzzy -msgid "# Should the leading and ending stars and dashes also be displayed,\n" - "# even when they are highlighting marks?\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = no\n" - "# 1 = yes, display mark\n" - "# * 2 = print a space instead\n" -msgstr "#i Nyobora Na Inyenyeri Na Utunyerezo ATARIIGIHARWE Ryari: Igaragaza cyane " - "Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. Yego Kugaragaza 2. Gucapa a " - "Umwanya" - -#: src/lang.c:2099 -#, fuzzy -msgid "Enter column number to wrap article lines to in the pager. sets." -msgstr "Inkingi Umubare Kuri Gufunika Ingingo Imirongo Kuri in i Peja" - -#: src/lang.c:2100 -#, fuzzy -msgid "Page line wrap column" -msgstr "Umurongo Gufunika Inkingi" - -#: src/lang.c:2101 -#, fuzzy -msgid "# Wrap article lines at column\n" -msgstr "#Ingingo Imirongo ku" - -#: src/lang.c:2106 -#, fuzzy -msgid "Wrap around threads on next unread" -msgstr "ku Komeza>> Bidasomye" - -#: src/lang.c:2107 -#, fuzzy -msgid "# If ON wrap around threads on searching next unread article\n" -msgstr "#Gufunika ku Ishakisha Komeza>> Bidasomye" - -#: src/lang.c:2111 -#, fuzzy -msgid "Enter default mail address (and fullname). sets." -msgstr "Mburabuzi Ubutumwa Aderesi Na" - -#: src/lang.c:2112 -#, fuzzy -msgid "Mail address (and fullname)" -msgstr "Aderesi Na" - -#: src/lang.c:2113 -#, fuzzy -msgid "# User's mail address (and fullname), if not username@host (fullname)\n" -msgstr "#Ubutumwa Aderesi Na NIBA OYA Izina ry'ukoresha Ubuturo" - -#: src/lang.c:2118 -#, fuzzy -msgid "Show empty Followup-To in editor" -msgstr "ubusa in Muhinduzi" - -#: src/lang.c:2119 -#, fuzzy -msgid "# If ON show empty Followup-To header when editing an article\n" -msgstr "#Garagaza ubusa Umutwempangano Ryari:" - -#: src/lang.c:2123 -#, fuzzy -msgid "Enter path/! command/--none to create your default signature. sets." -msgstr "Inzira Komandi: Ntacyo Kuri Kurema Mburabuzi Isinya" - -#: src/lang.c:2124 -#, fuzzy -msgid "Create signature from path/command" -msgstr "Isinya Bivuye Inzira Komandi:" - -#: src/lang.c:2125 -#, fuzzy -msgid "# Signature path (random sigs)/file to be used when posting/replying\n" - "# default_sigfile=file appends file as signature\n" - "# default_sigfile=!command executes external command to generate a " - "signature\n" - "# default_sigfile=--none don't append a signature\n" -msgstr "#Inzira IDOSIYE Kuri Ryari: IDOSIYE IDOSIYE Nka Komandi: external Komandi: " - "Kuri a Ntacyo Kongeraho... a" - -#: src/lang.c:2132 -#, fuzzy -msgid "Prepend signature with \"-- \" on own line. toggles & sets." -msgstr "Isinya Na: ku Umurongo" - -#: src/lang.c:2133 -#, fuzzy -msgid "Prepend signature with \"-- \"" -msgstr "Isinya Na:" - -#: src/lang.c:2134 -#, fuzzy -msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" -msgstr "#i Isinya Na: Utunyerezo N" - -#: src/lang.c:2138 -#, fuzzy -msgid "Add signature when reposting articles. toggles & sets." -msgstr "Isinya Ryari:" - -#: src/lang.c:2139 -#, fuzzy -msgid "Add signature when reposting" -msgstr "Isinya Ryari:" - -#: src/lang.c:2140 -#, fuzzy -msgid "# If ON add signature to reposted articles\n" -msgstr "#Kongeramo Isinya Kuri" - -#: src/lang.c:2144 -#, fuzzy, c-format -msgid "Enter quotation marks, %s or %S for author's initials." -msgstr "Gusubiramo ibyavuzwe Cyangwa kugirango Izibanza" - -#: src/lang.c:2145 -#, fuzzy -msgid "Characters used as quote-marks" -msgstr "Nka Gushyiraho akugarizo" - -#: src/lang.c:2146 -#, fuzzy, c-format -msgid "# Characters used in quoting to followups and replies.\n" - "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" -msgstr "#in Kuri Na ni ku ku Izibanza" - -#: src/lang.c:2152 -#, fuzzy -msgid "Quoting behavior" -msgstr "imyitwarire" - -#: src/lang.c:2153 -#, fuzzy -msgid "# How quoting should be handled when following up or replying.\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = Nothing special\n" - "# 1 = Compress quotes\n" - "# 2 = Quote signatures\n" - "# 3 = Compress quotes, quote signatures\n" - "# 4 = Quote empty lines\n" - "# * 5 = Compress quotes, quote empty lines\n" - "# 6 = Quote signatures, quote empty lines\n" - "# 7 = Compress quotes, quote signatures, quote empty lines\n" -msgstr "#Ryari: Hejuru Cyangwa Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. 3. " - "Gushyiraho akugarizo 4. ubusa 5 Gushyiraho akugarizo ubusa 6 Gushyiraho " - "akugarizo ubusa 7 Gushyiraho akugarizo Gushyiraho akugarizo ubusa" - -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 -msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" -msgstr "" - -#: src/lang.c:2167 -#, fuzzy -msgid "Quote line when following up" -msgstr "Umurongo Ryari: Hejuru" - -#: src/lang.c:2168 -#, fuzzy, c-format -msgid "# Format of quote line when mailing/posting/following-up an article\n" - "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" - "# %%N Full Name %%C First Name %%I Initials\n" -msgstr "#Bya Gushyiraho akugarizo Umurongo Ryari: Hejuru" - -#: src/lang.c:2175 -#, fuzzy -msgid "Quote line when cross-posting" -msgstr "Umurongo Ryari: Kwambukiranya" - -#: src/lang.c:2181 -#, fuzzy -msgid "Quote line when mailing" -msgstr "Umurongo Ryari:" - -#: src/lang.c:2186 -#, fuzzy -msgid "If ON, include User-Agent: header. toggles & sets." -msgstr "Gushyiramo Umutwempangano" - -#: src/lang.c:2187 -#, fuzzy -msgid "Insert 'User-Agent:'-header" -msgstr "Umutwempangano" - -#: src/lang.c:2188 -#, fuzzy -msgid "# If ON include advertising User-Agent: header\n" -msgstr "#Gushyiramo" - -#: src/lang.c:2193 -#, fuzzy -msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." -msgstr "g." - -#: src/lang.c:2194 -msgid "MM_CHARSET" -msgstr "" - -#: src/lang.c:2195 -#, fuzzy -msgid "# Charset supported locally which is also used for MIME header and\n" - "# Content-Type header.\n" - "# If not set, the value of the environment variable MM_CHARSET is used.\n" - "# Set to US-ASCII or compile time default if neither of them is defined.\n" - "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" - "# mm_charset is considered not displayable and represented as '?'.\n" -msgstr "#Project- Id- Version: basctl\n" - "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n" - "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n" - "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n" - "Content- Type: text/ plain; charset= UTF- 8\n" - "Content- Transfer- Encoding: 8bit\n" - "X- Generator: KBabel 1. 0\n" - "." - -#: src/lang.c:2205 -msgid "MM_NETWORK_CHARSET" -msgstr "" - -#: src/lang.c:2206 -#, fuzzy -msgid "# Charset used for MIME (Content-Type) header in postings.\n" -msgstr "#kugirango Umutwempangano in" - -#: src/lang.c:2212 -#, fuzzy -msgid "Mailbox format" -msgstr "Imiterere" - -#: src/lang.c:2213 -#, fuzzy -msgid "# Format of the mailbox.\n" -msgstr "#Bya i" - -#: src/lang.c:2218 -#, fuzzy -msgid "MIME encoding in news messages" -msgstr "Imisobekere: in Amakuru Ubutumwa" - -#: src/lang.c:2219 -#, fuzzy -msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" - "# for mails and posts, if necessary. QP is efficient for most European\n" - "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" - "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" - "# Russian charsets with a lot of 8bit characters.\n" -msgstr "#Imisobekere: Gicapika Bya i kugirango Na NIBA ni kugirango Inyuguti Na: " - "Gitoya Imigabane Bya ni Birenzeho kugirango Na: a Bya Inyuguti" - -#: src/lang.c:2227 src/lang.c:2248 -#, fuzzy -msgid "Don't change unless you know what you are doing. cancels." -msgstr "Guhindura>>" - -#: src/lang.c:2228 -#, fuzzy -msgid "Use 8bit characters in news headers" -msgstr "Inyuguti in Amakuru Imitwe" - -#: src/lang.c:2229 -#, fuzzy -msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in header are encoded regardless of the value of this\n" - "# parameter unless post_mime_encoding is 8bit as well.\n" -msgstr "#Inyuguti in Amakuru Imitwe Mburabuzi ni Inyuguti ku Mburabuzi in " - "Umutwempangano Bya i Agaciro Bya ni Nka" - -#: src/lang.c:2236 -#, fuzzy -msgid "Auto-view post-processed files toggles, sets, cancels." -msgstr "Kureba Iposita Idosiye" - -#: src/lang.c:2237 -#, fuzzy -msgid "View post-processed files" -msgstr "Iposita Idosiye" - -#: src/lang.c:2238 -#, fuzzy -msgid "# If set, post processed files will be opened in a viewer\n" -msgstr "#Gushyiraho Iposita Idosiye in a" - -#: src/lang.c:2243 -#, fuzzy -msgid "MIME encoding in mail messages" -msgstr "Imisobekere: in Ubutumwa Ubutumwa" - -#: src/lang.c:2249 -#, fuzzy -msgid "Use 8bit characters in mail headers" -msgstr "Inyuguti in Ubutumwa Imitwe" - -#: src/lang.c:2250 -#, fuzzy -msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in headers are encoded regardless of the value of this " - "parameter\n" - "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" - "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" - "# turn it ON unless you have some compelling reason.\n" -msgstr "#Inyuguti in Ubutumwa Imitwe Mburabuzi ni Inyuguti ku Mburabuzi in Imitwe Bya " - "i Agaciro Bya iyi ni Nka Inyuguti in Ubutumwa Imitwe" - -#: src/lang.c:2260 -#, fuzzy -msgid "Strip blanks from ends of lines" -msgstr "Bivuye Bya Imirongo" - -#: src/lang.c:2261 -#, fuzzy -msgid "# If ON strip blanks from ends of lines for faster display on slow " - "terminals.\n" -msgstr "#Bivuye Bya Imirongo kugirango Kugaragaza ku Buhoro" - -#: src/lang.c:2266 -#, fuzzy -msgid "If ON, use transliteration. toggles & sets." -msgstr "Gukoresha" - -#: src/lang.c:2267 -msgid "Transliteration" -msgstr "" - -#: src/lang.c:2268 -#, fuzzy -msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" - "# be represented in the in the target character set, it can be approximated\n" - "# through one or several similarly looking characters.\n" -msgstr "#Gukoresha Umugereka Ryari: a Inyuguti in i in i Intego Inyuguti Gushyiraho " - "Gihinguranya Cyangwa Inyuguti" - -#: src/lang.c:2275 -#, fuzzy -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "a Gukoporora ku buryo bwikora" - -#: src/lang.c:2276 -#, fuzzy -msgid "Send you a cc automatically" -msgstr "a KopiKubandi ku buryo bwikora" - -#: src/lang.c:2277 -#, fuzzy -msgid "# If ON automatically put your name in the Cc: field when mailing an article\n" -msgstr "#ku buryo bwikora Gushyira Izina: in i Umwanya Ryari:" - -#: src/lang.c:2281 -#, fuzzy -msgid "Send you a blind carbon copy automatically. toggles & sets." -msgstr "a Gukoporora ku buryo bwikora" - -#: src/lang.c:2282 -#, fuzzy -msgid "Send you a blind cc automatically" -msgstr "a KopiKubandi ku buryo bwikora" - -#: src/lang.c:2283 -#, fuzzy -msgid "# If ON automatically put your name in the Bcc: field when mailing an " - "article\n" -msgstr "#ku buryo bwikora Gushyira Izina: in i Umwanya Ryari:" - -#: src/lang.c:2287 -#, fuzzy -msgid "Enter address elements about which you want to be warned. sets." -msgstr "Aderesi Ibintu Ibyerekeye Kuri" - -#: src/lang.c:2288 -#, fuzzy -msgid "Spamtrap warning address parts" -msgstr "Iburira Aderesi" - -#: src/lang.c:2289 -#, fuzzy -msgid "# A comma-delimited list of address-parts you want to be warned\n" - "# about when trying to reply by email.\n" -msgstr "#A Akitso Urutonde Bya Aderesi Kuri Ibyerekeye Ryari: Kuri Subiza ku imeli" - -#: src/lang.c:2294 -#, fuzzy -msgid "Enter default number of days a filter entry will be valid. sets." -msgstr "Mburabuzi Umubare Bya Iminsi a Muyunguruzi... Icyinjijwe Byemewe" - -#: src/lang.c:2295 -#, fuzzy -msgid "No. of days a filter entry is valid" -msgstr "Bya Iminsi a Muyunguruzi... Icyinjijwe ni Byemewe" - -#: src/lang.c:2296 -#, fuzzy -msgid "# Number of days a short term filter will be active\n" -msgstr "#Bya Iminsi a Ijambo Muyunguruzi..." - -#: src/lang.c:2300 -#, fuzzy -msgid "Add posted articles to filter. toggles & sets." -msgstr "Kuri Muyunguruzi..." - -#: src/lang.c:2301 -#, fuzzy -msgid "Add posted articles to filter" -msgstr "Kuri Muyunguruzi..." - -#: src/lang.c:2302 -#, fuzzy -msgid "# If ON add posted articles which start a new thread to filter for\n" - "# highlighting follow-ups\n" -msgstr "#Kongeramo Gutangira a Gishya Urudodo Kuri Muyunguruzi... Igaragaza cyane" - -#: src/lang.c:2306 -#, fuzzy -msgid "The directory where articles/threads are to be saved in mailbox format." -msgstr "bushyinguro Kuri in Imiterere" - -#: src/lang.c:2307 -#, fuzzy -msgid "Mail directory" -msgstr "bushyinguro" - -#: src/lang.c:2308 -#, fuzzy -msgid "# (-m) directory where articles/threads are saved in mailbox format\n" -msgstr "#(-M bushyinguro in" - -#: src/lang.c:2313 -#, fuzzy -msgid "Save articles in batch mode (-S)" -msgstr "Kubika in Ubwoko" - -#: src/lang.c:2314 -#, fuzzy -msgid "# If ON articles/threads will be saved in batch mode when save -S\n" - "# or mail (-M/-N) is specified on the command line\n" -msgstr "#in Ubwoko Ryari: Kubika Cyangwa Ubutumwa ni ku i Komandi:" - -#: src/lang.c:2319 -#, fuzzy -msgid "The directory where you want articles/threads saved." -msgstr "bushyinguro" - -#: src/lang.c:2320 -#, fuzzy -msgid "Directory to save arts/threads in" -msgstr "Kuri Kubika in" - -#: src/lang.c:2321 -msgid "# Directory where articles/threads are saved\n" -msgstr "" - -#: src/lang.c:2325 -#, fuzzy -msgid "Auto save article/thread by Archive-name: header. toggles & sets." -msgstr "Kubika Ingingo Urudodo ku Izina: Umutwempangano" - -#: src/lang.c:2326 -#, fuzzy -msgid "Use Archive-name: header for save" -msgstr "Izina: Umutwempangano kugirango Kubika" - -#: src/lang.c:2327 -#, fuzzy -msgid "# If ON articles/threads with Archive-name: in mail header will\n" - "# be automatically saved with the Archive-name & part/patch no.\n" -msgstr "#Na: Izina: in Ubutumwa Umutwempangano ku buryo bwikora Na: i Izina: Oya" - -#: src/lang.c:2332 -#, fuzzy -msgid "Mark saved articles/threads as read. toggles, sets, " - "cancels." -msgstr "Nka Gusoma" - -#: src/lang.c:2333 -#, fuzzy -msgid "Mark saved articles/threads as read" -msgstr "Nka Gusoma" - -#: src/lang.c:2334 -#, fuzzy -msgid "# If ON mark articles that are saved as read\n" -msgstr "#Ikimenyetso Nka" - -#: src/lang.c:2338 -#, fuzzy -msgid "Do post processing (eg. extract attachments) for saved articles." -msgstr "Iposita Inonosora Imigereka kugirango" - -#: src/lang.c:2339 -msgid "Post process saved articles" -msgstr "" - -#: src/lang.c:2340 -#, fuzzy -msgid "# Perform post processing (saving binary attachments) from saved articles.\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no\n" - "# 1 = extract shell archives (shar) only\n" - "# 2 = yes\n" -msgstr "#Iposita Inonosora Mu kubika Nyabibiri Imigereka Bivuye Uduciro i Mburabuzi " - "ni cy/ byagarajwe Na: 0 1. Igikonoshwa Ubushyinguro 2." - -#: src/lang.c:2349 -#, fuzzy -msgid "Process only unread articles" -msgstr "Bidasomye" - -#: src/lang.c:2350 -#, fuzzy -msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" -msgstr "#Kubika Gucapa Ubutumwa Bidasomye" - -#: src/lang.c:2355 -#, fuzzy -msgid "Print all or just part of header. toggles & sets." -msgstr "Byose Cyangwa Bya Umutwempangano" - -#: src/lang.c:2356 -#, fuzzy -msgid "Print all headers when printing" -msgstr "Byose Imitwe Ryari: Icapa..." - -#: src/lang.c:2357 -#, fuzzy -msgid "# If ON print all of article header otherwise just the important lines\n" -msgstr "#Gucapa Byose Bya Ingingo Umutwempangano i By'ingirakamaro" - -#: src/lang.c:2361 -#, fuzzy -msgid "The printer program with options that is to be used to print articles/threads." -msgstr "Mucapyi Porogaramu Na: Amahitamo ni Kuri Kuri Gucapa" - -#: src/lang.c:2362 -#, fuzzy -msgid "Printer program with options" -msgstr "Porogaramu Na: Amahitamo" - -#: src/lang.c:2363 -#, fuzzy -msgid "# Print program with parameters used to print articles/threads\n" -msgstr "#Porogaramu Na: Ibigenga Kuri Gucapa" - -#: src/lang.c:2369 -#, fuzzy -msgid "Force redraw after certain commands" -msgstr "Kongera Gushushanya Nyuma Amabwiriza" - -#: src/lang.c:2370 -#, fuzzy -msgid "# If ON a screen redraw will always be done after certain external commands\n" -msgstr "#a Mugaragaza Kongera Gushushanya Buri gihe Byakozwe Nyuma external" - -#: src/lang.c:2374 -#, fuzzy -msgid "Start editor with line offset. toggles, sets, cancels." -msgstr "Gutangira Muhinduzi Na: Umurongo Nta- boneza" - -#: src/lang.c:2375 -#, fuzzy -msgid "Start editor with line offset" -msgstr "Gutangira Muhinduzi Na: Umurongo Nta- boneza" - -#: src/lang.c:2376 -#, fuzzy -msgid "# If ON editor will be started with cursor offset into the file\n" - "# otherwise the cursor will be positioned at the first line\n" -msgstr "#Muhinduzi Na: indanga Nta- boneza i i indanga ku i Itangira" - -#: src/lang.c:2381 -#, fuzzy -msgid "Enter %E for editor, %F for filename, %N for line-number, to set." -msgstr "kugirango Muhinduzi kugirango Izina ry'idosiye: kugirango Umurongo Umubare " - "Kuri Gushyiraho" - -#: src/lang.c:2382 -#, fuzzy -msgid "Invocation of your editor" -msgstr "Bya Muhinduzi" - -#: src/lang.c:2383 -#, fuzzy, c-format -msgid "# Format of editor line including parameters\n" - "# %%E Editor %%F Filename %%N Linenumber\n" -msgstr "#Bya Muhinduzi Umurongo" - -#: src/lang.c:2388 -#, fuzzy -msgid "Enter name and options for external-inews, --internal for internal inews" -msgstr "Izina: Na Amahitamo kugirango external By'imbere kugirango By'imbere" - -#: src/lang.c:2389 -msgid "External inews" -msgstr "" - -#: src/lang.c:2390 -#, fuzzy -msgid "# If --internal use the built in mini inews for posting via NNTP\n" - "# otherwise use an external inews program\n" -msgstr "#By'imbere Gukoresha i in kugirango Biturutse Gukoresha external" - -#: src/lang.c:2394 -#, fuzzy -msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." -msgstr "kugirango Uwanditse kugirango Ikivugwaho kugirango Kuri kugirango Izina " - "ry'idosiye: Kuri Gushyiraho" - -#: src/lang.c:2395 -#, fuzzy -msgid "Invocation of your mail command" -msgstr "Bya Ubutumwa Komandi:" - -#: src/lang.c:2396 -#, fuzzy, c-format -msgid "# Format of mailer line including parameters\n" - "# %%M Mailer %%S Subject %%T To %%F Filename\n" - "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" - "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" -msgstr "#Bya Uwanditse Umurongo Kuri Gukoresha Nka Uwanditse S Biganira i S" - -#: src/lang.c:2404 -#, fuzzy -msgid "Use interactive mail reader" -msgstr "Biganira Ubutumwa" - -#: src/lang.c:2405 -#, fuzzy -msgid "# Interactive mailreader\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no interactive mailreader\n" - "# 1 = use interactive mailreader with headers in file\n" - "# 2 = use interactive mailreader without headers in file\n" -msgstr "#Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 Oya Biganira 1. Gukoresha " - "Biganira Na: Imitwe in 2. Gukoresha Biganira Imitwe in" - -#: src/lang.c:2414 -#, fuzzy -msgid "Remove ~/.article after posting" -msgstr "Ingingo Nyuma" - -#: src/lang.c:2415 -#, fuzzy -msgid "# If ON remove ~/.article after posting.\n" -msgstr "#Gukuraho... Ingingo Nyuma" - -#: src/lang.c:2419 -#, fuzzy -msgid "Filename for all posted articles, sets, no filename=do not save." -msgstr "kugirango Byose Oya Izina ry'idosiye: OYA Kubika" - -#: src/lang.c:2420 -#, fuzzy -msgid "Filename for posted articles" -msgstr "kugirango" - -#: src/lang.c:2421 -#, fuzzy -msgid "# Filename where to keep all postings (default posted)\n" - "# If no filename is set then postings will not be saved\n" -msgstr "#Kuri Gumana: Byose Mburabuzi Oya Izina ry'idosiye: ni Gushyiraho Hanyuma OYA" - -#: src/lang.c:2426 -#, fuzzy -msgid "Keep all failed articles in ~/dead.articles. toggles & sets." -msgstr "Byose Byanze in" - -#: src/lang.c:2427 -#, fuzzy -msgid "Keep failed arts in ~/dead.articles" -msgstr "Byanze in" - -#: src/lang.c:2428 -#, fuzzy -msgid "# If ON keep all failed postings in ~/dead.articles\n" -msgstr "#Gumana: Byose Byanze in" - -#: src/lang.c:2432 -#, fuzzy -msgid "Do you want to strip unsubscribed groups from .newsrc" -msgstr "Kuri Amatsinda Bivuye" - -#: src/lang.c:2433 -#, fuzzy -msgid "No unsubscribed groups in newsrc" -msgstr "Amatsinda in" - -#: src/lang.c:2434 -#, fuzzy -msgid "# If ON strip unsubscribed groups from newsrc\n" -msgstr "#Amatsinda Bivuye" - -#: src/lang.c:2439 -#, fuzzy -msgid "Remove bogus groups from newsrc" -msgstr "Amatsinda Bivuye" - -#: src/lang.c:2440 -#, fuzzy -msgid "# What to do with bogus groups in newsrc file\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = keep\n" - "# 1 = remove\n" - "# 2 = highlight with D on selection screen\n" -msgstr "#Kuri Na: Amatsinda in Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. " - "garagaza cyane Na: ku Ihitamo" - -#: src/lang.c:2448 -#, fuzzy -msgid "Enter number of seconds until active file will be reread. sets." -msgstr "Umubare Bya amasogonda Gikora IDOSIYE" - -#: src/lang.c:2449 -#, fuzzy -msgid "Interval in secs to reread active" -msgstr "in Kuri Gikora" - -#: src/lang.c:2450 -#, fuzzy -msgid "# Time interval in seconds between rereading the active file (0=never)\n" -msgstr "#Intera in amasogonda hagati i Gikora IDOSIYE 0 Nta narimwe" - -#: src/lang.c:2455 -#, fuzzy -msgid "Reconnect to server automatically" -msgstr "Kongerakwihuza Kuri Seriveri ku buryo bwikora" - -#: src/lang.c:2456 -#, fuzzy -msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" -msgstr "#ku buryo bwikora Kuri Seriveri NIBA i Ukwihuza ni" - -#: src/lang.c:2460 -#, fuzzy -msgid "Create local copies of NNTP overview files. toggles & sets." -msgstr "Amakopi Bya Incamake Idosiye" - -#: src/lang.c:2461 -#, fuzzy -msgid "Cache NNTP overview files locally" -msgstr "Incamake Idosiye" - -#: src/lang.c:2462 -#, fuzzy -msgid "# If ON, create local copies of NNTP overview files.\n" -msgstr "#Kurema Amakopi Bya Incamake Idosiye" - -#: src/lang.c:2466 -#, fuzzy -msgid "Enter format string. sets, cancels." -msgstr "Imiterere Ikurikiranyanyuguti" - -#: src/lang.c:2467 -#, fuzzy -msgid "Format string for display of dates" -msgstr "Ikurikiranyanyuguti kugirango Kugaragaza Bya Amatariki" - -#: src/lang.c:2468 -#, fuzzy -msgid "# Format string for date representation\n" -msgstr "#Ikurikiranyanyuguti kugirango Itariki" - -#: src/lang.c:2474 -#, fuzzy -msgid "Unicode normalization form" -msgstr "Ifishi" - -#: src/lang.c:2475 -#, fuzzy -msgid "# Unicode normalization form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" -msgstr "#Uduciro i Mburabuzi ni cy/ byagarajwe Na: 0 1. 2. 3. 4." - -#: src/lang.c:2487 -msgid "Render BiDi" -msgstr "" - -#: src/lang.c:2488 -#, fuzzy -msgid "# If ON, bi-directional text is rendered by tin\n" -msgstr "#Umwandiko ni ku" - -#: src/misc.c:3750 -#, c-format -msgid "Version: %s %s release %s (\"%s\") %s %s\n" -msgstr "" - -#: src/misc.c:3753 -#, c-format -msgid "Version: %s %s release %s (\"%s\")\n" -msgstr "" - -#: src/newsrc.c:430 -msgid "Unreachable?\n" -msgstr "" - -#: src/nntplib.c:824 -#, fuzzy, c-format -msgid "\n" - "Server timed out, trying reconnect # %d\n" -msgstr "Inyuma" - -#: src/nntplib.c:842 src/nntplib.c:1630 -#, fuzzy -msgid "Rejoin current group\n" -msgstr "KIGEZWEHO" - -# svx/inc\globlmn.hrc:ITEM_FILE_MAIL_INBOX.text -#: src/nntplib.c:849 src/nntplib.c:1637 -#, fuzzy, c-format -msgid "Read (%s)\n" -msgstr "Gusoma" - -#: src/nntplib.c:851 -#, fuzzy, c-format -msgid "Resend last command (%s)\n" -msgstr "Iheruka Komandi:" - -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 -msgid "MOTD: " -msgstr "" - -#: src/nrctbl.c:170 -#, fuzzy, c-format -msgid "couldn't expand %s\n" -msgstr "Kwagura" - -#: src/post.c:1171 -#, c-format -msgid "Line %d is longer than 998 octets and should be folded, but\n" - "encoding is neither set to %s nor to %s\n" -msgstr "" - -#: src/post.c:1176 -#, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" - "posting doesn't contain any 8bit chars and thus folding won't happen\n" -msgstr "" - -#: src/post.c:1178 -#, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is not set to %s\n" -msgstr "" - -#: src/post.c:1993 -#, fuzzy, c-format -msgid "Posting: %.*s ..." -msgstr "S" - -#. Check if okay to read -#: src/read.c:211 -#, fuzzy -msgid "Aborting read, please wait..." -msgstr "Gusoma Tegereza" - -#: src/read.c:358 -msgid "Aborted read\n" -msgstr "" - -#: src/read.c:414 -msgid "Draining\n" -msgstr "" - -#. Don't hash the initial '<' -#: src/refs.c:251 -msgid "unchanged" -msgstr "" - -#: src/refs.c:609 -msgid "[- Unavailable -]" -msgstr "" - -#. -#. * preamble -#. * TODO: -> lang.c -#. -#: src/rfc2047.c:1201 -#, fuzzy, c-format -msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" - "are reading this prefix, your mail reader probably has not yet been modified\n" - "to understand the new format, and some of what follows may look strange.\n" - "\n" -msgstr "Ubutumwa in i Imiterere iyi Imbanziriza Ubutumwa OYA i Gishya Imiterere Na " - "Bya Gicurasi" - -#: src/save.c:972 -#, fuzzy -msgid "bytes" -msgstr "Bayite" - -#: src/select.c:379 -#, fuzzy -msgid "unread" -msgstr "Bidasomye" - -#: src/select.c:379 -#, fuzzy -msgid "all" -msgstr "Byose" - -#: src/select.c:549 src/select.c:551 -#, fuzzy -msgid " R" -msgstr " R" - -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 -#, fuzzy, c-format -msgid "Can't run slrnface: Environment variable %s not found." -msgstr "Gukoresha IMPINDURAGACIRO OYA Byabonetse" - -#: src/xface.c:99 src/xface.c:131 -#, fuzzy, c-format -msgid "Can't run slrnface: failed to create %s" -msgstr "Gukoresha Byanze Kuri Kurema" - -#: src/xface.c:109 -#, fuzzy -msgid "This directory is used to create named pipes for communication between\n" - "slrnface and its parent process. It should normally be empty because\n" - "the pipe is deleted right after it has been opened by both processes.\n" - "\n" - "File names generated by slrnface have the form \"hostname.pid\". It is\n" - "probably an error if they linger here longer than a fraction of a second.\n" - "\n" - "However, if the directory is mounted from an NFS server, you might see\n" - "special files created by your NFS server while slrnface is running.\n" - "Do not try to remove them.\n" -msgstr "bushyinguro ni Kuri Kurema kugirango Itumanaho Na ubusa ni Cyasibwe Iburyo: " - "Nyuma ku Byombi Idosiye Amazina ku i Ifishi Izina ry'inturo: Ikosa NIBA a " - "Imigabane Bya a ISEGONDA NIBA i bushyinguro ni Bivuye Seriveri Idosiye " - "Byaremwe ku Seriveri ni OYA Kuri Gukuraho..." - -#: src/xface.c:123 -#, fuzzy -msgid "Can't run slrnface: couldn't construct fifo name." -msgstr "Gukoresha Izina:" - -#: src/xface.c:162 -#, fuzzy, c-format -msgid "Slrnface abnormally exited, code %d." -msgstr "ITEGEKONGENGA" - -#: src/xface.c:206 -#, fuzzy, c-format -msgid "Slrnface failed: %s." -msgstr "Byanze" Binary files tin-1.8.3/po/sv.gmo and tin-2.0.0/po/sv.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/sv.po tin-2.0.0/po/sv.po --- tin-1.8.3/po/sv.po 2007-02-01 13:58:04.000000000 +0100 +++ tin-2.0.0/po/sv.po 2011-08-22 18:32:42.815491724 +0200 @@ -3,6053 +3,7102 @@ # This file is distributed under the same license as the tin package. # Daniel Nylander , 2006. # -msgid "" -msgstr "Project-Id-Version: tin 1.8.0\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-02-01 13:57+0100\n" - "PO-Revision-Date: 2006-01-11 21:22+0100\n" - "Last-Translator: Daniel Nylander \n" - "Language-Team: Swedish \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=iso-8859-1\n" - "Content-Transfer-Encoding: 8bit\n" +msgid "" +msgstr "Project-Id-Version: tin 1.8.0\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2011-08-22 18:32+0200\n" + "PO-Revision-Date: 2006-01-11 21:22+0100\n" + "Last-Translator: Daniel Nylander \n" + "Language-Team: Swedish \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=iso-8859-1\n" + "Content-Transfer-Encoding: 8bit\n" + +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 +#, c-format +msgid "attribute with no scope: %s" +msgstr "" + +#: src/attrib.c:884 +#, fuzzy +msgid "Processing attributes... " +msgstr "Skriver attributfil... " + +#: src/attrib.c:1102 +#, c-format +msgid "# Do not edit this comment block\n" + "#\n" +msgstr "" -#: src/art.c:1534 +#: src/attrib.c:1103 #, c-format -msgid "%d Bad overview record (%d fields) '%s'" -msgstr "" +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" +msgstr "" -#: src/attrib.c:649 +#: src/attrib.c:1104 #, c-format -msgid "# Do not edit this comment block\n" - "#\n" -msgstr "" +msgid "# add_posted_to_filter=ON/OFF\n" +msgstr "" -#: src/attrib.c:650 +#: src/attrib.c:1105 #, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" -msgstr "" +msgid "# advertising=ON/OFF\n" +msgstr "" -#: src/attrib.c:651 +#: src/attrib.c:1106 #, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" -msgstr "" +msgid "# alternative_handling=ON/OFF\n" +msgstr "" -#: src/attrib.c:652 +#: src/attrib.c:1107 #, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" -msgstr "" +msgid "# ask_for_metamail=ON/OFF\n" +msgstr "" -#: src/attrib.c:653 +#: src/attrib.c:1108 #, c-format -msgid "# savefile=STRING (ie. =linux)\n" -msgstr "" +msgid "# auto_cc_bcc=NUM\n" +msgstr "" -#: src/attrib.c:654 +#: src/attrib.c:1109 #, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" -msgstr "" +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "" -#: src/attrib.c:655 +#: src/attrib.c:1110 #, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" -msgstr "" +msgid "# auto_list_thread=ON/OFF\n" +msgstr "" -#: src/attrib.c:656 +#: src/attrib.c:1111 #, c-format -msgid "# followup_to=STRING\n" -msgstr "" +msgid "# auto_save=ON/OFF\n" +msgstr "" -#: src/attrib.c:657 +#: src/attrib.c:1112 #, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" -msgstr "" +msgid "# auto_select=ON/OFF\n" +msgstr "" -#: src/attrib.c:658 +#: src/attrib.c:1113 #, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" -msgstr "" +msgid "# batch_save=ON/OFF\n" +msgstr "" -#: src/attrib.c:659 +#: src/attrib.c:1114 #, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" -msgstr "" +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "" -#: src/attrib.c:660 +#: src/attrib.c:1115 #, c-format -msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" -msgstr "" +msgid "# delete_tmp_files=ON/OFF\n" +msgstr "" -#: src/attrib.c:661 +#: src/attrib.c:1116 #, c-format -msgid "# news_quote_format=STRING\n" -msgstr "" +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" +msgstr "" -#: src/attrib.c:662 +#: src/attrib.c:1117 #, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" -msgstr "" +msgid "# fcc=STRING (eg. =mailbox)\n" +msgstr "" -#: src/attrib.c:663 +#: src/attrib.c:1118 #, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" -msgstr "" +msgid "# followup_to=STRING\n" +msgstr "" -#: src/attrib.c:665 +#: src/attrib.c:1119 #, c-format -msgid "# ispell=STRING\n" -msgstr "" +msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" +msgstr "" -#: src/attrib.c:667 +#: src/attrib.c:1120 #, c-format -msgid "# auto_select=ON/OFF\n" -msgstr "" +msgid "# group_catchup_on_exit=ON/OFF\n" +msgstr "" -#: src/attrib.c:668 +#: src/attrib.c:1121 #, c-format -msgid "# auto_save=ON/OFF\n" -msgstr "" +msgid "# mail_8bit_header=ON/OFF\n" +msgstr "" -#: src/attrib.c:669 +#: src/attrib.c:1122 #, c-format -msgid "# batch_save=ON/OFF\n" -msgstr "" +msgid "# mail_mime_encoding=supported_encoding" +msgstr "" -#: src/attrib.c:670 +#: src/attrib.c:1130 #, c-format -msgid "# delete_tmp_files=ON/OFF\n" -msgstr "" +msgid "# ispell=STRING\n" +msgstr "" -#: src/attrib.c:671 +#: src/attrib.c:1132 #, c-format -msgid "# show_only_unread=ON/OFF\n" -msgstr "" +msgid "# maildir=STRING (eg. ~/Mail)\n" +msgstr "" -#: src/attrib.c:672 +#: src/attrib.c:1133 #, c-format -msgid "# thread_arts=NUM" -msgstr "" +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" +msgstr "" -#: src/attrib.c:679 +#: src/attrib.c:1134 #, c-format -msgid "# thread_perc=NUM\n" -msgstr "" +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgstr "" -#: src/attrib.c:680 +#: src/attrib.c:1135 #, c-format -msgid "# show_author=NUM\n" -msgstr "" +msgid "# mark_ignore_tags=ON/OFF\n" +msgstr "" -#: src/attrib.c:686 +#: src/attrib.c:1136 #, c-format -msgid "# show_info=NUM\n" -msgstr "" +msgid "# mark_saved_read=ON/OFF\n" +msgstr "" -#: src/attrib.c:692 +#: src/attrib.c:1137 #, c-format -msgid "# sort_art_type=NUM\n" -msgstr "" +msgid "# mime_forward=ON/OFF\n" +msgstr "" -#: src/attrib.c:710 +#: src/attrib.c:1139 #, c-format -msgid "# sort_threads_type=NUM\n" -msgstr "" +msgid "# mm_network_charset=supported_charset" +msgstr "" -#: src/attrib.c:715 +#: src/attrib.c:1146 #, c-format -msgid "# post_proc_type=NUM\n" -msgstr "" +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgstr "" -#: src/attrib.c:720 +#: src/attrib.c:1148 #, c-format -msgid "# quick_kill_scope=STRING (ie. talk.*)\n" -msgstr "" +msgid "# news_headers_to_display=STRING\n" +msgstr "" -#: src/attrib.c:721 +#: src/attrib.c:1149 #, c-format -msgid "# quick_kill_expire=ON/OFF\n" -msgstr "" +msgid "# news_headers_to_not_display=STRING\n" +msgstr "" -#: src/attrib.c:722 +#: src/attrib.c:1150 #, c-format -msgid "# quick_kill_case=ON/OFF\n" -msgstr "" +msgid "# news_quote_format=STRING\n" +msgstr "" -#: src/attrib.c:723 +#: src/attrib.c:1151 #, c-format -msgid "# quick_kill_header=NUM\n" -msgstr "" +msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgstr "" -#: src/attrib.c:724 src/attrib.c:731 +#: src/attrib.c:1152 #, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" -msgstr "" +msgid "# pos_first_unread=ON/OFF\n" +msgstr "" -#: src/attrib.c:725 src/attrib.c:732 +#: src/attrib.c:1153 #, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" -msgstr "" +msgid "# post_8bit_header=ON/OFF\n" +msgstr "" -#: src/attrib.c:726 src/attrib.c:733 +#: src/attrib.c:1154 #, c-format -msgid "# 4=msgid 5=lines\n" -msgstr "" +msgid "# post_mime_encoding=supported_encoding" +msgstr "" -#: src/attrib.c:727 +#: src/attrib.c:1161 #, c-format -msgid "# quick_select_scope=STRING\n" -msgstr "" +msgid "# post_process_type=NUM\n" +msgstr "" -#: src/attrib.c:728 +#: src/attrib.c:1166 #, c-format -msgid "# quick_select_expire=ON/OFF\n" -msgstr "" +msgid "# post_process_view=ON/OFF\n" +msgstr "" -#: src/attrib.c:729 +#: src/attrib.c:1167 #, c-format -msgid "# quick_select_case=ON/OFF\n" -msgstr "" +msgid "# quick_kill_scope=STRING (ie. talk.*)\n" +msgstr "" -#: src/attrib.c:730 +#: src/attrib.c:1168 #, c-format -msgid "# quick_select_header=NUM\n" -msgstr "" +msgid "# quick_kill_expire=ON/OFF\n" +msgstr "" -#: src/attrib.c:734 +#: src/attrib.c:1169 #, c-format -msgid "# x_comment_to=ON/OFF\n" -msgstr "" +msgid "# quick_kill_case=ON/OFF\n" +msgstr "" -#: src/attrib.c:735 +#: src/attrib.c:1170 #, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" -msgstr "" +msgid "# quick_kill_header=NUM\n" +msgstr "" -#: src/attrib.c:736 +#: src/attrib.c:1171 src/attrib.c:1180 #, c-format -msgid "# tex2iso_conv=ON/OFF\n" -msgstr "" +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "" -#: src/attrib.c:737 +#: src/attrib.c:1172 src/attrib.c:1181 #, c-format -msgid "# mime_forward=ON/OFF\n" -msgstr "" +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "" -#: src/attrib.c:739 +#: src/attrib.c:1173 src/attrib.c:1182 #, c-format -msgid "# mm_network_charset=supported_charset" -msgstr "" +msgid "# 4=Message-ID: & full References: line\n" +msgstr "" -#: src/attrib.c:746 +#: src/attrib.c:1174 src/attrib.c:1183 #, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" -msgstr "" +msgid "# 5=Message-ID: & last References: entry only\n" +msgstr "" -#: src/attrib.c:748 +#: src/attrib.c:1175 src/attrib.c:1184 #, c-format -msgid "#\n" - "# Note that it is best to put general (global scoping)\n" -msgstr "" +msgid "# 6=Message-ID: entry only 7=Lines:\n" +msgstr "" -#: src/attrib.c:749 +#: src/attrib.c:1176 #, c-format -msgid "# entries first followed by group specific entries.\n" - "#\n" -msgstr "" +msgid "# quick_select_scope=STRING\n" +msgstr "" -#: src/attrib.c:750 +#: src/attrib.c:1177 #, c-format -msgid "############################################################################\n" - "\n" -msgstr "" +msgid "# quick_select_expire=ON/OFF\n" +msgstr "" -#: src/attrib.c:756 +#: src/attrib.c:1178 #, c-format -msgid "# include extra headers\n" -msgstr "" +msgid "# quick_select_case=ON/OFF\n" +msgstr "" -#: src/attrib.c:764 +#: src/attrib.c:1179 #, c-format -msgid "# in *sources* set post process type to shar only\n" -msgstr "" +msgid "# quick_select_header=NUM\n" +msgstr "" -#: src/attrib.c:768 +#: src/attrib.c:1185 #, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" -msgstr "" +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgstr "" -#: src/attrib.c:769 +#: src/attrib.c:1187 #, c-format -msgid "# remove tmp files and set Followup-To: poster\n" -msgstr "" +msgid "# print_header=ON/OFF\n" +msgstr "" -#: src/cook.c:499 -msgid "(unknown)" -msgstr "(okänd)" +#: src/attrib.c:1189 +#, c-format +msgid "# process_only_unread=ON/OFF\n" +msgstr "" -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -msgid "Removed from the previous rule: " -msgstr "" - -#: src/keymap.c:271 -msgid "NULL" -msgstr "NOLL" +#: src/attrib.c:1190 +#, c-format +msgid "# prompt_followupto=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1191 +#, c-format +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "" + +#: src/attrib.c:1192 +#, c-format +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "" + +#: src/attrib.c:1193 +#, c-format +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "" + +#: src/attrib.c:1194 +#, c-format +msgid "# show_author=NUM\n" +msgstr "" + +#: src/attrib.c:1200 +#, c-format +msgid "# show_info=NUM\n" +msgstr "" + +#: src/attrib.c:1206 +#, c-format +msgid "# show_signatures=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1207 +#, c-format +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1208 +#, c-format +msgid "# sigdashes=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1209 +#, c-format +msgid "# signature_repost=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1210 +#, c-format +msgid "# sort_article_type=NUM\n" +msgstr "" + +#: src/attrib.c:1228 +#, c-format +msgid "# sort_threads_type=NUM\n" +msgstr "" + +#: src/attrib.c:1237 +#, c-format +msgid "# start_editor_offset=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1238 +#, c-format +msgid "# tex2iso_conv=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1239 +#, c-format +msgid "# thread_catchup_on_exit=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1240 +#, c-format +msgid "# thread_articles=NUM" +msgstr "" + +#: src/attrib.c:1247 +#, c-format +msgid "# thread_perc=NUM\n" +msgstr "" + +#: src/attrib.c:1248 +#, c-format +msgid "# trim_article_body=NUM\n" +msgstr "" + +#: src/attrib.c:1249 +#, c-format +msgid "# 0 = Don't trim article body\n" +msgstr "" + +#: src/attrib.c:1250 +#, c-format +msgid "# 1 = Skip leading blank lines\n" +msgstr "" + +#: src/attrib.c:1251 +#, c-format +msgid "# 2 = Skip trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1252 +#, c-format +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1253 +#, c-format +msgid "# 4 = Compact multiple blank lines between text blocks\n" +msgstr "" + +#: src/attrib.c:1254 +#, c-format +msgid "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" +msgstr "" + +#: src/attrib.c:1255 +#, c-format +msgid "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1256 +#, c-format +msgid "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1257 +#, c-format +msgid "# verbatim_handling=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1258 +#, c-format +msgid "# wrap_on_next_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1259 +#, c-format +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" +msgstr "" + +#: src/attrib.c:1260 +#, c-format +msgid "# x_comment_to=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1261 +#, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" +msgstr "" + +#: src/attrib.c:1262 +#, c-format +msgid "#\n" + "# Note that it is best to put general (global scoping)\n" +msgstr "" + +#: src/attrib.c:1263 +#, c-format +msgid "# entries first followed by group specific entries.\n" + "#\n" +msgstr "" + +#: src/attrib.c:1264 +#, c-format +msgid "############################################################################\n" +msgstr "" + +#: src/cook.c:625 +msgid "(unknown)" +msgstr "(okänd)" + +#: src/keymap.c:277 +msgid "NULL" +msgstr "NOLL" #: src/lang.c:42 -msgid "1 Response" -msgstr "1 svar" +msgid "1 Response" +msgstr "1 svar" #: src/lang.c:46 #, c-format -msgid "\n" - "%s contains no newsgroups. Exiting." -msgstr "\n" - "%s innehåller inga nyhetsgrupper. Avslutar." +msgid "\n" + "%s contains no newsgroups. Exiting." +msgstr "\n" + "%s innehåller inga nyhetsgrupper. Avslutar." #: src/lang.c:47 -msgid "all " -msgstr "alla" +msgid "all " +msgstr "alla" #: src/lang.c:48 -msgid "All groups" -msgstr "Alla grupper" +msgid "All groups" +msgstr "Alla grupper" #: src/lang.c:49 #, c-format -msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " -msgstr "" +msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " +msgstr "" #: src/lang.c:50 -msgid "Article cancelled (deleted)." -msgstr "Artikel avbruten (borttagen)." - -#: src/lang.c:51 -msgid "Article cannot be cancelled (deleted)." -msgstr "Artikel kan inte avbrytas (tas bort)." +msgid "Article cancelled (deleted)." +msgstr "Artikel avbruten (borttagen)." #: src/lang.c:52 -msgid "Article deleted." -msgstr "Artikel borttagen." - -#: src/lang.c:53 -#, c-format -msgid "\n" - "Your article:\n" - " \"%s\"\n" - "will be posted to the following %s:\n" -msgstr "\n" - "Din artikel:\n" - " \"%s\"\n" - "kommer att postas till följande %s:\n" +msgid "Article cannot be cancelled (deleted)." +msgstr "Artikel kan inte avbrytas (tas bort)." #: src/lang.c:54 -msgid "Article not posted!" -msgstr "Artikel inte postad!" +msgid "Article deleted." +msgstr "Artikel borttagen." #: src/lang.c:55 -msgid "Article not saved" -msgstr "" +#, c-format +msgid "\n" + "Your article:\n" + " \"%s\"\n" + "will be posted to the following %s:\n" +msgstr "\n" + "Din artikel:\n" + " \"%s\"\n" + "kommer att postas till följande %s:\n" #: src/lang.c:56 -msgid "Article Level Commands" -msgstr "" +msgid "Article not posted!" +msgstr "Artikel inte postad!" #: src/lang.c:57 -msgid "Article has no parent" -msgstr "" +msgid "Article not saved" +msgstr "" #: src/lang.c:58 -msgid "Parent article has been killed" -msgstr "" +msgid "Article Level Commands" +msgstr "" #: src/lang.c:59 -msgid "Parent article is unavailable" -msgstr "" +msgid "Article has no parent" +msgstr "" #: src/lang.c:60 -#, c-format -msgid "Article posted: %s" -msgstr "" +msgid "Parent article has been killed" +msgstr "" #: src/lang.c:61 -#, c-format -msgid "Article rejected (saved to %s)" -msgstr "" +msgid "Parent article is unavailable" +msgstr "" #: src/lang.c:62 #, c-format -msgid "%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " -msgstr "" +msgid "Article posted: %s" +msgstr "" #: src/lang.c:63 -msgid "Article unavailable" -msgstr "Artikel ej tillgänglig" +#, c-format +msgid "Article rejected (saved to %s)" +msgstr "" #: src/lang.c:64 -msgid "Article undeleted." -msgstr "" +#, c-format +msgid "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " +msgstr "" + +#: src/lang.c:65 +msgid "Article unavailable" +msgstr "Artikel ej tillgänglig" #: src/lang.c:66 -msgid "articles" -msgstr "artiklar" +msgid "Article undeleted." +msgstr "" #: src/lang.c:67 -msgid "This is a repost of the following article:" -msgstr "" - -#: src/lang.c:68 -msgid "article" -msgstr "artikel" +#, fuzzy, c-format +msgid "Article %4d of %4d" +msgstr "Artikel %4d av %4d" #: src/lang.c:69 -msgid "Article" -msgstr "Artikel" +msgid "articles" +msgstr "artiklar" #: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" -msgstr "" +msgid "This is a repost of the following article:" +msgstr "" #: src/lang.c:71 -#, c-format -msgid " at %s" -msgstr " den %s" +msgid "article" +msgstr "artikel" #: src/lang.c:72 -#, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" -msgstr "%*s[-- %s/%s, kodar %s%s%s, %d rader%s%s --]\n" +msgid "Article" +msgstr "Artikel" #: src/lang.c:73 -msgid ", charset: " -msgstr ", teckenuppsättning: " +#, c-format +msgid "-- %d %s mailed --" +msgstr "" #: src/lang.c:74 #, c-format -msgid "%*s[-- Description: %s --]\n" -msgstr "%*s[-- Beskrivning: %s --]\n" +msgid " at %s" +msgstr " den %s" #: src/lang.c:75 #, c-format -msgid "%d Authentication failed" -msgstr "%d Autentisering misslyckades" +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgstr "%*s[-- %s/%s, kodar %s%s%s, %d rader%s%s --]\n" #: src/lang.c:76 -msgid "Server expects authentication.\n" -msgstr "" +msgid ", charset: " +msgstr ", teckenuppsättning: " #: src/lang.c:77 -msgid " Please enter password: " -msgstr " Ange lösenord: " +#, c-format +msgid "%*s[-- charset %s not supported --]\n" +msgstr "" #: src/lang.c:78 -msgid " Please enter username: " -msgstr " Vänligen ange användarnamn: " +#, c-format +msgid "%*s[-- Description: %s --]\n" +msgstr "%*s[-- Beskrivning: %s --]\n" #: src/lang.c:79 #, c-format -msgid "Author search backwards [%s]> " -msgstr "" +msgid "%d lines" +msgstr "" #: src/lang.c:80 -#, c-format -msgid "Author search forwards [%s]> " -msgstr "" +msgid "Attachment Menu" +msgstr "" #: src/lang.c:81 -#, c-format -msgid "Authorized for user: %s\n" -msgstr "" +#, fuzzy +msgid "Attachment Menu Commands" +msgstr "Toppnivåkommandon" #: src/lang.c:82 -#, c-format -msgid "Authorization failed for user: %s\n" -msgstr "" +#, fuzzy +msgid "" +msgstr "ingen" #: src/lang.c:83 #, c-format -msgid "\n" - "Autosubscribed to %s" -msgstr "" +msgid "Attachment saved successfully. (%s)" +msgstr "" #: src/lang.c:84 -msgid "Autosubscribing groups...\n" -msgstr "" +#, c-format +msgid "%d of %d attachments saved successfully." +msgstr "" #: src/lang.c:85 -#, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." -msgstr "" +#, fuzzy +msgid "Select attachment> " +msgstr "Välj artikel> " + +#: src/lang.c:86 +#, fuzzy +msgid "Tagged attachment" +msgstr "Välj artikel> " #: src/lang.c:87 -#, c-format -msgid "Active file corrupt - %s" -msgstr "" +#, fuzzy, c-format +msgid "%d attachments tagged" +msgstr "Välj artikel> " #: src/lang.c:88 -#, c-format -msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " -msgstr "" +#, fuzzy +msgid "Untagged attachment" +msgstr "Välj artikel> " #: src/lang.c:89 -#, c-format -msgid "Unrecognized attribute: %s" -msgstr "" +msgid "Attributes Menu Commands" +msgstr "" -#: src/lang.c:90 +#: src/lang.c:91 #, c-format -msgid "Bad command. Type '%s' for help." -msgstr "Felaktigt kommando. Skriv \"%s\" för hjälp." +msgid "%d Authentication failed" +msgstr "%d Autentisering misslyckades" #: src/lang.c:92 -msgid "Base article" -msgstr "" +#, c-format +msgid "NNTP authorization password not found for %s" +msgstr "" #: src/lang.c:93 -msgid "Base article range" -msgstr "" +msgid "Server expects authentication.\n" +msgstr "" #: src/lang.c:94 -#, c-format -msgid "%s: Updating of index files not supported\n" -msgstr "" +msgid " Please enter password: " +msgstr " Ange lösenord: " #: src/lang.c:95 -msgid "*** Beginning of article ***" -msgstr "*** Början av artikel ***" +msgid " Please enter username: " +msgstr " Vänligen ange användarnamn: " + +#: src/lang.c:96 +#, c-format +msgid "Authorized for user: %s\n" +msgstr "" #: src/lang.c:97 #, c-format -msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " -msgstr "" +msgid "Authorization failed for user: %s\n" +msgstr "" -#: src/lang.c:98 -msgid "Cancelling article..." -msgstr "" +#: src/lang.c:99 +#, c-format +msgid "Author search backwards [%s]> " +msgstr "" #: src/lang.c:100 #, c-format -msgid "Cannot create %s" -msgstr "Kan inte skapa %s" +msgid "Author search forwards [%s]> " +msgstr "" #: src/lang.c:101 #, c-format -msgid "Can't find base article %d" -msgstr "" +msgid "\n" + "Autosubscribed to %s" +msgstr "" #: src/lang.c:102 -#, c-format -msgid "Can't open %s" -msgstr "Kan inte öppna %s" +msgid "Autosubscribing groups...\n" +msgstr "" #: src/lang.c:103 #, c-format -msgid "Couldn't open %s for saving" -msgstr "" - -#: src/lang.c:104 -msgid "*** Posting not allowed ***" -msgstr "*** Postning inte tillåten ***" +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "" #: src/lang.c:105 #, c-format -msgid "Posting is not allowed to %s" -msgstr "" +msgid "Active file corrupt - %s" +msgstr "" #: src/lang.c:106 #, c-format -msgid "Can't retrieve %s" -msgstr "" +msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "" #: src/lang.c:107 #, c-format -msgid "%s is a directory" -msgstr "%s är en katalog" +msgid "Unrecognized attribute: %s" +msgstr "" #: src/lang.c:108 -msgid "Catchup" -msgstr "" - -#: src/lang.c:109 #, c-format -msgid "Catchup %s..." -msgstr "" +msgid "Bad command. Type '%s' for help." +msgstr "Felaktigt kommando. Skriv \"%s\" för hjälp." #: src/lang.c:110 -msgid "Catchup all groups entered during this session?" -msgstr "" +msgid "Base article" +msgstr "" #: src/lang.c:111 -msgid "You have tagged articles in this group - catchup anyway?" -msgstr "" +msgid "Base article range" +msgstr "" #: src/lang.c:112 #, c-format -msgid "%s %d %s in %lu seconds\n" -msgstr "" +msgid "%s: Updating of index files not supported\n" +msgstr "" #: src/lang.c:113 -msgid "Caughtup" -msgstr "" +msgid "*** Beginning of article ***" +msgstr "*** Början av artikel ***" #: src/lang.c:114 -msgid "Check Prepared Article" -msgstr "" - -#: src/lang.c:115 -msgid "Checking for new groups... " -msgstr "Letar efter nya grupper..." +#, fuzzy +msgid "*** Beginning of page ***" +msgstr "*** Början av artikel ***" #: src/lang.c:116 -msgid "Checking for news..." -msgstr "" +#, c-format +msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " +msgstr "" #: src/lang.c:117 -#, c-format -msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " -msgstr "" +msgid "Cancelling article..." +msgstr "" #: src/lang.c:119 -msgid "ANSI color disabled" -msgstr "" +#, c-format +msgid "Cannot create %s" +msgstr "Kan inte skapa %s" #: src/lang.c:120 -msgid "ANSI color enabled" -msgstr "" +#, c-format +msgid "Can't find base article %d" +msgstr "" + +#: src/lang.c:121 +#, c-format +msgid "Can't open %s" +msgstr "Kan inte öppna %s" #: src/lang.c:122 #, c-format -msgid "Command failed: %s" -msgstr "Kommando misslyckades: %s" +msgid "Couldn't open %s for saving" +msgstr "" #: src/lang.c:123 -msgid "Mark not selected articles read?" -msgstr "" +msgid "*** Posting not allowed ***" +msgstr "*** Postning inte tillåten ***" #: src/lang.c:124 #, c-format -msgid "Connecting to %s..." -msgstr "Ansluter till %s..." - -#: src/lang.c:125 -msgid "" -msgstr "" +msgid "Posting is not allowed to %s" +msgstr "" #: src/lang.c:126 -msgid "Creating active file for saved groups...\n" -msgstr "" +#, c-format +msgid "Can't retrieve %s" +msgstr "" + +#: src/lang.c:128 +#, c-format +msgid "%s is a directory" +msgstr "%s är en katalog" -#: src/lang.c:127 -msgid "Creating newsrc file...\n" -msgstr "" - -#: src/lang.c:129 src/lang.c:1150 -msgid "Default" -msgstr "Förvald" +#: src/lang.c:129 +msgid "Catchup" +msgstr "" #: src/lang.c:130 -msgid "Delete saved files that have been post processed?" -msgstr "" +#, c-format +msgid "Catchup %s..." +msgstr "" #: src/lang.c:131 -msgid "Deleting temporary files..." -msgstr "" +msgid "Catchup all groups entered during this session?" +msgstr "" + +#: src/lang.c:132 +msgid "You have tagged articles in this group - catchup anyway?" +msgstr "" #: src/lang.c:133 -msgid "*** End of article ***" -msgstr "*** Slut på artikel ***" +#, c-format +msgid "%s %d %s in %lu seconds\n" +msgstr "" #: src/lang.c:134 -msgid "*** End of articles ***" -msgstr "*** Slut på artiklar ***" +msgid "Caughtup" +msgstr "" #: src/lang.c:135 -msgid "*** End of groups ***" -msgstr "*** Slut på grupper ***" +msgid "Check Prepared Article" +msgstr "" #: src/lang.c:136 -msgid "*** End of thread ***" -msgstr "*** Slut på tråd ***" +msgid "Checking for new groups... " +msgstr "Letar efter nya grupper..." #: src/lang.c:137 -msgid "Enter limit of articles to get> " -msgstr "" +msgid "Checking for news..." +msgstr "" #: src/lang.c:138 -msgid "Enter Message-ID to go to> " -msgstr "" - -#: src/lang.c:139 -msgid " and enter next unread thread" -msgstr "" +#, c-format +msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " +msgstr "" #: src/lang.c:140 -msgid " and enter next unread group" -msgstr "" +msgid "ANSI color disabled" +msgstr "" #: src/lang.c:141 -msgid "Enter option number> " -msgstr "" +msgid "ANSI color enabled" +msgstr "" -#: src/lang.c:142 +#: src/lang.c:143 #, c-format -msgid "Enter range [%s]> " -msgstr "" +msgid "Command failed: %s" +msgstr "Kommando misslyckades: %s" -#: src/lang.c:143 -msgid "\n" - "Warning: Approved: header used.\n" -msgstr "" - -#: src/lang.c:145 -msgid "\n" - "Error: Bad address in Approved: header.\n" -msgstr "" +#: src/lang.c:144 +msgid "Mark not selected articles read?" +msgstr "" #: src/lang.c:146 -msgid "\n" - "Error: Bad address in From: header.\n" -msgstr "" - -#: src/lang.c:147 -msgid "\n" - "Error: Bad address in Reply-To: header.\n" -msgstr "" +#, c-format +msgid "Connecting to %s..." +msgstr "Ansluter till %s..." #: src/lang.c:148 -msgid "\n" - "Error: Bad FQDN in Message-ID: header.\n" -msgstr "" +msgid "" +msgstr "" #: src/lang.c:149 -#, c-format -msgid "Can't unlock %s" -msgstr "Kan inte låsa upp %s" - -#: src/lang.c:151 -#, c-format -msgid "Corrupted file %s" -msgstr "Skadad fil %s" +msgid "Creating active file for saved groups...\n" +msgstr "" -#: src/lang.c:152 -#, c-format -msgid "Couldn't dotlock %s - article not appended!" -msgstr "" +#: src/lang.c:150 +msgid "Creating newsrc file...\n" +msgstr "" + +#: src/lang.c:152 src/lang.c:1296 +msgid "Default" +msgstr "Förvald" #: src/lang.c:153 -#, c-format -msgid "Couldn't lock %s - article not appended!" -msgstr "" +msgid "Delete saved files that have been post processed?" +msgstr "" -#: src/lang.c:155 -msgid "Internal error in GNKSA routine - send bug report.\n" -msgstr "" +#: src/lang.c:154 +msgid "Deleting temporary files..." +msgstr "" #: src/lang.c:156 -msgid "Left angle bracket missing in route address.\n" -msgstr "" +msgid "*** End of article ***" +msgstr "*** Slut på artikel ***" #: src/lang.c:157 -msgid "Left parenthesis missing in old-style address.\n" -msgstr "" +msgid "*** End of articles ***" +msgstr "*** Slut på artiklar ***" #: src/lang.c:158 -msgid "Right parenthesis missing in old-style address.\n" -msgstr "" +#, fuzzy +msgid "*** End of attachments ***" +msgstr "*** Slut på artiklar ***" #: src/lang.c:159 -msgid "At-sign missing in mail address.\n" -msgstr "" +msgid "*** End of groups ***" +msgstr "*** Slut på grupper ***" #: src/lang.c:160 -msgid "Single component FQDN is not allowed. Add your domain.\n" -msgstr "" +#, fuzzy +msgid "*** End of page ***" +msgstr "*** Slut på artikel ***" #: src/lang.c:161 -msgid "Invalid domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "" +#, fuzzy +msgid "*** End of scopes ***" +msgstr "*** Slut på grupper ***" #: src/lang.c:162 -msgid "Illegal domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "" +msgid "*** End of thread ***" +msgstr "*** Slut på tråd ***" #: src/lang.c:163 -msgid "Unknown domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "" +#, fuzzy +msgid "*** End of URLs ***" +msgstr "*** Slut på grupper ***" #: src/lang.c:164 -msgid "Illegal character in FQDN.\n" -msgstr "" +msgid "Enter limit of articles to get> " +msgstr "" #: src/lang.c:165 -msgid "Zero length FQDN component not allowed.\n" -msgstr "" +msgid "Enter Message-ID to go to> " +msgstr "" #: src/lang.c:166 -msgid "FQDN component exceeds maximum allowed length (63 chars).\n" -msgstr "" +msgid " and enter next unread thread" +msgstr "" #: src/lang.c:167 -msgid "FQDN component may not start or end with hyphen.\n" -msgstr "" +#, fuzzy +msgid " and enter next unread article" +msgstr "Slut på olästa artiklar" #: src/lang.c:168 -msgid "FQDN component may not start with digit.\n" -msgstr "" +msgid " and enter next unread group" +msgstr "" #: src/lang.c:169 -msgid "Domain literal has impossible numeric value.\n" -msgstr "" +msgid "Enter option number> " +msgstr "" #: src/lang.c:170 -msgid "Domain literal is for private use only and not allowed for global use.\n" -msgstr "" +#, c-format +msgid "Enter range [%s]> " +msgstr "" #: src/lang.c:171 -msgid "Right bracket missing in domain literal.\n" -msgstr "" - -#: src/lang.c:172 -msgid "Missing localpart of mail address.\n" -msgstr "" +msgid "\n" + "Warning: Approved: header used.\n" +msgstr "" #: src/lang.c:173 -msgid "Illegal character in localpart of mail address.\n" -msgstr "" +msgid "\n" + "Error: Bad address in Approved: header.\n" +msgstr "" #: src/lang.c:174 -msgid "Zero length localpart component not allowed.\n" -msgstr "" +msgid "\n" + "Error: Bad address in From: header.\n" +msgstr "" #: src/lang.c:175 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" -msgstr "" +msgid "\n" + "Error: Bad address in Reply-To: header.\n" +msgstr "" #: src/lang.c:176 -msgid "Illegal character in realname.\n" - "Quoted words may not contain '()<>\\'.\n" -msgstr "" - -#: src/lang.c:177 -msgid "Illegal character in realname.\n" - "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" -msgstr "" +msgid "\n" + "Error: Bad FQDN in Message-ID: header.\n" +msgstr "" #: src/lang.c:178 -msgid "Bad syntax in encoded word used in realname.\n" -msgstr "" +#, c-format +msgid "Can't unlock %s" +msgstr "Kan inte låsa upp %s" #: src/lang.c:179 -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '()<>\\' in old-style addresses.\n" -msgstr "" +#, c-format +msgid "Couldn't dotlock %s - article not appended!" +msgstr "" #: src/lang.c:180 -msgid "Illegal character in realname.\n" - "Control characters and unencoded 8bit characters > 127 are not allowed.\n" -msgstr "" - -#: src/lang.c:181 -msgid "\n" - "Error: No blank line found after header.\n" -msgstr "" +#, c-format +msgid "Couldn't lock %s - article not appended!" +msgstr "" -#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:183 -msgid "\n" - "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" - " US-ASCII - please change this setting to a suitable value for\n" - " your language using the M)enu of configurable options or by\n" - " editing tinrc.\n" -msgstr "" +#, c-format +msgid "Corrupted file %s" +msgstr "Skadad fil %s" + +#: src/lang.c:185 +msgid "\n" + "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" +msgstr "" + +#: src/lang.c:186 +msgid "Internal error in GNKSA routine - send bug report.\n" +msgstr "" + +#: src/lang.c:187 +msgid "Left angle bracket missing in route address.\n" +msgstr "" #: src/lang.c:188 -msgid "\n" - "Error: Posting contains non-ASCII characters but the MIME encoding\n" - " for news messages is set to \"7bit\" - please change this\n" - " setting to \"8bit\" or \"quoted-printable\" depending on what\n" - " is more common in your part of the world. This can be done\n" - " using the M)enu of configurable options or by editing tinrc.\n" -msgstr "" +msgid "Left parenthesis missing in old-style address.\n" +msgstr "" + +#: src/lang.c:189 +msgid "Right parenthesis missing in old-style address.\n" +msgstr "" + +#: src/lang.c:190 +msgid "At-sign missing in mail address.\n" +msgstr "" + +#: src/lang.c:191 +msgid "Single component FQDN is not allowed. Add your domain.\n" +msgstr "" + +#: src/lang.c:192 +msgid "Invalid domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" + +#: src/lang.c:193 +msgid "Illegal domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" #: src/lang.c:194 -msgid "\n" - "Error: Article starts with blank line instead of header\n" -msgstr "" +msgid "Unknown domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "" #: src/lang.c:195 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a colon after the header name:\n" - "%s\n" -msgstr "" +msgid "Illegal character in FQDN.\n" +msgstr "" #: src/lang.c:196 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is empty.\n" -msgstr "" +msgid "Zero length FQDN component not allowed.\n" +msgstr "" #: src/lang.c:197 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is missing from the article header.\n" -msgstr "" +msgid "FQDN component exceeds maximum allowed length (63 chars).\n" +msgstr "" #: src/lang.c:198 -#, c-format -msgid "\n" - "Error: Header on line %d does not have a space after the colon:\n" - "%s\n" -msgstr "" +msgid "FQDN component may not start or end with hyphen.\n" +msgstr "" #: src/lang.c:199 -#, c-format -msgid "\n" - "Error: There are multiple (%d) \"%s:\" lines in the header.\n" -msgstr "" +msgid "FQDN component may not start with digit.\n" +msgstr "" #: src/lang.c:200 -#, c-format -msgid "Insecure permissions of %s (%o)" -msgstr "" +msgid "Domain literal has impossible numeric value.\n" +msgstr "" #: src/lang.c:201 -#, c-format -msgid "Invalid response to GROUP command, %s" -msgstr "" +msgid "Domain literal is for private use only and not allowed for global use.\n" +msgstr "" + +#: src/lang.c:202 +msgid "Right bracket missing in domain literal.\n" +msgstr "" #: src/lang.c:203 -#, c-format -msgid "MIME parse error: Unexpected end of %s/%s article" -msgstr "" +msgid "Missing localpart of mail address.\n" +msgstr "" #: src/lang.c:204 -msgid "MIME parse error: Start boundary whilst reading headers" -msgstr "" +msgid "Illegal character in localpart of mail address.\n" +msgstr "" #: src/lang.c:205 -msgid "Can't get a (fully-qualified) domain-name!" -msgstr "" +msgid "Zero length localpart component not allowed.\n" +msgstr "" #: src/lang.c:206 -#, c-format -msgid "No permissions to go into %s\n" -msgstr "Inga rättigheter att gå in i %s\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" +msgstr "" #: src/lang.c:207 -msgid "\n" - "Error: From: line missing.\n" -msgstr "" +msgid "Illegal character in realname.\n" + "Quoted words may not contain '()<>\\'.\n" +msgstr "" #: src/lang.c:208 -#, c-format -msgid "No read permissions for %s\n" -msgstr "Inga läsrättigheter för %s\n" +msgid "Illegal character in realname.\n" + "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" +msgstr "" #: src/lang.c:209 -#, c-format -msgid "File %s does not exist\n" -msgstr "Filen %s existerar inte\n" +msgid "Bad syntax in encoded word used in realname.\n" +msgstr "" #: src/lang.c:210 -#, c-format -msgid "No write permissions for %s\n" -msgstr "Inga skrivrättigheter för %s\n" +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '()<>\\' in old-style addresses.\n" +msgstr "" #: src/lang.c:211 -msgid "Can't get user information (/etc/passwd missing?)" -msgstr "" +msgid "Illegal character in realname.\n" + "Control characters and unencoded 8bit characters > 127 are not allowed.\n" +msgstr "" #: src/lang.c:212 -msgid "errors" -msgstr "fel" +msgid "\n" + "Error: No blank line found after header.\n" +msgstr "" #: src/lang.c:213 #, c-format -msgid "\n" - "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" -msgstr "" - -#: src/lang.c:214 -#, c-format -msgid "Server has non of the groups listed in %s" -msgstr "" +msgid "\n" + "Error: Illegal formatted %s.\n" +msgstr "" +#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:215 -msgid "error" -msgstr "fel" - -#: src/lang.c:216 -msgid "Unknown display level" -msgstr "" - -#: src/lang.c:217 -msgid "" -msgstr "" - -#: src/lang.c:218 -msgid "Exiting..." -msgstr "Avslutar..." - -#: src/lang.c:219 -msgid "leaving external mail-reader" -msgstr "" +msgid "\n" + "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" + " US-ASCII - please change this setting to a suitable value for\n" + " your language using the M)enu of configurable options or by\n" + " editing tinrc.\n" +msgstr "" #: src/lang.c:220 +msgid "\n" + "Error: Posting contains non-ASCII characters but the MIME encoding\n" + " for news messages is set to \"7bit\" - please change this\n" + " setting to \"8bit\" or \"quoted-printable\" depending on what\n" + " is more common in your part of the world. This can be done\n" + " using the M)enu of configurable options or by editing tinrc.\n" +msgstr "" + +#: src/lang.c:226 +msgid "\n" + "Error: Article starts with blank line instead of header\n" +msgstr "" + +#: src/lang.c:227 #, c-format -msgid "Extracting %s..." -msgstr "extraherar %s..." +msgid "\n" + "Error: Header on line %d does not have a colon after the header name:\n" + "%s\n" +msgstr "" -#: src/lang.c:222 +#: src/lang.c:228 #, c-format -msgid "Error writing %s file. Filesystem full? File reset to previous state." -msgstr "" +msgid "\n" + "Error: The \"%s:\" line is empty.\n" +msgstr "" -#: src/lang.c:223 +#: src/lang.c:229 #, c-format -msgid "Error making backup of %s file. Filesystem full?" -msgstr "" +msgid "\n" + "Error: The \"%s:\" line is missing from the article header.\n" +msgstr "" -#: src/lang.c:224 +#: src/lang.c:230 #, c-format -msgid "Filtering global rules (%d/%d)..." -msgstr "" +msgid "\n" + "Error: %s contains non 7bit chars.\n" +msgstr "" -#: src/lang.c:225 -msgid "Rule created by: " -msgstr "" +#: src/lang.c:231 +#, c-format +msgid "\n" + "Error: Header on line %d does not have a space after the colon:\n" + "%s\n" +msgstr "" -#: src/lang.c:226 +#: src/lang.c:232 #, c-format -msgid "Enter pattern [%s]> " -msgstr "Ange mönster [%s]> " +msgid "\n" + "Error: There are multiple (%d) \"%s:\" lines in the header.\n" +msgstr "" -#: src/lang.c:227 +#: src/lang.c:233 #, c-format -msgid "\n" - "You requested followups to your article to go to the following %s:\n" -msgstr "" +msgid "Insecure permissions of %s (%o)" +msgstr "" -#: src/lang.c:228 +#: src/lang.c:235 #, c-format -msgid " %s\t Answers will be directed to you by mail.\n" -msgstr "" +msgid "Invalid response to GROUP command, %s" +msgstr "" -#: src/lang.c:229 -msgid "-- forwarded message --\n" -msgstr "-- vidarebefordrat meddelande --\n" +#: src/lang.c:240 +#, c-format +msgid "MIME parse error: Unexpected end of %s/%s article" +msgstr "" -#: src/lang.c:230 -#, fuzzy -msgid "-- end of forwarded message --\n" -msgstr "Vidarebefordrat meddelande (slut)\n" +#: src/lang.c:241 +msgid "MIME parse error: Start boundary whilst reading headers" +msgstr "" -#: src/lang.c:231 -msgid "# Format:\n" - "# comment=STRING Optional. Multiple lines allowed. Comments must be " - "placed\n" - "# at the beginning of a rule, or they will be moved to " - "the\n" - "# next rule. '#' is not a valid keyword for a comment!\n" - "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" - "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" - "# score=NUM|STRING Mandatory. Score to give. Either:\n" - "# score=NUM A number (e.g. 70). Or:\n" - "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" - "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" - "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" - "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" - "# full references.\n" - "# msgid_last=STRING Optional. Like above, but with last reference only.\n" - "# msgid_only=STRING Optional. Like above, but without references.\n" - "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " - "without\n" - "# Message-ID:\n" - "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" - "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " - "opt.\n" - "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" - "# time=NUM Optional. time_t value when rule expires\n" - "#\n" -msgstr "" +#: src/lang.c:242 +msgid "\n" + "Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "" -#: src/lang.c:252 +#: src/lang.c:243 +msgid "Can't get a (fully-qualified) domain-name!" +msgstr "" + +#: src/lang.c:244 #, c-format -msgid "Enter score for rule (default=%d): " -msgstr "" +msgid "No permissions to go into %s\n" +msgstr "Inga rättigheter att gå in i %s\n" -#: src/lang.c:253 +#: src/lang.c:246 +msgid "\n" + "Error: From: line missing.\n" +msgstr "" + +#: src/lang.c:248 #, c-format -msgid "Enter the score weight (range 0 < score <= %d)" -msgstr "" +msgid "No read permissions for %s\n" +msgstr "Inga läsrättigheter för %s\n" -#. SCORE_MAX -#: src/lang.c:254 -msgid "Full" -msgstr "Fullständig" +#: src/lang.c:249 +#, c-format +msgid "File %s does not exist\n" +msgstr "Filen %s existerar inte\n" + +#: src/lang.c:250 +#, c-format +msgid "No write permissions for %s\n" +msgstr "Inga skrivrättigheter för %s\n" + +#: src/lang.c:251 +msgid "Can't get user information (/etc/passwd missing?)" +msgstr "" + +#: src/lang.c:252 +msgid "errors" +msgstr "fel" -#: src/lang.c:255 -msgid "Comment (optional) : " -msgstr "Kommentar (valfri) : " +#: src/lang.c:254 +#, c-format +msgid "\n" + "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" +msgstr "" #: src/lang.c:256 -msgid "Apply pattern to : " -msgstr "" +#, c-format +msgid "Server has non of the groups listed in %s" +msgstr "" #: src/lang.c:257 -msgid "From: line (ignore case) " -msgstr "" +msgid "error" +msgstr "fel" #: src/lang.c:258 -msgid "From: line (case sensitive) " -msgstr "" +msgid "Unknown display level" +msgstr "" + +#: src/lang.c:259 +msgid "" +msgstr "" #: src/lang.c:260 -#, c-format -msgid "%s%s: Unknown host.\n" -msgstr "%s%s: Okänd värd.\n" +msgid "Exiting..." +msgstr "Avslutar..." #: src/lang.c:261 -msgid "global " -msgstr "global " +msgid "leaving external mail-reader" +msgstr "" #: src/lang.c:262 #, c-format -msgid "Please use %.100s instead" -msgstr "Vänligen använd %.100s istället" - -#: src/lang.c:263 -#, c-format -msgid "%s is bogus" -msgstr "" +msgid "Extracting %s..." +msgstr "extraherar %s..." #: src/lang.c:264 #, c-format -msgid "Group %s is moderated. Continue?" -msgstr "Grupp %s är modererad. Fortsätta?" +msgid "Error writing %s file. Filesystem full? File reset to previous state." +msgstr "" #: src/lang.c:265 -msgid "groups" -msgstr "grupper" +#, c-format +msgid "Error making backup of %s file. Filesystem full?" +msgstr "" #: src/lang.c:266 #, c-format -msgid "Rereading %s..." -msgstr "Läser om %s..." +msgid "Filtering global rules (%d/%d)..." +msgstr "" #: src/lang.c:267 -msgid "Top Level Commands" -msgstr "Toppnivåkommandon" +msgid "Rule created by: " +msgstr "" #: src/lang.c:268 -msgid "Group Selection" -msgstr "Gruppval" +#, c-format +msgid "Enter pattern [%s]> " +msgstr "Ange mönster [%s]> " #: src/lang.c:269 -msgid "group" -msgstr "grupp" +#, c-format +msgid "\n" + "You requested followups to your article to go to the following %s:\n" +msgstr "" + +#: src/lang.c:270 +#, c-format +msgid " %s\t Answers will be directed to you by mail.\n" +msgstr "" #: src/lang.c:271 -msgid "One or more lines of comment. to add a line or proceed if line is empty." -msgstr "" +msgid "-- forwarded message --\n" +msgstr "-- vidarebefordrat meddelande --\n" #: src/lang.c:272 -msgid "From: line to add to filter file. toggles & sets." -msgstr "" +#, fuzzy +msgid "-- end of forwarded message --\n" +msgstr "Vidarebefordrat meddelande (slut)\n" #: src/lang.c:273 -msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." -msgstr "" - -#: src/lang.c:274 -msgid "Message-ID: line to add to filter file. toggles & sets." -msgstr "" - -#: src/lang.c:275 -msgid "Subject: line to add to filter file. toggles & sets." -msgstr "" - -#: src/lang.c:276 -msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." -msgstr "" - -#: src/lang.c:277 -msgid "Select where text pattern should be applied. toggles & sets." -msgstr "" - -#: src/lang.c:278 -msgid "Expiration time in days for the entered filter. toggles & sets." -msgstr "" - -#: src/lang.c:279 -msgid "Apply kill only to current group or all groups. toggles & sets." -msgstr "" - -#: src/lang.c:280 -msgid "Apply select to current group or all groups. toggles & sets." -msgstr "" - -#: src/lang.c:281 -msgid "kill an article via a menu" -msgstr "" - -#: src/lang.c:282 -msgid "auto-select (hot) an article via a menu" -msgstr "" - -#: src/lang.c:283 -msgid "Browse URLs in article" -msgstr "Bläddra URL:er i artikel" - -#: src/lang.c:284 -msgid "0 - 9\t display article by number in current thread" -msgstr "" - -#: src/lang.c:285 -msgid "cancel (delete) or supersede (overwrite) current article" -msgstr "" - -#: src/lang.c:286 -msgid "edit article (mail-groups only)" -msgstr "" - -#: src/lang.c:287 -msgid "display first article in current thread" -msgstr "" - -#: src/lang.c:288 -msgid "display first page of article" -msgstr "" - -#: src/lang.c:289 -msgid "post followup to current article" -msgstr "" - -#: src/lang.c:290 -msgid "post followup (don't copy text) to current article" -msgstr "" - -#: src/lang.c:291 -msgid "post followup to current article quoting complete headers" -msgstr "" - -#: src/lang.c:292 -msgid "display last article in current thread" -msgstr "" - -#: src/lang.c:293 -msgid "display last page of article" -msgstr "visa sista sidan av artikel" +msgid "# Format:\n" + "# comment=STRING Optional. Multiple lines allowed. Comments must be " + "placed\n" + "# at the beginning of a rule, or they will be moved to " + "the\n" + "# next rule. '#' is not a valid keyword for a comment!\n" + "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" + "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" + "# score=NUM|STRING Mandatory. Score to give. Either:\n" + "# score=NUM A number (e.g. 70). Or:\n" + "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" + "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" + "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" + "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" + "# full references.\n" + "# msgid_last=STRING Optional. Like above, but with last reference only.\n" + "# msgid_only=STRING Optional. Like above, but without references.\n" + "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " + "without\n" + "# Message-ID:\n" + "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" + "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " + "opt.\n" + "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" + "# time=NUM Optional. time_t value when rule expires\n" + "#\n" +msgstr "" #: src/lang.c:294 -msgid "mark rest of thread as read and advance to next unread" -msgstr "" +#, c-format +msgid "Enter score for rule (default=%d): " +msgstr "" #: src/lang.c:295 -msgid "display next article" -msgstr "visa nästa artikel" +#, c-format +msgid "Enter the score weight (range 0 < score <= %d)" +msgstr "" +#. SCORE_MAX #: src/lang.c:296 -msgid "display first article in next thread" -msgstr "visa första artikel i nästa tråd" +msgid "Full" +msgstr "Fullständig" #: src/lang.c:297 -msgid "display next unread article" -msgstr "visa nästa olästa artikel" +msgid "Comment (optional) : " +msgstr "Kommentar (valfri) : " #: src/lang.c:298 -msgid "go to the article that this one followed up" -msgstr "" +msgid "Apply pattern to : " +msgstr "" #: src/lang.c:299 -msgid "display previous article" -msgstr "visa föregående artikel" +msgid "From: line (ignore case) " +msgstr "" #: src/lang.c:300 -msgid "display previous unread article" -msgstr "visa föregående olästa artikel" - -#: src/lang.c:301 -msgid "quickly kill an article using defaults" -msgstr "" +msgid "From: line (case sensitive) " +msgstr "" #: src/lang.c:302 -msgid "quickly auto-select (hot) an article using defaults" -msgstr "" - -#: src/lang.c:303 -msgid "return to group selection level" -msgstr "återgå till gruppvalsnivå" +#, c-format +msgid "%s%s: Unknown host.\n" +msgstr "%s%s: Okänd värd.\n" #: src/lang.c:304 -msgid "reply through mail to author" -msgstr "" +msgid "global " +msgstr "global " #: src/lang.c:305 -msgid "reply through mail (don't copy text) to author" -msgstr "" +#, c-format +msgid "Please use %.100s instead" +msgstr "Vänligen använd %.100s istället" #: src/lang.c:306 -msgid "reply through mail to author quoting complete headers" -msgstr "" +#, c-format +msgid "%s is bogus" +msgstr "" #: src/lang.c:307 -msgid "repost chosen article to another group" -msgstr "" +#, c-format +msgid "Group %s is moderated. Continue?" +msgstr "Grupp %s är modererad. Fortsätta?" #: src/lang.c:308 -msgid "search backwards within this article" -msgstr "" +msgid "groups" +msgstr "grupper" #: src/lang.c:309 -msgid "search forwards within this article" -msgstr "sök framåt inom denna artikel" +#, c-format +msgid "Rereading %s..." +msgstr "Läser om %s..." #: src/lang.c:310 -msgid "show article in raw-mode (including all headers)" -msgstr "" +msgid "Top Level Commands" +msgstr "Toppnivåkommandon" #: src/lang.c:311 -msgid "skip next block of included text" -msgstr "" +msgid "Group Selection" +msgstr "Gruppval" #: src/lang.c:312 -msgid "toggle display of sections hidden by a form-feed (^L) on/off" -msgstr "" - -#: src/lang.c:313 -msgid "toggle word highlighting on/off" -msgstr "" +msgid "group" +msgstr "grupp" #: src/lang.c:314 -msgid "toggle ROT-13 (basic decode) for current article" -msgstr "" +msgid "One or more lines of comment. to add a line or proceed if line is empty." +msgstr "" #: src/lang.c:315 -msgid "toggle tabwidth 4 <-> 8" -msgstr "" +msgid "From: line to add to filter file. toggles & sets." +msgstr "" #: src/lang.c:316 -msgid "toggle german TeX style decoding for current article" -msgstr "" +msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." +msgstr "" #: src/lang.c:317 -msgid "toggle display of uuencoded sections" -msgstr "" +msgid "Message-ID: line to add to filter file. toggles & sets." +msgstr "" #: src/lang.c:318 -msgid "View/save multimedia attachments" -msgstr "" +msgid "Subject: line to add to filter file. toggles & sets." +msgstr "" #: src/lang.c:319 -#, c-format -msgid "report bug or comment via mail to %s" -msgstr "rapportera fel eller kommentar via e-post till %s" +msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." +msgstr "" #: src/lang.c:320 -msgid "choose range of articles to be affected by next command" -msgstr "" +msgid "Select where text pattern should be applied. toggles & sets." +msgstr "" #: src/lang.c:321 -msgid "escape from command prompt" -msgstr "" +msgid "Expiration time in days for the entered filter. toggles & sets." +msgstr "" #: src/lang.c:322 -msgid "edit filter file" -msgstr "redigera filterfil" +msgid "Apply kill only to current group or all groups. toggles & sets." +msgstr "" #: src/lang.c:323 -msgid "get help" -msgstr "få hjälp" +msgid "Apply select to current group or all groups. toggles & sets." +msgstr "" #: src/lang.c:324 -msgid "display last article viewed" -msgstr "" +msgid "kill an article via a menu" +msgstr "" #: src/lang.c:325 -msgid "down one line" -msgstr "en rad ner" +msgid "auto-select (hot) an article via a menu" +msgstr "" #: src/lang.c:326 -msgid "up one line" -msgstr "upp en rad" +msgid "Browse URLs in article" +msgstr "Bläddra URL:er i artikel" #: src/lang.c:327 -msgid "go to article chosen by Message-ID" -msgstr "" - -#: src/lang.c:328 -msgid "mail article/thread/hot/pattern/tagged articles to someone" -msgstr "" +msgid "0 - 9\t display article by number in current thread" +msgstr "" #: src/lang.c:329 -msgid "menu of configurable options" -msgstr "" +msgid "cancel (delete) or supersede (overwrite) current article" +msgstr "" #: src/lang.c:330 -msgid "down one page" -msgstr "ner en sida" +msgid "post followup to current article" +msgstr "" #: src/lang.c:331 -msgid "up one page" -msgstr "upp en sida" +msgid "post followup (don't copy text) to current article" +msgstr "" #: src/lang.c:332 -msgid "post (write) article to current group" -msgstr "" +msgid "post followup to current article quoting complete headers" +msgstr "" #: src/lang.c:333 -msgid "post postponed articles" -msgstr "" - -#: src/lang.c:334 -msgid "list articles posted by you (from posted file)" -msgstr "" +msgid "repost chosen article to another group" +msgstr "" #: src/lang.c:335 -msgid "return to previous menu" -msgstr "återgå till föregående meny" +msgid "edit article (mail-groups only)" +msgstr "" #: src/lang.c:336 -msgid "quit tin immediately" -msgstr "avsluta tin omedelbart" +msgid "display first article in current thread" +msgstr "" #: src/lang.c:337 -msgid "redraw page" -msgstr "rita om sida" +msgid "display first page of article" +msgstr "" #: src/lang.c:338 -msgid "save article/thread/hot/pattern/tagged articles to file" -msgstr "" +msgid "display last article in current thread" +msgstr "" #: src/lang.c:339 -msgid "save marked articles automatically without user prompts" -msgstr "" +msgid "display last page of article" +msgstr "visa sista sidan av artikel" #: src/lang.c:340 -msgid "scroll the screen one line down" -msgstr "" +msgid "mark rest of thread as read and advance to next unread" +msgstr "" #: src/lang.c:341 -msgid "scroll the screen one line up" -msgstr "" +msgid "display next article" +msgstr "visa nästa artikel" #: src/lang.c:342 -msgid "search for articles by author backwards" -msgstr "" +msgid "display first article in next thread" +msgstr "visa första artikel i nästa tråd" #: src/lang.c:343 -msgid "search for articles by author forwards" -msgstr "" +msgid "display next unread article" +msgstr "visa nästa olästa artikel" #: src/lang.c:344 -msgid "search all articles for a given string (this may take some time)" -msgstr "" +msgid "go to the article that this one followed up" +msgstr "" #: src/lang.c:345 -msgid " \t (searches are case-insensitive and wrap around to all articles)" -msgstr "" +msgid "display previous article" +msgstr "visa föregående artikel" #: src/lang.c:346 -msgid "search for articles by Subject line backwards" -msgstr "" +msgid "display previous unread article" +msgstr "visa föregående olästa artikel" #: src/lang.c:347 -msgid "search for articles by Subject line forwards" -msgstr "" +msgid "quickly kill an article using defaults" +msgstr "" #: src/lang.c:348 -msgid "repeat last search" -msgstr "repetera senaste sökning" +msgid "quickly auto-select (hot) an article using defaults" +msgstr "" #: src/lang.c:349 -msgid "tag current article for reposting/mailing/piping/printing/saving" -msgstr "" +msgid "return to group selection level" +msgstr "återgå till gruppvalsnivå" #: src/lang.c:350 -msgid "toggle info message in last line (subject/description)" -msgstr "" +msgid "reply through mail to author" +msgstr "" #: src/lang.c:351 -msgid "toggle inverse video" -msgstr "" +msgid "reply through mail (don't copy text) to author" +msgstr "" #: src/lang.c:352 -msgid "toggle mini help menu display" -msgstr "" +msgid "reply through mail to author quoting complete headers" +msgstr "" #: src/lang.c:353 -msgid "cycle the display of authors email address, real name, both or neither" -msgstr "" +msgid "search backwards within this article" +msgstr "" #: src/lang.c:354 -msgid "show version information" -msgstr "visa versionsinformation" +msgid "search forwards within this article" +msgstr "sök framåt inom denna artikel" #: src/lang.c:355 -msgid "mark all articles as read and return to group selection menu" -msgstr "" +msgid "show article in raw-mode (including all headers)" +msgstr "" #: src/lang.c:356 -msgid "mark all articles as read and enter next group with unread articles" -msgstr "" +msgid "skip next block of included text" +msgstr "" #: src/lang.c:357 -msgid "choose first thread in list" -msgstr "välj första tråd i lista" +msgid "toggle display of sections hidden by a form-feed (^L) on/off" +msgstr "" #: src/lang.c:358 -msgid "choose last thread in list" -msgstr "välj sista tråd i lista" +#, fuzzy +msgid "toggle display of all headers" +msgstr "växla val av tråd" #: src/lang.c:359 -msgid "list articles within current thread (bring up Thread sub-menu)" -msgstr "" +msgid "toggle word highlighting on/off" +msgstr "" #: src/lang.c:360 -msgid "mark article as unread" -msgstr "markera artikel som oläst" +msgid "toggle ROT-13 (basic decode) for current article" +msgstr "" #: src/lang.c:361 -msgid "mark current thread or tagged threads as read" -msgstr "" +msgid "toggle tabwidth 4 <-> 8" +msgstr "" #: src/lang.c:362 -msgid "mark thread as unread" -msgstr "markera tråd som oläst" +msgid "toggle german TeX style decoding for current article" +msgstr "" #: src/lang.c:363 -msgid "toggle display of all/selected articles" -msgstr "" +msgid "toggle display of uuencoded sections" +msgstr "" #: src/lang.c:364 -msgid "display next group" -msgstr "visa nästa grupp" +msgid "View/pipe/save multimedia attachments" +msgstr "" #: src/lang.c:365 -msgid "display previous group" -msgstr "visa föregående grupp" +#, fuzzy +msgid "choose first attachment in list" +msgstr "välj första artikel i lista" #: src/lang.c:366 -msgid "toggle all selections (all articles)" -msgstr "" +#, fuzzy +msgid "0 - 9\t choose attachment by number" +msgstr "0 - 9\t välj artikel efter nummer" #: src/lang.c:367 -msgid "select group (make \"hot\")" -msgstr "välj grupp (gör \"het\")" - -#: src/lang.c:368 -msgid "select thread" -msgstr "välj tråd" +#, fuzzy +msgid "choose last attachment in list" +msgstr "välj sista artikel i lista" #: src/lang.c:369 -msgid "select threads if at least one unread article is selected" -msgstr "" +msgid "pipe attachment into command" +msgstr "" #: src/lang.c:370 -msgid "select threads that match user specified pattern" -msgstr "" - -#: src/lang.c:371 -msgid "tag all parts of current multipart-message in order" -msgstr "" +#, fuzzy +msgid "pipe raw attachment into command" +msgstr "Toppnivåkommandon" #: src/lang.c:372 -msgid "0 - 9\t choose thread by number" -msgstr "0 - 9\t välj tråd efter nummer" +msgid "save attachment to disk" +msgstr "" #: src/lang.c:373 -msgid "toggle limit number of articles to get, and reload" -msgstr "" +msgid "search for attachments forwards" +msgstr "" #: src/lang.c:374 -msgid "toggle display of all/unread articles" -msgstr "" +#, fuzzy +msgid "search for attachments backwards" +msgstr "%s=sök framåt; %s=sök bakåt; %s=avsluta" #: src/lang.c:375 -msgid "toggle selection of thread" -msgstr "växla val av tråd" +msgid "view attachment" +msgstr "" #: src/lang.c:376 -msgid "cycle through threading options available" -msgstr "" +#, fuzzy +msgid "tag attachment" +msgstr "Välj artikel> " #: src/lang.c:377 -msgid "undo all selections (all articles)" -msgstr "" +msgid "tag attachments that match user specified pattern" +msgstr "" #: src/lang.c:378 -msgid "untag all tagged threads" -msgstr "" +msgid "reverse tagging on all attachments (toggle)" +msgstr "" #: src/lang.c:379 -msgid "mark all articles in group as read" -msgstr "" +#, fuzzy +msgid "untag all tagged attachments" +msgstr "Välj artikel> " #: src/lang.c:380 -msgid "mark all articles in group as read and move to next unread group" -msgstr "" +msgid "toggle info message in last line (name/description of attachment)" +msgstr "" #: src/lang.c:381 -msgid "choose first group in list" -msgstr "välj första grupp i lista" +#, fuzzy +msgid "choose first attribute in list" +msgstr "välj första artikel i lista" #: src/lang.c:382 -msgid "choose group by name" -msgstr "välj grupp efter namn" +#, fuzzy +msgid "0 - 9\t choose attribute by number" +msgstr "0 - 9\t välj artikel efter nummer" #: src/lang.c:383 -msgid "0 - 9\t choose group by number" -msgstr "0 - 9\t välj grupp efter nummer" +#, fuzzy +msgid "choose last attribute in list" +msgstr "välj sista artikel i lista" #: src/lang.c:384 -msgid "choose range of groups to be affected by next command" -msgstr "" +msgid "reset attribute to a default value" +msgstr "" #: src/lang.c:385 -msgid "choose last group in list" -msgstr "välj sista grupp i lista" +#, fuzzy +msgid "search forwards for an attribute" +msgstr "sök framåt efter ett gruppnamn" #: src/lang.c:386 -msgid "mark all articles in chosen group unread" -msgstr "" +#, fuzzy +msgid "search backwards for an attribute" +msgstr "sök framåt efter ett gruppnamn" #: src/lang.c:387 -msgid "move chosen group within list" -msgstr "" +#, fuzzy +msgid "select attribute" +msgstr "välj tråd" #: src/lang.c:388 -msgid "choose next group with unread news" -msgstr "" +msgid "toggle back to options menu when invoked from there" +msgstr "" -#: src/lang.c:389 src/lang.c:1197 -msgid "quit" -msgstr "avsluta" +#: src/lang.c:389 +#, c-format +msgid "report bug or comment via mail to %s" +msgstr "rapportera fel eller kommentar via e-post till %s" #: src/lang.c:390 -msgid "quit without saving configuration changes" -msgstr "avsluta utan att spara konfigurationsändringar" +#, fuzzy +msgid "choose first option in list" +msgstr "välj första grupp i lista" #: src/lang.c:391 -msgid "read chosen group" -msgstr "läs vald grupp" +#, fuzzy +msgid "0 - 9\t choose option by number" +msgstr "0 - 9\t välj grupp efter nummer" #: src/lang.c:392 -msgid "reset .newsrc (all available articles in groups marked unread)" -msgstr "" +#, fuzzy +msgid "choose last option in list" +msgstr "välj sista grupp i lista" #: src/lang.c:393 -msgid "search backwards for a group name" -msgstr "" +#, fuzzy +msgid "start scopes menu" +msgstr "återgå till föregående meny" #: src/lang.c:394 -msgid " \t (all searches are case-insensitive and wrap around)" -msgstr "" +#, fuzzy +msgid "search forwards for an option" +msgstr "sök framåt efter ett gruppnamn" #: src/lang.c:395 -msgid "search forwards for a group name" -msgstr "sök framåt efter ett gruppnamn" +#, fuzzy +msgid "search backwards for an option" +msgstr "sök framåt efter ett gruppnamn" #: src/lang.c:396 -msgid "subscribe to chosen group" -msgstr "prenumerera på vald grupp" +#, fuzzy +msgid "select option" +msgstr "välj" #: src/lang.c:397 -msgid "subscribe to groups that match pattern" -msgstr "" +msgid "toggle to attributes menu" +msgstr "" #: src/lang.c:398 -msgid "reread active file to check for any new news" -msgstr "" +msgid "choose range of articles to be affected by next command" +msgstr "" #: src/lang.c:399 -msgid "toggle display of group name only or group name plus description" -msgstr "" +msgid "escape from command prompt" +msgstr "" #: src/lang.c:400 -msgid "toggle display to show all/unread subscribed groups" -msgstr "" +msgid "edit filter file" +msgstr "redigera filterfil" #: src/lang.c:401 -msgid "unsubscribe from chosen group" -msgstr "säg upp prenumeration av vald grupp" +msgid "get help" +msgstr "få hjälp" #: src/lang.c:402 -msgid "unsubscribe from groups that match pattern" -msgstr "säg upp prenumeration av grupper som matchar mönster" +msgid "display last article viewed" +msgstr "" #: src/lang.c:403 -msgid "sort the list of groups" -msgstr "sortera listan av grupper" +msgid "down one line" +msgstr "en rad ner" #: src/lang.c:404 -msgid "toggle display to show all/subscribed groups" -msgstr "" +msgid "up one line" +msgstr "upp en rad" #: src/lang.c:405 -msgid "0 - 9\t choose article by number" -msgstr "0 - 9\t välj artikel efter nummer" +msgid "go to article chosen by Message-ID" +msgstr "" #: src/lang.c:406 -msgid "mark thread as read and return to group index page" -msgstr "" +msgid "mail article/thread/hot/pattern/tagged articles to someone" +msgstr "" #: src/lang.c:407 -msgid "mark thread as read and enter next unread thread or group" -msgstr "" +msgid "menu of configurable options" +msgstr "" #: src/lang.c:408 -msgid "choose first article in list" -msgstr "välj första artikel i lista" +msgid "down one page" +msgstr "ner en sida" #: src/lang.c:409 -msgid "choose last article in list" -msgstr "välj sista artikel i lista" - -#: src/lang.c:410 -msgid "mark article or tagged articles as read and move cursor to next unread article" -msgstr "" +msgid "up one page" +msgstr "upp en sida" #: src/lang.c:411 -msgid "read chosen article" -msgstr "läs vald artikel" +msgid "post (write) article to current group" +msgstr "" #: src/lang.c:412 -msgid "Display properties\n" - "------------------" -msgstr "Visa egenskaper\n" - "---------------" - -#: src/lang.c:413 -msgid "Miscellaneous\n" - "-------------" -msgstr "Diverse\n" - "-------" +msgid "post postponed articles" +msgstr "" #: src/lang.c:414 -msgid "Moving around\n" - "-------------" -msgstr "Flytta runt\n" - "-----------" +msgid "list articles posted by you (from posted file)" +msgstr "" #: src/lang.c:415 -msgid "Group/thread/article operations\n" - "-------------------------------" -msgstr "Operationer för grupp/tråd/artikel\n" - "----------------------------------" +msgid "return to previous menu" +msgstr "återgå till föregående meny" + +#: src/lang.c:416 +msgid "quit tin immediately" +msgstr "avsluta tin omedelbart" #: src/lang.c:417 -msgid "Group Level Commands" -msgstr "Gruppnivåkommandon" +msgid "redraw page" +msgstr "rita om sida" #: src/lang.c:418 -msgid "Kill filter added" -msgstr "" +msgid "save article/thread/hot/pattern/tagged articles to file" +msgstr "" #: src/lang.c:419 -msgid "Auto-selection filter added" -msgstr "" +msgid "save marked articles automatically without user prompts" +msgstr "" #: src/lang.c:420 -msgid "All parts tagged" -msgstr "" +msgid "scroll the screen one line down" +msgstr "" #: src/lang.c:421 -msgid "Storing article for later posting" -msgstr "" +msgid "scroll the screen one line up" +msgstr "" #: src/lang.c:422 -msgid "Please enter a valid character" -msgstr "Vänligen ange ett giltigt tecken" +msgid "search for articles by author backwards" +msgstr "" #: src/lang.c:423 -#, c-format -msgid "Missing part #%d" -msgstr "" +msgid "search for articles by author forwards" +msgstr "" #: src/lang.c:424 -msgid "*** No postponed articles ***" -msgstr "*** Inga uppskjutna artiklar ***" +msgid "search all articles for a given string (this may take some time)" +msgstr "" #: src/lang.c:425 -msgid "Not a multi-part message" -msgstr "" +msgid " \t (searches are case-insensitive and wrap around to all articles)" +msgstr "" #: src/lang.c:426 -msgid "You are not subscribed to this group" -msgstr "Du är inte prenumerant av denna grupp" +msgid "search for articles by Subject line backwards" +msgstr "" #: src/lang.c:427 -msgid "No previous expression" -msgstr "Inget tidigare uttryck" +msgid "search for articles by Subject line forwards" +msgstr "" #: src/lang.c:428 -msgid "Operation disabled in no-overwrite mode" -msgstr "" +msgid "repeat last search" +msgstr "repetera senaste sökning" + +#: src/lang.c:429 +msgid "tag current article for reposting/mailing/piping/printing/saving" +msgstr "" -#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:430 -#, c-format -msgid "%d postponed %s, reuse with ^O...\n" -msgstr "" +msgid "toggle info message in last line (subject/description)" +msgstr "" #: src/lang.c:431 -msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" - " To get the whole article, turn alternative handling OFF in the Option Menu\n" -msgstr "" +msgid "toggle inverse video" +msgstr "" + +#: src/lang.c:432 +msgid "toggle mini help menu display" +msgstr "" #: src/lang.c:433 -#, c-format -msgid "Save filename for %s/%s is a mailbox. Attachment not saved" -msgstr "" +msgid "cycle the display of authors email address, real name, both or neither" +msgstr "" #: src/lang.c:434 -msgid "TeX2Iso encoded article" -msgstr "" +msgid "show version information" +msgstr "visa versionsinformation" #: src/lang.c:435 -msgid "incomplete " -msgstr "ej komplett " +msgid "mark all articles as read and return to group selection menu" +msgstr "" + +#: src/lang.c:436 +msgid "mark all articles as read and enter next group with unread articles" +msgstr "" -#. TODO: replace hardcoded key-names #: src/lang.c:437 -#, c-format -msgid "\n" - "Welcome to %s, a full screen threaded Netnews reader. It can read news " - "locally\n" - "(ie. /news) or remotely (-r option) from a NNTP (Network News " - "Transport\n" - "Protocol) server. -h lists the available command line options.\n" - "\n" - "%s has four newsreading levels, the newsgroup selection page, the group " - "index\n" - "page, the thread listing page and the article viewer. Help is available at " - "each\n" - "level by pressing the 'h' command.\n" - "\n" - "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " - "or\n" - "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" - "\n" - "Articles, threads, tagged articles or articles matching a pattern can be " - "mailed\n" - "('m' command), printed ('o' command), saved ('s' command), piped ('|' " - "command).\n" - "Use the 'w' command to post a news article, the 'f'/'F' commands to post " - "a\n" - "follow-up to an existing news article and the 'r'/'R' commands to reply " - "via\n" - "mail to an existing news article author. The 'M' command allows the " - "operation\n" - "of %s to be configured via a menu.\n" - "\n" - "For more information read the manual page, README, INSTALL, TODO and FTP " - "files.\n" - "Please send bug-reports/comments to %s with the 'R' command.\n" -msgstr "" +msgid "choose first thread in list" +msgstr "välj första tråd i lista" + +#: src/lang.c:438 +msgid "choose last thread in list" +msgstr "välj sista tråd i lista" + +#: src/lang.c:439 +msgid "list articles within current thread (bring up Thread sub-menu)" +msgstr "" + +#: src/lang.c:440 +msgid "mark article as unread" +msgstr "markera artikel som oläst" + +#: src/lang.c:441 +msgid "mark current thread, range or tagged threads as read" +msgstr "" + +#: src/lang.c:442 +msgid "mark current thread, range or tagged threads as unread" +msgstr "" + +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "" + +#: src/lang.c:445 +msgid "toggle display of all/selected articles" +msgstr "" + +#: src/lang.c:446 +msgid "display next group" +msgstr "visa nästa grupp" + +#: src/lang.c:447 +msgid "display previous group" +msgstr "visa föregående grupp" + +#: src/lang.c:448 +msgid "toggle all selections (all articles)" +msgstr "" + +#: src/lang.c:449 +msgid "select group (make \"hot\")" +msgstr "välj grupp (gör \"het\")" + +#: src/lang.c:450 +msgid "select thread" +msgstr "välj tråd" + +#: src/lang.c:451 +msgid "select threads if at least one unread article is selected" +msgstr "" + +#: src/lang.c:452 +msgid "select threads that match user specified pattern" +msgstr "" #: src/lang.c:453 -#, c-format -msgid "Invalid From: %s line. Read the INSTALL file again." -msgstr "" +msgid "tag all parts of current multipart-message in order" +msgstr "" + +#: src/lang.c:454 +msgid "0 - 9\t choose thread by number" +msgstr "0 - 9\t välj tråd efter nummer" #: src/lang.c:455 -msgid "Invalid multibyte sequence found\n" -msgstr "" +msgid "toggle limit number of articles to get, and reload" +msgstr "" + +#: src/lang.c:456 +msgid "toggle display of all/unread articles" +msgstr "" #: src/lang.c:457 -#, c-format -msgid "Invalid Sender:-header %s" -msgstr "" +msgid "toggle selection of thread" +msgstr "växla val av tråd" #: src/lang.c:458 -msgid "Inverse video disabled" -msgstr "" +msgid "cycle through threading options available" +msgstr "" #: src/lang.c:459 -msgid "Inverse video enabled" -msgstr "" +msgid "undo all selections (all articles)" +msgstr "" + +#: src/lang.c:460 +msgid "untag all tagged threads" +msgstr "" #: src/lang.c:461 -#, c-format -msgid "Missing definition for %s\n" -msgstr "" +msgid "add new scope" +msgstr "" #: src/lang.c:462 -#, c-format -msgid "Invalid key definition '%s'\n" -msgstr "" +msgid "delete scope" +msgstr "" #: src/lang.c:463 -#, c-format -msgid "Invalid keyname '%s'\n" -msgstr "" +#, fuzzy +msgid "edit attributes file" +msgstr "Skriver attributfil..." #: src/lang.c:464 -#, c-format -msgid "Keymap file was upgraded to version %s\n" -msgstr "" +#, fuzzy +msgid "choose first scope in list" +msgstr "välj första grupp i lista" #: src/lang.c:465 -#, c-format -msgid "Kill From: [%s] (y/n): " -msgstr "" +#, fuzzy +msgid "0 - 9\t choose scope by number" +msgstr "0 - 9\t välj grupp efter nummer" #: src/lang.c:466 -msgid "Kill Lines: (num): " -msgstr "" +#, fuzzy +msgid "choose last scope in list" +msgstr "välj sista grupp i lista" #: src/lang.c:467 -msgid "Kill Article Menu" -msgstr "" +msgid "move scope" +msgstr "" #: src/lang.c:468 -#, c-format -msgid "Kill Msg-Id: [%s] (f/l/o/n): " -msgstr "" +msgid "rename scope" +msgstr "" #: src/lang.c:469 -msgid "Kill pattern scope : " -msgstr "" +#, fuzzy +msgid "select scope" +msgstr "välj" #: src/lang.c:470 -#, c-format -msgid "Kill Subject: [%s] (y/n): " -msgstr "" +msgid "mark all articles in group as read" +msgstr "" #: src/lang.c:471 -msgid "Kill text pattern : " -msgstr "" +msgid "mark all articles in group as read and move to next unread group" +msgstr "" #: src/lang.c:472 -msgid "Kill time in days : " -msgstr "" +msgid "choose first group in list" +msgstr "välj första grupp i lista" + +#: src/lang.c:473 +msgid "choose group by name" +msgstr "välj grupp efter namn" #: src/lang.c:474 -msgid "Last" -msgstr "Sista" +msgid "0 - 9\t choose group by number" +msgstr "0 - 9\t välj grupp efter nummer" #: src/lang.c:475 -msgid "-- Last response --" -msgstr "-- Sista svaret --" +msgid "choose range of groups to be affected by next command" +msgstr "" #: src/lang.c:476 -#, c-format -msgid "Lines %s " -msgstr "Rader %s " +msgid "choose last group in list" +msgstr "välj sista grupp i lista" + +#: src/lang.c:477 +msgid "mark all articles in chosen group unread" +msgstr "" #: src/lang.c:478 -msgid "Message-ID: line " -msgstr "" +msgid "move chosen group within list" +msgstr "" #: src/lang.c:479 -msgid "Mail" -msgstr "Post" +msgid "choose next group with unread news" +msgstr "" -#: src/lang.c:480 -msgid "mailbox " -msgstr "postlåda " +#: src/lang.c:480 src/lang.c:1351 +msgid "quit" +msgstr "avsluta" #: src/lang.c:481 -#, c-format -msgid "Mail article(s) to [%.*s]> " -msgstr "Skicka artikel(ar) till [%.*s]> " +msgid "quit without saving configuration changes" +msgstr "avsluta utan att spara konfigurationsändringar" #: src/lang.c:482 -#, c-format -msgid "Mailing log to %s\n" -msgstr "Skickar logg till %s\n" +msgid "read chosen group" +msgstr "läs vald grupp" #: src/lang.c:483 -msgid "Mail bug report..." -msgstr "" +msgid "reset .newsrc (all available articles in groups marked unread)" +msgstr "" #: src/lang.c:484 -#, c-format -msgid "Mail BUG REPORT to %s?" -msgstr "Skicka FELRAPPORT till %s?" +msgid "search backwards for a group name" +msgstr "" #: src/lang.c:485 -msgid "Mailed" -msgstr "Skickad" +msgid " \t (all searches are case-insensitive and wrap around)" +msgstr "" #: src/lang.c:486 -#, c-format -msgid "Mailing to %s..." -msgstr "Skickar till %s..." +msgid "search forwards for a group name" +msgstr "sök framåt efter ett gruppnamn" #: src/lang.c:487 -msgid "# [Mail/Save] active file. Format is like news active file:\n" - "# groupname max.artnum min.artnum /dir\n" - "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" - "#\n" -msgstr "" +msgid "subscribe to chosen group" +msgstr "prenumerera på vald grupp" + +#: src/lang.c:488 +msgid "subscribe to groups that match pattern" +msgstr "" + +#: src/lang.c:489 +msgid "reread active file to check for any new news" +msgstr "" #: src/lang.c:490 -#, c-format -msgid "%s marked as unread" -msgstr "%s markerad som oläst" +msgid "toggle display of group name only or group name plus description" +msgstr "" #: src/lang.c:491 -#, c-format -msgid "Marked %d of %d tagged %s as read" -msgstr "" +msgid "toggle display to show all/unread subscribed groups" +msgstr "" #: src/lang.c:492 -#, c-format -msgid "Mark all articles as read%s?" -msgstr "Markera alla artiklar som lästa%s?" +msgid "unsubscribe from chosen group" +msgstr "säg upp prenumeration av vald grupp" #: src/lang.c:493 -#, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " -msgstr "" +msgid "unsubscribe from groups that match pattern" +msgstr "säg upp prenumeration av grupper som matchar mönster" #: src/lang.c:494 -#, c-format -msgid "Mark group %s as read?" -msgstr "Markera grupp %s som läst?" +msgid "sort the list of groups" +msgstr "sortera listan av grupper" #: src/lang.c:495 -#, c-format -msgid "Mark thread as read%s?" -msgstr "Markera tråd som läst%s?" +msgid "toggle display to show all/subscribed groups" +msgstr "" #: src/lang.c:496 -#, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " -msgstr "" +msgid "0 - 9\t choose article by number" +msgstr "0 - 9\t välj artikel efter nummer" #: src/lang.c:497 -#, c-format -msgid "Matching %s groups..." -msgstr "Matchar %s grupper..." +msgid "mark thread as read and return to group index page" +msgstr "" -#: src/lang.c:498 src/lang.c:502 -#, c-format -msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" -msgstr "=sätt nuvarande till n; %s=nästa olästa; %s=sökmönster; %s=döda/välj" +#: src/lang.c:498 +msgid "mark thread as read and enter next unread thread or group" +msgstr "" #: src/lang.c:499 -#, c-format -msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " - "thread" -msgstr "" +msgid "choose first article in list" +msgstr "välj första artikel i lista" #: src/lang.c:500 -#, c-format -msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" -msgstr "%s=rad upp; %s=rad ner; %s=sida upp; %s=sida ned; %s=topp; %s=botten" +msgid "choose last article in list" +msgstr "välj sista artikel i lista" #: src/lang.c:501 -#, c-format -msgid "%s=search forwards; %s=search backwards; %s=quit" -msgstr "%s=sök framåt; %s=sök bakåt; %s=avsluta" +msgid "mark art, range or tagged arts as read; move crsr to next unread art" +msgstr "" + +#: src/lang.c:502 +#, fuzzy +msgid "mark article, range or tagged articles as unread" +msgstr "markera artikel som oläst" #: src/lang.c:503 -#, c-format -msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" -msgstr "" +#, fuzzy +msgid "mark current thread as unread" +msgstr "markera tråd som oläst" #: src/lang.c:504 -#, c-format -msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" -msgstr "" +msgid "read chosen article" +msgstr "läs vald artikel" #: src/lang.c:505 -#, c-format -msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" -msgstr "%s=rad ner; %s=rad upp; %s=hjälp; %s=flytta; %s=avsluta; %s=växla alla/olästa" +msgid "Display properties\n" + "------------------" +msgstr "Visa egenskaper\n" + "---------------" #: src/lang.c:506 -#, c-format -msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" -msgstr "" +msgid "Miscellaneous\n" + "-------------" +msgstr "Diverse\n" + "-------" #: src/lang.c:507 -#, c-format -msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" -msgstr "" +msgid "Moving around\n" + "-------------" +msgstr "Flytta runt\n" + "-----------" #: src/lang.c:508 -#, c-format -msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" -msgstr "%s=hjälp; %s=rad ner; %s=rad upp; %s=avsluta; %s=märk; %s=markera oläst" +msgid "Group/thread/article operations\n" + "-------------------------------" +msgstr "Operationer för grupp/tråd/artikel\n" + "----------------------------------" #: src/lang.c:509 -msgid "--More--" -msgstr "--Mer--" +#, fuzzy +msgid "Attachment operations\n" + "---------------------" +msgstr "Visa egenskaper\n" + "---------------" #: src/lang.c:510 -#, c-format -msgid "Moving %s..." -msgstr "Flyttar %s..." +#, fuzzy +msgid "Attribute operations\n" + "--------------------" +msgstr "Visa egenskaper\n" + "---------------" + +#: src/lang.c:511 +#, fuzzy +msgid "Option operations\n" + "-----------------" +msgstr "Visa egenskaper\n" + "---------------" #: src/lang.c:512 -msgid ", name: " -msgstr ", namn: " +#, fuzzy +msgid "Scope operations\n" + "----------------" +msgstr "Visa egenskaper\n" + "---------------" #: src/lang.c:513 -#, c-format -msgid "Goto newsgroup [%s]> " -msgstr "Gå till diskussionsgrupp [%s]> " +#, fuzzy +msgid "URL operations\n" + "--------------" +msgstr "Visa egenskaper\n" + "---------------" #: src/lang.c:514 -msgid "newsgroups" -msgstr "diskussionsgrupper" +#, fuzzy +msgid "choose first URL in list" +msgstr "välj första grupp i lista" #: src/lang.c:515 -#, c-format -msgid "Position %s in group list (1,2,..,$) [%d]> " -msgstr "" +#, fuzzy +msgid "0 - 9\t choose URL by number" +msgstr "0 - 9\t välj grupp efter nummer" #: src/lang.c:516 -msgid "newsgroup" -msgstr "diskussionsgrupp" +#, fuzzy +msgid "choose last URL in list" +msgstr "välj sista grupp i lista" #: src/lang.c:517 -msgid "Try and save newsrc file again?" -msgstr "Försöka att spara filen newsrc igen?" +#, fuzzy +msgid "search for URLs forwards" +msgstr "Sök framåt [%s]> " #: src/lang.c:518 -msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." -msgstr "" +#, fuzzy +msgid "search for URLs backwards" +msgstr "Sök bakåt [%s]> " #: src/lang.c:519 -msgid "newsrc file saved successfully.\n" -msgstr "" +msgid "Open URL in browser" +msgstr "" #: src/lang.c:520 -msgid "-- Next response --" -msgstr "-- Nästa svar --" - -#: src/lang.c:521 -#, c-format -msgid "NNTP authorization password not found for %s" -msgstr "" +msgid "toggle info message in last line (URL)" +msgstr "" #: src/lang.c:522 -msgid "No " -msgstr "Nej " +msgid "Group Level Commands" +msgstr "Gruppnivåkommandon" #: src/lang.c:523 -msgid "*** No articles ***" -msgstr "*** Inga artiklar ***" +msgid "Kill filter added" +msgstr "" #: src/lang.c:524 -msgid "No articles have been posted" -msgstr "Inga artiklar har postats" +msgid "Auto-selection filter added" +msgstr "" #: src/lang.c:525 -msgid "*** No description ***" -msgstr "*** Ingen beskrivning ***" +msgid "All parts tagged" +msgstr "" #: src/lang.c:526 -msgid "No filename" -msgstr "Inget filnamn" +msgid "Storing article for later posting" +msgstr "" #: src/lang.c:527 -msgid "No group" -msgstr "Ingen grupp" +msgid "Please enter a valid character" +msgstr "Vänligen ange ett giltigt tecken" #: src/lang.c:528 -msgid "*** No groups ***" -msgstr "*** Inga grupper ***" +#, c-format +msgid "Missing part #%d" +msgstr "" #: src/lang.c:529 -msgid "No more groups to read" -msgstr "Inga fler grupper att läsa" +msgid "*** No postponed articles ***" +msgstr "*** Inga uppskjutna artiklar ***" #: src/lang.c:530 -msgid "No last message" -msgstr "Inget sista meddelande" +msgid "Not a multi-part message" +msgstr "" #: src/lang.c:531 -msgid "No mail address" -msgstr "Ingen e-postadress" +msgid "You are not subscribed to this group" +msgstr "Du är inte prenumerant av denna grupp" #: src/lang.c:532 -msgid "No articles marked for saving" -msgstr "" +msgid "No previous expression" +msgstr "Inget tidigare uttryck" #: src/lang.c:533 -msgid "No match" -msgstr "Ingen match" - -#: src/lang.c:534 -msgid "No more groups" -msgstr "Inga fler grupper" +msgid "Operation disabled in no-overwrite mode" +msgstr "" +#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:535 -msgid "No newsgroups" -msgstr "Inga diskussionsgrupper" +#, c-format +msgid "%d postponed %s, reuse with ^O...\n" +msgstr "" #: src/lang.c:536 -msgid "No next unread article" -msgstr "Slut på olästa artiklar" - -#: src/lang.c:537 -msgid "No previous group" -msgstr "Ingen föregående grupp" +msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" + " To get the whole article, turn alternative handling OFF in the Option Menu\n" +msgstr "" #: src/lang.c:538 -msgid "No previous unread article" -msgstr "Ingen föregående oläst artikel" +#, c-format +msgid "Save filename for %s/%s is a mailbox. Attachment not saved" +msgstr "" #: src/lang.c:539 -msgid "No responses" -msgstr "Inga svar" +msgid "TeX2Iso encoded article" +msgstr "" #: src/lang.c:540 -msgid "No responses to list in current thread" -msgstr "" - -#: src/lang.c:541 -msgid "No search string" -msgstr "Ingen söksträng" +msgid "incomplete " +msgstr "ej komplett " +#. TODO: replace hardcoded key-names #: src/lang.c:542 -msgid "No subject" -msgstr "Inget ämne" - -#: src/lang.c:544 -#, c-format -msgid "%s: Terminal must have clear to end-of-line (ce)\n" -msgstr "" - -#: src/lang.c:545 #, c-format -msgid "%s: Terminal must have clear to end-of-screen (cd)\n" -msgstr "" - -#: src/lang.c:546 -#, c-format -msgid "%s: Terminal must have clearscreen (cl) capability\n" -msgstr "" - -#: src/lang.c:547 -#, c-format -msgid "%s: Terminal must have cursor motion (cm)\n" -msgstr "" - -#: src/lang.c:548 -#, c-format -msgid "%s: TERM variable must be set to use screen capabilities\n" -msgstr "" - -#: src/lang.c:550 -#, c-format -msgid "No viewer found for %s/%s\n" -msgstr "" - -#: src/lang.c:551 -msgid "Newsgroup does not exist on this server" -msgstr "" - -#: src/lang.c:552 -#, c-format -msgid "Group %s not found in active file" -msgstr "" - -#: src/lang.c:553 -msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "" - -#: src/lang.c:554 -msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "" - -#: src/lang.c:555 -#, c-format -msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" - "# shortname list for %s %s\n" - "#\n" - "# the format of this file is\n" - "# ...\n" - "#\n" - "# if is given without path, $HOME is assumed as its location\n" - "#\n" - "# examples:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" -msgstr "" - -#: src/lang.c:562 -msgid "Only" -msgstr "Endast" +msgid "\n" + "Welcome to %s, a full screen threaded Netnews reader. It can read news " + "locally\n" + "(ie. /news) or remotely (-r option) from a NNTP (Network News " + "Transport\n" + "Protocol) server. -h lists the available command line options.\n" + "\n" + "%s has four newsreading levels, the newsgroup selection page, the group " + "index\n" + "page, the thread listing page and the article viewer. Help is available at " + "each\n" + "level by pressing the 'h' command.\n" + "\n" + "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " + "or\n" + "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" + "\n" + "Articles, threads, tagged articles or articles matching a pattern can be " + "mailed\n" + "('m' command), printed ('o' command), saved ('s' command), piped ('|' " + "command).\n" + "Use the 'w' command to post a news article, the 'f'/'F' commands to post " + "a\n" + "follow-up to an existing news article and the 'r'/'R' commands to reply " + "via\n" + "mail to an existing news article author. The 'M' command allows the " + "operation\n" + "of %s to be configured via a menu.\n" + "\n" + "For more information read the manual page, README, INSTALL, TODO and FTP " + "files.\n" + "Please send bug-reports/comments to %s with the 'R' command.\n" +msgstr "" + +#: src/lang.c:558 +#, c-format +msgid "Invalid From: %s line. Read the INSTALL file again." +msgstr "" + +#: src/lang.c:560 +msgid "Invalid multibyte sequence found\n" +msgstr "" #: src/lang.c:563 #, c-format -msgid "Option not enabled. Recompile with %s." -msgstr "Flagga inte aktiverad. Bygg om med %s." +msgid "Invalid Sender:-header %s" +msgstr "" -#: src/lang.c:564 -msgid "Options Menu" -msgstr "Alternativmenyn" - -#: src/lang.c:567 -#, c-format -msgid "Error in regex: %s at pos. %d '%s'" -msgstr "" +#: src/lang.c:565 +msgid "Inverse video disabled" +msgstr "" + +#: src/lang.c:566 +msgid "Inverse video enabled" +msgstr "" #: src/lang.c:568 #, c-format -msgid "Error in regex: pcre internal error %d" -msgstr "" +msgid "Missing definition for %s\n" +msgstr "" #: src/lang.c:569 #, c-format -msgid "Error in regex: study - pcre internal error %s" -msgstr "" +msgid "Invalid key definition '%s'\n" +msgstr "" #: src/lang.c:570 -msgid "Post a followup..." -msgstr "Posta en uppföljning..." +#, c-format +msgid "Invalid keyname '%s'\n" +msgstr "" + +#: src/lang.c:571 +#, c-format +msgid "Keymap file was upgraded to version %s\n" +msgstr "" -#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone #: src/lang.c:572 -msgid "An error has occurred while posting the article. If you think that this\n" - "error is temporary or otherwise correctable, you can postpone the article\n" - "and pick it up again with ^O later.\n" -msgstr "" +#, c-format +msgid "Kill From: [%s] (y/n): " +msgstr "" + +#: src/lang.c:573 +msgid "Kill Lines: (num): " +msgstr "" + +#: src/lang.c:574 +msgid "Kill Article Menu" +msgstr "" #: src/lang.c:575 -msgid "Posted articles history" -msgstr "" +#, c-format +msgid "Kill Msg-Id: [%s] (f/l/o/n): " +msgstr "" #: src/lang.c:576 -#, c-format -msgid "Post to newsgroup(s) [%s]> " -msgstr "Posta till diskussionsgrupp(er) [%s]> " +msgid "Kill pattern scope : " +msgstr "" #: src/lang.c:577 -msgid "-- post processing started --" -msgstr "" +#, c-format +msgid "Kill Subject: [%s] (y/n): " +msgstr "" #: src/lang.c:578 -msgid "-- post processing completed --" -msgstr "" +msgid "Kill text pattern : " +msgstr "" #: src/lang.c:579 -#, c-format -msgid "Post subject [%s]> " -msgstr "" - -#: src/lang.c:580 -msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" -msgstr "" +msgid "Kill time in days : " +msgstr "" #: src/lang.c:581 -msgid "Posting article..." -msgstr "Postar artikel..." +msgid "Last" +msgstr "Sista" #: src/lang.c:582 -#, c-format -msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " -msgstr "" +msgid "-- Last response --" +msgstr "-- Sista svaret --" #: src/lang.c:583 #, c-format -msgid "Hot %s" -msgstr "Hetta %s" - -#: src/lang.c:584 -#, c-format -msgid "Tagged %s" -msgstr "Märkt %s" +msgid "Lines %s " +msgstr "Rader %s " #: src/lang.c:585 -#, c-format -msgid "Untagged %s" -msgstr "" +msgid "Mail" +msgstr "Post" #: src/lang.c:586 -msgid "Processing mail messages marked for deletion." -msgstr "" +msgid "mailbox " +msgstr "postlåda " #: src/lang.c:587 -msgid "Processing saved articles marked for deletion." -msgstr "" +#, c-format +msgid "Mail article(s) to [%.*s]> " +msgstr "Skicka artikel(ar) till [%.*s]> " #: src/lang.c:588 #, c-format -msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " -msgstr "" +msgid "Mailing log to %s\n" +msgstr "Skickar logg till %s\n" #: src/lang.c:589 -msgid "Article unchanged, abort mailing?" -msgstr "" +msgid "Mail bug report..." +msgstr "" #: src/lang.c:590 #, c-format -msgid "Do you want to see postponed articles (%d)?" -msgstr "" +msgid "Mail BUG REPORT to %s?" +msgstr "Skicka FELRAPPORT till %s?" + +#: src/lang.c:591 +msgid "Mailed" +msgstr "Skickad" #: src/lang.c:592 -msgid "Add quick kill filter?" -msgstr "" +#, c-format +msgid "Mailing to %s..." +msgstr "Skickar till %s..." #: src/lang.c:593 -msgid "Add quick selection filter?" -msgstr "" - -#: src/lang.c:594 -msgid "Do you really want to quit?" -msgstr "Vill du verkligen avsluta?" - -#: src/lang.c:595 -#, c-format -msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " -msgstr "" +msgid "# [Mail/Save] active file. Format is like news active file:\n" + "# groupname max.artnum min.artnum /dir\n" + "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" + "#\n" +msgstr "" #: src/lang.c:596 -msgid "You have tagged articles in this group - quit anyway?" -msgstr "" +#, fuzzy, c-format +msgid "%s marked as read" +msgstr "%s markerad som oläst" #: src/lang.c:597 #, c-format -msgid "%s=quit, %s=edit, %s=postpone: " -msgstr "" +msgid "%s marked as unread" +msgstr "%s markerad som oläst" #: src/lang.c:598 -#, c-format -msgid "%s=quit %s=edit %s=save kill description: " -msgstr "" +#, fuzzy, c-format +msgid "Marked %d of %d %s as read" +msgstr "Markera grupp %s som läst?" #: src/lang.c:599 +#, fuzzy, c-format +msgid "Marked %d of %d %s as unread" +msgstr "Markera grupp %s som läst?" + +#: src/lang.c:600 src/lang.c:1321 +msgid "Mark" +msgstr "Markera" + +#: src/lang.c:601 #, c-format -msgid "%s=quit %s=edit %s=save select description: " -msgstr "" +msgid "Mark all articles as read%s?" +msgstr "Markera alla artiklar som lästa%s?" -#: src/lang.c:600 -msgid "Do you really want to quit without saving your configuration?" -msgstr "Vill du verkligen avsluta utan att spara din konfiguration?" +#: src/lang.c:602 +#, fuzzy, c-format +msgid "Mark article as read%s?" +msgstr "Markera alla artiklar som lästa%s?" #: src/lang.c:603 -msgid "Invalid range - valid are '0-9.$' eg. 1-$" -msgstr "" +#, c-format +msgid "Mark group %s as read?" +msgstr "Markera grupp %s som läst?" #: src/lang.c:604 -msgid "Do you want to abort this operation?" -msgstr "Vill du avbryta denna operation?" +#, c-format +msgid "Mark thread as read%s?" +msgstr "Markera tråd som läst%s?" #: src/lang.c:605 -msgid "Do you want to exit tin immediately?" -msgstr "Vill du avsluta tin omedelbart?" +#, c-format +msgid "Matching %s groups..." +msgstr "Matchar %s grupper..." -#: src/lang.c:606 -msgid "Read response> " -msgstr "Läsa svar> " - -#: src/lang.c:607 -msgid "Reading ('q' to quit)..." -msgstr "Läser (\"q\" för att avsluta)..." +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 +#, fuzzy, c-format +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "=sätt nuvarande till n; %s=nästa olästa; %s=sökmönster; %s=döda/välj" #: src/lang.c:608 -#, c-format -msgid "Reading %sarticles..." -msgstr "Läser %sarticles..." - -#: src/lang.c:609 -#, c-format -msgid "Reading %sattributes file...\n" -msgstr "Läser %sattributfil...\n" +#, fuzzy, c-format +msgid "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=rad ner; %s=rad upp; %s=hjälp; %s=flytta; %s=avsluta; %s=växla alla/olästa" #: src/lang.c:610 -#, c-format -msgid "Reading %sconfig file...\n" -msgstr "Läser %skonfigurationsfil...\n" - -#: src/lang.c:611 -msgid "Reading filter file...\n" -msgstr "Läser filterfil...\n" +#, fuzzy, c-format +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=rad ner; %s=rad upp; %s=hjälp; %s=flytta; %s=avsluta; %s=växla alla/olästa" #: src/lang.c:612 -#, c-format -msgid "Reading %s groups..." -msgstr "Läser %s grupper..." +#, fuzzy, c-format +msgid "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=sök framåt; %s=sök bakåt; %s=avsluta" -#: src/lang.c:613 -msgid "Reading input history file...\n" -msgstr "" +#: src/lang.c:613 src/lang.c:617 +#, c-format +msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" +msgstr "=sätt nuvarande till n; %s=nästa olästa; %s=sökmönster; %s=döda/välj" #: src/lang.c:614 -msgid "Reading keymap file...\n" -msgstr "" +#, c-format +msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " + "thread" +msgstr "" #: src/lang.c:615 -msgid "Reading groups from active file... " -msgstr "Läser grupper från aktiv fil..." +#, c-format +msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" +msgstr "%s=rad upp; %s=rad ner; %s=sida upp; %s=sida ned; %s=topp; %s=botten" #: src/lang.c:616 -msgid "Reading groups from newsrc file... " -msgstr "" - -#: src/lang.c:617 -msgid "Reading newsgroups file... " -msgstr "" +#, c-format +msgid "%s=search forwards; %s=search backwards; %s=quit" +msgstr "%s=sök framåt; %s=sök bakåt; %s=avsluta" #: src/lang.c:618 -msgid "Reading newsrc file..." -msgstr "" +#, c-format +msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" +msgstr "" + +#: src/lang.c:619 +#, c-format +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "" -#: src/lang.c:620 +#: src/lang.c:621 #, c-format -msgid "(%d:%02d remaining)" -msgstr "(%d:%02d återstår)" +msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" +msgstr "" #: src/lang.c:622 #, c-format -msgid "Bogus group %s removed." -msgstr "" +msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" +msgstr "%s=rad ner; %s=rad upp; %s=hjälp; %s=flytta; %s=avsluta; %s=växla alla/olästa" #: src/lang.c:623 #, c-format -msgid "Error: rename %s to %s" -msgstr "Fel: byt namn på %s till %s" +msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" +msgstr "" #: src/lang.c:624 -msgid "Reply to author..." -msgstr "" +#, c-format +msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" +msgstr "" #: src/lang.c:625 -msgid "Repost" -msgstr "" - -#: src/lang.c:626 -msgid "Reposting article..." -msgstr "" +#, c-format +msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" +msgstr "%s=hjälp; %s=rad ner; %s=rad upp; %s=avsluta; %s=märk; %s=markera oläst" #: src/lang.c:627 -#, c-format -msgid "Repost article(s) to group(s) [%s]> " -msgstr "" +#, fuzzy, c-format +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=sök framåt; %s=sök bakåt; %s=avsluta" #: src/lang.c:628 -msgid "Reset newsrc?" -msgstr "Återställ newsrc?" +msgid "--More--" +msgstr "--Mer--" #: src/lang.c:629 -msgid "Responses have been directed to the following newsgroups" -msgstr "" +#, c-format +msgid "Moving %s..." +msgstr "Flyttar %s..." #: src/lang.c:630 -#, c-format -msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " -msgstr "" +msgid "Message-ID: & last Reference " +msgstr "" #: src/lang.c:631 -#, c-format -msgid "RespNo %4d of %4d" -msgstr "" +msgid "Message-ID: line " +msgstr "" #: src/lang.c:632 -msgid "Press to continue..." -msgstr "Tryck för att fortsätta..." +msgid "Message-ID: & References: line" +msgstr "" #: src/lang.c:634 -#, c-format -msgid "Select From [%s] (y/n): " -msgstr "" +msgid ", name: " +msgstr ", namn: " #: src/lang.c:635 -msgid "Select Lines: (num): " -msgstr "Välj rader: (num): " +#, c-format +msgid "Go to newsgroup [%s]> " +msgstr "Gå till diskussionsgrupp [%s]> " #: src/lang.c:636 -msgid "Auto-select Article Menu" -msgstr "" +msgid "newsgroups" +msgstr "diskussionsgrupper" #: src/lang.c:637 #, c-format -msgid "Select Msg-Id [%s] (f/l/o/n): " -msgstr "" +msgid "Position %s in group list (1,2,..,$) [%d]> " +msgstr "" #: src/lang.c:638 -msgid "Select pattern scope: " -msgstr "" +msgid "newsgroup" +msgstr "diskussionsgrupp" #: src/lang.c:639 -#, c-format -msgid "Select Subject [%s] (y/n): " -msgstr "" +msgid "Try and save newsrc file again?" +msgstr "Försöka att spara filen newsrc igen?" #: src/lang.c:640 -msgid "Select text pattern : " -msgstr "" +msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." +msgstr "" #: src/lang.c:641 -msgid "Select time in days : " -msgstr "Välj tid i dagar : " +msgid "newsrc file saved successfully.\n" +msgstr "" #: src/lang.c:642 -#, c-format -msgid "# %s server configuration file\n" - "# This file was automatically saved by %s %s %s (\"%s\")\n" - "#\n" - "# Do not edit while %s is running, since all your changes to this file\n" - "# will be overwritten when you leave %s.\n" - "# Do not edit at all if you don't know what you do.\n" - "############################################################################\n" - "\n" -msgstr "" +msgid "-- Next response --" +msgstr "-- Nästa svar --" + +#: src/lang.c:643 +msgid "No " +msgstr "Nej " + +#: src/lang.c:644 +msgid "*** No articles ***" +msgstr "*** Inga artiklar ***" + +#: src/lang.c:645 +msgid "No articles have been posted" +msgstr "Inga artiklar har postats" + +#: src/lang.c:646 +#, fuzzy +msgid "*** No attachments ***" +msgstr "*** Inga artiklar ***" + +#: src/lang.c:647 +msgid "*** No description ***" +msgstr "*** Ingen beskrivning ***" #: src/lang.c:648 -msgid "Showing unread groups only" -msgstr "Visar endast olästa grupper" +msgid "No filename" +msgstr "Inget filnamn" #: src/lang.c:649 -msgid "Subject: line (ignore case) " -msgstr "" +msgid "No group" +msgstr "Ingen grupp" #: src/lang.c:650 -msgid "Subject: line (case sensitive)" -msgstr "" +msgid "*** No groups ***" +msgstr "*** Inga grupper ***" #: src/lang.c:651 -msgid "Save" -msgstr "Spara" +msgid "No more groups to read" +msgstr "Inga fler grupper att läsa" #: src/lang.c:652 -#, c-format -msgid "Save '%s' (%s/%s)?" -msgstr "Spara \"%s\" (%s/%s)?" +msgid "No last message" +msgstr "Inget sista meddelande" #: src/lang.c:653 -msgid "Save configuration before continuing?" -msgstr "Spara konfiguration före du fortsätter?" +msgid "No mail address" +msgstr "Ingen e-postadress" #: src/lang.c:654 -msgid "Save filename> " -msgstr "Spara filnamn> " +msgid "No articles marked for saving" +msgstr "" #: src/lang.c:655 -msgid "Saved" -msgstr "Sparad" +msgid "No match" +msgstr "Ingen match" #: src/lang.c:656 -#, c-format -msgid "%4d unread (%4d hot) %s in %s\n" -msgstr "" +msgid "No more groups" +msgstr "Inga fler grupper" #: src/lang.c:657 -#, c-format -msgid "Saved %s...\n" -msgstr "Sparade %s...\n" +msgid "No newsgroups" +msgstr "Inga diskussionsgrupper" #: src/lang.c:658 -msgid "Nothing was saved" -msgstr "Ingenting sparades" +msgid "No next unread article" +msgstr "Slut på olästa artiklar" #: src/lang.c:659 -#, c-format -msgid "\n" - "%s %d %s from %d %s\n" -msgstr "\n" - "%s %d %s från %d %s\n" +msgid "No previous group" +msgstr "Ingen föregående grupp" #: src/lang.c:660 -#, c-format -msgid "-- %s saved to %s%s --" -msgstr "-- %s sparad till %s%s --" +msgid "No previous search, nothing to repeat" +msgstr "" #: src/lang.c:661 -#, c-format -msgid "-- %s saved to %s - %s --" -msgstr "-- %s sparad till %s - %s --" +msgid "No previous unread article" +msgstr "Ingen föregående oläst artikel" #: src/lang.c:662 -msgid "Saving..." -msgstr "Sparar..." +msgid "No responses" +msgstr "Inga svar" #: src/lang.c:663 -#, c-format -msgid "%s: Screen initialization failed" -msgstr "" +msgid "No responses to list in current thread" +msgstr "" + +#: src/lang.c:664 +#, fuzzy +msgid "*** No scopes ***" +msgstr "*** Inga grupper ***" #: src/lang.c:665 -#, c-format -msgid "%s: screen is too small\n" -msgstr "%s: skärm är för liten\n" +msgid "No search string" +msgstr "Ingen söksträng" -#: src/lang.c:667 -#, c-format -msgid "screen is too small, %s is exiting\n" -msgstr "skärm är för liten, %s avslutas\n" +#: src/lang.c:666 +msgid "No subject" +msgstr "Inget ämne" #: src/lang.c:668 #, c-format -msgid "Search backwards [%s]> " -msgstr "Sök bakåt [%s]> " +msgid "%s: Terminal must have clear to end-of-line (ce)\n" +msgstr "" #: src/lang.c:669 #, c-format -msgid "Search body [%s]> " -msgstr "" +msgid "%s: Terminal must have clear to end-of-screen (cd)\n" +msgstr "" #: src/lang.c:670 #, c-format -msgid "Search forwards [%s]> " -msgstr "Sök framåt [%s]> " +msgid "%s: Terminal must have clearscreen (cl) capability\n" +msgstr "" #: src/lang.c:671 -msgid "Searching..." -msgstr "Söker..." +#, c-format +msgid "%s: Terminal must have cursor motion (cm)\n" +msgstr "" #: src/lang.c:672 #, c-format -msgid "Searching article %d of %d ('q' to abort)..." -msgstr "" - -#: src/lang.c:673 -msgid "Select article> " -msgstr "Välj artikel> " +msgid "%s: TERM variable must be set to use screen capabilities\n" +msgstr "" #: src/lang.c:674 -msgid "Select option number before text or use arrow keys and . 'q' to quit." -msgstr "Välj alternativnummer före texten eller använd piltangenter och . \"q\" " - "avsluta." +#, c-format +msgid "No viewer found for %s/%s\n" +msgstr "" #: src/lang.c:675 -msgid "Select group> " -msgstr "Välj grupp> " +msgid "Newsgroup does not exist on this server" +msgstr "" #: src/lang.c:676 #, c-format -msgid "Enter selection pattern [%s]> " -msgstr "" +msgid "Group %s not found in active file" +msgstr "" #: src/lang.c:677 -msgid "Select thread > " -msgstr "Välj tråd > " +msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "" #: src/lang.c:678 -#, c-format -msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" -msgstr "" +msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "" #: src/lang.c:679 -msgid "servers active-file" -msgstr "" +#, c-format +msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" + "# shortname list for %s %s\n" + "#\n" + "# the format of this file is\n" + "# ...\n" + "#\n" + "# if is given without path, $HOME is assumed as its location\n" + "#\n" + "# examples:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" +msgstr "" -#: src/lang.c:680 -msgid "Cannot move into new newsgroups. Subscribe first..." -msgstr "" +#: src/lang.c:686 +msgid "Only" +msgstr "Endast" -#: src/lang.c:681 -msgid "" -msgstr "" +#: src/lang.c:687 +#, c-format +msgid "Option not enabled. Recompile with %s." +msgstr "Flagga inte aktiverad. Bygg om med %s." -#: src/lang.c:682 +#: src/lang.c:688 +msgid "Options Menu" +msgstr "Alternativmenyn" + +#: src/lang.c:689 +#, fuzzy +msgid "Options Menu Commands" +msgstr "Alternativmenyn" + +#: src/lang.c:692 #, c-format -msgid "Starting: (%s)" -msgstr "Startar: (%s)" +msgid "Error in regex: %s at pos. %d '%s'" +msgstr "" -#: src/lang.c:683 +#: src/lang.c:693 #, c-format -msgid "List Thread (%d of %d)" -msgstr "Lista tråd (%d av %d)" +msgid "Error in regex: pcre internal error %d" +msgstr "" -#: src/lang.c:684 +#: src/lang.c:694 #, c-format -msgid "Thread (%.*s)" -msgstr "Tråd (%.*s)" +msgid "Error in regex: study - pcre internal error %s" +msgstr "" -#: src/lang.c:685 -msgid "Enter wildcard subscribe pattern> " -msgstr "" +#: src/lang.c:695 +msgid "Post a followup..." +msgstr "Posta en uppföljning..." -#: src/lang.c:686 -#, c-format -msgid "subscribed to %d groups" -msgstr "" +#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone +#: src/lang.c:697 +msgid "An error has occurred while posting the article. If you think that this\n" + "error is temporary or otherwise correctable, you can postpone the article\n" + "and pick it up again with ^O later.\n" +msgstr "" -#: src/lang.c:687 +#: src/lang.c:700 +msgid "Posted articles history" +msgstr "" + +#: src/lang.c:701 #, c-format -msgid "Subscribed to %s" -msgstr "" +msgid "Post to newsgroup(s) [%s]> " +msgstr "Posta till diskussionsgrupp(er) [%s]> " -#: src/lang.c:688 -msgid "Subscribing... " -msgstr "" +#: src/lang.c:702 +msgid "-- post processing started --" +msgstr "" -#: src/lang.c:689 -#, c-format -msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " -msgstr "" +#: src/lang.c:703 +msgid "-- post processing completed --" +msgstr "" -#: src/lang.c:690 +#: src/lang.c:704 #, c-format -msgid "Supersede article(s) to group(s) [%s]> " -msgstr "" +msgid "Post subject [%s]> " +msgstr "" -#: src/lang.c:691 -msgid "Superseding article ..." -msgstr "" +#: src/lang.c:705 +msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" +msgstr "" -#: src/lang.c:692 -#, c-format -msgid "\n" - "Stopped. Type 'fg' to restart %s\n" -msgstr "" +#: src/lang.c:706 +msgid "Posting article..." +msgstr "Postar artikel..." -#: src/lang.c:694 +#: src/lang.c:707 #, c-format -msgid "%d days" -msgstr "%d dagar" - -#: src/lang.c:695 -msgid "" -msgstr "" +msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " +msgstr "" -#: src/lang.c:696 -msgid "TeX " -msgstr "TeX " +#: src/lang.c:708 +#, c-format +msgid "Hot %s" +msgstr "Hetta %s" -#: src/lang.c:697 -msgid "# Default action/prompt strings\n" -msgstr "" +#: src/lang.c:709 +#, c-format +msgid "Tagged %s" +msgstr "Märkt %s" -#: src/lang.c:698 -msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" - "# 5=Message-ID: & last References: entry only\n" - "# 6=Message-ID: entry only 7=Lines:\n" - "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" -msgstr "" +#: src/lang.c:710 +#, c-format +msgid "Untagged %s" +msgstr "" #: src/lang.c:711 -msgid "# If ON use print current subject or newsgroup description in the last line\n" -msgstr "" +msgid "Processing mail messages marked for deletion." +msgstr "" #: src/lang.c:712 -msgid "# Host & time info used for detecting new groups (don't touch)\n" -msgstr "" +msgid "Processing saved articles marked for deletion." +msgstr "" #: src/lang.c:713 -msgid "There is no news\n" -msgstr "" +#, c-format +msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " +msgstr "" #: src/lang.c:714 -msgid "Thread" -msgstr "Tråd" +msgid "Article unchanged, abort mailing?" +msgstr "" #: src/lang.c:715 -msgid "Thread Level Commands" -msgstr "" - -#: src/lang.c:716 -msgid "Thread deselected" -msgstr "" +#, c-format +msgid "Do you want to see postponed articles (%d)?" +msgstr "" #: src/lang.c:717 -msgid "Thread selected" -msgstr "" +msgid "Add quick kill filter?" +msgstr "" + +#: src/lang.c:718 +msgid "Add quick selection filter?" +msgstr "" #: src/lang.c:719 -msgid "threads" -msgstr "trådar" +msgid "Do you really want to quit?" +msgstr "Vill du verkligen avsluta?" + +#: src/lang.c:720 +#, c-format +msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " +msgstr "" #: src/lang.c:721 -msgid "Thread range" -msgstr "" +msgid "You have tagged articles in this group - quit anyway?" +msgstr "" #: src/lang.c:722 -msgid "thread" -msgstr "tråd" +#, c-format +msgid "%s=quit, %s=edit, %s=postpone: " +msgstr "" #: src/lang.c:723 #, c-format -msgid "Thread %4s of %4s" -msgstr "Tråd %4s av %4s" +msgid "%s=quit %s=edit %s=save kill description: " +msgstr "" #: src/lang.c:724 -msgid "Threading articles..." -msgstr "Trådar artiklar..." - -#: src/lang.c:725 #, c-format -msgid "Toggled word highlighting %s" -msgstr "" +msgid "%s=quit %s=edit %s=save select description: " +msgstr "" -#: src/lang.c:726 -msgid "Toggled rot13 encoding" -msgstr "" - -#: src/lang.c:727 -#, c-format -msgid "Toggled german TeX encoding %s" -msgstr "" +#: src/lang.c:725 +msgid "Do you really want to quit without saving your configuration?" +msgstr "Vill du verkligen avsluta utan att spara din konfiguration?" #: src/lang.c:728 -#, c-format -msgid "Toggled tab-width to %d" -msgstr "" - -#: src/lang.c:729 -#, c-format -msgid "%d Trying to dotlock %s" -msgstr "" +msgid "Invalid range - valid are '0-9.$' eg. 1-$" +msgstr "" #: src/lang.c:730 -#, c-format -msgid "%d Trying to lock %s" -msgstr "%d Försöker att låsa %s" +msgid "Do you want to abort this operation?" +msgstr "Vill du avbryta denna operation?" #: src/lang.c:731 -msgid " h=help\n" -msgstr " h=hjälp\n" +msgid "Do you want to exit tin immediately?" +msgstr "Vill du avsluta tin omedelbart?" #: src/lang.c:733 -msgid "Unlimited" -msgstr "Obegränsad" +msgid "Reading ('q' to quit)..." +msgstr "Läser (\"q\" för att avsluta)..." #: src/lang.c:734 -msgid "Enter wildcard unsubscribe pattern> " -msgstr "" +#, c-format +msgid "Reading %sarticles..." +msgstr "Läser %sarticles..." #: src/lang.c:735 #, c-format -msgid "Error decoding %s : %s" -msgstr "Fel vid avkodning av %s : %s" +msgid "Reading %sattributes file...\n" +msgstr "Läser %sattributfil...\n" #: src/lang.c:736 -msgid "No end." -msgstr "Inget slut." +#, c-format +msgid "Reading %sconfig file...\n" +msgstr "Läser %skonfigurationsfil...\n" #: src/lang.c:737 -#, c-format -msgid "%s successfully decoded." -msgstr "%s lyckades avkodas." +msgid "Reading filter file...\n" +msgstr "Läser filterfil...\n" #: src/lang.c:738 #, c-format -msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" - "\n" -msgstr "" +msgid "Reading %s groups..." +msgstr "Läser %s grupper..." #: src/lang.c:739 -msgid "unread " -msgstr "oläst " +msgid "Reading input history file...\n" +msgstr "" #: src/lang.c:740 -#, c-format -msgid "unsubscribed from %d groups" -msgstr "" +msgid "Reading keymap file...\n" +msgstr "" #: src/lang.c:741 -#, c-format -msgid "Unsubscribed from %s" -msgstr "" +msgid "Reading groups from active file... " +msgstr "Läser grupper från aktiv fil..." #: src/lang.c:742 -msgid "Unsubscribing... " -msgstr "" +msgid "Reading groups from newsrc file... " +msgstr "" #: src/lang.c:743 -msgid "Unthreading articles..." -msgstr "" +msgid "Reading newsgroups file... " +msgstr "" #: src/lang.c:744 -msgid "Updated" -msgstr "Uppdaterad" +msgid "Reading newsrc file..." +msgstr "" #: src/lang.c:745 -msgid "Updating" -msgstr "Uppdaterar" - -#: src/lang.c:746 -#, c-format -msgid "Opening %s\n" -msgstr "Öppnar %s\n" +msgid "References: line " +msgstr "" #: src/lang.c:747 -msgid "No more URL's in this article" -msgstr "Inga fler URL:er i denna artikel" - -#: src/lang.c:748 -msgid "Use MIME display program for this message?" -msgstr "" +#, c-format +msgid "(%d:%02d remaining)" +msgstr "(%d:%02d återstår)" #: src/lang.c:749 -msgid " -c mark all news as read in subscribed newsgroups (batch mode)" -msgstr "" +#, c-format +msgid "Bogus group %s removed." +msgstr "" #: src/lang.c:750 -msgid " -Z return status indicating if any unread news (batch mode)" -msgstr "" +msgid "Removed from the previous rule: " +msgstr "" #: src/lang.c:751 -msgid " -q don't check for new newsgroups" -msgstr "" +#, c-format +msgid "Error: rename %s to %s" +msgstr "Fel: byt namn på %s till %s" #: src/lang.c:752 -msgid " -X don't save any files on quit" -msgstr "" +msgid "Reply to author..." +msgstr "" #: src/lang.c:753 -msgid " -d don't show newsgroup descriptions" -msgstr "" +msgid "Repost" +msgstr "" #: src/lang.c:754 -msgid " -G limit get only limit articles/group" -msgstr "" +msgid "Reposting article..." +msgstr "" #: src/lang.c:755 #, c-format -msgid " -H help information about %s" -msgstr "" +msgid "Repost article(s) to group(s) [%s]> " +msgstr "" #: src/lang.c:756 -msgid " -h this help message" -msgstr " -h detta hjälpmeddelande" +msgid "Reset newsrc?" +msgstr "Återställ newsrc?" #: src/lang.c:757 -#, c-format -msgid " -I dir news index file directory [default=%s]" -msgstr "" +msgid "Responses have been directed to the following newsgroups" +msgstr "" #: src/lang.c:758 -msgid " -u update index files (batch mode)" -msgstr "" - -#: src/lang.c:759 #, c-format -msgid " -m dir mailbox directory [default=%s]" -msgstr "" +msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " +msgstr "" #: src/lang.c:760 -#, c-format -msgid "\n" - "Mail bug reports/comments to %s" -msgstr "\n" - "Skicka felrapporter/kommentarer till %s\n" - "Rapportera synpunkter på översättningen till ." - -#: src/lang.c:761 -msgid " -N mail new news to your posts (batch mode)" -msgstr "" +msgid "Press to continue..." +msgstr "Tryck för att fortsätta..." #: src/lang.c:762 -msgid " -M user mail new news to specified user (batch mode)" -msgstr "" +#, c-format +msgid "Select From [%s] (y/n): " +msgstr "" #: src/lang.c:763 -#, c-format -msgid " -f file subscribed to newsgroups file [default=%s]" -msgstr "" +msgid "Select Lines: (num): " +msgstr "Välj rader: (num): " #: src/lang.c:764 -msgid " -x no posting mode" -msgstr "" +msgid "Auto-select Article Menu" +msgstr "" #: src/lang.c:765 -msgid " -w post an article and exit" -msgstr " -w posta en artikel och avsluta" +#, c-format +msgid "Select Msg-Id [%s] (f/l/o/n): " +msgstr "" #: src/lang.c:766 -msgid " -o post all postponed articles and exit" -msgstr "" +msgid "Select pattern scope: " +msgstr "" #: src/lang.c:767 -msgid " -r read news remotely from default NNTP server" -msgstr "" +#, c-format +msgid "Select Subject [%s] (y/n): " +msgstr "" #: src/lang.c:768 -msgid " -R read news saved by -S option" -msgstr "" +msgid "Select text pattern : " +msgstr "" #: src/lang.c:769 -#, c-format -msgid " -s dir save news directory [default=%s]" -msgstr "" +msgid "Select time in days : " +msgstr "Välj tid i dagar : " #: src/lang.c:770 -msgid " -S save new news for later reading (batch mode)" -msgstr "" - -#: src/lang.c:771 -msgid " -z start if any unread news" -msgstr " -z starta om det finns olästa diskussioner" - -#: src/lang.c:772 -#, c-format -msgid "A Usenet reader.\n" - "\n" - "Usage: %s [options] [newsgroup[,...]]" -msgstr "En applikation för att läsa diskussionsgrupper.\n" - "\n" - "Användning: %s [flaggor] [diskussionsgrupp[,...]]" - -#: src/lang.c:773 -msgid " -v verbose output for batch mode options" -msgstr "" - -#: src/lang.c:774 -msgid " -V print version & date information" -msgstr " -V skriv ut version & datuminformation" - -#: src/lang.c:775 #, c-format -msgid "%s only useful without batch mode operations\n" -msgstr "" +msgid "# %s server configuration file\n" + "# This file was automatically saved by %s %s %s (\"%s\")\n" + "#\n" + "# Do not edit while %s is running, since all your changes to this file\n" + "# will be overwritten when you leave %s.\n" + "# Do not edit at all if you don't know what you do.\n" + "############################################################################\n" + "\n" +msgstr "" #: src/lang.c:776 -#, c-format -msgid "%s only useful for batch mode operations\n" -msgstr "" +msgid "Showing unread groups only" +msgstr "Visar endast olästa grupper" + +#: src/lang.c:777 +msgid "Subject: line (ignore case) " +msgstr "" #: src/lang.c:778 -#, c-format -msgid "\n" - "%s%d out of range (0 - %d). Reset to 0" -msgstr "" +msgid "Subject: line (case sensitive)" +msgstr "" #: src/lang.c:779 +msgid "Save" +msgstr "Spara" + +#: src/lang.c:780 #, c-format -msgid "View '%s' (%s/%s)?" -msgstr "Visa \"%s\" (%s/%s)?" +msgid "Save '%s' (%s/%s)?" +msgstr "Spara \"%s\" (%s/%s)?" #: src/lang.c:781 -#, c-format -msgid "\n" - "Warning: posting exceeds %d columns. Line %d is the first long one:\n" - "%-100s\n" -msgstr "" +msgid "Save configuration before continuing?" +msgstr "Spara konfiguration före du fortsätter?" #: src/lang.c:782 -msgid "\n" - "Warning: article unchanged after editing\n" -msgstr "" +msgid "Save filename> " +msgstr "Spara filnamn> " #: src/lang.c:783 -msgid "\n" - "Warning: \"Subject:\" contains only whitespaces.\n" -msgstr "" +msgid "Saved" +msgstr "Sparad" #: src/lang.c:784 -msgid "\n" - "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" -msgstr "" +#, c-format +msgid "%4d unread (%4d hot) %s in %s\n" +msgstr "" + +#: src/lang.c:785 +#, c-format +msgid "Saved %s...\n" +msgstr "Sparade %s...\n" #: src/lang.c:786 -msgid "\n" - "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" - " with \"Re: \" and does not contain \"(was:\".\n" -msgstr "" +msgid "Nothing was saved" +msgstr "Ingenting sparades" + +#: src/lang.c:787 +#, c-format +msgid "\n" + "%s %d %s from %d %s\n" +msgstr "\n" + "%s %d %s från %d %s\n" + +#: src/lang.c:788 +#, c-format +msgid "-- %s saved to %s%s --" +msgstr "-- %s sparad till %s%s --" #: src/lang.c:789 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly written by you. This will " - "wipe\n" - " the article from most news servers throughout the world, but there is " - "no\n" - " guarantee that it will work.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "" +#, c-format +msgid "-- %s saved to %s - %s --" +msgstr "-- %s sparad till %s - %s --" + +#: src/lang.c:790 +msgid "Saving..." +msgstr "Sparar..." + +#: src/lang.c:791 +#, c-format +msgid "%s: Screen initialization failed" +msgstr "" #: src/lang.c:793 -msgid "\n" - "Warning: You are using a non-plain transfer encoding (such as base64 or\n" - " quoted-printable) and an external inews program to submit your\n" - " article. If a signature is appended by that inews program it will\n" - " not be encoded properly.\n" -msgstr "" +#, c-format +msgid "%s: screen is too small\n" +msgstr "%s: skärm är för liten\n" -#: src/lang.c:798 +#: src/lang.c:795 #, c-format -msgid "\n" - "\n" - "You are upgrading to tin %s from an earlier version.\n" - "Some values in your %s file have changed!\n" - "Read WHATSNEW, etc...\n" -msgstr "" +msgid "screen is too small, %s is exiting\n" +msgstr "skärm är för liten, %s avslutas\n" + +#: src/lang.c:796 +msgid "Delete scope?" +msgstr "" + +#: src/lang.c:797 +#, fuzzy +msgid "Enter scope> " +msgstr "Ange mönster [%s]> " + +#: src/lang.c:798 +msgid "Select new position> " +msgstr "" + +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "" #: src/lang.c:800 -#, c-format -msgid "\n" - "\n" - "You are downgrading to tin %s from a more recent version!\n" - "Some values in your %s file may be ignored, others might have changed!\n" -msgstr "" +msgid "Global scope, operation not allowed" +msgstr "" + +#: src/lang.c:801 +msgid "Rename scope> " +msgstr "" + +#: src/lang.c:802 +#, fuzzy +msgid "Select scope> " +msgstr "Välj grupp> " #: src/lang.c:803 +#, fuzzy +msgid "Scopes Menu" +msgstr "Alternativmenyn" + +#: src/lang.c:804 +#, fuzzy +msgid "Scopes Menu Commands" +msgstr "Toppnivåkommandon" + +#: src/lang.c:805 #, c-format -msgid "Warning: tin wrote fewer groups to your\n" - "\t%s\n" - "than it read at startup. If you didn't unsubscribe from %ld %s during\n" - "this session this indicates an error and you should backup your %s\n" - "before you start tin once again!\n" -msgstr "" +msgid "Search backwards [%s]> " +msgstr "Sök bakåt [%s]> " + +#: src/lang.c:806 +#, c-format +msgid "Search body [%s]> " +msgstr "" #: src/lang.c:807 #, c-format -msgid "\n" - "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" -msgstr "" +msgid "Search forwards [%s]> " +msgstr "Sök framåt [%s]> " #: src/lang.c:808 +msgid "Searching..." +msgstr "Söker..." + +#: src/lang.c:809 +#, c-format +msgid "Searching article %d of %d ('q' to abort)..." +msgstr "" + +#: src/lang.c:810 +msgid "Select article> " +msgstr "Välj artikel> " + +#: src/lang.c:811 +msgid "Select option number before text or use arrow keys and . 'q' to quit." +msgstr "Välj alternativnummer före texten eller använd piltangenter och . \"q\" " + "avsluta." + +#: src/lang.c:812 +msgid "Select group> " +msgstr "Välj grupp> " + +#: src/lang.c:813 #, c-format -msgid "Warning: Only %d out of %d articles were saved" -msgstr "" +msgid "Enter selection pattern [%s]> " +msgstr "" + +#: src/lang.c:814 +msgid "Select thread > " +msgstr "Välj tråd > " + +#: src/lang.c:815 +#, c-format +msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" +msgstr "" + +#: src/lang.c:816 +msgid "servers active-file" +msgstr "" + +#: src/lang.c:817 +msgid "Cannot move into new newsgroups. Subscribe first..." +msgstr "" + +#: src/lang.c:818 +msgid "" +msgstr "" + +#: src/lang.c:819 +#, c-format +msgid "Starting: (%s)" +msgstr "Startar: (%s)" + +#: src/lang.c:820 +#, c-format +msgid "List Thread (%d of %d)" +msgstr "Lista tråd (%d av %d)" + +#: src/lang.c:821 +#, c-format +msgid "Thread (%.*s)" +msgstr "Tråd (%.*s)" + +#: src/lang.c:822 +msgid "Enter wildcard subscribe pattern> " +msgstr "" + +#: src/lang.c:823 +#, c-format +msgid "subscribed to %d groups" +msgstr "" + +#: src/lang.c:824 +#, c-format +msgid "Subscribed to %s" +msgstr "" + +#: src/lang.c:825 +msgid "Subscribing... " +msgstr "" + +#: src/lang.c:826 +#, c-format +msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " +msgstr "" + +#: src/lang.c:827 +#, c-format +msgid "Supersede article(s) to group(s) [%s]> " +msgstr "" + +#: src/lang.c:828 +msgid "Superseding article ..." +msgstr "" + +#: src/lang.c:829 +#, c-format +msgid "\n" + "Stopped. Type 'fg' to restart %s\n" +msgstr "" + +#: src/lang.c:831 +#, c-format +msgid "%d days" +msgstr "%d dagar" + +#: src/lang.c:832 +msgid "" +msgstr "" + +#: src/lang.c:833 +msgid "TeX " +msgstr "TeX " + +#: src/lang.c:834 +msgid "# Default action/prompt strings\n" +msgstr "" + +#: src/lang.c:835 +msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" + "# 5=Message-ID: & last References: entry only\n" + "# 6=Message-ID: entry only 7=Lines:\n" + "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +msgstr "" + +#: src/lang.c:848 +msgid "# If ON use print current subject or newsgroup description in the last line\n" +msgstr "" + +#: src/lang.c:849 +msgid "# Host & time info used for detecting new groups (don't touch)\n" +msgstr "" + +#: src/lang.c:850 +msgid "There is no news\n" +msgstr "" + +#: src/lang.c:851 +msgid "Thread" +msgstr "Tråd" + +#: src/lang.c:852 +msgid "Thread Level Commands" +msgstr "" + +#: src/lang.c:853 +msgid "Thread deselected" +msgstr "" + +#: src/lang.c:854 +msgid "Thread selected" +msgstr "" + +#: src/lang.c:856 +msgid "threads" +msgstr "trådar" + +#: src/lang.c:858 +msgid "thread" +msgstr "tråd" -#: src/lang.c:809 +#: src/lang.c:859 #, c-format -msgid "\n" - "Warning: Your signature is longer than %d lines. Since signatures usually " - "do\n" - " not transport any useful information, they should be as short " - "as\n" - " possible.\n" -msgstr "" +msgid "Thread %4s of %4s" +msgstr "Tråd %4s av %4s" -#: src/lang.c:813 +#: src/lang.c:860 +msgid "Threading articles..." +msgstr "Trådar artiklar..." + +#: src/lang.c:861 #, c-format -msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " -msgstr "" +msgid "Toggled word highlighting %s" +msgstr "" -#: src/lang.c:814 -msgid "\n" - "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" -msgstr "" +#: src/lang.c:862 +msgid "Toggled rot13 encoding" +msgstr "" -#: src/lang.c:815 -msgid "Writing attributes file..." -msgstr "Skriver attributfil..." +#: src/lang.c:863 +#, c-format +msgid "Toggled german TeX encoding %s" +msgstr "" -#: src/lang.c:817 +#: src/lang.c:864 #, c-format -msgid "%d Responses" -msgstr "%d svar" +msgid "Toggled tab-width to %d" +msgstr "" -#: src/lang.c:819 +#: src/lang.c:866 #, c-format -msgid "Added %d %s" -msgstr "Lade till %d %s" +msgid "%d Trying to dotlock %s" +msgstr "" -#: src/lang.c:820 -msgid "No unsubscribed groups to show" -msgstr "" +#: src/lang.c:867 +#, c-format +msgid "%d Trying to lock %s" +msgstr "%d Försöker att låsa %s" -#: src/lang.c:821 -msgid "Showing subscribed to groups only" -msgstr "" +#: src/lang.c:869 +msgid " h=help" +msgstr " h=hjälp" -#: src/lang.c:822 -msgid "Yes " -msgstr "Ja " +#: src/lang.c:871 +msgid "Unlimited" +msgstr "Obegränsad" -#: src/lang.c:823 -msgid " You have mail\n" -msgstr " Du har post\n" +#: src/lang.c:872 +msgid "Enter wildcard unsubscribe pattern> " +msgstr "" -#: src/lang.c:828 +#: src/lang.c:873 #, c-format -msgid "\n" - "Warning: Posting is in %s and contains characters which are not\n" - " in your selected MM_NETWORK_CHARSET: %s.\n" - " These characters will be replaced by '?' if you post this\n" - " article unchanged. To avoid garbling your article please either\n" - " edit it and remove those characters or change the setting of\n" - " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" - " M)enu option.\n" -msgstr "" - -#: src/lang.c:839 -msgid " -D debug mode 1=NNTP 2=ALL" -msgstr " -D felsökningsläge 1=NNTP 2=ALLA" - -#: src/lang.c:843 -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly not written by you. This " - "will\n" - " wipe the article from lots of news servers throughout the world;\n" - " Usenet's majority considers this rather inappropriate, to say the " - "least.\n" - " Only press 'd' if you are absolutely positive that you are ready to " - "take\n" - " the rap.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "" +msgid "Error decoding %s : %s" +msgstr "Fel vid avkodning av %s : %s" -#: src/lang.c:852 -msgid "toggle color" -msgstr "växla färg" +#: src/lang.c:874 +msgid "No end." +msgstr "Inget slut." -#: src/lang.c:853 -msgid "# Changing colors of several screen parts\n" - "# Possible values are:\n" - "# -1 = default (white for foreground and black for background)\n" - "# 0 = black\n" - "# 1 = red\n" - "# 2 = green\n" - "# 3 = brown\n" - "# 4 = blue\n" - "# 5 = pink\n" - "# 6 = cyan\n" - "# 7 = white\n" - "# These are *only* for foreground:\n" - "# 8 = gray\n" - "# 9 = light red\n" - "# 10 = light green\n" - "# 11 = yellow\n" - "# 12 = light blue\n" - "# 13 = light pink\n" - "# 14 = light cyan\n" - "# 15 = light white\n" - "\n" -msgstr "" +#: src/lang.c:875 +#, c-format +msgid "%s successfully decoded." +msgstr "%s lyckades avkodas." -#: src/lang.c:873 -msgid " -a toggle color flag" -msgstr "" +#: src/lang.c:876 +#, c-format +msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" + "\n" +msgstr "" #: src/lang.c:877 -msgid "\n" - "Error: Followup-To set to more than one newsgroup!\n" -msgstr "" +msgid "unread " +msgstr "oläst " #: src/lang.c:878 #, c-format -msgid "\n" - "Error: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "" +msgid "unsubscribed from %d groups" +msgstr "" #: src/lang.c:879 #, c-format -msgid "\n" - "Error: \"%s\" is not a valid newsgroup!\n" -msgstr "" +msgid "Unsubscribed from %s" +msgstr "" + +#: src/lang.c:880 +msgid "Unsubscribing... " +msgstr "" #: src/lang.c:881 -msgid "\n" - "Warning: Followup-To set to more than one newsgroup!\n" -msgstr "" +msgid "Unthreading articles..." +msgstr "" #: src/lang.c:882 -#, c-format -msgid "\n" - "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "" - -#: src/lang.c:883 -#, c-format -msgid "\n" - "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" -msgstr "" +msgid "Updated" +msgstr "Uppdaterad" #: src/lang.c:884 #, c-format -msgid "\n" - "Warning: \"%s\" is not a valid newsgroup at this site!\n" -msgstr "" +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "" + +#: src/lang.c:886 +msgid "Updating" +msgstr "Uppdaterar" + +#: src/lang.c:887 +msgid "URL Menu" +msgstr "" #: src/lang.c:888 -#, c-format -msgid "%d files successfully written from %d articles. %d %s occurred." -msgstr "" +#, fuzzy +msgid "URL Menu Commands" +msgstr "Toppnivåkommandon" #: src/lang.c:889 -msgid "Missing parts." -msgstr "" +#, fuzzy, c-format +msgid "Opening %s" +msgstr "Öppnar %s\n" #: src/lang.c:890 -msgid "No beginning." -msgstr "Ingen början." +#, fuzzy +msgid "Select URL> " +msgstr "Välj grupp> " #: src/lang.c:891 -msgid "No data." -msgstr "Inget data." +#, fuzzy +msgid "No URLs in this article" +msgstr "Inga fler URL:er i denna artikel" #: src/lang.c:892 -msgid "Unknown error." -msgstr "Okänt fel." +msgid "Use MIME display program for this message?" +msgstr "" + +#: src/lang.c:893 +msgid " -c mark all news as read in subscribed newsgroups (batch mode)" +msgstr "" + +#: src/lang.c:894 +msgid " -Z return status indicating if any unread news (batch mode)" +msgstr "" #: src/lang.c:895 +msgid " -q don't check for new newsgroups" +msgstr "" + +#: src/lang.c:896 +msgid " -X don't save any files on quit" +msgstr "" + +#: src/lang.c:897 +msgid " -d don't show newsgroup descriptions" +msgstr "" + +#: src/lang.c:898 +msgid " -G limit get only limit articles/group" +msgstr "" + +#: src/lang.c:899 #, c-format -msgid "\tChecksum of %s (%ld %s)" -msgstr "\tKontrollsumma för %s (%ld %s)" +msgid " -H help information about %s" +msgstr "" #: src/lang.c:900 -msgid "Reading mail active file... " -msgstr "" +msgid " -h this help message" +msgstr " -h detta hjälpmeddelande" #: src/lang.c:901 -msgid "Reading mailgroups file... " -msgstr "" +#, c-format +msgid " -I dir news index file directory [default=%s]" +msgstr "" + +#: src/lang.c:902 +msgid " -u update index files (batch mode)" +msgstr "" + +#: src/lang.c:903 +#, c-format +msgid " -m dir mailbox directory [default=%s]" +msgstr "" + +#: src/lang.c:904 +#, c-format +msgid "\n" + "Mail bug reports/comments to %s" +msgstr "\n" + "Skicka felrapporter/kommentarer till %s\n" + "Rapportera synpunkter på översättningen till ." #: src/lang.c:905 -msgid "perform PGP operations on article" -msgstr "genomför PGP-operationer på artikel" +msgid " -N mail new news to your posts (batch mode)" +msgstr "" #: src/lang.c:906 -msgid "Add key(s) to public keyring?" -msgstr "" +msgid " -M user mail new news to specified user (batch mode)" +msgstr "" #: src/lang.c:907 #, c-format -msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " -msgstr "%s=kryptera, %s=signera, %s=båda, %s=avsluta: " +msgid " -f file subscribed to newsgroups file [default=%s]" +msgstr "" #: src/lang.c:908 -#, c-format -msgid "%s=sign, %s=sign & include public key, %s=quit: " -msgstr "%s=signera, %s=signera & inkludera publik nyckel, %s=avsluta: " +msgid " -x no posting mode" +msgstr "" #: src/lang.c:909 -#, c-format -msgid "PGP has not been set up (can't open %s)" -msgstr "" +msgid " -w post an article and exit" +msgstr " -w posta en artikel och avsluta" #: src/lang.c:910 -msgid "Article not signed and no public keys found" -msgstr "" +msgid " -o post all postponed articles and exit" +msgstr "" + +#: src/lang.c:911 +msgid " -R read news saved by -S option" +msgstr "" #: src/lang.c:912 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "" +msgid " -s dir save news directory [default=%s]" +msgstr "" #: src/lang.c:913 -#, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " -msgstr "" +msgid " -S save new news for later reading (batch mode)" +msgstr "" #: src/lang.c:914 +msgid " -z start if any unread news" +msgstr " -z starta om det finns olästa diskussioner" + +#: src/lang.c:915 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "" +msgid "A Usenet reader.\n" + "\n" + "Usage: %s [options] [newsgroup[,...]]" +msgstr "En applikation för att läsa diskussionsgrupper.\n" + "\n" + "Användning: %s [flaggor] [diskussionsgrupp[,...]]" #: src/lang.c:916 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "" +msgid " -v verbose output for batch mode options" +msgstr "" #: src/lang.c:917 -#, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " -msgstr "" +msgid " -V print version & date information" +msgstr " -V skriv ut version & datuminformation" #: src/lang.c:918 #, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "" +msgid "%s only useful without batch mode operations\n" +msgstr "" + +#: src/lang.c:919 +#, c-format +msgid "%s only useful for batch mode operations\n" +msgstr "" + +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "" #: src/lang.c:922 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " -msgstr "" +msgid "\n" + "%s%d out of range (0 - %d). Reset to 0" +msgstr "" #: src/lang.c:923 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " -msgstr "" +msgid "View '%s' (%s/%s)?" +msgstr "Visa \"%s\" (%s/%s)?" -#: src/lang.c:924 +#: src/lang.c:925 #, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "" +msgid "\n" + "Warning: posting exceeds %d columns. Line %d is the first long one:\n" + "%-100s\n" +msgstr "" #: src/lang.c:926 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " -msgstr "" +msgid "\n" + "Warning: article unchanged after editing\n" +msgstr "" #: src/lang.c:927 -#, c-format -msgid "%s=quit, %s=edit, %s=send [%%s]: " -msgstr "" +msgid "\n" + "Warning: \"Subject:\" contains only whitespaces.\n" +msgstr "" #: src/lang.c:928 -#, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "" +msgid "\n" + "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" +msgstr "" + +#: src/lang.c:930 +msgid "\n" + "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" + " with \"Re: \" and does not contain \"(was:\".\n" +msgstr "" + +#: src/lang.c:933 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly written by you. This will " + "wipe\n" + " the article from most news servers throughout the world, but there is " + "no\n" + " guarantee that it will work.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "" #: src/lang.c:937 -msgid "Try cache_overview_files to speed up things.\n" -msgstr "" - -#: src/lang.c:938 -msgid "Tin will use local index files instead.\n" -msgstr "" - -#: src/lang.c:939 -msgid "Cannot find NNTP server name" -msgstr "" - -#: src/lang.c:940 -#, c-format -msgid "Connecting to %s:%d..." -msgstr "Ansluter till %s:%d..." - -#: src/lang.c:941 -msgid "Disconnecting from server...\n" -msgstr "Kopplar ner från server...\n" +msgid "\n" + "Warning: You are using a non-plain transfer encoding (such as base64 or\n" + " quoted-printable) and an external inews program to submit your\n" + " article. If a signature is appended by that inews program it will\n" + " not be encoded properly.\n" +msgstr "" #: src/lang.c:942 -#, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" -msgstr "" +msgid "\n" + "Warning: \"example\" is a reserved hierarchy!\n" +msgstr "" #: src/lang.c:943 #, c-format -msgid "Failed to connect to NNTP server %s. Exiting..." -msgstr "" - -#: src/lang.c:944 -msgid "205 Closing connection" -msgstr "205 Stänger anslutning" +msgid "\n" + "\n" + "You are upgrading to tin %s from an earlier version.\n" + "Some values in your %s file have changed!\n" + "Read WHATSNEW, etc...\n" +msgstr "" #: src/lang.c:945 -msgid "Your server does not support the NNTP XOVER or OVER command.\n" -msgstr "" - -#: src/lang.c:946 -msgid "Connection to news server has timed out. Reconnect?" -msgstr "" - -#: src/lang.c:947 -#, c-format -msgid "Put the server name in the file %s,\n" - "or set the environment variable NNTPSERVER" -msgstr "" - -#: src/lang.c:948 -msgid " -A force authentication on connect" -msgstr " -A tvinga autentisering vid anslutning" - -#: src/lang.c:949 #, c-format -msgid " -g serv read news from NNTP server serv [default=%s]" -msgstr "" +msgid "\n" + "\n" + "You are downgrading to tin %s from a more recent version!\n" + "Some values in your %s file may be ignored, others might have changed!\n" +msgstr "" -#: src/lang.c:950 +#: src/lang.c:948 #, c-format -msgid " -p port use port as NNTP port [default=%d]" -msgstr "" - -#: src/lang.c:951 -msgid " -Q quick start. Same as -nqd" -msgstr " -Q snabbstart. Samma som -nqd" +msgid "Warning: tin wrote fewer groups to your\n" + "\t%s\n" + "than it read at startup. If you didn't unsubscribe from %ld %s during\n" + "this session this indicates an error and you should backup your %s\n" + "before you start tin once again!\n" +msgstr "" #: src/lang.c:952 -msgid " -l use only LIST instead of GROUP (-n) command" -msgstr "" +#, c-format +msgid "\n" + "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" +msgstr "" #: src/lang.c:953 -msgid " -n only read subscribed .newsrc groups from NNTP server" -msgstr "" +#, c-format +msgid "Warning: Only %d out of %d articles were saved" +msgstr "" -#: src/lang.c:955 +#: src/lang.c:954 #, c-format -msgid "%s/tcp: Unknown service.\n" -msgstr "%s/tcp: Okänd tjänst.\n" +msgid "\n" + "Warning: Your signature is longer than %d lines. Since signatures usually " + "do\n" + " not transport any useful information, they should be as short " + "as\n" + " possible.\n" +msgstr "" #: src/lang.c:958 -msgid "\n" - "socket or connect problem\n" -msgstr "" +#, c-format +msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " +msgstr "" + +#: src/lang.c:959 +msgid "\n" + "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" +msgstr "" #: src/lang.c:960 +msgid "Writing attributes file..." +msgstr "Skriver attributfil..." + +#: src/lang.c:962 #, c-format -msgid "\n" - "Connection to %s: " -msgstr "\n" - "Anslutning till %s: " - -#: src/lang.c:961 -msgid "Giving up...\n" -msgstr "Ger upp...\n" +msgid "%d Responses" +msgstr "%d svar" #: src/lang.c:964 -msgid "Your server does not have Xref: in its XOVER information.\n" - "Tin will try to use XHDR XREF instead (slows down things a bit).\n" -msgstr "" +#, c-format +msgid "Added %d %s" +msgstr "Lade till %d %s" + +#: src/lang.c:965 +msgid "No unsubscribed groups to show" +msgstr "" + +#: src/lang.c:966 +msgid "Showing subscribed to groups only" +msgstr "" #: src/lang.c:967 -msgid "Your server does not have Xref: in its XOVER information.\n" -msgstr "" +msgid "Yes " +msgstr "Ja " -#: src/lang.c:970 -#, c-format -msgid "Can't open %s. Try %s -r to read news via NNTP.\n" -msgstr "Kan inte öppna %s. Försök med %s -r för att läsa diskussionsgrupper via " - "NNTP.\n" +#: src/lang.c:968 +msgid " You have mail" +msgstr " Du har post" #: src/lang.c:973 -msgid " -Q quick start. Same as -qd" -msgstr " -Q snabbstart. Samma som -qd" +#, c-format +msgid "\n" + "Warning: Posting is in %s and contains characters which are not\n" + " in your selected MM_NETWORK_CHARSET: %s.\n" + " These characters will be replaced by '?' if you post this\n" + " article unchanged. To avoid garbling your article please either\n" + " edit it and remove those characters or change the setting of\n" + " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" + " M)enu option.\n" +msgstr "" + +#: src/lang.c:984 +msgid " -D mode debug mode" +msgstr "" + +#: src/lang.c:988 +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly not written by you. This " + "will\n" + " wipe the article from lots of news servers throughout the world;\n" + " Usenet's majority considers this rather inappropriate, to say the " + "least.\n" + " Only press 'd' if you are absolutely positive that you are ready to " + "take\n" + " the rap.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "" -#: src/lang.c:974 -msgid " -l read only active file instead of scanning spool (-n) command" -msgstr "" +#: src/lang.c:997 +msgid "toggle color" +msgstr "växla färg" -#: src/lang.c:975 -msgid " -n only read subscribed .newsrc groups from spool" -msgstr "" +#: src/lang.c:998 +msgid "# Changing colors of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" +msgstr "" + +#: src/lang.c:1018 +msgid " -a toggle color flag" +msgstr "" + +#: src/lang.c:1022 +msgid "\n" + "Error: Followup-To set to more than one newsgroup!\n" +msgstr "" + +#: src/lang.c:1023 +#, c-format +msgid "\n" + "Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "" + +#: src/lang.c:1024 +#, c-format +msgid "\n" + "Error: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "" -#: src/lang.c:976 -msgid "Your server does not have Xref: in its NOV-files.\n" -msgstr "Din server har inte Xref: i sina NOV-filer.\n" +#: src/lang.c:1025 +#, c-format +msgid "\n" + "Error: \"%s\" is not a valid newsgroup!\n" +msgstr "" -#: src/lang.c:980 -msgid "Posting using external inews failed. Use built in inews instead?" -msgstr "" +#: src/lang.c:1027 +msgid "\n" + "Warning: Followup-To set to more than one newsgroup!\n" +msgstr "" -#: src/lang.c:981 -msgid "It worked! Should I always use my built in inews from now on?" -msgstr "" +#: src/lang.c:1028 +#, c-format +msgid "\n" + "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "" -#: src/lang.c:989 +#: src/lang.c:1029 #, c-format -msgid "%d %s printed" -msgstr "%d %s utskriven" +msgid "\n" + "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "" -#: src/lang.c:990 -msgid "output article/thread/hot/pattern/tagged articles to printer" -msgstr "" +#: src/lang.c:1030 +#, c-format +msgid "\n" + "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" +msgstr "" -#: src/lang.c:991 -msgid "Print" -msgstr "Skriv ut" +#: src/lang.c:1031 +#, c-format +msgid "\n" + "Warning: \"%s\" is not a valid newsgroup at this site!\n" +msgstr "" -#: src/lang.c:992 -msgid "Printing..." -msgstr "Skriver ut..." +#: src/lang.c:1035 +#, c-format +msgid "%d files successfully written from %d articles. %d %s occurred." +msgstr "" -#: src/lang.c:996 -msgid "pipe article/thread/hot/pattern/tagged articles into command" -msgstr "" +#: src/lang.c:1036 +msgid "Missing parts." +msgstr "" -#: src/lang.c:997 -msgid "No command" -msgstr "Inget kommando" +#: src/lang.c:1037 +msgid "No beginning." +msgstr "Ingen början." -#: src/lang.c:998 -msgid "Pipe" -msgstr "Rör" +#: src/lang.c:1038 +msgid "No data." +msgstr "Inget data." -#: src/lang.c:999 -#, fuzzy, c-format -msgid "Pipe to command [%.*s]> " -msgstr "Öppna rör till kommando [%.*s]> " +#: src/lang.c:1039 +msgid "Unknown error." +msgstr "Okänt fel." -#: src/lang.c:1000 -msgid "Piping..." -msgstr "" - -#: src/lang.c:1002 -msgid "Piping not enabled." -msgstr "" - -#: src/lang.c:1006 -#, c-format -msgid "\n" - "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" - " The only allowable space is the one separating the colon (:)\n" - " from the contents. Use a comma (,) to separate multiple\n" - " newsgroup names.\n" -msgstr "" - -#: src/lang.c:1011 -#, c-format -msgid "\n" - "Error: The \"%s:\" line is continued in the next line. Since\n" - " the line may not contain whitespace, this is not allowed.\n" - " Please write all newsgroups into a single line.\n" -msgstr "" - -#: src/lang.c:1016 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line is continued in the next line.\n" - " This is a very new feature and may not be accepted by all servers.\n" - " To avoid trouble please write all newsgroups into a single line.\n" -msgstr "" - -#: src/lang.c:1020 -#, c-format -msgid "\n" - "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" -msgstr "" +#: src/lang.c:1042 +#, c-format +msgid "\tChecksum of %s (%ld %s)" +msgstr "\tKontrollsumma för %s (%ld %s)" -#: src/lang.c:1025 -msgid "\n" - " If your article contains quoted text please take some time to pare it " - "down\n" - " to just the key points to which you are responding, or people will " - "think\n" - " you are a dweeb! Many people have the habit of skipping any article " - "whose\n" - " first page is largely quoted material. Format your article to fit in " - "less\n" - " then 80 chars, since that's the conventional size (72 is a good choice " - "as\n" - " it allows quoting without exceeding the limit). If your lines are too " - "long\n" - " they'll wrap around ugly and people won't read what you write. If " - "you\n" - " aren't careful and considerate in formatting your posting, people " - "are\n" - " likely to ignore it completely. It's a crowded net out there.\n" -msgstr "" +#: src/lang.c:1047 +msgid "Reading mail active file... " +msgstr "" -#: src/lang.c:1038 -msgid "shell escape" -msgstr "" +#: src/lang.c:1048 +msgid "Reading mailgroups file... " +msgstr "" -#: src/lang.c:1039 -#, c-format -msgid "Shell Command (%s)" -msgstr "Skalkommando (%s)" +#: src/lang.c:1052 +msgid "perform PGP operations on article" +msgstr "genomför PGP-operationer på artikel" + +#: src/lang.c:1053 +msgid "Add key(s) to public keyring?" +msgstr "" -#: src/lang.c:1040 +#: src/lang.c:1054 #, c-format -msgid "Enter shell command [%s]> " -msgstr "Ange skalkommando [%s]> " +msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " +msgstr "%s=kryptera, %s=signera, %s=båda, %s=avsluta: " -#: src/lang.c:1044 +#: src/lang.c:1055 #, c-format -msgid "%s: Can't get entry for TERM\n" -msgstr "" +msgid "%s=sign, %s=sign & include public key, %s=quit: " +msgstr "%s=signera, %s=signera & inkludera publik nyckel, %s=avsluta: " -#: src/lang.c:1048 +#: src/lang.c:1056 #, c-format -msgid "Group %.*s ('q' to quit)..." -msgstr "Grupp %.*s (\"q\" för att avsluta)..." +msgid "PGP has not been set up (can't open %s)" +msgstr "" -#: src/lang.c:1050 -#, c-format -msgid "Group %.*s..." -msgstr "Grupp %.*s..." +#: src/lang.c:1057 +msgid "Article not signed and no public keys found" +msgstr "" -#: src/lang.c:1054 -msgid "Server unavailable\n" -msgstr "Server ej tillgänglig\n" +#: src/lang.c:1059 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "" #: src/lang.c:1060 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" - "s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " +msgstr "" #: src/lang.c:1061 #, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" #: src/lang.c:1063 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "" #: src/lang.c:1064 #, c-format -msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " +msgstr "" -#: src/lang.c:1068 +#: src/lang.c:1065 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" #: src/lang.c:1069 #, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " +msgstr "" + +#: src/lang.c:1070 +#, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " +msgstr "" #: src/lang.c:1071 #, c-format -msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "" +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" + +#: src/lang.c:1073 +#, c-format +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " +msgstr "" + +#: src/lang.c:1074 +#, c-format +msgid "%s=quit, %s=edit, %s=send [%%s]: " +msgstr "" + +#: src/lang.c:1075 +#, c-format +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "" + +#: src/lang.c:1084 +msgid "Try cache_overview_files to speed up things.\n" +msgstr "" + +#: src/lang.c:1085 +msgid "Tin will use local index files instead.\n" +msgstr "" + +#: src/lang.c:1086 +msgid "Cannot find NNTP server name" +msgstr "" + +#: src/lang.c:1087 +#, c-format +msgid "Connecting to %s:%u..." +msgstr "Ansluter till %s:%u..." -#: src/lang.c:1072 +#: src/lang.c:1088 +msgid "Disconnecting from server...\n" +msgstr "Kopplar ner från server...\n" + +#: src/lang.c:1089 +#, c-format +msgid "Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" +msgstr "" + +#: src/lang.c:1090 +#, c-format +msgid "Failed to connect to NNTP server %s. Exiting..." +msgstr "" + +#: src/lang.c:1091 +msgid "205 Closing connection" +msgstr "205 Stänger anslutning" + +#: src/lang.c:1092 +msgid "Your server does not support the NNTP XOVER or OVER command.\n" +msgstr "" + +#: src/lang.c:1093 +msgid "Connection to news server has timed out. Reconnect?" +msgstr "" + +#: src/lang.c:1094 #, c-format -msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "" +msgid "Put the server name in the file %s,\n" + "or set the environment variable NNTPSERVER" +msgstr "" -#: src/lang.c:1078 -msgid "Terminal does not support color" -msgstr "" +#: src/lang.c:1095 +msgid " -A force authentication on connect" +msgstr " -A tvinga autentisering vid anslutning" -#: src/lang.c:1083 +#: src/lang.c:1096 #, c-format -msgid "Trying %s" -msgstr "Försöker med %s" +msgid " -g serv read news from NNTP server serv [default=%s]" +msgstr "" -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 src/refs.c:296 -msgid "None" -msgstr "Ingen" +#: src/lang.c:1097 +#, c-format +msgid " -p port use port as NNTP port [default=%d]" +msgstr "" #: src/lang.c:1098 -msgid "Subject" -msgstr "Ämne" +msgid " -Q quick start. Same as -nqd" +msgstr " -Q snabbstart. Samma som -nqd" #: src/lang.c:1099 -msgid "References" -msgstr "Referenser" +msgid " -r read news remotely from default NNTP server" +msgstr "" #: src/lang.c:1100 -msgid "Both Subject and References" -msgstr "" +msgid " -l use only LIST instead of GROUP (-n) command" +msgstr "" #: src/lang.c:1101 -msgid "Multipart Subject" -msgstr "" +msgid " -n only read subscribed .newsrc groups from NNTP server" +msgstr "" + +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" +msgstr "" + +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr "" + +#: src/lang.c:1105 +msgid "\n" + "socket or connect problem\n" +msgstr "" + +#: src/lang.c:1107 +#, c-format +msgid "\n" + "Connection to %s: " +msgstr "\n" + "Anslutning till %s: " + +#: src/lang.c:1108 +msgid "Giving up...\n" +msgstr "Ger upp...\n" + +#: src/lang.c:1110 +#, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "%s/tcp: Okänd tjänst.\n" + +#: src/lang.c:1114 +msgid "Your server does not have Xref: in its XOVER information.\n" + "Tin will try to use XHDR XREF instead (slows down things a bit).\n" +msgstr "" + +#: src/lang.c:1117 +msgid "Your server does not have Xref: in its XOVER information.\n" +msgstr "" + +#: src/lang.c:1120 +#, c-format +msgid "Can't open %s. Try %s -r to read news via NNTP.\n" +msgstr "Kan inte öppna %s. Försök med %s -r för att läsa diskussionsgrupper via " + "NNTP.\n" -#: src/lang.c:1102 -msgid "Percentage Match" -msgstr "" - -#: src/lang.c:1114 src/lang.c:1225 -msgid "No" -msgstr "Nej" - -#: src/lang.c:1115 src/lang.c:1227 -msgid "Yes" -msgstr "Ja" - -#: src/lang.c:1116 -msgid "Hide All" -msgstr "Göm alla" +#: src/lang.c:1123 +msgid " -Q quick start. Same as -qd" +msgstr " -Q snabbstart. Samma som -qd" #: src/lang.c:1124 -msgid "Address" -msgstr "Adress" +msgid " -l read only active file instead of scanning spool (-n) command" +msgstr "" #: src/lang.c:1125 -msgid "Full Name" -msgstr "Hela namnet" +msgid " -n only read subscribed .newsrc groups from spool" +msgstr "" #: src/lang.c:1126 -msgid "Address and Name" -msgstr "Adress och namn" +msgid "Your server does not have Xref: in its NOV-files.\n" +msgstr "Din server har inte Xref: i sina NOV-filer.\n" -#: src/lang.c:1133 -msgid "Max" -msgstr "Max" - -#: src/lang.c:1134 -msgid "Sum" -msgstr "Summa" +#: src/lang.c:1130 +msgid "Posting using external inews failed. Use built in inews instead?" +msgstr "" + +#: src/lang.c:1131 +msgid "It worked! Should I always use my built in inews from now on?" +msgstr "" #: src/lang.c:1135 -msgid "Average" -msgstr "Medelvärde" +#, c-format +msgid "%d %s printed" +msgstr "%d %s utskriven" -#: src/lang.c:1140 -msgid "Lines" -msgstr "Rader" - -#: src/lang.c:1141 -msgid "Score" -msgstr "Poäng" +#: src/lang.c:1136 +msgid "output article/thread/hot/pattern/tagged articles to printer" +msgstr "" + +#: src/lang.c:1137 +msgid "Print" +msgstr "Skriv ut" + +#: src/lang.c:1138 +msgid "Printing..." +msgstr "Skriver ut..." #: src/lang.c:1142 -msgid "Lines & Score" -msgstr "Rader & poäng" +msgid "pipe article/thread/hot/pattern/tagged articles into command" +msgstr "" -#: src/lang.c:1151 -msgid "Black" -msgstr "Svart" +#: src/lang.c:1143 +msgid "No command" +msgstr "Inget kommando" + +#: src/lang.c:1144 +msgid "Pipe" +msgstr "Rör" -#: src/lang.c:1152 -msgid "Red" -msgstr "Röd" +#: src/lang.c:1145 +#, fuzzy, c-format +msgid "Pipe to command [%.*s]> " +msgstr "Öppna rör till kommando [%.*s]> " -#: src/lang.c:1153 -msgid "Green" -msgstr "Grön" - -#: src/lang.c:1154 -msgid "Brown" -msgstr "Brun" - -#: src/lang.c:1155 -msgid "Blue" -msgstr "Blå" - -#: src/lang.c:1156 -msgid "Pink" -msgstr "Rosa" +#: src/lang.c:1146 +msgid "Piping..." +msgstr "" + +#: src/lang.c:1148 +msgid "Piping not enabled." +msgstr "" -#: src/lang.c:1157 -msgid "Cyan" -msgstr "Turkos" +#: src/lang.c:1152 +#, c-format +msgid "\n" + "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" + " The only allowable space is the one separating the colon (:)\n" + " from the contents. Use a comma (,) to separate multiple\n" + " newsgroup names.\n" +msgstr "" -#: src/lang.c:1158 -msgid "White" -msgstr "Vit" - -#: src/lang.c:1159 -msgid "Gray" -msgstr "Grå" - -#: src/lang.c:1160 -msgid "Light Red" -msgstr "Ljusröd" - -#: src/lang.c:1161 -msgid "Light Green" -msgstr "Ljusgrön" +#: src/lang.c:1157 +#, c-format +msgid "\n" + "Error: The \"%s:\" line is continued in the next line. Since\n" + " the line may not contain whitespace, this is not allowed.\n" + " Please write all newsgroups into a single line.\n" +msgstr "" #: src/lang.c:1162 -msgid "Yellow" -msgstr "Gul" - -#: src/lang.c:1163 -msgid "Light Blue" -msgstr "Ljusblå" - -#: src/lang.c:1164 -msgid "Light Pink" -msgstr "Ljusrosa" - -#: src/lang.c:1165 -msgid "Light Cyan" -msgstr "Ljusturkos" +#, c-format +msgid "\n" + "Warning: The \"%s:\" line is continued in the next line.\n" + " This is a very new feature and may not be accepted by all servers.\n" + " To avoid trouble please write all newsgroups into a single line.\n" +msgstr "" #: src/lang.c:1166 -msgid "Light White" -msgstr "Ljusvit" - -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 -msgid "Nothing" -msgstr "Ingenting" - -#: src/lang.c:1175 -msgid "Mark" -msgstr "Markera" - -#: src/lang.c:1176 -msgid "Space" -msgstr "Blanksteg" - -#: src/lang.c:1183 -msgid "Normal" -msgstr "Normal" +#, c-format +msgid "\n" + "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" +msgstr "" + +#: src/lang.c:1171 +msgid "\n" + " If your article contains quoted text please take some time to pare it " + "down\n" + " to just the key points to which you are responding, or people will " + "think\n" + " you are a dweeb! Many people have the habit of skipping any article " + "whose\n" + " first page is largely quoted material. Format your article to fit in " + "less\n" + " then 80 chars, since that's the conventional size (72 is a good choice " + "as\n" + " it allows quoting without exceeding the limit). If your lines are too " + "long\n" + " they'll wrap around ugly and people won't read what you write. If " + "you\n" + " aren't careful and considerate in formatting your posting, people " + "are\n" + " likely to ignore it completely. It's a crowded net out there.\n" +msgstr "" #: src/lang.c:1184 -msgid "Best highlighting" -msgstr "" +msgid "shell escape" +msgstr "" #: src/lang.c:1185 -msgid "Underline" -msgstr "Understruken" +#, c-format +msgid "Shell Command (%s)" +msgstr "Skalkommando (%s)" #: src/lang.c:1186 -msgid "Reverse video" -msgstr "" +#, c-format +msgid "Enter shell command [%s]> " +msgstr "Ange skalkommando [%s]> " -#: src/lang.c:1187 -msgid "Blinking" -msgstr "Blinkande" - -#: src/lang.c:1188 -msgid "Half bright" -msgstr "" - -#: src/lang.c:1189 -msgid "Bold" -msgstr "Fet" +#: src/lang.c:1190 +#, c-format +msgid "%s: Can't get entry for TERM\n" +msgstr "" #: src/lang.c:1194 -msgid "none" -msgstr "ingen" - -#: src/lang.c:1195 -msgid "commands" -msgstr "kommandon" +#, c-format +msgid "Group %.*s ('q' to quit)..." +msgstr "Grupp %.*s (\"q\" för att avsluta)..." #: src/lang.c:1196 -msgid "select" -msgstr "välj" - -#: src/lang.c:1198 -msgid "commands & quit" -msgstr "" - -#: src/lang.c:1199 -msgid "commands & select" -msgstr "" +#, c-format +msgid "Group %.*s..." +msgstr "Grupp %.*s..." #: src/lang.c:1200 -msgid "quit & select" -msgstr "" +msgid "Server unavailable\n" +msgstr "Server ej tillgänglig\n" -#: src/lang.c:1201 -msgid "commands & quit & select" -msgstr "" - -#: src/lang.c:1226 -msgid "Shell archive" -msgstr "Skalarkiv" - -#: src/lang.c:1232 -msgid "Subject: (descending)" -msgstr "Ämne: (fallande)" - -#: src/lang.c:1233 -msgid "Subject: (ascending)" -msgstr "Ämne: (stigande)" - -#: src/lang.c:1234 -msgid "From: (descending)" -msgstr "Från: (fallande)" - -#: src/lang.c:1235 -msgid "From: (ascending)" -msgstr "Från: (stigande)" - -#: src/lang.c:1236 -msgid "Date: (descending)" -msgstr "Datum: (fallande)" - -#: src/lang.c:1237 -msgid "Date: (ascending)" -msgstr "Datum: (stigande)" - -#: src/lang.c:1238 src/lang.c:1246 -msgid "Score (descending)" -msgstr "Poäng (fallande)" - -#: src/lang.c:1239 src/lang.c:1247 -msgid "Score (ascending)" -msgstr "Poäng (stigande)" - -#: src/lang.c:1240 -msgid "Lines: (descending)" -msgstr "Rader: (fallande)" - -#: src/lang.c:1241 -msgid "Lines: (ascending)" -msgstr "Rader: (stigande)" - -#: src/lang.c:1252 -msgid "Always Keep" -msgstr "Behåll alltid" - -#: src/lang.c:1253 -msgid "Always Remove" -msgstr "Ta alltid bort" - -#: src/lang.c:1254 -msgid "Mark with D on selection screen" -msgstr "" - -#: src/lang.c:1259 -msgid "Kill only unread arts" -msgstr "" - -#: src/lang.c:1260 -msgid "Kill all arts & show with K" -msgstr "" +#: src/lang.c:1206 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" + "s=post" +msgstr "" -#. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 -msgid "Kill all arts and never show" -msgstr "" - -#: src/lang.c:1266 -msgid "Nothing special" -msgstr "Ingenting speciellt" - -#: src/lang.c:1267 -msgid "Compress quotes" -msgstr "" - -#: src/lang.c:1268 -msgid "Quote signatures" -msgstr "" - -#: src/lang.c:1269 -msgid "Compress quotes, quote sigs" -msgstr "" +#: src/lang.c:1207 +#, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1209 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1210 +#, c-format +msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1214 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1215 +#, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1217 +#, c-format +msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1218 +#, c-format +msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "" + +#: src/lang.c:1224 +msgid "Terminal does not support color" +msgstr "" + +#: src/lang.c:1229 +#, c-format +msgid "Trying %s" +msgstr "Försöker med %s" + +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 src/refs.c:288 +msgid "None" +msgstr "Ingen" + +#: src/lang.c:1244 +msgid "Subject" +msgstr "Ämne" + +#: src/lang.c:1245 +msgid "References" +msgstr "Referenser" + +#: src/lang.c:1246 +msgid "Both Subject and References" +msgstr "" + +#: src/lang.c:1247 +msgid "Multipart Subject" +msgstr "" + +#: src/lang.c:1248 +msgid "Percentage Match" +msgstr "" + +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 +msgid "No" +msgstr "Nej" + +#: src/lang.c:1261 src/lang.c:1413 +msgid "Yes" +msgstr "Ja" + +#: src/lang.c:1262 +msgid "Hide All" +msgstr "Göm alla" #: src/lang.c:1270 -msgid "Quote empty lines" -msgstr "" +msgid "Address" +msgstr "Adress" #: src/lang.c:1271 -msgid "Compress quotes, quote empty lines" -msgstr "" +msgid "Full Name" +msgstr "Hela namnet" #: src/lang.c:1272 -msgid "Quote sigs & empty lines" -msgstr "" +msgid "Address and Name" +msgstr "Adress och namn" -#: src/lang.c:1273 -msgid "Comp. q., quote sigs & empty lines" -msgstr "" +#: src/lang.c:1279 +msgid "Max" +msgstr "Max" + +#: src/lang.c:1280 +msgid "Sum" +msgstr "Summa" + +#: src/lang.c:1281 +msgid "Average" +msgstr "Medelvärde" + +#: src/lang.c:1286 +msgid "Lines" +msgstr "Rader" + +#: src/lang.c:1287 +msgid "Score" +msgstr "Poäng" + +#: src/lang.c:1288 +msgid "Lines & Score" +msgstr "Rader & poäng" + +#: src/lang.c:1297 +msgid "Black" +msgstr "Svart" + +#: src/lang.c:1298 +msgid "Red" +msgstr "Röd" + +#: src/lang.c:1299 +msgid "Green" +msgstr "Grön" + +#: src/lang.c:1300 +msgid "Brown" +msgstr "Brun" + +#: src/lang.c:1301 +msgid "Blue" +msgstr "Blå" + +#: src/lang.c:1302 +msgid "Pink" +msgstr "Rosa" + +#: src/lang.c:1303 +msgid "Cyan" +msgstr "Turkos" + +#: src/lang.c:1304 +msgid "White" +msgstr "Vit" + +#: src/lang.c:1305 +msgid "Gray" +msgstr "Grå" + +#: src/lang.c:1306 +msgid "Light Red" +msgstr "Ljusröd" + +#: src/lang.c:1307 +msgid "Light Green" +msgstr "Ljusgrön" + +#: src/lang.c:1308 +msgid "Yellow" +msgstr "Gul" + +#: src/lang.c:1309 +msgid "Light Blue" +msgstr "Ljusblå" + +#: src/lang.c:1310 +msgid "Light Pink" +msgstr "Ljusrosa" #: src/lang.c:1311 -msgid "no" -msgstr "nej" +msgid "Light Cyan" +msgstr "Ljusturkos" #: src/lang.c:1312 -msgid "with headers" -msgstr "" +msgid "Light White" +msgstr "Ljusvit" -#: src/lang.c:1313 -msgid "without headers" -msgstr "" - -#: src/lang.c:1320 src/lang.c:1326 -msgid "NFKC" -msgstr "" - -#: src/lang.c:1321 -msgid "NFKD" -msgstr "" +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 +msgid "Nothing" +msgstr "Ingenting" #: src/lang.c:1322 -msgid "NFC" -msgstr "" +msgid "Space" +msgstr "Blanksteg" -#: src/lang.c:1323 -msgid "NFD" -msgstr "" +#: src/lang.c:1329 +msgid "Normal" +msgstr "Normal" + +#: src/lang.c:1330 +msgid "Best highlighting" +msgstr "" + +#: src/lang.c:1331 +msgid "Underline" +msgstr "Understruken" + +#: src/lang.c:1332 +msgid "Reverse video" +msgstr "" + +#: src/lang.c:1333 +msgid "Blinking" +msgstr "Blinkande" #: src/lang.c:1334 -msgid "Display Options" -msgstr "Visningsalternativ" +msgid "Half bright" +msgstr "" + +#: src/lang.c:1335 +msgid "Bold" +msgstr "Fet" #: src/lang.c:1341 -msgid "Color Options" -msgstr "" +msgid "Cc" +msgstr "" -#: src/lang.c:1348 -msgid "Article-Limiting Options" -msgstr "" +#: src/lang.c:1342 +msgid "Bcc" +msgstr "" + +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "" + +#: src/lang.c:1348 src/lang.c:1360 +msgid "none" +msgstr "ingen" + +#: src/lang.c:1349 +msgid "commands" +msgstr "kommandon" + +#: src/lang.c:1350 +msgid "select" +msgstr "välj" + +#: src/lang.c:1352 +msgid "commands & quit" +msgstr "" + +#: src/lang.c:1353 +msgid "commands & select" +msgstr "" #: src/lang.c:1354 -msgid "Posting/Mailing Options" -msgstr "" +msgid "quit & select" +msgstr "" + +#: src/lang.c:1355 +msgid "commands & quit & select" +msgstr "" + +#: src/lang.c:1361 +msgid "PageDown" +msgstr "" + +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "" + +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "" + +#: src/lang.c:1368 +#, fuzzy +msgid "Subject: (case sensitive)" +msgstr "Ämne: (stigande)" + +#: src/lang.c:1369 +#, fuzzy +msgid "Subject: (ignore case)" +msgstr "Ämne: (stigande)" + +#: src/lang.c:1370 +#, fuzzy +msgid "From: (case sensitive)" +msgstr "Från: (stigande)" -#: src/lang.c:1360 -msgid "Saving/Printing Options" -msgstr "" - -#: src/lang.c:1366 -msgid "Expert Options" -msgstr "" +#: src/lang.c:1371 +#, fuzzy +msgid "From: (ignore case)" +msgstr "Från: (stigande)" #: src/lang.c:1372 -msgid "Filtering Options" -msgstr "" +msgid "Msg-ID: & full References: line" +msgstr "" + +#: src/lang.c:1373 +msgid "Msg-ID: & last References: only" +msgstr "" + +#: src/lang.c:1374 +msgid "Message-ID: entry only" +msgstr "" + +#: src/lang.c:1375 +#, fuzzy +msgid "Lines:" +msgstr "Rader" + +#: src/lang.c:1380 +#, fuzzy +msgid "Don't trim article body" +msgstr "Sortera artiklar efter" -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 src/lang.c:1490 -#: src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 src/lang.c:1601 src/lang.c:1771 -#: src/lang.c:1777 src/lang.c:1783 src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 -#: src/lang.c:1862 src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 src/lang.c:1926 -#: src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 src/lang.c:1954 src/lang.c:1961 -#: src/lang.c:1968 src/lang.c:1975 src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 -#: src/lang.c:2003 src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 src/lang.c:2076 -#: src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 src/lang.c:2117 src/lang.c:2151 -#: src/lang.c:2204 src/lang.c:2211 src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 -#: src/lang.c:2312 src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 -msgid " toggles, sets, cancels." -msgstr "" - -#: src/lang.c:1378 -msgid "Show mini menu & posting etiquette" -msgstr "" - -#: src/lang.c:1379 -msgid "# If ON show a mini menu of useful commands at each level\n" - "# and posting etiquette after composing an article\n" -msgstr "" +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "" + +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "" + +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "" #: src/lang.c:1384 -msgid "Show short description for each newsgroup. toggles & sets." -msgstr "" +msgid "Compact multiple between text" +msgstr "" #: src/lang.c:1385 -msgid "Show description of each newsgroup" -msgstr "" +msgid "Compact multiple and skip leading" +msgstr "" #: src/lang.c:1386 -msgid "# If ON show group description text after newsgroup name at\n" - "# group selection level\n" -msgstr "" - -#: src/lang.c:1391 -msgid "Show Subject & From (author) fields in group menu. toggles & " - "sets." -msgstr "" - -#: src/lang.c:1392 -msgid "In group menu, show author by" -msgstr "" - -#: src/lang.c:1393 -msgid "# Part of from field to display\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = none\n" - "# 1 = address\n" - "# * 2 = full name\n" - "# 3 = both\n" -msgstr "" - -#: src/lang.c:1402 -msgid "Draw -> or highlighted bar for selection. toggles & sets." -msgstr "" - -#: src/lang.c:1403 -msgid "Draw -> instead of highlighted bar" -msgstr "" - -#: src/lang.c:1404 -msgid "# If ON use -> otherwise highlighted bar for selection\n" -msgstr "" - -#: src/lang.c:1409 -msgid "Use inverse video for page headers" -msgstr "" - -#: src/lang.c:1410 -msgid "# If ON use inverse video for page headers at different levels\n" -msgstr "" - -#: src/lang.c:1415 -msgid "Thread articles by" -msgstr "Tråda artiklar efter" - -#: src/lang.c:1416 -msgid "# Thread articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = Both (Subject and References)\n" - "# 4 = Multipart Subject\n" - "# 5 = Percentage Match\n" -msgstr "" +msgid "Compact multiple and skip trailing" +msgstr "" + +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "" + +#: src/lang.c:1412 +msgid "Shell archive" +msgstr "Skalarkiv" + +#: src/lang.c:1418 +msgid "Subject: (descending)" +msgstr "Ämne: (fallande)" + +#: src/lang.c:1419 +msgid "Subject: (ascending)" +msgstr "Ämne: (stigande)" + +#: src/lang.c:1420 +msgid "From: (descending)" +msgstr "Från: (fallande)" + +#: src/lang.c:1421 +msgid "From: (ascending)" +msgstr "Från: (stigande)" + +#: src/lang.c:1422 +msgid "Date: (descending)" +msgstr "Datum: (fallande)" + +#: src/lang.c:1423 +msgid "Date: (ascending)" +msgstr "Datum: (stigande)" + +#: src/lang.c:1424 src/lang.c:1432 +msgid "Score (descending)" +msgstr "Poäng (fallande)" + +#: src/lang.c:1425 src/lang.c:1433 +msgid "Score (ascending)" +msgstr "Poäng (stigande)" + +#: src/lang.c:1426 +msgid "Lines: (descending)" +msgstr "Rader: (fallande)" #: src/lang.c:1427 -msgid "Enter percentage match required to thread together. sets." -msgstr "" +msgid "Lines: (ascending)" +msgstr "Rader: (stigande)" -#: src/lang.c:1428 -msgid "Thread percentage match" -msgstr "" - -#: src/lang.c:1429 -#, c-format -msgid "# Thread percentage match...\n" - "# the percentage of characters in the subject of an article that must match\n" - "# a base article for both those articles to be considered to belong to the\n" - "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" - "# follow. If 80 is used here, then 80%% of the characters must match " - "exactly,\n" - "# no insertion of a character, for the two articles to be put in the same\n" - "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" - "# 'harppy' would be threaded separately from 'happy'\n" -msgstr "" +#: src/lang.c:1434 +msgid "Last posting date (descending)" +msgstr "" + +#: src/lang.c:1435 +msgid "Last posting date (ascending)" +msgstr "" + +#: src/lang.c:1440 +msgid "Always Keep" +msgstr "Behåll alltid" #: src/lang.c:1441 -msgid "Score of a thread" -msgstr "" +msgid "Always Remove" +msgstr "Ta alltid bort" #: src/lang.c:1442 -msgid "# Thread score\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = max\n" - "# 1 = sum\n" - "# 2 = average\n" -msgstr "" - -#: src/lang.c:1450 -msgid "Sort articles by Subject, From, Date or Score. toggles & sets." -msgstr "" - -#: src/lang.c:1451 -msgid "Sort articles by" -msgstr "Sortera artiklar efter" - -#: src/lang.c:1452 -msgid "# Sort articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject descending\n" - "# 2 = Subject ascending\n" - "# 3 = From descending\n" - "# 4 = From ascending\n" - "# 5 = Date descending\n" - "# * 6 = Date ascending\n" - "# 7 = Score descending\n" - "# 8 = Score ascending\n" - "# 9 = Lines descending\n" - "# 10 = Lines ascending\n" -msgstr "" - -#: src/lang.c:1468 -msgid "Sort threads by Nothing or Score. toggles & sets." -msgstr "" - -#: src/lang.c:1469 -msgid "Sort threads by" -msgstr "Sortera trådar efter" - -#: src/lang.c:1470 -msgid "# Sort thread by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = Score descending\n" - "# 2 = Score ascending\n" -msgstr "" - -#: src/lang.c:1478 -msgid "Put cursor at first/last unread art in groups. toggles & sets." -msgstr "" - -#: src/lang.c:1479 -msgid "Goto first unread article in group" -msgstr "" - -#: src/lang.c:1480 -msgid "# If ON put cursor at first unread art in group otherwise last art\n" -msgstr "" - -#: src/lang.c:1484 -msgid "Show all articles or only unread articles. toggles & sets." -msgstr "" - -#: src/lang.c:1485 -msgid "Show only unread articles" -msgstr "Visa endast olästa artiklar" - -#: src/lang.c:1486 -msgid "# If ON show only new/unread articles otherwise show all.\n" -msgstr "" - -#: src/lang.c:1491 -msgid "Show only groups with unread arts" -msgstr "" - -#: src/lang.c:1492 -msgid "# If ON show only subscribed to groups that contain unread articles.\n" -msgstr "" - -#: src/lang.c:1497 -msgid "Filter which articles" -msgstr "Filtrera vilka artiklar" - -#: src/lang.c:1498 -msgid "# Filter which articles\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = only kill unread articles\n" - "# 1 = kill all articles and show in threads marked with K\n" - "# 2 = kill all articles and never show them\n" -msgstr "" - -#: src/lang.c:1507 -msgid "Tab goes to next unread article" -msgstr "" - -#: src/lang.c:1508 -msgid "# If ON the TAB command will go to next unread article at article viewer " - "level\n" -msgstr "" - -#: src/lang.c:1512 -msgid "Scrolling with past the end of an art. jumps to the next unread one." -msgstr "" - -#: src/lang.c:1513 -msgid "Space goes to next unread article" -msgstr "" - -#: src/lang.c:1514 -msgid "# If ON the SPACE command will go to next unread article at article viewer\n" - "# level when the end of the article is reached (rn-style pager)\n" -msgstr "" - -#: src/lang.c:1519 -msgid "Scrolling with / past the end of an art. jumps to the unread one." -msgstr "" - -#: src/lang.c:1520 -msgid "PgDn goes to next unread article" -msgstr "" - -#: src/lang.c:1521 -msgid "# If ON the PGDN or DOWN command will go to next unread article when\n" - "# pressed at end of message\n" -msgstr "" - -#: src/lang.c:1527 -msgid "List thread using right arrow key" -msgstr "" - -#: src/lang.c:1528 -msgid "# If ON automatically list thread when entering it using right arrow key.\n" -msgstr "" - -#: src/lang.c:1532 -msgid "Enter character to indicate deleted articles. sets, cancels." -msgstr "" - -#: src/lang.c:1533 -msgid "Character to show deleted articles" -msgstr "" - -#: src/lang.c:1534 -msgid "# Character used to show that an art was deleted (default 'D')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1539 -msgid "Enter character to indicate articles in a range. sets, cancels." -msgstr "" - -#: src/lang.c:1540 -msgid "Character to show inrange articles" -msgstr "" - -#: src/lang.c:1541 -msgid "# Character used to show that an art is in a range (default '#')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1546 -msgid "Enter character to indicate that article will return. sets, " - "cancels." -msgstr "" - -#: src/lang.c:1547 -msgid "Character to show returning arts" -msgstr "" +msgid "Mark with D on selection screen" +msgstr "" + +#: src/lang.c:1447 +msgid "Kill only unread arts" +msgstr "" + +#: src/lang.c:1448 +msgid "Kill all arts & show with K" +msgstr "" + +#. TODO: s/K/art_marked_killed/ +#: src/lang.c:1449 +msgid "Kill all arts and never show" +msgstr "" + +#: src/lang.c:1454 +msgid "Nothing special" +msgstr "Ingenting speciellt" + +#: src/lang.c:1455 +msgid "Compress quotes" +msgstr "" + +#: src/lang.c:1456 +msgid "Quote signatures" +msgstr "" + +#: src/lang.c:1457 +msgid "Compress quotes, quote sigs" +msgstr "" + +#: src/lang.c:1458 +msgid "Quote empty lines" +msgstr "" + +#: src/lang.c:1459 +msgid "Compress quotes, quote empty lines" +msgstr "" + +#: src/lang.c:1460 +msgid "Quote sigs & empty lines" +msgstr "" + +#: src/lang.c:1461 +msgid "Comp. q., quote sigs & empty lines" +msgstr "" + +#: src/lang.c:1499 +msgid "no" +msgstr "nej" + +#: src/lang.c:1500 +msgid "with headers" +msgstr "" + +#: src/lang.c:1501 +msgid "without headers" +msgstr "" + +#: src/lang.c:1508 src/lang.c:1514 +msgid "NFKC" +msgstr "" + +#: src/lang.c:1509 +msgid "NFKD" +msgstr "" + +#: src/lang.c:1510 +msgid "NFC" +msgstr "" + +#: src/lang.c:1511 +msgid "NFD" +msgstr "" + +#: src/lang.c:1522 +msgid "Display Options" +msgstr "Visningsalternativ" + +#: src/lang.c:1529 +msgid "Color Options" +msgstr "" + +#: src/lang.c:1536 +msgid "Article-Limiting Options" +msgstr "" + +#: src/lang.c:1542 +msgid "Posting/Mailing Options" +msgstr "" #: src/lang.c:1548 -msgid "# Character used to show that an art will return (default '-')\n" - "# _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1553 -msgid "Enter character to indicate selected articles. sets, cancels." -msgstr "" +msgid "Saving/Printing Options" +msgstr "" #: src/lang.c:1554 -msgid "Character to show selected articles" -msgstr "" - -#: src/lang.c:1555 -msgid "# Character used to show that an art was auto-selected (default '*')\n" - "# _ is turned into ' '\n" -msgstr "" +msgid "Expert Options" +msgstr "" #: src/lang.c:1560 -msgid "Enter character to indicate recent articles. sets, cancels." -msgstr "" +msgid "Filtering Options" +msgstr "" -#: src/lang.c:1561 -msgid "Character to show recent articles" -msgstr "" - -#: src/lang.c:1562 -msgid "# Character used to show that an art is recent (default 'o')\n" - "# _ is turned into ' '\n" -msgstr "" +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 src/lang.c:1680 +#: src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 src/lang.c:1725 src/lang.c:1800 +#: src/lang.c:1808 src/lang.c:1998 src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 +#: src/lang.c:2028 src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 src/lang.c:2139 +#: src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 src/lang.c:2167 src/lang.c:2174 +#: src/lang.c:2181 src/lang.c:2188 src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 +#: src/lang.c:2216 src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 src/lang.c:2289 +#: src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 src/lang.c:2316 src/lang.c:2322 +#: src/lang.c:2339 src/lang.c:2351 src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 +#: src/lang.c:2458 src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 src/lang.c:2660 +#: src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 src/lang.c:2734 src/lang.c:2745 +#: src/lang.c:2751 src/lang.c:2789 +msgid " toggles, sets, cancels." +msgstr "" + +#: src/lang.c:1566 +msgid "Show mini menu & posting etiquette" +msgstr "" #: src/lang.c:1567 -msgid "Enter character to indicate unread articles. sets, cancels." -msgstr "" - -#: src/lang.c:1568 -msgid "Character to show unread articles" -msgstr "" - -#: src/lang.c:1569 -msgid "# Character used to show that an art is unread (default '+')\n" - "# _ is turned into ' '\n" -msgstr "" +msgid "# If ON show a mini menu of useful commands at each level\n" + "# and posting etiquette after composing an article\n" +msgstr "" + +#: src/lang.c:1572 +msgid "Show short description for each newsgroup. toggles & sets." +msgstr "" + +#: src/lang.c:1573 +msgid "Show description of each newsgroup" +msgstr "" #: src/lang.c:1574 -msgid "Enter character to indicate read articles. sets, cancels." -msgstr "" - -#: src/lang.c:1575 -msgid "Character to show read articles" -msgstr "" - -#: src/lang.c:1576 -msgid "# Character used to show that an art was read (default ' ')\n" - "# _ is turned into ' '\n" -msgstr "" +msgid "# If ON show group description text after newsgroup name at\n" + "# group selection level\n" +msgstr "" + +#: src/lang.c:1579 +msgid "Show Subject & From (author) fields in group menu. toggles & " + "sets." +msgstr "" + +#: src/lang.c:1580 +msgid "In group menu, show author by" +msgstr "" #: src/lang.c:1581 -msgid "Enter character to indicate killed articles. sets, cancels." -msgstr "" - -#: src/lang.c:1582 -msgid "Character to show killed articles" -msgstr "" - -#: src/lang.c:1583 -msgid "# Character used to show that an art was killed (default 'K')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1588 -msgid "Enter character to indicate read selected articles. sets, cancels." -msgstr "" - -#: src/lang.c:1589 -msgid "Character to show readselected arts" -msgstr "" +msgid "# Part of from field to display\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = none\n" + "# 1 = address\n" + "# * 2 = full name\n" + "# 3 = both\n" +msgstr "" #: src/lang.c:1590 -msgid "# Character used to show that an art was selected before read (default ':')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "" - -#: src/lang.c:1595 -msgid "Enter maximum length of newsgroup names displayed. sets." -msgstr "" - -#: src/lang.c:1596 -msgid "Max. length of group names shown" -msgstr "" +msgid "Draw -> or highlighted bar for selection. toggles & sets." +msgstr "" + +#: src/lang.c:1591 +msgid "Draw -> instead of highlighted bar" +msgstr "" + +#: src/lang.c:1592 +msgid "# If ON use -> otherwise highlighted bar for selection\n" +msgstr "" #: src/lang.c:1597 -msgid "# Maximum length of the names of newsgroups displayed\n" -msgstr "" +msgid "Use inverse video for page headers" +msgstr "" -#: src/lang.c:1602 -msgid "Show lines/score in listings" -msgstr "" +#: src/lang.c:1598 +msgid "# If ON use inverse video for page headers at different levels\n" +msgstr "" #: src/lang.c:1603 -msgid "# What informations should be displayed in article/thread listing\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = lines\n" - "# 2 = score\n" - "# 3 = lines & score\n" -msgstr "" - -#: src/lang.c:1612 -msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" - "2 = half page" -msgstr "" - -#: src/lang.c:1613 -msgid "Number of lines to scroll in pager" -msgstr "" - -#: src/lang.c:1614 -msgid "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behavior)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" -msgstr "" - -#: src/lang.c:1624 -msgid "Display signatures. toggles & sets." -msgstr "" - -#: src/lang.c:1625 -msgid "Display signatures" -msgstr "Visa signaturer" - -#: src/lang.c:1626 -msgid "# If OFF don't show signatures when displaying articles\n" -msgstr "" +msgid "Thread articles by" +msgstr "Tråda artiklar efter" -#: src/lang.c:1630 -msgid "Display uuencoded data as tagged attachments. toggles & sets." -msgstr "" +#: src/lang.c:1604 +msgid "# Thread articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = Both (Subject and References)\n" + "# 4 = Multipart Subject\n" + "# 5 = Percentage Match\n" +msgstr "" + +#: src/lang.c:1615 +msgid "Enter percentage match required to thread together. sets." +msgstr "" + +#: src/lang.c:1616 +msgid "Thread percentage match" +msgstr "" + +#: src/lang.c:1617 +#, c-format +msgid "# Thread percentage match...\n" + "# the percentage of characters in the subject of an article that must match\n" + "# a base article for both those articles to be considered to belong to the\n" + "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" + "# follow. If 80 is used here, then 80%% of the characters must match " + "exactly,\n" + "# no insertion of a character, for the two articles to be put in the same\n" + "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" + "# 'harppy' would be threaded separately from 'happy'\n" +msgstr "" + +#: src/lang.c:1629 +msgid "Score of a thread" +msgstr "" -#: src/lang.c:1631 -msgid "Display uue data as an attachment" -msgstr "" - -#: src/lang.c:1632 -msgid "# Handling of uuencoded data in the pager\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no, display raw uuencoded data\n" - "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" - "# size and filename, similar to how MIME attachments are displayed\n" - "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" - "# be folded into a tag line.\n" -msgstr "" - -#: src/lang.c:1642 -msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." -msgstr "" - -#: src/lang.c:1643 -msgid "Display \"a as Umlaut-a" -msgstr "Visa \"a som Umlaut-a" - -#: src/lang.c:1644 -msgid "# If ON decode German style TeX umlaut codes to ISO and\n" - "# show \"a as Umlaut-a, etc.\n" -msgstr "" - -#: src/lang.c:1649 src/lang.c:1659 -msgid "Space separated list of header fields" -msgstr "" - -#: src/lang.c:1650 -msgid "Display these header fields (or *)" -msgstr "" - -#: src/lang.c:1651 -msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" - "# place an '*' as this value. This is the only way a wildcard can be used.\n" - "# If you enter 'X-' as the value, you will see all headers beginning with\n" - "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " - "with\n" - "# spaces. Not defining anything turns off this option.\n" -msgstr "" - -#: src/lang.c:1660 -msgid "Do not display these header fields" -msgstr "" - -#: src/lang.c:1661 -msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" - "# An example of using both options might be if you thought X- headers were\n" - "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " - "you\n" - "# would do something like this:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Not defining anything turns off this option.\n" -msgstr "" - -#: src/lang.c:1671 -msgid "Do you want to enable automatic handling of multipart/alternative articles?" -msgstr "" - -#: src/lang.c:1672 -msgid "Skip multipart/alternative parts" -msgstr "" - -#: src/lang.c:1673 -msgid "# If ON strip multipart/alternative messages automatically\n" -msgstr "" - -#: src/lang.c:1678 -msgid "A regex used to decide which lines to show in col_quote." -msgstr "" - -#: src/lang.c:1679 -msgid "Regex used to show quoted lines" -msgstr "" - -#: src/lang.c:1680 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1686 -msgid "A regex used to decide which lines to show in col_quote2." -msgstr "" +#: src/lang.c:1630 +msgid "# Thread score\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = max\n" + "# 1 = sum\n" + "# 2 = average\n" +msgstr "" + +#: src/lang.c:1638 +msgid "Sort articles by Subject, From, Date or Score. toggles & sets." +msgstr "" + +#: src/lang.c:1639 +msgid "Sort articles by" +msgstr "Sortera artiklar efter" + +#: src/lang.c:1640 +msgid "# Sort articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject descending\n" + "# 2 = Subject ascending\n" + "# 3 = From descending\n" + "# 4 = From ascending\n" + "# 5 = Date descending\n" + "# * 6 = Date ascending\n" + "# 7 = Score descending\n" + "# 8 = Score ascending\n" + "# 9 = Lines descending\n" + "# 10 = Lines ascending\n" +msgstr "" + +#: src/lang.c:1656 +msgid "Sort threads by Nothing or Score. toggles & sets." +msgstr "" + +#: src/lang.c:1657 +msgid "Sort threads by" +msgstr "Sortera trådar efter" + +#: src/lang.c:1658 +msgid "# Sort thread by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = Score descending\n" + "# 2 = Score ascending\n" + "# 3 = Last posting date descending\n" + "# 4 = Last posting date ascending\n" +msgstr "" + +#: src/lang.c:1668 +msgid "Put cursor at first/last unread art in groups. toggles & sets." +msgstr "" + +#: src/lang.c:1669 +msgid "Go to first unread article in group" +msgstr "välj första artikel i lista" + +#: src/lang.c:1670 +msgid "# If ON put cursor at first unread art in group otherwise last art\n" +msgstr "" + +#: src/lang.c:1674 +msgid "Show all articles or only unread articles. toggles & sets." +msgstr "" + +#: src/lang.c:1675 +msgid "Show only unread articles" +msgstr "Visa endast olästa artiklar" + +#: src/lang.c:1676 +msgid "# If ON show only new/unread articles otherwise show all.\n" +msgstr "" + +#: src/lang.c:1681 +msgid "Show only groups with unread arts" +msgstr "" + +#: src/lang.c:1682 +msgid "# If ON show only subscribed to groups that contain unread articles.\n" +msgstr "" #: src/lang.c:1687 -msgid "Regex used to show twice quoted l." -msgstr "" +msgid "Filter which articles" +msgstr "Filtrera vilka artiklar" #: src/lang.c:1688 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted twice. Twice quoted lines are shown in col_quote2.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1694 -msgid "A regex used to decide which lines to show in col_quote3." -msgstr "" - -#: src/lang.c:1695 -msgid "Regex used to show >= 3 times q.l." -msgstr "" - -#: src/lang.c:1696 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1703 -msgid "A regex used to decide which words to show in col_markslashes." -msgstr "" - -#: src/lang.c:1704 -msgid "Regex used to highlight /slashes/" -msgstr "" - -#: src/lang.c:1705 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '/' are to be shown in col_markslashes.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1711 -msgid "A regex used to decide which words to show in col_markstars." -msgstr "" - -#: src/lang.c:1712 -msgid "Regex used to highlight *stars*" -msgstr "" - -#: src/lang.c:1713 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '*' are to be shown in col_markstars.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1719 -msgid "A regex used to decide which words to show in col_markstroke." -msgstr "" - -#: src/lang.c:1720 -msgid "Regex used to highlight -strokes-" -msgstr "" - -#: src/lang.c:1721 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '-' are to be shown in col_markstroke.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" +msgid "# Filter which articles\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = only kill unread articles\n" + "# 1 = kill all articles and show in threads marked with K\n" + "# 2 = kill all articles and never show them\n" +msgstr "" + +#: src/lang.c:1697 +msgid "Go to the next unread article with" +msgstr "" + +#: src/lang.c:1698 +msgid "# Go to the unread article with following key(s)\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN or TAB\n" +msgstr "" + +#: src/lang.c:1708 +msgid "How to treat blank lines" +msgstr "" + +#: src/lang.c:1709 +msgid "# Trim the article body, remove unnecessary blank lines.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = Nothing special\n" + "# 1 = Skip leading blank lines\n" + "# 2 = Skip trailing blank lines\n" + "# 3 = Skip leading and trailing blank lines\n" + "# 4 = Compact multiple blank lines between text blocks\n" + "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" + "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" + "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/lang.c:1726 +msgid "List thread using right arrow key" +msgstr "" #: src/lang.c:1727 -msgid "A regex used to decide which words to show in col_markdash." -msgstr "" +msgid "# If ON automatically list thread when entering it using right arrow key.\n" +msgstr "" -#: src/lang.c:1728 -msgid "Regex used to highlight _underline_" -msgstr "" - -#: src/lang.c:1729 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '_' are to be shown in col_markdash.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1735 -msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." -msgstr "" - -#: src/lang.c:1736 -msgid "Regex with Subject prefixes" -msgstr "" - -#: src/lang.c:1737 -msgid "# A regular expression that tin will use to find Subject prefixes\n" - "# which will be removed before showing the header.\n" -msgstr "" - -#: src/lang.c:1742 -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." -msgstr "" - -#: src/lang.c:1743 -msgid "Regex with Subject suffixes" -msgstr "" - -#: src/lang.c:1744 -msgid "# A regular expression that tin will use to find Subject suffixes\n" - "# which will be removed when replying or posting followup.\n" -msgstr "" - -#: src/lang.c:1749 -msgid "Enter name and options for external MIME viewer, --internal for built-in " - "viewer" -msgstr "" - -#: src/lang.c:1750 -msgid "MIME binary content viewer" -msgstr "" - -#: src/lang.c:1751 -msgid "# If --internal automatically use the built in MIME viewer for non-text\n" - "# parts of articles.\n" - "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" - "# for no automatic viewing\n" -msgstr "" - -#: src/lang.c:1758 -msgid "Confirm before starting non-text viewing program" -msgstr "" +#: src/lang.c:1731 +msgid "Enter character to indicate deleted articles. sets, cancels." +msgstr "" + +#: src/lang.c:1732 +msgid "Character to show deleted articles" +msgstr "" + +#: src/lang.c:1733 +msgid "# Character used to show that an art was deleted (default 'D')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1738 +msgid "Enter character to indicate articles in a range. sets, cancels." +msgstr "" + +#: src/lang.c:1739 +msgid "Character to show inrange articles" +msgstr "" + +#: src/lang.c:1740 +msgid "# Character used to show that an art is in a range (default '#')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1745 +msgid "Enter character to indicate that article will return. sets, " + "cancels." +msgstr "" + +#: src/lang.c:1746 +msgid "Character to show returning arts" +msgstr "" + +#: src/lang.c:1747 +msgid "# Character used to show that an art will return (default '-')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1752 +msgid "Enter character to indicate selected articles. sets, cancels." +msgstr "" + +#: src/lang.c:1753 +msgid "Character to show selected articles" +msgstr "" + +#: src/lang.c:1754 +msgid "# Character used to show that an art was auto-selected (default '*')\n" + "# _ is turned into ' '\n" +msgstr "" #: src/lang.c:1759 -msgid "Ask before using MIME viewer" -msgstr "" +msgid "Enter character to indicate recent articles. sets, cancels." +msgstr "" #: src/lang.c:1760 -msgid "# If ON tin will ask before using metamail to display MIME messages\n" - "# this only happens if metamail_prog is set to something\n" -msgstr "" - -#: src/lang.c:1765 -msgid "Ask to mark groups read when quitting. toggles & sets." -msgstr "" +msgid "Character to show recent articles" +msgstr "" + +#: src/lang.c:1761 +msgid "# Character used to show that an art is recent (default 'o')\n" + "# _ is turned into ' '\n" +msgstr "" #: src/lang.c:1766 -msgid "Catchup read groups when quitting" -msgstr "" +msgid "Enter character to indicate unread articles. sets, cancels." +msgstr "" #: src/lang.c:1767 -msgid "# If ON ask user if read groups should all be marked read\n" -msgstr "" +msgid "Character to show unread articles" +msgstr "" -#: src/lang.c:1772 -msgid "Catchup group using left key" -msgstr "" +#: src/lang.c:1768 +msgid "# Character used to show that an art is unread (default '+')\n" + "# _ is turned into ' '\n" +msgstr "" #: src/lang.c:1773 -msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" -msgstr "" +msgid "Enter character to indicate read articles. sets, cancels." +msgstr "" -#: src/lang.c:1778 -msgid "Catchup thread by using left key" -msgstr "" - -#: src/lang.c:1784 -msgid "Which actions require confirmation" -msgstr "" - -#: src/lang.c:1785 -msgid "# What should we ask confirmation for.\n" -msgstr "" - -#: src/lang.c:1790 -msgid "'Mark article read' ignores tags" -msgstr "" - -#: src/lang.c:1791 -msgid "# If ON the 'Mark article read' function marks only the current article.\n" -msgstr "" +#: src/lang.c:1774 +msgid "Character to show read articles" +msgstr "" + +#: src/lang.c:1775 +msgid "# Character used to show that an art was read (default ' ')\n" + "# _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1780 +msgid "Enter character to indicate killed articles. sets, cancels." +msgstr "" + +#: src/lang.c:1781 +msgid "Character to show killed articles" +msgstr "" + +#: src/lang.c:1782 +msgid "# Character used to show that an art was killed (default 'K')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1787 +msgid "Enter character to indicate read selected articles. sets, cancels." +msgstr "" + +#: src/lang.c:1788 +msgid "Character to show readselected arts" +msgstr "" + +#: src/lang.c:1789 +msgid "# Character used to show that an art was selected before read (default ':')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "" + +#: src/lang.c:1794 +msgid "Enter maximum length of newsgroup names displayed. sets." +msgstr "" #: src/lang.c:1795 -msgid "Program to run to open URL's, sets, cancels." -msgstr "" +msgid "Max. length of group names shown" +msgstr "" #: src/lang.c:1796 -msgid "Program that opens URL's" -msgstr "" +msgid "# Maximum length of the names of newsgroups displayed\n" +msgstr "" -#: src/lang.c:1797 -msgid "# The program used to open URL's. The actual URL will be appended\n" -msgstr "" +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "" #: src/lang.c:1802 -msgid "Use mouse in xterm" -msgstr "" - -#: src/lang.c:1803 -msgid "# If ON enable mouse key support on xterm terminals\n" -msgstr "" +msgid "# If ON abbreviate (if necessary) long newsgroup names at group selection\n" + "# level and article level like this:\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "" #: src/lang.c:1809 -msgid "Use scroll keys on keypad" -msgstr "" +msgid "Show lines/score in listings" +msgstr "" #: src/lang.c:1810 -msgid "# If ON enable scroll keys on terminals that support it\n" -msgstr "" - -#: src/lang.c:1815 -msgid "Enter maximum number of article to get. sets." -msgstr "" - -#: src/lang.c:1816 -msgid "Number of articles to get" -msgstr "" - -#: src/lang.c:1817 -msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" - "# of already read articles to be read before first unread one\n" -msgstr "" - -#: src/lang.c:1822 -msgid "Enter number of days article is considered recent. sets." -msgstr "" - -#: src/lang.c:1823 -msgid "Article recentness time limit" -msgstr "" - -#: src/lang.c:1824 -msgid "# Number of days in which article is considered recent, (0=OFF)\n" -msgstr "" - -#: src/lang.c:1828 -msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." -msgstr "" - -#: src/lang.c:1829 -msgid "Wildcard matching" -msgstr "" - -#: src/lang.c:1830 -msgid "# Wildcard matching\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" -msgstr "" +msgid "# What information should be displayed in article/thread listing\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = lines\n" + "# 2 = score\n" + "# 3 = lines & score\n" +msgstr "" + +#: src/lang.c:1819 +msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" + "2 = half page" +msgstr "" + +#: src/lang.c:1820 +msgid "Number of lines to scroll in pager" +msgstr "" + +#: src/lang.c:1821 +msgid "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behavior)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" +msgstr "" + +#: src/lang.c:1831 +msgid "Display signatures. toggles & sets." +msgstr "" + +#: src/lang.c:1832 +msgid "Display signatures" +msgstr "Visa signaturer" + +#: src/lang.c:1833 +msgid "# If OFF don't show signatures when displaying articles\n" +msgstr "" #: src/lang.c:1837 -msgid "Enter minimal score before an article is marked killed. sets." -msgstr "" +msgid "Display uuencoded data as tagged attachments. toggles & sets." +msgstr "" #: src/lang.c:1838 -msgid "Score limit (kill)" -msgstr "" +msgid "Display uue data as an attachment" +msgstr "" #: src/lang.c:1839 -msgid "# Score limit before an article is marked killed\n" -msgstr "" - -#: src/lang.c:1843 -msgid "Enter default score to kill articles. sets." -msgstr "" - -#: src/lang.c:1844 -msgid "Default score to kill articles" -msgstr "" - -#: src/lang.c:1845 -msgid "# Default score to kill articles\n" -msgstr "" +msgid "# Handling of uuencoded data in the pager\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no, display raw uuencoded data\n" + "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" + "# size and filename, similar to how MIME attachments are displayed\n" + "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" + "# be folded into a tag line.\n" +msgstr "" #: src/lang.c:1849 -msgid "Enter minimal score before an article is marked hot. sets." -msgstr "" +msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." +msgstr "" #: src/lang.c:1850 -msgid "Score limit (select)" -msgstr "" +msgid "Display \"a as Umlaut-a" +msgstr "Visa \"a som Umlaut-a" #: src/lang.c:1851 -msgid "# Score limit before an article is marked hot\n" -msgstr "" - -#: src/lang.c:1855 -msgid "Enter default score to select articles. sets." -msgstr "" - -#: src/lang.c:1856 -msgid "Default score to select articles" -msgstr "" +msgid "# If ON decode German style TeX umlaut codes to ISO and\n" + "# show \"a as Umlaut-a, etc.\n" +msgstr "" + +#: src/lang.c:1856 src/lang.c:1866 +msgid "Space separated list of header fields" +msgstr "" #: src/lang.c:1857 -msgid "# Default score to select articles\n" -msgstr "" +msgid "Display these header fields (or *)" +msgstr "" -#: src/lang.c:1863 -msgid "Use slrnface to show ''X-Face:''s" -msgstr "" - -#: src/lang.c:1864 -msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" - "# Only useful when running in an xterm.\n" -msgstr "" - -#: src/lang.c:1872 -msgid "Use ANSI color" -msgstr "Använd ANSI-färg" - -#: src/lang.c:1873 -msgid "# If ON using ANSI-color\n" -msgstr "" +#: src/lang.c:1858 +msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" + "# place an '*' as this value. This is the only way a wildcard can be used.\n" + "# If you enter 'X-' as the value, you will see all headers beginning with\n" + "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " + "with\n" + "# spaces. Not defining anything turns off this option.\n" +msgstr "" + +#: src/lang.c:1867 +msgid "Do not display these header fields" +msgstr "" + +#: src/lang.c:1868 +msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" + "# An example of using both options might be if you thought X- headers were\n" + "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " + "you\n" + "# would do something like this:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Not defining anything turns off this option.\n" +msgstr "" #: src/lang.c:1878 -msgid "Standard foreground color" -msgstr "" +msgid "Do you want to enable automatic handling of multipart/alternative articles?" +msgstr "" #: src/lang.c:1879 -msgid "# Standard foreground color\n" - "# Default: -1 (default color)\n" -msgstr "" +msgid "Skip multipart/alternative parts" +msgstr "" + +#: src/lang.c:1880 +msgid "# If ON strip multipart/alternative messages automatically\n" +msgstr "" + +#: src/lang.c:1884 +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "" #: src/lang.c:1885 -msgid "Standard background color" -msgstr "" +msgid "Detection of verbatim blocks" +msgstr "" #: src/lang.c:1886 -msgid "# Standard background color\n" - "# Default: -1 (default color)\n" -msgstr "" +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "" + +#: src/lang.c:1891 +msgid "A regex used to decide which lines to show in col_quote." +msgstr "" #: src/lang.c:1892 -msgid "Color for inverse text (background)" -msgstr "" +msgid "Regex used to show quoted lines" +msgstr "" #: src/lang.c:1893 -msgid "# Color of background for inverse text\n" - "# Default: 4 (blue)\n" -msgstr "" +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1899 -msgid "Color for inverse text (foreground)" -msgstr "" +msgid "A regex used to decide which lines to show in col_quote2." +msgstr "" #: src/lang.c:1900 -msgid "# Color of foreground for inverse text\n" - "# Default: 7 (white)\n" -msgstr "" - -#: src/lang.c:1906 -msgid "Color of text lines" -msgstr "" +msgid "Regex used to show twice quoted l." +msgstr "" + +#: src/lang.c:1901 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted twice. Twice quoted lines are shown in col_quote2.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1907 -msgid "# Color of text lines\n" - "# Default: -1 (default color)\n" -msgstr "" - -#: src/lang.c:1913 -msgid "Color of mini help menu" -msgstr "" - -#: src/lang.c:1914 -msgid "# Color of mini help menu\n" - "# Default: 3 (brown)\n" -msgstr "" - -#: src/lang.c:1920 -msgid "Color of help text" -msgstr "" - -#: src/lang.c:1921 -msgid "# Color of help pages\n" - "# Default: -1 (default color)\n" -msgstr "" - -#: src/lang.c:1927 -msgid "Color of status messages" -msgstr "" - -#: src/lang.c:1928 -msgid "# Color of messages in last line\n" - "# Default: 6 (cyan)\n" -msgstr "" +msgid "A regex used to decide which lines to show in col_quote3." +msgstr "" -#: src/lang.c:1934 -msgid "Color of quoted lines" -msgstr "" +#: src/lang.c:1908 +msgid "Regex used to show >= 3 times q.l." +msgstr "" + +#: src/lang.c:1909 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1916 +msgid "A regex used to decide which words to show in col_markslashes." +msgstr "" + +#: src/lang.c:1917 +msgid "Regex used to highlight /slashes/" +msgstr "" + +#: src/lang.c:1918 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '/' are to be shown in col_markslashes.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1924 +msgid "A regex used to decide which words to show in col_markstars." +msgstr "" + +#: src/lang.c:1925 +msgid "Regex used to highlight *stars*" +msgstr "" + +#: src/lang.c:1926 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '*' are to be shown in col_markstars.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1932 +msgid "A regex used to decide which words to show in col_markstroke." +msgstr "" + +#: src/lang.c:1933 +msgid "Regex used to highlight -strokes-" +msgstr "" -#: src/lang.c:1935 -msgid "# Color of quote-lines\n" - "# Default: 2 (green)\n" -msgstr "" +#: src/lang.c:1934 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '-' are to be shown in col_markstroke.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1940 +msgid "A regex used to decide which words to show in col_markdash." +msgstr "" #: src/lang.c:1941 -msgid "Color of twice quoted line" -msgstr "" +msgid "Regex used to highlight _underline_" +msgstr "" #: src/lang.c:1942 -msgid "# Color of twice quoted lines\n" - "# Default: 3 (brown)\n" -msgstr "" +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '_' are to be shown in col_markdash.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" #: src/lang.c:1948 -msgid "Color of =>3 times quoted line" -msgstr "" +msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." +msgstr "" #: src/lang.c:1949 -msgid "# Color of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" -msgstr "" +msgid "Regex with Subject prefixes" +msgstr "" + +#: src/lang.c:1950 +msgid "# A regular expression that tin will use to find Subject prefixes\n" + "# which will be removed before showing the header.\n" +msgstr "" #: src/lang.c:1955 -msgid "Color of article header lines" -msgstr "" +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "" #: src/lang.c:1956 -msgid "# Color of header-lines\n" - "# Default: 2 (green)\n" -msgstr "" +msgid "Regex with Subject suffixes" +msgstr "" + +#: src/lang.c:1957 +msgid "# A regular expression that tin will use to find Subject suffixes\n" + "# which will be removed when replying or posting followup.\n" +msgstr "" #: src/lang.c:1962 -msgid "Color of actual news header fields" -msgstr "" +msgid "A regex used to find the begin of a verbatim block." +msgstr "" #: src/lang.c:1963 -msgid "# Color of actual news header fields\n" - "# Default: 9 (light red)\n" -msgstr "" +msgid "Regex for begin of a verbatim block" +msgstr "" + +#: src/lang.c:1964 +msgid "# A regular expression that tin will use to find the begin of\n" + "# a verbatim block.\n" +msgstr "" #: src/lang.c:1969 -msgid "Color of article subject lines" -msgstr "" +msgid "A regex used to find the end of a verbatim block." +msgstr "" #: src/lang.c:1970 -msgid "# Color of article subject\n" - "# Default: 6 (cyan)\n" -msgstr "" +msgid "Regex for end of a verbatim block" +msgstr "" + +#: src/lang.c:1971 +msgid "# A regular expression that tin will use to find the end of\n" + "# a verbatim block.\n" +msgstr "" #: src/lang.c:1976 -msgid "Color of response counter" -msgstr "" +msgid "Enter name and options for external MIME viewer, --internal for built-in " + "viewer" +msgstr "" #: src/lang.c:1977 -msgid "# Color of response counter\n" - "# Default: 2 (green)\n" -msgstr "" - -#: src/lang.c:1983 -msgid "Color of sender (From:)" -msgstr "" - -#: src/lang.c:1984 -msgid "# Color of sender (From:)\n" - "# Default: 2 (green)\n" -msgstr "" - -#: src/lang.c:1990 -msgid "Color of help/mail sign" -msgstr "" - -#: src/lang.c:1991 -msgid "# Color of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" -msgstr "" - -#: src/lang.c:1997 -msgid "Color of signatures" -msgstr "Färg för signaturer" - -#: src/lang.c:1998 -msgid "# Color of signature\n" - "# Default: 4 (blue)\n" -msgstr "" - -#: src/lang.c:2004 -msgid "Color of highlighted URLs" -msgstr "" +msgid "MIME binary content viewer" +msgstr "" + +#: src/lang.c:1978 +msgid "# If --internal automatically use the built in MIME viewer for non-text\n" + "# parts of articles.\n" + "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" + "# for no automatic viewing\n" +msgstr "" + +#: src/lang.c:1985 +msgid "Confirm before starting non-text viewing program" +msgstr "" + +#: src/lang.c:1986 +msgid "Ask before using MIME viewer" +msgstr "" + +#: src/lang.c:1987 +msgid "# If ON tin will ask before using metamail to display MIME messages\n" + "# this only happens if metamail_prog is set to something\n" +msgstr "" + +#: src/lang.c:1992 +msgid "Ask to mark groups read when quitting. toggles & sets." +msgstr "" + +#: src/lang.c:1993 +msgid "Catchup read groups when quitting" +msgstr "" + +#: src/lang.c:1994 +msgid "# If ON ask user if read groups should all be marked read\n" +msgstr "" + +#: src/lang.c:1999 +msgid "Catchup group using left key" +msgstr "" + +#: src/lang.c:2000 +msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" +msgstr "" #: src/lang.c:2005 -msgid "# Color of highlighted URLs\n" - "# Default: -1 (default color)\n" -msgstr "" +msgid "Catchup thread by using left key" +msgstr "" #: src/lang.c:2011 -msgid "Color of highlighting with *stars*" -msgstr "" +msgid "Which actions require confirmation" +msgstr "" #: src/lang.c:2012 -msgid "# Color of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" -msgstr "" +msgid "# What should we ask confirmation for.\n" +msgstr "" + +#: src/lang.c:2017 +msgid "'Mark as (un)read' ignores tags" +msgstr "" #: src/lang.c:2018 -msgid "Color of highlighting with _dash_" -msgstr "" +msgid "# If ON the 'Mark as (un)read' function marks only the current article.\n" +msgstr "" -#: src/lang.c:2019 -msgid "# Color of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" -msgstr "" - -#: src/lang.c:2025 -msgid "Color of highlighting with /slash/" -msgstr "" - -#: src/lang.c:2026 -msgid "# Color of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" -msgstr "" - -#: src/lang.c:2032 -msgid "Color of highlighting with -stroke-" -msgstr "" - -#: src/lang.c:2033 -msgid "# Color of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" -msgstr "" - -#: src/lang.c:2040 -msgid "Attr. of highlighting with *stars*" -msgstr "" - -#: src/lang.c:2041 -msgid "# Attributes of word highlighting on mono terminals\n" - "# Possible values are:\n" - "# 0 = Normal\n" - "# 1 = Underline\n" - "# 2 = Best highlighting\n" - "# 3 = Reverse video\n" - "# 4 = Blinking\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# Attribute of word highlighting with *stars*\n" - "# Default: 6 (bold)\n" -msgstr "" +#: src/lang.c:2022 +msgid "Program to run to open URLs, sets, cancels." +msgstr "" + +#: src/lang.c:2023 +msgid "Program that opens URLs" +msgstr "" + +#: src/lang.c:2024 +msgid "# The program used to open URLs. The actual URL will be appended\n" +msgstr "" + +#: src/lang.c:2029 +msgid "Use mouse in xterm" +msgstr "" + +#: src/lang.c:2030 +msgid "# If ON enable mouse button support on xterm terminals\n" +msgstr "" + +#: src/lang.c:2036 +msgid "Use scroll keys on keypad" +msgstr "" + +#: src/lang.c:2037 +msgid "# If ON enable scroll keys on terminals that support it\n" +msgstr "" + +#: src/lang.c:2042 +msgid "Enter maximum number of article to get. sets." +msgstr "" + +#: src/lang.c:2043 +msgid "Number of articles to get" +msgstr "" + +#: src/lang.c:2044 +msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" + "# of already read articles to be read before first unread one\n" +msgstr "" + +#: src/lang.c:2049 +msgid "Enter number of days article is considered recent. sets." +msgstr "" + +#: src/lang.c:2050 +msgid "Article recentness time limit" +msgstr "" + +#: src/lang.c:2051 +msgid "# Number of days in which article is considered recent, (0=OFF)\n" +msgstr "" + +#: src/lang.c:2055 +msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." +msgstr "" #: src/lang.c:2056 -msgid "Attr. of highlighting with _dash_" -msgstr "" +msgid "Wildcard matching" +msgstr "" #: src/lang.c:2057 -msgid "# Attribute of word highlighting with _dash_\n" - "# Default: 2 (best highlighting)\n" -msgstr "" - -#: src/lang.c:2063 -msgid "Attr. of highlighting with /slash/" -msgstr "" +msgid "# Wildcard matching\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" +msgstr "" #: src/lang.c:2064 -msgid "# Attribute of word highlighting with /slash/\n" - "# Default: 5 (half bright)\n" -msgstr "" +msgid "Enter minimal score before an article is marked killed. sets." +msgstr "" + +#: src/lang.c:2065 +msgid "Score limit (kill)" +msgstr "" + +#: src/lang.c:2066 +msgid "# Score limit before an article is marked killed\n" +msgstr "" #: src/lang.c:2070 -msgid "Attr. of highlighting with -stroke-" -msgstr "" +msgid "Enter default score to kill articles. sets." +msgstr "" #: src/lang.c:2071 -msgid "# Attribute of word highlighting with -stroke-\n" - "# Default: 3 (reverse video)\n" -msgstr "" +msgid "Default score to kill articles" +msgstr "" + +#: src/lang.c:2072 +msgid "# Default score to kill articles\n" +msgstr "" + +#: src/lang.c:2076 +msgid "Enter minimal score before an article is marked hot. sets." +msgstr "" #: src/lang.c:2077 -msgid "URL highlighting in message body" -msgstr "" +msgid "Score limit (select)" +msgstr "" #: src/lang.c:2078 -msgid "# Enable URL highlighting?\n" -msgstr "" +msgid "# Score limit before an article is marked hot\n" +msgstr "" + +#: src/lang.c:2082 +msgid "Enter default score to select articles. sets." +msgstr "" #: src/lang.c:2083 -msgid "Word highlighting in message body" -msgstr "" +msgid "Default score to select articles" +msgstr "" #: src/lang.c:2084 -msgid "# Enable word highlighting?\n" -msgstr "" - -#: src/lang.c:2089 -msgid "What to display instead of mark" -msgstr "" +msgid "# Default score to select articles\n" +msgstr "" #: src/lang.c:2090 -msgid "# Should the leading and ending stars and dashes also be displayed,\n" - "# even when they are highlighting marks?\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = no\n" - "# 1 = yes, display mark\n" - "# * 2 = print a space instead\n" -msgstr "" +msgid "Use slrnface to show ''X-Face:''s" +msgstr "" + +#: src/lang.c:2091 +msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" + "# Only useful when running in an xterm.\n" +msgstr "" #: src/lang.c:2099 -msgid "Enter column number to wrap article lines to in the pager. sets." -msgstr "" +msgid "Use ANSI color" +msgstr "Använd ANSI-färg" #: src/lang.c:2100 -msgid "Page line wrap column" -msgstr "" +msgid "# If ON using ANSI-color\n" +msgstr "" -#: src/lang.c:2101 -msgid "# Wrap article lines at column\n" -msgstr "" +#: src/lang.c:2105 +msgid "Standard foreground color" +msgstr "" #: src/lang.c:2106 -msgid "Wrap around threads on next unread" -msgstr "" - -#: src/lang.c:2107 -msgid "# If ON wrap around threads on searching next unread article\n" -msgstr "" - -#: src/lang.c:2111 -msgid "Enter default mail address (and fullname). sets." -msgstr "" +msgid "# Standard foreground color\n" + "# Default: -1 (default color)\n" +msgstr "" #: src/lang.c:2112 -msgid "Mail address (and fullname)" -msgstr "E-postadress (och hela namnet)" +msgid "Standard background color" +msgstr "" #: src/lang.c:2113 -msgid "# User's mail address (and fullname), if not username@host (fullname)\n" -msgstr "" - -#: src/lang.c:2118 -msgid "Show empty Followup-To in editor" -msgstr "" +msgid "# Standard background color\n" + "# Default: -1 (default color)\n" +msgstr "" #: src/lang.c:2119 -msgid "# If ON show empty Followup-To header when editing an article\n" -msgstr "" +msgid "Color for inverse text (background)" +msgstr "" -#: src/lang.c:2123 -msgid "Enter path/! command/--none to create your default signature. sets." -msgstr "" - -#: src/lang.c:2124 -msgid "Create signature from path/command" -msgstr "" - -#: src/lang.c:2125 -msgid "# Signature path (random sigs)/file to be used when posting/replying\n" - "# default_sigfile=file appends file as signature\n" - "# default_sigfile=!command executes external command to generate a " - "signature\n" - "# default_sigfile=--none don't append a signature\n" -msgstr "" - -#: src/lang.c:2132 -msgid "Prepend signature with \"-- \" on own line. toggles & sets." -msgstr "" +#: src/lang.c:2120 +msgid "# Color of background for inverse text\n" + "# Default: 4 (blue)\n" +msgstr "" + +#: src/lang.c:2126 +msgid "Color for inverse text (foreground)" +msgstr "" + +#: src/lang.c:2127 +msgid "# Color of foreground for inverse text\n" + "# Default: 7 (white)\n" +msgstr "" #: src/lang.c:2133 -msgid "Prepend signature with \"-- \"" -msgstr "" +msgid "Color of text lines" +msgstr "" #: src/lang.c:2134 -msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" -msgstr "" - -#: src/lang.c:2138 -msgid "Add signature when reposting articles. toggles & sets." -msgstr "" - -#: src/lang.c:2139 -msgid "Add signature when reposting" -msgstr "" +msgid "# Color of text lines\n" + "# Default: -1 (default color)\n" +msgstr "" #: src/lang.c:2140 -msgid "# If ON add signature to reposted articles\n" -msgstr "" +msgid "Color of mini help menu" +msgstr "" -#: src/lang.c:2144 -#, c-format -msgid "Enter quotation marks, %s or %S for author's initials." -msgstr "" - -#: src/lang.c:2145 -msgid "Characters used as quote-marks" -msgstr "" - -#: src/lang.c:2146 -#, c-format -msgid "# Characters used in quoting to followups and replies.\n" - "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" -msgstr "" - -#: src/lang.c:2152 -msgid "Quoting behavior" -msgstr "" - -#: src/lang.c:2153 -msgid "# How quoting should be handled when following up or replying.\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = Nothing special\n" - "# 1 = Compress quotes\n" - "# 2 = Quote signatures\n" - "# 3 = Compress quotes, quote signatures\n" - "# 4 = Quote empty lines\n" - "# * 5 = Compress quotes, quote empty lines\n" - "# 6 = Quote signatures, quote empty lines\n" - "# 7 = Compress quotes, quote signatures, quote empty lines\n" -msgstr "" - -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 -msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" -msgstr "" - -#: src/lang.c:2167 -msgid "Quote line when following up" -msgstr "" +#: src/lang.c:2141 +msgid "# Color of mini help menu\n" + "# Default: 3 (brown)\n" +msgstr "" + +#: src/lang.c:2147 +msgid "Color of help text" +msgstr "" + +#: src/lang.c:2148 +msgid "# Color of help pages\n" + "# Default: -1 (default color)\n" +msgstr "" + +#: src/lang.c:2154 +msgid "Color of status messages" +msgstr "" + +#: src/lang.c:2155 +msgid "# Color of messages in last line\n" + "# Default: 6 (cyan)\n" +msgstr "" + +#: src/lang.c:2161 +msgid "Color of quoted lines" +msgstr "" + +#: src/lang.c:2162 +msgid "# Color of quote-lines\n" + "# Default: 2 (green)\n" +msgstr "" #: src/lang.c:2168 -#, c-format -msgid "# Format of quote line when mailing/posting/following-up an article\n" - "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" - "# %%N Full Name %%C First Name %%I Initials\n" -msgstr "" +msgid "Color of twice quoted line" +msgstr "" + +#: src/lang.c:2169 +msgid "# Color of twice quoted lines\n" + "# Default: 3 (brown)\n" +msgstr "" #: src/lang.c:2175 -msgid "Quote line when cross-posting" -msgstr "" +msgid "Color of =>3 times quoted line" +msgstr "" -#: src/lang.c:2181 -msgid "Quote line when mailing" -msgstr "" - -#: src/lang.c:2186 -msgid "If ON, include User-Agent: header. toggles & sets." -msgstr "" - -#: src/lang.c:2187 -msgid "Insert 'User-Agent:'-header" -msgstr "" - -#: src/lang.c:2188 -msgid "# If ON include advertising User-Agent: header\n" -msgstr "" - -#: src/lang.c:2193 -msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." -msgstr "" - -#: src/lang.c:2194 -msgid "MM_CHARSET" -msgstr "MM_CHARSET" - -#: src/lang.c:2195 -msgid "# Charset supported locally which is also used for MIME header and\n" - "# Content-Type header.\n" - "# If not set, the value of the environment variable MM_CHARSET is used.\n" - "# Set to US-ASCII or compile time default if neither of them is defined.\n" - "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" - "# mm_charset is considered not displayable and represented as '?'.\n" -msgstr "" - -#: src/lang.c:2205 -msgid "MM_NETWORK_CHARSET" -msgstr "MM_NETWORK_CHARSET" - -#: src/lang.c:2206 -msgid "# Charset used for MIME (Content-Type) header in postings.\n" -msgstr "" - -#: src/lang.c:2212 -msgid "Mailbox format" -msgstr "Format på postlåda" - -#: src/lang.c:2213 -msgid "# Format of the mailbox.\n" -msgstr "# Format på postlåda.\n" +#: src/lang.c:2176 +msgid "# Color of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" +msgstr "" + +#: src/lang.c:2182 +msgid "Color of article header lines" +msgstr "" + +#: src/lang.c:2183 +msgid "# Color of header-lines\n" + "# Default: 2 (green)\n" +msgstr "" + +#: src/lang.c:2189 +msgid "Color of actual news header fields" +msgstr "" + +#: src/lang.c:2190 +msgid "# Color of actual news header fields\n" + "# Default: 9 (light red)\n" +msgstr "" + +#: src/lang.c:2196 +msgid "Color of article subject lines" +msgstr "" + +#: src/lang.c:2197 +msgid "# Color of article subject\n" + "# Default: 6 (cyan)\n" +msgstr "" + +#: src/lang.c:2203 +msgid "Color of response counter" +msgstr "" + +#: src/lang.c:2204 +msgid "# Color of response counter\n" + "# Default: 2 (green)\n" +msgstr "" + +#: src/lang.c:2210 +msgid "Color of sender (From:)" +msgstr "" + +#: src/lang.c:2211 +msgid "# Color of sender (From:)\n" + "# Default: 2 (green)\n" +msgstr "" + +#: src/lang.c:2217 +msgid "Color of help/mail sign" +msgstr "" #: src/lang.c:2218 -msgid "MIME encoding in news messages" -msgstr "" - -#: src/lang.c:2219 -msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" - "# for mails and posts, if necessary. QP is efficient for most European\n" - "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" - "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" - "# Russian charsets with a lot of 8bit characters.\n" -msgstr "" - -#: src/lang.c:2227 src/lang.c:2248 -msgid "Don't change unless you know what you are doing. cancels." -msgstr "" - -#: src/lang.c:2228 -msgid "Use 8bit characters in news headers" -msgstr "" - -#: src/lang.c:2229 -msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in header are encoded regardless of the value of this\n" - "# parameter unless post_mime_encoding is 8bit as well.\n" -msgstr "" - -#: src/lang.c:2236 -msgid "Auto-view post-processed files toggles, sets, cancels." -msgstr "" - -#: src/lang.c:2237 -msgid "View post-processed files" -msgstr "" +msgid "# Color of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" +msgstr "" + +#: src/lang.c:2224 +msgid "Color of signatures" +msgstr "Färg för signaturer" + +#: src/lang.c:2225 +msgid "# Color of signature\n" + "# Default: 4 (blue)\n" +msgstr "" + +#: src/lang.c:2231 +msgid "Color of highlighted URLs" +msgstr "" + +#: src/lang.c:2232 +msgid "# Color of highlighted URLs\n" + "# Default: -1 (default color)\n" +msgstr "" #: src/lang.c:2238 -msgid "# If set, post processed files will be opened in a viewer\n" -msgstr "" +msgid "Color of verbatim blocks" +msgstr "" -#: src/lang.c:2243 -msgid "MIME encoding in mail messages" -msgstr "" - -#: src/lang.c:2249 -msgid "Use 8bit characters in mail headers" -msgstr "" - -#: src/lang.c:2250 -msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in headers are encoded regardless of the value of this " - "parameter\n" - "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" - "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" - "# turn it ON unless you have some compelling reason.\n" -msgstr "" +#: src/lang.c:2239 +msgid "# Color of verbatim blocks\n" + "# Default: 5 (pink)\n" +msgstr "" + +#: src/lang.c:2245 +msgid "Color of highlighting with *stars*" +msgstr "" + +#: src/lang.c:2246 +msgid "# Color of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" +msgstr "" + +#: src/lang.c:2252 +msgid "Color of highlighting with _dash_" +msgstr "" + +#: src/lang.c:2253 +msgid "# Color of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" +msgstr "" + +#: src/lang.c:2259 +msgid "Color of highlighting with /slash/" +msgstr "" #: src/lang.c:2260 -msgid "Strip blanks from ends of lines" -msgstr "" - -#: src/lang.c:2261 -msgid "# If ON strip blanks from ends of lines for faster display on slow " - "terminals.\n" -msgstr "" +msgid "# Color of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" +msgstr "" #: src/lang.c:2266 -msgid "If ON, use transliteration. toggles & sets." -msgstr "" +msgid "Color of highlighting with -stroke-" +msgstr "" #: src/lang.c:2267 -msgid "Transliteration" -msgstr "" - -#: src/lang.c:2268 -msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" - "# be represented in the in the target character set, it can be approximated\n" - "# through one or several similarly looking characters.\n" -msgstr "" +msgid "# Color of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" +msgstr "" + +#: src/lang.c:2274 +msgid "Attr. of highlighting with *stars*" +msgstr "" #: src/lang.c:2275 -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "" - -#: src/lang.c:2276 -msgid "Send you a cc automatically" -msgstr "" - -#: src/lang.c:2277 -msgid "# If ON automatically put your name in the Cc: field when mailing an article\n" -msgstr "" - -#: src/lang.c:2281 -msgid "Send you a blind carbon copy automatically. toggles & sets." -msgstr "" - -#: src/lang.c:2282 -msgid "Send you a blind cc automatically" -msgstr "" - -#: src/lang.c:2283 -msgid "# If ON automatically put your name in the Bcc: field when mailing an " - "article\n" -msgstr "" - -#: src/lang.c:2287 -msgid "Enter address elements about which you want to be warned. sets." -msgstr "" - -#: src/lang.c:2288 -msgid "Spamtrap warning address parts" -msgstr "" - -#: src/lang.c:2289 -msgid "# A comma-delimited list of address-parts you want to be warned\n" - "# about when trying to reply by email.\n" -msgstr "" - -#: src/lang.c:2294 -msgid "Enter default number of days a filter entry will be valid. sets." -msgstr "" - -#: src/lang.c:2295 -msgid "No. of days a filter entry is valid" -msgstr "" - -#: src/lang.c:2296 -msgid "# Number of days a short term filter will be active\n" -msgstr "" - -#: src/lang.c:2300 -msgid "Add posted articles to filter. toggles & sets." -msgstr "" - -#: src/lang.c:2301 -msgid "Add posted articles to filter" -msgstr "" - -#: src/lang.c:2302 -msgid "# If ON add posted articles which start a new thread to filter for\n" - "# highlighting follow-ups\n" -msgstr "" - -#: src/lang.c:2306 -msgid "The directory where articles/threads are to be saved in mailbox format." -msgstr "" - -#: src/lang.c:2307 -msgid "Mail directory" -msgstr "Postkatalog" - -#: src/lang.c:2308 -msgid "# (-m) directory where articles/threads are saved in mailbox format\n" -msgstr "" - -#: src/lang.c:2313 -msgid "Save articles in batch mode (-S)" -msgstr "" - -#: src/lang.c:2314 -msgid "# If ON articles/threads will be saved in batch mode when save -S\n" - "# or mail (-M/-N) is specified on the command line\n" -msgstr "" - -#: src/lang.c:2319 -msgid "The directory where you want articles/threads saved." -msgstr "" - -#: src/lang.c:2320 -msgid "Directory to save arts/threads in" -msgstr "" - -#: src/lang.c:2321 -msgid "# Directory where articles/threads are saved\n" -msgstr "" - -#: src/lang.c:2325 -msgid "Auto save article/thread by Archive-name: header. toggles & sets." -msgstr "" - -#: src/lang.c:2326 -msgid "Use Archive-name: header for save" -msgstr "" - -#: src/lang.c:2327 -msgid "# If ON articles/threads with Archive-name: in mail header will\n" - "# be automatically saved with the Archive-name & part/patch no.\n" -msgstr "" - -#: src/lang.c:2332 -msgid "Mark saved articles/threads as read. toggles, sets, " - "cancels." -msgstr "" +msgid "# Attributes of word highlighting on mono terminals\n" + "# Possible values are:\n" + "# 0 = Normal\n" + "# 1 = Underline\n" + "# 2 = Best highlighting\n" + "# 3 = Reverse video\n" + "# 4 = Blinking\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# Attribute of word highlighting with *stars*\n" + "# Default: 6 (bold)\n" +msgstr "" + +#: src/lang.c:2290 +msgid "Attr. of highlighting with _dash_" +msgstr "" + +#: src/lang.c:2291 +msgid "# Attribute of word highlighting with _dash_\n" + "# Default: 2 (best highlighting)\n" +msgstr "" + +#: src/lang.c:2297 +msgid "Attr. of highlighting with /slash/" +msgstr "" + +#: src/lang.c:2298 +msgid "# Attribute of word highlighting with /slash/\n" + "# Default: 5 (half bright)\n" +msgstr "" + +#: src/lang.c:2304 +msgid "Attr. of highlighting with -stroke-" +msgstr "" + +#: src/lang.c:2305 +msgid "# Attribute of word highlighting with -stroke-\n" + "# Default: 3 (reverse video)\n" +msgstr "" + +#: src/lang.c:2311 +msgid "URL highlighting in message body" +msgstr "" + +#: src/lang.c:2312 +msgid "# Enable URL highlighting?\n" +msgstr "" + +#: src/lang.c:2317 +msgid "Word highlighting in message body" +msgstr "" + +#: src/lang.c:2318 +msgid "# Enable word highlighting?\n" +msgstr "" + +#: src/lang.c:2323 +msgid "What to display instead of mark" +msgstr "" + +#: src/lang.c:2324 +msgid "# Should the leading and ending stars and dashes also be displayed,\n" + "# even when they are highlighting marks?\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = no\n" + "# 1 = yes, display mark\n" + "# * 2 = print a space instead\n" +msgstr "" #: src/lang.c:2333 -msgid "Mark saved articles/threads as read" -msgstr "" +msgid "Enter column number to wrap article lines to in the pager. sets." +msgstr "" #: src/lang.c:2334 -msgid "# If ON mark articles that are saved as read\n" -msgstr "" +msgid "Page line wrap column" +msgstr "" -#: src/lang.c:2338 -msgid "Do post processing (eg. extract attachments) for saved articles." -msgstr "" - -#: src/lang.c:2339 -msgid "Post process saved articles" -msgstr "" +#: src/lang.c:2335 +msgid "# Wrap article lines at column\n" +msgstr "" #: src/lang.c:2340 -msgid "# Perform post processing (saving binary attachments) from saved articles.\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no\n" - "# 1 = extract shell archives (shar) only\n" - "# 2 = yes\n" -msgstr "" - -#: src/lang.c:2349 -msgid "Process only unread articles" -msgstr "" - -#: src/lang.c:2350 -msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" -msgstr "" - -#: src/lang.c:2355 -msgid "Print all or just part of header. toggles & sets." -msgstr "" - -#: src/lang.c:2356 -msgid "Print all headers when printing" -msgstr "" +msgid "Wrap around threads on next unread" +msgstr "" + +#: src/lang.c:2341 +msgid "# If ON wrap around threads on searching next unread article\n" +msgstr "" + +#: src/lang.c:2345 +msgid "Enter default mail address (and fullname). sets." +msgstr "" + +#: src/lang.c:2346 src/lang.c:2770 +msgid "Mail address (and fullname)" +msgstr "E-postadress (och hela namnet)" + +#: src/lang.c:2347 +msgid "# User's mail address (and fullname), if not username@host (fullname)\n" +msgstr "" + +#: src/lang.c:2352 +msgid "Show empty Followup-To in editor" +msgstr "" + +#: src/lang.c:2353 +msgid "# If ON show empty Followup-To header when editing an article\n" +msgstr "" #: src/lang.c:2357 -msgid "# If ON print all of article header otherwise just the important lines\n" -msgstr "" +msgid "Enter path/! command/--none to create your default signature. sets." +msgstr "" -#: src/lang.c:2361 -msgid "The printer program with options that is to be used to print articles/threads." -msgstr "" - -#: src/lang.c:2362 -msgid "Printer program with options" -msgstr "" - -#: src/lang.c:2363 -msgid "# Print program with parameters used to print articles/threads\n" -msgstr "" - -#: src/lang.c:2369 -msgid "Force redraw after certain commands" -msgstr "" - -#: src/lang.c:2370 -msgid "# If ON a screen redraw will always be done after certain external commands\n" -msgstr "" +#: src/lang.c:2358 +msgid "Create signature from path/command" +msgstr "" + +#: src/lang.c:2359 +msgid "# Signature path (random sigs)/file to be used when posting/replying\n" + "# sigfile=file appends file as signature\n" + "# sigfile=!command executes external command to generate a signature\n" + "# sigfile=--none don't append a signature\n" +msgstr "" + +#: src/lang.c:2366 +msgid "Prepend signature with \"-- \" on own line. toggles & sets." +msgstr "" + +#: src/lang.c:2367 +msgid "Prepend signature with \"-- \"" +msgstr "" + +#: src/lang.c:2368 +msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" +msgstr "" + +#: src/lang.c:2372 +msgid "Add signature when reposting articles. toggles & sets." +msgstr "" + +#: src/lang.c:2373 +msgid "Add signature when reposting" +msgstr "" #: src/lang.c:2374 -msgid "Start editor with line offset. toggles, sets, cancels." -msgstr "" +msgid "# If ON add signature to reposted articles\n" +msgstr "" + +#: src/lang.c:2378 +#, c-format +msgid "Enter quotation marks, %s or %S for author's initials." +msgstr "" -#: src/lang.c:2375 -msgid "Start editor with line offset" -msgstr "" - -#: src/lang.c:2376 -msgid "# If ON editor will be started with cursor offset into the file\n" - "# otherwise the cursor will be positioned at the first line\n" -msgstr "" - -#: src/lang.c:2381 -msgid "Enter %E for editor, %F for filename, %N for line-number, to set." -msgstr "" - -#: src/lang.c:2382 -msgid "Invocation of your editor" -msgstr "" - -#: src/lang.c:2383 -#, c-format -msgid "# Format of editor line including parameters\n" - "# %%E Editor %%F Filename %%N Linenumber\n" -msgstr "" - -#: src/lang.c:2388 -msgid "Enter name and options for external-inews, --internal for internal inews" -msgstr "" - -#: src/lang.c:2389 -msgid "External inews" -msgstr "Extern inews" - -#: src/lang.c:2390 -msgid "# If --internal use the built in mini inews for posting via NNTP\n" - "# otherwise use an external inews program\n" -msgstr "" - -#: src/lang.c:2394 -msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." -msgstr "" - -#: src/lang.c:2395 -msgid "Invocation of your mail command" -msgstr "" - -#: src/lang.c:2396 -#, c-format -msgid "# Format of mailer line including parameters\n" - "# %%M Mailer %%S Subject %%T To %%F Filename\n" - "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" - "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" -msgstr "" - -#: src/lang.c:2404 -msgid "Use interactive mail reader" -msgstr "" - -#: src/lang.c:2405 -msgid "# Interactive mailreader\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no interactive mailreader\n" - "# 1 = use interactive mailreader with headers in file\n" - "# 2 = use interactive mailreader without headers in file\n" -msgstr "" - -#: src/lang.c:2414 -msgid "Remove ~/.article after posting" -msgstr "Ta bort ~/.article efter postning" +#: src/lang.c:2379 +msgid "Characters used as quote-marks" +msgstr "" + +#: src/lang.c:2380 +#, c-format +msgid "# Characters used in quoting to followups and replies.\n" + "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" +msgstr "" + +#: src/lang.c:2386 +msgid "Quoting behavior" +msgstr "" + +#: src/lang.c:2387 +msgid "# How quoting should be handled when following up or replying.\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = Nothing special\n" + "# 1 = Compress quotes\n" + "# 2 = Quote signatures\n" + "# 3 = Compress quotes, quote signatures\n" + "# 4 = Quote empty lines\n" + "# * 5 = Compress quotes, quote empty lines\n" + "# 6 = Quote signatures, quote empty lines\n" + "# 7 = Compress quotes, quote signatures, quote empty lines\n" +msgstr "" + +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 +msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" +msgstr "" + +#: src/lang.c:2401 +msgid "Quote line when following up" +msgstr "" + +#: src/lang.c:2402 +#, c-format +msgid "# Format of quote line when mailing/posting/following-up an article\n" + "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" + "# %%N Full Name %%C First Name %%I Initials\n" +msgstr "" + +#: src/lang.c:2409 +msgid "Quote line when cross-posting" +msgstr "" #: src/lang.c:2415 -msgid "# If ON remove ~/.article after posting.\n" -msgstr "" - -#: src/lang.c:2419 -msgid "Filename for all posted articles, sets, no filename=do not save." -msgstr "" +msgid "Quote line when mailing" +msgstr "" #: src/lang.c:2420 -msgid "Filename for posted articles" -msgstr "" +msgid "If ON, include User-Agent: header. toggles & sets." +msgstr "" #: src/lang.c:2421 -msgid "# Filename where to keep all postings (default posted)\n" - "# If no filename is set then postings will not be saved\n" -msgstr "" - -#: src/lang.c:2426 -msgid "Keep all failed articles in ~/dead.articles. toggles & sets." -msgstr "" +msgid "Insert 'User-Agent:' header" +msgstr "" + +#: src/lang.c:2422 +msgid "# If ON include advertising User-Agent: header\n" +msgstr "" #: src/lang.c:2427 -msgid "Keep failed arts in ~/dead.articles" -msgstr "" +msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "" #: src/lang.c:2428 -msgid "# If ON keep all failed postings in ~/dead.articles\n" -msgstr "" +msgid "MM_CHARSET" +msgstr "MM_CHARSET" -#: src/lang.c:2432 -msgid "Do you want to strip unsubscribed groups from .newsrc" -msgstr "" - -#: src/lang.c:2433 -msgid "No unsubscribed groups in newsrc" -msgstr "" - -#: src/lang.c:2434 -msgid "# If ON strip unsubscribed groups from newsrc\n" -msgstr "" +#: src/lang.c:2429 +msgid "# Charset supported locally which is also used for MIME header and\n" + "# Content-Type header.\n" + "# If not set, the value of the environment variable MM_CHARSET is used.\n" + "# Set to US-ASCII or compile time default if neither of them is defined.\n" + "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" + "# mm_charset is considered not displayable and represented as '?'.\n" +msgstr "" #: src/lang.c:2439 -msgid "Remove bogus groups from newsrc" -msgstr "" +msgid "MM_NETWORK_CHARSET" +msgstr "MM_NETWORK_CHARSET" #: src/lang.c:2440 -msgid "# What to do with bogus groups in newsrc file\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = keep\n" - "# 1 = remove\n" - "# 2 = highlight with D on selection screen\n" -msgstr "" - -#: src/lang.c:2448 -msgid "Enter number of seconds until active file will be reread. sets." -msgstr "" - -#: src/lang.c:2449 -msgid "Interval in secs to reread active" -msgstr "" - -#: src/lang.c:2450 -msgid "# Time interval in seconds between rereading the active file (0=never)\n" -msgstr "" - -#: src/lang.c:2455 -msgid "Reconnect to server automatically" -msgstr "" - -#: src/lang.c:2456 -msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" -msgstr "" +msgid "# Charset used for MIME (Content-Type) header in postings.\n" +msgstr "" + +#: src/lang.c:2444 +msgid "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "" + +#: src/lang.c:2445 +#, fuzzy +msgid "MM_LOCAL_CHARSET" +msgstr "MM_CHARSET" + +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "" + +#: src/lang.c:2453 +msgid "Mailbox format" +msgstr "Format på postlåda" + +#: src/lang.c:2454 +msgid "# Format of the mailbox.\n" +msgstr "# Format på postlåda.\n" + +#: src/lang.c:2459 +msgid "MIME encoding in news messages" +msgstr "" #: src/lang.c:2460 -msgid "Create local copies of NNTP overview files. toggles & sets." -msgstr "" +msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" + "# for mails and posts, if necessary. QP is efficient for most European\n" + "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" + "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" + "# Russian charsets with a lot of 8bit characters.\n" +msgstr "" + +#: src/lang.c:2468 src/lang.c:2489 +msgid "Don't change unless you know what you are doing. cancels." +msgstr "" + +#: src/lang.c:2469 +msgid "Use 8bit characters in news headers" +msgstr "" + +#: src/lang.c:2470 +msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in header are encoded regardless of the value of this\n" + "# parameter unless post_mime_encoding is 8bit as well.\n" +msgstr "" + +#: src/lang.c:2477 +msgid "Auto-view post-processed files toggles, sets, cancels." +msgstr "" + +#: src/lang.c:2478 +msgid "View post-processed files" +msgstr "" + +#: src/lang.c:2479 +msgid "# If set, post processed files will be opened in a viewer\n" +msgstr "" + +#: src/lang.c:2484 +msgid "MIME encoding in mail messages" +msgstr "" + +#: src/lang.c:2490 +msgid "Use 8bit characters in mail headers" +msgstr "" + +#: src/lang.c:2491 +msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in headers are encoded regardless of the value of this " + "parameter\n" + "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" + "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" + "# turn it ON unless you have some compelling reason.\n" +msgstr "" + +#: src/lang.c:2501 +msgid "Strip blanks from ends of lines" +msgstr "" + +#: src/lang.c:2502 +msgid "# If ON strip blanks from ends of lines for faster display on slow " + "terminals.\n" +msgstr "" + +#: src/lang.c:2507 +msgid "If ON, use transliteration. toggles & sets." +msgstr "" + +#: src/lang.c:2508 +msgid "Transliteration" +msgstr "" + +#: src/lang.c:2509 +msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" + "# be represented in the in the target character set, it can be approximated\n" + "# through one or several similarly looking characters.\n" +msgstr "" + +#: src/lang.c:2517 +msgid "Send you a Cc/Bcc automatically" +msgstr "" + +#: src/lang.c:2518 +msgid "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = No\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc and Bcc\n" +msgstr "" + +#: src/lang.c:2527 +msgid "Enter address elements about which you want to be warned. sets." +msgstr "" + +#: src/lang.c:2528 +msgid "Spamtrap warning address parts" +msgstr "" + +#: src/lang.c:2529 +msgid "# A comma-delimited list of address-parts you want to be warned\n" + "# about when trying to reply by email.\n" +msgstr "" + +#: src/lang.c:2534 +msgid "Enter default number of days a filter entry will be valid. sets." +msgstr "" + +#: src/lang.c:2535 +msgid "No. of days a filter entry is valid" +msgstr "" + +#: src/lang.c:2536 +msgid "# Number of days a short term filter will be active\n" +msgstr "" + +#: src/lang.c:2540 +msgid "Add posted articles to filter. toggles & sets." +msgstr "" + +#: src/lang.c:2541 +msgid "Add posted articles to filter" +msgstr "" + +#: src/lang.c:2542 +msgid "# If ON add posted articles which start a new thread to filter for\n" + "# highlighting follow-ups\n" +msgstr "" + +#: src/lang.c:2546 +msgid "The directory where articles/threads are to be saved in mailbox format." +msgstr "" + +#: src/lang.c:2547 +msgid "Mail directory" +msgstr "Postkatalog" + +#: src/lang.c:2548 +msgid "# (-m) directory where articles/threads are saved in mailbox format\n" +msgstr "" + +#: src/lang.c:2553 +msgid "Save articles in batch mode (-S)" +msgstr "" + +#: src/lang.c:2554 +msgid "# If ON articles/threads will be saved in batch mode when save -S\n" + "# or mail (-M/-N) is specified on the command line\n" +msgstr "" + +#: src/lang.c:2559 +msgid "The directory where you want articles/threads saved." +msgstr "" + +#: src/lang.c:2560 +msgid "Directory to save arts/threads in" +msgstr "" + +#: src/lang.c:2561 +msgid "# Directory where articles/threads are saved\n" +msgstr "" + +#: src/lang.c:2565 +msgid "Auto save article/thread by Archive-name: header. toggles & sets." +msgstr "" + +#: src/lang.c:2566 +msgid "Use Archive-name: header for save" +msgstr "" + +#: src/lang.c:2567 +msgid "# If ON articles/threads with Archive-name: in mail header will\n" + "# be automatically saved with the Archive-name & part/patch no.\n" +msgstr "" + +#: src/lang.c:2572 +msgid "Mark saved articles/threads as read. toggles, sets, " + "cancels." +msgstr "" + +#: src/lang.c:2573 +msgid "Mark saved articles/threads as read" +msgstr "" + +#: src/lang.c:2574 +msgid "# If ON mark articles that are saved as read\n" +msgstr "" + +#: src/lang.c:2578 +msgid "Do post processing (eg. extract attachments) for saved articles." +msgstr "" + +#: src/lang.c:2579 +msgid "Post process saved articles" +msgstr "" + +#: src/lang.c:2580 +msgid "# Perform post processing (saving binary attachments) from saved articles.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no\n" + "# 1 = extract shell archives (shar) only\n" + "# 2 = yes\n" +msgstr "" + +#: src/lang.c:2589 +msgid "Process only unread articles" +msgstr "" + +#: src/lang.c:2590 +msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" +msgstr "" + +#: src/lang.c:2595 +msgid "Print all or just part of header. toggles & sets." +msgstr "" + +#: src/lang.c:2596 +msgid "Print all headers when printing" +msgstr "" + +#: src/lang.c:2597 +msgid "# If ON print all of article header otherwise just the important lines\n" +msgstr "" + +#: src/lang.c:2601 +msgid "The printer program with options that is to be used to print articles/threads." +msgstr "" + +#: src/lang.c:2602 +msgid "Printer program with options" +msgstr "" + +#: src/lang.c:2603 +msgid "# Print program with parameters used to print articles/threads\n" +msgstr "" + +#: src/lang.c:2609 +msgid "Force redraw after certain commands" +msgstr "" + +#: src/lang.c:2610 +msgid "# If ON a screen redraw will always be done after certain external commands\n" +msgstr "" + +#: src/lang.c:2614 +msgid "Start editor with line offset. toggles, sets, cancels." +msgstr "" + +#: src/lang.c:2615 +msgid "Start editor with line offset" +msgstr "" + +#: src/lang.c:2616 +msgid "# If ON editor will be started with cursor offset into the file\n" + "# otherwise the cursor will be positioned at the first line\n" +msgstr "" + +#: src/lang.c:2621 +msgid "Enter %E for editor, %F for filename, %N for line-number, to set." +msgstr "" + +#: src/lang.c:2622 +msgid "Invocation of your editor" +msgstr "" + +#: src/lang.c:2623 +#, c-format +msgid "# Format of editor line including parameters\n" + "# %%E Editor %%F Filename %%N Linenumber\n" +msgstr "" + +#: src/lang.c:2628 +msgid "Enter name and options for external-inews, --internal for internal inews" +msgstr "" + +#: src/lang.c:2629 +msgid "External inews" +msgstr "Extern inews" + +#: src/lang.c:2630 +msgid "# If --internal use the built in mini inews for posting via NNTP\n" + "# otherwise use an external inews program\n" +msgstr "" + +#: src/lang.c:2634 +msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." +msgstr "" + +#: src/lang.c:2635 +msgid "Invocation of your mail command" +msgstr "" + +#: src/lang.c:2636 +#, c-format +msgid "# Format of mailer line including parameters\n" + "# %%M Mailer %%S Subject %%T To %%F Filename\n" + "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" + "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" +msgstr "" + +#: src/lang.c:2644 +msgid "Use interactive mail reader" +msgstr "" + +#: src/lang.c:2645 +msgid "# Interactive mailreader\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no interactive mailreader\n" + "# 1 = use interactive mailreader with headers in file\n" + "# 2 = use interactive mailreader without headers in file\n" +msgstr "" + +#: src/lang.c:2654 +msgid "Remove ~/.article after posting" +msgstr "Ta bort ~/.article efter postning" + +#: src/lang.c:2655 +msgid "# If ON remove ~/.article after posting.\n" +msgstr "" + +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" + +#: src/lang.c:2662 +msgid "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" + +#: src/lang.c:2667 +msgid "Filename for all posted articles, sets, no filename=do not save." +msgstr "" + +#: src/lang.c:2668 +msgid "Filename for posted articles" +msgstr "" + +#: src/lang.c:2669 +msgid "# Filename where to keep all postings (default posted)\n" + "# If no filename is set then postings will not be saved\n" +msgstr "" + +#: src/lang.c:2674 +msgid "Keep all failed articles in ~/dead.articles. toggles & sets." +msgstr "" + +#: src/lang.c:2675 +msgid "Keep failed arts in ~/dead.articles" +msgstr "" + +#: src/lang.c:2676 +msgid "# If ON keep all failed postings in ~/dead.articles\n" +msgstr "" + +#: src/lang.c:2680 +msgid "Do you want to strip unsubscribed groups from .newsrc" +msgstr "" + +#: src/lang.c:2681 +msgid "No unsubscribed groups in newsrc" +msgstr "" + +#: src/lang.c:2682 +msgid "# If ON strip unsubscribed groups from newsrc\n" +msgstr "" + +#: src/lang.c:2687 +msgid "Remove bogus groups from newsrc" +msgstr "" + +#: src/lang.c:2688 +msgid "# What to do with bogus groups in newsrc file\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = keep\n" + "# 1 = remove\n" + "# 2 = highlight with D on selection screen\n" +msgstr "" + +#: src/lang.c:2696 +msgid "Enter number of seconds until active file will be reread. sets." +msgstr "" + +#: src/lang.c:2697 +msgid "Interval in secs to reread active" +msgstr "" + +#: src/lang.c:2698 +msgid "# Time interval in seconds between rereading the active file (0=never)\n" +msgstr "" + +#: src/lang.c:2703 +msgid "Reconnect to server automatically" +msgstr "" + +#: src/lang.c:2704 +msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" +msgstr "" + +#: src/lang.c:2708 +msgid "Create local copies of NNTP overview files. toggles & sets." +msgstr "" + +#: src/lang.c:2709 +msgid "Cache NNTP overview files locally" +msgstr "" + +#: src/lang.c:2710 +msgid "# If ON, create local copies of NNTP overview files.\n" +msgstr "" + +#: src/lang.c:2714 +msgid "Enter format string. sets, cancels." +msgstr "" + +#: src/lang.c:2715 +msgid "Format string for display of dates" +msgstr "" + +#: src/lang.c:2716 +msgid "# Format string for date representation\n" +msgstr "" + +#: src/lang.c:2722 +msgid "Unicode normalization form" +msgstr "" + +#: src/lang.c:2723 +msgid "# Unicode normalization form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" +msgstr "" + +#: src/lang.c:2735 +msgid "Render BiDi" +msgstr "" + +#: src/lang.c:2736 +msgid "# If ON, bi-directional text is rendered by tin\n" +msgstr "" + +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "" + +#: src/lang.c:2752 +msgid "Delete post-process files" +msgstr "" + +#: src/lang.c:2757 +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "" + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "" + +#: src/lang.c:2763 +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "" + +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "" + +#: src/lang.c:2769 +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "" + +#: src/lang.c:2776 +msgid "Path and options for ispell-like spell-checker. sets, cancels." +msgstr "" + +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "" + +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "" + +#: src/lang.c:2784 +#, fuzzy +msgid "Mailing list address" +msgstr "Skickar logg till %s\n" + +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "" + +#: src/lang.c:2795 +msgid "A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "" + +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "" + +#: src/lang.c:2801 +msgid "Value of the Organization: header. sets, cancels." +msgstr "" + +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "" + +#: src/lang.c:2807 +msgid "Filename for saved articles. sets, cancels." +msgstr "" -#: src/lang.c:2461 -msgid "Cache NNTP overview files locally" -msgstr "" +#: src/lang.c:2808 +#, fuzzy +msgid "savefile" +msgstr "Spara filnamn> " -#: src/lang.c:2462 -msgid "# If ON, create local copies of NNTP overview files.\n" -msgstr "" +#: src/lang.c:2813 src/lang.c:2837 +msgid "Scope for the filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2814 +msgid "Quick (1 key) select filter scope" +msgstr "" + +#: src/lang.c:2819 src/lang.c:2843 +msgid "Header for filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" + +#: src/lang.c:2825 src/lang.c:2849 +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "" + +#: src/lang.c:2826 +msgid "Quick (1 key) select filter case" +msgstr "" + +#: src/lang.c:2831 src/lang.c:2855 +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "" + +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" + +#: src/lang.c:2838 +msgid "Quick (1 key) kill filter scope" +msgstr "" + +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" + +#: src/lang.c:2850 +msgid "Quick (1 key) kill filter case" +msgstr "" + +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" + +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "" -#: src/lang.c:2466 -msgid "Enter format string. sets, cancels." -msgstr "" +#: src/lang.c:2863 +#, fuzzy +msgid "UNDECLARED_CHARSET" +msgstr "MM_NETWORK_CHARSET" -#: src/lang.c:2467 -msgid "Format string for display of dates" -msgstr "" +#: src/lang.c:2869 +msgid "Add this text at the start of the message body. sets, cancels." +msgstr "" -#: src/lang.c:2468 -msgid "# Format string for date representation\n" -msgstr "" +#: src/lang.c:2870 +#, fuzzy +msgid "X_Body" +msgstr "Fet" -#: src/lang.c:2474 -msgid "Unicode normalization form" -msgstr "" +#: src/lang.c:2875 +msgid "Insert this header when posting. sets, cancels." +msgstr "" -#: src/lang.c:2475 -msgid "# Unicode normalization form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" -msgstr "" +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "" -#: src/lang.c:2487 -msgid "Render BiDi" -msgstr "" +#: src/lang.c:2881 +msgid "Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "" -#: src/lang.c:2488 -msgid "# If ON, bi-directional text is rendered by tin\n" -msgstr "" +#: src/lang.c:2882 +msgid "Insert 'X-Comment-To:' header" +msgstr "" -#: src/misc.c:3750 +#: src/misc.c:3754 #, c-format -msgid "Version: %s %s release %s (\"%s\") %s %s\n" -msgstr "Version: %s %s utgåva %s (\"%s\") %s %s\n" +msgid "Version: %s %s release %s (\"%s\") %s %s\n" +msgstr "Version: %s %s utgåva %s (\"%s\") %s %s\n" -#: src/misc.c:3753 +#: src/misc.c:3757 #, c-format -msgid "Version: %s %s release %s (\"%s\")\n" -msgstr "Version: %s %s utgåva %s (\"%s\")\n" +msgid "Version: %s %s release %s (\"%s\")\n" +msgstr "Version: %s %s utgåva %s (\"%s\")\n" -#: src/newsrc.c:430 -msgid "Unreachable?\n" -msgstr "Ej nåbar?\n" +#: src/newsrc.c:453 +msgid "Unreachable?\n" +msgstr "Ej nåbar?\n" -#: src/nntplib.c:824 +#: src/nntplib.c:819 #, c-format -msgid "\n" - "Server timed out, trying reconnect # %d\n" -msgstr "" +msgid "\n" + "Server timed out, trying reconnect # %d\n" +msgstr "" -#: src/nntplib.c:842 src/nntplib.c:1630 -msgid "Rejoin current group\n" -msgstr "" +#: src/nntplib.c:855 src/nntplib.c:1830 +msgid "Rejoin current group\n" +msgstr "" -#: src/nntplib.c:849 src/nntplib.c:1637 +#: src/nntplib.c:863 src/nntplib.c:1838 #, c-format -msgid "Read (%s)\n" -msgstr "Läs (%s)\n" +msgid "Read (%s)\n" +msgstr "Läs (%s)\n" -#: src/nntplib.c:851 +#: src/nntplib.c:865 #, c-format -msgid "Resend last command (%s)\n" -msgstr "" +msgid "Resend last command (%s)\n" +msgstr "" -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 -msgid "MOTD: " -msgstr "" +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "" + +#: src/nntplib.c:1979 +msgid "MOTD: " +msgstr "" -#: src/nrctbl.c:170 +#: src/nrctbl.c:175 #, c-format -msgid "couldn't expand %s\n" -msgstr "" +msgid "couldn't expand %s\n" +msgstr "" -#: src/post.c:1171 +#: src/post.c:1307 #, c-format -msgid "Line %d is longer than 998 octets and should be folded, but\n" - "encoding is neither set to %s nor to %s\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is neither set to %s nor to %s\n" +msgstr "" -#: src/post.c:1176 +#: src/post.c:1312 #, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" - "posting doesn't contain any 8bit chars and thus folding won't happen\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" + "posting doesn't contain any 8bit chars and thus folding won't happen\n" +msgstr "" -#: src/post.c:1178 +#: src/post.c:1314 #, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is not set to %s\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is not set to %s\n" +msgstr "" -#: src/post.c:1993 +#: src/post.c:2278 #, c-format -msgid "Posting: %.*s ..." -msgstr "Postar: %.*s ..." +msgid "Posting: %.*s ..." +msgstr "Postar: %.*s ..." #. Check if okay to read -#: src/read.c:211 -msgid "Aborting read, please wait..." -msgstr "Avbryter läsning, var god vänta..." - -#: src/read.c:358 -msgid "Aborted read\n" -msgstr "Avbröt läsning\n" - -#: src/read.c:414 -msgid "Draining\n" -msgstr "" - -#. Don't hash the initial '<' -#: src/refs.c:251 -msgid "unchanged" -msgstr "oförändrad" - -#: src/refs.c:609 -msgid "[- Unavailable -]" -msgstr "[- Ej tillgänglig -]" +#: src/read.c:197 +msgid "Aborting read, please wait..." +msgstr "Avbryter läsning, var god vänta..." + +#: src/read.c:344 +msgid "Aborted read\n" +msgstr "Avbröt läsning\n" + +#: src/read.c:399 +msgid "Draining\n" +msgstr "" + +#: src/refs.c:232 +msgid "unchanged" +msgstr "oförändrad" + +#: src/refs.c:599 +msgid "[- Unavailable -]" +msgstr "[- Ej tillgänglig -]" #. #. * preamble #. * TODO: -> lang.c #. -#: src/rfc2047.c:1201 +#: src/rfc2047.c:1287 #, c-format -msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" - "are reading this prefix, your mail reader probably has not yet been modified\n" - "to understand the new format, and some of what follows may look strange.\n" - "\n" -msgstr "" - -#: src/save.c:972 -msgid "bytes" -msgstr "byte" - -#: src/select.c:379 -msgid "unread" -msgstr "oläst" - -#: src/select.c:379 -msgid "all" -msgstr "alla" - -#: src/select.c:549 src/select.c:551 -msgid " R" -msgstr "" - -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 -#, c-format -msgid "Can't run slrnface: Environment variable %s not found." -msgstr "" - -#: src/xface.c:99 src/xface.c:131 -#, c-format -msgid "Can't run slrnface: failed to create %s" -msgstr "" - -#: src/xface.c:109 -msgid "This directory is used to create named pipes for communication between\n" - "slrnface and its parent process. It should normally be empty because\n" - "the pipe is deleted right after it has been opened by both processes.\n" - "\n" - "File names generated by slrnface have the form \"hostname.pid\". It is\n" - "probably an error if they linger here longer than a fraction of a second.\n" - "\n" - "However, if the directory is mounted from an NFS server, you might see\n" - "special files created by your NFS server while slrnface is running.\n" - "Do not try to remove them.\n" -msgstr "" - -#: src/xface.c:123 -msgid "Can't run slrnface: couldn't construct fifo name." -msgstr "" - -#: src/xface.c:162 +msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" + "are reading this prefix, your mail reader probably has not yet been modified\n" + "to understand the new format, and some of what follows may look strange.\n" + "\n" +msgstr "" + +#: src/save.c:1045 +msgid "bytes" +msgstr "byte" + +#: src/select.c:378 +msgid "unread" +msgstr "oläst" + +#: src/select.c:378 +msgid "all" +msgstr "alla" + +#: src/select.c:554 src/select.c:556 +msgid " R" +msgstr "" + +#: src/xface.c:70 +msgid "Can't run slrnface: Not running in a xterm." +msgstr "" + +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 +#, c-format +msgid "Can't run slrnface: Environment variable %s not found." +msgstr "" + +#: src/xface.c:111 src/xface.c:143 +#, c-format +msgid "Can't run slrnface: failed to create %s" +msgstr "" + +#: src/xface.c:121 +msgid "This directory is used to create named pipes for communication between\n" + "slrnface and its parent process. It should normally be empty because\n" + "the pipe is deleted right after it has been opened by both processes.\n" + "\n" + "File names generated by slrnface have the form \"hostname.pid\". It is\n" + "probably an error if they linger here longer than a fraction of a second.\n" + "\n" + "However, if the directory is mounted from an NFS server, you might see\n" + "special files created by your NFS server while slrnface is running.\n" + "Do not try to remove them.\n" +msgstr "" + +#: src/xface.c:135 +msgid "Can't run slrnface: couldn't construct fifo name." +msgstr "" + +#: src/xface.c:174 #, c-format -msgid "Slrnface abnormally exited, code %d." -msgstr "" +msgid "Slrnface abnormally exited, code %d." +msgstr "" -#: src/xface.c:206 +#: src/xface.c:218 #, c-format -msgid "Slrnface failed: %s." -msgstr "" +msgid "Slrnface failed: %s." +msgstr "" + +#, fuzzy +#~ msgid "mark selected articles as read" +#~ msgstr "markera artikel som oläst" diff -Nurp --exclude='.bzr*' tin-1.8.3/po/tin.pot tin-2.0.0/po/tin.pot --- tin-1.8.3/po/tin.pot 2007-02-01 13:58:13.000000000 +0100 +++ tin-2.0.0/po/tin.pot 2011-08-22 18:32:48.016299355 +0200 @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-02-01 13:57+0100\n" +"POT-Creation-Date: 2011-08-22 18:32+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,291 +15,479 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/art.c:1534 +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 #, c-format -msgid "%d Bad overview record (%d fields) '%s'" +msgid "attribute with no scope: %s" msgstr "" -#: src/attrib.c:649 +#: src/attrib.c:884 +msgid "Processing attributes... " +msgstr "" + +#: src/attrib.c:1102 #, c-format msgid "" "# Do not edit this comment block\n" "#\n" msgstr "" -#: src/attrib.c:650 +#: src/attrib.c:1103 #, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" msgstr "" -#: src/attrib.c:651 +#: src/attrib.c:1104 #, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" +msgid "# add_posted_to_filter=ON/OFF\n" msgstr "" -#: src/attrib.c:652 +#: src/attrib.c:1105 #, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" +msgid "# advertising=ON/OFF\n" msgstr "" -#: src/attrib.c:653 +#: src/attrib.c:1106 #, c-format -msgid "# savefile=STRING (ie. =linux)\n" +msgid "# alternative_handling=ON/OFF\n" msgstr "" -#: src/attrib.c:654 +#: src/attrib.c:1107 #, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" +msgid "# ask_for_metamail=ON/OFF\n" msgstr "" -#: src/attrib.c:655 +#: src/attrib.c:1108 #, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgid "# auto_cc_bcc=NUM\n" msgstr "" -#: src/attrib.c:656 +#: src/attrib.c:1109 #, c-format -msgid "# followup_to=STRING\n" +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "" + +#: src/attrib.c:1110 +#, c-format +msgid "# auto_list_thread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1111 +#, c-format +msgid "# auto_save=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1112 +#, c-format +msgid "# auto_select=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1113 +#, c-format +msgid "# batch_save=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1114 +#, c-format +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "" + +#: src/attrib.c:1115 +#, c-format +msgid "# delete_tmp_files=ON/OFF\n" msgstr "" -#: src/attrib.c:657 +#: src/attrib.c:1116 #, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" msgstr "" -#: src/attrib.c:658 +#: src/attrib.c:1117 #, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" +msgid "# fcc=STRING (eg. =mailbox)\n" msgstr "" -#: src/attrib.c:659 +#: src/attrib.c:1118 #, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" +msgid "# followup_to=STRING\n" msgstr "" -#: src/attrib.c:660 +#: src/attrib.c:1119 #, c-format msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" msgstr "" -#: src/attrib.c:661 +#: src/attrib.c:1120 #, c-format -msgid "# news_quote_format=STRING\n" +msgid "# group_catchup_on_exit=ON/OFF\n" msgstr "" -#: src/attrib.c:662 +#: src/attrib.c:1121 #, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgid "# mail_8bit_header=ON/OFF\n" msgstr "" -#: src/attrib.c:663 +#: src/attrib.c:1122 #, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgid "# mail_mime_encoding=supported_encoding" msgstr "" -#: src/attrib.c:665 +#: src/attrib.c:1130 #, c-format msgid "# ispell=STRING\n" msgstr "" -#: src/attrib.c:667 +#: src/attrib.c:1132 #, c-format -msgid "# auto_select=ON/OFF\n" +msgid "# maildir=STRING (eg. ~/Mail)\n" msgstr "" -#: src/attrib.c:668 +#: src/attrib.c:1133 #, c-format -msgid "# auto_save=ON/OFF\n" +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" msgstr "" -#: src/attrib.c:669 +#: src/attrib.c:1134 #, c-format -msgid "# batch_save=ON/OFF\n" +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" msgstr "" -#: src/attrib.c:670 +#: src/attrib.c:1135 #, c-format -msgid "# delete_tmp_files=ON/OFF\n" +msgid "# mark_ignore_tags=ON/OFF\n" msgstr "" -#: src/attrib.c:671 +#: src/attrib.c:1136 #, c-format -msgid "# show_only_unread=ON/OFF\n" +msgid "# mark_saved_read=ON/OFF\n" msgstr "" -#: src/attrib.c:672 +#: src/attrib.c:1137 #, c-format -msgid "# thread_arts=NUM" +msgid "# mime_forward=ON/OFF\n" msgstr "" -#: src/attrib.c:679 +#: src/attrib.c:1139 #, c-format -msgid "# thread_perc=NUM\n" +msgid "# mm_network_charset=supported_charset" msgstr "" -#: src/attrib.c:680 +#: src/attrib.c:1146 #, c-format -msgid "# show_author=NUM\n" +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" msgstr "" -#: src/attrib.c:686 +#: src/attrib.c:1148 #, c-format -msgid "# show_info=NUM\n" +msgid "# news_headers_to_display=STRING\n" msgstr "" -#: src/attrib.c:692 +#: src/attrib.c:1149 #, c-format -msgid "# sort_art_type=NUM\n" +msgid "# news_headers_to_not_display=STRING\n" msgstr "" -#: src/attrib.c:710 +#: src/attrib.c:1150 #, c-format -msgid "# sort_threads_type=NUM\n" +msgid "# news_quote_format=STRING\n" +msgstr "" + +#: src/attrib.c:1151 +#, c-format +msgid "# organization=STRING (if beginning with '/' read from file)\n" msgstr "" -#: src/attrib.c:715 +#: src/attrib.c:1152 #, c-format -msgid "# post_proc_type=NUM\n" +msgid "# pos_first_unread=ON/OFF\n" msgstr "" -#: src/attrib.c:720 +#: src/attrib.c:1153 +#, c-format +msgid "# post_8bit_header=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1154 +#, c-format +msgid "# post_mime_encoding=supported_encoding" +msgstr "" + +#: src/attrib.c:1161 +#, c-format +msgid "# post_process_type=NUM\n" +msgstr "" + +#: src/attrib.c:1166 +#, c-format +msgid "# post_process_view=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1167 #, c-format msgid "# quick_kill_scope=STRING (ie. talk.*)\n" msgstr "" -#: src/attrib.c:721 +#: src/attrib.c:1168 #, c-format msgid "# quick_kill_expire=ON/OFF\n" msgstr "" -#: src/attrib.c:722 +#: src/attrib.c:1169 #, c-format msgid "# quick_kill_case=ON/OFF\n" msgstr "" -#: src/attrib.c:723 +#: src/attrib.c:1170 #, c-format msgid "# quick_kill_header=NUM\n" msgstr "" -#: src/attrib.c:724 src/attrib.c:731 +#: src/attrib.c:1171 src/attrib.c:1180 +#, c-format +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "" + +#: src/attrib.c:1172 src/attrib.c:1181 +#, c-format +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "" + +#: src/attrib.c:1173 src/attrib.c:1182 #, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" +msgid "# 4=Message-ID: & full References: line\n" msgstr "" -#: src/attrib.c:725 src/attrib.c:732 +#: src/attrib.c:1174 src/attrib.c:1183 #, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" +msgid "# 5=Message-ID: & last References: entry only\n" msgstr "" -#: src/attrib.c:726 src/attrib.c:733 +#: src/attrib.c:1175 src/attrib.c:1184 #, c-format -msgid "# 4=msgid 5=lines\n" +msgid "# 6=Message-ID: entry only 7=Lines:\n" msgstr "" -#: src/attrib.c:727 +#: src/attrib.c:1176 #, c-format msgid "# quick_select_scope=STRING\n" msgstr "" -#: src/attrib.c:728 +#: src/attrib.c:1177 #, c-format msgid "# quick_select_expire=ON/OFF\n" msgstr "" -#: src/attrib.c:729 +#: src/attrib.c:1178 #, c-format msgid "# quick_select_case=ON/OFF\n" msgstr "" -#: src/attrib.c:730 +#: src/attrib.c:1179 #, c-format msgid "# quick_select_header=NUM\n" msgstr "" -#: src/attrib.c:734 +#: src/attrib.c:1185 #, c-format -msgid "# x_comment_to=ON/OFF\n" +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" msgstr "" -#: src/attrib.c:735 +#: src/attrib.c:1187 #, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" +msgid "# print_header=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1189 +#, c-format +msgid "# process_only_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1190 +#, c-format +msgid "# prompt_followupto=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1191 +#, c-format +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "" + +#: src/attrib.c:1192 +#, c-format +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "" + +#: src/attrib.c:1193 +#, c-format +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "" + +#: src/attrib.c:1194 +#, c-format +msgid "# show_author=NUM\n" +msgstr "" + +#: src/attrib.c:1200 +#, c-format +msgid "# show_info=NUM\n" +msgstr "" + +#: src/attrib.c:1206 +#, c-format +msgid "# show_signatures=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1207 +#, c-format +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1208 +#, c-format +msgid "# sigdashes=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1209 +#, c-format +msgid "# signature_repost=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1210 +#, c-format +msgid "# sort_article_type=NUM\n" +msgstr "" + +#: src/attrib.c:1228 +#, c-format +msgid "# sort_threads_type=NUM\n" +msgstr "" + +#: src/attrib.c:1237 +#, c-format +msgid "# start_editor_offset=ON/OFF\n" msgstr "" -#: src/attrib.c:736 +#: src/attrib.c:1238 #, c-format msgid "# tex2iso_conv=ON/OFF\n" msgstr "" -#: src/attrib.c:737 +#: src/attrib.c:1239 #, c-format -msgid "# mime_forward=ON/OFF\n" +msgid "# thread_catchup_on_exit=ON/OFF\n" msgstr "" -#: src/attrib.c:739 +#: src/attrib.c:1240 #, c-format -msgid "# mm_network_charset=supported_charset" +msgid "# thread_articles=NUM" msgstr "" -#: src/attrib.c:746 +#: src/attrib.c:1247 #, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgid "# thread_perc=NUM\n" +msgstr "" + +#: src/attrib.c:1248 +#, c-format +msgid "# trim_article_body=NUM\n" +msgstr "" + +#: src/attrib.c:1249 +#, c-format +msgid "# 0 = Don't trim article body\n" +msgstr "" + +#: src/attrib.c:1250 +#, c-format +msgid "# 1 = Skip leading blank lines\n" +msgstr "" + +#: src/attrib.c:1251 +#, c-format +msgid "# 2 = Skip trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1252 +#, c-format +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1253 +#, c-format +msgid "# 4 = Compact multiple blank lines between text blocks\n" msgstr "" -#: src/attrib.c:748 +#: src/attrib.c:1254 #, c-format msgid "" -"#\n" -"# Note that it is best to put general (global scoping)\n" +"# 5 = Compact multiple blank lines between text blocks and skip\n" +"# leading blank lines\n" msgstr "" -#: src/attrib.c:749 +#: src/attrib.c:1255 #, c-format msgid "" -"# entries first followed by group specific entries.\n" -"#\n" +"# 6 = Compact multiple blank lines between text blocks and skip\n" +"# trailing blank lines\n" msgstr "" -#: src/attrib.c:750 +#: src/attrib.c:1256 #, c-format msgid "" -"############################################################################\n" -"\n" +"# 7 = Compact multiple blank lines between text blocks and skip\n" +"# leading and trailing blank lines\n" msgstr "" -#: src/attrib.c:756 +#: src/attrib.c:1257 #, c-format -msgid "# include extra headers\n" +msgid "# verbatim_handling=ON/OFF\n" msgstr "" -#: src/attrib.c:764 +#: src/attrib.c:1258 #, c-format -msgid "# in *sources* set post process type to shar only\n" +msgid "# wrap_on_next_unread=ON/OFF\n" msgstr "" -#: src/attrib.c:768 +#: src/attrib.c:1259 #, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" msgstr "" -#: src/attrib.c:769 +#: src/attrib.c:1260 #, c-format -msgid "# remove tmp files and set Followup-To: poster\n" +msgid "# x_comment_to=ON/OFF\n" msgstr "" -#: src/cook.c:499 -msgid "(unknown)" +#: src/attrib.c:1261 +#, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" msgstr "" -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -msgid "Removed from the previous rule: " +#: src/attrib.c:1262 +#, c-format +msgid "" +"#\n" +"# Note that it is best to put general (global scoping)\n" +msgstr "" + +#: src/attrib.c:1263 +#, c-format +msgid "" +"# entries first followed by group specific entries.\n" +"#\n" +msgstr "" + +#: src/attrib.c:1264 +#, c-format +msgid "############################################################################\n" +msgstr "" + +#: src/cook.c:625 +msgid "(unknown)" msgstr "" -#: src/keymap.c:271 +#: src/keymap.c:277 msgid "NULL" msgstr "" @@ -331,15 +519,15 @@ msgstr "" msgid "Article cancelled (deleted)." msgstr "" -#: src/lang.c:51 +#: src/lang.c:52 msgid "Article cannot be cancelled (deleted)." msgstr "" -#: src/lang.c:52 +#: src/lang.c:54 msgid "Article deleted." msgstr "" -#: src/lang.c:53 +#: src/lang.c:55 #, c-format msgid "" "\n" @@ -348,542 +536,642 @@ msgid "" "will be posted to the following %s:\n" msgstr "" -#: src/lang.c:54 +#: src/lang.c:56 msgid "Article not posted!" msgstr "" -#: src/lang.c:55 +#: src/lang.c:57 msgid "Article not saved" msgstr "" -#: src/lang.c:56 +#: src/lang.c:58 msgid "Article Level Commands" msgstr "" -#: src/lang.c:57 +#: src/lang.c:59 msgid "Article has no parent" msgstr "" -#: src/lang.c:58 +#: src/lang.c:60 msgid "Parent article has been killed" msgstr "" -#: src/lang.c:59 +#: src/lang.c:61 msgid "Parent article is unavailable" msgstr "" -#: src/lang.c:60 +#: src/lang.c:62 #, c-format msgid "Article posted: %s" msgstr "" -#: src/lang.c:61 +#: src/lang.c:63 #, c-format msgid "Article rejected (saved to %s)" msgstr "" -#: src/lang.c:62 +#: src/lang.c:64 #, c-format msgid "" -"%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " +"%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " msgstr "" -#: src/lang.c:63 +#: src/lang.c:65 msgid "Article unavailable" msgstr "" -#: src/lang.c:64 -msgid "Article undeleted." -msgstr "" - #: src/lang.c:66 -msgid "articles" +msgid "Article undeleted." msgstr "" #: src/lang.c:67 -msgid "This is a repost of the following article:" -msgstr "" - -#: src/lang.c:68 -msgid "article" +#, c-format +msgid "Article %4d of %4d" msgstr "" #: src/lang.c:69 -msgid "Article" +msgid "articles" msgstr "" #: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" +msgid "This is a repost of the following article:" msgstr "" #: src/lang.c:71 -#, c-format -msgid " at %s" +msgid "article" msgstr "" #: src/lang.c:72 -#, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgid "Article" msgstr "" #: src/lang.c:73 -msgid ", charset: " +#, c-format +msgid "-- %d %s mailed --" msgstr "" #: src/lang.c:74 #, c-format -msgid "%*s[-- Description: %s --]\n" +msgid " at %s" msgstr "" #: src/lang.c:75 #, c-format -msgid "%d Authentication failed" +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" msgstr "" #: src/lang.c:76 -msgid "Server expects authentication.\n" +msgid ", charset: " msgstr "" #: src/lang.c:77 -msgid " Please enter password: " +#, c-format +msgid "%*s[-- charset %s not supported --]\n" msgstr "" #: src/lang.c:78 -msgid " Please enter username: " +#, c-format +msgid "%*s[-- Description: %s --]\n" msgstr "" #: src/lang.c:79 #, c-format -msgid "Author search backwards [%s]> " +msgid "%d lines" msgstr "" #: src/lang.c:80 -#, c-format -msgid "Author search forwards [%s]> " +msgid "Attachment Menu" msgstr "" #: src/lang.c:81 -#, c-format -msgid "Authorized for user: %s\n" +msgid "Attachment Menu Commands" msgstr "" #: src/lang.c:82 -#, c-format -msgid "Authorization failed for user: %s\n" +msgid "" msgstr "" #: src/lang.c:83 #, c-format -msgid "" -"\n" -"Autosubscribed to %s" +msgid "Attachment saved successfully. (%s)" msgstr "" #: src/lang.c:84 -msgid "Autosubscribing groups...\n" +#, c-format +msgid "%d of %d attachments saved successfully." msgstr "" #: src/lang.c:85 -#, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgid "Select attachment> " +msgstr "" + +#: src/lang.c:86 +msgid "Tagged attachment" msgstr "" #: src/lang.c:87 #, c-format -msgid "Active file corrupt - %s" +msgid "%d attachments tagged" msgstr "" #: src/lang.c:88 -#, c-format -msgid "" -"Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgid "Untagged attachment" msgstr "" #: src/lang.c:89 -#, c-format -msgid "Unrecognized attribute: %s" +msgid "Attributes Menu Commands" msgstr "" -#: src/lang.c:90 +#: src/lang.c:91 #, c-format -msgid "Bad command. Type '%s' for help." +msgid "%d Authentication failed" msgstr "" #: src/lang.c:92 -msgid "Base article" +#, c-format +msgid "NNTP authorization password not found for %s" msgstr "" #: src/lang.c:93 -msgid "Base article range" +msgid "Server expects authentication.\n" msgstr "" #: src/lang.c:94 -#, c-format -msgid "%s: Updating of index files not supported\n" +msgid " Please enter password: " msgstr "" #: src/lang.c:95 -msgid "*** Beginning of article ***" +msgid " Please enter username: " +msgstr "" + +#: src/lang.c:96 +#, c-format +msgid "Authorized for user: %s\n" msgstr "" #: src/lang.c:97 #, c-format +msgid "Authorization failed for user: %s\n" +msgstr "" + +#: src/lang.c:99 +#, c-format +msgid "Author search backwards [%s]> " +msgstr "" + +#: src/lang.c:100 +#, c-format +msgid "Author search forwards [%s]> " +msgstr "" + +#: src/lang.c:101 +#, c-format +msgid "" +"\n" +"Autosubscribed to %s" +msgstr "" + +#: src/lang.c:102 +msgid "Autosubscribing groups...\n" +msgstr "" + +#: src/lang.c:103 +#, c-format +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "" + +#: src/lang.c:105 +#, c-format +msgid "Active file corrupt - %s" +msgstr "" + +#: src/lang.c:106 +#, c-format +msgid "" +"Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "" + +#: src/lang.c:107 +#, c-format +msgid "Unrecognized attribute: %s" +msgstr "" + +#: src/lang.c:108 +#, c-format +msgid "Bad command. Type '%s' for help." +msgstr "" + +#: src/lang.c:110 +msgid "Base article" +msgstr "" + +#: src/lang.c:111 +msgid "Base article range" +msgstr "" + +#: src/lang.c:112 +#, c-format +msgid "%s: Updating of index files not supported\n" +msgstr "" + +#: src/lang.c:113 +msgid "*** Beginning of article ***" +msgstr "" + +#: src/lang.c:114 +msgid "*** Beginning of page ***" +msgstr "" + +#: src/lang.c:116 +#, c-format msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " msgstr "" -#: src/lang.c:98 +#: src/lang.c:117 msgid "Cancelling article..." msgstr "" -#: src/lang.c:100 +#: src/lang.c:119 #, c-format msgid "Cannot create %s" msgstr "" -#: src/lang.c:101 +#: src/lang.c:120 #, c-format msgid "Can't find base article %d" msgstr "" -#: src/lang.c:102 +#: src/lang.c:121 #, c-format msgid "Can't open %s" msgstr "" -#: src/lang.c:103 +#: src/lang.c:122 #, c-format msgid "Couldn't open %s for saving" msgstr "" -#: src/lang.c:104 +#: src/lang.c:123 msgid "*** Posting not allowed ***" msgstr "" -#: src/lang.c:105 +#: src/lang.c:124 #, c-format msgid "Posting is not allowed to %s" msgstr "" -#: src/lang.c:106 +#: src/lang.c:126 #, c-format msgid "Can't retrieve %s" msgstr "" -#: src/lang.c:107 +#: src/lang.c:128 #, c-format msgid "%s is a directory" msgstr "" -#: src/lang.c:108 +#: src/lang.c:129 msgid "Catchup" msgstr "" -#: src/lang.c:109 +#: src/lang.c:130 #, c-format msgid "Catchup %s..." msgstr "" -#: src/lang.c:110 +#: src/lang.c:131 msgid "Catchup all groups entered during this session?" msgstr "" -#: src/lang.c:111 +#: src/lang.c:132 msgid "You have tagged articles in this group - catchup anyway?" msgstr "" -#: src/lang.c:112 +#: src/lang.c:133 #, c-format msgid "%s %d %s in %lu seconds\n" msgstr "" -#: src/lang.c:113 +#: src/lang.c:134 msgid "Caughtup" msgstr "" -#: src/lang.c:114 +#: src/lang.c:135 msgid "Check Prepared Article" msgstr "" -#: src/lang.c:115 +#: src/lang.c:136 msgid "Checking for new groups... " msgstr "" -#: src/lang.c:116 +#: src/lang.c:137 msgid "Checking for news..." msgstr "" -#: src/lang.c:117 +#: src/lang.c:138 #, c-format msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " msgstr "" -#: src/lang.c:119 +#: src/lang.c:140 msgid "ANSI color disabled" msgstr "" -#: src/lang.c:120 +#: src/lang.c:141 msgid "ANSI color enabled" msgstr "" -#: src/lang.c:122 +#: src/lang.c:143 #, c-format msgid "Command failed: %s" msgstr "" -#: src/lang.c:123 +#: src/lang.c:144 msgid "Mark not selected articles read?" msgstr "" -#: src/lang.c:124 +#: src/lang.c:146 #, c-format msgid "Connecting to %s..." msgstr "" -#: src/lang.c:125 +#: src/lang.c:148 msgid "" msgstr "" -#: src/lang.c:126 +#: src/lang.c:149 msgid "Creating active file for saved groups...\n" msgstr "" -#: src/lang.c:127 +#: src/lang.c:150 msgid "Creating newsrc file...\n" msgstr "" -#: src/lang.c:129 src/lang.c:1150 +#: src/lang.c:152 src/lang.c:1296 msgid "Default" msgstr "" -#: src/lang.c:130 +#: src/lang.c:153 msgid "Delete saved files that have been post processed?" msgstr "" -#: src/lang.c:131 +#: src/lang.c:154 msgid "Deleting temporary files..." msgstr "" -#: src/lang.c:133 +#: src/lang.c:156 msgid "*** End of article ***" msgstr "" -#: src/lang.c:134 +#: src/lang.c:157 msgid "*** End of articles ***" msgstr "" -#: src/lang.c:135 +#: src/lang.c:158 +msgid "*** End of attachments ***" +msgstr "" + +#: src/lang.c:159 msgid "*** End of groups ***" msgstr "" -#: src/lang.c:136 +#: src/lang.c:160 +msgid "*** End of page ***" +msgstr "" + +#: src/lang.c:161 +msgid "*** End of scopes ***" +msgstr "" + +#: src/lang.c:162 msgid "*** End of thread ***" msgstr "" -#: src/lang.c:137 +#: src/lang.c:163 +msgid "*** End of URLs ***" +msgstr "" + +#: src/lang.c:164 msgid "Enter limit of articles to get> " msgstr "" -#: src/lang.c:138 +#: src/lang.c:165 msgid "Enter Message-ID to go to> " msgstr "" -#: src/lang.c:139 +#: src/lang.c:166 msgid " and enter next unread thread" msgstr "" -#: src/lang.c:140 +#: src/lang.c:167 +msgid " and enter next unread article" +msgstr "" + +#: src/lang.c:168 msgid " and enter next unread group" msgstr "" -#: src/lang.c:141 +#: src/lang.c:169 msgid "Enter option number> " msgstr "" -#: src/lang.c:142 +#: src/lang.c:170 #, c-format msgid "Enter range [%s]> " msgstr "" -#: src/lang.c:143 +#: src/lang.c:171 msgid "" "\n" "Warning: Approved: header used.\n" msgstr "" -#: src/lang.c:145 +#: src/lang.c:173 msgid "" "\n" "Error: Bad address in Approved: header.\n" msgstr "" -#: src/lang.c:146 +#: src/lang.c:174 msgid "" "\n" "Error: Bad address in From: header.\n" msgstr "" -#: src/lang.c:147 +#: src/lang.c:175 msgid "" "\n" "Error: Bad address in Reply-To: header.\n" msgstr "" -#: src/lang.c:148 +#: src/lang.c:176 msgid "" "\n" "Error: Bad FQDN in Message-ID: header.\n" msgstr "" -#: src/lang.c:149 +#: src/lang.c:178 #, c-format msgid "Can't unlock %s" msgstr "" -#: src/lang.c:151 +#: src/lang.c:179 #, c-format -msgid "Corrupted file %s" +msgid "Couldn't dotlock %s - article not appended!" msgstr "" -#: src/lang.c:152 +#: src/lang.c:180 #, c-format -msgid "Couldn't dotlock %s - article not appended!" +msgid "Couldn't lock %s - article not appended!" msgstr "" -#: src/lang.c:153 +#: src/lang.c:183 #, c-format -msgid "Couldn't lock %s - article not appended!" +msgid "Corrupted file %s" +msgstr "" + +#: src/lang.c:185 +msgid "" +"\n" +"Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" msgstr "" -#: src/lang.c:155 +#: src/lang.c:186 msgid "Internal error in GNKSA routine - send bug report.\n" msgstr "" -#: src/lang.c:156 +#: src/lang.c:187 msgid "Left angle bracket missing in route address.\n" msgstr "" -#: src/lang.c:157 +#: src/lang.c:188 msgid "Left parenthesis missing in old-style address.\n" msgstr "" -#: src/lang.c:158 +#: src/lang.c:189 msgid "Right parenthesis missing in old-style address.\n" msgstr "" -#: src/lang.c:159 +#: src/lang.c:190 msgid "At-sign missing in mail address.\n" msgstr "" -#: src/lang.c:160 +#: src/lang.c:191 msgid "Single component FQDN is not allowed. Add your domain.\n" msgstr "" -#: src/lang.c:161 +#: src/lang.c:192 msgid "" "Invalid domain. Send bug report if your top level domain really exists.\n" "Use .invalid as top level domain for munged addresses.\n" msgstr "" -#: src/lang.c:162 +#: src/lang.c:193 msgid "" "Illegal domain. Send bug report if your top level domain really exists.\n" "Use .invalid as top level domain for munged addresses.\n" msgstr "" -#: src/lang.c:163 +#: src/lang.c:194 msgid "" "Unknown domain. Send bug report if your top level domain really exists.\n" "Use .invalid as top level domain for munged addresses.\n" msgstr "" -#: src/lang.c:164 +#: src/lang.c:195 msgid "Illegal character in FQDN.\n" msgstr "" -#: src/lang.c:165 +#: src/lang.c:196 msgid "Zero length FQDN component not allowed.\n" msgstr "" -#: src/lang.c:166 +#: src/lang.c:197 msgid "FQDN component exceeds maximum allowed length (63 chars).\n" msgstr "" -#: src/lang.c:167 +#: src/lang.c:198 msgid "FQDN component may not start or end with hyphen.\n" msgstr "" -#: src/lang.c:168 +#: src/lang.c:199 msgid "FQDN component may not start with digit.\n" msgstr "" -#: src/lang.c:169 +#: src/lang.c:200 msgid "Domain literal has impossible numeric value.\n" msgstr "" -#: src/lang.c:170 +#: src/lang.c:201 msgid "" "Domain literal is for private use only and not allowed for global use.\n" msgstr "" -#: src/lang.c:171 +#: src/lang.c:202 msgid "Right bracket missing in domain literal.\n" msgstr "" -#: src/lang.c:172 +#: src/lang.c:203 msgid "Missing localpart of mail address.\n" msgstr "" -#: src/lang.c:173 +#: src/lang.c:204 msgid "Illegal character in localpart of mail address.\n" msgstr "" -#: src/lang.c:174 +#: src/lang.c:205 msgid "Zero length localpart component not allowed.\n" msgstr "" -#: src/lang.c:175 +#: src/lang.c:206 msgid "" "Illegal character in realname.\n" "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" msgstr "" -#: src/lang.c:176 +#: src/lang.c:207 msgid "" "Illegal character in realname.\n" "Quoted words may not contain '()<>\\'.\n" msgstr "" -#: src/lang.c:177 +#: src/lang.c:208 msgid "" "Illegal character in realname.\n" "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" msgstr "" -#: src/lang.c:178 +#: src/lang.c:209 msgid "Bad syntax in encoded word used in realname.\n" msgstr "" -#: src/lang.c:179 +#: src/lang.c:210 msgid "" "Illegal character in realname.\n" "Unquoted words may not contain '()<>\\' in old-style addresses.\n" msgstr "" -#: src/lang.c:180 +#: src/lang.c:211 msgid "" "Illegal character in realname.\n" "Control characters and unencoded 8bit characters > 127 are not allowed.\n" msgstr "" -#: src/lang.c:181 +#: src/lang.c:212 msgid "" "\n" "Error: No blank line found after header.\n" msgstr "" +#: src/lang.c:213 +#, c-format +msgid "" +"\n" +"Error: Illegal formatted %s.\n" +msgstr "" + #. TODO: fixme, US-ASCII is not the only 7bit charset we know about -#: src/lang.c:183 +#: src/lang.c:215 msgid "" "\n" "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" @@ -892,7 +1180,7 @@ msgid "" " editing tinrc.\n" msgstr "" -#: src/lang.c:188 +#: src/lang.c:220 msgid "" "\n" "Error: Posting contains non-ASCII characters but the MIME encoding\n" @@ -902,13 +1190,13 @@ msgid "" " using the M)enu of configurable options or by editing tinrc.\n" msgstr "" -#: src/lang.c:194 +#: src/lang.c:226 msgid "" "\n" "Error: Article starts with blank line instead of header\n" msgstr "" -#: src/lang.c:195 +#: src/lang.c:227 #, c-format msgid "" "\n" @@ -916,21 +1204,28 @@ msgid "" "%s\n" msgstr "" -#: src/lang.c:196 +#: src/lang.c:228 #, c-format msgid "" "\n" "Error: The \"%s:\" line is empty.\n" msgstr "" -#: src/lang.c:197 +#: src/lang.c:229 #, c-format msgid "" "\n" "Error: The \"%s:\" line is missing from the article header.\n" msgstr "" -#: src/lang.c:198 +#: src/lang.c:230 +#, c-format +msgid "" +"\n" +"Error: %s contains non 7bit chars.\n" +msgstr "" + +#: src/lang.c:231 #, c-format msgid "" "\n" @@ -938,152 +1233,158 @@ msgid "" "%s\n" msgstr "" -#: src/lang.c:199 +#: src/lang.c:232 #, c-format msgid "" "\n" "Error: There are multiple (%d) \"%s:\" lines in the header.\n" msgstr "" -#: src/lang.c:200 +#: src/lang.c:233 #, c-format msgid "Insecure permissions of %s (%o)" msgstr "" -#: src/lang.c:201 +#: src/lang.c:235 #, c-format msgid "Invalid response to GROUP command, %s" msgstr "" -#: src/lang.c:203 +#: src/lang.c:240 #, c-format msgid "MIME parse error: Unexpected end of %s/%s article" msgstr "" -#: src/lang.c:204 +#: src/lang.c:241 msgid "MIME parse error: Start boundary whilst reading headers" msgstr "" -#: src/lang.c:205 +#: src/lang.c:242 +msgid "" +"\n" +"Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "" + +#: src/lang.c:243 msgid "Can't get a (fully-qualified) domain-name!" msgstr "" -#: src/lang.c:206 +#: src/lang.c:244 #, c-format msgid "No permissions to go into %s\n" msgstr "" -#: src/lang.c:207 +#: src/lang.c:246 msgid "" "\n" "Error: From: line missing.\n" msgstr "" -#: src/lang.c:208 +#: src/lang.c:248 #, c-format msgid "No read permissions for %s\n" msgstr "" -#: src/lang.c:209 +#: src/lang.c:249 #, c-format msgid "File %s does not exist\n" msgstr "" -#: src/lang.c:210 +#: src/lang.c:250 #, c-format msgid "No write permissions for %s\n" msgstr "" -#: src/lang.c:211 +#: src/lang.c:251 msgid "Can't get user information (/etc/passwd missing?)" msgstr "" -#: src/lang.c:212 +#: src/lang.c:252 msgid "errors" msgstr "" -#: src/lang.c:213 +#: src/lang.c:254 #, c-format msgid "" "\n" "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" msgstr "" -#: src/lang.c:214 +#: src/lang.c:256 #, c-format msgid "Server has non of the groups listed in %s" msgstr "" -#: src/lang.c:215 +#: src/lang.c:257 msgid "error" msgstr "" -#: src/lang.c:216 +#: src/lang.c:258 msgid "Unknown display level" msgstr "" -#: src/lang.c:217 +#: src/lang.c:259 msgid "" msgstr "" -#: src/lang.c:218 +#: src/lang.c:260 msgid "Exiting..." msgstr "" -#: src/lang.c:219 +#: src/lang.c:261 msgid "leaving external mail-reader" msgstr "" -#: src/lang.c:220 +#: src/lang.c:262 #, c-format msgid "Extracting %s..." msgstr "" -#: src/lang.c:222 +#: src/lang.c:264 #, c-format msgid "Error writing %s file. Filesystem full? File reset to previous state." msgstr "" -#: src/lang.c:223 +#: src/lang.c:265 #, c-format msgid "Error making backup of %s file. Filesystem full?" msgstr "" -#: src/lang.c:224 +#: src/lang.c:266 #, c-format msgid "Filtering global rules (%d/%d)..." msgstr "" -#: src/lang.c:225 +#: src/lang.c:267 msgid "Rule created by: " msgstr "" -#: src/lang.c:226 +#: src/lang.c:268 #, c-format msgid "Enter pattern [%s]> " msgstr "" -#: src/lang.c:227 +#: src/lang.c:269 #, c-format msgid "" "\n" "You requested followups to your article to go to the following %s:\n" msgstr "" -#: src/lang.c:228 +#: src/lang.c:270 #, c-format msgid " %s\t Answers will be directed to you by mail.\n" msgstr "" -#: src/lang.c:229 +#: src/lang.c:271 msgid "-- forwarded message --\n" msgstr "" -#: src/lang.c:230 +#: src/lang.c:272 msgid "-- end of forwarded message --\n" msgstr "" -#: src/lang.c:231 +#: src/lang.c:273 msgid "" "# Format:\n" "# comment=STRING Optional. Multiple lines allowed. Comments must be " @@ -1114,757 +1415,989 @@ msgid "" "#\n" msgstr "" -#: src/lang.c:252 +#: src/lang.c:294 #, c-format msgid "Enter score for rule (default=%d): " msgstr "" -#: src/lang.c:253 +#: src/lang.c:295 #, c-format msgid "Enter the score weight (range 0 < score <= %d)" msgstr "" #. SCORE_MAX -#: src/lang.c:254 +#: src/lang.c:296 msgid "Full" msgstr "" -#: src/lang.c:255 +#: src/lang.c:297 msgid "Comment (optional) : " msgstr "" -#: src/lang.c:256 +#: src/lang.c:298 msgid "Apply pattern to : " msgstr "" -#: src/lang.c:257 +#: src/lang.c:299 msgid "From: line (ignore case) " msgstr "" -#: src/lang.c:258 +#: src/lang.c:300 msgid "From: line (case sensitive) " msgstr "" -#: src/lang.c:260 +#: src/lang.c:302 #, c-format msgid "%s%s: Unknown host.\n" msgstr "" -#: src/lang.c:261 +#: src/lang.c:304 msgid "global " msgstr "" -#: src/lang.c:262 +#: src/lang.c:305 #, c-format msgid "Please use %.100s instead" msgstr "" -#: src/lang.c:263 +#: src/lang.c:306 #, c-format msgid "%s is bogus" msgstr "" -#: src/lang.c:264 +#: src/lang.c:307 #, c-format msgid "Group %s is moderated. Continue?" msgstr "" -#: src/lang.c:265 +#: src/lang.c:308 msgid "groups" msgstr "" -#: src/lang.c:266 +#: src/lang.c:309 #, c-format msgid "Rereading %s..." msgstr "" -#: src/lang.c:267 +#: src/lang.c:310 msgid "Top Level Commands" msgstr "" -#: src/lang.c:268 +#: src/lang.c:311 msgid "Group Selection" msgstr "" -#: src/lang.c:269 +#: src/lang.c:312 msgid "group" msgstr "" -#: src/lang.c:271 +#: src/lang.c:314 msgid "" "One or more lines of comment. to add a line or proceed if line is empty." msgstr "" -#: src/lang.c:272 +#: src/lang.c:315 msgid "From: line to add to filter file. toggles & sets." msgstr "" -#: src/lang.c:273 +#: src/lang.c:316 msgid "" "Linecount of articles to be filtered. < for less, > for more, = for equal." msgstr "" -#: src/lang.c:274 +#: src/lang.c:317 msgid "Message-ID: line to add to filter file. toggles & sets." msgstr "" -#: src/lang.c:275 +#: src/lang.c:318 msgid "Subject: line to add to filter file. toggles & sets." msgstr "" -#: src/lang.c:276 +#: src/lang.c:319 msgid "" "Enter text pattern to filter if Subject: & From: lines are not what you want." msgstr "" -#: src/lang.c:277 +#: src/lang.c:320 msgid "" "Select where text pattern should be applied. toggles & sets." msgstr "" -#: src/lang.c:278 +#: src/lang.c:321 msgid "" "Expiration time in days for the entered filter. toggles & sets." msgstr "" -#: src/lang.c:279 +#: src/lang.c:322 msgid "" "Apply kill only to current group or all groups. toggles & sets." msgstr "" -#: src/lang.c:280 +#: src/lang.c:323 msgid "" "Apply select to current group or all groups. toggles & sets." msgstr "" -#: src/lang.c:281 +#: src/lang.c:324 msgid "kill an article via a menu" msgstr "" -#: src/lang.c:282 +#: src/lang.c:325 msgid "auto-select (hot) an article via a menu" msgstr "" -#: src/lang.c:283 +#: src/lang.c:326 msgid "Browse URLs in article" msgstr "" -#: src/lang.c:284 +#: src/lang.c:327 msgid "0 - 9\t display article by number in current thread" msgstr "" -#: src/lang.c:285 +#: src/lang.c:329 msgid "cancel (delete) or supersede (overwrite) current article" msgstr "" -#: src/lang.c:286 -msgid "edit article (mail-groups only)" +#: src/lang.c:330 +msgid "post followup to current article" msgstr "" -#: src/lang.c:287 -msgid "display first article in current thread" +#: src/lang.c:331 +msgid "post followup (don't copy text) to current article" msgstr "" -#: src/lang.c:288 -msgid "display first page of article" +#: src/lang.c:332 +msgid "post followup to current article quoting complete headers" msgstr "" -#: src/lang.c:289 -msgid "post followup to current article" +#: src/lang.c:333 +msgid "repost chosen article to another group" msgstr "" -#: src/lang.c:290 -msgid "post followup (don't copy text) to current article" +#: src/lang.c:335 +msgid "edit article (mail-groups only)" msgstr "" -#: src/lang.c:291 -msgid "post followup to current article quoting complete headers" +#: src/lang.c:336 +msgid "display first article in current thread" msgstr "" -#: src/lang.c:292 +#: src/lang.c:337 +msgid "display first page of article" +msgstr "" + +#: src/lang.c:338 msgid "display last article in current thread" msgstr "" -#: src/lang.c:293 +#: src/lang.c:339 msgid "display last page of article" msgstr "" -#: src/lang.c:294 +#: src/lang.c:340 msgid "mark rest of thread as read and advance to next unread" msgstr "" -#: src/lang.c:295 +#: src/lang.c:341 msgid "display next article" msgstr "" -#: src/lang.c:296 +#: src/lang.c:342 msgid "display first article in next thread" msgstr "" -#: src/lang.c:297 +#: src/lang.c:343 msgid "display next unread article" msgstr "" -#: src/lang.c:298 +#: src/lang.c:344 msgid "go to the article that this one followed up" msgstr "" -#: src/lang.c:299 +#: src/lang.c:345 msgid "display previous article" msgstr "" -#: src/lang.c:300 +#: src/lang.c:346 msgid "display previous unread article" msgstr "" -#: src/lang.c:301 +#: src/lang.c:347 msgid "quickly kill an article using defaults" msgstr "" -#: src/lang.c:302 +#: src/lang.c:348 msgid "quickly auto-select (hot) an article using defaults" msgstr "" -#: src/lang.c:303 +#: src/lang.c:349 msgid "return to group selection level" msgstr "" -#: src/lang.c:304 +#: src/lang.c:350 msgid "reply through mail to author" msgstr "" -#: src/lang.c:305 +#: src/lang.c:351 msgid "reply through mail (don't copy text) to author" msgstr "" -#: src/lang.c:306 +#: src/lang.c:352 msgid "reply through mail to author quoting complete headers" msgstr "" -#: src/lang.c:307 -msgid "repost chosen article to another group" -msgstr "" - -#: src/lang.c:308 +#: src/lang.c:353 msgid "search backwards within this article" msgstr "" -#: src/lang.c:309 +#: src/lang.c:354 msgid "search forwards within this article" msgstr "" -#: src/lang.c:310 +#: src/lang.c:355 msgid "show article in raw-mode (including all headers)" msgstr "" -#: src/lang.c:311 +#: src/lang.c:356 msgid "skip next block of included text" msgstr "" -#: src/lang.c:312 +#: src/lang.c:357 msgid "toggle display of sections hidden by a form-feed (^L) on/off" msgstr "" -#: src/lang.c:313 +#: src/lang.c:358 +msgid "toggle display of all headers" +msgstr "" + +#: src/lang.c:359 msgid "toggle word highlighting on/off" msgstr "" -#: src/lang.c:314 +#: src/lang.c:360 msgid "toggle ROT-13 (basic decode) for current article" msgstr "" -#: src/lang.c:315 +#: src/lang.c:361 msgid "toggle tabwidth 4 <-> 8" msgstr "" -#: src/lang.c:316 +#: src/lang.c:362 msgid "toggle german TeX style decoding for current article" msgstr "" -#: src/lang.c:317 +#: src/lang.c:363 msgid "toggle display of uuencoded sections" msgstr "" -#: src/lang.c:318 -msgid "View/save multimedia attachments" +#: src/lang.c:364 +msgid "View/pipe/save multimedia attachments" msgstr "" -#: src/lang.c:319 +#: src/lang.c:365 +msgid "choose first attachment in list" +msgstr "" + +#: src/lang.c:366 +msgid "0 - 9\t choose attachment by number" +msgstr "" + +#: src/lang.c:367 +msgid "choose last attachment in list" +msgstr "" + +#: src/lang.c:369 +msgid "pipe attachment into command" +msgstr "" + +#: src/lang.c:370 +msgid "pipe raw attachment into command" +msgstr "" + +#: src/lang.c:372 +msgid "save attachment to disk" +msgstr "" + +#: src/lang.c:373 +msgid "search for attachments forwards" +msgstr "" + +#: src/lang.c:374 +msgid "search for attachments backwards" +msgstr "" + +#: src/lang.c:375 +msgid "view attachment" +msgstr "" + +#: src/lang.c:376 +msgid "tag attachment" +msgstr "" + +#: src/lang.c:377 +msgid "tag attachments that match user specified pattern" +msgstr "" + +#: src/lang.c:378 +msgid "reverse tagging on all attachments (toggle)" +msgstr "" + +#: src/lang.c:379 +msgid "untag all tagged attachments" +msgstr "" + +#: src/lang.c:380 +msgid "toggle info message in last line (name/description of attachment)" +msgstr "" + +#: src/lang.c:381 +msgid "choose first attribute in list" +msgstr "" + +#: src/lang.c:382 +msgid "0 - 9\t choose attribute by number" +msgstr "" + +#: src/lang.c:383 +msgid "choose last attribute in list" +msgstr "" + +#: src/lang.c:384 +msgid "reset attribute to a default value" +msgstr "" + +#: src/lang.c:385 +msgid "search forwards for an attribute" +msgstr "" + +#: src/lang.c:386 +msgid "search backwards for an attribute" +msgstr "" + +#: src/lang.c:387 +msgid "select attribute" +msgstr "" + +#: src/lang.c:388 +msgid "toggle back to options menu when invoked from there" +msgstr "" + +#: src/lang.c:389 #, c-format msgid "report bug or comment via mail to %s" msgstr "" -#: src/lang.c:320 +#: src/lang.c:390 +msgid "choose first option in list" +msgstr "" + +#: src/lang.c:391 +msgid "0 - 9\t choose option by number" +msgstr "" + +#: src/lang.c:392 +msgid "choose last option in list" +msgstr "" + +#: src/lang.c:393 +msgid "start scopes menu" +msgstr "" + +#: src/lang.c:394 +msgid "search forwards for an option" +msgstr "" + +#: src/lang.c:395 +msgid "search backwards for an option" +msgstr "" + +#: src/lang.c:396 +msgid "select option" +msgstr "" + +#: src/lang.c:397 +msgid "toggle to attributes menu" +msgstr "" + +#: src/lang.c:398 msgid "choose range of articles to be affected by next command" msgstr "" -#: src/lang.c:321 +#: src/lang.c:399 msgid "escape from command prompt" msgstr "" -#: src/lang.c:322 +#: src/lang.c:400 msgid "edit filter file" msgstr "" -#: src/lang.c:323 +#: src/lang.c:401 msgid "get help" msgstr "" -#: src/lang.c:324 +#: src/lang.c:402 msgid "display last article viewed" msgstr "" -#: src/lang.c:325 +#: src/lang.c:403 msgid "down one line" msgstr "" -#: src/lang.c:326 +#: src/lang.c:404 msgid "up one line" msgstr "" -#: src/lang.c:327 +#: src/lang.c:405 msgid "go to article chosen by Message-ID" msgstr "" -#: src/lang.c:328 +#: src/lang.c:406 msgid "mail article/thread/hot/pattern/tagged articles to someone" msgstr "" -#: src/lang.c:329 +#: src/lang.c:407 msgid "menu of configurable options" msgstr "" -#: src/lang.c:330 +#: src/lang.c:408 msgid "down one page" msgstr "" -#: src/lang.c:331 +#: src/lang.c:409 msgid "up one page" msgstr "" -#: src/lang.c:332 +#: src/lang.c:411 msgid "post (write) article to current group" msgstr "" -#: src/lang.c:333 +#: src/lang.c:412 msgid "post postponed articles" msgstr "" -#: src/lang.c:334 +#: src/lang.c:414 msgid "list articles posted by you (from posted file)" msgstr "" -#: src/lang.c:335 +#: src/lang.c:415 msgid "return to previous menu" msgstr "" -#: src/lang.c:336 +#: src/lang.c:416 msgid "quit tin immediately" msgstr "" -#: src/lang.c:337 +#: src/lang.c:417 msgid "redraw page" msgstr "" -#: src/lang.c:338 +#: src/lang.c:418 msgid "save article/thread/hot/pattern/tagged articles to file" msgstr "" -#: src/lang.c:339 +#: src/lang.c:419 msgid "save marked articles automatically without user prompts" msgstr "" -#: src/lang.c:340 +#: src/lang.c:420 msgid "scroll the screen one line down" msgstr "" -#: src/lang.c:341 +#: src/lang.c:421 msgid "scroll the screen one line up" msgstr "" -#: src/lang.c:342 +#: src/lang.c:422 msgid "search for articles by author backwards" msgstr "" -#: src/lang.c:343 +#: src/lang.c:423 msgid "search for articles by author forwards" msgstr "" -#: src/lang.c:344 +#: src/lang.c:424 msgid "search all articles for a given string (this may take some time)" msgstr "" -#: src/lang.c:345 +#: src/lang.c:425 msgid " \t (searches are case-insensitive and wrap around to all articles)" msgstr "" -#: src/lang.c:346 +#: src/lang.c:426 msgid "search for articles by Subject line backwards" msgstr "" -#: src/lang.c:347 +#: src/lang.c:427 msgid "search for articles by Subject line forwards" msgstr "" -#: src/lang.c:348 +#: src/lang.c:428 msgid "repeat last search" msgstr "" -#: src/lang.c:349 +#: src/lang.c:429 msgid "tag current article for reposting/mailing/piping/printing/saving" msgstr "" -#: src/lang.c:350 +#: src/lang.c:430 msgid "toggle info message in last line (subject/description)" msgstr "" -#: src/lang.c:351 +#: src/lang.c:431 msgid "toggle inverse video" msgstr "" -#: src/lang.c:352 +#: src/lang.c:432 msgid "toggle mini help menu display" msgstr "" -#: src/lang.c:353 +#: src/lang.c:433 msgid "cycle the display of authors email address, real name, both or neither" msgstr "" -#: src/lang.c:354 +#: src/lang.c:434 msgid "show version information" msgstr "" -#: src/lang.c:355 +#: src/lang.c:435 msgid "mark all articles as read and return to group selection menu" msgstr "" -#: src/lang.c:356 +#: src/lang.c:436 msgid "mark all articles as read and enter next group with unread articles" msgstr "" -#: src/lang.c:357 +#: src/lang.c:437 msgid "choose first thread in list" msgstr "" -#: src/lang.c:358 +#: src/lang.c:438 msgid "choose last thread in list" msgstr "" -#: src/lang.c:359 +#: src/lang.c:439 msgid "list articles within current thread (bring up Thread sub-menu)" msgstr "" -#: src/lang.c:360 +#: src/lang.c:440 msgid "mark article as unread" msgstr "" -#: src/lang.c:361 -msgid "mark current thread or tagged threads as read" +#: src/lang.c:441 +msgid "mark current thread, range or tagged threads as read" msgstr "" -#: src/lang.c:362 -msgid "mark thread as unread" +#: src/lang.c:442 +msgid "mark current thread, range or tagged threads as unread" msgstr "" -#: src/lang.c:363 +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "" + +#: src/lang.c:445 msgid "toggle display of all/selected articles" msgstr "" -#: src/lang.c:364 +#: src/lang.c:446 msgid "display next group" msgstr "" -#: src/lang.c:365 +#: src/lang.c:447 msgid "display previous group" msgstr "" -#: src/lang.c:366 +#: src/lang.c:448 msgid "toggle all selections (all articles)" msgstr "" -#: src/lang.c:367 +#: src/lang.c:449 msgid "select group (make \"hot\")" msgstr "" -#: src/lang.c:368 +#: src/lang.c:450 msgid "select thread" msgstr "" -#: src/lang.c:369 +#: src/lang.c:451 msgid "select threads if at least one unread article is selected" msgstr "" -#: src/lang.c:370 +#: src/lang.c:452 msgid "select threads that match user specified pattern" msgstr "" -#: src/lang.c:371 +#: src/lang.c:453 msgid "tag all parts of current multipart-message in order" msgstr "" -#: src/lang.c:372 +#: src/lang.c:454 msgid "0 - 9\t choose thread by number" msgstr "" -#: src/lang.c:373 +#: src/lang.c:455 msgid "toggle limit number of articles to get, and reload" msgstr "" -#: src/lang.c:374 +#: src/lang.c:456 msgid "toggle display of all/unread articles" msgstr "" -#: src/lang.c:375 +#: src/lang.c:457 msgid "toggle selection of thread" msgstr "" -#: src/lang.c:376 +#: src/lang.c:458 msgid "cycle through threading options available" msgstr "" -#: src/lang.c:377 +#: src/lang.c:459 msgid "undo all selections (all articles)" msgstr "" -#: src/lang.c:378 +#: src/lang.c:460 msgid "untag all tagged threads" msgstr "" -#: src/lang.c:379 +#: src/lang.c:461 +msgid "add new scope" +msgstr "" + +#: src/lang.c:462 +msgid "delete scope" +msgstr "" + +#: src/lang.c:463 +msgid "edit attributes file" +msgstr "" + +#: src/lang.c:464 +msgid "choose first scope in list" +msgstr "" + +#: src/lang.c:465 +msgid "0 - 9\t choose scope by number" +msgstr "" + +#: src/lang.c:466 +msgid "choose last scope in list" +msgstr "" + +#: src/lang.c:467 +msgid "move scope" +msgstr "" + +#: src/lang.c:468 +msgid "rename scope" +msgstr "" + +#: src/lang.c:469 +msgid "select scope" +msgstr "" + +#: src/lang.c:470 msgid "mark all articles in group as read" msgstr "" -#: src/lang.c:380 +#: src/lang.c:471 msgid "mark all articles in group as read and move to next unread group" msgstr "" -#: src/lang.c:381 +#: src/lang.c:472 msgid "choose first group in list" msgstr "" -#: src/lang.c:382 +#: src/lang.c:473 msgid "choose group by name" msgstr "" -#: src/lang.c:383 +#: src/lang.c:474 msgid "0 - 9\t choose group by number" msgstr "" -#: src/lang.c:384 +#: src/lang.c:475 msgid "choose range of groups to be affected by next command" msgstr "" -#: src/lang.c:385 +#: src/lang.c:476 msgid "choose last group in list" msgstr "" -#: src/lang.c:386 +#: src/lang.c:477 msgid "mark all articles in chosen group unread" msgstr "" -#: src/lang.c:387 +#: src/lang.c:478 msgid "move chosen group within list" msgstr "" -#: src/lang.c:388 +#: src/lang.c:479 msgid "choose next group with unread news" msgstr "" -#: src/lang.c:389 src/lang.c:1197 +#: src/lang.c:480 src/lang.c:1351 msgid "quit" msgstr "" -#: src/lang.c:390 +#: src/lang.c:481 msgid "quit without saving configuration changes" msgstr "" -#: src/lang.c:391 +#: src/lang.c:482 msgid "read chosen group" msgstr "" -#: src/lang.c:392 +#: src/lang.c:483 msgid "reset .newsrc (all available articles in groups marked unread)" msgstr "" -#: src/lang.c:393 +#: src/lang.c:484 msgid "search backwards for a group name" msgstr "" -#: src/lang.c:394 +#: src/lang.c:485 msgid " \t (all searches are case-insensitive and wrap around)" msgstr "" -#: src/lang.c:395 +#: src/lang.c:486 msgid "search forwards for a group name" msgstr "" -#: src/lang.c:396 +#: src/lang.c:487 msgid "subscribe to chosen group" msgstr "" -#: src/lang.c:397 +#: src/lang.c:488 msgid "subscribe to groups that match pattern" msgstr "" -#: src/lang.c:398 +#: src/lang.c:489 msgid "reread active file to check for any new news" msgstr "" -#: src/lang.c:399 +#: src/lang.c:490 msgid "toggle display of group name only or group name plus description" msgstr "" -#: src/lang.c:400 +#: src/lang.c:491 msgid "toggle display to show all/unread subscribed groups" msgstr "" -#: src/lang.c:401 +#: src/lang.c:492 msgid "unsubscribe from chosen group" msgstr "" -#: src/lang.c:402 +#: src/lang.c:493 msgid "unsubscribe from groups that match pattern" msgstr "" -#: src/lang.c:403 +#: src/lang.c:494 msgid "sort the list of groups" msgstr "" -#: src/lang.c:404 +#: src/lang.c:495 msgid "toggle display to show all/subscribed groups" msgstr "" -#: src/lang.c:405 +#: src/lang.c:496 msgid "0 - 9\t choose article by number" msgstr "" -#: src/lang.c:406 +#: src/lang.c:497 msgid "mark thread as read and return to group index page" msgstr "" -#: src/lang.c:407 +#: src/lang.c:498 msgid "mark thread as read and enter next unread thread or group" msgstr "" -#: src/lang.c:408 +#: src/lang.c:499 msgid "choose first article in list" msgstr "" -#: src/lang.c:409 +#: src/lang.c:500 msgid "choose last article in list" msgstr "" -#: src/lang.c:410 -msgid "" -"mark article or tagged articles as read and move cursor to next unread " -"article" +#: src/lang.c:501 +msgid "mark art, range or tagged arts as read; move crsr to next unread art" msgstr "" -#: src/lang.c:411 +#: src/lang.c:502 +msgid "mark article, range or tagged articles as unread" +msgstr "" + +#: src/lang.c:503 +msgid "mark current thread as unread" +msgstr "" + +#: src/lang.c:504 msgid "read chosen article" msgstr "" -#: src/lang.c:412 +#: src/lang.c:505 msgid "" "Display properties\n" "------------------" msgstr "" -#: src/lang.c:413 +#: src/lang.c:506 msgid "" "Miscellaneous\n" "-------------" msgstr "" -#: src/lang.c:414 +#: src/lang.c:507 msgid "" "Moving around\n" "-------------" msgstr "" -#: src/lang.c:415 +#: src/lang.c:508 msgid "" "Group/thread/article operations\n" "-------------------------------" msgstr "" -#: src/lang.c:417 +#: src/lang.c:509 +msgid "" +"Attachment operations\n" +"---------------------" +msgstr "" + +#: src/lang.c:510 +msgid "" +"Attribute operations\n" +"--------------------" +msgstr "" + +#: src/lang.c:511 +msgid "" +"Option operations\n" +"-----------------" +msgstr "" + +#: src/lang.c:512 +msgid "" +"Scope operations\n" +"----------------" +msgstr "" + +#: src/lang.c:513 +msgid "" +"URL operations\n" +"--------------" +msgstr "" + +#: src/lang.c:514 +msgid "choose first URL in list" +msgstr "" + +#: src/lang.c:515 +msgid "0 - 9\t choose URL by number" +msgstr "" + +#: src/lang.c:516 +msgid "choose last URL in list" +msgstr "" + +#: src/lang.c:517 +msgid "search for URLs forwards" +msgstr "" + +#: src/lang.c:518 +msgid "search for URLs backwards" +msgstr "" + +#: src/lang.c:519 +msgid "Open URL in browser" +msgstr "" + +#: src/lang.c:520 +msgid "toggle info message in last line (URL)" +msgstr "" + +#: src/lang.c:522 msgid "Group Level Commands" msgstr "" -#: src/lang.c:418 +#: src/lang.c:523 msgid "Kill filter added" msgstr "" -#: src/lang.c:419 +#: src/lang.c:524 msgid "Auto-selection filter added" msgstr "" -#: src/lang.c:420 +#: src/lang.c:525 msgid "All parts tagged" msgstr "" -#: src/lang.c:421 +#: src/lang.c:526 msgid "Storing article for later posting" msgstr "" -#: src/lang.c:422 +#: src/lang.c:527 msgid "Please enter a valid character" msgstr "" -#: src/lang.c:423 +#: src/lang.c:528 #, c-format msgid "Missing part #%d" msgstr "" -#: src/lang.c:424 +#: src/lang.c:529 msgid "*** No postponed articles ***" msgstr "" -#: src/lang.c:425 +#: src/lang.c:530 msgid "Not a multi-part message" msgstr "" -#: src/lang.c:426 +#: src/lang.c:531 msgid "You are not subscribed to this group" msgstr "" -#: src/lang.c:427 +#: src/lang.c:532 msgid "No previous expression" msgstr "" -#: src/lang.c:428 +#: src/lang.c:533 msgid "Operation disabled in no-overwrite mode" msgstr "" #. TODO: replace hardcoded key-name in txt_info_postponed -#: src/lang.c:430 +#: src/lang.c:535 #, c-format msgid "%d postponed %s, reuse with ^O...\n" msgstr "" -#: src/lang.c:431 +#: src/lang.c:536 msgid "" "X-Conversion-Note: multipart/alternative contents have been removed.\n" " To get the whole article, turn alternative handling OFF in the Option " "Menu\n" msgstr "" -#: src/lang.c:433 +#: src/lang.c:538 #, c-format msgid "Save filename for %s/%s is a mailbox. Attachment not saved" msgstr "" -#: src/lang.c:434 +#: src/lang.c:539 msgid "TeX2Iso encoded article" msgstr "" -#: src/lang.c:435 +#: src/lang.c:540 msgid "incomplete " msgstr "" #. TODO: replace hardcoded key-names -#: src/lang.c:437 +#: src/lang.c:542 #, c-format msgid "" "\n" @@ -1902,137 +2435,133 @@ msgid "" "Please send bug-reports/comments to %s with the 'R' command.\n" msgstr "" -#: src/lang.c:453 +#: src/lang.c:558 #, c-format msgid "Invalid From: %s line. Read the INSTALL file again." msgstr "" -#: src/lang.c:455 +#: src/lang.c:560 msgid "Invalid multibyte sequence found\n" msgstr "" -#: src/lang.c:457 +#: src/lang.c:563 #, c-format msgid "Invalid Sender:-header %s" msgstr "" -#: src/lang.c:458 +#: src/lang.c:565 msgid "Inverse video disabled" msgstr "" -#: src/lang.c:459 +#: src/lang.c:566 msgid "Inverse video enabled" msgstr "" -#: src/lang.c:461 +#: src/lang.c:568 #, c-format msgid "Missing definition for %s\n" msgstr "" -#: src/lang.c:462 +#: src/lang.c:569 #, c-format msgid "Invalid key definition '%s'\n" msgstr "" -#: src/lang.c:463 +#: src/lang.c:570 #, c-format msgid "Invalid keyname '%s'\n" msgstr "" -#: src/lang.c:464 +#: src/lang.c:571 #, c-format msgid "Keymap file was upgraded to version %s\n" msgstr "" -#: src/lang.c:465 +#: src/lang.c:572 #, c-format msgid "Kill From: [%s] (y/n): " msgstr "" -#: src/lang.c:466 +#: src/lang.c:573 msgid "Kill Lines: (num): " msgstr "" -#: src/lang.c:467 +#: src/lang.c:574 msgid "Kill Article Menu" msgstr "" -#: src/lang.c:468 +#: src/lang.c:575 #, c-format msgid "Kill Msg-Id: [%s] (f/l/o/n): " msgstr "" -#: src/lang.c:469 +#: src/lang.c:576 msgid "Kill pattern scope : " msgstr "" -#: src/lang.c:470 +#: src/lang.c:577 #, c-format msgid "Kill Subject: [%s] (y/n): " msgstr "" -#: src/lang.c:471 +#: src/lang.c:578 msgid "Kill text pattern : " msgstr "" -#: src/lang.c:472 +#: src/lang.c:579 msgid "Kill time in days : " msgstr "" -#: src/lang.c:474 +#: src/lang.c:581 msgid "Last" msgstr "" -#: src/lang.c:475 +#: src/lang.c:582 msgid "-- Last response --" msgstr "" -#: src/lang.c:476 +#: src/lang.c:583 #, c-format msgid "Lines %s " msgstr "" -#: src/lang.c:478 -msgid "Message-ID: line " -msgstr "" - -#: src/lang.c:479 +#: src/lang.c:585 msgid "Mail" msgstr "" -#: src/lang.c:480 +#: src/lang.c:586 msgid "mailbox " msgstr "" -#: src/lang.c:481 +#: src/lang.c:587 #, c-format msgid "Mail article(s) to [%.*s]> " msgstr "" -#: src/lang.c:482 +#: src/lang.c:588 #, c-format msgid "Mailing log to %s\n" msgstr "" -#: src/lang.c:483 +#: src/lang.c:589 msgid "Mail bug report..." msgstr "" -#: src/lang.c:484 +#: src/lang.c:590 #, c-format msgid "Mail BUG REPORT to %s?" msgstr "" -#: src/lang.c:485 +#: src/lang.c:591 msgid "Mailed" msgstr "" -#: src/lang.c:486 +#: src/lang.c:592 #, c-format msgid "Mailing to %s..." msgstr "" -#: src/lang.c:487 +#: src/lang.c:593 msgid "" "# [Mail/Save] active file. Format is like news active file:\n" "# groupname max.artnum min.artnum /dir\n" @@ -2040,285 +2569,345 @@ msgid "" "#\n" msgstr "" -#: src/lang.c:490 +#: src/lang.c:596 +#, c-format +msgid "%s marked as read" +msgstr "" + +#: src/lang.c:597 #, c-format msgid "%s marked as unread" msgstr "" -#: src/lang.c:491 +#: src/lang.c:598 #, c-format -msgid "Marked %d of %d tagged %s as read" +msgid "Marked %d of %d %s as read" msgstr "" -#: src/lang.c:492 +#: src/lang.c:599 +#, c-format +msgid "Marked %d of %d %s as unread" +msgstr "" + +#: src/lang.c:600 src/lang.c:1321 +msgid "Mark" +msgstr "" + +#: src/lang.c:601 #, c-format msgid "Mark all articles as read%s?" msgstr "" -#: src/lang.c:493 +#: src/lang.c:602 #, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " +msgid "Mark article as read%s?" msgstr "" -#: src/lang.c:494 +#: src/lang.c:603 #, c-format msgid "Mark group %s as read?" msgstr "" -#: src/lang.c:495 +#: src/lang.c:604 #, c-format msgid "Mark thread as read%s?" msgstr "" -#: src/lang.c:496 +#: src/lang.c:605 #, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " +msgid "Matching %s groups..." msgstr "" -#: src/lang.c:497 +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 #, c-format -msgid "Matching %s groups..." +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "" + +#: src/lang.c:608 +#, c-format +msgid "" +"%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "" + +#: src/lang.c:610 +#, c-format +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" msgstr "" -#: src/lang.c:498 src/lang.c:502 +#: src/lang.c:612 +#, c-format +msgid "" +"%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "" + +#: src/lang.c:613 src/lang.c:617 #, c-format msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" msgstr "" -#: src/lang.c:499 +#: src/lang.c:614 #, c-format msgid "" "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %" "s=list thread" msgstr "" -#: src/lang.c:500 +#: src/lang.c:615 #, c-format msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" msgstr "" -#: src/lang.c:501 +#: src/lang.c:616 #, c-format msgid "%s=search forwards; %s=search backwards; %s=quit" msgstr "" -#: src/lang.c:503 +#: src/lang.c:618 #, c-format msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" msgstr "" -#: src/lang.c:504 +#: src/lang.c:619 +#, c-format +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "" + +#: src/lang.c:621 #, c-format msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" msgstr "" -#: src/lang.c:505 +#: src/lang.c:622 #, c-format msgid "" "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" msgstr "" -#: src/lang.c:506 +#: src/lang.c:623 #, c-format msgid "" "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/" "out" msgstr "" -#: src/lang.c:507 +#: src/lang.c:624 #, c-format msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" msgstr "" -#: src/lang.c:508 +#: src/lang.c:625 #, c-format msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" msgstr "" -#: src/lang.c:509 -msgid "--More--" +#: src/lang.c:627 +#, c-format +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "" + +#: src/lang.c:628 +msgid "--More--" +msgstr "" + +#: src/lang.c:629 +#, c-format +msgid "Moving %s..." +msgstr "" + +#: src/lang.c:630 +msgid "Message-ID: & last Reference " +msgstr "" + +#: src/lang.c:631 +msgid "Message-ID: line " msgstr "" -#: src/lang.c:510 -#, c-format -msgid "Moving %s..." +#: src/lang.c:632 +msgid "Message-ID: & References: line" msgstr "" -#: src/lang.c:512 +#: src/lang.c:634 msgid ", name: " msgstr "" -#: src/lang.c:513 +#: src/lang.c:635 #, c-format -msgid "Goto newsgroup [%s]> " +msgid "Go to newsgroup [%s]> " msgstr "" -#: src/lang.c:514 +#: src/lang.c:636 msgid "newsgroups" msgstr "" -#: src/lang.c:515 +#: src/lang.c:637 #, c-format msgid "Position %s in group list (1,2,..,$) [%d]> " msgstr "" -#: src/lang.c:516 +#: src/lang.c:638 msgid "newsgroup" msgstr "" -#: src/lang.c:517 +#: src/lang.c:639 msgid "Try and save newsrc file again?" msgstr "" -#: src/lang.c:518 +#: src/lang.c:640 msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." msgstr "" -#: src/lang.c:519 +#: src/lang.c:641 msgid "newsrc file saved successfully.\n" msgstr "" -#: src/lang.c:520 +#: src/lang.c:642 msgid "-- Next response --" msgstr "" -#: src/lang.c:521 -#, c-format -msgid "NNTP authorization password not found for %s" -msgstr "" - -#: src/lang.c:522 +#: src/lang.c:643 msgid "No " msgstr "" -#: src/lang.c:523 +#: src/lang.c:644 msgid "*** No articles ***" msgstr "" -#: src/lang.c:524 +#: src/lang.c:645 msgid "No articles have been posted" msgstr "" -#: src/lang.c:525 +#: src/lang.c:646 +msgid "*** No attachments ***" +msgstr "" + +#: src/lang.c:647 msgid "*** No description ***" msgstr "" -#: src/lang.c:526 +#: src/lang.c:648 msgid "No filename" msgstr "" -#: src/lang.c:527 +#: src/lang.c:649 msgid "No group" msgstr "" -#: src/lang.c:528 +#: src/lang.c:650 msgid "*** No groups ***" msgstr "" -#: src/lang.c:529 +#: src/lang.c:651 msgid "No more groups to read" msgstr "" -#: src/lang.c:530 +#: src/lang.c:652 msgid "No last message" msgstr "" -#: src/lang.c:531 +#: src/lang.c:653 msgid "No mail address" msgstr "" -#: src/lang.c:532 +#: src/lang.c:654 msgid "No articles marked for saving" msgstr "" -#: src/lang.c:533 +#: src/lang.c:655 msgid "No match" msgstr "" -#: src/lang.c:534 +#: src/lang.c:656 msgid "No more groups" msgstr "" -#: src/lang.c:535 +#: src/lang.c:657 msgid "No newsgroups" msgstr "" -#: src/lang.c:536 +#: src/lang.c:658 msgid "No next unread article" msgstr "" -#: src/lang.c:537 +#: src/lang.c:659 msgid "No previous group" msgstr "" -#: src/lang.c:538 +#: src/lang.c:660 +msgid "No previous search, nothing to repeat" +msgstr "" + +#: src/lang.c:661 msgid "No previous unread article" msgstr "" -#: src/lang.c:539 +#: src/lang.c:662 msgid "No responses" msgstr "" -#: src/lang.c:540 +#: src/lang.c:663 msgid "No responses to list in current thread" msgstr "" -#: src/lang.c:541 +#: src/lang.c:664 +msgid "*** No scopes ***" +msgstr "" + +#: src/lang.c:665 msgid "No search string" msgstr "" -#: src/lang.c:542 +#: src/lang.c:666 msgid "No subject" msgstr "" -#: src/lang.c:544 +#: src/lang.c:668 #, c-format msgid "%s: Terminal must have clear to end-of-line (ce)\n" msgstr "" -#: src/lang.c:545 +#: src/lang.c:669 #, c-format msgid "%s: Terminal must have clear to end-of-screen (cd)\n" msgstr "" -#: src/lang.c:546 +#: src/lang.c:670 #, c-format msgid "%s: Terminal must have clearscreen (cl) capability\n" msgstr "" -#: src/lang.c:547 +#: src/lang.c:671 #, c-format msgid "%s: Terminal must have cursor motion (cm)\n" msgstr "" -#: src/lang.c:548 +#: src/lang.c:672 #, c-format msgid "%s: TERM variable must be set to use screen capabilities\n" msgstr "" -#: src/lang.c:550 +#: src/lang.c:674 #, c-format msgid "No viewer found for %s/%s\n" msgstr "" -#: src/lang.c:551 +#: src/lang.c:675 msgid "Newsgroup does not exist on this server" msgstr "" -#: src/lang.c:552 +#: src/lang.c:676 #, c-format msgid "Group %s not found in active file" msgstr "" -#: src/lang.c:553 +#: src/lang.c:677 msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " msgstr "" -#: src/lang.c:554 +#: src/lang.c:678 msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " msgstr "" -#: src/lang.c:555 +#: src/lang.c:679 #, c-format msgid "" "# NNTP-server -> newsrc translation table and NNTP-server\n" @@ -2330,323 +2919,326 @@ msgid "" "# if is given without path, $HOME is assumed as its location\n" "#\n" "# examples:\n" -"# news.tin.org .newsrc-tin.org tinorg\n" -"# news.ka.nu /tmp/nrc-nu kanu nu\n" +"# news.tin.org .newsrc-tin.org tinorg\n" +"# news.example.org /tmp/nrc-ex example ex\n" "#\n" msgstr "" -#: src/lang.c:562 +#: src/lang.c:686 msgid "Only" msgstr "" -#: src/lang.c:563 +#: src/lang.c:687 #, c-format msgid "Option not enabled. Recompile with %s." msgstr "" -#: src/lang.c:564 +#: src/lang.c:688 msgid "Options Menu" msgstr "" -#: src/lang.c:567 +#: src/lang.c:689 +msgid "Options Menu Commands" +msgstr "" + +#: src/lang.c:692 #, c-format msgid "Error in regex: %s at pos. %d '%s'" msgstr "" -#: src/lang.c:568 +#: src/lang.c:693 #, c-format msgid "Error in regex: pcre internal error %d" msgstr "" -#: src/lang.c:569 +#: src/lang.c:694 #, c-format msgid "Error in regex: study - pcre internal error %s" msgstr "" -#: src/lang.c:570 +#: src/lang.c:695 msgid "Post a followup..." msgstr "" #. TODO: replace hardcoded key-name in txt_post_error_ask_postpone -#: src/lang.c:572 +#: src/lang.c:697 msgid "" "An error has occurred while posting the article. If you think that this\n" "error is temporary or otherwise correctable, you can postpone the article\n" "and pick it up again with ^O later.\n" msgstr "" -#: src/lang.c:575 +#: src/lang.c:700 msgid "Posted articles history" msgstr "" -#: src/lang.c:576 +#: src/lang.c:701 #, c-format msgid "Post to newsgroup(s) [%s]> " msgstr "" -#: src/lang.c:577 +#: src/lang.c:702 msgid "-- post processing started --" msgstr "" -#: src/lang.c:578 +#: src/lang.c:703 msgid "-- post processing completed --" msgstr "" -#: src/lang.c:579 +#: src/lang.c:704 #, c-format msgid "Post subject [%s]> " msgstr "" -#: src/lang.c:580 +#: src/lang.c:705 msgid "" "# Summary of mailed/posted messages viewable by 'W' command from within " "tin.\n" msgstr "" -#: src/lang.c:581 +#: src/lang.c:706 msgid "Posting article..." msgstr "" -#: src/lang.c:582 +#: src/lang.c:707 #, c-format msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " msgstr "" -#: src/lang.c:583 +#: src/lang.c:708 #, c-format msgid "Hot %s" msgstr "" -#: src/lang.c:584 +#: src/lang.c:709 #, c-format msgid "Tagged %s" msgstr "" -#: src/lang.c:585 +#: src/lang.c:710 #, c-format msgid "Untagged %s" msgstr "" -#: src/lang.c:586 +#: src/lang.c:711 msgid "Processing mail messages marked for deletion." msgstr "" -#: src/lang.c:587 +#: src/lang.c:712 msgid "Processing saved articles marked for deletion." msgstr "" -#: src/lang.c:588 +#: src/lang.c:713 #, c-format msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " msgstr "" -#: src/lang.c:589 +#: src/lang.c:714 msgid "Article unchanged, abort mailing?" msgstr "" -#: src/lang.c:590 +#: src/lang.c:715 #, c-format msgid "Do you want to see postponed articles (%d)?" msgstr "" -#: src/lang.c:592 +#: src/lang.c:717 msgid "Add quick kill filter?" msgstr "" -#: src/lang.c:593 +#: src/lang.c:718 msgid "Add quick selection filter?" msgstr "" -#: src/lang.c:594 +#: src/lang.c:719 msgid "Do you really want to quit?" msgstr "" -#: src/lang.c:595 +#: src/lang.c:720 #, c-format msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " msgstr "" -#: src/lang.c:596 +#: src/lang.c:721 msgid "You have tagged articles in this group - quit anyway?" msgstr "" -#: src/lang.c:597 +#: src/lang.c:722 #, c-format msgid "%s=quit, %s=edit, %s=postpone: " msgstr "" -#: src/lang.c:598 +#: src/lang.c:723 #, c-format msgid "%s=quit %s=edit %s=save kill description: " msgstr "" -#: src/lang.c:599 +#: src/lang.c:724 #, c-format msgid "%s=quit %s=edit %s=save select description: " msgstr "" -#: src/lang.c:600 +#: src/lang.c:725 msgid "Do you really want to quit without saving your configuration?" msgstr "" -#: src/lang.c:603 +#: src/lang.c:728 msgid "Invalid range - valid are '0-9.$' eg. 1-$" msgstr "" -#: src/lang.c:604 +#: src/lang.c:730 msgid "Do you want to abort this operation?" msgstr "" -#: src/lang.c:605 +#: src/lang.c:731 msgid "Do you want to exit tin immediately?" msgstr "" -#: src/lang.c:606 -msgid "Read response> " -msgstr "" - -#: src/lang.c:607 +#: src/lang.c:733 msgid "Reading ('q' to quit)..." msgstr "" -#: src/lang.c:608 +#: src/lang.c:734 #, c-format msgid "Reading %sarticles..." msgstr "" -#: src/lang.c:609 +#: src/lang.c:735 #, c-format msgid "Reading %sattributes file...\n" msgstr "" -#: src/lang.c:610 +#: src/lang.c:736 #, c-format msgid "Reading %sconfig file...\n" msgstr "" -#: src/lang.c:611 +#: src/lang.c:737 msgid "Reading filter file...\n" msgstr "" -#: src/lang.c:612 +#: src/lang.c:738 #, c-format msgid "Reading %s groups..." msgstr "" -#: src/lang.c:613 +#: src/lang.c:739 msgid "Reading input history file...\n" msgstr "" -#: src/lang.c:614 +#: src/lang.c:740 msgid "Reading keymap file...\n" msgstr "" -#: src/lang.c:615 +#: src/lang.c:741 msgid "Reading groups from active file... " msgstr "" -#: src/lang.c:616 +#: src/lang.c:742 msgid "Reading groups from newsrc file... " msgstr "" -#: src/lang.c:617 +#: src/lang.c:743 msgid "Reading newsgroups file... " msgstr "" -#: src/lang.c:618 +#: src/lang.c:744 msgid "Reading newsrc file..." msgstr "" -#: src/lang.c:620 +#: src/lang.c:745 +msgid "References: line " +msgstr "" + +#: src/lang.c:747 #, c-format msgid "(%d:%02d remaining)" msgstr "" -#: src/lang.c:622 +#: src/lang.c:749 #, c-format msgid "Bogus group %s removed." msgstr "" -#: src/lang.c:623 +#: src/lang.c:750 +msgid "Removed from the previous rule: " +msgstr "" + +#: src/lang.c:751 #, c-format msgid "Error: rename %s to %s" msgstr "" -#: src/lang.c:624 +#: src/lang.c:752 msgid "Reply to author..." msgstr "" -#: src/lang.c:625 +#: src/lang.c:753 msgid "Repost" msgstr "" -#: src/lang.c:626 +#: src/lang.c:754 msgid "Reposting article..." msgstr "" -#: src/lang.c:627 +#: src/lang.c:755 #, c-format msgid "Repost article(s) to group(s) [%s]> " msgstr "" -#: src/lang.c:628 +#: src/lang.c:756 msgid "Reset newsrc?" msgstr "" -#: src/lang.c:629 +#: src/lang.c:757 msgid "Responses have been directed to the following newsgroups" msgstr "" -#: src/lang.c:630 +#: src/lang.c:758 #, c-format msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " msgstr "" -#: src/lang.c:631 -#, c-format -msgid "RespNo %4d of %4d" -msgstr "" - -#: src/lang.c:632 +#: src/lang.c:760 msgid "Press to continue..." msgstr "" -#: src/lang.c:634 +#: src/lang.c:762 #, c-format msgid "Select From [%s] (y/n): " msgstr "" -#: src/lang.c:635 +#: src/lang.c:763 msgid "Select Lines: (num): " msgstr "" -#: src/lang.c:636 +#: src/lang.c:764 msgid "Auto-select Article Menu" msgstr "" -#: src/lang.c:637 +#: src/lang.c:765 #, c-format msgid "Select Msg-Id [%s] (f/l/o/n): " msgstr "" -#: src/lang.c:638 +#: src/lang.c:766 msgid "Select pattern scope: " msgstr "" -#: src/lang.c:639 +#: src/lang.c:767 #, c-format msgid "Select Subject [%s] (y/n): " msgstr "" -#: src/lang.c:640 +#: src/lang.c:768 msgid "Select text pattern : " msgstr "" -#: src/lang.c:641 +#: src/lang.c:769 msgid "Select time in days : " msgstr "" -#: src/lang.c:642 +#: src/lang.c:770 #, c-format msgid "" "# %s server configuration file\n" @@ -2659,224 +3251,260 @@ msgid "" "\n" msgstr "" -#: src/lang.c:648 +#: src/lang.c:776 msgid "Showing unread groups only" msgstr "" -#: src/lang.c:649 +#: src/lang.c:777 msgid "Subject: line (ignore case) " msgstr "" -#: src/lang.c:650 +#: src/lang.c:778 msgid "Subject: line (case sensitive)" msgstr "" -#: src/lang.c:651 +#: src/lang.c:779 msgid "Save" msgstr "" -#: src/lang.c:652 +#: src/lang.c:780 #, c-format msgid "Save '%s' (%s/%s)?" msgstr "" -#: src/lang.c:653 +#: src/lang.c:781 msgid "Save configuration before continuing?" msgstr "" -#: src/lang.c:654 +#: src/lang.c:782 msgid "Save filename> " msgstr "" -#: src/lang.c:655 +#: src/lang.c:783 msgid "Saved" msgstr "" -#: src/lang.c:656 +#: src/lang.c:784 #, c-format msgid "%4d unread (%4d hot) %s in %s\n" msgstr "" -#: src/lang.c:657 +#: src/lang.c:785 #, c-format msgid "Saved %s...\n" msgstr "" -#: src/lang.c:658 +#: src/lang.c:786 msgid "Nothing was saved" msgstr "" -#: src/lang.c:659 +#: src/lang.c:787 #, c-format msgid "" "\n" "%s %d %s from %d %s\n" msgstr "" -#: src/lang.c:660 +#: src/lang.c:788 #, c-format msgid "-- %s saved to %s%s --" msgstr "" -#: src/lang.c:661 -#, c-format -msgid "-- %s saved to %s - %s --" +#: src/lang.c:789 +#, c-format +msgid "-- %s saved to %s - %s --" +msgstr "" + +#: src/lang.c:790 +msgid "Saving..." +msgstr "" + +#: src/lang.c:791 +#, c-format +msgid "%s: Screen initialization failed" +msgstr "" + +#: src/lang.c:793 +#, c-format +msgid "%s: screen is too small\n" +msgstr "" + +#: src/lang.c:795 +#, c-format +msgid "screen is too small, %s is exiting\n" +msgstr "" + +#: src/lang.c:796 +msgid "Delete scope?" +msgstr "" + +#: src/lang.c:797 +msgid "Enter scope> " +msgstr "" + +#: src/lang.c:798 +msgid "Select new position> " +msgstr "" + +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "" + +#: src/lang.c:800 +msgid "Global scope, operation not allowed" msgstr "" -#: src/lang.c:662 -msgid "Saving..." +#: src/lang.c:801 +msgid "Rename scope> " msgstr "" -#: src/lang.c:663 -#, c-format -msgid "%s: Screen initialization failed" +#: src/lang.c:802 +msgid "Select scope> " msgstr "" -#: src/lang.c:665 -#, c-format -msgid "%s: screen is too small\n" +#: src/lang.c:803 +msgid "Scopes Menu" msgstr "" -#: src/lang.c:667 -#, c-format -msgid "screen is too small, %s is exiting\n" +#: src/lang.c:804 +msgid "Scopes Menu Commands" msgstr "" -#: src/lang.c:668 +#: src/lang.c:805 #, c-format msgid "Search backwards [%s]> " msgstr "" -#: src/lang.c:669 +#: src/lang.c:806 #, c-format msgid "Search body [%s]> " msgstr "" -#: src/lang.c:670 +#: src/lang.c:807 #, c-format msgid "Search forwards [%s]> " msgstr "" -#: src/lang.c:671 +#: src/lang.c:808 msgid "Searching..." msgstr "" -#: src/lang.c:672 +#: src/lang.c:809 #, c-format msgid "Searching article %d of %d ('q' to abort)..." msgstr "" -#: src/lang.c:673 +#: src/lang.c:810 msgid "Select article> " msgstr "" -#: src/lang.c:674 +#: src/lang.c:811 msgid "" "Select option number before text or use arrow keys and . 'q' to quit." msgstr "" -#: src/lang.c:675 +#: src/lang.c:812 msgid "Select group> " msgstr "" -#: src/lang.c:676 +#: src/lang.c:813 #, c-format msgid "Enter selection pattern [%s]> " msgstr "" -#: src/lang.c:677 +#: src/lang.c:814 msgid "Select thread > " msgstr "" -#: src/lang.c:678 +#: src/lang.c:815 #, c-format msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" msgstr "" -#: src/lang.c:679 +#: src/lang.c:816 msgid "servers active-file" msgstr "" -#: src/lang.c:680 +#: src/lang.c:817 msgid "Cannot move into new newsgroups. Subscribe first..." msgstr "" -#: src/lang.c:681 +#: src/lang.c:818 msgid "" msgstr "" -#: src/lang.c:682 +#: src/lang.c:819 #, c-format msgid "Starting: (%s)" msgstr "" -#: src/lang.c:683 +#: src/lang.c:820 #, c-format msgid "List Thread (%d of %d)" msgstr "" -#: src/lang.c:684 +#: src/lang.c:821 #, c-format msgid "Thread (%.*s)" msgstr "" -#: src/lang.c:685 +#: src/lang.c:822 msgid "Enter wildcard subscribe pattern> " msgstr "" -#: src/lang.c:686 +#: src/lang.c:823 #, c-format msgid "subscribed to %d groups" msgstr "" -#: src/lang.c:687 +#: src/lang.c:824 #, c-format msgid "Subscribed to %s" msgstr "" -#: src/lang.c:688 +#: src/lang.c:825 msgid "Subscribing... " msgstr "" -#: src/lang.c:689 +#: src/lang.c:826 #, c-format msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " msgstr "" -#: src/lang.c:690 +#: src/lang.c:827 #, c-format msgid "Supersede article(s) to group(s) [%s]> " msgstr "" -#: src/lang.c:691 +#: src/lang.c:828 msgid "Superseding article ..." msgstr "" -#: src/lang.c:692 +#: src/lang.c:829 #, c-format msgid "" "\n" "Stopped. Type 'fg' to restart %s\n" msgstr "" -#: src/lang.c:694 +#: src/lang.c:831 #, c-format msgid "%d days" msgstr "" -#: src/lang.c:695 +#: src/lang.c:832 msgid "" msgstr "" -#: src/lang.c:696 +#: src/lang.c:833 msgid "TeX " msgstr "" -#: src/lang.c:697 +#: src/lang.c:834 msgid "# Default action/prompt strings\n" msgstr "" -#: src/lang.c:698 +#: src/lang.c:835 msgid "" "# Defaults for quick (1 key) kill & auto-selection filters\n" "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" @@ -2887,262 +3515,271 @@ msgid "" "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" msgstr "" -#: src/lang.c:711 +#: src/lang.c:848 msgid "" "# If ON use print current subject or newsgroup description in the last line\n" msgstr "" -#: src/lang.c:712 +#: src/lang.c:849 msgid "# Host & time info used for detecting new groups (don't touch)\n" msgstr "" -#: src/lang.c:713 +#: src/lang.c:850 msgid "There is no news\n" msgstr "" -#: src/lang.c:714 +#: src/lang.c:851 msgid "Thread" msgstr "" -#: src/lang.c:715 +#: src/lang.c:852 msgid "Thread Level Commands" msgstr "" -#: src/lang.c:716 +#: src/lang.c:853 msgid "Thread deselected" msgstr "" -#: src/lang.c:717 +#: src/lang.c:854 msgid "Thread selected" msgstr "" -#: src/lang.c:719 +#: src/lang.c:856 msgid "threads" msgstr "" -#: src/lang.c:721 -msgid "Thread range" -msgstr "" - -#: src/lang.c:722 +#: src/lang.c:858 msgid "thread" msgstr "" -#: src/lang.c:723 +#: src/lang.c:859 #, c-format msgid "Thread %4s of %4s" msgstr "" -#: src/lang.c:724 +#: src/lang.c:860 msgid "Threading articles..." msgstr "" -#: src/lang.c:725 +#: src/lang.c:861 #, c-format msgid "Toggled word highlighting %s" msgstr "" -#: src/lang.c:726 +#: src/lang.c:862 msgid "Toggled rot13 encoding" msgstr "" -#: src/lang.c:727 +#: src/lang.c:863 #, c-format msgid "Toggled german TeX encoding %s" msgstr "" -#: src/lang.c:728 +#: src/lang.c:864 #, c-format msgid "Toggled tab-width to %d" msgstr "" -#: src/lang.c:729 +#: src/lang.c:866 #, c-format msgid "%d Trying to dotlock %s" msgstr "" -#: src/lang.c:730 +#: src/lang.c:867 #, c-format msgid "%d Trying to lock %s" msgstr "" -#: src/lang.c:731 -msgid " h=help\n" +#: src/lang.c:869 +msgid " h=help" msgstr "" -#: src/lang.c:733 +#: src/lang.c:871 msgid "Unlimited" msgstr "" -#: src/lang.c:734 +#: src/lang.c:872 msgid "Enter wildcard unsubscribe pattern> " msgstr "" -#: src/lang.c:735 +#: src/lang.c:873 #, c-format msgid "Error decoding %s : %s" msgstr "" -#: src/lang.c:736 +#: src/lang.c:874 msgid "No end." msgstr "" -#: src/lang.c:737 +#: src/lang.c:875 #, c-format msgid "%s successfully decoded." msgstr "" -#: src/lang.c:738 +#: src/lang.c:876 #, c-format msgid "" "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" "\n" msgstr "" -#: src/lang.c:739 +#: src/lang.c:877 msgid "unread " msgstr "" -#: src/lang.c:740 +#: src/lang.c:878 #, c-format msgid "unsubscribed from %d groups" msgstr "" -#: src/lang.c:741 +#: src/lang.c:879 #, c-format msgid "Unsubscribed from %s" msgstr "" -#: src/lang.c:742 +#: src/lang.c:880 msgid "Unsubscribing... " msgstr "" -#: src/lang.c:743 +#: src/lang.c:881 msgid "Unthreading articles..." msgstr "" -#: src/lang.c:744 +#: src/lang.c:882 msgid "Updated" msgstr "" -#: src/lang.c:745 +#: src/lang.c:884 +#, c-format +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "" + +#: src/lang.c:886 msgid "Updating" msgstr "" -#: src/lang.c:746 +#: src/lang.c:887 +msgid "URL Menu" +msgstr "" + +#: src/lang.c:888 +msgid "URL Menu Commands" +msgstr "" + +#: src/lang.c:889 #, c-format -msgid "Opening %s\n" +msgid "Opening %s" msgstr "" -#: src/lang.c:747 -msgid "No more URL's in this article" +#: src/lang.c:890 +msgid "Select URL> " +msgstr "" + +#: src/lang.c:891 +msgid "No URLs in this article" msgstr "" -#: src/lang.c:748 +#: src/lang.c:892 msgid "Use MIME display program for this message?" msgstr "" -#: src/lang.c:749 +#: src/lang.c:893 msgid " -c mark all news as read in subscribed newsgroups (batch mode)" msgstr "" -#: src/lang.c:750 +#: src/lang.c:894 msgid " -Z return status indicating if any unread news (batch mode)" msgstr "" -#: src/lang.c:751 +#: src/lang.c:895 msgid " -q don't check for new newsgroups" msgstr "" -#: src/lang.c:752 +#: src/lang.c:896 msgid " -X don't save any files on quit" msgstr "" -#: src/lang.c:753 +#: src/lang.c:897 msgid " -d don't show newsgroup descriptions" msgstr "" -#: src/lang.c:754 +#: src/lang.c:898 msgid " -G limit get only limit articles/group" msgstr "" -#: src/lang.c:755 +#: src/lang.c:899 #, c-format msgid " -H help information about %s" msgstr "" -#: src/lang.c:756 +#: src/lang.c:900 msgid " -h this help message" msgstr "" -#: src/lang.c:757 +#: src/lang.c:901 #, c-format msgid " -I dir news index file directory [default=%s]" msgstr "" -#: src/lang.c:758 +#: src/lang.c:902 msgid " -u update index files (batch mode)" msgstr "" -#: src/lang.c:759 +#: src/lang.c:903 #, c-format msgid " -m dir mailbox directory [default=%s]" msgstr "" -#: src/lang.c:760 +#: src/lang.c:904 #, c-format msgid "" "\n" "Mail bug reports/comments to %s" msgstr "" -#: src/lang.c:761 +#: src/lang.c:905 msgid " -N mail new news to your posts (batch mode)" msgstr "" -#: src/lang.c:762 +#: src/lang.c:906 msgid " -M user mail new news to specified user (batch mode)" msgstr "" -#: src/lang.c:763 +#: src/lang.c:907 #, c-format msgid " -f file subscribed to newsgroups file [default=%s]" msgstr "" -#: src/lang.c:764 +#: src/lang.c:908 msgid " -x no posting mode" msgstr "" -#: src/lang.c:765 +#: src/lang.c:909 msgid " -w post an article and exit" msgstr "" -#: src/lang.c:766 +#: src/lang.c:910 msgid " -o post all postponed articles and exit" msgstr "" -#: src/lang.c:767 -msgid " -r read news remotely from default NNTP server" -msgstr "" - -#: src/lang.c:768 +#: src/lang.c:911 msgid " -R read news saved by -S option" msgstr "" -#: src/lang.c:769 +#: src/lang.c:912 #, c-format msgid " -s dir save news directory [default=%s]" msgstr "" -#: src/lang.c:770 +#: src/lang.c:913 msgid " -S save new news for later reading (batch mode)" msgstr "" -#: src/lang.c:771 +#: src/lang.c:914 msgid " -z start if any unread news" msgstr "" -#: src/lang.c:772 +#: src/lang.c:915 #, c-format msgid "" "A Usenet reader.\n" @@ -3150,37 +3787,42 @@ msgid "" "Usage: %s [options] [newsgroup[,...]]" msgstr "" -#: src/lang.c:773 +#: src/lang.c:916 msgid " -v verbose output for batch mode options" msgstr "" -#: src/lang.c:774 +#: src/lang.c:917 msgid " -V print version & date information" msgstr "" -#: src/lang.c:775 +#: src/lang.c:918 #, c-format msgid "%s only useful without batch mode operations\n" msgstr "" -#: src/lang.c:776 +#: src/lang.c:919 #, c-format msgid "%s only useful for batch mode operations\n" msgstr "" -#: src/lang.c:778 +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "" + +#: src/lang.c:922 #, c-format msgid "" "\n" "%s%d out of range (0 - %d). Reset to 0" msgstr "" -#: src/lang.c:779 +#: src/lang.c:923 #, c-format msgid "View '%s' (%s/%s)?" msgstr "" -#: src/lang.c:781 +#: src/lang.c:925 #, c-format msgid "" "\n" @@ -3188,33 +3830,33 @@ msgid "" "%-100s\n" msgstr "" -#: src/lang.c:782 +#: src/lang.c:926 msgid "" "\n" "Warning: article unchanged after editing\n" msgstr "" -#: src/lang.c:783 +#: src/lang.c:927 msgid "" "\n" "Warning: \"Subject:\" contains only whitespaces.\n" msgstr "" -#: src/lang.c:784 +#: src/lang.c:928 msgid "" "\n" "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:" "\".\n" msgstr "" -#: src/lang.c:786 +#: src/lang.c:930 msgid "" "\n" "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" " with \"Re: \" and does not contain \"(was:\".\n" msgstr "" -#: src/lang.c:789 +#: src/lang.c:933 msgid "" "Read carefully!\n" "\n" @@ -3228,7 +3870,7 @@ msgid "" "\n" msgstr "" -#: src/lang.c:793 +#: src/lang.c:937 msgid "" "\n" "Warning: You are using a non-plain transfer encoding (such as base64 or\n" @@ -3237,7 +3879,13 @@ msgid "" " not be encoded properly.\n" msgstr "" -#: src/lang.c:798 +#: src/lang.c:942 +msgid "" +"\n" +"Warning: \"example\" is a reserved hierarchy!\n" +msgstr "" + +#: src/lang.c:943 #, c-format msgid "" "\n" @@ -3247,7 +3895,7 @@ msgid "" "Read WHATSNEW, etc...\n" msgstr "" -#: src/lang.c:800 +#: src/lang.c:945 #, c-format msgid "" "\n" @@ -3256,7 +3904,7 @@ msgid "" "Some values in your %s file may be ignored, others might have changed!\n" msgstr "" -#: src/lang.c:803 +#: src/lang.c:948 #, c-format msgid "" "Warning: tin wrote fewer groups to your\n" @@ -3266,19 +3914,19 @@ msgid "" "before you start tin once again!\n" msgstr "" -#: src/lang.c:807 +#: src/lang.c:952 #, c-format msgid "" "\n" "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" msgstr "" -#: src/lang.c:808 +#: src/lang.c:953 #, c-format msgid "Warning: Only %d out of %d articles were saved" msgstr "" -#: src/lang.c:809 +#: src/lang.c:954 #, c-format msgid "" "\n" @@ -3289,49 +3937,49 @@ msgid "" " possible.\n" msgstr "" -#: src/lang.c:813 +#: src/lang.c:958 #, c-format msgid "" "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " msgstr "" -#: src/lang.c:814 +#: src/lang.c:959 msgid "" "\n" "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" msgstr "" -#: src/lang.c:815 +#: src/lang.c:960 msgid "Writing attributes file..." msgstr "" -#: src/lang.c:817 +#: src/lang.c:962 #, c-format msgid "%d Responses" msgstr "" -#: src/lang.c:819 +#: src/lang.c:964 #, c-format msgid "Added %d %s" msgstr "" -#: src/lang.c:820 +#: src/lang.c:965 msgid "No unsubscribed groups to show" msgstr "" -#: src/lang.c:821 +#: src/lang.c:966 msgid "Showing subscribed to groups only" msgstr "" -#: src/lang.c:822 +#: src/lang.c:967 msgid "Yes " msgstr "" -#: src/lang.c:823 -msgid " You have mail\n" +#: src/lang.c:968 +msgid " You have mail" msgstr "" -#: src/lang.c:828 +#: src/lang.c:973 #, c-format msgid "" "\n" @@ -3344,11 +3992,11 @@ msgid "" " M)enu option.\n" msgstr "" -#: src/lang.c:839 -msgid " -D debug mode 1=NNTP 2=ALL" +#: src/lang.c:984 +msgid " -D mode debug mode" msgstr "" -#: src/lang.c:843 +#: src/lang.c:988 msgid "" "Read carefully!\n" "\n" @@ -3365,11 +4013,11 @@ msgid "" "\n" msgstr "" -#: src/lang.c:852 +#: src/lang.c:997 msgid "toggle color" msgstr "" -#: src/lang.c:853 +#: src/lang.c:998 msgid "" "# Changing colors of several screen parts\n" "# Possible values are:\n" @@ -3394,359 +4042,386 @@ msgid "" "\n" msgstr "" -#: src/lang.c:873 +#: src/lang.c:1018 msgid " -a toggle color flag" msgstr "" -#: src/lang.c:877 +#: src/lang.c:1022 msgid "" "\n" "Error: Followup-To set to more than one newsgroup!\n" msgstr "" -#: src/lang.c:878 +#: src/lang.c:1023 +#, c-format +msgid "" +"\n" +"Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "" + +#: src/lang.c:1024 #, c-format msgid "" "\n" "Error: cross-posting to %d newsgroups and no Followup-To line!\n" msgstr "" -#: src/lang.c:879 +#: src/lang.c:1025 #, c-format msgid "" "\n" "Error: \"%s\" is not a valid newsgroup!\n" msgstr "" -#: src/lang.c:881 +#: src/lang.c:1027 msgid "" "\n" "Warning: Followup-To set to more than one newsgroup!\n" msgstr "" -#: src/lang.c:882 +#: src/lang.c:1028 +#, c-format +msgid "" +"\n" +"Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "" + +#: src/lang.c:1029 #, c-format msgid "" "\n" "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" msgstr "" -#: src/lang.c:883 +#: src/lang.c:1030 #, c-format msgid "" "\n" "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" msgstr "" -#: src/lang.c:884 +#: src/lang.c:1031 #, c-format msgid "" "\n" "Warning: \"%s\" is not a valid newsgroup at this site!\n" msgstr "" -#: src/lang.c:888 +#: src/lang.c:1035 #, c-format msgid "%d files successfully written from %d articles. %d %s occurred." msgstr "" -#: src/lang.c:889 +#: src/lang.c:1036 msgid "Missing parts." msgstr "" -#: src/lang.c:890 +#: src/lang.c:1037 msgid "No beginning." msgstr "" -#: src/lang.c:891 +#: src/lang.c:1038 msgid "No data." msgstr "" -#: src/lang.c:892 +#: src/lang.c:1039 msgid "Unknown error." msgstr "" -#: src/lang.c:895 +#: src/lang.c:1042 #, c-format msgid "\tChecksum of %s (%ld %s)" msgstr "" -#: src/lang.c:900 +#: src/lang.c:1047 msgid "Reading mail active file... " msgstr "" -#: src/lang.c:901 +#: src/lang.c:1048 msgid "Reading mailgroups file... " msgstr "" -#: src/lang.c:905 +#: src/lang.c:1052 msgid "perform PGP operations on article" msgstr "" -#: src/lang.c:906 +#: src/lang.c:1053 msgid "Add key(s) to public keyring?" msgstr "" -#: src/lang.c:907 +#: src/lang.c:1054 #, c-format msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " msgstr "" -#: src/lang.c:908 +#: src/lang.c:1055 #, c-format msgid "%s=sign, %s=sign & include public key, %s=quit: " msgstr "" -#: src/lang.c:909 +#: src/lang.c:1056 #, c-format msgid "PGP has not been set up (can't open %s)" msgstr "" -#: src/lang.c:910 +#: src/lang.c:1057 msgid "Article not signed and no public keys found" msgstr "" -#: src/lang.c:912 +#: src/lang.c:1059 #, c-format msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " msgstr "" -#: src/lang.c:913 +#: src/lang.c:1060 #, c-format msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " msgstr "" -#: src/lang.c:914 +#: src/lang.c:1061 #, c-format msgid "" "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " msgstr "" -#: src/lang.c:916 +#: src/lang.c:1063 #, c-format msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " msgstr "" -#: src/lang.c:917 +#: src/lang.c:1064 #, c-format msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " msgstr "" -#: src/lang.c:918 +#: src/lang.c:1065 #, c-format msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " msgstr "" -#: src/lang.c:922 +#: src/lang.c:1069 #, c-format msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " msgstr "" -#: src/lang.c:923 +#: src/lang.c:1070 #, c-format msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " msgstr "" -#: src/lang.c:924 +#: src/lang.c:1071 #, c-format msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " msgstr "" -#: src/lang.c:926 +#: src/lang.c:1073 #, c-format msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " msgstr "" -#: src/lang.c:927 +#: src/lang.c:1074 #, c-format msgid "%s=quit, %s=edit, %s=send [%%s]: " msgstr "" -#: src/lang.c:928 +#: src/lang.c:1075 #, c-format msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " msgstr "" -#: src/lang.c:937 +#: src/lang.c:1084 msgid "Try cache_overview_files to speed up things.\n" msgstr "" -#: src/lang.c:938 +#: src/lang.c:1085 msgid "Tin will use local index files instead.\n" msgstr "" -#: src/lang.c:939 +#: src/lang.c:1086 msgid "Cannot find NNTP server name" msgstr "" -#: src/lang.c:940 +#: src/lang.c:1087 #, c-format -msgid "Connecting to %s:%d..." +msgid "Connecting to %s:%u..." msgstr "" -#: src/lang.c:941 +#: src/lang.c:1088 msgid "Disconnecting from server...\n" msgstr "" -#: src/lang.c:942 +#: src/lang.c:1089 #, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" +msgid "" +"Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" msgstr "" -#: src/lang.c:943 +#: src/lang.c:1090 #, c-format msgid "Failed to connect to NNTP server %s. Exiting..." msgstr "" -#: src/lang.c:944 +#: src/lang.c:1091 msgid "205 Closing connection" msgstr "" -#: src/lang.c:945 +#: src/lang.c:1092 msgid "Your server does not support the NNTP XOVER or OVER command.\n" msgstr "" -#: src/lang.c:946 +#: src/lang.c:1093 msgid "Connection to news server has timed out. Reconnect?" msgstr "" -#: src/lang.c:947 +#: src/lang.c:1094 #, c-format msgid "" "Put the server name in the file %s,\n" "or set the environment variable NNTPSERVER" msgstr "" -#: src/lang.c:948 +#: src/lang.c:1095 msgid " -A force authentication on connect" msgstr "" -#: src/lang.c:949 +#: src/lang.c:1096 #, c-format msgid " -g serv read news from NNTP server serv [default=%s]" msgstr "" -#: src/lang.c:950 +#: src/lang.c:1097 #, c-format msgid " -p port use port as NNTP port [default=%d]" msgstr "" -#: src/lang.c:951 -msgid " -Q quick start. Same as -nqd" +#: src/lang.c:1098 +msgid " -Q quick start. Same as -nqd" +msgstr "" + +#: src/lang.c:1099 +msgid " -r read news remotely from default NNTP server" msgstr "" -#: src/lang.c:952 +#: src/lang.c:1100 msgid " -l use only LIST instead of GROUP (-n) command" msgstr "" -#: src/lang.c:953 +#: src/lang.c:1101 msgid " -n only read subscribed .newsrc groups from NNTP server" msgstr "" -#: src/lang.c:955 -#, c-format -msgid "%s/tcp: Unknown service.\n" +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" msgstr "" -#: src/lang.c:958 +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr "" + +#: src/lang.c:1105 msgid "" "\n" "socket or connect problem\n" msgstr "" -#: src/lang.c:960 +#: src/lang.c:1107 #, c-format msgid "" "\n" "Connection to %s: " msgstr "" -#: src/lang.c:961 +#: src/lang.c:1108 msgid "Giving up...\n" msgstr "" -#: src/lang.c:964 +#: src/lang.c:1110 +#, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "" + +#: src/lang.c:1114 msgid "" "Your server does not have Xref: in its XOVER information.\n" "Tin will try to use XHDR XREF instead (slows down things a bit).\n" msgstr "" -#: src/lang.c:967 +#: src/lang.c:1117 msgid "Your server does not have Xref: in its XOVER information.\n" msgstr "" -#: src/lang.c:970 +#: src/lang.c:1120 #, c-format msgid "Can't open %s. Try %s -r to read news via NNTP.\n" msgstr "" -#: src/lang.c:973 +#: src/lang.c:1123 msgid " -Q quick start. Same as -qd" msgstr "" -#: src/lang.c:974 +#: src/lang.c:1124 msgid " -l read only active file instead of scanning spool (-n) command" msgstr "" -#: src/lang.c:975 +#: src/lang.c:1125 msgid " -n only read subscribed .newsrc groups from spool" msgstr "" -#: src/lang.c:976 +#: src/lang.c:1126 msgid "Your server does not have Xref: in its NOV-files.\n" msgstr "" -#: src/lang.c:980 +#: src/lang.c:1130 msgid "Posting using external inews failed. Use built in inews instead?" msgstr "" -#: src/lang.c:981 +#: src/lang.c:1131 msgid "It worked! Should I always use my built in inews from now on?" msgstr "" -#: src/lang.c:989 +#: src/lang.c:1135 #, c-format msgid "%d %s printed" msgstr "" -#: src/lang.c:990 +#: src/lang.c:1136 msgid "output article/thread/hot/pattern/tagged articles to printer" msgstr "" -#: src/lang.c:991 +#: src/lang.c:1137 msgid "Print" msgstr "" -#: src/lang.c:992 +#: src/lang.c:1138 msgid "Printing..." msgstr "" -#: src/lang.c:996 +#: src/lang.c:1142 msgid "pipe article/thread/hot/pattern/tagged articles into command" msgstr "" -#: src/lang.c:997 +#: src/lang.c:1143 msgid "No command" msgstr "" -#: src/lang.c:998 +#: src/lang.c:1144 msgid "Pipe" msgstr "" -#: src/lang.c:999 +#: src/lang.c:1145 #, c-format msgid "Pipe to command [%.*s]> " msgstr "" -#: src/lang.c:1000 +#: src/lang.c:1146 msgid "Piping..." msgstr "" -#: src/lang.c:1002 +#: src/lang.c:1148 msgid "Piping not enabled." msgstr "" -#: src/lang.c:1006 +#: src/lang.c:1152 #, c-format msgid "" "\n" @@ -3756,7 +4431,7 @@ msgid "" " newsgroup names.\n" msgstr "" -#: src/lang.c:1011 +#: src/lang.c:1157 #, c-format msgid "" "\n" @@ -3765,7 +4440,7 @@ msgid "" " Please write all newsgroups into a single line.\n" msgstr "" -#: src/lang.c:1016 +#: src/lang.c:1162 #, c-format msgid "" "\n" @@ -3774,14 +4449,14 @@ msgid "" " To avoid trouble please write all newsgroups into a single line.\n" msgstr "" -#: src/lang.c:1020 +#: src/lang.c:1166 #, c-format msgid "" "\n" "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" msgstr "" -#: src/lang.c:1025 +#: src/lang.c:1171 msgid "" "\n" " If your article contains quoted text please take some time to pare it " @@ -3803,509 +4478,603 @@ msgid "" " likely to ignore it completely. It's a crowded net out there.\n" msgstr "" -#: src/lang.c:1038 +#: src/lang.c:1184 msgid "shell escape" msgstr "" -#: src/lang.c:1039 +#: src/lang.c:1185 #, c-format msgid "Shell Command (%s)" msgstr "" -#: src/lang.c:1040 +#: src/lang.c:1186 #, c-format msgid "Enter shell command [%s]> " msgstr "" -#: src/lang.c:1044 +#: src/lang.c:1190 #, c-format msgid "%s: Can't get entry for TERM\n" msgstr "" -#: src/lang.c:1048 +#: src/lang.c:1194 #, c-format msgid "Group %.*s ('q' to quit)..." msgstr "" -#: src/lang.c:1050 +#: src/lang.c:1196 #, c-format msgid "Group %.*s..." msgstr "" -#: src/lang.c:1054 +#: src/lang.c:1200 msgid "Server unavailable\n" msgstr "" -#: src/lang.c:1060 +#: src/lang.c:1206 #, c-format msgid "" "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" "s=post" msgstr "" -#: src/lang.c:1061 +#: src/lang.c:1207 #, c-format msgid "" "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" msgstr "" -#: src/lang.c:1063 +#: src/lang.c:1209 #, c-format msgid "" "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" msgstr "" -#: src/lang.c:1064 +#: src/lang.c:1210 #, c-format msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" msgstr "" -#: src/lang.c:1068 +#: src/lang.c:1214 #, c-format msgid "" "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" msgstr "" -#: src/lang.c:1069 +#: src/lang.c:1215 #, c-format msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" msgstr "" -#: src/lang.c:1071 +#: src/lang.c:1217 #, c-format msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" msgstr "" -#: src/lang.c:1072 +#: src/lang.c:1218 #, c-format msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" msgstr "" -#: src/lang.c:1078 +#: src/lang.c:1224 msgid "Terminal does not support color" msgstr "" -#: src/lang.c:1083 +#: src/lang.c:1229 #, c-format msgid "Trying %s" msgstr "" -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 -#: src/refs.c:296 +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 +#: src/refs.c:288 msgid "None" msgstr "" -#: src/lang.c:1098 +#: src/lang.c:1244 msgid "Subject" msgstr "" -#: src/lang.c:1099 +#: src/lang.c:1245 msgid "References" msgstr "" -#: src/lang.c:1100 +#: src/lang.c:1246 msgid "Both Subject and References" msgstr "" -#: src/lang.c:1101 +#: src/lang.c:1247 msgid "Multipart Subject" msgstr "" -#: src/lang.c:1102 +#: src/lang.c:1248 msgid "Percentage Match" msgstr "" -#: src/lang.c:1114 src/lang.c:1225 +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 msgid "No" msgstr "" -#: src/lang.c:1115 src/lang.c:1227 +#: src/lang.c:1261 src/lang.c:1413 msgid "Yes" msgstr "" -#: src/lang.c:1116 +#: src/lang.c:1262 msgid "Hide All" msgstr "" -#: src/lang.c:1124 +#: src/lang.c:1270 msgid "Address" msgstr "" -#: src/lang.c:1125 +#: src/lang.c:1271 msgid "Full Name" msgstr "" -#: src/lang.c:1126 +#: src/lang.c:1272 msgid "Address and Name" msgstr "" -#: src/lang.c:1133 +#: src/lang.c:1279 msgid "Max" msgstr "" -#: src/lang.c:1134 +#: src/lang.c:1280 msgid "Sum" msgstr "" -#: src/lang.c:1135 +#: src/lang.c:1281 msgid "Average" msgstr "" -#: src/lang.c:1140 +#: src/lang.c:1286 msgid "Lines" msgstr "" -#: src/lang.c:1141 +#: src/lang.c:1287 msgid "Score" msgstr "" -#: src/lang.c:1142 +#: src/lang.c:1288 msgid "Lines & Score" msgstr "" -#: src/lang.c:1151 +#: src/lang.c:1297 msgid "Black" msgstr "" -#: src/lang.c:1152 +#: src/lang.c:1298 msgid "Red" msgstr "" -#: src/lang.c:1153 +#: src/lang.c:1299 msgid "Green" msgstr "" -#: src/lang.c:1154 +#: src/lang.c:1300 msgid "Brown" msgstr "" -#: src/lang.c:1155 +#: src/lang.c:1301 msgid "Blue" msgstr "" -#: src/lang.c:1156 +#: src/lang.c:1302 msgid "Pink" msgstr "" -#: src/lang.c:1157 +#: src/lang.c:1303 msgid "Cyan" msgstr "" -#: src/lang.c:1158 +#: src/lang.c:1304 msgid "White" msgstr "" -#: src/lang.c:1159 +#: src/lang.c:1305 msgid "Gray" msgstr "" -#: src/lang.c:1160 +#: src/lang.c:1306 msgid "Light Red" msgstr "" -#: src/lang.c:1161 +#: src/lang.c:1307 msgid "Light Green" msgstr "" -#: src/lang.c:1162 +#: src/lang.c:1308 msgid "Yellow" msgstr "" -#: src/lang.c:1163 +#: src/lang.c:1309 msgid "Light Blue" msgstr "" -#: src/lang.c:1164 +#: src/lang.c:1310 msgid "Light Pink" msgstr "" -#: src/lang.c:1165 +#: src/lang.c:1311 msgid "Light Cyan" msgstr "" -#: src/lang.c:1166 +#: src/lang.c:1312 msgid "Light White" msgstr "" -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 msgid "Nothing" msgstr "" -#: src/lang.c:1175 -msgid "Mark" -msgstr "" - -#: src/lang.c:1176 +#: src/lang.c:1322 msgid "Space" msgstr "" -#: src/lang.c:1183 +#: src/lang.c:1329 msgid "Normal" msgstr "" -#: src/lang.c:1184 +#: src/lang.c:1330 msgid "Best highlighting" msgstr "" -#: src/lang.c:1185 +#: src/lang.c:1331 msgid "Underline" msgstr "" -#: src/lang.c:1186 +#: src/lang.c:1332 msgid "Reverse video" msgstr "" -#: src/lang.c:1187 +#: src/lang.c:1333 msgid "Blinking" msgstr "" -#: src/lang.c:1188 +#: src/lang.c:1334 msgid "Half bright" msgstr "" -#: src/lang.c:1189 +#: src/lang.c:1335 msgid "Bold" msgstr "" -#: src/lang.c:1194 +#: src/lang.c:1341 +msgid "Cc" +msgstr "" + +#: src/lang.c:1342 +msgid "Bcc" +msgstr "" + +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "" + +#: src/lang.c:1348 src/lang.c:1360 msgid "none" msgstr "" -#: src/lang.c:1195 +#: src/lang.c:1349 msgid "commands" msgstr "" -#: src/lang.c:1196 +#: src/lang.c:1350 msgid "select" msgstr "" -#: src/lang.c:1198 +#: src/lang.c:1352 msgid "commands & quit" msgstr "" -#: src/lang.c:1199 +#: src/lang.c:1353 msgid "commands & select" msgstr "" -#: src/lang.c:1200 +#: src/lang.c:1354 msgid "quit & select" msgstr "" -#: src/lang.c:1201 +#: src/lang.c:1355 msgid "commands & quit & select" msgstr "" -#: src/lang.c:1226 +#: src/lang.c:1361 +msgid "PageDown" +msgstr "" + +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "" + +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "" + +#: src/lang.c:1368 +msgid "Subject: (case sensitive)" +msgstr "" + +#: src/lang.c:1369 +msgid "Subject: (ignore case)" +msgstr "" + +#: src/lang.c:1370 +msgid "From: (case sensitive)" +msgstr "" + +#: src/lang.c:1371 +msgid "From: (ignore case)" +msgstr "" + +#: src/lang.c:1372 +msgid "Msg-ID: & full References: line" +msgstr "" + +#: src/lang.c:1373 +msgid "Msg-ID: & last References: only" +msgstr "" + +#: src/lang.c:1374 +msgid "Message-ID: entry only" +msgstr "" + +#: src/lang.c:1375 +msgid "Lines:" +msgstr "" + +#: src/lang.c:1380 +msgid "Don't trim article body" +msgstr "" + +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "" + +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "" + +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "" + +#: src/lang.c:1384 +msgid "Compact multiple between text" +msgstr "" + +#: src/lang.c:1385 +msgid "Compact multiple and skip leading" +msgstr "" + +#: src/lang.c:1386 +msgid "Compact multiple and skip trailing" +msgstr "" + +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "" + +#: src/lang.c:1412 msgid "Shell archive" msgstr "" -#: src/lang.c:1232 +#: src/lang.c:1418 msgid "Subject: (descending)" msgstr "" -#: src/lang.c:1233 +#: src/lang.c:1419 msgid "Subject: (ascending)" msgstr "" -#: src/lang.c:1234 +#: src/lang.c:1420 msgid "From: (descending)" msgstr "" -#: src/lang.c:1235 +#: src/lang.c:1421 msgid "From: (ascending)" msgstr "" -#: src/lang.c:1236 +#: src/lang.c:1422 msgid "Date: (descending)" msgstr "" -#: src/lang.c:1237 +#: src/lang.c:1423 msgid "Date: (ascending)" msgstr "" -#: src/lang.c:1238 src/lang.c:1246 +#: src/lang.c:1424 src/lang.c:1432 msgid "Score (descending)" msgstr "" -#: src/lang.c:1239 src/lang.c:1247 +#: src/lang.c:1425 src/lang.c:1433 msgid "Score (ascending)" msgstr "" -#: src/lang.c:1240 +#: src/lang.c:1426 msgid "Lines: (descending)" msgstr "" -#: src/lang.c:1241 +#: src/lang.c:1427 msgid "Lines: (ascending)" msgstr "" -#: src/lang.c:1252 +#: src/lang.c:1434 +msgid "Last posting date (descending)" +msgstr "" + +#: src/lang.c:1435 +msgid "Last posting date (ascending)" +msgstr "" + +#: src/lang.c:1440 msgid "Always Keep" msgstr "" -#: src/lang.c:1253 +#: src/lang.c:1441 msgid "Always Remove" msgstr "" -#: src/lang.c:1254 +#: src/lang.c:1442 msgid "Mark with D on selection screen" msgstr "" -#: src/lang.c:1259 +#: src/lang.c:1447 msgid "Kill only unread arts" msgstr "" -#: src/lang.c:1260 +#: src/lang.c:1448 msgid "Kill all arts & show with K" msgstr "" #. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 +#: src/lang.c:1449 msgid "Kill all arts and never show" msgstr "" -#: src/lang.c:1266 +#: src/lang.c:1454 msgid "Nothing special" msgstr "" -#: src/lang.c:1267 +#: src/lang.c:1455 msgid "Compress quotes" msgstr "" -#: src/lang.c:1268 +#: src/lang.c:1456 msgid "Quote signatures" msgstr "" -#: src/lang.c:1269 +#: src/lang.c:1457 msgid "Compress quotes, quote sigs" msgstr "" -#: src/lang.c:1270 +#: src/lang.c:1458 msgid "Quote empty lines" msgstr "" -#: src/lang.c:1271 +#: src/lang.c:1459 msgid "Compress quotes, quote empty lines" msgstr "" -#: src/lang.c:1272 +#: src/lang.c:1460 msgid "Quote sigs & empty lines" msgstr "" -#: src/lang.c:1273 +#: src/lang.c:1461 msgid "Comp. q., quote sigs & empty lines" msgstr "" -#: src/lang.c:1311 +#: src/lang.c:1499 msgid "no" msgstr "" -#: src/lang.c:1312 +#: src/lang.c:1500 msgid "with headers" msgstr "" -#: src/lang.c:1313 +#: src/lang.c:1501 msgid "without headers" msgstr "" -#: src/lang.c:1320 src/lang.c:1326 +#: src/lang.c:1508 src/lang.c:1514 msgid "NFKC" msgstr "" -#: src/lang.c:1321 +#: src/lang.c:1509 msgid "NFKD" msgstr "" -#: src/lang.c:1322 +#: src/lang.c:1510 msgid "NFC" msgstr "" -#: src/lang.c:1323 +#: src/lang.c:1511 msgid "NFD" msgstr "" -#: src/lang.c:1334 +#: src/lang.c:1522 msgid "Display Options" msgstr "" -#: src/lang.c:1341 +#: src/lang.c:1529 msgid "Color Options" msgstr "" -#: src/lang.c:1348 +#: src/lang.c:1536 msgid "Article-Limiting Options" msgstr "" -#: src/lang.c:1354 +#: src/lang.c:1542 msgid "Posting/Mailing Options" msgstr "" -#: src/lang.c:1360 +#: src/lang.c:1548 msgid "Saving/Printing Options" msgstr "" -#: src/lang.c:1366 +#: src/lang.c:1554 msgid "Expert Options" msgstr "" -#: src/lang.c:1372 +#: src/lang.c:1560 msgid "Filtering Options" msgstr "" -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 -#: src/lang.c:1490 src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 -#: src/lang.c:1601 src/lang.c:1771 src/lang.c:1777 src/lang.c:1783 -#: src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 src/lang.c:1862 -#: src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 -#: src/lang.c:1926 src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 -#: src/lang.c:1954 src/lang.c:1961 src/lang.c:1968 src/lang.c:1975 -#: src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 src/lang.c:2003 -#: src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 -#: src/lang.c:2076 src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 -#: src/lang.c:2117 src/lang.c:2151 src/lang.c:2204 src/lang.c:2211 -#: src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 src/lang.c:2312 -#: src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 +#: src/lang.c:1680 src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 +#: src/lang.c:1725 src/lang.c:1800 src/lang.c:1808 src/lang.c:1998 +#: src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 src/lang.c:2028 +#: src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 +#: src/lang.c:2139 src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 +#: src/lang.c:2167 src/lang.c:2174 src/lang.c:2181 src/lang.c:2188 +#: src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 src/lang.c:2216 +#: src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 +#: src/lang.c:2289 src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 +#: src/lang.c:2316 src/lang.c:2322 src/lang.c:2339 src/lang.c:2351 +#: src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 src/lang.c:2458 +#: src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 +#: src/lang.c:2660 src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 +#: src/lang.c:2734 src/lang.c:2745 src/lang.c:2751 src/lang.c:2789 msgid " toggles, sets, cancels." msgstr "" -#: src/lang.c:1378 +#: src/lang.c:1566 msgid "Show mini menu & posting etiquette" msgstr "" -#: src/lang.c:1379 +#: src/lang.c:1567 msgid "" "# If ON show a mini menu of useful commands at each level\n" "# and posting etiquette after composing an article\n" msgstr "" -#: src/lang.c:1384 +#: src/lang.c:1572 msgid "Show short description for each newsgroup. toggles & sets." msgstr "" -#: src/lang.c:1385 +#: src/lang.c:1573 msgid "Show description of each newsgroup" msgstr "" -#: src/lang.c:1386 +#: src/lang.c:1574 msgid "" "# If ON show group description text after newsgroup name at\n" "# group selection level\n" msgstr "" -#: src/lang.c:1391 +#: src/lang.c:1579 msgid "" "Show Subject & From (author) fields in group menu. toggles & " "sets." msgstr "" -#: src/lang.c:1392 +#: src/lang.c:1580 msgid "In group menu, show author by" msgstr "" -#: src/lang.c:1393 +#: src/lang.c:1581 msgid "" "# Part of from field to display\n" "# Possible values are (the default is marked with *):\n" @@ -4315,31 +5084,31 @@ msgid "" "# 3 = both\n" msgstr "" -#: src/lang.c:1402 +#: src/lang.c:1590 msgid "Draw -> or highlighted bar for selection. toggles & sets." msgstr "" -#: src/lang.c:1403 +#: src/lang.c:1591 msgid "Draw -> instead of highlighted bar" msgstr "" -#: src/lang.c:1404 +#: src/lang.c:1592 msgid "# If ON use -> otherwise highlighted bar for selection\n" msgstr "" -#: src/lang.c:1409 +#: src/lang.c:1597 msgid "Use inverse video for page headers" msgstr "" -#: src/lang.c:1410 +#: src/lang.c:1598 msgid "# If ON use inverse video for page headers at different levels\n" msgstr "" -#: src/lang.c:1415 +#: src/lang.c:1603 msgid "Thread articles by" msgstr "" -#: src/lang.c:1416 +#: src/lang.c:1604 msgid "" "# Thread articles by ...\n" "# Possible values are (the default is marked with *):\n" @@ -4351,15 +5120,15 @@ msgid "" "# 5 = Percentage Match\n" msgstr "" -#: src/lang.c:1427 +#: src/lang.c:1615 msgid "Enter percentage match required to thread together. sets." msgstr "" -#: src/lang.c:1428 +#: src/lang.c:1616 msgid "Thread percentage match" msgstr "" -#: src/lang.c:1429 +#: src/lang.c:1617 #, c-format msgid "" "# Thread percentage match...\n" @@ -4374,11 +5143,11 @@ msgid "" "# 'harppy' would be threaded separately from 'happy'\n" msgstr "" -#: src/lang.c:1441 +#: src/lang.c:1629 msgid "Score of a thread" msgstr "" -#: src/lang.c:1442 +#: src/lang.c:1630 msgid "" "# Thread score\n" "# Possible values are (the default is marked with *):\n" @@ -4387,16 +5156,16 @@ msgid "" "# 2 = average\n" msgstr "" -#: src/lang.c:1450 +#: src/lang.c:1638 msgid "" "Sort articles by Subject, From, Date or Score. toggles & sets." msgstr "" -#: src/lang.c:1451 +#: src/lang.c:1639 msgid "Sort articles by" msgstr "" -#: src/lang.c:1452 +#: src/lang.c:1640 msgid "" "# Sort articles by ...\n" "# Possible values are (the default is marked with *):\n" @@ -4413,61 +5182,63 @@ msgid "" "# 10 = Lines ascending\n" msgstr "" -#: src/lang.c:1468 +#: src/lang.c:1656 msgid "Sort threads by Nothing or Score. toggles & sets." msgstr "" -#: src/lang.c:1469 +#: src/lang.c:1657 msgid "Sort threads by" msgstr "" -#: src/lang.c:1470 +#: src/lang.c:1658 msgid "" "# Sort thread by ...\n" "# Possible values are (the default is marked with *):\n" "# 0 = nothing\n" "# * 1 = Score descending\n" "# 2 = Score ascending\n" +"# 3 = Last posting date descending\n" +"# 4 = Last posting date ascending\n" msgstr "" -#: src/lang.c:1478 +#: src/lang.c:1668 msgid "" "Put cursor at first/last unread art in groups. toggles & sets." msgstr "" -#: src/lang.c:1479 -msgid "Goto first unread article in group" +#: src/lang.c:1669 +msgid "Go to first unread article in group" msgstr "" -#: src/lang.c:1480 +#: src/lang.c:1670 msgid "# If ON put cursor at first unread art in group otherwise last art\n" msgstr "" -#: src/lang.c:1484 +#: src/lang.c:1674 msgid "Show all articles or only unread articles. toggles & sets." msgstr "" -#: src/lang.c:1485 +#: src/lang.c:1675 msgid "Show only unread articles" msgstr "" -#: src/lang.c:1486 +#: src/lang.c:1676 msgid "# If ON show only new/unread articles otherwise show all.\n" msgstr "" -#: src/lang.c:1491 +#: src/lang.c:1681 msgid "Show only groups with unread arts" msgstr "" -#: src/lang.c:1492 +#: src/lang.c:1682 msgid "# If ON show only subscribed to groups that contain unread articles.\n" msgstr "" -#: src/lang.c:1497 +#: src/lang.c:1687 msgid "Filter which articles" msgstr "" -#: src/lang.c:1498 +#: src/lang.c:1688 msgid "" "# Filter which articles\n" "# Possible values are (the default is marked with *):\n" @@ -4476,205 +5247,211 @@ msgid "" "# 2 = kill all articles and never show them\n" msgstr "" -#: src/lang.c:1507 -msgid "Tab goes to next unread article" -msgstr "" - -#: src/lang.c:1508 -msgid "" -"# If ON the TAB command will go to next unread article at article viewer " -"level\n" -msgstr "" - -#: src/lang.c:1512 -msgid "" -"Scrolling with past the end of an art. jumps to the next unread one." -msgstr "" - -#: src/lang.c:1513 -msgid "Space goes to next unread article" -msgstr "" - -#: src/lang.c:1514 -msgid "" -"# If ON the SPACE command will go to next unread article at article viewer\n" -"# level when the end of the article is reached (rn-style pager)\n" +#: src/lang.c:1697 +msgid "Go to the next unread article with" msgstr "" -#: src/lang.c:1519 +#: src/lang.c:1698 msgid "" -"Scrolling with / past the end of an art. jumps to the unread one." +"# Go to the unread article with following key(s)\n" +"# Possible values are (the default is marked with *):\n" +"# 0 = nothing\n" +"# 1 = PAGE DOWN\n" +"# * 2 = TAB\n" +"# 3 = PAGE DOWN or TAB\n" msgstr "" -#: src/lang.c:1520 -msgid "PgDn goes to next unread article" +#: src/lang.c:1708 +msgid "How to treat blank lines" msgstr "" -#: src/lang.c:1521 +#: src/lang.c:1709 msgid "" -"# If ON the PGDN or DOWN command will go to next unread article when\n" -"# pressed at end of message\n" +"# Trim the article body, remove unnecessary blank lines.\n" +"# Possible values are (the default is marked with *):\n" +"# * 0 = Nothing special\n" +"# 1 = Skip leading blank lines\n" +"# 2 = Skip trailing blank lines\n" +"# 3 = Skip leading and trailing blank lines\n" +"# 4 = Compact multiple blank lines between text blocks\n" +"# 5 = Compact multiple blank lines between text blocks and skip\n" +"# leading blank lines\n" +"# 6 = Compact multiple blank lines between text blocks and skip\n" +"# trailing blank lines\n" +"# 7 = Compact multiple blank lines between text blocks and skip\n" +"# leading and trailing blank lines\n" msgstr "" -#: src/lang.c:1527 +#: src/lang.c:1726 msgid "List thread using right arrow key" msgstr "" -#: src/lang.c:1528 +#: src/lang.c:1727 msgid "" "# If ON automatically list thread when entering it using right arrow key.\n" msgstr "" -#: src/lang.c:1532 +#: src/lang.c:1731 msgid "Enter character to indicate deleted articles. sets, cancels." msgstr "" -#: src/lang.c:1533 +#: src/lang.c:1732 msgid "Character to show deleted articles" msgstr "" -#: src/lang.c:1534 +#: src/lang.c:1733 msgid "" "# Character used to show that an art was deleted (default 'D')\n" "# _ is turned into ' '\n" msgstr "" -#: src/lang.c:1539 +#: src/lang.c:1738 msgid "" "Enter character to indicate articles in a range. sets, cancels." msgstr "" -#: src/lang.c:1540 +#: src/lang.c:1739 msgid "Character to show inrange articles" msgstr "" -#: src/lang.c:1541 +#: src/lang.c:1740 msgid "" "# Character used to show that an art is in a range (default '#')\n" "# _ is turned into ' '\n" msgstr "" -#: src/lang.c:1546 +#: src/lang.c:1745 msgid "" "Enter character to indicate that article will return. sets, " "cancels." msgstr "" -#: src/lang.c:1547 +#: src/lang.c:1746 msgid "Character to show returning arts" msgstr "" -#: src/lang.c:1548 +#: src/lang.c:1747 msgid "" "# Character used to show that an art will return (default '-')\n" "# _ is turned into ' '\n" msgstr "" -#: src/lang.c:1553 +#: src/lang.c:1752 msgid "" "Enter character to indicate selected articles. sets, cancels." msgstr "" -#: src/lang.c:1554 +#: src/lang.c:1753 msgid "Character to show selected articles" msgstr "" -#: src/lang.c:1555 +#: src/lang.c:1754 msgid "" "# Character used to show that an art was auto-selected (default '*')\n" "# _ is turned into ' '\n" msgstr "" -#: src/lang.c:1560 +#: src/lang.c:1759 msgid "Enter character to indicate recent articles. sets, cancels." msgstr "" -#: src/lang.c:1561 +#: src/lang.c:1760 msgid "Character to show recent articles" msgstr "" -#: src/lang.c:1562 +#: src/lang.c:1761 msgid "" "# Character used to show that an art is recent (default 'o')\n" "# _ is turned into ' '\n" msgstr "" -#: src/lang.c:1567 +#: src/lang.c:1766 msgid "Enter character to indicate unread articles. sets, cancels." msgstr "" -#: src/lang.c:1568 +#: src/lang.c:1767 msgid "Character to show unread articles" msgstr "" -#: src/lang.c:1569 +#: src/lang.c:1768 msgid "" "# Character used to show that an art is unread (default '+')\n" "# _ is turned into ' '\n" msgstr "" -#: src/lang.c:1574 +#: src/lang.c:1773 msgid "Enter character to indicate read articles. sets, cancels." msgstr "" -#: src/lang.c:1575 +#: src/lang.c:1774 msgid "Character to show read articles" msgstr "" -#: src/lang.c:1576 +#: src/lang.c:1775 msgid "" "# Character used to show that an art was read (default ' ')\n" "# _ is turned into ' '\n" msgstr "" -#: src/lang.c:1581 +#: src/lang.c:1780 msgid "Enter character to indicate killed articles. sets, cancels." msgstr "" -#: src/lang.c:1582 +#: src/lang.c:1781 msgid "Character to show killed articles" msgstr "" -#: src/lang.c:1583 +#: src/lang.c:1782 msgid "" "# Character used to show that an art was killed (default 'K')\n" "# kill_level must be set accordingly, _ is turned into ' '\n" msgstr "" -#: src/lang.c:1588 +#: src/lang.c:1787 msgid "" "Enter character to indicate read selected articles. sets, cancels." msgstr "" -#: src/lang.c:1589 +#: src/lang.c:1788 msgid "Character to show readselected arts" msgstr "" -#: src/lang.c:1590 +#: src/lang.c:1789 msgid "" "# Character used to show that an art was selected before read (default ':')\n" "# kill_level must be set accordingly, _ is turned into ' '\n" msgstr "" -#: src/lang.c:1595 +#: src/lang.c:1794 msgid "Enter maximum length of newsgroup names displayed. sets." msgstr "" -#: src/lang.c:1596 +#: src/lang.c:1795 msgid "Max. length of group names shown" msgstr "" -#: src/lang.c:1597 +#: src/lang.c:1796 msgid "# Maximum length of the names of newsgroups displayed\n" msgstr "" -#: src/lang.c:1602 +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "" + +#: src/lang.c:1802 +msgid "" +"# If ON abbreviate (if necessary) long newsgroup names at group selection\n" +"# level and article level like this:\n" +"# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "" + +#: src/lang.c:1809 msgid "Show lines/score in listings" msgstr "" -#: src/lang.c:1603 +#: src/lang.c:1810 msgid "" -"# What informations should be displayed in article/thread listing\n" +"# What information should be displayed in article/thread listing\n" "# Possible values are (the default is marked with *):\n" "# 0 = nothing\n" "# * 1 = lines\n" @@ -4682,17 +5459,17 @@ msgid "" "# 3 = lines & score\n" msgstr "" -#: src/lang.c:1612 +#: src/lang.c:1819 msgid "" "0 = full page scrolling, -1 = show previous last line as first on next page, " "-2 = half page" msgstr "" -#: src/lang.c:1613 +#: src/lang.c:1820 msgid "Number of lines to scroll in pager" msgstr "" -#: src/lang.c:1614 +#: src/lang.c:1821 msgid "" "# Number of lines that cursor-up/down will scroll in article pager\n" "# Possible values are (the default is marked with *):\n" @@ -4703,28 +5480,28 @@ msgid "" "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" msgstr "" -#: src/lang.c:1624 +#: src/lang.c:1831 msgid "Display signatures. toggles & sets." msgstr "" -#: src/lang.c:1625 +#: src/lang.c:1832 msgid "Display signatures" msgstr "" -#: src/lang.c:1626 +#: src/lang.c:1833 msgid "# If OFF don't show signatures when displaying articles\n" msgstr "" -#: src/lang.c:1630 +#: src/lang.c:1837 msgid "" "Display uuencoded data as tagged attachments. toggles & sets." msgstr "" -#: src/lang.c:1631 +#: src/lang.c:1838 msgid "Display uue data as an attachment" msgstr "" -#: src/lang.c:1632 +#: src/lang.c:1839 msgid "" "# Handling of uuencoded data in the pager\n" "# Possible values are (the default is marked with *):\n" @@ -4736,30 +5513,30 @@ msgid "" "# be folded into a tag line.\n" msgstr "" -#: src/lang.c:1642 +#: src/lang.c:1849 msgid "" "Decode German style TeX umlaut codes to ISO. toggles & sets." msgstr "" -#: src/lang.c:1643 +#: src/lang.c:1850 msgid "Display \"a as Umlaut-a" msgstr "" -#: src/lang.c:1644 +#: src/lang.c:1851 msgid "" "# If ON decode German style TeX umlaut codes to ISO and\n" "# show \"a as Umlaut-a, etc.\n" msgstr "" -#: src/lang.c:1649 src/lang.c:1659 +#: src/lang.c:1856 src/lang.c:1866 msgid "Space separated list of header fields" msgstr "" -#: src/lang.c:1650 +#: src/lang.c:1857 msgid "Display these header fields (or *)" msgstr "" -#: src/lang.c:1651 +#: src/lang.c:1858 msgid "" "# Which news headers you wish to see. If you want to see _all_ the headers,\n" "# place an '*' as this value. This is the only way a wildcard can be used.\n" @@ -4769,11 +5546,11 @@ msgid "" "# spaces. Not defining anything turns off this option.\n" msgstr "" -#: src/lang.c:1660 +#: src/lang.c:1867 msgid "Do not display these header fields" msgstr "" -#: src/lang.c:1661 +#: src/lang.c:1868 msgid "" "# Same as 'news_headers_to_display' except it denotes the opposite.\n" "# An example of using both options might be if you thought X- headers were\n" @@ -4785,163 +5562,203 @@ msgid "" "# Not defining anything turns off this option.\n" msgstr "" -#: src/lang.c:1671 +#: src/lang.c:1878 msgid "" "Do you want to enable automatic handling of multipart/alternative articles?" msgstr "" -#: src/lang.c:1672 +#: src/lang.c:1879 msgid "Skip multipart/alternative parts" msgstr "" -#: src/lang.c:1673 +#: src/lang.c:1880 msgid "# If ON strip multipart/alternative messages automatically\n" msgstr "" -#: src/lang.c:1678 +#: src/lang.c:1884 +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "" + +#: src/lang.c:1885 +msgid "Detection of verbatim blocks" +msgstr "" + +#: src/lang.c:1886 +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "" + +#: src/lang.c:1891 msgid "A regex used to decide which lines to show in col_quote." msgstr "" -#: src/lang.c:1679 +#: src/lang.c:1892 msgid "Regex used to show quoted lines" msgstr "" -#: src/lang.c:1680 +#: src/lang.c:1893 msgid "" "# A regular expression that tin will use to decide which lines are\n" "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" "# If you leave this blank, tin will use a built in default.\n" msgstr "" -#: src/lang.c:1686 +#: src/lang.c:1899 msgid "A regex used to decide which lines to show in col_quote2." msgstr "" -#: src/lang.c:1687 +#: src/lang.c:1900 msgid "Regex used to show twice quoted l." msgstr "" -#: src/lang.c:1688 +#: src/lang.c:1901 msgid "" "# A regular expression that tin will use to decide which lines are\n" "# quoted twice. Twice quoted lines are shown in col_quote2.\n" "# If you leave this blank, tin will use a built in default.\n" msgstr "" -#: src/lang.c:1694 +#: src/lang.c:1907 msgid "A regex used to decide which lines to show in col_quote3." msgstr "" -#: src/lang.c:1695 +#: src/lang.c:1908 msgid "Regex used to show >= 3 times q.l." msgstr "" -#: src/lang.c:1696 +#: src/lang.c:1909 msgid "" "# A regular expression that tin will use to decide which lines are\n" "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" "# If you leave this blank, tin will use a built in default.\n" msgstr "" -#: src/lang.c:1703 +#: src/lang.c:1916 msgid "A regex used to decide which words to show in col_markslashes." msgstr "" -#: src/lang.c:1704 +#: src/lang.c:1917 msgid "Regex used to highlight /slashes/" msgstr "" -#: src/lang.c:1705 +#: src/lang.c:1918 msgid "" "# A regular expression that tin will use to decide which words\n" "# bounded by '/' are to be shown in col_markslashes.\n" "# If you leave this blank, tin will use a built in default.\n" msgstr "" -#: src/lang.c:1711 +#: src/lang.c:1924 msgid "A regex used to decide which words to show in col_markstars." msgstr "" -#: src/lang.c:1712 +#: src/lang.c:1925 msgid "Regex used to highlight *stars*" msgstr "" -#: src/lang.c:1713 +#: src/lang.c:1926 msgid "" "# A regular expression that tin will use to decide which words\n" "# bounded by '*' are to be shown in col_markstars.\n" "# If you leave this blank, tin will use a built in default.\n" msgstr "" -#: src/lang.c:1719 +#: src/lang.c:1932 msgid "A regex used to decide which words to show in col_markstroke." msgstr "" -#: src/lang.c:1720 +#: src/lang.c:1933 msgid "Regex used to highlight -strokes-" msgstr "" -#: src/lang.c:1721 +#: src/lang.c:1934 msgid "" "# A regular expression that tin will use to decide which words\n" "# bounded by '-' are to be shown in col_markstroke.\n" "# If you leave this blank, tin will use a built in default.\n" msgstr "" -#: src/lang.c:1727 +#: src/lang.c:1940 msgid "A regex used to decide which words to show in col_markdash." msgstr "" -#: src/lang.c:1728 +#: src/lang.c:1941 msgid "Regex used to highlight _underline_" msgstr "" -#: src/lang.c:1729 +#: src/lang.c:1942 msgid "" "# A regular expression that tin will use to decide which words\n" "# bounded by '_' are to be shown in col_markdash.\n" "# If you leave this blank, tin will use a built in default.\n" msgstr "" -#: src/lang.c:1735 +#: src/lang.c:1948 msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." msgstr "" -#: src/lang.c:1736 -msgid "Regex with Subject prefixes" +#: src/lang.c:1949 +msgid "Regex with Subject prefixes" +msgstr "" + +#: src/lang.c:1950 +msgid "" +"# A regular expression that tin will use to find Subject prefixes\n" +"# which will be removed before showing the header.\n" +msgstr "" + +#: src/lang.c:1955 +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "" + +#: src/lang.c:1956 +msgid "Regex with Subject suffixes" +msgstr "" + +#: src/lang.c:1957 +msgid "" +"# A regular expression that tin will use to find Subject suffixes\n" +"# which will be removed when replying or posting followup.\n" +msgstr "" + +#: src/lang.c:1962 +msgid "A regex used to find the begin of a verbatim block." +msgstr "" + +#: src/lang.c:1963 +msgid "Regex for begin of a verbatim block" msgstr "" -#: src/lang.c:1737 +#: src/lang.c:1964 msgid "" -"# A regular expression that tin will use to find Subject prefixes\n" -"# which will be removed before showing the header.\n" +"# A regular expression that tin will use to find the begin of\n" +"# a verbatim block.\n" msgstr "" -#: src/lang.c:1742 -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +#: src/lang.c:1969 +msgid "A regex used to find the end of a verbatim block." msgstr "" -#: src/lang.c:1743 -msgid "Regex with Subject suffixes" +#: src/lang.c:1970 +msgid "Regex for end of a verbatim block" msgstr "" -#: src/lang.c:1744 +#: src/lang.c:1971 msgid "" -"# A regular expression that tin will use to find Subject suffixes\n" -"# which will be removed when replying or posting followup.\n" +"# A regular expression that tin will use to find the end of\n" +"# a verbatim block.\n" msgstr "" -#: src/lang.c:1749 +#: src/lang.c:1976 msgid "" "Enter name and options for external MIME viewer, --internal for built-in " "viewer" msgstr "" -#: src/lang.c:1750 +#: src/lang.c:1977 msgid "MIME binary content viewer" msgstr "" -#: src/lang.c:1751 +#: src/lang.c:1978 msgid "" "# If --internal automatically use the built in MIME viewer for non-text\n" "# parts of articles.\n" @@ -4950,125 +5767,125 @@ msgid "" "# for no automatic viewing\n" msgstr "" -#: src/lang.c:1758 +#: src/lang.c:1985 msgid "Confirm before starting non-text viewing program" msgstr "" -#: src/lang.c:1759 +#: src/lang.c:1986 msgid "Ask before using MIME viewer" msgstr "" -#: src/lang.c:1760 +#: src/lang.c:1987 msgid "" "# If ON tin will ask before using metamail to display MIME messages\n" "# this only happens if metamail_prog is set to something\n" msgstr "" -#: src/lang.c:1765 +#: src/lang.c:1992 msgid "Ask to mark groups read when quitting. toggles & sets." msgstr "" -#: src/lang.c:1766 +#: src/lang.c:1993 msgid "Catchup read groups when quitting" msgstr "" -#: src/lang.c:1767 +#: src/lang.c:1994 msgid "# If ON ask user if read groups should all be marked read\n" msgstr "" -#: src/lang.c:1772 +#: src/lang.c:1999 msgid "Catchup group using left key" msgstr "" -#: src/lang.c:1773 +#: src/lang.c:2000 msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" msgstr "" -#: src/lang.c:1778 +#: src/lang.c:2005 msgid "Catchup thread by using left key" msgstr "" -#: src/lang.c:1784 +#: src/lang.c:2011 msgid "Which actions require confirmation" msgstr "" -#: src/lang.c:1785 +#: src/lang.c:2012 msgid "# What should we ask confirmation for.\n" msgstr "" -#: src/lang.c:1790 -msgid "'Mark article read' ignores tags" +#: src/lang.c:2017 +msgid "'Mark as (un)read' ignores tags" msgstr "" -#: src/lang.c:1791 +#: src/lang.c:2018 msgid "" -"# If ON the 'Mark article read' function marks only the current article.\n" +"# If ON the 'Mark as (un)read' function marks only the current article.\n" msgstr "" -#: src/lang.c:1795 -msgid "Program to run to open URL's, sets, cancels." +#: src/lang.c:2022 +msgid "Program to run to open URLs, sets, cancels." msgstr "" -#: src/lang.c:1796 -msgid "Program that opens URL's" +#: src/lang.c:2023 +msgid "Program that opens URLs" msgstr "" -#: src/lang.c:1797 -msgid "# The program used to open URL's. The actual URL will be appended\n" +#: src/lang.c:2024 +msgid "# The program used to open URLs. The actual URL will be appended\n" msgstr "" -#: src/lang.c:1802 +#: src/lang.c:2029 msgid "Use mouse in xterm" msgstr "" -#: src/lang.c:1803 -msgid "# If ON enable mouse key support on xterm terminals\n" +#: src/lang.c:2030 +msgid "# If ON enable mouse button support on xterm terminals\n" msgstr "" -#: src/lang.c:1809 +#: src/lang.c:2036 msgid "Use scroll keys on keypad" msgstr "" -#: src/lang.c:1810 +#: src/lang.c:2037 msgid "# If ON enable scroll keys on terminals that support it\n" msgstr "" -#: src/lang.c:1815 +#: src/lang.c:2042 msgid "Enter maximum number of article to get. sets." msgstr "" -#: src/lang.c:1816 +#: src/lang.c:2043 msgid "Number of articles to get" msgstr "" -#: src/lang.c:1817 +#: src/lang.c:2044 msgid "" "# Number of articles to get (0=no limit), if negative sets maximum number\n" "# of already read articles to be read before first unread one\n" msgstr "" -#: src/lang.c:1822 +#: src/lang.c:2049 msgid "Enter number of days article is considered recent. sets." msgstr "" -#: src/lang.c:1823 +#: src/lang.c:2050 msgid "Article recentness time limit" msgstr "" -#: src/lang.c:1824 +#: src/lang.c:2051 msgid "# Number of days in which article is considered recent, (0=OFF)\n" msgstr "" -#: src/lang.c:1828 +#: src/lang.c:2055 msgid "" "WILDMAT for normal wildcards, REGEX for full regular expression matching." msgstr "" -#: src/lang.c:1829 +#: src/lang.c:2056 msgid "Wildcard matching" msgstr "" -#: src/lang.c:1830 +#: src/lang.c:2057 msgid "" "# Wildcard matching\n" "# Possible values are (the default is marked with *):\n" @@ -5076,307 +5893,317 @@ msgid "" "# 1 = regex\n" msgstr "" -#: src/lang.c:1837 +#: src/lang.c:2064 msgid "Enter minimal score before an article is marked killed. sets." msgstr "" -#: src/lang.c:1838 +#: src/lang.c:2065 msgid "Score limit (kill)" msgstr "" -#: src/lang.c:1839 +#: src/lang.c:2066 msgid "# Score limit before an article is marked killed\n" msgstr "" -#: src/lang.c:1843 +#: src/lang.c:2070 msgid "Enter default score to kill articles. sets." msgstr "" -#: src/lang.c:1844 +#: src/lang.c:2071 msgid "Default score to kill articles" msgstr "" -#: src/lang.c:1845 +#: src/lang.c:2072 msgid "# Default score to kill articles\n" msgstr "" -#: src/lang.c:1849 +#: src/lang.c:2076 msgid "Enter minimal score before an article is marked hot. sets." msgstr "" -#: src/lang.c:1850 +#: src/lang.c:2077 msgid "Score limit (select)" msgstr "" -#: src/lang.c:1851 +#: src/lang.c:2078 msgid "# Score limit before an article is marked hot\n" msgstr "" -#: src/lang.c:1855 +#: src/lang.c:2082 msgid "Enter default score to select articles. sets." msgstr "" -#: src/lang.c:1856 +#: src/lang.c:2083 msgid "Default score to select articles" msgstr "" -#: src/lang.c:1857 +#: src/lang.c:2084 msgid "# Default score to select articles\n" msgstr "" -#: src/lang.c:1863 +#: src/lang.c:2090 msgid "Use slrnface to show ''X-Face:''s" msgstr "" -#: src/lang.c:1864 +#: src/lang.c:2091 msgid "" "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" "# Only useful when running in an xterm.\n" msgstr "" -#: src/lang.c:1872 +#: src/lang.c:2099 msgid "Use ANSI color" msgstr "" -#: src/lang.c:1873 +#: src/lang.c:2100 msgid "# If ON using ANSI-color\n" msgstr "" -#: src/lang.c:1878 +#: src/lang.c:2105 msgid "Standard foreground color" msgstr "" -#: src/lang.c:1879 +#: src/lang.c:2106 msgid "" "# Standard foreground color\n" "# Default: -1 (default color)\n" msgstr "" -#: src/lang.c:1885 +#: src/lang.c:2112 msgid "Standard background color" msgstr "" -#: src/lang.c:1886 +#: src/lang.c:2113 msgid "" "# Standard background color\n" "# Default: -1 (default color)\n" msgstr "" -#: src/lang.c:1892 +#: src/lang.c:2119 msgid "Color for inverse text (background)" msgstr "" -#: src/lang.c:1893 +#: src/lang.c:2120 msgid "" "# Color of background for inverse text\n" "# Default: 4 (blue)\n" msgstr "" -#: src/lang.c:1899 +#: src/lang.c:2126 msgid "Color for inverse text (foreground)" msgstr "" -#: src/lang.c:1900 +#: src/lang.c:2127 msgid "" "# Color of foreground for inverse text\n" "# Default: 7 (white)\n" msgstr "" -#: src/lang.c:1906 +#: src/lang.c:2133 msgid "Color of text lines" msgstr "" -#: src/lang.c:1907 +#: src/lang.c:2134 msgid "" "# Color of text lines\n" "# Default: -1 (default color)\n" msgstr "" -#: src/lang.c:1913 +#: src/lang.c:2140 msgid "Color of mini help menu" msgstr "" -#: src/lang.c:1914 +#: src/lang.c:2141 msgid "" "# Color of mini help menu\n" "# Default: 3 (brown)\n" msgstr "" -#: src/lang.c:1920 +#: src/lang.c:2147 msgid "Color of help text" msgstr "" -#: src/lang.c:1921 +#: src/lang.c:2148 msgid "" "# Color of help pages\n" "# Default: -1 (default color)\n" msgstr "" -#: src/lang.c:1927 +#: src/lang.c:2154 msgid "Color of status messages" msgstr "" -#: src/lang.c:1928 +#: src/lang.c:2155 msgid "" "# Color of messages in last line\n" "# Default: 6 (cyan)\n" msgstr "" -#: src/lang.c:1934 +#: src/lang.c:2161 msgid "Color of quoted lines" msgstr "" -#: src/lang.c:1935 +#: src/lang.c:2162 msgid "" "# Color of quote-lines\n" "# Default: 2 (green)\n" msgstr "" -#: src/lang.c:1941 +#: src/lang.c:2168 msgid "Color of twice quoted line" msgstr "" -#: src/lang.c:1942 +#: src/lang.c:2169 msgid "" "# Color of twice quoted lines\n" "# Default: 3 (brown)\n" msgstr "" -#: src/lang.c:1948 +#: src/lang.c:2175 msgid "Color of =>3 times quoted line" msgstr "" -#: src/lang.c:1949 +#: src/lang.c:2176 msgid "" "# Color of >=3 times quoted lines\n" "# Default: 4 (blue)\n" msgstr "" -#: src/lang.c:1955 +#: src/lang.c:2182 msgid "Color of article header lines" msgstr "" -#: src/lang.c:1956 +#: src/lang.c:2183 msgid "" "# Color of header-lines\n" "# Default: 2 (green)\n" msgstr "" -#: src/lang.c:1962 +#: src/lang.c:2189 msgid "Color of actual news header fields" msgstr "" -#: src/lang.c:1963 +#: src/lang.c:2190 msgid "" "# Color of actual news header fields\n" "# Default: 9 (light red)\n" msgstr "" -#: src/lang.c:1969 +#: src/lang.c:2196 msgid "Color of article subject lines" msgstr "" -#: src/lang.c:1970 +#: src/lang.c:2197 msgid "" "# Color of article subject\n" "# Default: 6 (cyan)\n" msgstr "" -#: src/lang.c:1976 +#: src/lang.c:2203 msgid "Color of response counter" msgstr "" -#: src/lang.c:1977 +#: src/lang.c:2204 msgid "" "# Color of response counter\n" "# Default: 2 (green)\n" msgstr "" -#: src/lang.c:1983 +#: src/lang.c:2210 msgid "Color of sender (From:)" msgstr "" -#: src/lang.c:1984 +#: src/lang.c:2211 msgid "" "# Color of sender (From:)\n" "# Default: 2 (green)\n" msgstr "" -#: src/lang.c:1990 +#: src/lang.c:2217 msgid "Color of help/mail sign" msgstr "" -#: src/lang.c:1991 +#: src/lang.c:2218 msgid "" "# Color of Help/Mail-Sign\n" "# Default: 4 (blue)\n" msgstr "" -#: src/lang.c:1997 +#: src/lang.c:2224 msgid "Color of signatures" msgstr "" -#: src/lang.c:1998 +#: src/lang.c:2225 msgid "" "# Color of signature\n" "# Default: 4 (blue)\n" msgstr "" -#: src/lang.c:2004 +#: src/lang.c:2231 msgid "Color of highlighted URLs" msgstr "" -#: src/lang.c:2005 +#: src/lang.c:2232 msgid "" "# Color of highlighted URLs\n" "# Default: -1 (default color)\n" msgstr "" -#: src/lang.c:2011 +#: src/lang.c:2238 +msgid "Color of verbatim blocks" +msgstr "" + +#: src/lang.c:2239 +msgid "" +"# Color of verbatim blocks\n" +"# Default: 5 (pink)\n" +msgstr "" + +#: src/lang.c:2245 msgid "Color of highlighting with *stars*" msgstr "" -#: src/lang.c:2012 +#: src/lang.c:2246 msgid "" "# Color of word highlighting with *stars*\n" "# Default: 11 (yellow)\n" msgstr "" -#: src/lang.c:2018 +#: src/lang.c:2252 msgid "Color of highlighting with _dash_" msgstr "" -#: src/lang.c:2019 +#: src/lang.c:2253 msgid "" "# Color of word highlighting with _dash_\n" "# Default: 13 (light pink)\n" msgstr "" -#: src/lang.c:2025 +#: src/lang.c:2259 msgid "Color of highlighting with /slash/" msgstr "" -#: src/lang.c:2026 +#: src/lang.c:2260 msgid "" "# Color of word highlighting with /slash/\n" "# Default: 14 (light cyan)\n" msgstr "" -#: src/lang.c:2032 +#: src/lang.c:2266 msgid "Color of highlighting with -stroke-" msgstr "" -#: src/lang.c:2033 +#: src/lang.c:2267 msgid "" "# Color of word highlighting with -stroke-\n" "# Default: 12 (light blue)\n" msgstr "" -#: src/lang.c:2040 +#: src/lang.c:2274 msgid "Attr. of highlighting with *stars*" msgstr "" -#: src/lang.c:2041 +#: src/lang.c:2275 msgid "" "# Attributes of word highlighting on mono terminals\n" "# Possible values are:\n" @@ -5392,57 +6219,57 @@ msgid "" "# Default: 6 (bold)\n" msgstr "" -#: src/lang.c:2056 +#: src/lang.c:2290 msgid "Attr. of highlighting with _dash_" msgstr "" -#: src/lang.c:2057 +#: src/lang.c:2291 msgid "" "# Attribute of word highlighting with _dash_\n" "# Default: 2 (best highlighting)\n" msgstr "" -#: src/lang.c:2063 +#: src/lang.c:2297 msgid "Attr. of highlighting with /slash/" msgstr "" -#: src/lang.c:2064 +#: src/lang.c:2298 msgid "" "# Attribute of word highlighting with /slash/\n" "# Default: 5 (half bright)\n" msgstr "" -#: src/lang.c:2070 +#: src/lang.c:2304 msgid "Attr. of highlighting with -stroke-" msgstr "" -#: src/lang.c:2071 +#: src/lang.c:2305 msgid "" "# Attribute of word highlighting with -stroke-\n" "# Default: 3 (reverse video)\n" msgstr "" -#: src/lang.c:2077 +#: src/lang.c:2311 msgid "URL highlighting in message body" msgstr "" -#: src/lang.c:2078 +#: src/lang.c:2312 msgid "# Enable URL highlighting?\n" msgstr "" -#: src/lang.c:2083 +#: src/lang.c:2317 msgid "Word highlighting in message body" msgstr "" -#: src/lang.c:2084 +#: src/lang.c:2318 msgid "# Enable word highlighting?\n" msgstr "" -#: src/lang.c:2089 +#: src/lang.c:2323 msgid "What to display instead of mark" msgstr "" -#: src/lang.c:2090 +#: src/lang.c:2324 msgid "" "# Should the leading and ending stars and dashes also be displayed,\n" "# even when they are highlighting marks?\n" @@ -5452,110 +6279,109 @@ msgid "" "# * 2 = print a space instead\n" msgstr "" -#: src/lang.c:2099 +#: src/lang.c:2333 msgid "Enter column number to wrap article lines to in the pager. sets." msgstr "" -#: src/lang.c:2100 +#: src/lang.c:2334 msgid "Page line wrap column" msgstr "" -#: src/lang.c:2101 +#: src/lang.c:2335 msgid "# Wrap article lines at column\n" msgstr "" -#: src/lang.c:2106 +#: src/lang.c:2340 msgid "Wrap around threads on next unread" msgstr "" -#: src/lang.c:2107 +#: src/lang.c:2341 msgid "# If ON wrap around threads on searching next unread article\n" msgstr "" -#: src/lang.c:2111 +#: src/lang.c:2345 msgid "Enter default mail address (and fullname). sets." msgstr "" -#: src/lang.c:2112 +#: src/lang.c:2346 src/lang.c:2770 msgid "Mail address (and fullname)" msgstr "" -#: src/lang.c:2113 +#: src/lang.c:2347 msgid "# User's mail address (and fullname), if not username@host (fullname)\n" msgstr "" -#: src/lang.c:2118 +#: src/lang.c:2352 msgid "Show empty Followup-To in editor" msgstr "" -#: src/lang.c:2119 +#: src/lang.c:2353 msgid "# If ON show empty Followup-To header when editing an article\n" msgstr "" -#: src/lang.c:2123 +#: src/lang.c:2357 msgid "" "Enter path/! command/--none to create your default signature. sets." msgstr "" -#: src/lang.c:2124 +#: src/lang.c:2358 msgid "Create signature from path/command" msgstr "" -#: src/lang.c:2125 +#: src/lang.c:2359 msgid "" "# Signature path (random sigs)/file to be used when posting/replying\n" -"# default_sigfile=file appends file as signature\n" -"# default_sigfile=!command executes external command to generate a " -"signature\n" -"# default_sigfile=--none don't append a signature\n" +"# sigfile=file appends file as signature\n" +"# sigfile=!command executes external command to generate a signature\n" +"# sigfile=--none don't append a signature\n" msgstr "" -#: src/lang.c:2132 +#: src/lang.c:2366 msgid "" "Prepend signature with \"-- \" on own line. toggles & sets." msgstr "" -#: src/lang.c:2133 +#: src/lang.c:2367 msgid "Prepend signature with \"-- \"" msgstr "" -#: src/lang.c:2134 +#: src/lang.c:2368 msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" msgstr "" -#: src/lang.c:2138 +#: src/lang.c:2372 msgid "Add signature when reposting articles. toggles & sets." msgstr "" -#: src/lang.c:2139 +#: src/lang.c:2373 msgid "Add signature when reposting" msgstr "" -#: src/lang.c:2140 +#: src/lang.c:2374 msgid "# If ON add signature to reposted articles\n" msgstr "" -#: src/lang.c:2144 +#: src/lang.c:2378 #, c-format msgid "Enter quotation marks, %s or %S for author's initials." msgstr "" -#: src/lang.c:2145 +#: src/lang.c:2379 msgid "Characters used as quote-marks" msgstr "" -#: src/lang.c:2146 +#: src/lang.c:2380 #, c-format msgid "" "# Characters used in quoting to followups and replies.\n" "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" msgstr "" -#: src/lang.c:2152 +#: src/lang.c:2386 msgid "Quoting behavior" msgstr "" -#: src/lang.c:2153 +#: src/lang.c:2387 msgid "" "# How quoting should be handled when following up or replying.\n" "# Possible values are (the default is marked with *):\n" @@ -5569,16 +6395,16 @@ msgid "" "# 7 = Compress quotes, quote signatures, quote empty lines\n" msgstr "" -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 msgid "" "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" msgstr "" -#: src/lang.c:2167 +#: src/lang.c:2401 msgid "Quote line when following up" msgstr "" -#: src/lang.c:2168 +#: src/lang.c:2402 #, c-format msgid "" "# Format of quote line when mailing/posting/following-up an article\n" @@ -5586,36 +6412,36 @@ msgid "" "# %%N Full Name %%C First Name %%I Initials\n" msgstr "" -#: src/lang.c:2175 +#: src/lang.c:2409 msgid "Quote line when cross-posting" msgstr "" -#: src/lang.c:2181 +#: src/lang.c:2415 msgid "Quote line when mailing" msgstr "" -#: src/lang.c:2186 +#: src/lang.c:2420 msgid "If ON, include User-Agent: header. toggles & sets." msgstr "" -#: src/lang.c:2187 -msgid "Insert 'User-Agent:'-header" +#: src/lang.c:2421 +msgid "Insert 'User-Agent:' header" msgstr "" -#: src/lang.c:2188 +#: src/lang.c:2422 msgid "# If ON include advertising User-Agent: header\n" msgstr "" -#: src/lang.c:2193 +#: src/lang.c:2427 msgid "" "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." msgstr "" -#: src/lang.c:2194 +#: src/lang.c:2428 msgid "MM_CHARSET" msgstr "" -#: src/lang.c:2195 +#: src/lang.c:2429 msgid "" "# Charset supported locally which is also used for MIME header and\n" "# Content-Type header.\n" @@ -5625,27 +6451,40 @@ msgid "" "# mm_charset is considered not displayable and represented as '?'.\n" msgstr "" -#: src/lang.c:2205 +#: src/lang.c:2439 msgid "MM_NETWORK_CHARSET" msgstr "" -#: src/lang.c:2206 +#: src/lang.c:2440 msgid "# Charset used for MIME (Content-Type) header in postings.\n" msgstr "" -#: src/lang.c:2212 +#: src/lang.c:2444 +msgid "" +"Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "" + +#: src/lang.c:2445 +msgid "MM_LOCAL_CHARSET" +msgstr "" + +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "" + +#: src/lang.c:2453 msgid "Mailbox format" msgstr "" -#: src/lang.c:2213 +#: src/lang.c:2454 msgid "# Format of the mailbox.\n" msgstr "" -#: src/lang.c:2218 +#: src/lang.c:2459 msgid "MIME encoding in news messages" msgstr "" -#: src/lang.c:2219 +#: src/lang.c:2460 msgid "" "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" "# for mails and posts, if necessary. QP is efficient for most European\n" @@ -5654,15 +6493,15 @@ msgid "" "# Russian charsets with a lot of 8bit characters.\n" msgstr "" -#: src/lang.c:2227 src/lang.c:2248 +#: src/lang.c:2468 src/lang.c:2489 msgid "Don't change unless you know what you are doing. cancels." msgstr "" -#: src/lang.c:2228 +#: src/lang.c:2469 msgid "Use 8bit characters in news headers" msgstr "" -#: src/lang.c:2229 +#: src/lang.c:2470 msgid "" "# If ON, 8bit characters in news headers are NOT encoded.\n" "# default is OFF. Thus 8bit characters are encoded by default.\n" @@ -5670,28 +6509,28 @@ msgid "" "# parameter unless post_mime_encoding is 8bit as well.\n" msgstr "" -#: src/lang.c:2236 +#: src/lang.c:2477 msgid "" "Auto-view post-processed files toggles, sets, cancels." msgstr "" -#: src/lang.c:2237 +#: src/lang.c:2478 msgid "View post-processed files" msgstr "" -#: src/lang.c:2238 +#: src/lang.c:2479 msgid "# If set, post processed files will be opened in a viewer\n" msgstr "" -#: src/lang.c:2243 +#: src/lang.c:2484 msgid "MIME encoding in mail messages" msgstr "" -#: src/lang.c:2249 +#: src/lang.c:2490 msgid "Use 8bit characters in mail headers" msgstr "" -#: src/lang.c:2250 +#: src/lang.c:2491 msgid "" "# If ON, 8bit characters in mail headers are NOT encoded.\n" "# default is OFF. Thus 8bit characters are encoded by default.\n" @@ -5702,173 +6541,158 @@ msgid "" "# turn it ON unless you have some compelling reason.\n" msgstr "" -#: src/lang.c:2260 +#: src/lang.c:2501 msgid "Strip blanks from ends of lines" msgstr "" -#: src/lang.c:2261 +#: src/lang.c:2502 msgid "" "# If ON strip blanks from ends of lines for faster display on slow " "terminals.\n" msgstr "" -#: src/lang.c:2266 +#: src/lang.c:2507 msgid "If ON, use transliteration. toggles & sets." msgstr "" -#: src/lang.c:2267 +#: src/lang.c:2508 msgid "Transliteration" msgstr "" -#: src/lang.c:2268 +#: src/lang.c:2509 msgid "" "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" "# be represented in the in the target character set, it can be approximated\n" "# through one or several similarly looking characters.\n" msgstr "" -#: src/lang.c:2275 -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "" - -#: src/lang.c:2276 -msgid "Send you a cc automatically" -msgstr "" - -#: src/lang.c:2277 -msgid "" -"# If ON automatically put your name in the Cc: field when mailing an " -"article\n" -msgstr "" - -#: src/lang.c:2281 -msgid "" -"Send you a blind carbon copy automatically. toggles & sets." -msgstr "" - -#: src/lang.c:2282 -msgid "Send you a blind cc automatically" +#: src/lang.c:2517 +msgid "Send you a Cc/Bcc automatically" msgstr "" -#: src/lang.c:2283 +#: src/lang.c:2518 msgid "" -"# If ON automatically put your name in the Bcc: field when mailing an " -"article\n" +"# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" +"# Possible values are (the default is marked with *):\n" +"# * 0 = No\n" +"# 1 = Cc\n" +"# 2 = Bcc\n" +"# 3 = Cc and Bcc\n" msgstr "" -#: src/lang.c:2287 +#: src/lang.c:2527 msgid "Enter address elements about which you want to be warned. sets." msgstr "" -#: src/lang.c:2288 +#: src/lang.c:2528 msgid "Spamtrap warning address parts" msgstr "" -#: src/lang.c:2289 +#: src/lang.c:2529 msgid "" "# A comma-delimited list of address-parts you want to be warned\n" "# about when trying to reply by email.\n" msgstr "" -#: src/lang.c:2294 +#: src/lang.c:2534 msgid "Enter default number of days a filter entry will be valid. sets." msgstr "" -#: src/lang.c:2295 +#: src/lang.c:2535 msgid "No. of days a filter entry is valid" msgstr "" -#: src/lang.c:2296 +#: src/lang.c:2536 msgid "# Number of days a short term filter will be active\n" msgstr "" -#: src/lang.c:2300 +#: src/lang.c:2540 msgid "Add posted articles to filter. toggles & sets." msgstr "" -#: src/lang.c:2301 +#: src/lang.c:2541 msgid "Add posted articles to filter" msgstr "" -#: src/lang.c:2302 +#: src/lang.c:2542 msgid "" "# If ON add posted articles which start a new thread to filter for\n" "# highlighting follow-ups\n" msgstr "" -#: src/lang.c:2306 +#: src/lang.c:2546 msgid "The directory where articles/threads are to be saved in mailbox format." msgstr "" -#: src/lang.c:2307 +#: src/lang.c:2547 msgid "Mail directory" msgstr "" -#: src/lang.c:2308 +#: src/lang.c:2548 msgid "# (-m) directory where articles/threads are saved in mailbox format\n" msgstr "" -#: src/lang.c:2313 +#: src/lang.c:2553 msgid "Save articles in batch mode (-S)" msgstr "" -#: src/lang.c:2314 +#: src/lang.c:2554 msgid "" "# If ON articles/threads will be saved in batch mode when save -S\n" "# or mail (-M/-N) is specified on the command line\n" msgstr "" -#: src/lang.c:2319 +#: src/lang.c:2559 msgid "The directory where you want articles/threads saved." msgstr "" -#: src/lang.c:2320 +#: src/lang.c:2560 msgid "Directory to save arts/threads in" msgstr "" -#: src/lang.c:2321 +#: src/lang.c:2561 msgid "# Directory where articles/threads are saved\n" msgstr "" -#: src/lang.c:2325 +#: src/lang.c:2565 msgid "" "Auto save article/thread by Archive-name: header. toggles & " "sets." msgstr "" -#: src/lang.c:2326 +#: src/lang.c:2566 msgid "Use Archive-name: header for save" msgstr "" -#: src/lang.c:2327 +#: src/lang.c:2567 msgid "" "# If ON articles/threads with Archive-name: in mail header will\n" "# be automatically saved with the Archive-name & part/patch no.\n" msgstr "" -#: src/lang.c:2332 +#: src/lang.c:2572 msgid "" "Mark saved articles/threads as read. toggles, sets, " "cancels." msgstr "" -#: src/lang.c:2333 +#: src/lang.c:2573 msgid "Mark saved articles/threads as read" msgstr "" -#: src/lang.c:2334 +#: src/lang.c:2574 msgid "# If ON mark articles that are saved as read\n" msgstr "" -#: src/lang.c:2338 +#: src/lang.c:2578 msgid "Do post processing (eg. extract attachments) for saved articles." msgstr "" -#: src/lang.c:2339 +#: src/lang.c:2579 msgid "Post process saved articles" msgstr "" -#: src/lang.c:2340 +#: src/lang.c:2580 msgid "" "# Perform post processing (saving binary attachments) from saved articles.\n" "# Possible values are (the default is marked with *):\n" @@ -5877,107 +6701,107 @@ msgid "" "# 2 = yes\n" msgstr "" -#: src/lang.c:2349 +#: src/lang.c:2589 msgid "Process only unread articles" msgstr "" -#: src/lang.c:2350 +#: src/lang.c:2590 msgid "" "# If ON only save/print/pipe/mail unread articles (tagged articles " "excepted)\n" msgstr "" -#: src/lang.c:2355 +#: src/lang.c:2595 msgid "Print all or just part of header. toggles & sets." msgstr "" -#: src/lang.c:2356 +#: src/lang.c:2596 msgid "Print all headers when printing" msgstr "" -#: src/lang.c:2357 +#: src/lang.c:2597 msgid "" "# If ON print all of article header otherwise just the important lines\n" msgstr "" -#: src/lang.c:2361 +#: src/lang.c:2601 msgid "" "The printer program with options that is to be used to print articles/" "threads." msgstr "" -#: src/lang.c:2362 +#: src/lang.c:2602 msgid "Printer program with options" msgstr "" -#: src/lang.c:2363 +#: src/lang.c:2603 msgid "# Print program with parameters used to print articles/threads\n" msgstr "" -#: src/lang.c:2369 +#: src/lang.c:2609 msgid "Force redraw after certain commands" msgstr "" -#: src/lang.c:2370 +#: src/lang.c:2610 msgid "" "# If ON a screen redraw will always be done after certain external commands\n" msgstr "" -#: src/lang.c:2374 +#: src/lang.c:2614 msgid "" "Start editor with line offset. toggles, sets, cancels." msgstr "" -#: src/lang.c:2375 +#: src/lang.c:2615 msgid "Start editor with line offset" msgstr "" -#: src/lang.c:2376 +#: src/lang.c:2616 msgid "" "# If ON editor will be started with cursor offset into the file\n" "# otherwise the cursor will be positioned at the first line\n" msgstr "" -#: src/lang.c:2381 +#: src/lang.c:2621 msgid "Enter %E for editor, %F for filename, %N for line-number, to set." msgstr "" -#: src/lang.c:2382 +#: src/lang.c:2622 msgid "Invocation of your editor" msgstr "" -#: src/lang.c:2383 +#: src/lang.c:2623 #, c-format msgid "" "# Format of editor line including parameters\n" "# %%E Editor %%F Filename %%N Linenumber\n" msgstr "" -#: src/lang.c:2388 +#: src/lang.c:2628 msgid "" "Enter name and options for external-inews, --internal for internal inews" msgstr "" -#: src/lang.c:2389 +#: src/lang.c:2629 msgid "External inews" msgstr "" -#: src/lang.c:2390 +#: src/lang.c:2630 msgid "" "# If --internal use the built in mini inews for posting via NNTP\n" "# otherwise use an external inews program\n" msgstr "" -#: src/lang.c:2394 +#: src/lang.c:2634 msgid "" "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." msgstr "" -#: src/lang.c:2395 +#: src/lang.c:2635 msgid "Invocation of your mail command" msgstr "" -#: src/lang.c:2396 +#: src/lang.c:2636 #, c-format msgid "" "# Format of mailer line including parameters\n" @@ -5986,11 +6810,11 @@ msgid "" "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" msgstr "" -#: src/lang.c:2404 +#: src/lang.c:2644 msgid "Use interactive mail reader" msgstr "" -#: src/lang.c:2405 +#: src/lang.c:2645 msgid "" "# Interactive mailreader\n" "# Possible values are (the default is marked with *):\n" @@ -5999,58 +6823,67 @@ msgid "" "# 2 = use interactive mailreader without headers in file\n" msgstr "" -#: src/lang.c:2414 +#: src/lang.c:2654 msgid "Remove ~/.article after posting" msgstr "" -#: src/lang.c:2415 +#: src/lang.c:2655 msgid "# If ON remove ~/.article after posting.\n" msgstr "" -#: src/lang.c:2419 +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" + +#: src/lang.c:2662 +msgid "" +"# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" + +#: src/lang.c:2667 msgid "Filename for all posted articles, sets, no filename=do not save." msgstr "" -#: src/lang.c:2420 +#: src/lang.c:2668 msgid "Filename for posted articles" msgstr "" -#: src/lang.c:2421 +#: src/lang.c:2669 msgid "" "# Filename where to keep all postings (default posted)\n" "# If no filename is set then postings will not be saved\n" msgstr "" -#: src/lang.c:2426 +#: src/lang.c:2674 msgid "" "Keep all failed articles in ~/dead.articles. toggles & sets." msgstr "" -#: src/lang.c:2427 +#: src/lang.c:2675 msgid "Keep failed arts in ~/dead.articles" msgstr "" -#: src/lang.c:2428 +#: src/lang.c:2676 msgid "# If ON keep all failed postings in ~/dead.articles\n" msgstr "" -#: src/lang.c:2432 +#: src/lang.c:2680 msgid "Do you want to strip unsubscribed groups from .newsrc" msgstr "" -#: src/lang.c:2433 +#: src/lang.c:2681 msgid "No unsubscribed groups in newsrc" msgstr "" -#: src/lang.c:2434 +#: src/lang.c:2682 msgid "# If ON strip unsubscribed groups from newsrc\n" msgstr "" -#: src/lang.c:2439 +#: src/lang.c:2687 msgid "Remove bogus groups from newsrc" msgstr "" -#: src/lang.c:2440 +#: src/lang.c:2688 msgid "" "# What to do with bogus groups in newsrc file\n" "# Possible values are (the default is marked with *):\n" @@ -6059,58 +6892,58 @@ msgid "" "# 2 = highlight with D on selection screen\n" msgstr "" -#: src/lang.c:2448 +#: src/lang.c:2696 msgid "Enter number of seconds until active file will be reread. sets." msgstr "" -#: src/lang.c:2449 +#: src/lang.c:2697 msgid "Interval in secs to reread active" msgstr "" -#: src/lang.c:2450 +#: src/lang.c:2698 msgid "" "# Time interval in seconds between rereading the active file (0=never)\n" msgstr "" -#: src/lang.c:2455 +#: src/lang.c:2703 msgid "Reconnect to server automatically" msgstr "" -#: src/lang.c:2456 +#: src/lang.c:2704 msgid "" "# If ON automatically reconnect to NNTP server if the connection is broken\n" msgstr "" -#: src/lang.c:2460 +#: src/lang.c:2708 msgid "" "Create local copies of NNTP overview files. toggles & sets." msgstr "" -#: src/lang.c:2461 +#: src/lang.c:2709 msgid "Cache NNTP overview files locally" msgstr "" -#: src/lang.c:2462 +#: src/lang.c:2710 msgid "# If ON, create local copies of NNTP overview files.\n" msgstr "" -#: src/lang.c:2466 +#: src/lang.c:2714 msgid "Enter format string. sets, cancels." msgstr "" -#: src/lang.c:2467 +#: src/lang.c:2715 msgid "Format string for display of dates" msgstr "" -#: src/lang.c:2468 +#: src/lang.c:2716 msgid "# Format string for date representation\n" msgstr "" -#: src/lang.c:2474 +#: src/lang.c:2722 msgid "Unicode normalization form" msgstr "" -#: src/lang.c:2475 +#: src/lang.c:2723 msgid "" "# Unicode normalization form\n" "# Possible values are (the default is marked with *):\n" @@ -6121,111 +6954,263 @@ msgid "" "# 4 = NFD\n" msgstr "" -#: src/lang.c:2487 +#: src/lang.c:2735 msgid "Render BiDi" msgstr "" -#: src/lang.c:2488 +#: src/lang.c:2736 msgid "# If ON, bi-directional text is rendered by tin\n" msgstr "" -#: src/misc.c:3750 +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "" + +#: src/lang.c:2752 +msgid "Delete post-process files" +msgstr "" + +#: src/lang.c:2757 +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "" + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "" + +#: src/lang.c:2763 +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "" + +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "" + +#: src/lang.c:2769 +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "" + +#: src/lang.c:2776 +msgid "" +"Path and options for ispell-like spell-checker. sets, cancels." +msgstr "" + +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "" + +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "" + +#: src/lang.c:2784 +msgid "Mailing list address" +msgstr "" + +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "" + +#: src/lang.c:2795 +msgid "" +"A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "" + +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "" + +#: src/lang.c:2801 +msgid "Value of the Organization: header. sets, cancels." +msgstr "" + +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "" + +#: src/lang.c:2807 +msgid "Filename for saved articles. sets, cancels." +msgstr "" + +#: src/lang.c:2808 +msgid "savefile" +msgstr "" + +#: src/lang.c:2813 src/lang.c:2837 +msgid "Scope for the filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2814 +msgid "Quick (1 key) select filter scope" +msgstr "" + +#: src/lang.c:2819 src/lang.c:2843 +msgid "Header for filter rule. sets, cancels." +msgstr "" + +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" + +#: src/lang.c:2825 src/lang.c:2849 +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "" + +#: src/lang.c:2826 +msgid "Quick (1 key) select filter case" +msgstr "" + +#: src/lang.c:2831 src/lang.c:2855 +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "" + +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" + +#: src/lang.c:2838 +msgid "Quick (1 key) kill filter scope" +msgstr "" + +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" + +#: src/lang.c:2850 +msgid "Quick (1 key) kill filter case" +msgstr "" + +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" + +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "" + +#: src/lang.c:2863 +msgid "UNDECLARED_CHARSET" +msgstr "" + +#: src/lang.c:2869 +msgid "" +"Add this text at the start of the message body. sets, cancels." +msgstr "" + +#: src/lang.c:2870 +msgid "X_Body" +msgstr "" + +#: src/lang.c:2875 +msgid "Insert this header when posting. sets, cancels." +msgstr "" + +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "" + +#: src/lang.c:2881 +msgid "" +"Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "" + +#: src/lang.c:2882 +msgid "Insert 'X-Comment-To:' header" +msgstr "" + +#: src/misc.c:3754 #, c-format msgid "Version: %s %s release %s (\"%s\") %s %s\n" msgstr "" -#: src/misc.c:3753 +#: src/misc.c:3757 #, c-format msgid "Version: %s %s release %s (\"%s\")\n" msgstr "" -#: src/newsrc.c:430 +#: src/newsrc.c:453 msgid "Unreachable?\n" msgstr "" -#: src/nntplib.c:824 +#: src/nntplib.c:819 #, c-format msgid "" "\n" "Server timed out, trying reconnect # %d\n" msgstr "" -#: src/nntplib.c:842 src/nntplib.c:1630 +#: src/nntplib.c:855 src/nntplib.c:1830 msgid "Rejoin current group\n" msgstr "" -#: src/nntplib.c:849 src/nntplib.c:1637 +#: src/nntplib.c:863 src/nntplib.c:1838 #, c-format msgid "Read (%s)\n" msgstr "" -#: src/nntplib.c:851 +#: src/nntplib.c:865 #, c-format msgid "Resend last command (%s)\n" msgstr "" -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "" + +#: src/nntplib.c:1979 msgid "MOTD: " msgstr "" -#: src/nrctbl.c:170 +#: src/nrctbl.c:175 #, c-format msgid "couldn't expand %s\n" msgstr "" -#: src/post.c:1171 +#: src/post.c:1307 #, c-format msgid "" "Line %d is longer than 998 octets and should be folded, but\n" "encoding is neither set to %s nor to %s\n" msgstr "" -#: src/post.c:1176 +#: src/post.c:1312 #, c-format msgid "" -"Line %d is longer than 998 octets, and should be folded, but\n" +"Line %d is longer than 998 octets and should be folded, but\n" "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" "posting doesn't contain any 8bit chars and thus folding won't happen\n" msgstr "" -#: src/post.c:1178 +#: src/post.c:1314 #, c-format msgid "" -"Line %d is longer than 998 octets, and should be folded, but\n" +"Line %d is longer than 998 octets and should be folded, but\n" "encoding is not set to %s\n" msgstr "" -#: src/post.c:1993 +#: src/post.c:2278 #, c-format msgid "Posting: %.*s ..." msgstr "" #. Check if okay to read -#: src/read.c:211 +#: src/read.c:197 msgid "Aborting read, please wait..." msgstr "" -#: src/read.c:358 +#: src/read.c:344 msgid "Aborted read\n" msgstr "" -#: src/read.c:414 +#: src/read.c:399 msgid "Draining\n" msgstr "" -#. Don't hash the initial '<' -#: src/refs.c:251 +#: src/refs.c:232 msgid "unchanged" msgstr "" -#: src/refs.c:609 +#: src/refs.c:599 msgid "[- Unavailable -]" msgstr "" @@ -6233,7 +7218,7 @@ msgstr "" #. * preamble #. * TODO: -> lang.c #. -#: src/rfc2047.c:1201 +#: src/rfc2047.c:1287 #, c-format msgid "" "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" @@ -6243,34 +7228,37 @@ msgid "" "\n" msgstr "" -#: src/save.c:972 +#: src/save.c:1045 msgid "bytes" msgstr "" -#: src/select.c:379 +#: src/select.c:378 msgid "unread" msgstr "" -#: src/select.c:379 +#: src/select.c:378 msgid "all" msgstr "" -#: src/select.c:549 src/select.c:551 +#: src/select.c:554 src/select.c:556 msgid " R" msgstr "" -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 +#: src/xface.c:70 +msgid "Can't run slrnface: Not running in a xterm." +msgstr "" + +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 #, c-format msgid "Can't run slrnface: Environment variable %s not found." msgstr "" -#: src/xface.c:99 src/xface.c:131 +#: src/xface.c:111 src/xface.c:143 #, c-format msgid "Can't run slrnface: failed to create %s" msgstr "" -#: src/xface.c:109 +#: src/xface.c:121 msgid "" "This directory is used to create named pipes for communication between\n" "slrnface and its parent process. It should normally be empty because\n" @@ -6284,16 +7272,16 @@ msgid "" "Do not try to remove them.\n" msgstr "" -#: src/xface.c:123 +#: src/xface.c:135 msgid "Can't run slrnface: couldn't construct fifo name." msgstr "" -#: src/xface.c:162 +#: src/xface.c:174 #, c-format msgid "Slrnface abnormally exited, code %d." msgstr "" -#: src/xface.c:206 +#: src/xface.c:218 #, c-format msgid "Slrnface failed: %s." msgstr "" Binary files tin-1.8.3/po/tr.gmo and tin-2.0.0/po/tr.gmo differ diff -Nurp --exclude='.bzr*' tin-1.8.3/po/tr.po tin-2.0.0/po/tr.po --- tin-1.8.3/po/tr.po 2007-02-01 13:58:05.000000000 +0100 +++ tin-2.0.0/po/tr.po 2011-08-22 18:32:43.163545773 +0200 @@ -4,7258 +4,8379 @@ # Ali Ibraimi , 2005. # Özge Sevinç , 2005. # -msgid "" -msgstr "Project-Id-Version: tin 1.7.7\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2007-02-01 13:57+0100\n" - "PO-Revision-Date: 2005-03-06 09:25+0200\n" - "Last-Translator: Þebnem Korkmaz \n" - "Language-Team: Turkish \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=ISO-8859-9\n" - "Content-Transfer-Encoding: 8bit\n" +msgid "" +msgstr "Project-Id-Version: tin 1.7.7\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2011-08-22 18:32+0200\n" + "PO-Revision-Date: 2005-03-06 09:25+0200\n" + "Last-Translator: Þebnem Korkmaz \n" + "Language-Team: Turkish \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=ISO-8859-9\n" + "Content-Transfer-Encoding: 8bit\n" -#: src/art.c:1534 +#. No active scope set yet +#. TODO: include full line in error-message +#: src/attrib.c:598 #, c-format -msgid "%d Bad overview record (%d fields) '%s'" -msgstr "" +msgid "attribute with no scope: %s" +msgstr "" -#: src/attrib.c:649 +#: src/attrib.c:884 +#, fuzzy +msgid "Processing attributes... " +msgstr "Öznitelikler dosylasýný yazýyor..." + +#: src/attrib.c:1102 +#, c-format +msgid "# Do not edit this comment block\n" + "#\n" +msgstr "# Bu açýklama bloðunu düzenlemeyin\n" + "#\n" + +#: src/attrib.c:1103 +#, fuzzy, c-format +msgid "# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n" +msgstr "# scope=DÝZGE (kapsam, örn. alt.*,!alt.bin*) [zorunlu]\n" + +#: src/attrib.c:1104 +#, c-format +msgid "# add_posted_to_filter=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1105 +#, c-format +msgid "# advertising=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1106 +#, c-format +msgid "# alternative_handling=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1107 +#, c-format +msgid "# ask_for_metamail=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1108 +#, c-format +msgid "# auto_cc_bcc=NUM\n" +msgstr "" + +#: src/attrib.c:1109 #, c-format -msgid "# Do not edit this comment block\n" - "#\n" -msgstr "# Bu açýklama bloðunu düzenlemeyin\n" - "#\n" +msgid "# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n" +msgstr "" -#: src/attrib.c:650 +#: src/attrib.c:1110 #, c-format -msgid "# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n" -msgstr "# scope=DÝZGE (kapsam, örn. alt.*,!alt.bin*) [zorunlu]\n" +msgid "# auto_list_thread=ON/OFF\n" +msgstr "" -#: src/attrib.c:651 +#: src/attrib.c:1111 #, c-format -msgid "# maildir=STRING (ie. ~/Mail)\n" -msgstr "# maildir=DÝZGE (posta dizini, örn. ~/Mail)\n" +msgid "# auto_save=ON/OFF\n" +msgstr "" -#: src/attrib.c:652 +#: src/attrib.c:1112 #, c-format -msgid "# savedir=STRING (ie. ~user/News)\n" -msgstr "# savedir=DÝZGE (saklama dizini, örn. ~user/News)\n" +msgid "# auto_select=ON/OFF\n" +msgstr "" -#: src/attrib.c:653 +#: src/attrib.c:1113 #, c-format -msgid "# savefile=STRING (ie. =linux)\n" -msgstr "# savefile=DÝZGE (saklama dosyasý, örn. =linux)\n" +msgid "# batch_save=ON/OFF\n" +msgstr "" -#: src/attrib.c:654 +#: src/attrib.c:1114 #, c-format -msgid "# sigfile=STRING (ie. $var/sig)\n" -msgstr "# sigfile=DÝZGE (imza dosyasý, örn. $var/sig)\n" +msgid "# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n" +msgstr "" -#: src/attrib.c:655 +#: src/attrib.c:1115 #, c-format -msgid "# organization=STRING (if beginning with '/' read from file)\n" -msgstr "# organization=DÝZGE (kurum; eðer / ile baþlýyor ise, dosyadan okunur)\n" +msgid "# delete_tmp_files=ON/OFF\n" +msgstr "" -#: src/attrib.c:656 +#: src/attrib.c:1116 #, c-format -msgid "# followup_to=STRING\n" -msgstr "# followup_to=DÝZGE (cevap yönlendirmesi)\n" +msgid "# editor_format=STRING (eg. %%E +%%N %%F)\n" +msgstr "" -#: src/attrib.c:657 +#: src/attrib.c:1117 #, c-format -msgid "# mailing_list=STRING (ie. majordomo@example.org)\n" -msgstr "# mailing_list=DÝZGE (posta listesi, örn. majordomo@example.org)\n" +msgid "# fcc=STRING (eg. =mailbox)\n" +msgstr "" -#: src/attrib.c:658 +#: src/attrib.c:1118 #, c-format -msgid "# x_headers=STRING (ie. ~/.tin/extra-headers)\n" -msgstr "# x_headers=DÝZGE (ekstra baþlýk dosyasý, örn. ~/.tin/extra-headers)\n" +msgid "# followup_to=STRING\n" +msgstr "# followup_to=DÝZGE (cevap yönlendirmesi)\n" -#: src/attrib.c:659 +#: src/attrib.c:1119 #, c-format -msgid "# x_body=STRING (ie. ~/.tin/extra-body-text)\n" -msgstr "# x_body=DÝZGE (extra gövde dosyasý, örn. ~/.tin/extra-body-text)\n" +msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" +msgstr "" -#: src/attrib.c:660 +#: src/attrib.c:1120 #, c-format -msgid "# from=STRING (just append wanted From:-line, don't use quotes)\n" -msgstr "" +msgid "# group_catchup_on_exit=ON/OFF\n" +msgstr "" -#: src/attrib.c:661 +#: src/attrib.c:1121 +#, c-format +msgid "# mail_8bit_header=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1122 +#, c-format +msgid "# mail_mime_encoding=supported_encoding" +msgstr "" + +#: src/attrib.c:1130 +#, fuzzy, c-format +msgid "# ispell=STRING\n" +msgstr "# ispell=DÝZGE\n" + +#: src/attrib.c:1132 +#, fuzzy, c-format +msgid "# maildir=STRING (eg. ~/Mail)\n" +msgstr "# maildir=DÝZGE (posta dizini, örn. ~/Mail)\n" + +#: src/attrib.c:1133 #, fuzzy, c-format -msgid "# news_quote_format=STRING\n" -msgstr "# news_quote_format=DÝZGE\n" +msgid "# mailing_list=STRING (eg. majordomo@example.org)\n" +msgstr "# mailing_list=DÝZGE (posta listesi, örn. majordomo@example.org)\n" + +#: src/attrib.c:1134 +#, c-format +msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" +msgstr "" + +#: src/attrib.c:1135 +#, c-format +msgid "# mark_ignore_tags=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1136 +#, c-format +msgid "# mark_saved_read=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1137 +#, c-format +msgid "# mime_forward=ON/OFF\n" +msgstr "" -#: src/attrib.c:662 +#: src/attrib.c:1139 #, c-format -msgid "# quote_chars=STRING (%%s, %%S for initials)\n" -msgstr "" +msgid "# mm_network_charset=supported_charset" +msgstr "" -#: src/attrib.c:663 +#: src/attrib.c:1146 #, c-format -msgid "# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n" -msgstr "" +msgid "# undeclared_charset=STRING (default is US-ASCII)\n" +msgstr "" -#: src/attrib.c:665 +#: src/attrib.c:1148 #, fuzzy, c-format -msgid "# ispell=STRING\n" -msgstr "# ispell=DÝZGE\n" +msgid "# news_headers_to_display=STRING\n" +msgstr "# news_quote_format=DÝZGE\n" -#: src/attrib.c:667 +#: src/attrib.c:1149 +#, fuzzy, c-format +msgid "# news_headers_to_not_display=STRING\n" +msgstr "# news_quote_format=DÝZGE\n" + +#: src/attrib.c:1150 +#, fuzzy, c-format +msgid "# news_quote_format=STRING\n" +msgstr "# news_quote_format=DÝZGE\n" + +#: src/attrib.c:1151 +#, c-format +msgid "# organization=STRING (if beginning with '/' read from file)\n" +msgstr "# organization=DÝZGE (kurum; eðer / ile baþlýyor ise, dosyadan okunur)\n" + +#: src/attrib.c:1152 +#, c-format +msgid "# pos_first_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1153 #, c-format -msgid "# auto_select=ON/OFF\n" -msgstr "" +msgid "# post_8bit_header=ON/OFF\n" +msgstr "" -#: src/attrib.c:668 +#: src/attrib.c:1154 #, c-format -msgid "# auto_save=ON/OFF\n" -msgstr "" +msgid "# post_mime_encoding=supported_encoding" +msgstr "" -#: src/attrib.c:669 +#: src/attrib.c:1161 #, c-format -msgid "# batch_save=ON/OFF\n" -msgstr "" +msgid "# post_process_type=NUM\n" +msgstr "" -#: src/attrib.c:670 +#: src/attrib.c:1166 #, c-format -msgid "# delete_tmp_files=ON/OFF\n" -msgstr "" +msgid "# post_process_view=ON/OFF\n" +msgstr "" -#: src/attrib.c:671 +#: src/attrib.c:1167 #, c-format -msgid "# show_only_unread=ON/OFF\n" -msgstr "" +msgid "# quick_kill_scope=STRING (ie. talk.*)\n" +msgstr "" -#: src/attrib.c:672 +#: src/attrib.c:1168 #, c-format -msgid "# thread_arts=NUM" -msgstr "" +msgid "# quick_kill_expire=ON/OFF\n" +msgstr "" -#: src/attrib.c:679 +#: src/attrib.c:1169 #, c-format -msgid "# thread_perc=NUM\n" -msgstr "" +msgid "# quick_kill_case=ON/OFF\n" +msgstr "" -#: src/attrib.c:680 +#: src/attrib.c:1170 #, c-format -msgid "# show_author=NUM\n" -msgstr "" +msgid "# quick_kill_header=NUM\n" +msgstr "" -#: src/attrib.c:686 +#: src/attrib.c:1171 src/attrib.c:1180 #, c-format -msgid "# show_info=NUM\n" -msgstr "" +msgid "# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n" +msgstr "" -#: src/attrib.c:692 +#: src/attrib.c:1172 src/attrib.c:1181 #, c-format -msgid "# sort_art_type=NUM\n" -msgstr "" +msgid "# 2=From: (case sensitive) 3=From: (ignore case)\n" +msgstr "" -#: src/attrib.c:710 +#: src/attrib.c:1173 src/attrib.c:1182 #, c-format -msgid "# sort_threads_type=NUM\n" -msgstr "" +msgid "# 4=Message-ID: & full References: line\n" +msgstr "" -#: src/attrib.c:715 +#: src/attrib.c:1174 src/attrib.c:1183 #, c-format -msgid "# post_proc_type=NUM\n" -msgstr "" +msgid "# 5=Message-ID: & last References: entry only\n" +msgstr "" -#: src/attrib.c:720 +#: src/attrib.c:1175 src/attrib.c:1184 #, c-format -msgid "# quick_kill_scope=STRING (ie. talk.*)\n" -msgstr "" +msgid "# 6=Message-ID: entry only 7=Lines:\n" +msgstr "" -#: src/attrib.c:721 +#: src/attrib.c:1176 +#, fuzzy, c-format +msgid "# quick_select_scope=STRING\n" +msgstr "# quick_select_scope=DÝZGE\n" + +#: src/attrib.c:1177 #, c-format -msgid "# quick_kill_expire=ON/OFF\n" -msgstr "" +msgid "# quick_select_expire=ON/OFF\n" +msgstr "" -#: src/attrib.c:722 +#: src/attrib.c:1178 #, c-format -msgid "# quick_kill_case=ON/OFF\n" -msgstr "" +msgid "# quick_select_case=ON/OFF\n" +msgstr "" -#: src/attrib.c:723 +#: src/attrib.c:1179 #, c-format -msgid "# quick_kill_header=NUM\n" -msgstr "" +msgid "# quick_select_header=NUM\n" +msgstr "" -#: src/attrib.c:724 src/attrib.c:731 +#: src/attrib.c:1185 #, c-format -msgid "# 0=subj (case sensitive) 1=subj (ignore case)\n" -msgstr "" +msgid "# quote_chars=STRING (%%s, %%S for initials)\n" +msgstr "" -#: src/attrib.c:725 src/attrib.c:732 +#: src/attrib.c:1187 #, c-format -msgid "# 2=from (case sensitive) 3=from (ignore case)\n" -msgstr "" +msgid "# print_header=ON/OFF\n" +msgstr "" -#: src/attrib.c:726 src/attrib.c:733 +#: src/attrib.c:1189 #, c-format -msgid "# 4=msgid 5=lines\n" -msgstr "" +msgid "# process_only_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1190 +#, fuzzy, c-format +msgid "# prompt_followupto=ON/OFF\n" +msgstr "# followup_to=DÝZGE (cevap yönlendirmesi)\n" + +#: src/attrib.c:1191 +#, fuzzy, c-format +msgid "# savedir=STRING (eg. ~user/News)\n" +msgstr "# savedir=DÝZGE (saklama dizini, örn. ~user/News)\n" + +#: src/attrib.c:1192 +#, fuzzy, c-format +msgid "# savefile=STRING (eg. =linux)\n" +msgstr "# savefile=DÝZGE (saklama dosyasý, örn. =linux)\n" -#: src/attrib.c:727 +#: src/attrib.c:1193 #, fuzzy, c-format -msgid "# quick_select_scope=STRING\n" -msgstr "# quick_select_scope=DÝZGE\n" +msgid "# sigfile=STRING (eg. $var/sig)\n" +msgstr "# sigfile=DÝZGE (imza dosyasý, örn. $var/sig)\n" -#: src/attrib.c:728 +#: src/attrib.c:1194 #, c-format -msgid "# quick_select_expire=ON/OFF\n" -msgstr "" +msgid "# show_author=NUM\n" +msgstr "" -#: src/attrib.c:729 +#: src/attrib.c:1200 #, c-format -msgid "# quick_select_case=ON/OFF\n" -msgstr "" +msgid "# show_info=NUM\n" +msgstr "" -#: src/attrib.c:730 +#: src/attrib.c:1206 #, c-format -msgid "# quick_select_header=NUM\n" -msgstr "" +msgid "# show_signatures=ON/OFF\n" +msgstr "" -#: src/attrib.c:734 +#: src/attrib.c:1207 #, c-format -msgid "# x_comment_to=ON/OFF\n" -msgstr "" +msgid "# show_only_unread_arts=ON/OFF\n" +msgstr "" -#: src/attrib.c:735 +#: src/attrib.c:1208 #, c-format -msgid "# fcc=STRING (eg. =mailbox)\n" -msgstr "" +msgid "# sigdashes=ON/OFF\n" +msgstr "" -#: src/attrib.c:736 +#: src/attrib.c:1209 #, c-format -msgid "# tex2iso_conv=ON/OFF\n" -msgstr "" +msgid "# signature_repost=ON/OFF\n" +msgstr "" -#: src/attrib.c:737 +#: src/attrib.c:1210 #, c-format -msgid "# mime_forward=ON/OFF\n" -msgstr "" +msgid "# sort_article_type=NUM\n" +msgstr "" -#: src/attrib.c:739 +#: src/attrib.c:1228 #, c-format -msgid "# mm_network_charset=supported_charset" -msgstr "" +msgid "# sort_threads_type=NUM\n" +msgstr "" -#: src/attrib.c:746 +#: src/attrib.c:1237 #, c-format -msgid "# undeclared_charset=STRING (default is US-ASCII)\n" -msgstr "" +msgid "# start_editor_offset=ON/OFF\n" +msgstr "" -#: src/attrib.c:748 -#, fuzzy, c-format -msgid "#\n" - "# Note that it is best to put general (global scoping)\n" -msgstr "#\n" - "# Genel(küresel) kaplamýn en iyi olduðunu not ediniz.\n" +#: src/attrib.c:1238 +#, c-format +msgid "# tex2iso_conv=ON/OFF\n" +msgstr "" -#: src/attrib.c:749 -#, fuzzy, c-format -msgid "# entries first followed by group specific entries.\n" - "#\n" -msgstr "# Öncelikle özgül grup girdileri tarafýndan takip edilen girdiler\n" - "#\n" +#: src/attrib.c:1239 +#, c-format +msgid "# thread_catchup_on_exit=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1240 +#, c-format +msgid "# thread_articles=NUM" +msgstr "" + +#: src/attrib.c:1247 +#, c-format +msgid "# thread_perc=NUM\n" +msgstr "" + +#: src/attrib.c:1248 +#, c-format +msgid "# trim_article_body=NUM\n" +msgstr "" + +#: src/attrib.c:1249 +#, c-format +msgid "# 0 = Don't trim article body\n" +msgstr "" + +#: src/attrib.c:1250 +#, c-format +msgid "# 1 = Skip leading blank lines\n" +msgstr "" + +#: src/attrib.c:1251 +#, c-format +msgid "# 2 = Skip trailing blank lines\n" +msgstr "" -#: src/attrib.c:750 +#: src/attrib.c:1252 #, c-format -msgid "############################################################################\n" - "\n" -msgstr "############################################################################\n" - "\n" +msgid "# 3 = Skip leading and trailing blank lines\n" +msgstr "" -#: src/attrib.c:756 +#: src/attrib.c:1253 #, c-format -msgid "# include extra headers\n" -msgstr "# extra baþlýklarý içerir\n" +msgid "# 4 = Compact multiple blank lines between text blocks\n" +msgstr "" -#: src/attrib.c:764 +#: src/attrib.c:1254 #, c-format -msgid "# in *sources* set post process type to shar only\n" -msgstr "" +msgid "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" +msgstr "" -#: src/attrib.c:768 +#: src/attrib.c:1255 +#, c-format +msgid "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1256 +#, c-format +msgid "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" + +#: src/attrib.c:1257 +#, c-format +msgid "# verbatim_handling=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1258 +#, c-format +msgid "# wrap_on_next_unread=ON/OFF\n" +msgstr "" + +#: src/attrib.c:1259 #, fuzzy, c-format -msgid "# in *binaries* do full post processing but no TeX2ISO conversion,\n" -msgstr "# ikilik dosyalarda iþletim sonrasýný tam yapýn, tmp dosyalarýný kaldýrýn.\n" +msgid "# x_body=STRING (eg. ~/.tin/extra-body-text)\n" +msgstr "# x_body=DÝZGE (extra gövde dosyasý, örn. ~/.tin/extra-body-text)\n" -#: src/attrib.c:769 +#: src/attrib.c:1260 #, c-format -msgid "# remove tmp files and set Followup-To: poster\n" -msgstr "" +msgid "# x_comment_to=ON/OFF\n" +msgstr "" -#: src/cook.c:499 -msgid "(unknown)" -msgstr "(bilinmiyor)" +#: src/attrib.c:1261 +#, fuzzy, c-format +msgid "# x_headers=STRING (eg. ~/.tin/extra-headers)\n" +msgstr "# x_headers=DÝZGE (ekstra baþlýk dosyasý, örn. ~/.tin/extra-headers)\n" -#. -#. * TODO: add to the right rule, give better explanation, -> lang.c -#. -#: src/filter.c:597 src/filter.c:605 -msgid "Removed from the previous rule: " -msgstr "Önceki kuraldan kaldýrýldý: " - -#: src/keymap.c:271 -msgid "NULL" -msgstr "" +#: src/attrib.c:1262 +#, fuzzy, c-format +msgid "#\n" + "# Note that it is best to put general (global scoping)\n" +msgstr "#\n" + "# Genel(küresel) kaplamýn en iyi olduðunu not ediniz.\n" + +#: src/attrib.c:1263 +#, fuzzy, c-format +msgid "# entries first followed by group specific entries.\n" + "#\n" +msgstr "# Öncelikle özgül grup girdileri tarafýndan takip edilen girdiler\n" + "#\n" + +#: src/attrib.c:1264 +#, fuzzy, c-format +msgid "############################################################################\n" +msgstr "############################################################################\n" + +#: src/cook.c:625 +msgid "(unknown)" +msgstr "(bilinmiyor)" + +#: src/keymap.c:277 +msgid "NULL" +msgstr "" #: src/lang.c:42 #, fuzzy -msgid "1 Response" -msgstr "1 Yanýt" +msgid "1 Response" +msgstr "1 Yanýt" #: src/lang.c:46 #, fuzzy, c-format -msgid "\n" - "%s contains no newsgroups. Exiting." -msgstr "\n" - "%s haber gruplarýný içermez. Çýkýyor." +msgid "\n" + "%s contains no newsgroups. Exiting." +msgstr "\n" + "%s haber gruplarýný içermez. Çýkýyor." #: src/lang.c:47 -msgid "all " -msgstr "tümü" +msgid "all " +msgstr "tümü" #: src/lang.c:48 -msgid "All groups" -msgstr "Tüm gruplar" +msgid "All groups" +msgstr "Tüm gruplar" #: src/lang.c:49 #, fuzzy, c-format -msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " -msgstr "%s dosyasý var. %s=ekle, %s=üstüne yazý., %s=çýk: " +msgid "File %s exists. %s=append, %s=overwrite, %s=quit: " +msgstr "%s dosyasý var. %s=ekle, %s=üstüne yazý., %s=çýk: " #: src/lang.c:50 -msgid "Article cancelled (deleted)." -msgstr "Makale iptal edildi (silinmiþ)." - -#: src/lang.c:51 -msgid "Article cannot be cancelled (deleted)." -msgstr "Makale iptal edilemedi (silinemedi)." +msgid "Article cancelled (deleted)." +msgstr "Makale iptal edildi (silinmiþ)." #: src/lang.c:52 -msgid "Article deleted." -msgstr "Makale silindi." - -#: src/lang.c:53 -#, fuzzy, c-format -msgid "\n" - "Your article:\n" - " \"%s\"\n" - "will be posted to the following %s:\n" -msgstr "\n" - "Makaleniz:\n" - " \"%s\"\n" - "buna gönderilecektir %s:\n" +msgid "Article cannot be cancelled (deleted)." +msgstr "Makale iptal edilemedi (silinemedi)." #: src/lang.c:54 -msgid "Article not posted!" -msgstr "Makale gönderilmedi!" +msgid "Article deleted." +msgstr "Makale silindi." #: src/lang.c:55 -msgid "Article not saved" -msgstr "Makale kaydedilmedi" +#, fuzzy, c-format +msgid "\n" + "Your article:\n" + " \"%s\"\n" + "will be posted to the following %s:\n" +msgstr "\n" + "Makaleniz:\n" + " \"%s\"\n" + "buna gönderilecektir %s:\n" #: src/lang.c:56 -#, fuzzy -msgid "Article Level Commands" -msgstr "Makale Düzey Komutlarý" +msgid "Article not posted!" +msgstr "Makale gönderilmedi!" #: src/lang.c:57 -msgid "Article has no parent" -msgstr "Makalenin üstü yok" +msgid "Article not saved" +msgstr "Makale kaydedilmedi" #: src/lang.c:58 #, fuzzy -msgid "Parent article has been killed" -msgstr "Ana makale öldürüldü" +msgid "Article Level Commands" +msgstr "Makale Düzey Komutlarý" #: src/lang.c:59 -#, fuzzy -msgid "Parent article is unavailable" -msgstr "Ana makale kullanlamýyor." +msgid "Article has no parent" +msgstr "Makalenin üstü yok" #: src/lang.c:60 -#, c-format -msgid "Article posted: %s" -msgstr "Makale gönderildi: %s" +#, fuzzy +msgid "Parent article has been killed" +msgstr "Ana makale öldürüldü" #: src/lang.c:61 -#, c-format -msgid "Article rejected (saved to %s)" -msgstr "Makale reddedildi (%s dosyasýna kaydedildi)" +#, fuzzy +msgid "Parent article is unavailable" +msgstr "Ana makale kullanlamýyor." #: src/lang.c:62 -#, fuzzy, c-format -msgid "%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: " -msgstr "%s=makale, %s=parçacýk, %s=otomatik, %s=kalýp, %s=imlenmiþ makaleler, %s=çýk: " +#, c-format +msgid "Article posted: %s" +msgstr "Makale gönderildi: %s" #: src/lang.c:63 -#, fuzzy -msgid "Article unavailable" -msgstr "Makale kullanýlamýyor." +#, c-format +msgid "Article rejected (saved to %s)" +msgstr "Makale reddedildi (%s dosyasýna kaydedildi)" #: src/lang.c:64 -msgid "Article undeleted." -msgstr "Makale silinmeden geri alýndý." +#, fuzzy, c-format +msgid "%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: " +msgstr "%s=makale, %s=parçacýk, %s=otomatik, %s=kalýp, %s=imlenmiþ makaleler, %s=çýk: " + +#: src/lang.c:65 +#, fuzzy +msgid "Article unavailable" +msgstr "Makale kullanýlamýyor." #: src/lang.c:66 -msgid "articles" -msgstr "makaleler" +msgid "Article undeleted." +msgstr "Makale silinmeden geri alýndý." #: src/lang.c:67 -#, fuzzy -msgid "This is a repost of the following article:" -msgstr "Bu dosyanýn yeniden gönderimi dieðildir:" - -#: src/lang.c:68 -msgid "article" -msgstr "makale" +#, fuzzy, c-format +msgid "Article %4d of %4d" +msgstr "Makale %4d of %4d" #: src/lang.c:69 -msgid "Article" -msgstr "Makale" +msgid "articles" +msgstr "makaleler" #: src/lang.c:70 -#, c-format -msgid "-- %d %s mailed --" -msgstr "-- %d %s postalandý --" +#, fuzzy +msgid "This is a repost of the following article:" +msgstr "Bu dosyanýn yeniden gönderimi dieðildir:" #: src/lang.c:71 -#, c-format -msgid " at %s" -msgstr " %s de" +msgid "article" +msgstr "makale" #: src/lang.c:72 -#, fuzzy, c-format -msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" -msgstr "%*s[-- %s/%s, kodluyor %s%s%s, %d satýr%s%s --]\n" +msgid "Article" +msgstr "Makale" #: src/lang.c:73 -msgid ", charset: " -msgstr "" +#, c-format +msgid "-- %d %s mailed --" +msgstr "-- %d %s postalandý --" #: src/lang.c:74 #, c-format -msgid "%*s[-- Description: %s --]\n" -msgstr "%*s[-- Taným: %s --]\n" +msgid " at %s" +msgstr " %s de" #: src/lang.c:75 -#, c-format -msgid "%d Authentication failed" -msgstr "%d Kimlik denetimi baþarýsýz" +#, fuzzy, c-format +msgid "%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n" +msgstr "%*s[-- %s/%s, kodluyor %s%s%s, %d satýr%s%s --]\n" #: src/lang.c:76 -#, fuzzy -msgid "Server expects authentication.\n" -msgstr "Sunucu doðrulama bekliyor.\n" +msgid ", charset: " +msgstr "" #: src/lang.c:77 -msgid " Please enter password: " -msgstr " Lütfen parola girin: " +#, c-format +msgid "%*s[-- charset %s not supported --]\n" +msgstr "" #: src/lang.c:78 -msgid " Please enter username: " -msgstr " Lütfen kullanýcý adý girin: " +#, c-format +msgid "%*s[-- Description: %s --]\n" +msgstr "%*s[-- Taným: %s --]\n" #: src/lang.c:79 #, fuzzy, c-format -msgid "Author search backwards [%s]> " -msgstr "Yazar geriye doðru arýyor[%s]> " +msgid "%d lines" +msgstr "Çizgiler" #: src/lang.c:80 -#, fuzzy, c-format -msgid "Author search forwards [%s]> " -msgstr "Yazar ileriye doðru arýyor [%s]> " +msgid "Attachment Menu" +msgstr "" #: src/lang.c:81 -#, fuzzy, c-format -msgid "Authorized for user: %s\n" -msgstr "Kullanýcý için yetkilendirlmiþ: %s\n" +#, fuzzy +msgid "Attachment Menu Commands" +msgstr "Makale Düzey Komutlarý" #: src/lang.c:82 -#, c-format -msgid "Authorization failed for user: %s\n" -msgstr "Kullanýcý için yetkilendirme baþarýsýz: %s\n" +#, fuzzy +msgid "" +msgstr "hiçbiri" #: src/lang.c:83 #, fuzzy, c-format -msgid "\n" - "Autosubscribed to %s" -msgstr "\n" - "Otomatik abone %s" +msgid "Attachment saved successfully. (%s)" +msgstr "newsrc dosyasý baþarýyla kaydedildi.\n" #: src/lang.c:84 -#, fuzzy -msgid "Autosubscribing groups...\n" -msgstr "Gruplar otomatik abone ediliyor...\n" +#, fuzzy, c-format +msgid "%d of %d attachments saved successfully." +msgstr "newsrc dosyasý baþarýyla kaydedildi.\n" #: src/lang.c:85 -#, c-format -msgid "Autoselecting articles (use '%s' to see all unread) ..." -msgstr "Makaleler otomatik seçiliyor (tüm okunmamýþlarý görmek için '%s' kullanýn) ..." +#, fuzzy +msgid "Select attachment> " +msgstr "Makale seç> " + +#: src/lang.c:86 +#, fuzzy +msgid "Tagged attachment" +msgstr "Makale seç> " #: src/lang.c:87 -#, c-format -msgid "Active file corrupt - %s" -msgstr "Aktif dosya bozuk - %s" +#, fuzzy, c-format +msgid "%d attachments tagged" +msgstr "Makale seç> " #: src/lang.c:88 -#, fuzzy, c-format -msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " -msgstr "Gönderilecek dosyada hatalar/uyarýlar çýktý. %s=çýk, %s=Menü, %s=düzelt: " +#, fuzzy +msgid "Untagged attachment" +msgstr "Makale seç> " #: src/lang.c:89 -#, c-format -msgid "Unrecognized attribute: %s" -msgstr "Tanýnmayan öznitelik: %s" +#, fuzzy +msgid "Attributes Menu Commands" +msgstr "Makale Düzey Komutlarý" -#: src/lang.c:90 +#: src/lang.c:91 #, c-format -msgid "Bad command. Type '%s' for help." -msgstr "Bozuk komut. Yardým için '%s' yazýn." +msgid "%d Authentication failed" +msgstr "%d Kimlik denetimi baþarýsýz" #: src/lang.c:92 -#, fuzzy -msgid "Base article" -msgstr "Temel makale" +#, fuzzy, c-format +msgid "NNTP authorization password not found for %s" +msgstr "NNTP yetki þifresi %s için bulunamadý" #: src/lang.c:93 #, fuzzy -msgid "Base article range" -msgstr "Temel makale aralýðý" +msgid "Server expects authentication.\n" +msgstr "Sunucu doðrulama bekliyor.\n" #: src/lang.c:94 -#, fuzzy, c-format -msgid "%s: Updating of index files not supported\n" -msgstr "%s: Desteklenmeyen dizin dosyalarý güncelleniyor\n" +msgid " Please enter password: " +msgstr " Lütfen parola girin: " #: src/lang.c:95 -msgid "*** Beginning of article ***" -msgstr "*** Makalenin baþý ***" +msgid " Please enter username: " +msgstr " Lütfen kullanýcý adý girin: " -#: src/lang.c:97 +#: src/lang.c:96 #, fuzzy, c-format -msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " -msgstr "Dosyayý Ýptal et(sil) veya dosyanýn yerini al(üstüne yaz)[%%s]? (%s/%s/%s): " +msgid "Authorized for user: %s\n" +msgstr "Kullanýcý için yetkilendirlmiþ: %s\n" + +#: src/lang.c:97 +#, c-format +msgid "Authorization failed for user: %s\n" +msgstr "Kullanýcý için yetkilendirme baþarýsýz: %s\n" -#: src/lang.c:98 -msgid "Cancelling article..." -msgstr "Makale iptal ediliyor..." +#: src/lang.c:99 +#, fuzzy, c-format +msgid "Author search backwards [%s]> " +msgstr "Yazar geriye doðru arýyor[%s]> " #: src/lang.c:100 #, fuzzy, c-format -msgid "Cannot create %s" -msgstr "Yaratýlmaýyor %s" +msgid "Author search forwards [%s]> " +msgstr "Yazar ileriye doðru arýyor [%s]> " #: src/lang.c:101 #, fuzzy, c-format -msgid "Can't find base article %d" -msgstr "Temel makale bulunamýyor %d" +msgid "\n" + "Autosubscribed to %s" +msgstr "\n" + "Otomatik abone %s" #: src/lang.c:102 -#, fuzzy, c-format -msgid "Can't open %s" -msgstr "Açýlamýyor %s" +#, fuzzy +msgid "Autosubscribing groups...\n" +msgstr "Gruplar otomatik abone ediliyor...\n" #: src/lang.c:103 -#, fuzzy, c-format -msgid "Couldn't open %s for saving" -msgstr "Kaydetmek için %s açýlmadý" - -#: src/lang.c:104 -msgid "*** Posting not allowed ***" -msgstr "*** Gönderim izni yok ***" +#, c-format +msgid "Autoselecting articles (use '%s' to see all unread) ..." +msgstr "Makaleler otomatik seçiliyor (tüm okunmamýþlarý görmek için '%s' kullanýn) ..." #: src/lang.c:105 #, c-format -msgid "Posting is not allowed to %s" -msgstr "%s için gönderim izni yok" +msgid "Active file corrupt - %s" +msgstr "Aktif dosya bozuk - %s" #: src/lang.c:106 #, fuzzy, c-format -msgid "Can't retrieve %s" -msgstr "Alýnamýyor %s" +msgid "Article to be posted resulted in errors/warnings. %s=quit, %s=Menu, %s=edit: " +msgstr "Gönderilecek dosyada hatalar/uyarýlar çýktý. %s=çýk, %s=Menü, %s=düzelt: " #: src/lang.c:107 #, c-format -msgid "%s is a directory" -msgstr "%s bir dizindir" +msgid "Unrecognized attribute: %s" +msgstr "Tanýnmayan öznitelik: %s" #: src/lang.c:108 -msgid "Catchup" -msgstr "" - -#: src/lang.c:109 #, c-format -msgid "Catchup %s..." -msgstr "" +msgid "Bad command. Type '%s' for help." +msgstr "Bozuk komut. Yardým için '%s' yazýn." #: src/lang.c:110 -msgid "Catchup all groups entered during this session?" -msgstr "" +#, fuzzy +msgid "Base article" +msgstr "Temel makale" #: src/lang.c:111 #, fuzzy -msgid "You have tagged articles in this group - catchup anyway?" -msgstr "Bu makalede imlenmiþ makaleler var - catchup anyway?" +msgid "Base article range" +msgstr "Temel makale aralýðý" #: src/lang.c:112 -#, c-format -msgid "%s %d %s in %lu seconds\n" -msgstr "%4$lu saniyede %1$s %2$d %3$s\n" +#, fuzzy, c-format +msgid "%s: Updating of index files not supported\n" +msgstr "%s: Desteklenmeyen dizin dosyalarý güncelleniyor\n" #: src/lang.c:113 -msgid "Caughtup" -msgstr "" +msgid "*** Beginning of article ***" +msgstr "*** Makalenin baþý ***" #: src/lang.c:114 #, fuzzy -msgid "Check Prepared Article" -msgstr "Hazýr Makaleyi Denetle" - -#: src/lang.c:115 -#, fuzzy -msgid "Checking for new groups... " -msgstr "Yeni gruplar denetleniyor... " +msgid "*** Beginning of page ***" +msgstr "*** Makalenin baþý ***" #: src/lang.c:116 -#, fuzzy -msgid "Checking for news..." -msgstr "Haberler denetleniyor..." +#, fuzzy, c-format +msgid "Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): " +msgstr "Dosyayý Ýptal et(sil) veya dosyanýn yerini al(üstüne yaz)[%%s]? (%s/%s/%s): " #: src/lang.c:117 -#, fuzzy, c-format -msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " -msgstr "Son-iþlem %s=hayýr, %s=evet, %s=ortak, %s=çýk: " +msgid "Cancelling article..." +msgstr "Makale iptal ediliyor..." #: src/lang.c:119 -#, fuzzy -msgid "ANSI color disabled" -msgstr "ANSI renk geçersiz" +#, fuzzy, c-format +msgid "Cannot create %s" +msgstr "Yaratýlmaýyor %s" #: src/lang.c:120 -#, fuzzy -msgid "ANSI color enabled" -msgstr "ANSI renk geçerli" +#, fuzzy, c-format +msgid "Can't find base article %d" +msgstr "Temel makale bulunamýyor %d" + +#: src/lang.c:121 +#, fuzzy, c-format +msgid "Can't open %s" +msgstr "Açýlamýyor %s" #: src/lang.c:122 -#, c-format -msgid "Command failed: %s" -msgstr "Komut baþarýsýz: %s" +#, fuzzy, c-format +msgid "Couldn't open %s for saving" +msgstr "Kaydetmek için %s açýlmadý" #: src/lang.c:123 -msgid "Mark not selected articles read?" -msgstr "" +msgid "*** Posting not allowed ***" +msgstr "*** Gönderim izni yok ***" #: src/lang.c:124 -#, fuzzy, c-format -msgid "Connecting to %s..." -msgstr "Baðlanýyor %s..." - -#: src/lang.c:125 -msgid "" -msgstr "" +#, c-format +msgid "Posting is not allowed to %s" +msgstr "%s için gönderim izni yok" #: src/lang.c:126 -#, fuzzy -msgid "Creating active file for saved groups...\n" -msgstr "Kaydedilen kümeler için aktif dosya oluþturuyor...\n" +#, fuzzy, c-format +msgid "Can't retrieve %s" +msgstr "Alýnamýyor %s" -#: src/lang.c:127 -#, fuzzy -msgid "Creating newsrc file...\n" -msgstr "Newsrc dosyasý oluþturuluyor...\n" +#: src/lang.c:128 +#, c-format +msgid "%s is a directory" +msgstr "%s bir dizindir" -#: src/lang.c:129 src/lang.c:1150 -msgid "Default" -msgstr "Öntanýmlý" +#: src/lang.c:129 +msgid "Catchup" +msgstr "" #: src/lang.c:130 -#, fuzzy -msgid "Delete saved files that have been post processed?" -msgstr "Son iþlenen kaydedilmiþ dosyalarý sil?" +#, c-format +msgid "Catchup %s..." +msgstr "" #: src/lang.c:131 -msgid "Deleting temporary files..." -msgstr "Geçici dosyalar siliniyor..." +msgid "Catchup all groups entered during this session?" +msgstr "" + +#: src/lang.c:132 +#, fuzzy +msgid "You have tagged articles in this group - catchup anyway?" +msgstr "Bu makalede imlenmiþ makaleler var - catchup anyway?" #: src/lang.c:133 -msgid "*** End of article ***" -msgstr "*** Makalenin sonu ***" +#, c-format +msgid "%s %d %s in %lu seconds\n" +msgstr "%4$lu saniyede %1$s %2$d %3$s\n" #: src/lang.c:134 -msgid "*** End of articles ***" -msgstr "*** Makalelerin sonu ***" +msgid "Caughtup" +msgstr "" #: src/lang.c:135 #, fuzzy -msgid "*** End of groups ***" -msgstr "*** Kümelerin sonu ***" +msgid "Check Prepared Article" +msgstr "Hazýr Makaleyi Denetle" #: src/lang.c:136 #, fuzzy -msgid "*** End of thread ***" -msgstr "*** Parçacýklarýn sonu ***" +msgid "Checking for new groups... " +msgstr "Yeni gruplar denetleniyor... " #: src/lang.c:137 #, fuzzy -msgid "Enter limit of articles to get> " -msgstr "Alýnacak makalelerin limitini girin> " +msgid "Checking for news..." +msgstr "Haberler denetleniyor..." #: src/lang.c:138 -#, fuzzy -msgid "Enter Message-ID to go to> " -msgstr "Gitmek için kimlik mesajýný girin> " - -#: src/lang.c:139 -#, fuzzy -msgid " and enter next unread thread" -msgstr " ve sonraki okuma parçacýðýný yazýn" +#, fuzzy, c-format +msgid "Post-process %s=no, %s=yes, %s=shar, %s=quit: " +msgstr "Son-iþlem %s=hayýr, %s=evet, %s=ortak, %s=çýk: " #: src/lang.c:140 #, fuzzy -msgid " and enter next unread group" -msgstr " ve sonraki okuma kümesini yazýn" +msgid "ANSI color disabled" +msgstr "ANSI renk geçersiz" #: src/lang.c:141 #, fuzzy -msgid "Enter option number> " -msgstr "Seçenek numarasýný yazýn> " - -#: src/lang.c:142 -#, fuzzy, c-format -msgid "Enter range [%s]> " -msgstr "Aralýðý yazýn [%s]> " +msgid "ANSI color enabled" +msgstr "ANSI renk geçerli" #: src/lang.c:143 -#, fuzzy -msgid "\n" - "Warning: Approved: header used.\n" -msgstr "\n" - "Uyarý: Onaylandý: baþlýk kullanýldý.\n" - -#: src/lang.c:145 -#, fuzzy -msgid "\n" - "Error: Bad address in Approved: header.\n" -msgstr "\n" - "Hata: Onaylananda bozuk adres: baþlýk.\n" +#, c-format +msgid "Command failed: %s" +msgstr "Komut baþarýsýz: %s" + +#: src/lang.c:144 +msgid "Mark not selected articles read?" +msgstr "" #: src/lang.c:146 -#, fuzzy -msgid "\n" - "Error: Bad address in From: header.\n" -msgstr "\n" - "Hata: Gönderende bozuk adres: baþlýk.\n" - -#: src/lang.c:147 -#, fuzzy -msgid "\n" - "Error: Bad address in Reply-To: header.\n" -msgstr "\n" - "Hata: Yanýtta bozuk adres: baþlýk\n" +#, fuzzy, c-format +msgid "Connecting to %s..." +msgstr "Baðlanýyor %s..." #: src/lang.c:148 -#, fuzzy -msgid "\n" - "Error: Bad FQDN in Message-ID: header.\n" -msgstr "\n" - "Hata: Kimilk mesajýnda bozuk FQDN: baþlýk.\n" +msgid "" +msgstr "" #: src/lang.c:149 -#, fuzzy, c-format -msgid "Can't unlock %s" -msgstr "Açýlamýyor %s" +#, fuzzy +msgid "Creating active file for saved groups...\n" +msgstr "Kaydedilen kümeler için aktif dosya oluþturuyor...\n" -#: src/lang.c:151 -#, fuzzy, c-format -msgid "Corrupted file %s" -msgstr "Virüslü dosya %s" +#: src/lang.c:150 +#, fuzzy +msgid "Creating newsrc file...\n" +msgstr "Newsrc dosyasý oluþturuluyor...\n" -#: src/lang.c:152 -#, fuzzy, c-format -msgid "Couldn't dotlock %s - article not appended!" -msgstr "Açýlamadý %s - makale eklenmedi!" +#: src/lang.c:152 src/lang.c:1296 +msgid "Default" +msgstr "Öntanýmlý" #: src/lang.c:153 -#, fuzzy, c-format -msgid "Couldn't lock %s - article not appended!" -msgstr "Kapatýlamadý %s - makale eklenmedi!" +#, fuzzy +msgid "Delete saved files that have been post processed?" +msgstr "Son iþlenen kaydedilmiþ dosyalarý sil?" -#: src/lang.c:155 -msgid "Internal error in GNKSA routine - send bug report.\n" -msgstr "GNKSA yordamýnda iç hata - hata raporu gönder.\n" +#: src/lang.c:154 +msgid "Deleting temporary files..." +msgstr "Geçici dosyalar siliniyor..." #: src/lang.c:156 -#, fuzzy -msgid "Left angle bracket missing in route address.\n" -msgstr "Yordam adresinde sol açýlý ayraç eksik.\n" +msgid "*** End of article ***" +msgstr "*** Makalenin sonu ***" #: src/lang.c:157 -msgid "Left parenthesis missing in old-style address.\n" -msgstr "Eski-biçemli adreste sol ayraç eksik.\n" +msgid "*** End of articles ***" +msgstr "*** Makalelerin sonu ***" #: src/lang.c:158 -msgid "Right parenthesis missing in old-style address.\n" -msgstr "Eski-biçemli adreste sað ayraç eksik.\n" +#, fuzzy +msgid "*** End of attachments ***" +msgstr "*** Makalelerin sonu ***" #: src/lang.c:159 -msgid "At-sign missing in mail address.\n" -msgstr "Posta adresinde @ iþareti eksik.\n" +#, fuzzy +msgid "*** End of groups ***" +msgstr "*** Kümelerin sonu ***" #: src/lang.c:160 #, fuzzy -msgid "Single component FQDN is not allowed. Add your domain.\n" -msgstr "FQDN tekli bileþenine izin verilmedi. Taným kümesi ekleyin.\n" +msgid "*** End of page ***" +msgstr "*** Makalenin sonu ***" #: src/lang.c:161 #, fuzzy -msgid "Invalid domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Geçersiz etki alaný. Üst düzey etki alaný varsa hata raporu gönderin.\n" - "Kullan . munged adresler için geçersiz üst düzey etki alaný.\n" +msgid "*** End of scopes ***" +msgstr "*** Kümelerin sonu ***" #: src/lang.c:162 #, fuzzy -msgid "Illegal domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Kuraldýþý etki alaný. Üst düzey etki alaný varsa hata raporu gönderin.\n" - "Kuulan . munged adresler için geçersiz üst düzey etki alaný.\n" +msgid "*** End of thread ***" +msgstr "*** Parçacýklarýn sonu ***" #: src/lang.c:163 #, fuzzy -msgid "Unknown domain. Send bug report if your top level domain really exists.\n" - "Use .invalid as top level domain for munged addresses.\n" -msgstr "Bilinmeyen etki alaný. Üst düzey etki alalný varsa hata raporu gönderin.\n" - "Kullan. munged adresler geçersiz üst düzey etki alaný.\n" +msgid "*** End of URLs ***" +msgstr "*** Kümelerin sonu ***" #: src/lang.c:164 -msgid "Illegal character in FQDN.\n" -msgstr "FQDN'de kuraldýþý karakter.\n" +#, fuzzy +msgid "Enter limit of articles to get> " +msgstr "Alýnacak makalelerin limitini girin> " #: src/lang.c:165 #, fuzzy -msgid "Zero length FQDN component not allowed.\n" -msgstr "Sýfýr unzunluklu FQDN bileþenine izin verilmedi.\n" +msgid "Enter Message-ID to go to> " +msgstr "Gitmek için kimlik mesajýný girin> " #: src/lang.c:166 #, fuzzy -msgid "FQDN component exceeds maximum allowed length (63 chars).\n" -msgstr "FQDN bileþeni izin verilen maximum uzunluðu aþýyor.(63 kar.).\n" +msgid " and enter next unread thread" +msgstr " ve sonraki okuma parçacýðýný yazýn" #: src/lang.c:167 #, fuzzy -msgid "FQDN component may not start or end with hyphen.\n" -msgstr "FQDN bileþeni tire ile baþlamayabilir veya bitmeyebilir.\n" +msgid " and enter next unread article" +msgstr " ve sonraki okuma parçacýðýný yazýn" #: src/lang.c:168 #, fuzzy -msgid "FQDN component may not start with digit.\n" -msgstr "FQDN bileþeni basamak ile baþlamayabilir.\n" +msgid " and enter next unread group" +msgstr " ve sonraki okuma kümesini yazýn" #: src/lang.c:169 #, fuzzy -msgid "Domain literal has impossible numeric value.\n" -msgstr "Deðiþmez etki alaný imkansýz sayýsal deðere sahip.\n" +msgid "Enter option number> " +msgstr "Seçenek numarasýný yazýn> " #: src/lang.c:170 -#, fuzzy -msgid "Domain literal is for private use only and not allowed for global use.\n" -msgstr "Deðiþmez etki alaný sadece özel kullaným içindir ve küresel kullanýma izin " - "verilmez.\n" +#, fuzzy, c-format +msgid "Enter range [%s]> " +msgstr "Aralýðý yazýn [%s]> " #: src/lang.c:171 #, fuzzy -msgid "Right bracket missing in domain literal.\n" -msgstr "Deðiþmez etki alanýnda sað köþeli ayraç eksik.\n" - -#: src/lang.c:172 -msgid "Missing localpart of mail address.\n" -msgstr "Posta adresinin yerel kýsmý eksik.\n" +msgid "\n" + "Warning: Approved: header used.\n" +msgstr "\n" + "Uyarý: Onaylandý: baþlýk kullanýldý.\n" #: src/lang.c:173 -msgid "Illegal character in localpart of mail address.\n" -msgstr "Posta adresinin yerel kýsmýnda kuraldýþý karakter.\n" +#, fuzzy +msgid "\n" + "Error: Bad address in Approved: header.\n" +msgstr "\n" + "Hata: Onaylananda bozuk adres: baþlýk.\n" #: src/lang.c:174 #, fuzzy -msgid "Zero length localpart component not allowed.\n" -msgstr "Sýfýr uzunluklu yerel kýsým bileþenine izin verilmedi.\n" +msgid "\n" + "Error: Bad address in From: header.\n" +msgstr "\n" + "Hata: Gönderende bozuk adres: baþlýk.\n" #: src/lang.c:175 #, fuzzy -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" -msgstr "Gerçek isimde kuraldýþý karakter.\n" - "Ýmlenmemiþ sözcükler yordam adreslerinde '!()<>@,;:\\.[]' içermeyebilir.\n" +msgid "\n" + "Error: Bad address in Reply-To: header.\n" +msgstr "\n" + "Hata: Yanýtta bozuk adres: baþlýk\n" #: src/lang.c:176 #, fuzzy -msgid "Illegal character in realname.\n" - "Quoted words may not contain '()<>\\'.\n" -msgstr "Gerçek isimde kuraldýþý karakter.\n" - "Ýmlenmil sözcükler '()<>\\' içermeyebilir.\n" - -#: src/lang.c:177 -#, fuzzy -msgid "Illegal character in realname.\n" - "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" -msgstr "Gerçek isimde kuraldýþý karakter.\n" - "Kodlanmýþ sözcükler parametrelerde '!()<>@,;:\"\\.[]/= içermeyebilir.\n" +msgid "\n" + "Error: Bad FQDN in Message-ID: header.\n" +msgstr "\n" + "Hata: Kimilk mesajýnda bozuk FQDN: baþlýk.\n" #: src/lang.c:178 -#, fuzzy -msgid "Bad syntax in encoded word used in realname.\n" -msgstr "Gerçek isimde kullanýlan kodlanmýþ sözkükte bozuk sözdizimi.\n" +#, fuzzy, c-format +msgid "Can't unlock %s" +msgstr "Açýlamýyor %s" #: src/lang.c:179 -#, fuzzy -msgid "Illegal character in realname.\n" - "Unquoted words may not contain '()<>\\' in old-style addresses.\n" -msgstr "Gerçek isimde kuraldýþý karakter.\n" - "Ýmlenmemiþ sözcükler eski-biçemli adreslerde '()<>\\' içermeyebilir.\n" +#, fuzzy, c-format +msgid "Couldn't dotlock %s - article not appended!" +msgstr "Açýlamadý %s - makale eklenmedi!" #: src/lang.c:180 -#, fuzzy -msgid "Illegal character in realname.\n" - "Control characters and unencoded 8bit characters > 127 are not allowed.\n" -msgstr "Gerçek isimde kuraldýþý karakter. Denetim karakterlerine ve kodlanmamýþ 8bit " - "karakterlerine > 127 izin verilmedi.\n" - -#: src/lang.c:181 -#, fuzzy -msgid "\n" - "Error: No blank line found after header.\n" -msgstr "\n" - "Hata: Baþlýktan sonra boþ satýr bulunamadý.\n" +#, fuzzy, c-format +msgid "Couldn't lock %s - article not appended!" +msgstr "Kapatýlamadý %s - makale eklenmedi!" -#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:183 +#, fuzzy, c-format +msgid "Corrupted file %s" +msgstr "Virüslü dosya %s" + +#: src/lang.c:185 +#, fuzzy +msgid "\n" + "Error: Followup-To \"poster\" and a newsgroup is not allowed!\n" +msgstr "\n" + "Hata: Birden fazla haber grubu için Takip-Et ayarlandý!\n" + +#: src/lang.c:186 +msgid "Internal error in GNKSA routine - send bug report.\n" +msgstr "GNKSA yordamýnda iç hata - hata raporu gönder.\n" + +#: src/lang.c:187 #, fuzzy -msgid "\n" - "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" - " US-ASCII - please change this setting to a suitable value for\n" - " your language using the M)enu of configurable options or by\n" - " editing tinrc.\n" -msgstr "\n" - "Hata: Gönderim ASCII olmayan karakterler içeriyor ama MM_CHARSET ayarlandý.\n" - " US-ASCII - lütfen bu ayarlarý uygun deðerlere dönüþtürün\n" - " diliniz için yapýlandýrabilen seçenekler M)enüsünü kullanarak ya da\n" - " tinric düzenleyerek.\n" +msgid "Left angle bracket missing in route address.\n" +msgstr "Yordam adresinde sol açýlý ayraç eksik.\n" #: src/lang.c:188 +msgid "Left parenthesis missing in old-style address.\n" +msgstr "Eski-biçemli adreste sol ayraç eksik.\n" + +#: src/lang.c:189 +msgid "Right parenthesis missing in old-style address.\n" +msgstr "Eski-biçemli adreste sað ayraç eksik.\n" + +#: src/lang.c:190 +msgid "At-sign missing in mail address.\n" +msgstr "Posta adresinde @ iþareti eksik.\n" + +#: src/lang.c:191 +#, fuzzy +msgid "Single component FQDN is not allowed. Add your domain.\n" +msgstr "FQDN tekli bileþenine izin verilmedi. Taným kümesi ekleyin.\n" + +#: src/lang.c:192 +#, fuzzy +msgid "Invalid domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Geçersiz etki alaný. Üst düzey etki alaný varsa hata raporu gönderin.\n" + "Kullan . munged adresler için geçersiz üst düzey etki alaný.\n" + +#: src/lang.c:193 #, fuzzy -msgid "\n" - "Error: Posting contains non-ASCII characters but the MIME encoding\n" - " for news messages is set to \"7bit\" - please change this\n" - " setting to \"8bit\" or \"quoted-printable\" depending on what\n" - " is more common in your part of the world. This can be done\n" - " using the M)enu of configurable options or by editing tinrc.\n" -msgstr "\n" - "Hata: Gönderim ASCIII olmayan karakterler içeriyor ama MIME kodlanýyor\n" - " haber iletileri için \"7bit\" ayarlandý - lütfen deðiþtirin\n" - " ayarlarý \"8bit\" ya da \"quoted-printable\" baðlý olarak\n" - " yaþadýðýnýz bölgede daha yaygýn olana. Bu yapýlabilir\n" - " yapýlandýrabilen seçenekler M)enüsü kullanýlarak veya tinrc düzenlenerek.\n" +msgid "Illegal domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Kuraldýþý etki alaný. Üst düzey etki alaný varsa hata raporu gönderin.\n" + "Kuulan . munged adresler için geçersiz üst düzey etki alaný.\n" #: src/lang.c:194 #, fuzzy -msgid "\n" - "Error: Article starts with blank line instead of header\n" -msgstr "\n" - "Hata: Makale baþlýk yerine boþ satýrla baþlýyor\n" +msgid "Unknown domain. Send bug report if your top level domain really exists.\n" + "Use .invalid as top level domain for munged addresses.\n" +msgstr "Bilinmeyen etki alaný. Üst düzey etki alalný varsa hata raporu gönderin.\n" + "Kullan. munged adresler geçersiz üst düzey etki alaný.\n" #: src/lang.c:195 -#, fuzzy, c-format -msgid "\n" - "Error: Header on line %d does not have a colon after the header name:\n" - "%s\n" -msgstr "\n" - "Hata: Satýrdaki baþlýkta %d baþlýk isminden sonra iki nokta yok:\n" - "%s\n" +msgid "Illegal character in FQDN.\n" +msgstr "FQDN'de kuraldýþý karakter.\n" #: src/lang.c:196 -#, fuzzy, c-format -msgid "\n" - "Error: The \"%s:\" line is empty.\n" -msgstr "\n" - "Hata: \"%s:\"satýrý boþ.\n" +#, fuzzy +msgid "Zero length FQDN component not allowed.\n" +msgstr "Sýfýr unzunluklu FQDN bileþenine izin verilmedi.\n" #: src/lang.c:197 -#, fuzzy, c-format -msgid "\n" - "Error: The \"%s:\" line is missing from the article header.\n" -msgstr "\n" - "Hata: Makale baþlýðýnda \"%s:\" satýrý eksik.\n" +#, fuzzy +msgid "FQDN component exceeds maximum allowed length (63 chars).\n" +msgstr "FQDN bileþeni izin verilen maximum uzunluðu aþýyor.(63 kar.).\n" #: src/lang.c:198 -#, fuzzy, c-format -msgid "\n" - "Error: Header on line %d does not have a space after the colon:\n" - "%s\n" -msgstr "\n" - "Hata: %d satýrýndaki baþlýkta iki noktadan sonra boþluk yok:\n" - "%s\n" +#, fuzzy +msgid "FQDN component may not start or end with hyphen.\n" +msgstr "FQDN bileþeni tire ile baþlamayabilir veya bitmeyebilir.\n" #: src/lang.c:199 -#, fuzzy, c-format -msgid "\n" - "Error: There are multiple (%d) \"%s:\" lines in the header.\n" -msgstr "\n" - "Hata: Baþlýkta (%d) \"%s:\" çoklu satýlrarý var.\n" +#, fuzzy +msgid "FQDN component may not start with digit.\n" +msgstr "FQDN bileþeni basamak ile baþlamayabilir.\n" #: src/lang.c:200 -#, fuzzy, c-format -msgid "Insecure permissions of %s (%o)" -msgstr "Güvenli olmayan yetkiler %s (%o)" +#, fuzzy +msgid "Domain literal has impossible numeric value.\n" +msgstr "Deðiþmez etki alaný imkansýz sayýsal deðere sahip.\n" #: src/lang.c:201 -#, fuzzy, c-format -msgid "Invalid response to GROUP command, %s" -msgstr "KÜME komutuna geçersiz yanýt.%s" +#, fuzzy +msgid "Domain literal is for private use only and not allowed for global use.\n" +msgstr "Deðiþmez etki alaný sadece özel kullaným içindir ve küresel kullanýma izin " + "verilmez.\n" + +#: src/lang.c:202 +#, fuzzy +msgid "Right bracket missing in domain literal.\n" +msgstr "Deðiþmez etki alanýnda sað köþeli ayraç eksik.\n" #: src/lang.c:203 -#, fuzzy, c-format -msgid "MIME parse error: Unexpected end of %s/%s article" -msgstr "MIME ayrýþtýrma hatasý: Makale %s/%s için beklenmeyen son" +msgid "Missing localpart of mail address.\n" +msgstr "Posta adresinin yerel kýsmý eksik.\n" #: src/lang.c:204 -#, fuzzy -msgid "MIME parse error: Start boundary whilst reading headers" -msgstr "MIME ayrýþtýrma hatasý: Baþlýklarý okurken baþlatma sýnýrý" +msgid "Illegal character in localpart of mail address.\n" +msgstr "Posta adresinin yerel kýsmýnda kuraldýþý karakter.\n" #: src/lang.c:205 #, fuzzy -msgid "Can't get a (fully-qualified) domain-name!" -msgstr "(Tam niletelendirilmiþ) etki alaný adý alýnamadý!" +msgid "Zero length localpart component not allowed.\n" +msgstr "Sýfýr uzunluklu yerel kýsým bileþenine izin verilmedi.\n" #: src/lang.c:206 -#, fuzzy, c-format -msgid "No permissions to go into %s\n" -msgstr "%s için gidiþ yetkisi yok\n" +#, fuzzy +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '!()<>@,;:\\.[]' in route addresses.\n" +msgstr "Gerçek isimde kuraldýþý karakter.\n" + "Ýmlenmemiþ sözcükler yordam adreslerinde '!()<>@,;:\\.[]' içermeyebilir.\n" #: src/lang.c:207 #, fuzzy -msgid "\n" - "Error: From: line missing.\n" -msgstr "\n" - "Hata: Baþlangýç:satýr eksik.\n" +msgid "Illegal character in realname.\n" + "Quoted words may not contain '()<>\\'.\n" +msgstr "Gerçek isimde kuraldýþý karakter.\n" + "Ýmlenmil sözcükler '()<>\\' içermeyebilir.\n" #: src/lang.c:208 -#, fuzzy, c-format -msgid "No read permissions for %s\n" -msgstr "%s için okuma yetkisi yok\n" +#, fuzzy +msgid "Illegal character in realname.\n" + "Encoded words may not contain '!()<>@,;:\"\\.[]/=' in parameter.\n" +msgstr "Gerçek isimde kuraldýþý karakter.\n" + "Kodlanmýþ sözcükler parametrelerde '!()<>@,;:\"\\.[]/= içermeyebilir.\n" #: src/lang.c:209 -#, fuzzy, c-format -msgid "File %s does not exist\n" -msgstr "%s dosyasý yok\n" +#, fuzzy +msgid "Bad syntax in encoded word used in realname.\n" +msgstr "Gerçek isimde kullanýlan kodlanmýþ sözkükte bozuk sözdizimi.\n" #: src/lang.c:210 -#, fuzzy, c-format -msgid "No write permissions for %s\n" -msgstr "%s için yazma yetkisi yok\n" +#, fuzzy +msgid "Illegal character in realname.\n" + "Unquoted words may not contain '()<>\\' in old-style addresses.\n" +msgstr "Gerçek isimde kuraldýþý karakter.\n" + "Ýmlenmemiþ sözcükler eski-biçemli adreslerde '()<>\\' içermeyebilir.\n" #: src/lang.c:211 #, fuzzy -msgid "Can't get user information (/etc/passwd missing?)" -msgstr "Kullanýcý bilgisi alýnamýyor(/etc/passwd kayýp?)" +msgid "Illegal character in realname.\n" + "Control characters and unencoded 8bit characters > 127 are not allowed.\n" +msgstr "Gerçek isimde kuraldýþý karakter. Denetim karakterlerine ve kodlanmamýþ 8bit " + "karakterlerine > 127 izin verilmedi.\n" #: src/lang.c:212 #, fuzzy -msgid "errors" -msgstr "hatalar" +msgid "\n" + "Error: No blank line found after header.\n" +msgstr "\n" + "Hata: Baþlýktan sonra boþ satýr bulunamadý.\n" #: src/lang.c:213 -#, fuzzy, c-format -msgid "\n" - "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" -msgstr "\n" - "%d satýrýnda hata \"Sender:\" baþlýk için izin verilmedi (sizin için " - "eklenecek)\n" - -#: src/lang.c:214 -#, fuzzy, c-format -msgid "Server has non of the groups listed in %s" -msgstr "Sunucuda %s'de listelenen gruplarýn hiçbiri yok" +#, c-format +msgid "\n" + "Error: Illegal formatted %s.\n" +msgstr "" +#. TODO: fixme, US-ASCII is not the only 7bit charset we know about #: src/lang.c:215 #, fuzzy -msgid "error" -msgstr "hata" - -#: src/lang.c:216 -#, fuzzy -msgid "Unknown display level" -msgstr "Bilinmeyen gösterim düzeyi" - -#: src/lang.c:217 -#, fuzzy -msgid "" -msgstr "" +msgid "\n" + "Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n" + " US-ASCII - please change this setting to a suitable value for\n" + " your language using the M)enu of configurable options or by\n" + " editing tinrc.\n" +msgstr "\n" + "Hata: Gönderim ASCII olmayan karakterler içeriyor ama MM_CHARSET ayarlandý.\n" + " US-ASCII - lütfen bu ayarlarý uygun deðerlere dönüþtürün\n" + " diliniz için yapýlandýrabilen seçenekler M)enüsünü kullanarak ya da\n" + " tinric düzenleyerek.\n" -#: src/lang.c:218 +#: src/lang.c:220 #, fuzzy -msgid "Exiting..." -msgstr "Çýkýyor..." +msgid "\n" + "Error: Posting contains non-ASCII characters but the MIME encoding\n" + " for news messages is set to \"7bit\" - please change this\n" + " setting to \"8bit\" or \"quoted-printable\" depending on what\n" + " is more common in your part of the world. This can be done\n" + " using the M)enu of configurable options or by editing tinrc.\n" +msgstr "\n" + "Hata: Gönderim ASCIII olmayan karakterler içeriyor ama MIME kodlanýyor\n" + " haber iletileri için \"7bit\" ayarlandý - lütfen deðiþtirin\n" + " ayarlarý \"8bit\" ya da \"quoted-printable\" baðlý olarak\n" + " yaþadýðýnýz bölgede daha yaygýn olana. Bu yapýlabilir\n" + " yapýlandýrabilen seçenekler M)enüsü kullanýlarak veya tinrc düzenlenerek.\n" -#: src/lang.c:219 +#: src/lang.c:226 #, fuzzy -msgid "leaving external mail-reader" -msgstr "Dýþ posta-okuyucuyu býrakýyor" +msgid "\n" + "Error: Article starts with blank line instead of header\n" +msgstr "\n" + "Hata: Makale baþlýk yerine boþ satýrla baþlýyor\n" -#: src/lang.c:220 +#: src/lang.c:227 #, fuzzy, c-format -msgid "Extracting %s..." -msgstr "Ayýklýyor %s..." +msgid "\n" + "Error: Header on line %d does not have a colon after the header name:\n" + "%s\n" +msgstr "\n" + "Hata: Satýrdaki baþlýkta %d baþlýk isminden sonra iki nokta yok:\n" + "%s\n" -#: src/lang.c:222 +#: src/lang.c:228 #, fuzzy, c-format -msgid "Error writing %s file. Filesystem full? File reset to previous state." -msgstr "%s dosyasýný yazarken hata. Dosya sistemi dolu? Dosya önceki durumuna " - "dönüþtürüldü." +msgid "\n" + "Error: The \"%s:\" line is empty.\n" +msgstr "\n" + "Hata: \"%s:\"satýrý boþ.\n" -#: src/lang.c:223 +#: src/lang.c:229 #, fuzzy, c-format -msgid "Error making backup of %s file. Filesystem full?" -msgstr "%s dosyasýný yedeklemede hata. Dosya sistemi dolu?" +msgid "\n" + "Error: The \"%s:\" line is missing from the article header.\n" +msgstr "\n" + "Hata: Makale baþlýðýnda \"%s:\" satýrý eksik.\n" + +#: src/lang.c:230 +#, c-format +msgid "\n" + "Error: %s contains non 7bit chars.\n" +msgstr "" -#: src/lang.c:224 +#: src/lang.c:231 #, fuzzy, c-format -msgid "Filtering global rules (%d/%d)..." -msgstr "Genel kurallar süzgeçleniyor (%d/%d)..." +msgid "\n" + "Error: Header on line %d does not have a space after the colon:\n" + "%s\n" +msgstr "\n" + "Hata: %d satýrýndaki baþlýkta iki noktadan sonra boþluk yok:\n" + "%s\n" -#: src/lang.c:225 -#, fuzzy -msgid "Rule created by: " -msgstr "Kural oluþturuldu: " +#: src/lang.c:232 +#, fuzzy, c-format +msgid "\n" + "Error: There are multiple (%d) \"%s:\" lines in the header.\n" +msgstr "\n" + "Hata: Baþlýkta (%d) \"%s:\" çoklu satýlrarý var.\n" -#: src/lang.c:226 +#: src/lang.c:233 #, fuzzy, c-format -msgid "Enter pattern [%s]> " -msgstr "Örüntüyü girin [%s]> " +msgid "Insecure permissions of %s (%o)" +msgstr "Güvenli olmayan yetkiler %s (%o)" -#: src/lang.c:227 +#: src/lang.c:235 #, fuzzy, c-format -msgid "\n" - "You requested followups to your article to go to the following %s:\n" -msgstr "\n" - "Gitmek için makalenize takip-et istediniz %s:\n" +msgid "Invalid response to GROUP command, %s" +msgstr "KÜME komutuna geçersiz yanýt.%s" -#: src/lang.c:228 +#: src/lang.c:240 #, fuzzy, c-format -msgid " %s\t Answers will be directed to you by mail.\n" -msgstr " %s\t Cevaplarý postayla yönlendirilecek.\n" +msgid "MIME parse error: Unexpected end of %s/%s article" +msgstr "MIME ayrýþtýrma hatasý: Makale %s/%s için beklenmeyen son" -#: src/lang.c:229 -msgid "-- forwarded message --\n" -msgstr "" +#: src/lang.c:241 +#, fuzzy +msgid "MIME parse error: Start boundary whilst reading headers" +msgstr "MIME ayrýþtýrma hatasý: Baþlýklarý okurken baþlatma sýnýrý" -#: src/lang.c:230 -msgid "-- end of forwarded message --\n" -msgstr "" +#: src/lang.c:242 +#, fuzzy +msgid "\n" + "Error: \"poster\" is not allowed in Newsgroups!\n" +msgstr "\n" + "Hata: \"%s\" geçerli bir haber grubu deðil!\n" -#: src/lang.c:231 +#: src/lang.c:243 #, fuzzy -msgid "# Format:\n" - "# comment=STRING Optional. Multiple lines allowed. Comments must be " - "placed\n" - "# at the beginning of a rule, or they will be moved to " - "the\n" - "# next rule. '#' is not a valid keyword for a comment!\n" - "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" - "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" - "# score=NUM|STRING Mandatory. Score to give. Either:\n" - "# score=NUM A number (e.g. 70). Or:\n" - "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" - "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" - "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" - "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" - "# full references.\n" - "# msgid_last=STRING Optional. Like above, but with last reference only.\n" - "# msgid_only=STRING Optional. Like above, but without references.\n" - "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " - "without\n" - "# Message-ID:\n" - "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" - "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " - "opt.\n" - "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" - "# time=NUM Optional. time_t value when rule expires\n" - "#\n" -msgstr "# Format:\n" - "# comment=STRING Seçmeli. Çoklu satýrlara izin verildi. Komutlar eklenmeli\n" - "# kural baþýna, ya da taþýnacak\n" - "# sonraki kurala.'#' komut için geçerli bir anahtar sözcük " - "deðildir!\n" - "# group=STRING Zorunlu. Haber grubu listesi (örn.comp.*,!*sources*).\n" - "# case=NUM Zorunlu. Karþýlaþtýr=0 / yoksay=1 durumu süzgeçlerken.\n" - "# score=NUM|STRING Zorunlu.Verilecek skor. Her ikisi:\n" - "# score=NUM Bir Sayý (örn. 70), Ya da:\n" - "# score=STRING Ýki anahtar sözcükten biri: 'hot' ya da 'kill'.\n" - "# subj=STRING Seçmeli. Konu: satýr (örn. Nasýl sihirbaz olunur)..\n" - "# from=STRING Seçmeli. Gönderen. satýr (örn. *Craig Shergold*).\n" - "# msgid=STRING Seçmeli. Ýleti-kimliði : satýr (örn. <123@ether.net>) " - "ile\n" - "# tam referanslar.\n" - "# msgid_last=STRING Seçmeli. Yukarýdaki gibi, ama sadece ilk referansla.\n" - "# msgid_only=STRING Seçmeli. Yukarýdeki gibi, ama referans olmadan.\n" - "# Ýleti-kimliði:\n" - "# lines=[<>]?NUM Seçmeli. Satýrlar: satýr '<' or '>' seçmelidir.\n" - "# gnksa=[<>]?NUM Seçmeli. GNKSA dönüþ kodundan() ayrýþtýrýlýyor.'<' or " - "'>' opt.\n" - "# xref=PATTERN Seçmeli.Ölü örüntü (örn. alt.flame*)\n" - "# time=NUM Seçmeli.Kural bitince time_t deðeri\n" - "#\n" +msgid "Can't get a (fully-qualified) domain-name!" +msgstr "(Tam niletelendirilmiþ) etki alaný adý alýnamadý!" -#: src/lang.c:252 +#: src/lang.c:244 #, fuzzy, c-format -msgid "Enter score for rule (default=%d): " -msgstr "Kural için skoru yazýn (varsayýlan=%d): " +msgid "No permissions to go into %s\n" +msgstr "%s için gidiþ yetkisi yok\n" -#: src/lang.c:253 +#: src/lang.c:246 +#, fuzzy +msgid "\n" + "Error: From: line missing.\n" +msgstr "\n" + "Hata: Baþlangýç:satýr eksik.\n" + +#: src/lang.c:248 #, fuzzy, c-format -msgid "Enter the score weight (range 0 < score <= %d)" -msgstr "Skor aðýrlýðýný yazýn (aralýk 0 < skor <= %d)" +msgid "No read permissions for %s\n" +msgstr "%s için okuma yetkisi yok\n" -#. SCORE_MAX -#: src/lang.c:254 +#: src/lang.c:249 +#, fuzzy, c-format +msgid "File %s does not exist\n" +msgstr "%s dosyasý yok\n" + +#: src/lang.c:250 +#, fuzzy, c-format +msgid "No write permissions for %s\n" +msgstr "%s için yazma yetkisi yok\n" + +#: src/lang.c:251 #, fuzzy -msgid "Full" -msgstr "Tam" +msgid "Can't get user information (/etc/passwd missing?)" +msgstr "Kullanýcý bilgisi alýnamýyor(/etc/passwd kayýp?)" -#: src/lang.c:255 +#: src/lang.c:252 #, fuzzy -msgid "Comment (optional) : " -msgstr "Komut (seçmeli) : " +msgid "errors" +msgstr "hatalar" + +#: src/lang.c:254 +#, fuzzy, c-format +msgid "\n" + "Error on line %d: \"Sender:\" header not allowed (it will be added for you)\n" +msgstr "\n" + "%d satýrýnda hata \"Sender:\" baþlýk için izin verilmedi (sizin için " + "eklenecek)\n" #: src/lang.c:256 -#, fuzzy -msgid "Apply pattern to : " -msgstr "Örüntüyü uygula : " +#, fuzzy, c-format +msgid "Server has non of the groups listed in %s" +msgstr "Sunucuda %s'de listelenen gruplarýn hiçbiri yok" #: src/lang.c:257 #, fuzzy -msgid "From: line (ignore case) " -msgstr "Gönderen: satýr (büyük/küçük harfleri yoksay) " +msgid "error" +msgstr "hata" #: src/lang.c:258 #, fuzzy -msgid "From: line (case sensitive) " -msgstr "Gönderen: satýr (büyük/küçük harfe duyarlý) " +msgid "Unknown display level" +msgstr "Bilinmeyen gösterim düzeyi" + +#: src/lang.c:259 +#, fuzzy +msgid "" +msgstr "" #: src/lang.c:260 -#, fuzzy, c-format -msgid "%s%s: Unknown host.\n" -msgstr "%s%s: Bilinmeyen ana sunucu.\n" +#, fuzzy +msgid "Exiting..." +msgstr "Çýkýyor..." #: src/lang.c:261 #, fuzzy -msgid "global " -msgstr "küresel " +msgid "leaving external mail-reader" +msgstr "Dýþ posta-okuyucuyu býrakýyor" #: src/lang.c:262 #, fuzzy, c-format -msgid "Please use %.100s instead" -msgstr "Lütfen % kullanýn.100s yerine" - -#: src/lang.c:263 -#, c-format -msgid "%s is bogus" -msgstr "%s sahte" +msgid "Extracting %s..." +msgstr "Ayýklýyor %s..." #: src/lang.c:264 #, fuzzy, c-format -msgid "Group %s is moderated. Continue?" -msgstr "Küme %s ayarlandý. Devam?" +msgid "Error writing %s file. Filesystem full? File reset to previous state." +msgstr "%s dosyasýný yazarken hata. Dosya sistemi dolu? Dosya önceki durumuna " + "dönüþtürüldü." #: src/lang.c:265 -#, fuzzy -msgid "groups" -msgstr "kümeler" +#, fuzzy, c-format +msgid "Error making backup of %s file. Filesystem full?" +msgstr "%s dosyasýný yedeklemede hata. Dosya sistemi dolu?" #: src/lang.c:266 -#, c-format -msgid "Rereading %s..." -msgstr "%s tekrar okunuyor..." +#, fuzzy, c-format +msgid "Filtering global rules (%d/%d)..." +msgstr "Genel kurallar süzgeçleniyor (%d/%d)..." #: src/lang.c:267 #, fuzzy -msgid "Top Level Commands" -msgstr "Üst Düzey Komutlar" +msgid "Rule created by: " +msgstr "Kural oluþturuldu: " #: src/lang.c:268 -#, fuzzy -msgid "Group Selection" -msgstr "Küme Seçimi" +#, fuzzy, c-format +msgid "Enter pattern [%s]> " +msgstr "Örüntüyü girin [%s]> " #: src/lang.c:269 -#, fuzzy -msgid "group" -msgstr "küme" +#, fuzzy, c-format +msgid "\n" + "You requested followups to your article to go to the following %s:\n" +msgstr "\n" + "Gitmek için makalenize takip-et istediniz %s:\n" + +#: src/lang.c:270 +#, fuzzy, c-format +msgid " %s\t Answers will be directed to you by mail.\n" +msgstr " %s\t Cevaplarý postayla yönlendirilecek.\n" #: src/lang.c:271 -#, fuzzy -msgid "One or more lines of comment. to add a line or proceed if line is empty." -msgstr "Komutun bir veya birden çok satýrý. Satýr boþsa satýr eklemek veya devam " - "etmek için ." +msgid "-- forwarded message --\n" +msgstr "" #: src/lang.c:272 -#, fuzzy -msgid "From: line to add to filter file. toggles & sets." -msgstr "Gönderen: Süzgeç dosyaya eklenecek satýr. deðiþtirir & ayarlar." +msgid "-- end of forwarded message --\n" +msgstr "" #: src/lang.c:273 #, fuzzy -msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." -msgstr "Süzgeçlenecek makalelerin satýr sayýsý. < az , > çok , =eþit." - -#: src/lang.c:274 -#, fuzzy -msgid "Message-ID: line to add to filter file. toggles & sets." -msgstr "Ýleti-kimliði: Dosya süzgeçlemek için eklenecek satýr. deðiþtirir & " - " ayarlar." - -#: src/lang.c:275 -#, fuzzy -msgid "Subject: line to add to filter file. toggles & sets." -msgstr "Konu: Dosya süzgeçlemek için eklenecek satýr. deðiþtirir & " - "ayarlar." - -#: src/lang.c:276 -#, fuzzy -msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." -msgstr "Süzgeçlemek için metin örüntüsünü girin eðer Konu: & Gönderen: istediðiniz " - "satýrlar deðilse." - -#: src/lang.c:277 -#, fuzzy -msgid "Select where text pattern should be applied. toggles & sets." -msgstr "Metin örüntüsünün nereye uygulanacaðýný seçin. deðiþtirir & " - "ayarlar." - -#: src/lang.c:278 -#, fuzzy -msgid "Expiration time in days for the entered filter. toggles & sets." -msgstr "Yazýlan süzgeç için gün olarak kullaným süresi bitimi. deðiþtirir & " - " ayarlar." - -#: src/lang.c:279 -#, fuzzy -msgid "Apply kill only to current group or all groups. toggles & sets." -msgstr "Sadece mevcut küme veya bütün kümeler için kill uygulayýn. deðiþtirir " - "& ayarlar." - -#: src/lang.c:280 -#, fuzzy -msgid "Apply select to current group or all groups. toggles & sets." -msgstr "Mevcut küme veya bütün kümeler için seç uygulayýn deðiþtirir & " - "ayarlar." - -#: src/lang.c:281 -#, fuzzy -msgid "kill an article via a menu" -msgstr "makaleyi menü aracýlýðýyla öldür" - -#: src/lang.c:282 -#, fuzzy -msgid "auto-select (hot) an article via a menu" -msgstr "makaleyi menü aracýlýyla otomatik-seç (hot)" - -#: src/lang.c:283 -#, fuzzy -msgid "Browse URLs in article" -msgstr "Makaledeki URL'lara gözat" - -#: src/lang.c:284 -#, fuzzy -msgid "0 - 9\t display article by number in current thread" -msgstr "0 - 9\t makaleyi mevcut parçacýktaki sayýyla görüntüle" - -#: src/lang.c:285 -msgid "cancel (delete) or supersede (overwrite) current article" -msgstr "" - -#: src/lang.c:286 -#, fuzzy -msgid "edit article (mail-groups only)" -msgstr "makaleyi düzenle (sadece posta-gruplarý)" - -#: src/lang.c:287 -#, fuzzy -msgid "display first article in current thread" -msgstr "mevcut parçacýktaki makaleyi ilk görüntüle" - -#: src/lang.c:288 -#, fuzzy -msgid "display first page of article" -msgstr "makalenin ilk sayfasýný görüntüle" - -#: src/lang.c:289 -#, fuzzy -msgid "post followup to current article" -msgstr "mevcut makale için takip-et gönder" - -#: src/lang.c:290 -#, fuzzy -msgid "post followup (don't copy text) to current article" -msgstr "mevcut makale için takip-et gönder (metni kopyalama)" - -#: src/lang.c:291 -#, fuzzy -msgid "post followup to current article quoting complete headers" -msgstr "tam baþlýklarý imleyen mevcut makale için takip-et gönder" - -#: src/lang.c:292 -#, fuzzy -msgid "display last article in current thread" -msgstr "mevcut parçacýktaki son makaleyi görüntüle" - -#: src/lang.c:293 -#, fuzzy -msgid "display last page of article" -msgstr "makalenin son sayfasný görüntüle" +msgid "# Format:\n" + "# comment=STRING Optional. Multiple lines allowed. Comments must be " + "placed\n" + "# at the beginning of a rule, or they will be moved to " + "the\n" + "# next rule. '#' is not a valid keyword for a comment!\n" + "# group=STRING Mandatory. Newsgroups list (e.g. comp.*,!*sources*).\n" + "# case=NUM Mandatory. Compare=0 / ignore=1 case when filtering.\n" + "# score=NUM|STRING Mandatory. Score to give. Either:\n" + "# score=NUM A number (e.g. 70). Or:\n" + "# score=STRING One of the two keywords: 'hot' or 'kill'.\n" + "# subj=STRING Optional. Subject: line (e.g. How to be a wizard).\n" + "# from=STRING Optional. From: line (e.g. *Craig Shergold*).\n" + "# msgid=STRING Optional. Message-ID: line (e.g. <123@ether.net>) with\n" + "# full references.\n" + "# msgid_last=STRING Optional. Like above, but with last reference only.\n" + "# msgid_only=STRING Optional. Like above, but without references.\n" + "# refs_only=STRING Optional. References: line (e.g. <123@ether.net>) " + "without\n" + "# Message-ID:\n" + "# lines=[<>]?NUM Optional. Lines: line. '<' or '>' are optional.\n" + "# gnksa=[<>]?NUM Optional. GNKSA parse_from() return code. '<' or '>' " + "opt.\n" + "# xref=PATTERN Optional. Kill pattern (e.g. alt.flame*)\n" + "# time=NUM Optional. time_t value when rule expires\n" + "#\n" +msgstr "# Format:\n" + "# comment=STRING Seçmeli. Çoklu satýrlara izin verildi. Komutlar eklenmeli\n" + "# kural baþýna, ya da taþýnacak\n" + "# sonraki kurala.'#' komut için geçerli bir anahtar sözcük " + "deðildir!\n" + "# group=STRING Zorunlu. Haber grubu listesi (örn.comp.*,!*sources*).\n" + "# case=NUM Zorunlu. Karþýlaþtýr=0 / yoksay=1 durumu süzgeçlerken.\n" + "# score=NUM|STRING Zorunlu.Verilecek skor. Her ikisi:\n" + "# score=NUM Bir Sayý (örn. 70), Ya da:\n" + "# score=STRING Ýki anahtar sözcükten biri: 'hot' ya da 'kill'.\n" + "# subj=STRING Seçmeli. Konu: satýr (örn. Nasýl sihirbaz olunur)..\n" + "# from=STRING Seçmeli. Gönderen. satýr (örn. *Craig Shergold*).\n" + "# msgid=STRING Seçmeli. Ýleti-kimliði : satýr (örn. <123@ether.net>) " + "ile\n" + "# tam referanslar.\n" + "# msgid_last=STRING Seçmeli. Yukarýdaki gibi, ama sadece ilk referansla.\n" + "# msgid_only=STRING Seçmeli. Yukarýdeki gibi, ama referans olmadan.\n" + "# Ýleti-kimliði:\n" + "# lines=[<>]?NUM Seçmeli. Satýrlar: satýr '<' or '>' seçmelidir.\n" + "# gnksa=[<>]?NUM Seçmeli. GNKSA dönüþ kodundan() ayrýþtýrýlýyor.'<' or " + "'>' opt.\n" + "# xref=PATTERN Seçmeli.Ölü örüntü (örn. alt.flame*)\n" + "# time=NUM Seçmeli.Kural bitince time_t deðeri\n" + "#\n" #: src/lang.c:294 -#, fuzzy -msgid "mark rest of thread as read and advance to next unread" -msgstr "parçacýðýn kalanýný okunmuþ olarak iþaretle ve sonraki okunmamýþa geç" +#, fuzzy, c-format +msgid "Enter score for rule (default=%d): " +msgstr "Kural için skoru yazýn (varsayýlan=%d): " #: src/lang.c:295 -#, fuzzy -msgid "display next article" -msgstr "sonraki makaleyi görüntüle" +#, fuzzy, c-format +msgid "Enter the score weight (range 0 < score <= %d)" +msgstr "Skor aðýrlýðýný yazýn (aralýk 0 < skor <= %d)" +#. SCORE_MAX #: src/lang.c:296 #, fuzzy -msgid "display first article in next thread" -msgstr "sonraki baþlýktaki ilk makaleyi görüntüle" +msgid "Full" +msgstr "Tam" #: src/lang.c:297 #, fuzzy -msgid "display next unread article" -msgstr "sonraki okunmamýþ makaleyi görüntüle" +msgid "Comment (optional) : " +msgstr "Komut (seçmeli) : " #: src/lang.c:298 #, fuzzy -msgid "go to the article that this one followed up" -msgstr "bunu takip eden makaleye git" +msgid "Apply pattern to : " +msgstr "Örüntüyü uygula : " #: src/lang.c:299 #, fuzzy -msgid "display previous article" -msgstr "önceki makaleyi görüntüle" +msgid "From: line (ignore case) " +msgstr "Gönderen: satýr (büyük/küçük harfleri yoksay) " #: src/lang.c:300 #, fuzzy -msgid "display previous unread article" -msgstr "önceki okunmamýþ makaleyi görüntüle" - -#: src/lang.c:301 -#, fuzzy -msgid "quickly kill an article using defaults" -msgstr "varsayýlanlarý kullanarak makaleyi hemen öldür" +msgid "From: line (case sensitive) " +msgstr "Gönderen: satýr (büyük/küçük harfe duyarlý) " #: src/lang.c:302 -#, fuzzy -msgid "quickly auto-select (hot) an article using defaults" -msgstr "varsayýlanlarý kullanarak makaleyi hemen otomatik-seç(hot)" - -#: src/lang.c:303 -#, fuzzy -msgid "return to group selection level" -msgstr "küme seçme düzeyine dön" +#, fuzzy, c-format +msgid "%s%s: Unknown host.\n" +msgstr "%s%s: Bilinmeyen ana sunucu.\n" #: src/lang.c:304 #, fuzzy -msgid "reply through mail to author" -msgstr "yazara posta aracýlýðyla yanýt ver" +msgid "global " +msgstr "küresel " #: src/lang.c:305 -#, fuzzy -msgid "reply through mail (don't copy text) to author" -msgstr "yazara posta aracýlýyla yanýt ver (metni kopyalama)" +#, fuzzy, c-format +msgid "Please use %.100s instead" +msgstr "Lütfen % kullanýn.100s yerine" #: src/lang.c:306 -#, fuzzy -msgid "reply through mail to author quoting complete headers" -msgstr "tam baþlýklarý imleyerek yazara posta aracýlýðýyla yanýt ver" +#, c-format +msgid "%s is bogus" +msgstr "%s sahte" #: src/lang.c:307 -#, fuzzy -msgid "repost chosen article to another group" -msgstr "seçilen makaleyi baþka bir kümeye yeniden gönder" +#, fuzzy, c-format +msgid "Group %s is moderated. Continue?" +msgstr "Küme %s ayarlandý. Devam?" #: src/lang.c:308 #, fuzzy -msgid "search backwards within this article" -msgstr "bu makalede geriye doðru ara" +msgid "groups" +msgstr "kümeler" #: src/lang.c:309 -#, fuzzy -msgid "search forwards within this article" -msgstr "bu makalede ileriye doðru ara" +#, c-format +msgid "Rereading %s..." +msgstr "%s tekrar okunuyor..." #: src/lang.c:310 #, fuzzy -msgid "show article in raw-mode (including all headers)" -msgstr "makaleyi ham-kipte göster (bütün baþlýklar dahil)" +msgid "Top Level Commands" +msgstr "Üst Düzey Komutlar" #: src/lang.c:311 #, fuzzy -msgid "skip next block of included text" -msgstr "ekli dosyanýn sonraki öbeðine atla" +msgid "Group Selection" +msgstr "Küme Seçimi" #: src/lang.c:312 #, fuzzy -msgid "toggle display of sections hidden by a form-feed (^L) on/off" -msgstr "(^L)açýk/kapalý form-besleme tarafýndan gizlenen bölümlerin gösterimini " - "deðiþtir" - -#: src/lang.c:313 -#, fuzzy -msgid "toggle word highlighting on/off" -msgstr "açýk/kapalý vurgulayan sözcüðü deðiþtir" +msgid "group" +msgstr "küme" #: src/lang.c:314 #, fuzzy -msgid "toggle ROT-13 (basic decode) for current article" -msgstr "mevcut makale için ROT-13 (temel kod çözücü) deðiþtir" +msgid "One or more lines of comment. to add a line or proceed if line is empty." +msgstr "Komutun bir veya birden çok satýrý. Satýr boþsa satýr eklemek veya devam " + "etmek için ." #: src/lang.c:315 #, fuzzy -msgid "toggle tabwidth 4 <-> 8" -msgstr "sekme aralýðýný deðiþtir 4 <-> 8" +msgid "From: line to add to filter file. toggles & sets." +msgstr "Gönderen: Süzgeç dosyaya eklenecek satýr. deðiþtirir & ayarlar." #: src/lang.c:316 #, fuzzy -msgid "toggle german TeX style decoding for current article" -msgstr "german TeX kod biçemi mevcut makale için deðiþtir" +msgid "Linecount of articles to be filtered. < for less, > for more, = for equal." +msgstr "Süzgeçlenecek makalelerin satýr sayýsý. < az , > çok , =eþit." #: src/lang.c:317 #, fuzzy -msgid "toggle display of uuencoded sections" -msgstr "metinsele kodlanmýþ bölümlerin gösterimini deðiþtir" +msgid "Message-ID: line to add to filter file. toggles & sets." +msgstr "Ýleti-kimliði: Dosya süzgeçlemek için eklenecek satýr. deðiþtirir & " + " ayarlar." #: src/lang.c:318 #, fuzzy -msgid "View/save multimedia attachments" -msgstr "çoklu-ortam eklerini Görüntüle/kaydet" +msgid "Subject: line to add to filter file. toggles & sets." +msgstr "Konu: Dosya süzgeçlemek için eklenecek satýr. deðiþtirir & " + "ayarlar." #: src/lang.c:319 -#, fuzzy, c-format -msgid "report bug or comment via mail to %s" -msgstr "hata veya komutu posta aracýlýðýyla bildirin %s" +#, fuzzy +msgid "Enter text pattern to filter if Subject: & From: lines are not what you want." +msgstr "Süzgeçlemek için metin örüntüsünü girin eðer Konu: & Gönderen: istediðiniz " + "satýrlar deðilse." #: src/lang.c:320 #, fuzzy -msgid "choose range of articles to be affected by next command" -msgstr "sonraki komuttan etkilenen makalelerin aralýðýný seç" +msgid "Select where text pattern should be applied. toggles & sets." +msgstr "Metin örüntüsünün nereye uygulanacaðýný seçin. deðiþtirir & " + "ayarlar." #: src/lang.c:321 #, fuzzy -msgid "escape from command prompt" -msgstr "komut isteminden çýk" +msgid "Expiration time in days for the entered filter. toggles & sets." +msgstr "Yazýlan süzgeç için gün olarak kullaným süresi bitimi. deðiþtirir & " + " ayarlar." #: src/lang.c:322 #, fuzzy -msgid "edit filter file" -msgstr "Süz dosyasý okunuyor" +msgid "Apply kill only to current group or all groups. toggles & sets." +msgstr "Sadece mevcut küme veya bütün kümeler için kill uygulayýn. deðiþtirir " + "& ayarlar." #: src/lang.c:323 #, fuzzy -msgid "get help" -msgstr "yardým al" +msgid "Apply select to current group or all groups. toggles & sets." +msgstr "Mevcut küme veya bütün kümeler için seç uygulayýn deðiþtirir & " + "ayarlar." #: src/lang.c:324 #, fuzzy -msgid "display last article viewed" -msgstr "görüntülenen son makaleyi göster" +msgid "kill an article via a menu" +msgstr "makaleyi menü aracýlýðýyla öldür" #: src/lang.c:325 #, fuzzy -msgid "down one line" -msgstr "bir satýr aþaðý" +msgid "auto-select (hot) an article via a menu" +msgstr "makaleyi menü aracýlýyla otomatik-seç (hot)" #: src/lang.c:326 #, fuzzy -msgid "up one line" -msgstr "bir satýr aþaðý" +msgid "Browse URLs in article" +msgstr "Makaledeki URL'lara gözat" #: src/lang.c:327 #, fuzzy -msgid "go to article chosen by Message-ID" -msgstr "Ýleti-kimliði tarafýndn seçilen makaleye git" - -#: src/lang.c:328 -#, fuzzy -msgid "mail article/thread/hot/pattern/tagged articles to someone" -msgstr "makale/parçacýk/hot/örüntü/etiketlenmiþ makaleleri postala" +msgid "0 - 9\t display article by number in current thread" +msgstr "0 - 9\t makaleyi mevcut parçacýktaki sayýyla görüntüle" #: src/lang.c:329 -#, fuzzy -msgid "menu of configurable options" -msgstr "yapýlandýrabilir seçenekler menüsü" +msgid "cancel (delete) or supersede (overwrite) current article" +msgstr "" #: src/lang.c:330 #, fuzzy -msgid "down one page" -msgstr "bir sayfa alta" +msgid "post followup to current article" +msgstr "mevcut makale için takip-et gönder" #: src/lang.c:331 #, fuzzy -msgid "up one page" -msgstr "bir sayfa yukarýya" +msgid "post followup (don't copy text) to current article" +msgstr "mevcut makale için takip-et gönder (metni kopyalama)" #: src/lang.c:332 #, fuzzy -msgid "post (write) article to current group" -msgstr "makaleyi mevcut kümeye gönder(yaz)" +msgid "post followup to current article quoting complete headers" +msgstr "tam baþlýklarý imleyen mevcut makale için takip-et gönder" #: src/lang.c:333 #, fuzzy -msgid "post postponed articles" -msgstr "ertelenmiþ makaleleri postala" - -#: src/lang.c:334 -#, fuzzy -msgid "list articles posted by you (from posted file)" -msgstr "(postalanmýþ dosyadan) tarafýnýzdan postalanan makaleleri listele" +msgid "repost chosen article to another group" +msgstr "seçilen makaleyi baþka bir kümeye yeniden gönder" #: src/lang.c:335 #, fuzzy -msgid "return to previous menu" -msgstr "önceki menüye dön" +msgid "edit article (mail-groups only)" +msgstr "makaleyi düzenle (sadece posta-gruplarý)" #: src/lang.c:336 #, fuzzy -msgid "quit tin immediately" -msgstr "tin'den hemen çýk" +msgid "display first article in current thread" +msgstr "mevcut parçacýktaki makaleyi ilk görüntüle" #: src/lang.c:337 #, fuzzy -msgid "redraw page" -msgstr "sayfayý yeniden çiz" +msgid "display first page of article" +msgstr "makalenin ilk sayfasýný görüntüle" #: src/lang.c:338 #, fuzzy -msgid "save article/thread/hot/pattern/tagged articles to file" -msgstr "makale/parçacýk/hot/örüntü/etiketlenmiþ makaleleri dosyaya kaydet" +msgid "display last article in current thread" +msgstr "mevcut parçacýktaki son makaleyi görüntüle" #: src/lang.c:339 #, fuzzy -msgid "save marked articles automatically without user prompts" -msgstr "iþaretlenmiþ makaleleri kullanýcý istemi olmadan otomatik kaydet" +msgid "display last page of article" +msgstr "makalenin son sayfasný görüntüle" #: src/lang.c:340 -msgid "scroll the screen one line down" -msgstr "" +#, fuzzy +msgid "mark rest of thread as read and advance to next unread" +msgstr "parçacýðýn kalanýný okunmuþ olarak iþaretle ve sonraki okunmamýþa geç" #: src/lang.c:341 -msgid "scroll the screen one line up" -msgstr "" +#, fuzzy +msgid "display next article" +msgstr "sonraki makaleyi görüntüle" #: src/lang.c:342 #, fuzzy -msgid "search for articles by author backwards" -msgstr "makaleleri yazara göre geriye doðru ara" +msgid "display first article in next thread" +msgstr "sonraki baþlýktaki ilk makaleyi görüntüle" #: src/lang.c:343 #, fuzzy -msgid "search for articles by author forwards" -msgstr "makaleleri yazara göre ileriye doðru ara" +msgid "display next unread article" +msgstr "sonraki okunmamýþ makaleyi görüntüle" #: src/lang.c:344 #, fuzzy -msgid "search all articles for a given string (this may take some time)" -msgstr "bütün makaleleri verilen dizgi için ara (bu uzun sürebilir)" +msgid "go to the article that this one followed up" +msgstr "bunu takip eden makaleye git" #: src/lang.c:345 #, fuzzy -msgid " \t (searches are case-insensitive and wrap around to all articles)" -msgstr " \t (arayýcýlar büyük/küçük harfe duyarlýdýr ve bütün makaleleri çevreler)" +msgid "display previous article" +msgstr "önceki makaleyi görüntüle" #: src/lang.c:346 #, fuzzy -msgid "search for articles by Subject line backwards" -msgstr "makaleleri Konu satýrýna göre geriye doðru ara" +msgid "display previous unread article" +msgstr "önceki okunmamýþ makaleyi görüntüle" #: src/lang.c:347 #, fuzzy -msgid "search for articles by Subject line forwards" -msgstr "makaleleri Konuya göre ileriye doðru ara" +msgid "quickly kill an article using defaults" +msgstr "varsayýlanlarý kullanarak makaleyi hemen öldür" #: src/lang.c:348 #, fuzzy -msgid "repeat last search" -msgstr "son aramayý tekrarla" +msgid "quickly auto-select (hot) an article using defaults" +msgstr "varsayýlanlarý kullanarak makaleyi hemen otomatik-seç(hot)" #: src/lang.c:349 #, fuzzy -msgid "tag current article for reposting/mailing/piping/printing/saving" -msgstr "mevcut makaleyi yeniden gönderme/postalama/kanal/yazdýrma/kaydetme için " - "etiketle" +msgid "return to group selection level" +msgstr "küme seçme düzeyine dön" #: src/lang.c:350 #, fuzzy -msgid "toggle info message in last line (subject/description)" -msgstr "son satýrdaki bilgi iletisini deðiþtir (konu/taným)" +msgid "reply through mail to author" +msgstr "yazara posta aracýlýðyla yanýt ver" #: src/lang.c:351 #, fuzzy -msgid "toggle inverse video" -msgstr "ters video'yu deðiþtir" +msgid "reply through mail (don't copy text) to author" +msgstr "yazara posta aracýlýyla yanýt ver (metni kopyalama)" #: src/lang.c:352 #, fuzzy -msgid "toggle mini help menu display" -msgstr "mini yardým menüsü görünümünü deðiþtir" +msgid "reply through mail to author quoting complete headers" +msgstr "tam baþlýklarý imleyerek yazara posta aracýlýðýyla yanýt ver" #: src/lang.c:353 #, fuzzy -msgid "cycle the display of authors email address, real name, both or neither" -msgstr "yazarlarýn e-posta adreslerinin, gerçek isimlerinin, ikisinin veya hiçbirinin " - "görünümünü çevir" +msgid "search backwards within this article" +msgstr "bu makalede geriye doðru ara" #: src/lang.c:354 #, fuzzy -msgid "show version information" -msgstr "sürüm bilgisini göster" +msgid "search forwards within this article" +msgstr "bu makalede ileriye doðru ara" #: src/lang.c:355 #, fuzzy -msgid "mark all articles as read and return to group selection menu" -msgstr "bürtümn makaleleri okunmuþ olarak iþaretle ve küme seçme menüsüne geri dön" +msgid "show article in raw-mode (including all headers)" +msgstr "makaleyi ham-kipte göster (bütün baþlýklar dahil)" #: src/lang.c:356 #, fuzzy -msgid "mark all articles as read and enter next group with unread articles" -msgstr "bütün makaleleri okunmuþ olarak iþaretle ve okunmamýþ makalelerin bulunduðu " - "sonraki kümeye gir" +msgid "skip next block of included text" +msgstr "ekli dosyanýn sonraki öbeðine atla" #: src/lang.c:357 #, fuzzy -msgid "choose first thread in list" -msgstr "listedeki ilk parçacýðý seç" +msgid "toggle display of sections hidden by a form-feed (^L) on/off" +msgstr "(^L)açýk/kapalý form-besleme tarafýndan gizlenen bölümlerin gösterimini " + "deðiþtir" #: src/lang.c:358 #, fuzzy -msgid "choose last thread in list" -msgstr "listedeki son parçacýðý seç" +msgid "toggle display of all headers" +msgstr "bütün/okunmamýþ makalelerin görünümünü deðiþtir" #: src/lang.c:359 #, fuzzy -msgid "list articles within current thread (bring up Thread sub-menu)" -msgstr "mevcut parçacýk kapsamýndaki makaleleri seç ( Parçacýk alt-menüsünü aç)" +msgid "toggle word highlighting on/off" +msgstr "açýk/kapalý vurgulayan sözcüðü deðiþtir" #: src/lang.c:360 #, fuzzy -msgid "mark article as unread" -msgstr "makaleyi okunmamýþ olarak iþaretle" +msgid "toggle ROT-13 (basic decode) for current article" +msgstr "mevcut makale için ROT-13 (temel kod çözücü) deðiþtir" #: src/lang.c:361 #, fuzzy -msgid "mark current thread or tagged threads as read" -msgstr "mevcut parçacýðý veya etiketlenmiþ parçacýklarý okunmuþ olarak iþaretle " +msgid "toggle tabwidth 4 <-> 8" +msgstr "sekme aralýðýný deðiþtir 4 <-> 8" #: src/lang.c:362 #, fuzzy -msgid "mark thread as unread" -msgstr "parçacýðý okunmamýþ olarak iþaretle" +msgid "toggle german TeX style decoding for current article" +msgstr "german TeX kod biçemi mevcut makale için deðiþtir" #: src/lang.c:363 #, fuzzy -msgid "toggle display of all/selected articles" -msgstr "Bütün/seçilen makalelerin görünümünü deðiþtir" +msgid "toggle display of uuencoded sections" +msgstr "metinsele kodlanmýþ bölümlerin gösterimini deðiþtir" #: src/lang.c:364 #, fuzzy -msgid "display next group" -msgstr "sonraki kümeyi görüntüle" +msgid "View/pipe/save multimedia attachments" +msgstr "çoklu-ortam eklerini Görüntüle/kaydet" #: src/lang.c:365 #, fuzzy -msgid "display previous group" -msgstr "önceki kümeyi görüntüle" +msgid "choose first attachment in list" +msgstr "listedeki ilk makaleyi seç" #: src/lang.c:366 #, fuzzy -msgid "toggle all selections (all articles)" -msgstr "bütün seçimleri (bütün makaleleri) deðiþtir" +msgid "0 - 9\t choose attachment by number" +msgstr "0 - 9\t sayýya göre makale seç" #: src/lang.c:367 #, fuzzy -msgid "select group (make \"hot\")" -msgstr "küme seç (yap \"hot\")" - -#: src/lang.c:368 -#, fuzzy -msgid "select thread" -msgstr "parçacýk seç" +msgid "choose last attachment in list" +msgstr "listedeki son makaleyi seç" #: src/lang.c:369 -#, fuzzy -msgid "select threads if at least one unread article is selected" -msgstr "en az bir okunmamýþ makale seçilmiþse parçacýk seç)" +msgid "pipe attachment into command" +msgstr "" #: src/lang.c:370 #, fuzzy -msgid "select threads that match user specified pattern" -msgstr "kullanýcý tanýmlý kalýba uyan baþlýklarý seç" - -#: src/lang.c:371 -#, fuzzy -msgid "tag all parts of current multipart-message in order" -msgstr "mevcut çok-bölümlü iletinin bütün bölümlerini sýrayla etiketle" +msgid "pipe raw attachment into command" +msgstr "Makale Düzey Komutlarý" #: src/lang.c:372 -#, fuzzy -msgid "0 - 9\t choose thread by number" -msgstr "0 - 9\t sayýya göre parçacýk seç" +msgid "save attachment to disk" +msgstr "" #: src/lang.c:373 #, fuzzy -msgid "toggle limit number of articles to get, and reload" -msgstr "alýnacak ve yeniden yüklenecek makalelerin sýnýr sayýsýný deðiþtir." +msgid "search for attachments forwards" +msgstr "makaleleri yazara göre ileriye doðru ara" #: src/lang.c:374 #, fuzzy -msgid "toggle display of all/unread articles" -msgstr "bütün/okunmamýþ makalelerin görünümünü deðiþtir" +msgid "search for attachments backwards" +msgstr "makaleleri yazara göre geriye doðru ara" #: src/lang.c:375 -#, fuzzy -msgid "toggle selection of thread" -msgstr "parçacýk seçimini deðiþtir" +msgid "view attachment" +msgstr "" #: src/lang.c:376 #, fuzzy -msgid "cycle through threading options available" -msgstr "kullanýlabilir parçacýk seçenekleriyle çevir" +msgid "tag attachment" +msgstr "Makale seç> " #: src/lang.c:377 #, fuzzy -msgid "undo all selections (all articles)" -msgstr "bütün seçimleri (bütün makaleleri) geri al" +msgid "tag attachments that match user specified pattern" +msgstr "kullanýcý tanýmlý kalýba uyan baþlýklarý seç" #: src/lang.c:378 -#, fuzzy -msgid "untag all tagged threads" -msgstr "etiketlenmiþ bütün parçacýklarýn etiketini kaldýr" +msgid "reverse tagging on all attachments (toggle)" +msgstr "" #: src/lang.c:379 #, fuzzy -msgid "mark all articles in group as read" -msgstr "kümedeki bütün makaleleri okunmuþ olarak iþaretle" +msgid "untag all tagged attachments" +msgstr "etiketlenmiþ bütün parçacýklarýn etiketini kaldýr" #: src/lang.c:380 #, fuzzy -msgid "mark all articles in group as read and move to next unread group" -msgstr "kümedeki bütün makaleleri okumuþ olarak iþaretle ve sonraki okunmamýþ kümeye " - "geç" +msgid "toggle info message in last line (name/description of attachment)" +msgstr "son satýrdaki bilgi iletisini deðiþtir (konu/taným)" #: src/lang.c:381 #, fuzzy -msgid "choose first group in list" -msgstr "listedeki ilk kümeyi seç" +msgid "choose first attribute in list" +msgstr "listedeki ilk makaleyi seç" #: src/lang.c:382 #, fuzzy -msgid "choose group by name" -msgstr "Ýsme göre küme seç" +msgid "0 - 9\t choose attribute by number" +msgstr "0 - 9\t sayýya göre makale seç" #: src/lang.c:383 #, fuzzy -msgid "0 - 9\t choose group by number" -msgstr "0 - 9\t sayýya göre küme seç" +msgid "choose last attribute in list" +msgstr "listedeki son makaleyi seç" #: src/lang.c:384 -#, fuzzy -msgid "choose range of groups to be affected by next command" -msgstr "sonraki komuttan etkilenecek olan kümelerin aralýðýný seç" +msgid "reset attribute to a default value" +msgstr "" #: src/lang.c:385 #, fuzzy -msgid "choose last group in list" -msgstr "listedeki son kümeyi seç" +msgid "search forwards for an attribute" +msgstr "ileriye doðru küme ismi ara" #: src/lang.c:386 #, fuzzy -msgid "mark all articles in chosen group unread" -msgstr "seçilen kümedeki bütün makaleleri okunmamýþ olarak iþaretle" +msgid "search backwards for an attribute" +msgstr "geriye doðru küme ismi ara" #: src/lang.c:387 #, fuzzy -msgid "move chosen group within list" -msgstr "Listede seçilen kümeye git" +msgid "select attribute" +msgstr "parçacýk seç" #: src/lang.c:388 -#, fuzzy -msgid "choose next group with unread news" -msgstr "okunmamýþ haberlerde sonraki kümeyi seç" +msgid "toggle back to options menu when invoked from there" +msgstr "" -#: src/lang.c:389 src/lang.c:1197 -#, fuzzy -msgid "quit" -msgstr "çýk" +#: src/lang.c:389 +#, fuzzy, c-format +msgid "report bug or comment via mail to %s" +msgstr "hata veya komutu posta aracýlýðýyla bildirin %s" #: src/lang.c:390 #, fuzzy -msgid "quit without saving configuration changes" -msgstr "yapýlandýrabilir deðiþiklikleri kaydetmeden çýk" +msgid "choose first option in list" +msgstr "listedeki ilk kümeyi seç" #: src/lang.c:391 #, fuzzy -msgid "read chosen group" -msgstr "seçilen kümeyi oku" +msgid "0 - 9\t choose option by number" +msgstr "0 - 9\t sayýya göre küme seç" #: src/lang.c:392 #, fuzzy -msgid "reset .newsrc (all available articles in groups marked unread)" -msgstr "reset .newsrc (kümelerdeki bütün kullanýlabilir makaleler okunmamýþ olarak " - "iþaretlendi)" +msgid "choose last option in list" +msgstr "listedeki son kümeyi seç" #: src/lang.c:393 #, fuzzy -msgid "search backwards for a group name" -msgstr "geriye doðru küme ismi ara" +msgid "start scopes menu" +msgstr "önceki menüye dön" #: src/lang.c:394 #, fuzzy -msgid " \t (all searches are case-insensitive and wrap around)" -msgstr " \t (bütün arayýcýlar büyük/küçük harfe duyarlýdýr ve çevreler)" +msgid "search forwards for an option" +msgstr "ileriye doðru küme ismi ara" #: src/lang.c:395 #, fuzzy -msgid "search forwards for a group name" -msgstr "ileriye doðru küme ismi ara" +msgid "search backwards for an option" +msgstr "geriye doðru küme ismi ara" #: src/lang.c:396 #, fuzzy -msgid "subscribe to chosen group" -msgstr "seçilen kümeye abone ol" +msgid "select option" +msgstr "seç" #: src/lang.c:397 -#, fuzzy -msgid "subscribe to groups that match pattern" -msgstr "örüntüye uyan kümelere abone ol" +msgid "toggle to attributes menu" +msgstr "" #: src/lang.c:398 #, fuzzy -msgid "reread active file to check for any new news" -msgstr "aktif dosyayý yeni haberleri onaylamak için yeniden oku" +msgid "choose range of articles to be affected by next command" +msgstr "sonraki komuttan etkilenen makalelerin aralýðýný seç" #: src/lang.c:399 #, fuzzy -msgid "toggle display of group name only or group name plus description" -msgstr "sadece küme ismini veya küme ismi ve taným görünümünü deðiþtir" +msgid "escape from command prompt" +msgstr "komut isteminden çýk" #: src/lang.c:400 #, fuzzy -msgid "toggle display to show all/unread subscribed groups" -msgstr "bütün7okunmamýþ abone olmayan kümeleri göstermek için görünümü deðiþtir" +msgid "edit filter file" +msgstr "Süz dosyasý okunuyor" #: src/lang.c:401 #, fuzzy -msgid "unsubscribe from chosen group" -msgstr "seçilen küme için abonelikten çýk" +msgid "get help" +msgstr "yardým al" #: src/lang.c:402 #, fuzzy -msgid "unsubscribe from groups that match pattern" -msgstr "örüntüye uyan bütün kümeler için abonelikten çýk" +msgid "display last article viewed" +msgstr "görüntülenen son makaleyi göster" #: src/lang.c:403 #, fuzzy -msgid "sort the list of groups" -msgstr "küme listelerini sýrala" +msgid "down one line" +msgstr "bir satýr aþaðý" #: src/lang.c:404 #, fuzzy -msgid "toggle display to show all/subscribed groups" -msgstr "bütün/abone olmayan kümeleri göstermek için görünümü deðiþtir" +msgid "up one line" +msgstr "bir satýr aþaðý" #: src/lang.c:405 #, fuzzy -msgid "0 - 9\t choose article by number" -msgstr "0 - 9\t sayýya göre makale seç" +msgid "go to article chosen by Message-ID" +msgstr "Ýleti-kimliði tarafýndn seçilen makaleye git" #: src/lang.c:406 #, fuzzy -msgid "mark thread as read and return to group index page" -msgstr "parçacýðý okunmuþ olarak iþaretle ve küme dizin sayfasýna geri dön" +msgid "mail article/thread/hot/pattern/tagged articles to someone" +msgstr "makale/parçacýk/hot/örüntü/etiketlenmiþ makaleleri postala" #: src/lang.c:407 #, fuzzy -msgid "mark thread as read and enter next unread thread or group" -msgstr "parçacýðý okunmuþ olarak iþaretle ve sonraki okunmamýþ parçacýða veya kümeye " - "gir" +msgid "menu of configurable options" +msgstr "yapýlandýrabilir seçenekler menüsü" #: src/lang.c:408 #, fuzzy -msgid "choose first article in list" -msgstr "listedeki ilk makaleyi seç" +msgid "down one page" +msgstr "bir sayfa alta" #: src/lang.c:409 #, fuzzy -msgid "choose last article in list" -msgstr "listedeki son makaleyi seç" - -#: src/lang.c:410 -#, fuzzy -msgid "mark article or tagged articles as read and move cursor to next unread article" -msgstr "makaleyi veya etiketlenen makaleleri okunmuþ olarak iþaretle ve imleçi " - "sonraki okunmamýþ makaleye taþý" +msgid "up one page" +msgstr "bir sayfa yukarýya" #: src/lang.c:411 #, fuzzy -msgid "read chosen article" -msgstr "seçilen makaleyi oku" +msgid "post (write) article to current group" +msgstr "makaleyi mevcut kümeye gönder(yaz)" #: src/lang.c:412 #, fuzzy -msgid "Display properties\n" - "------------------" -msgstr "Özellikleri görüntüle\n" - "---------------------" - -#: src/lang.c:413 -#, fuzzy -msgid "Miscellaneous\n" - "-------------" -msgstr "Diðer\n" - "-----" +msgid "post postponed articles" +msgstr "ertelenmiþ makaleleri postala" #: src/lang.c:414 #, fuzzy -msgid "Moving around\n" - "-------------" -msgstr "Etrafýna taþý\n" - "-------------" +msgid "list articles posted by you (from posted file)" +msgstr "(postalanmýþ dosyadan) tarafýnýzdan postalanan makaleleri listele" #: src/lang.c:415 #, fuzzy -msgid "Group/thread/article operations\n" - "-------------------------------" -msgstr "Küme/parçacýk/makale iþlemleri\n" - "-------------------------------" +msgid "return to previous menu" +msgstr "önceki menüye dön" + +#: src/lang.c:416 +#, fuzzy +msgid "quit tin immediately" +msgstr "tin'den hemen çýk" #: src/lang.c:417 #, fuzzy -msgid "Group Level Commands" -msgstr "Küme Düzey Komutlarý" +msgid "redraw page" +msgstr "sayfayý yeniden çiz" #: src/lang.c:418 #, fuzzy -msgid "Kill filter added" -msgstr "Eklendikten sonra öldür" +msgid "save article/thread/hot/pattern/tagged articles to file" +msgstr "makale/parçacýk/hot/örüntü/etiketlenmiþ makaleleri dosyaya kaydet" #: src/lang.c:419 #, fuzzy -msgid "Auto-selection filter added" -msgstr "Eklendikten sonra otomatik-seç" +msgid "save marked articles automatically without user prompts" +msgstr "iþaretlenmiþ makaleleri kullanýcý istemi olmadan otomatik kaydet" #: src/lang.c:420 -#, fuzzy -msgid "All parts tagged" -msgstr "Bütün bölümler etiketlendi" +msgid "scroll the screen one line down" +msgstr "" #: src/lang.c:421 -#, fuzzy -msgid "Storing article for later posting" -msgstr "Makale daha sonra postlama için yükleniyor" +msgid "scroll the screen one line up" +msgstr "" #: src/lang.c:422 #, fuzzy -msgid "Please enter a valid character" -msgstr "Lütfen geçerli bir karakter yazýn" +msgid "search for articles by author backwards" +msgstr "makaleleri yazara göre geriye doðru ara" #: src/lang.c:423 -#, fuzzy, c-format -msgid "Missing part #%d" -msgstr "Eksik bölüm #%d" +#, fuzzy +msgid "search for articles by author forwards" +msgstr "makaleleri yazara göre ileriye doðru ara" #: src/lang.c:424 #, fuzzy -msgid "*** No postponed articles ***" -msgstr "*** Ertelenmiþ makale yok ***" +msgid "search all articles for a given string (this may take some time)" +msgstr "bütün makaleleri verilen dizgi için ara (bu uzun sürebilir)" #: src/lang.c:425 #, fuzzy -msgid "Not a multi-part message" -msgstr "Çok-bölümlü ileti deðil" +msgid " \t (searches are case-insensitive and wrap around to all articles)" +msgstr " \t (arayýcýlar büyük/küçük harfe duyarlýdýr ve bütün makaleleri çevreler)" #: src/lang.c:426 #, fuzzy -msgid "You are not subscribed to this group" -msgstr "Bu kümeye abone deðilsiniz" +msgid "search for articles by Subject line backwards" +msgstr "makaleleri Konu satýrýna göre geriye doðru ara" #: src/lang.c:427 #, fuzzy -msgid "No previous expression" -msgstr "Önceki ifade yok" +msgid "search for articles by Subject line forwards" +msgstr "makaleleri Konuya göre ileriye doðru ara" #: src/lang.c:428 #, fuzzy -msgid "Operation disabled in no-overwrite mode" -msgstr "Üstüne yazýlmayan kipte iþlem geçersiz" +msgid "repeat last search" +msgstr "son aramayý tekrarla" + +#: src/lang.c:429 +#, fuzzy +msgid "tag current article for reposting/mailing/piping/printing/saving" +msgstr "mevcut makaleyi yeniden gönderme/postalama/kanal/yazdýrma/kaydetme için " + "etiketle" -#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:430 -#, fuzzy, c-format -msgid "%d postponed %s, reuse with ^O...\n" -msgstr "%d ertelendi %s, tekrar kullan ^O...\n" +#, fuzzy +msgid "toggle info message in last line (subject/description)" +msgstr "son satýrdaki bilgi iletisini deðiþtir (konu/taným)" #: src/lang.c:431 #, fuzzy -msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" - " To get the whole article, turn alternative handling OFF in the Option Menu\n" -msgstr "X-Çevirim Notu: çok-bölümlü/alternatif içerikler kaldýrýldý.\n" - " Bütün makaleyi almak için, Seçenekler Menüsündeki alternatif kotarmayý\n" - " OFF durumuna getirin\n" +msgid "toggle inverse video" +msgstr "ters video'yu deðiþtir" + +#: src/lang.c:432 +#, fuzzy +msgid "toggle mini help menu display" +msgstr "mini yardým menüsü görünümünü deðiþtir" #: src/lang.c:433 -#, fuzzy, c-format -msgid "Save filename for %s/%s is a mailbox. Attachment not saved" -msgstr "Dosya adýný %s/%s için kaydet bir posta kutusudur. Ek kaydedilmedi" +#, fuzzy +msgid "cycle the display of authors email address, real name, both or neither" +msgstr "yazarlarýn e-posta adreslerinin, gerçek isimlerinin, ikisinin veya hiçbirinin " + "görünümünü çevir" #: src/lang.c:434 #, fuzzy -msgid "TeX2Iso encoded article" -msgstr "TeX2Iso makaleyi kodladý" +msgid "show version information" +msgstr "sürüm bilgisini göster" #: src/lang.c:435 #, fuzzy -msgid "incomplete " -msgstr "tamamlanmadý " +msgid "mark all articles as read and return to group selection menu" +msgstr "bürtümn makaleleri okunmuþ olarak iþaretle ve küme seçme menüsüne geri dön" + +#: src/lang.c:436 +#, fuzzy +msgid "mark all articles as read and enter next group with unread articles" +msgstr "bütün makaleleri okunmuþ olarak iþaretle ve okunmamýþ makalelerin bulunduðu " + "sonraki kümeye gir" -#. TODO: replace hardcoded key-names #: src/lang.c:437 -#, fuzzy, c-format -msgid "\n" - "Welcome to %s, a full screen threaded Netnews reader. It can read news " - "locally\n" - "(ie. /news) or remotely (-r option) from a NNTP (Network News " - "Transport\n" - "Protocol) server. -h lists the available command line options.\n" - "\n" - "%s has four newsreading levels, the newsgroup selection page, the group " - "index\n" - "page, the thread listing page and the article viewer. Help is available at " - "each\n" - "level by pressing the 'h' command.\n" - "\n" - "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " - "or\n" - "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" - "\n" - "Articles, threads, tagged articles or articles matching a pattern can be " - "mailed\n" - "('m' command), printed ('o' command), saved ('s' command), piped ('|' " - "command).\n" - "Use the 'w' command to post a news article, the 'f'/'F' commands to post " - "a\n" - "follow-up to an existing news article and the 'r'/'R' commands to reply " - "via\n" - "mail to an existing news article author. The 'M' command allows the " - "operation\n" - "of %s to be configured via a menu.\n" - "\n" - "For more information read the manual page, README, INSTALL, TODO and FTP " - "files.\n" - "Please send bug-reports/comments to %s with the 'R' command.\n" -msgstr "\n" - "Hoþgeldiniz %s, tam ekran Netnews okuyucu kullandý. Haberleri yerel olarak\n" - "(örn. /news) veya uzaktan (-r seçeneði) NNTP ((Network News Transport\n" - "Protocol) sunucusundan okuyabilir. -h kullanýlabilir komut satýrý " - "seçeneklerini listeler.\n" - "\n" - "%s dört haber okuma düzeyine sahiptir, haber grubu seçme sayfasý, grup dizin\n" - "sayfasý, kullaným listeleyen sayfa ve makale görüntüleyici. Yardým her\n" - "düzeyde 'h' komutuna basýlarak kullanýlabilir.\n" - "\n" - " 'j' ve 'k' uçbirim yön tuþlarýný kullanarak aþaðý/yukarý taþýyýn. Sayfayý " - "aþaðý/yukarý taþýmak için PgUp/PgDn ya da\n" - "Ctrl-U ve Ctrl-D kullanýn. Haber grubuna RETURN/TAB'a basarak girin.\n" - "\n" - "Makaleler, parçacýklar, etiketlenmiþ makaleler veya bir örüntüye uyan " - "makaleler postalanabilir\n" - "('m' komutu), yazdýr ('o' komutu), kaydet ('s' komutu), kanal ('I' komutu).\n" - "Bir haber makalesini postalamak için 'w' komutunu, var olan bir haber " - "makalesini takip-et için 'f'/'F' komutunu\n" - " ve var olan bir haber makalesi yazarýna posta yoluyla yanýt için 'r'/'R'\n" - " komutunu kullanýn. 'M' komutu menü aracýlýðýyla yapýlandýrýlacak %s için\n" - " iþleme izin verir.\n" - "\n" - "Daha fazla bilgi çin el ile sayfasýný, README, INSTALL, TODO ve FTP " - "dosyalarýný okuyun.\n" - "Hata-raporlarýný ve önerileri 'R' komutu ile %s'e gönderin.\n" +#, fuzzy +msgid "choose first thread in list" +msgstr "listedeki ilk parçacýðý seç" + +#: src/lang.c:438 +#, fuzzy +msgid "choose last thread in list" +msgstr "listedeki son parçacýðý seç" + +#: src/lang.c:439 +#, fuzzy +msgid "list articles within current thread (bring up Thread sub-menu)" +msgstr "mevcut parçacýk kapsamýndaki makaleleri seç ( Parçacýk alt-menüsünü aç)" + +#: src/lang.c:440 +#, fuzzy +msgid "mark article as unread" +msgstr "makaleyi okunmamýþ olarak iþaretle" + +#: src/lang.c:441 +#, fuzzy +msgid "mark current thread, range or tagged threads as read" +msgstr "mevcut parçacýðý veya etiketlenmiþ parçacýklarý okunmuþ olarak iþaretle " + +#: src/lang.c:442 +#, fuzzy +msgid "mark current thread, range or tagged threads as unread" +msgstr "mevcut parçacýðý veya etiketlenmiþ parçacýklarý okunmuþ olarak iþaretle " + +#: src/lang.c:443 +msgid "mark current/range/selected/pattern/tagged as read after prompting" +msgstr "" + +#: src/lang.c:444 +msgid "mark current/range/selected/pattern/tagged as unread after prompting" +msgstr "" + +#: src/lang.c:445 +#, fuzzy +msgid "toggle display of all/selected articles" +msgstr "Bütün/seçilen makalelerin görünümünü deðiþtir" + +#: src/lang.c:446 +#, fuzzy +msgid "display next group" +msgstr "sonraki kümeyi görüntüle" + +#: src/lang.c:447 +#, fuzzy +msgid "display previous group" +msgstr "önceki kümeyi görüntüle" + +#: src/lang.c:448 +#, fuzzy +msgid "toggle all selections (all articles)" +msgstr "bütün seçimleri (bütün makaleleri) deðiþtir" + +#: src/lang.c:449 +#, fuzzy +msgid "select group (make \"hot\")" +msgstr "küme seç (yap \"hot\")" + +#: src/lang.c:450 +#, fuzzy +msgid "select thread" +msgstr "parçacýk seç" + +#: src/lang.c:451 +#, fuzzy +msgid "select threads if at least one unread article is selected" +msgstr "en az bir okunmamýþ makale seçilmiþse parçacýk seç)" + +#: src/lang.c:452 +#, fuzzy +msgid "select threads that match user specified pattern" +msgstr "kullanýcý tanýmlý kalýba uyan baþlýklarý seç" #: src/lang.c:453 -#, fuzzy, c-format -msgid "Invalid From: %s line. Read the INSTALL file again." -msgstr "Geçersiz Gönderen: %s satýrý. INSTALL dosyasýný yeniden okuyun." +#, fuzzy +msgid "tag all parts of current multipart-message in order" +msgstr "mevcut çok-bölümlü iletinin bütün bölümlerini sýrayla etiketle" + +#: src/lang.c:454 +#, fuzzy +msgid "0 - 9\t choose thread by number" +msgstr "0 - 9\t sayýya göre parçacýk seç" #: src/lang.c:455 -msgid "Invalid multibyte sequence found\n" -msgstr "" +#, fuzzy +msgid "toggle limit number of articles to get, and reload" +msgstr "alýnacak ve yeniden yüklenecek makalelerin sýnýr sayýsýný deðiþtir." + +#: src/lang.c:456 +#, fuzzy +msgid "toggle display of all/unread articles" +msgstr "bütün/okunmamýþ makalelerin görünümünü deðiþtir" #: src/lang.c:457 -#, fuzzy, c-format -msgid "Invalid Sender:-header %s" -msgstr "Geçersiz Gönderen: -baþlýk %s" +#, fuzzy +msgid "toggle selection of thread" +msgstr "parçacýk seçimini deðiþtir" #: src/lang.c:458 #, fuzzy -msgid "Inverse video disabled" -msgstr "Ters video geçersiz" +msgid "cycle through threading options available" +msgstr "kullanýlabilir parçacýk seçenekleriyle çevir" #: src/lang.c:459 #, fuzzy -msgid "Inverse video enabled" -msgstr "Ters video geçerli" +msgid "undo all selections (all articles)" +msgstr "bütün seçimleri (bütün makaleleri) geri al" + +#: src/lang.c:460 +#, fuzzy +msgid "untag all tagged threads" +msgstr "etiketlenmiþ bütün parçacýklarýn etiketini kaldýr" #: src/lang.c:461 -#, fuzzy, c-format -msgid "Missing definition for %s\n" -msgstr "Taným eksik %s\n" +msgid "add new scope" +msgstr "" #: src/lang.c:462 -#, fuzzy, c-format -msgid "Invalid key definition '%s'\n" -msgstr "Geçersiz tuþ tanýmý '%s'\n" +#, fuzzy +msgid "delete scope" +msgstr "Örüntü alanýný seç: " #: src/lang.c:463 -#, fuzzy, c-format -msgid "Invalid keyname '%s'\n" -msgstr "Geçersiz anahtar sözcük '%s'\n" +#, fuzzy +msgid "edit attributes file" +msgstr "Öznitelikler dosylasýný yazýyor..." #: src/lang.c:464 -#, c-format -msgid "Keymap file was upgraded to version %s\n" -msgstr "" +#, fuzzy +msgid "choose first scope in list" +msgstr "listedeki ilk kümeyi seç" #: src/lang.c:465 -#, fuzzy, c-format -msgid "Kill From: [%s] (y/n): " -msgstr "Göndereni yok et: [%s] (y/n): " +#, fuzzy +msgid "0 - 9\t choose scope by number" +msgstr "0 - 9\t sayýya göre küme seç" #: src/lang.c:466 #, fuzzy -msgid "Kill Lines: (num): " -msgstr "Satýrlarý yok et:(num): " +msgid "choose last scope in list" +msgstr "listedeki son kümeyi seç" #: src/lang.c:467 -#, fuzzy -msgid "Kill Article Menu" -msgstr "Makale menüsünü yok et" +msgid "move scope" +msgstr "" #: src/lang.c:468 -#, fuzzy, c-format -msgid "Kill Msg-Id: [%s] (f/l/o/n): " -msgstr "Ýleti-Kimliðini yko et: [%s] (f/l/o/n): " +msgid "rename scope" +msgstr "" #: src/lang.c:469 #, fuzzy -msgid "Kill pattern scope : " -msgstr "Örüntü kapsamýný yok et: " +msgid "select scope" +msgstr "kabuk çýkýþý" #: src/lang.c:470 -#, fuzzy, c-format -msgid "Kill Subject: [%s] (y/n): " -msgstr "Konuyu yok et: [%s] (y/n): " +#, fuzzy +msgid "mark all articles in group as read" +msgstr "kümedeki bütün makaleleri okunmuþ olarak iþaretle" #: src/lang.c:471 #, fuzzy -msgid "Kill text pattern : " -msgstr "Metin örüntüsünü yok et : " +msgid "mark all articles in group as read and move to next unread group" +msgstr "kümedeki bütün makaleleri okumuþ olarak iþaretle ve sonraki okunmamýþ kümeye " + "geç" #: src/lang.c:472 #, fuzzy -msgid "Kill time in days : " -msgstr "Zamaný gün olarak yok et: " +msgid "choose first group in list" +msgstr "listedeki ilk kümeyi seç" + +#: src/lang.c:473 +#, fuzzy +msgid "choose group by name" +msgstr "Ýsme göre küme seç" #: src/lang.c:474 #, fuzzy -msgid "Last" -msgstr "Son" +msgid "0 - 9\t choose group by number" +msgstr "0 - 9\t sayýya göre küme seç" #: src/lang.c:475 #, fuzzy -msgid "-- Last response --" -msgstr "-- Son yanýt --" +msgid "choose range of groups to be affected by next command" +msgstr "sonraki komuttan etkilenecek olan kümelerin aralýðýný seç" #: src/lang.c:476 -#, fuzzy, c-format -msgid "Lines %s " -msgstr "Satýrlar %s " +#, fuzzy +msgid "choose last group in list" +msgstr "listedeki son kümeyi seç" + +#: src/lang.c:477 +#, fuzzy +msgid "mark all articles in chosen group unread" +msgstr "seçilen kümedeki bütün makaleleri okunmamýþ olarak iþaretle" #: src/lang.c:478 #, fuzzy -msgid "Message-ID: line " -msgstr "Ýleti-Kimliði: satýr " +msgid "move chosen group within list" +msgstr "Listede seçilen kümeye git" #: src/lang.c:479 #, fuzzy -msgid "Mail" -msgstr "Postalandý" +msgid "choose next group with unread news" +msgstr "okunmamýþ haberlerde sonraki kümeyi seç" -#: src/lang.c:480 +#: src/lang.c:480 src/lang.c:1351 #, fuzzy -msgid "mailbox " -msgstr "posta kutusu " +msgid "quit" +msgstr "çýk" #: src/lang.c:481 -#, fuzzy, c-format -msgid "Mail article(s) to [%.*s]> " -msgstr "Makaleleri postala [%.*s]> " +#, fuzzy +msgid "quit without saving configuration changes" +msgstr "yapýlandýrabilir deðiþiklikleri kaydetmeden çýk" #: src/lang.c:482 -#, fuzzy, c-format -msgid "Mailing log to %s\n" -msgstr "Günlüðü postalýyor %s\n" +#, fuzzy +msgid "read chosen group" +msgstr "seçilen kümeyi oku" #: src/lang.c:483 #, fuzzy -msgid "Mail bug report..." -msgstr "Hata raporu postala..." +msgid "reset .newsrc (all available articles in groups marked unread)" +msgstr "reset .newsrc (kümelerdeki bütün kullanýlabilir makaleler okunmamýþ olarak " + "iþaretlendi)" #: src/lang.c:484 -#, fuzzy, c-format -msgid "Mail BUG REPORT to %s?" -msgstr "HATA RAPORUNU postala %s?" +#, fuzzy +msgid "search backwards for a group name" +msgstr "geriye doðru küme ismi ara" #: src/lang.c:485 #, fuzzy -msgid "Mailed" -msgstr "Postalandý" +msgid " \t (all searches are case-insensitive and wrap around)" +msgstr " \t (bütün arayýcýlar büyük/küçük harfe duyarlýdýr ve çevreler)" #: src/lang.c:486 -#, fuzzy, c-format -msgid "Mailing to %s..." -msgstr "Postalanýyor %s..." +#, fuzzy +msgid "search forwards for a group name" +msgstr "ileriye doðru küme ismi ara" #: src/lang.c:487 #, fuzzy -msgid "# [Mail/Save] active file. Format is like news active file:\n" - "# groupname max.artnum min.artnum /dir\n" - "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" - "#\n" -msgstr "# (Mail/Save) aktif dosya. Format haber aktif dosyasyla ayný:\n" - "# grup ismi max.artnum min.artnum /dir\n" - "# 4. alan basedir(örn.~/Mail or ~/News)\n" - "#\n" +msgid "subscribe to chosen group" +msgstr "seçilen kümeye abone ol" + +#: src/lang.c:488 +#, fuzzy +msgid "subscribe to groups that match pattern" +msgstr "örüntüye uyan kümelere abone ol" + +#: src/lang.c:489 +#, fuzzy +msgid "reread active file to check for any new news" +msgstr "aktif dosyayý yeni haberleri onaylamak için yeniden oku" #: src/lang.c:490 -#, fuzzy, c-format -msgid "%s marked as unread" -msgstr "%s okunmamýþ olarak iþaretlendi" +#, fuzzy +msgid "toggle display of group name only or group name plus description" +msgstr "sadece küme ismini veya küme ismi ve taným görünümünü deðiþtir" #: src/lang.c:491 -#, fuzzy, c-format -msgid "Marked %d of %d tagged %s as read" -msgstr "%d içerisinde %d iþaretlendi %s okunmuþ olarak etiketlendi" +#, fuzzy +msgid "toggle display to show all/unread subscribed groups" +msgstr "bütün7okunmamýþ abone olmayan kümeleri göstermek için görünümü deðiþtir" #: src/lang.c:492 -#, fuzzy, c-format -msgid "Mark all articles as read%s?" -msgstr "Bütün makaleleri okunmuþ olarak iþaretle%s?" +#, fuzzy +msgid "unsubscribe from chosen group" +msgstr "seçilen küme için abonelikten çýk" #: src/lang.c:493 -#, fuzzy, c-format -msgid "Mark %s=tagged articles, %s=current article, %s=quit: " -msgstr "Ýþaretle %s=etiketlenen makaleler, %s=mevcut makale, %s=çýk: " +#, fuzzy +msgid "unsubscribe from groups that match pattern" +msgstr "örüntüye uyan bütün kümeler için abonelikten çýk" #: src/lang.c:494 -#, fuzzy, c-format -msgid "Mark group %s as read?" -msgstr "Küme %s 'i okunmuþ olarak iþaretle?" +#, fuzzy +msgid "sort the list of groups" +msgstr "küme listelerini sýrala" #: src/lang.c:495 -#, fuzzy, c-format -msgid "Mark thread as read%s?" -msgstr "Parçacýk %s 'i okunmuþ olarak iþaretle?" +#, fuzzy +msgid "toggle display to show all/subscribed groups" +msgstr "bütün/abone olmayan kümeleri göstermek için görünümü deðiþtir" #: src/lang.c:496 -#, fuzzy, c-format -msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " -msgstr "Ýþaretle %s=etiketlenen makale7parçacýklar, %s= mevcut parçacýk, %s=çýk: " +#, fuzzy +msgid "0 - 9\t choose article by number" +msgstr "0 - 9\t sayýya göre makale seç" #: src/lang.c:497 -#, fuzzy, c-format -msgid "Matching %s groups..." -msgstr "%s kümelerini eþleþtiriyor..." +#, fuzzy +msgid "mark thread as read and return to group index page" +msgstr "parçacýðý okunmuþ olarak iþaretle ve küme dizin sayfasýna geri dön" -#: src/lang.c:498 src/lang.c:502 -#, fuzzy, c-format -msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" -msgstr "=muvcut n için ayarlandý; %s=sonraki okunmayan; %s=arama örüntüsü; %s=yok " - "et/seç" +#: src/lang.c:498 +#, fuzzy +msgid "mark thread as read and enter next unread thread or group" +msgstr "parçacýðý okunmuþ olarak iþaretle ve sonraki okunmamýþ parçacýða veya kümeye " + "gir" #: src/lang.c:499 -#, fuzzy, c-format -msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " - "thread" -msgstr "%s=yazar aramasý; %s=catchup; %s=alt satýr; %s=üst satýr; %s= okunmuþ " - "iþaretle; %s=parçacýk listele" +#, fuzzy +msgid "choose first article in list" +msgstr "listedeki ilk makaleyi seç" #: src/lang.c:500 -#, fuzzy, c-format -msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" -msgstr "%s=üst satýr; %s=alt satýr; %s=üst sayfa; %s= alt sayfa; %s=üst; %s=alt" +#, fuzzy +msgid "choose last article in list" +msgstr "listedeki son makaleyi seç" #: src/lang.c:501 -#, fuzzy, c-format -msgid "%s=search forwards; %s=search backwards; %s=quit" -msgstr "%s=ileriye doðru ara; %s=geriye doðru ara; %s=çýk" +#, fuzzy +msgid "mark art, range or tagged arts as read; move crsr to next unread art" +msgstr "makaleyi veya etiketlenen makaleleri okunmuþ olarak iþaretle ve imleçi " + "sonraki okunmamýþ makaleye taþý" + +#: src/lang.c:502 +#, fuzzy +msgid "mark article, range or tagged articles as unread" +msgstr "makaleyi okunmamýþ olarak iþaretle" #: src/lang.c:503 -#, fuzzy, c-format -msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" -msgstr "%s=yazar aramasý; %s=gövde aramasý; %s=catchup; %s=takip-et; %s=okumuþ olarak " - "iþaretle" +#, fuzzy +msgid "mark current thread as unread" +msgstr "parçacýðý okunmamýþ olarak iþaretle" #: src/lang.c:504 -#, fuzzy, c-format -msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" -msgstr "=mevcut n için ayarlandý; %s=sonraki okunmayan; %s,%s=arama örgüsü; %" - "s=catchup" +#, fuzzy +msgid "read chosen article" +msgstr "seçilen makaleyi oku" #: src/lang.c:505 -#, fuzzy, c-format -msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" -msgstr "%s=alt satýr; %s=üst satýr; %s=yardým; %s=taþý; %s=çýk; %s=bütün/okunmamýþ " - "deðiþtir" +#, fuzzy +msgid "Display properties\n" + "------------------" +msgstr "Özellikleri görüntüle\n" + "---------------------" #: src/lang.c:506 -#, fuzzy, c-format -msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" -msgstr "%s=abone ol; %s=alt örüntü; %s=abonelikten çýk; %s=alt olmayan örüntü; %" - "s=yank in/out" +#, fuzzy +msgid "Miscellaneous\n" + "-------------" +msgstr "Diðer\n" + "-----" #: src/lang.c:507 -#, fuzzy, c-format -msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" -msgstr "= muvcut n için ayarlandý; %s=sonraki okunmayan; %s=catchup; %s=deðiþimi " - "görüntüle" +#, fuzzy +msgid "Moving around\n" + "-------------" +msgstr "Etrafýna taþý\n" + "-------------" #: src/lang.c:508 -#, fuzzy, c-format -msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" -msgstr "%s=yardým; %s=alt satýr; %s=üst satýr; %s=quit; %s=etiketle; %s=okunmamýþ " - "olarak iþaretle" +#, fuzzy +msgid "Group/thread/article operations\n" + "-------------------------------" +msgstr "Küme/parçacýk/makale iþlemleri\n" + "-------------------------------" #: src/lang.c:509 #, fuzzy -msgid "--More--" -msgstr "--Tümü--" +msgid "Attachment operations\n" + "---------------------" +msgstr "Özellikleri görüntüle\n" + "---------------------" #: src/lang.c:510 -#, fuzzy, c-format -msgid "Moving %s..." -msgstr "Taþýnan %s..." +#, fuzzy +msgid "Attribute operations\n" + "--------------------" +msgstr "Özellikleri görüntüle\n" + "---------------------" + +#: src/lang.c:511 +#, fuzzy +msgid "Option operations\n" + "-----------------" +msgstr "Özellikleri görüntüle\n" + "---------------------" #: src/lang.c:512 #, fuzzy -msgid ", name: " -msgstr ", isim: " +msgid "Scope operations\n" + "----------------" +msgstr "Özellikleri görüntüle\n" + "---------------------" #: src/lang.c:513 -#, fuzzy, c-format -msgid "Goto newsgroup [%s]> " -msgstr "Haber grubuna gidin [%s]> " +#, fuzzy +msgid "URL operations\n" + "--------------" +msgstr "Özellikleri görüntüle\n" + "---------------------" #: src/lang.c:514 #, fuzzy -msgid "newsgroups" -msgstr "haber gruplarý" +msgid "choose first URL in list" +msgstr "listedeki ilk kümeyi seç" #: src/lang.c:515 -#, fuzzy, c-format -msgid "Position %s in group list (1,2,..,$) [%d]> " -msgstr "Grup listesinde %s konumlayýn (1,2,..,$) [%d]> " +#, fuzzy +msgid "0 - 9\t choose URL by number" +msgstr "0 - 9\t sayýya göre küme seç" #: src/lang.c:516 #, fuzzy -msgid "newsgroup" -msgstr "haber gruplarý" +msgid "choose last URL in list" +msgstr "listedeki son kümeyi seç" #: src/lang.c:517 #, fuzzy -msgid "Try and save newsrc file again?" -msgstr "Newsrc dosyasýný kaydetmeyi tekrar dene?" +msgid "search for URLs forwards" +msgstr "makaleleri yazara göre ileriye doðru ara" #: src/lang.c:518 #, fuzzy -msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." -msgstr "Uyarý: Newsrc dosyanýza herhangi bir haber grubu yazýlmadý. Kaydetme " - "durduruldu." +msgid "search for URLs backwards" +msgstr "makaleleri yazara göre geriye doðru ara" #: src/lang.c:519 -#, fuzzy -msgid "newsrc file saved successfully.\n" -msgstr "newsrc dosyasý baþarýyla kaydedildi.\n" +msgid "Open URL in browser" +msgstr "" #: src/lang.c:520 #, fuzzy -msgid "-- Next response --" -msgstr "-- Sonraki yanýt --" - -#: src/lang.c:521 -#, fuzzy, c-format -msgid "NNTP authorization password not found for %s" -msgstr "NNTP yetki þifresi %s için bulunamadý" +msgid "toggle info message in last line (URL)" +msgstr "son satýrdaki bilgi iletisini deðiþtir (konu/taným)" #: src/lang.c:522 #, fuzzy -msgid "No " -msgstr "Hayýr" +msgid "Group Level Commands" +msgstr "Küme Düzey Komutlarý" #: src/lang.c:523 #, fuzzy -msgid "*** No articles ***" -msgstr "*** Makale yok ***" +msgid "Kill filter added" +msgstr "Eklendikten sonra öldür" #: src/lang.c:524 #, fuzzy -msgid "No articles have been posted" -msgstr "Hiçbir makale gönderilmedi" +msgid "Auto-selection filter added" +msgstr "Eklendikten sonra otomatik-seç" #: src/lang.c:525 #, fuzzy -msgid "*** No description ***" -msgstr "*** Taným yok ***" +msgid "All parts tagged" +msgstr "Bütün bölümler etiketlendi" #: src/lang.c:526 #, fuzzy -msgid "No filename" -msgstr "Dosya adý yok" +msgid "Storing article for later posting" +msgstr "Makale daha sonra postlama için yükleniyor" #: src/lang.c:527 #, fuzzy -msgid "No group" -msgstr "Küme yok" +msgid "Please enter a valid character" +msgstr "Lütfen geçerli bir karakter yazýn" #: src/lang.c:528 -#, fuzzy -msgid "*** No groups ***" -msgstr "*** Kümeler yok ***" +#, fuzzy, c-format +msgid "Missing part #%d" +msgstr "Eksik bölüm #%d" #: src/lang.c:529 #, fuzzy -msgid "No more groups to read" -msgstr "Okunacak küme kalmadý" +msgid "*** No postponed articles ***" +msgstr "*** Ertelenmiþ makale yok ***" #: src/lang.c:530 #, fuzzy -msgid "No last message" -msgstr "Son ileti yok" +msgid "Not a multi-part message" +msgstr "Çok-bölümlü ileti deðil" #: src/lang.c:531 #, fuzzy -msgid "No mail address" -msgstr "Posta adresi yok" +msgid "You are not subscribed to this group" +msgstr "Bu kümeye abone deðilsiniz" #: src/lang.c:532 #, fuzzy -msgid "No articles marked for saving" -msgstr "Kaydetmek için hiçbir makale iþaretlenmedi" +msgid "No previous expression" +msgstr "Önceki ifade yok" #: src/lang.c:533 #, fuzzy -msgid "No match" -msgstr "Eþ yok" - -#: src/lang.c:534 -#, fuzzy -msgid "No more groups" -msgstr "Baþka küme yok" +msgid "Operation disabled in no-overwrite mode" +msgstr "Üstüne yazýlmayan kipte iþlem geçersiz" +#. TODO: replace hardcoded key-name in txt_info_postponed #: src/lang.c:535 -#, fuzzy -msgid "No newsgroups" -msgstr "Haber gruplarý yok" +#, fuzzy, c-format +msgid "%d postponed %s, reuse with ^O...\n" +msgstr "%d ertelendi %s, tekrar kullan ^O...\n" #: src/lang.c:536 #, fuzzy -msgid "No next unread article" -msgstr "Sonraki okunmamýþ makale yok" - -#: src/lang.c:537 -#, fuzzy -msgid "No previous group" -msgstr "Önceki küme yok" +msgid "X-Conversion-Note: multipart/alternative contents have been removed.\n" + " To get the whole article, turn alternative handling OFF in the Option Menu\n" +msgstr "X-Çevirim Notu: çok-bölümlü/alternatif içerikler kaldýrýldý.\n" + " Bütün makaleyi almak için, Seçenekler Menüsündeki alternatif kotarmayý\n" + " OFF durumuna getirin\n" #: src/lang.c:538 -#, fuzzy -msgid "No previous unread article" -msgstr "Önceki okunmamýþ makale yok" +#, fuzzy, c-format +msgid "Save filename for %s/%s is a mailbox. Attachment not saved" +msgstr "Dosya adýný %s/%s için kaydet bir posta kutusudur. Ek kaydedilmedi" #: src/lang.c:539 #, fuzzy -msgid "No responses" -msgstr "Yanýt yok" +msgid "TeX2Iso encoded article" +msgstr "TeX2Iso makaleyi kodladý" #: src/lang.c:540 #, fuzzy -msgid "No responses to list in current thread" -msgstr "Mevcut parçacýkta listelemek için hiç yanýt yok" - -#: src/lang.c:541 -#, fuzzy -msgid "No search string" -msgstr "Arama dizgisi yok" +msgid "incomplete " +msgstr "tamamlanmadý " +#. TODO: replace hardcoded key-names #: src/lang.c:542 -#, fuzzy -msgid "No subject" -msgstr "Konu yok" - -#: src/lang.c:544 -#, fuzzy, c-format -msgid "%s: Terminal must have clear to end-of-line (ce)\n" -msgstr "%s: Uçbirim satýr sonuna kadar boþ olmak zorunda (ce)\n" - -#: src/lang.c:545 -#, fuzzy, c-format -msgid "%s: Terminal must have clear to end-of-screen (cd)\n" -msgstr "%s: Uçbirim ekran sonuna kadar boþ olmak zorunda (cd)\n" - -#: src/lang.c:546 -#, fuzzy, c-format -msgid "%s: Terminal must have clearscreen (cl) capability\n" -msgstr "%s: Uçbirimin ekran temizleme (cl) yeteneði olmalý\n" - -#: src/lang.c:547 -#, fuzzy, c-format -msgid "%s: Terminal must have cursor motion (cm)\n" -msgstr "%s: Uçbirimin imleç hareketi olmalý (cm)\n" - -#: src/lang.c:548 -#, fuzzy, c-format -msgid "%s: TERM variable must be set to use screen capabilities\n" -msgstr "%s: TERM deðiþkeni ekran yetenekleri kullanýlacak þekilde ayarlanmalý\n" - -#: src/lang.c:550 #, fuzzy, c-format -msgid "No viewer found for %s/%s\n" -msgstr "%s/%s için görüntüleyici yok\n" - -#: src/lang.c:551 -#, fuzzy -msgid "Newsgroup does not exist on this server" -msgstr "Bu sunucuda haber grubu yok" +msgid "\n" + "Welcome to %s, a full screen threaded Netnews reader. It can read news " + "locally\n" + "(ie. /news) or remotely (-r option) from a NNTP (Network News " + "Transport\n" + "Protocol) server. -h lists the available command line options.\n" + "\n" + "%s has four newsreading levels, the newsgroup selection page, the group " + "index\n" + "page, the thread listing page and the article viewer. Help is available at " + "each\n" + "level by pressing the 'h' command.\n" + "\n" + "Move up/down by using the terminal arrow keys or 'j' and 'k'. Use PgUp/PgDn " + "or\n" + "Ctrl-U and Ctrl-D to page up/down. Enter a newsgroup by pressing RETURN/TAB.\n" + "\n" + "Articles, threads, tagged articles or articles matching a pattern can be " + "mailed\n" + "('m' command), printed ('o' command), saved ('s' command), piped ('|' " + "command).\n" + "Use the 'w' command to post a news article, the 'f'/'F' commands to post " + "a\n" + "follow-up to an existing news article and the 'r'/'R' commands to reply " + "via\n" + "mail to an existing news article author. The 'M' command allows the " + "operation\n" + "of %s to be configured via a menu.\n" + "\n" + "For more information read the manual page, README, INSTALL, TODO and FTP " + "files.\n" + "Please send bug-reports/comments to %s with the 'R' command.\n" +msgstr "\n" + "Hoþgeldiniz %s, tam ekran Netnews okuyucu kullandý. Haberleri yerel olarak\n" + "(örn. /news) veya uzaktan (-r seçeneði) NNTP ((Network News Transport\n" + "Protocol) sunucusundan okuyabilir. -h kullanýlabilir komut satýrý " + "seçeneklerini listeler.\n" + "\n" + "%s dört haber okuma düzeyine sahiptir, haber grubu seçme sayfasý, grup dizin\n" + "sayfasý, kullaným listeleyen sayfa ve makale görüntüleyici. Yardým her\n" + "düzeyde 'h' komutuna basýlarak kullanýlabilir.\n" + "\n" + " 'j' ve 'k' uçbirim yön tuþlarýný kullanarak aþaðý/yukarý taþýyýn. Sayfayý " + "aþaðý/yukarý taþýmak için PgUp/PgDn ya da\n" + "Ctrl-U ve Ctrl-D kullanýn. Haber grubuna RETURN/TAB'a basarak girin.\n" + "\n" + "Makaleler, parçacýklar, etiketlenmiþ makaleler veya bir örüntüye uyan " + "makaleler postalanabilir\n" + "('m' komutu), yazdýr ('o' komutu), kaydet ('s' komutu), kanal ('I' komutu).\n" + "Bir haber makalesini postalamak için 'w' komutunu, var olan bir haber " + "makalesini takip-et için 'f'/'F' komutunu\n" + " ve var olan bir haber makalesi yazarýna posta yoluyla yanýt için 'r'/'R'\n" + " komutunu kullanýn. 'M' komutu menü aracýlýðýyla yapýlandýrýlacak %s için\n" + " iþleme izin verir.\n" + "\n" + "Daha fazla bilgi çin el ile sayfasýný, README, INSTALL, TODO ve FTP " + "dosyalarýný okuyun.\n" + "Hata-raporlarýný ve önerileri 'R' komutu ile %s'e gönderin.\n" + +#: src/lang.c:558 +#, fuzzy, c-format +msgid "Invalid From: %s line. Read the INSTALL file again." +msgstr "Geçersiz Gönderen: %s satýrý. INSTALL dosyasýný yeniden okuyun." + +#: src/lang.c:560 +msgid "Invalid multibyte sequence found\n" +msgstr "" -#: src/lang.c:552 +#: src/lang.c:563 #, fuzzy, c-format -msgid "Group %s not found in active file" -msgstr "Küme %s aktif dosyada bulunamadý" +msgid "Invalid Sender:-header %s" +msgstr "Geçersiz Gönderen: -baþlýk %s" -#: src/lang.c:553 +#: src/lang.c:565 #, fuzzy -msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "c)yarat, a)lternatif isim kullan, d)varsayýlaný kullan, mewsrc, q)tin'den " - "çýk: " +msgid "Inverse video disabled" +msgstr "Ters video geçersiz" -#: src/lang.c:554 +#: src/lang.c:566 #, fuzzy -msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " -msgstr "a)lternatif isim kullan, d)varsayýlaný kullan, newsrc, q)tin'den çýk: " +msgid "Inverse video enabled" +msgstr "Ters video geçerli" -#: src/lang.c:555 +#: src/lang.c:568 #, fuzzy, c-format -msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" - "# shortname list for %s %s\n" - "#\n" - "# the format of this file is\n" - "# ...\n" - "#\n" - "# if is given without path, $HOME is assumed as its location\n" - "#\n" - "# examples:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" -msgstr "# NNTP-sunucu -> newsrc çeviri dosyasý ile NNTP-sunucu\n" - "# %s %s için kýsaltma listesi\n" - "#\n" - "# bu dosyanýn biçimi\n" - "# ...\n" - "#\n" - "# eðer yol gösterilmeden verildiyse, $HOME onun yeri " - "varsayýlýr\n" - "#\n" - "# örnekler:\n" - "# news.tin.org .newsrc-tin.org tinorg\n" - "# news.ka.nu /tmp/nrc-nu kanu nu\n" - "#\n" - -#: src/lang.c:562 -#, fuzzy -msgid "Only" -msgstr "Sadece" +msgid "Missing definition for %s\n" +msgstr "Taným eksik %s\n" -#: src/lang.c:563 +#: src/lang.c:569 #, fuzzy, c-format -msgid "Option not enabled. Recompile with %s." -msgstr "Seçenek etkin kýlýnmadý. Yeniden derle %s." - -#: src/lang.c:564 -#, fuzzy -msgid "Options Menu" -msgstr "Seçenekler menüsü" +msgid "Invalid key definition '%s'\n" +msgstr "Geçersiz tuþ tanýmý '%s'\n" -#: src/lang.c:567 +#: src/lang.c:570 #, fuzzy, c-format -msgid "Error in regex: %s at pos. %d '%s'" -msgstr "Regex'de hata: poda %s. %d '%s'" +msgid "Invalid keyname '%s'\n" +msgstr "Geçersiz anahtar sözcük '%s'\n" -#: src/lang.c:568 -#, fuzzy, c-format -msgid "Error in regex: pcre internal error %d" -msgstr "Regex'de hata: pcre iç hata %d" +#: src/lang.c:571 +#, c-format +msgid "Keymap file was upgraded to version %s\n" +msgstr "" -#: src/lang.c:569 +#: src/lang.c:572 #, fuzzy, c-format -msgid "Error in regex: study - pcre internal error %s" -msgstr "Regex'de hata: incele - pcre iç hata %s" +msgid "Kill From: [%s] (y/n): " +msgstr "Göndereni yok et: [%s] (y/n): " -#: src/lang.c:570 +#: src/lang.c:573 #, fuzzy -msgid "Post a followup..." -msgstr "Takip edici gönder..." +msgid "Kill Lines: (num): " +msgstr "Satýrlarý yok et:(num): " -#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone -#: src/lang.c:572 +#: src/lang.c:574 #, fuzzy -msgid "An error has occurred while posting the article. If you think that this\n" - "error is temporary or otherwise correctable, you can postpone the article\n" - "and pick it up again with ^O later.\n" -msgstr "Makaleyi gönderirken hata oluþtu. Bu makalenin düzeltibeleceðini " - "düþünüyorsanýz, makaleyi erteleyebilir ve tekrar ^O komutunu kulanarak " - "ulaþabilirsiniz.\n" +msgid "Kill Article Menu" +msgstr "Makale menüsünü yok et" #: src/lang.c:575 -#, fuzzy -msgid "Posted articles history" -msgstr "Gönderilmiþ makalelerin geçmiþi" +#, fuzzy, c-format +msgid "Kill Msg-Id: [%s] (f/l/o/n): " +msgstr "Ýleti-Kimliðini yko et: [%s] (f/l/o/n): " #: src/lang.c:576 -#, fuzzy, c-format -msgid "Post to newsgroup(s) [%s]> " -msgstr "habergrup(lar)a gönder [%s]> " +#, fuzzy +msgid "Kill pattern scope : " +msgstr "Örüntü kapsamýný yok et: " #: src/lang.c:577 -#, fuzzy -msgid "-- post processing started --" -msgstr "-- gönderme iþlemi baþlatýldý --" +#, fuzzy, c-format +msgid "Kill Subject: [%s] (y/n): " +msgstr "Konuyu yok et: [%s] (y/n): " #: src/lang.c:578 #, fuzzy -msgid "-- post processing completed --" -msgstr "-- gönderme iþlemi tamamlandý --" +msgid "Kill text pattern : " +msgstr "Metin örüntüsünü yok et : " #: src/lang.c:579 -#, fuzzy, c-format -msgid "Post subject [%s]> " -msgstr "Konuyu gönder (%s)> " - -#: src/lang.c:580 #, fuzzy -msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" -msgstr "# 'W' komutundan görünebilir postalanmýþ/gönderilmiþ iletilerin özeti.\n" +msgid "Kill time in days : " +msgstr "Zamaný gün olarak yok et: " #: src/lang.c:581 #, fuzzy -msgid "Posting article..." -msgstr "Makale gönderiliyor..." +msgid "Last" +msgstr "Son" #: src/lang.c:582 -#, fuzzy, c-format -msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " -msgstr "Ertelenmiþ makaleleri gönder [%%s]? (%s/%s/%s/%s/%s): " +#, fuzzy +msgid "-- Last response --" +msgstr "-- Son yanýt --" #: src/lang.c:583 #, fuzzy, c-format -msgid "Hot %s" -msgstr "Hot %s" - -#: src/lang.c:584 -#, fuzzy, c-format -msgid "Tagged %s" -msgstr "%s imlenmiþ" +msgid "Lines %s " +msgstr "Satýrlar %s " #: src/lang.c:585 -#, fuzzy, c-format -msgid "Untagged %s" -msgstr "%s imlenmemiþ" +#, fuzzy +msgid "Mail" +msgstr "Postalandý" #: src/lang.c:586 #, fuzzy -msgid "Processing mail messages marked for deletion." -msgstr "Silinmek için iþaretlenen iletilerin iþletilmesi." +msgid "mailbox " +msgstr "posta kutusu " #: src/lang.c:587 -#, fuzzy -msgid "Processing saved articles marked for deletion." -msgstr "Silinmek için iþaretlenen kaydedilmiþ makalelerin iþletilmesi." +#, fuzzy, c-format +msgid "Mail article(s) to [%.*s]> " +msgstr "Makaleleri postala [%.*s]> " #: src/lang.c:588 #, fuzzy, c-format -msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " -msgstr "Takip edilsin? %s=gönder, %s=yoksay, %s=terk et: " +msgid "Mailing log to %s\n" +msgstr "Günlüðü postalýyor %s\n" #: src/lang.c:589 #, fuzzy -msgid "Article unchanged, abort mailing?" -msgstr "Makale deðiþtirilmesini, posta iptal edilsin mi?" +msgid "Mail bug report..." +msgstr "Hata raporu postala..." #: src/lang.c:590 #, fuzzy, c-format -msgid "Do you want to see postponed articles (%d)?" -msgstr "Ertelediðiniz makaleleri görmek ister misiniz (%d)?" +msgid "Mail BUG REPORT to %s?" +msgstr "HATA RAPORUNU postala %s?" -#: src/lang.c:592 +#: src/lang.c:591 #, fuzzy -msgid "Add quick kill filter?" -msgstr "Öldürücü hýzlý süzü eklensin mi?" +msgid "Mailed" +msgstr "Postalandý" -#: src/lang.c:593 -#, fuzzy -msgid "Add quick selection filter?" -msgstr "Hýzlý seçenek süzü eklensin mi?" +#: src/lang.c:592 +#, fuzzy, c-format +msgid "Mailing to %s..." +msgstr "Postalanýyor %s..." -#: src/lang.c:594 +#: src/lang.c:593 #, fuzzy -msgid "Do you really want to quit?" -msgstr "Terketmek istediðinizden emin misiniz?" - -#: src/lang.c:595 -#, fuzzy, c-format -msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " -msgstr "%s=düzenle iletiyi iptal et, %s=terk et, %s=sil (iptal) [%%s]: " +msgid "# [Mail/Save] active file. Format is like news active file:\n" + "# groupname max.artnum min.artnum /dir\n" + "# The 4th field is the basedir (ie. ~/Mail or ~/News)\n" + "#\n" +msgstr "# (Mail/Save) aktif dosya. Format haber aktif dosyasyla ayný:\n" + "# grup ismi max.artnum min.artnum /dir\n" + "# 4. alan basedir(örn.~/Mail or ~/News)\n" + "#\n" #: src/lang.c:596 -#, fuzzy -msgid "You have tagged articles in this group - quit anyway?" -msgstr "Bu gruptaki makaleleri imlediniz-yine de terk edilsin mi?" +#, fuzzy, c-format +msgid "%s marked as read" +msgstr "%s okunmamýþ olarak iþaretlendi" #: src/lang.c:597 #, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=postpone: " -msgstr "%s=terk et, %s=düzenle, %s=ertele: " +msgid "%s marked as unread" +msgstr "%s okunmamýþ olarak iþaretlendi" #: src/lang.c:598 #, fuzzy, c-format -msgid "%s=quit %s=edit %s=save kill description: " -msgstr "%s=terk et %s=düzenle %s=kaydet tanýmý öldür: " +msgid "Marked %d of %d %s as read" +msgstr "%d içerisinde %d iþaretlendi %s okunmuþ olarak etiketlendi" #: src/lang.c:599 #, fuzzy, c-format -msgid "%s=quit %s=edit %s=save select description: " -msgstr "%s=terk et %s=düzenle %s=kaydet tanýmý seç: " +msgid "Marked %d of %d %s as unread" +msgstr "%d içerisinde %d iþaretlendi %s okunmuþ olarak etiketlendi" -#: src/lang.c:600 +#: src/lang.c:600 src/lang.c:1321 #, fuzzy -msgid "Do you really want to quit without saving your configuration?" -msgstr "Yapýlandýrmalarý kaydetmeden terk etmek istediðinizden emin misiniz?" +msgid "Mark" +msgstr "Ýþaretle" + +#: src/lang.c:601 +#, fuzzy, c-format +msgid "Mark all articles as read%s?" +msgstr "Bütün makaleleri okunmuþ olarak iþaretle%s?" + +#: src/lang.c:602 +#, fuzzy, c-format +msgid "Mark article as read%s?" +msgstr "Bütün makaleleri okunmuþ olarak iþaretle%s?" #: src/lang.c:603 -#, fuzzy -msgid "Invalid range - valid are '0-9.$' eg. 1-$" -msgstr "Geçersiz aralýklar- '0-9.$' eg. 1-$ geçerlidir" +#, fuzzy, c-format +msgid "Mark group %s as read?" +msgstr "Küme %s 'i okunmuþ olarak iþaretle?" #: src/lang.c:604 -#, fuzzy -msgid "Do you want to abort this operation?" -msgstr "Ýþlem durdurulsun mu?" +#, fuzzy, c-format +msgid "Mark thread as read%s?" +msgstr "Parçacýk %s 'i okunmuþ olarak iþaretle?" #: src/lang.c:605 -#, fuzzy -msgid "Do you want to exit tin immediately?" -msgstr "tin'den hemen çýkmak istediðinizden emin misisniz?" - -#: src/lang.c:606 -#, fuzzy -msgid "Read response> " -msgstr "Yanýtý oku> " - -#: src/lang.c:607 -#, fuzzy -msgid "Reading ('q' to quit)..." -msgstr "('q' iptal) okunuyor..." +#, fuzzy, c-format +msgid "Matching %s groups..." +msgstr "%s kümelerini eþleþtiriyor..." -#: src/lang.c:608 +#: src/lang.c:606 src/lang.c:620 src/lang.c:626 #, fuzzy, c-format -msgid "Reading %sarticles..." -msgstr "Makaleler %sokunuyor..." +msgid "=set current to n; %s=line down; %s=line up; %s=help; %s=quit" +msgstr "= muvcut n için ayarlandý; %s=sonraki okunmayan; %s=catchup; %s=deðiþimi " + "görüntüle" -#: src/lang.c:609 +#: src/lang.c:608 #, fuzzy, c-format -msgid "Reading %sattributes file...\n" -msgstr "%sÖznitelik dosyasý okunuyor...\n" +msgid "%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=posta; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla" #: src/lang.c:610 #, fuzzy, c-format -msgid "Reading %sconfig file...\n" -msgstr "%sYapýlandýrma dosyasý okunuyor\n" - -#: src/lang.c:611 -#, fuzzy -msgid "Reading filter file...\n" -msgstr "Süz dosyasý okunuyor...\n" +msgid "%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all" +msgstr "%s=posta; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla" #: src/lang.c:612 #, fuzzy, c-format -msgid "Reading %s groups..." -msgstr "%s gruplar okunuyor..." +msgid "%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=ileriye doðru ara; %s=geriye doðru ara; %s=çýk" -#: src/lang.c:613 -#, fuzzy -msgid "Reading input history file...\n" -msgstr "Giriþ tarihçe dosyasý okunuyor...\n" +#: src/lang.c:613 src/lang.c:617 +#, fuzzy, c-format +msgid "=set current to n; %s=next unread; %s=search pattern; %s=kill/select" +msgstr "=muvcut n için ayarlandý; %s=sonraki okunmayan; %s=arama örüntüsü; %s=yok " + "et/seç" #: src/lang.c:614 -#, fuzzy -msgid "Reading keymap file...\n" -msgstr "anahtarharita dosyasý okunuyor...\n" +#, fuzzy, c-format +msgid "%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list " + "thread" +msgstr "%s=yazar aramasý; %s=catchup; %s=alt satýr; %s=üst satýr; %s= okunmuþ " + "iþaretle; %s=parçacýk listele" #: src/lang.c:615 -#, fuzzy -msgid "Reading groups from active file... " -msgstr "Gruplar yürürlükteki dosyadan okunuyor... " +#, fuzzy, c-format +msgid "%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom" +msgstr "%s=üst satýr; %s=alt satýr; %s=üst sayfa; %s= alt sayfa; %s=üst; %s=alt" #: src/lang.c:616 -#, fuzzy -msgid "Reading groups from newsrc file... " -msgstr "Gruplar haberkaynak dosyasýndan okunuyor... " - -#: src/lang.c:617 -#, fuzzy -msgid "Reading newsgroups file... " -msgstr "Habergruplar dosyasý okunuyor... " +#, fuzzy, c-format +msgid "%s=search forwards; %s=search backwards; %s=quit" +msgstr "%s=ileriye doðru ara; %s=geriye doðru ara; %s=çýk" #: src/lang.c:618 -#, fuzzy -msgid "Reading newsrc file..." -msgstr "Haberkaynak dosyasý okunuyor..." +#, fuzzy, c-format +msgid "%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read" +msgstr "%s=yazar aramasý; %s=gövde aramasý; %s=catchup; %s=takip-et; %s=okumuþ olarak " + "iþaretle" -#: src/lang.c:620 +#: src/lang.c:619 #, c-format -msgid "(%d:%02d remaining)" -msgstr "" +msgid "%s=add; %s=move; %s=rename; %s=delete" +msgstr "" + +#: src/lang.c:621 +#, fuzzy, c-format +msgid "=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup" +msgstr "=mevcut n için ayarlandý; %s=sonraki okunmayan; %s,%s=arama örgüsü; %" + "s=catchup" #: src/lang.c:622 #, fuzzy, c-format -msgid "Bogus group %s removed." -msgstr "Bogus grubu %s kaldýrýldý." +msgid "%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread" +msgstr "%s=alt satýr; %s=üst satýr; %s=yardým; %s=taþý; %s=çýk; %s=bütün/okunmamýþ " + "deðiþtir" #: src/lang.c:623 #, fuzzy, c-format -msgid "Error: rename %s to %s" -msgstr "Hata:%s'den %s'ye yeniden adlandýr" +msgid "%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out" +msgstr "%s=abone ol; %s=alt örüntü; %s=abonelikten çýk; %s=alt olmayan örüntü; %" + "s=yank in/out" #: src/lang.c:624 -#, fuzzy -msgid "Reply to author..." -msgstr "Yetkiliye yanýt gönderiyor..." +#, fuzzy, c-format +msgid "=set current to n; %s=next unread; %s=catchup; %s=display toggle" +msgstr "= muvcut n için ayarlandý; %s=sonraki okunmayan; %s=catchup; %s=deðiþimi " + "görüntüle" #: src/lang.c:625 -#, fuzzy -msgid "Repost" -msgstr "Yeniden gönder" - -#: src/lang.c:626 -#, fuzzy -msgid "Reposting article..." -msgstr "Makale yeniden gönderiliyor..." +#, fuzzy, c-format +msgid "%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread" +msgstr "%s=yardým; %s=alt satýr; %s=üst satýr; %s=quit; %s=etiketle; %s=okunmamýþ " + "olarak iþaretle" #: src/lang.c:627 #, fuzzy, c-format -msgid "Repost article(s) to group(s) [%s]> " -msgstr "Makale(ler)i grup(lar)a gönder (%s)> " +msgid "%s=search forwards; %s=search backwards; %s=repeat search" +msgstr "%s=ileriye doðru ara; %s=geriye doðru ara; %s=çýk" #: src/lang.c:628 #, fuzzy -msgid "Reset newsrc?" -msgstr "Haberkaynak sýfýrlansýn mý?" +msgid "--More--" +msgstr "--Tümü--" #: src/lang.c:629 -#, fuzzy -msgid "Responses have been directed to the following newsgroups" -msgstr "Yanýtlar sonraki habergruplara yönlendirildi" +#, fuzzy, c-format +msgid "Moving %s..." +msgstr "Taþýnan %s..." #: src/lang.c:630 -#, fuzzy, c-format -msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " -msgstr "Yanýtlar göndericiye yönlendirildi. %s=postala, %s=gönder, %s=iptal: " +msgid "Message-ID: & last Reference " +msgstr "" #: src/lang.c:631 -#, fuzzy, c-format -msgid "RespNo %4d of %4d" -msgstr "YanýtNo %4d of %4d" +#, fuzzy +msgid "Message-ID: line " +msgstr "Ýleti-Kimliði: satýr " #: src/lang.c:632 -#, fuzzy -msgid "Press to continue..." -msgstr "Devam etmek için bas..." +msgid "Message-ID: & References: line" +msgstr "" #: src/lang.c:634 -#, c-format -msgid "Select From [%s] (y/n): " -msgstr "" +#, fuzzy +msgid ", name: " +msgstr ", isim: " #: src/lang.c:635 -#, fuzzy -msgid "Select Lines: (num): " -msgstr "Satýrlarý seç: (num): " +#, fuzzy, c-format +msgid "Go to newsgroup [%s]> " +msgstr "Haber grubuna gidin [%s]> " #: src/lang.c:636 #, fuzzy -msgid "Auto-select Article Menu" -msgstr "Otomatik Seçme Makale Menüsü" +msgid "newsgroups" +msgstr "haber gruplarý" #: src/lang.c:637 #, fuzzy, c-format -msgid "Select Msg-Id [%s] (f/l/o/n): " -msgstr "Ýleti-kimliði seçiniz [%s] (f/l/o/n): " +msgid "Position %s in group list (1,2,..,$) [%d]> " +msgstr "Grup listesinde %s konumlayýn (1,2,..,$) [%d]> " #: src/lang.c:638 #, fuzzy -msgid "Select pattern scope: " -msgstr "Örüntü alanýný seç: " +msgid "newsgroup" +msgstr "haber gruplarý" #: src/lang.c:639 -#, fuzzy, c-format -msgid "Select Subject [%s] (y/n): " -msgstr "Konuyu seç [%s] (y/n): " +#, fuzzy +msgid "Try and save newsrc file again?" +msgstr "Newsrc dosyasýný kaydetmeyi tekrar dene?" #: src/lang.c:640 #, fuzzy -msgid "Select text pattern : " -msgstr "Alan metnini seç : " +msgid "Warning: No newsgroups were written to your newsrc file. Save aborted." +msgstr "Uyarý: Newsrc dosyanýza herhangi bir haber grubu yazýlmadý. Kaydetme " + "durduruldu." #: src/lang.c:641 #, fuzzy -msgid "Select time in days : " -msgstr "Günlük olarak zamaný seç: " +msgid "newsrc file saved successfully.\n" +msgstr "newsrc dosyasý baþarýyla kaydedildi.\n" #: src/lang.c:642 -#, fuzzy, c-format -msgid "# %s server configuration file\n" - "# This file was automatically saved by %s %s %s (\"%s\")\n" - "#\n" - "# Do not edit while %s is running, since all your changes to this file\n" - "# will be overwritten when you leave %s.\n" - "# Do not edit at all if you don't know what you do.\n" - "############################################################################\n" - "\n" -msgstr "# %ssunucu yapýlandýrma dosyasý\n" - "# Bu dosya otomatik olarak kaydedildi %s %s %s (\"%s\")\n" - "#\n" - "# %s çalýþýrken deðiþtirmeyiniz, çünkü her deðiþikler\n" - "# terk ettiðinde yeniden yazýlacak %s.\n" - "# Ne yapmak gerektiðinizi bilmiyorsanýz lütfen deðiþtirmeyiniz.\n" +#, fuzzy +msgid "-- Next response --" +msgstr "-- Sonraki yanýt --" + +#: src/lang.c:643 +#, fuzzy +msgid "No " +msgstr "Hayýr" + +#: src/lang.c:644 +#, fuzzy +msgid "*** No articles ***" +msgstr "*** Makale yok ***" + +#: src/lang.c:645 +#, fuzzy +msgid "No articles have been posted" +msgstr "Hiçbir makale gönderilmedi" + +#: src/lang.c:646 +#, fuzzy +msgid "*** No attachments ***" +msgstr "*** Makale yok ***" + +#: src/lang.c:647 +#, fuzzy +msgid "*** No description ***" +msgstr "*** Taným yok ***" #: src/lang.c:648 #, fuzzy -msgid "Showing unread groups only" -msgstr "Sadece okunmamýþ gruplar görünüyor" +msgid "No filename" +msgstr "Dosya adý yok" #: src/lang.c:649 #, fuzzy -msgid "Subject: line (ignore case) " -msgstr "Konu: satýr (büyük küçük harf durumunu yoksay)" +msgid "No group" +msgstr "Küme yok" #: src/lang.c:650 #, fuzzy -msgid "Subject: line (case sensitive)" -msgstr "Konu: satýr (büyük-küçük duyarlý)" +msgid "*** No groups ***" +msgstr "*** Kümeler yok ***" #: src/lang.c:651 #, fuzzy -msgid "Save" -msgstr "Kaydet" +msgid "No more groups to read" +msgstr "Okunacak küme kalmadý" #: src/lang.c:652 -#, fuzzy, c-format -msgid "Save '%s' (%s/%s)?" -msgstr "Kaydedilsin mi '%s' (%s/%s)?" +#, fuzzy +msgid "No last message" +msgstr "Son ileti yok" #: src/lang.c:653 #, fuzzy -msgid "Save configuration before continuing?" -msgstr "Devam etmeden düzenlemeleri kaydet?" +msgid "No mail address" +msgstr "Posta adresi yok" #: src/lang.c:654 #, fuzzy -msgid "Save filename> " -msgstr "Dosyaadý kaydet> " +msgid "No articles marked for saving" +msgstr "Kaydetmek için hiçbir makale iþaretlenmedi" #: src/lang.c:655 #, fuzzy -msgid "Saved" -msgstr "Kaydedildi" +msgid "No match" +msgstr "Eþ yok" #: src/lang.c:656 -#, fuzzy, c-format -msgid "%4d unread (%4d hot) %s in %s\n" -msgstr "%4d okunmamýþ (%4d hot) %s in %s\n" +#, fuzzy +msgid "No more groups" +msgstr "Baþka küme yok" #: src/lang.c:657 -#, fuzzy, c-format -msgid "Saved %s...\n" -msgstr "Kaydedildi %s...\n" +#, fuzzy +msgid "No newsgroups" +msgstr "Haber gruplarý yok" #: src/lang.c:658 #, fuzzy -msgid "Nothing was saved" -msgstr "Hiçbirþey kaydedilmedi" +msgid "No next unread article" +msgstr "Sonraki okunmamýþ makale yok" #: src/lang.c:659 -#, fuzzy, c-format -msgid "\n" - "%s %d %s from %d %s\n" -msgstr "\n" - "%s %d %s 'dan %d %s\n" +#, fuzzy +msgid "No previous group" +msgstr "Önceki küme yok" #: src/lang.c:660 -#, fuzzy, c-format -msgid "-- %s saved to %s%s --" -msgstr "-- %s kaydedildi %s%s --" +msgid "No previous search, nothing to repeat" +msgstr "" #: src/lang.c:661 -#, fuzzy, c-format -msgid "-- %s saved to %s - %s --" -msgstr "-- %s kaydedildi %s - %s --" +#, fuzzy +msgid "No previous unread article" +msgstr "Önceki okunmamýþ makale yok" #: src/lang.c:662 #, fuzzy -msgid "Saving..." -msgstr "Kaydediliyor..." +msgid "No responses" +msgstr "Yanýt yok" #: src/lang.c:663 -#, fuzzy, c-format -msgid "%s: Screen initialization failed" -msgstr "%s: Ekran baþlatma baþarýsýz" +#, fuzzy +msgid "No responses to list in current thread" +msgstr "Mevcut parçacýkta listelemek için hiç yanýt yok" + +#: src/lang.c:664 +#, fuzzy +msgid "*** No scopes ***" +msgstr "*** Kümeler yok ***" #: src/lang.c:665 -#, fuzzy, c-format -msgid "%s: screen is too small\n" -msgstr "%s: ekran çok küçük\n" +#, fuzzy +msgid "No search string" +msgstr "Arama dizgisi yok" -#: src/lang.c:667 -#, fuzzy, c-format -msgid "screen is too small, %s is exiting\n" -msgstr "ekran çok küçük, %s çýkýyor\n" +#: src/lang.c:666 +#, fuzzy +msgid "No subject" +msgstr "Konu yok" #: src/lang.c:668 #, fuzzy, c-format -msgid "Search backwards [%s]> " -msgstr "Geri ara [%s]> " +msgid "%s: Terminal must have clear to end-of-line (ce)\n" +msgstr "%s: Uçbirim satýr sonuna kadar boþ olmak zorunda (ce)\n" #: src/lang.c:669 #, fuzzy, c-format -msgid "Search body [%s]> " -msgstr "Gövdeyi ara [%s]> " +msgid "%s: Terminal must have clear to end-of-screen (cd)\n" +msgstr "%s: Uçbirim ekran sonuna kadar boþ olmak zorunda (cd)\n" #: src/lang.c:670 #, fuzzy, c-format -msgid "Search forwards [%s]> " -msgstr "Ýleri ara [%s]> " +msgid "%s: Terminal must have clearscreen (cl) capability\n" +msgstr "%s: Uçbirimin ekran temizleme (cl) yeteneði olmalý\n" #: src/lang.c:671 -#, fuzzy -msgid "Searching..." -msgstr "Arýyor..." +#, fuzzy, c-format +msgid "%s: Terminal must have cursor motion (cm)\n" +msgstr "%s: Uçbirimin imleç hareketi olmalý (cm)\n" #: src/lang.c:672 #, fuzzy, c-format -msgid "Searching article %d of %d ('q' to abort)..." -msgstr "Makale aranýyor %d of %d ('q' durdur)..." - -#: src/lang.c:673 -#, fuzzy -msgid "Select article> " -msgstr "Makale seç> " +msgid "%s: TERM variable must be set to use screen capabilities\n" +msgstr "%s: TERM deðiþkeni ekran yetenekleri kullanýlacak þekilde ayarlanmalý\n" #: src/lang.c:674 -#, fuzzy -msgid "Select option number before text or use arrow keys and . 'q' to quit." -msgstr "Metin ve ok tuþu kullanmadan seçenek ve düðmelerini basýnýz. terk etmek " - "için 'q'." +#, fuzzy, c-format +msgid "No viewer found for %s/%s\n" +msgstr "%s/%s için görüntüleyici yok\n" #: src/lang.c:675 #, fuzzy -msgid "Select group> " -msgstr "Grup seç> " +msgid "Newsgroup does not exist on this server" +msgstr "Bu sunucuda haber grubu yok" #: src/lang.c:676 #, fuzzy, c-format -msgid "Enter selection pattern [%s]> " -msgstr "Seçme örüntüsünü girin [%s]> " +msgid "Group %s not found in active file" +msgstr "Küme %s aktif dosyada bulunamadý" #: src/lang.c:677 #, fuzzy -msgid "Select thread > " -msgstr "En küçük yürütme birimlerini seç > " +msgid "c)reate it, use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "c)yarat, a)lternatif isim kullan, d)varsayýlaný kullan, mewsrc, q)tin'den " + "çýk: " #: src/lang.c:678 -#, fuzzy, c-format -msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" -msgstr "%s %s %s (\"%s\") [%s]: DETAYLI hata raporu gönder %s\n" +#, fuzzy +msgid "use a)lternative name, use d)efault .newsrc, q)uit tin: " +msgstr "a)lternatif isim kullan, d)varsayýlaný kullan, newsrc, q)tin'den çýk: " #: src/lang.c:679 +#, fuzzy, c-format +msgid "# NNTP-server -> newsrc translation table and NNTP-server\n" + "# shortname list for %s %s\n" + "#\n" + "# the format of this file is\n" + "# ...\n" + "#\n" + "# if is given without path, $HOME is assumed as its location\n" + "#\n" + "# examples:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" +msgstr "# NNTP-sunucu -> newsrc çeviri dosyasý ile NNTP-sunucu\n" + "# %s %s için kýsaltma listesi\n" + "#\n" + "# bu dosyanýn biçimi\n" + "# ...\n" + "#\n" + "# eðer yol gösterilmeden verildiyse, $HOME onun yeri " + "varsayýlýr\n" + "#\n" + "# örnekler:\n" + "# news.tin.org .newsrc-tin.org tinorg\n" + "# news.example.org /tmp/nrc-ex example ex\n" + "#\n" + +#: src/lang.c:686 #, fuzzy -msgid "servers active-file" -msgstr "Sunucular etkindosyasý" +msgid "Only" +msgstr "Sadece" -#: src/lang.c:680 +#: src/lang.c:687 +#, fuzzy, c-format +msgid "Option not enabled. Recompile with %s." +msgstr "Seçenek etkin kýlýnmadý. Yeniden derle %s." + +#: src/lang.c:688 #, fuzzy -msgid "Cannot move into new newsgroups. Subscribe first..." -msgstr "Habergruplara giriþ yapýlamýyor. Önce abone ol..." +msgid "Options Menu" +msgstr "Seçenekler menüsü" -#: src/lang.c:681 +#: src/lang.c:689 #, fuzzy -msgid "" -msgstr "" +msgid "Options Menu Commands" +msgstr "Seçenekler menüsü" -#: src/lang.c:682 +#: src/lang.c:692 #, fuzzy, c-format -msgid "Starting: (%s)" -msgstr "Baþlatma: (%s)" +msgid "Error in regex: %s at pos. %d '%s'" +msgstr "Regex'de hata: poda %s. %d '%s'" -#: src/lang.c:683 +#: src/lang.c:693 #, fuzzy, c-format -msgid "List Thread (%d of %d)" -msgstr "En küçük yürütme birimlerini listele (%d of %d)" +msgid "Error in regex: pcre internal error %d" +msgstr "Regex'de hata: pcre iç hata %d" -#: src/lang.c:684 +#: src/lang.c:694 #, fuzzy, c-format -msgid "Thread (%.*s)" -msgstr "En küçük yürütme birimi (%.*s)" +msgid "Error in regex: study - pcre internal error %s" +msgstr "Regex'de hata: incele - pcre iç hata %s" -#: src/lang.c:685 +#: src/lang.c:695 #, fuzzy -msgid "Enter wildcard subscribe pattern> " -msgstr "Joker abone alanýna giriniz> " +msgid "Post a followup..." +msgstr "Takip edici gönder..." -#: src/lang.c:686 -#, fuzzy, c-format -msgid "subscribed to %d groups" -msgstr "%d gruplara abone olundu" - -#: src/lang.c:687 -#, fuzzy, c-format -msgid "Subscribed to %s" -msgstr "Abone olundu %s" +#. TODO: replace hardcoded key-name in txt_post_error_ask_postpone +#: src/lang.c:697 +#, fuzzy +msgid "An error has occurred while posting the article. If you think that this\n" + "error is temporary or otherwise correctable, you can postpone the article\n" + "and pick it up again with ^O later.\n" +msgstr "Makaleyi gönderirken hata oluþtu. Bu makalenin düzeltibeleceðini " + "düþünüyorsanýz, makaleyi erteleyebilir ve tekrar ^O komutunu kulanarak " + "ulaþabilirsiniz.\n" -#: src/lang.c:688 +#: src/lang.c:700 #, fuzzy -msgid "Subscribing... " -msgstr "Abone olunuyor... " +msgid "Posted articles history" +msgstr "Gönderilmiþ makalelerin geçmiþi" -#: src/lang.c:689 +#: src/lang.c:701 #, fuzzy, c-format -msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " -msgstr "Makale(ler)i yeniden gönder yada deðiþtir (s) [%%s]? (%s/%s/%s): " +msgid "Post to newsgroup(s) [%s]> " +msgstr "habergrup(lar)a gönder [%s]> " -#: src/lang.c:690 -#, fuzzy, c-format -msgid "Supersede article(s) to group(s) [%s]> " -msgstr "Makale(ler)i Grup(lar)a yerini al [%s]> " +#: src/lang.c:702 +#, fuzzy +msgid "-- post processing started --" +msgstr "-- gönderme iþlemi baþlatýldý --" -#: src/lang.c:691 +#: src/lang.c:703 #, fuzzy -msgid "Superseding article ..." -msgstr "Makaleyi deðiþtiriyor..." +msgid "-- post processing completed --" +msgstr "-- gönderme iþlemi tamamlandý --" -#: src/lang.c:692 +#: src/lang.c:704 #, fuzzy, c-format -msgid "\n" - "Stopped. Type 'fg' to restart %s\n" -msgstr "\n" - "Durduruldu. Yeniden baþlatmak için 'fg' yaz %s\n" +msgid "Post subject [%s]> " +msgstr "Konuyu gönder (%s)> " -#: src/lang.c:694 -#, fuzzy, c-format -msgid "%d days" -msgstr "%d günler" +#: src/lang.c:705 +#, fuzzy +msgid "# Summary of mailed/posted messages viewable by 'W' command from within tin.\n" +msgstr "# 'W' komutundan görünebilir postalanmýþ/gönderilmiþ iletilerin özeti.\n" -#: src/lang.c:695 +#: src/lang.c:706 #, fuzzy -msgid "" -msgstr "" +msgid "Posting article..." +msgstr "Makale gönderiliyor..." -#: src/lang.c:696 -msgid "TeX " -msgstr "" +#: src/lang.c:707 +#, fuzzy, c-format +msgid "Post postponed articles [%%s]? (%s/%s/%s/%s/%s): " +msgstr "Ertelenmiþ makaleleri gönder [%%s]? (%s/%s/%s/%s/%s): " -#: src/lang.c:697 -#, fuzzy -msgid "# Default action/prompt strings\n" -msgstr "# Varsayýlan iþlem/komut dizgileri\n" +#: src/lang.c:708 +#, fuzzy, c-format +msgid "Hot %s" +msgstr "Hot %s" -#: src/lang.c:698 -#, fuzzy -msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" - "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" - "# 5=Message-ID: & last References: entry only\n" - "# 6=Message-ID: entry only 7=Lines:\n" - "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" -msgstr "# Varsayýlanlarý (1 tuþ) kill & otomatik seçme süzleri\n" - "# baþlýk=NUM 0,1=Konu: 2,3=dan: 4=Ýleti kimliði: & tam referanslar: satýr\n" - "# 5=Ýleti Kimliði: & son referanslar: sadece giriþ\n" - "# 6=Ýleti Kimliði: sadece giriþ 7=Satýrlar:\n" - "# global=ON/OFF ON=bütün gruplara uygula OFF=mevcut gruba uygula\n" - "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" - "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +#: src/lang.c:709 +#, fuzzy, c-format +msgid "Tagged %s" +msgstr "%s imlenmiþ" + +#: src/lang.c:710 +#, fuzzy, c-format +msgid "Untagged %s" +msgstr "%s imlenmemiþ" #: src/lang.c:711 #, fuzzy -msgid "# If ON use print current subject or newsgroup description in the last line\n" -msgstr "# ON durumdaysa mevcut konu yada son satýrdaki habergrup tanýmý için yazýcýyý " - "kullanýnýz\n" +msgid "Processing mail messages marked for deletion." +msgstr "Silinmek için iþaretlenen iletilerin iþletilmesi." #: src/lang.c:712 #, fuzzy -msgid "# Host & time info used for detecting new groups (don't touch)\n" -msgstr "# Yeni gruplarý algýlamak için ana sunucu& zaman bilgileri kullanýnýz " - "(dokunmayýnýz)\n" +msgid "Processing saved articles marked for deletion." +msgstr "Silinmek için iþaretlenen kaydedilmiþ makalelerin iþletilmesi." #: src/lang.c:713 -#, fuzzy -msgid "There is no news\n" -msgstr "Hiçbir haber yok\n" +#, fuzzy, c-format +msgid "Accept Followup-To? %s=post, %s=ignore, %s=quit: " +msgstr "Takip edilsin? %s=gönder, %s=yoksay, %s=terk et: " #: src/lang.c:714 #, fuzzy -msgid "Thread" -msgstr "En küçük yürütme birimi" +msgid "Article unchanged, abort mailing?" +msgstr "Makale deðiþtirilmesini, posta iptal edilsin mi?" #: src/lang.c:715 -#, fuzzy -msgid "Thread Level Commands" -msgstr "En Küçük Yürütme Birim Komut Düzeyi" +#, fuzzy, c-format +msgid "Do you want to see postponed articles (%d)?" +msgstr "Ertelediðiniz makaleleri görmek ister misiniz (%d)?" -#: src/lang.c:716 +#: src/lang.c:717 #, fuzzy -msgid "Thread deselected" -msgstr "En küçük yürütme birimin seçimi iptal edildi" +msgid "Add quick kill filter?" +msgstr "Öldürücü hýzlý süzü eklensin mi?" -#: src/lang.c:717 +#: src/lang.c:718 #, fuzzy -msgid "Thread selected" -msgstr "En küçük yürütme birimi seçildi" +msgid "Add quick selection filter?" +msgstr "Hýzlý seçenek süzü eklensin mi?" #: src/lang.c:719 #, fuzzy -msgid "threads" -msgstr "en küçük yürütme birimleri" +msgid "Do you really want to quit?" +msgstr "Terketmek istediðinizden emin misiniz?" + +#: src/lang.c:720 +#, fuzzy, c-format +msgid "%s=edit cancel message, %s=quit, %s=delete (cancel) [%%s]: " +msgstr "%s=düzenle iletiyi iptal et, %s=terk et, %s=sil (iptal) [%%s]: " #: src/lang.c:721 #, fuzzy -msgid "Thread range" -msgstr "en küçük yürütme birimi aralýðý" +msgid "You have tagged articles in this group - quit anyway?" +msgstr "Bu gruptaki makaleleri imlediniz-yine de terk edilsin mi?" #: src/lang.c:722 -#, fuzzy -msgid "thread" -msgstr "en küçük yürütme birimi" +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=postpone: " +msgstr "%s=terk et, %s=düzenle, %s=ertele: " #: src/lang.c:723 #, fuzzy, c-format -msgid "Thread %4s of %4s" -msgstr "En küçük yürütme birimi %4s of %4s" +msgid "%s=quit %s=edit %s=save kill description: " +msgstr "%s=terk et %s=düzenle %s=kaydet tanýmý öldür: " #: src/lang.c:724 -#, fuzzy -msgid "Threading articles..." -msgstr "Makaleler baðlanýyor..." - -#: src/lang.c:725 #, fuzzy, c-format -msgid "Toggled word highlighting %s" -msgstr "Geçiþ kelime belirtiliyor %s" +msgid "%s=quit %s=edit %s=save select description: " +msgstr "%s=terk et %s=düzenle %s=kaydet tanýmý seç: " -#: src/lang.c:726 +#: src/lang.c:725 #, fuzzy -msgid "Toggled rot13 encoding" -msgstr "Geçiþ rot13 kodlanýyor" - -#: src/lang.c:727 -#, fuzzy, c-format -msgid "Toggled german TeX encoding %s" -msgstr "Geçiþ almanca TeX kodlanýyor %s" +msgid "Do you really want to quit without saving your configuration?" +msgstr "Yapýlandýrmalarý kaydetmeden terk etmek istediðinizden emin misiniz?" #: src/lang.c:728 -#, fuzzy, c-format -msgid "Toggled tab-width to %d" -msgstr "Geçiþ sekme geniþliði %d" - -#: src/lang.c:729 -#, fuzzy, c-format -msgid "%d Trying to dotlock %s" -msgstr "%d kilitlemeye deniyor %s" +#, fuzzy +msgid "Invalid range - valid are '0-9.$' eg. 1-$" +msgstr "Geçersiz aralýklar- '0-9.$' eg. 1-$ geçerlidir" #: src/lang.c:730 -#, fuzzy, c-format -msgid "%d Trying to lock %s" -msgstr "%d kilitlemeye çalýþýyor %s" +#, fuzzy +msgid "Do you want to abort this operation?" +msgstr "Ýþlem durdurulsun mu?" #: src/lang.c:731 #, fuzzy -msgid " h=help\n" -msgstr " h=yardým\n" +msgid "Do you want to exit tin immediately?" +msgstr "tin'den hemen çýkmak istediðinizden emin misisniz?" #: src/lang.c:733 #, fuzzy -msgid "Unlimited" -msgstr "Sýnýrsýz" +msgid "Reading ('q' to quit)..." +msgstr "('q' iptal) okunuyor..." #: src/lang.c:734 -#, fuzzy -msgid "Enter wildcard unsubscribe pattern> " -msgstr "Abone iptal joker alanýna giriniz> " +#, fuzzy, c-format +msgid "Reading %sarticles..." +msgstr "Makaleler %sokunuyor..." #: src/lang.c:735 #, fuzzy, c-format -msgid "Error decoding %s : %s" -msgstr "Hata kod çözülmesi %s: %s" +msgid "Reading %sattributes file...\n" +msgstr "%sÖznitelik dosyasý okunuyor...\n" #: src/lang.c:736 -#, fuzzy -msgid "No end." -msgstr "Sonu yok." +#, fuzzy, c-format +msgid "Reading %sconfig file...\n" +msgstr "%sYapýlandýrma dosyasý okunuyor\n" #: src/lang.c:737 -#, fuzzy, c-format -msgid "%s successfully decoded." -msgstr "%s kod baþarýyla çözüldü." +#, fuzzy +msgid "Reading filter file...\n" +msgstr "Süz dosyasý okunuyor...\n" #: src/lang.c:738 #, fuzzy, c-format -msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" - "\n" -msgstr "%*s[-- %s/%s, %s metinsele kodlama dosyasý, %d satýr, ad: %s --]\n" - "\n" +msgid "Reading %s groups..." +msgstr "%s gruplar okunuyor..." #: src/lang.c:739 #, fuzzy -msgid "unread " -msgstr "okunmamýþ " +msgid "Reading input history file...\n" +msgstr "Giriþ tarihçe dosyasý okunuyor...\n" #: src/lang.c:740 -#, fuzzy, c-format -msgid "unsubscribed from %d groups" -msgstr "%d gruptan abonelik iptal edildi" +#, fuzzy +msgid "Reading keymap file...\n" +msgstr "anahtarharita dosyasý okunuyor...\n" #: src/lang.c:741 -#, fuzzy, c-format -msgid "Unsubscribed from %s" -msgstr "abonelik iptal edildi %s" +#, fuzzy +msgid "Reading groups from active file... " +msgstr "Gruplar yürürlükteki dosyadan okunuyor... " #: src/lang.c:742 #, fuzzy -msgid "Unsubscribing... " -msgstr "Abonelik iptal oluyor... " +msgid "Reading groups from newsrc file... " +msgstr "Gruplar haberkaynak dosyasýndan okunuyor... " #: src/lang.c:743 #, fuzzy -msgid "Unthreading articles..." -msgstr "Makalelerin baðlantýsý sonlanýyor..." +msgid "Reading newsgroups file... " +msgstr "Habergruplar dosyasý okunuyor... " #: src/lang.c:744 #, fuzzy -msgid "Updated" -msgstr "Güncelendi" +msgid "Reading newsrc file..." +msgstr "Haberkaynak dosyasý okunuyor..." #: src/lang.c:745 #, fuzzy -msgid "Updating" -msgstr "Güncellenme" - -#: src/lang.c:746 -#, fuzzy, c-format -msgid "Opening %s\n" -msgstr "Açýlma %s\n" +msgid "References: line " +msgstr "Ýleti-Kimliði: satýr " #: src/lang.c:747 -#, fuzzy -msgid "No more URL's in this article" -msgstr "Makalede Birörnek Kaynak Bulucu yok" - -#: src/lang.c:748 -#, fuzzy -msgid "Use MIME display program for this message?" -msgstr "Bu ileti için MIME(Çok Amaçlý Internet Posta Uzantýlarý) ekran programý " - "kullan?" +#, c-format +msgid "(%d:%02d remaining)" +msgstr "" #: src/lang.c:749 -#, fuzzy -msgid " -c mark all news as read in subscribed newsgroups (batch mode)" -msgstr " -c abone edilmiþ habergruplara bütün haberleri okunmuþ olarak " - "iþaretleyiniz (toplu mod)" +#, fuzzy, c-format +msgid "Bogus group %s removed." +msgstr "Bogus grubu %s kaldýrýldý." #: src/lang.c:750 -#, fuzzy -msgid " -Z return status indicating if any unread news (batch mode)" -msgstr " -Z Okunmamýþ haber varsa geri statüsüne gelir (toplu mod)" +msgid "Removed from the previous rule: " +msgstr "Önceki kuraldan kaldýrýldý: " #: src/lang.c:751 -#, fuzzy -msgid " -q don't check for new newsgroups" -msgstr " -q yeni habergruplarý için deneme" +#, fuzzy, c-format +msgid "Error: rename %s to %s" +msgstr "Hata:%s'den %s'ye yeniden adlandýr" #: src/lang.c:752 #, fuzzy -msgid " -X don't save any files on quit" -msgstr " -X çýkýþta hiçbir dosya kaydetme" +msgid "Reply to author..." +msgstr "Yetkiliye yanýt gönderiyor..." #: src/lang.c:753 #, fuzzy -msgid " -d don't show newsgroup descriptions" -msgstr " -d habergrubu tanýmlarý gösterme" +msgid "Repost" +msgstr "Yeniden gönder" #: src/lang.c:754 #, fuzzy -msgid " -G limit get only limit articles/group" -msgstr " -G limit sadece makale/grup sýnýrý elde et" +msgid "Reposting article..." +msgstr "Makale yeniden gönderiliyor..." #: src/lang.c:755 #, fuzzy, c-format -msgid " -H help information about %s" -msgstr " -H yardým bilgisi %s" +msgid "Repost article(s) to group(s) [%s]> " +msgstr "Makale(ler)i grup(lar)a gönder (%s)> " #: src/lang.c:756 #, fuzzy -msgid " -h this help message" -msgstr " -h ileti yardýmý" +msgid "Reset newsrc?" +msgstr "Haberkaynak sýfýrlansýn mý?" #: src/lang.c:757 -#, fuzzy, c-format -msgid " -I dir news index file directory [default=%s]" -msgstr " -I dir haber dizin dosyasý [varsayýlant=%s]" - -#: src/lang.c:758 #, fuzzy -msgid " -u update index files (batch mode)" -msgstr " -u guncelleme dizin dosyasý (toplu modu)" +msgid "Responses have been directed to the following newsgroups" +msgstr "Yanýtlar sonraki habergruplara yönlendirildi" -#: src/lang.c:759 +#: src/lang.c:758 #, fuzzy, c-format -msgid " -m dir mailbox directory [default=%s]" -msgstr " -m dir posta kutusu dizini [varsayýlan=%s]" +msgid "Responses have been directed to poster. %s=mail, %s=post, %s=quit: " +msgstr "Yanýtlar göndericiye yönlendirildi. %s=postala, %s=gönder, %s=iptal: " #: src/lang.c:760 -#, fuzzy, c-format -msgid "\n" - "Mail bug reports/comments to %s" -msgstr "\n" - "posta hata raporu/açýklama %s" - -#: src/lang.c:761 #, fuzzy -msgid " -N mail new news to your posts (batch mode)" -msgstr " -N Gönderilenlere yeni haber gönder (toplu mod)" +msgid "Press to continue..." +msgstr "Devam etmek için bas..." #: src/lang.c:762 -#, fuzzy -msgid " -M user mail new news to specified user (batch mode)" -msgstr " -M kulanýcýsý özel kulanýcýya yeni haber göder (toplu mod)" +#, c-format +msgid "Select From [%s] (y/n): " +msgstr "" #: src/lang.c:763 -#, fuzzy, c-format -msgid " -f file subscribed to newsgroups file [default=%s]" -msgstr " -f dosyasý habergruplar dosyasýna abone olundu (varsayýlan=%s)" +#, fuzzy +msgid "Select Lines: (num): " +msgstr "Satýrlarý seç: (num): " #: src/lang.c:764 #, fuzzy -msgid " -x no posting mode" -msgstr " -x iþlem modu yok" +msgid "Auto-select Article Menu" +msgstr "Otomatik Seçme Makale Menüsü" #: src/lang.c:765 -#, fuzzy -msgid " -w post an article and exit" -msgstr " -w makale gönder ve çýk" +#, fuzzy, c-format +msgid "Select Msg-Id [%s] (f/l/o/n): " +msgstr "Ýleti-kimliði seçiniz [%s] (f/l/o/n): " #: src/lang.c:766 #, fuzzy -msgid " -o post all postponed articles and exit" -msgstr " -o ertelenmiþ bütün makaleleri gönder ve çýk" +msgid "Select pattern scope: " +msgstr "Örüntü alanýný seç: " #: src/lang.c:767 -#, fuzzy -msgid " -r read news remotely from default NNTP server" -msgstr " -r varsayýlan NTTP sunucusundan haberleri uzaktan oku" +#, fuzzy, c-format +msgid "Select Subject [%s] (y/n): " +msgstr "Konuyu seç [%s] (y/n): " #: src/lang.c:768 #, fuzzy -msgid " -R read news saved by -S option" -msgstr " -R -S seçeneði basarak kaydedilen haberleri oku" +msgid "Select text pattern : " +msgstr "Alan metnini seç : " #: src/lang.c:769 -#, fuzzy, c-format -msgid " -s dir save news directory [default=%s]" -msgstr " -s dir haber dizinini kaydet (varsayýlan=%s)" - -#: src/lang.c:770 -#, fuzzy -msgid " -S save new news for later reading (batch mode)" -msgstr " -S daha sonra okumak üzere yeni haberleri kaydet (toplu mod)" - -#: src/lang.c:771 #, fuzzy -msgid " -z start if any unread news" -msgstr " -z okunmamýþ haber varsa baþla" +msgid "Select time in days : " +msgstr "Günlük olarak zamaný seç: " -#: src/lang.c:772 +#: src/lang.c:770 #, fuzzy, c-format -msgid "A Usenet reader.\n" - "\n" - "Usage: %s [options] [newsgroup[,...]]" -msgstr "Usenet okuyucusu.\n" - "\n" - "Kullaným: %s [seçenekler] [habergrubu[,...]]" +msgid "# %s server configuration file\n" + "# This file was automatically saved by %s %s %s (\"%s\")\n" + "#\n" + "# Do not edit while %s is running, since all your changes to this file\n" + "# will be overwritten when you leave %s.\n" + "# Do not edit at all if you don't know what you do.\n" + "############################################################################\n" + "\n" +msgstr "# %ssunucu yapýlandýrma dosyasý\n" + "# Bu dosya otomatik olarak kaydedildi %s %s %s (\"%s\")\n" + "#\n" + "# %s çalýþýrken deðiþtirmeyiniz, çünkü her deðiþikler\n" + "# terk ettiðinde yeniden yazýlacak %s.\n" + "# Ne yapmak gerektiðinizi bilmiyorsanýz lütfen deðiþtirmeyiniz.\n" -#: src/lang.c:773 +#: src/lang.c:776 #, fuzzy -msgid " -v verbose output for batch mode options" -msgstr " -v toplu kip seçenekleri için gereksiz çýkýþ" +msgid "Showing unread groups only" +msgstr "Sadece okunmamýþ gruplar görünüyor" -#: src/lang.c:774 +#: src/lang.c:777 #, fuzzy -msgid " -V print version & date information" -msgstr " -V Sürüm & tarih bilgilerini yazdýr" - -#: src/lang.c:775 -#, fuzzy, c-format -msgid "%s only useful without batch mode operations\n" -msgstr "%s sadece toplu kip seçenekleri yoksa kullanýþlý\n" - -#: src/lang.c:776 -#, fuzzy, c-format -msgid "%s only useful for batch mode operations\n" -msgstr "%s sadece toplu kip seçenekleri varsa kullanýþlý\n" +msgid "Subject: line (ignore case) " +msgstr "Konu: satýr (büyük küçük harf durumunu yoksay)" #: src/lang.c:778 -#, fuzzy, c-format -msgid "\n" - "%s%d out of range (0 - %d). Reset to 0" -msgstr "\n" - "%s%d erimin dýþýnda (0 - %d), Sýfýrla" +#, fuzzy +msgid "Subject: line (case sensitive)" +msgstr "Konu: satýr (büyük-küçük duyarlý)" #: src/lang.c:779 +#, fuzzy +msgid "Save" +msgstr "Kaydet" + +#: src/lang.c:780 #, fuzzy, c-format -msgid "View '%s' (%s/%s)?" -msgstr "Göster '%s' (%s/%s)?" +msgid "Save '%s' (%s/%s)?" +msgstr "Kaydedilsin mi '%s' (%s/%s)?" #: src/lang.c:781 -#, fuzzy, c-format -msgid "\n" - "Warning: posting exceeds %d columns. Line %d is the first long one:\n" - "%-100s\n" -msgstr "\n" - "Uyarý: gönderme %d sütunlarýný geçiyor. %d en uzun ilk satýr:\n" - "%-100s\n" +#, fuzzy +msgid "Save configuration before continuing?" +msgstr "Devam etmeden düzenlemeleri kaydet?" #: src/lang.c:782 #, fuzzy -msgid "\n" - "Warning: article unchanged after editing\n" -msgstr "\n" - "Uyarý: makale düzenlendikten sonra deðiþtirildi\n" +msgid "Save filename> " +msgstr "Dosyaadý kaydet> " #: src/lang.c:783 #, fuzzy -msgid "\n" - "Warning: \"Subject:\" contains only whitespaces.\n" -msgstr "\n" - "Uyarý: \"Konu:\" sadece beyazboþluklar var.\n" +msgid "Saved" +msgstr "Kaydedildi" #: src/lang.c:784 -#, fuzzy -msgid "\n" - "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" -msgstr "\n" - "Uyarý: \"Konu:\" , \"Re: \" ile baþlar ama \"Referanslar:\" yok.\n" +#, fuzzy, c-format +msgid "%4d unread (%4d hot) %s in %s\n" +msgstr "%4d okunmamýþ (%4d hot) %s in %s\n" + +#: src/lang.c:785 +#, fuzzy, c-format +msgid "Saved %s...\n" +msgstr "Kaydedildi %s...\n" #: src/lang.c:786 #, fuzzy -msgid "\n" - "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" - " with \"Re: \" and does not contain \"(was:\".\n" -msgstr "\n" - "Uyarý: Makalede \"Referanslar:\" var \"Konu:\" \"Re: \" ile\n" - " baþlmýyor ve \"(was:\" yok.\n" +msgid "Nothing was saved" +msgstr "Hiçbirþey kaydedilmedi" + +#: src/lang.c:787 +#, fuzzy, c-format +msgid "\n" + "%s %d %s from %d %s\n" +msgstr "\n" + "%s %d %s 'dan %d %s\n" + +#: src/lang.c:788 +#, fuzzy, c-format +msgid "-- %s saved to %s%s --" +msgstr "-- %s kaydedildi %s%s --" #: src/lang.c:789 +#, fuzzy, c-format +msgid "-- %s saved to %s - %s --" +msgstr "-- %s kaydedildi %s - %s --" + +#: src/lang.c:790 #, fuzzy -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly written by you. This will " - "wipe\n" - " the article from most news servers throughout the world, but there is " - "no\n" - " guarantee that it will work.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Dikkatle oku!\n" - "\n" - " Tarafýnýzdan yazýlan bir makaleyi iptal etmek üzeresiniz. Bu, makaleyi " - "dünyadaki\n" - " birçok haber sunucusundan silecektir, ama çalýþacaðýnýn da bir garantisi " - "yok.\n" - "\n" - "Ýptal etmek üzere olduðunuz makale bu:\n" - "\n" +msgid "Saving..." +msgstr "Kaydediliyor..." + +#: src/lang.c:791 +#, fuzzy, c-format +msgid "%s: Screen initialization failed" +msgstr "%s: Ekran baþlatma baþarýsýz" #: src/lang.c:793 +#, fuzzy, c-format +msgid "%s: screen is too small\n" +msgstr "%s: ekran çok küçük\n" + +#: src/lang.c:795 +#, fuzzy, c-format +msgid "screen is too small, %s is exiting\n" +msgstr "ekran çok küçük, %s çýkýyor\n" + +#: src/lang.c:796 #, fuzzy -msgid "\n" - "Warning: You are using a non-plain transfer encoding (such as base64 or\n" - " quoted-printable) and an external inews program to submit your\n" - " article. If a signature is appended by that inews program it will\n" - " not be encoded properly.\n" -msgstr "\n" - "Uyarý: Makalenizi sunmak için düz olmayan bir transfer kodlamasý (base64 ya " - "da\n" - " imlenen-yazýlabilir gibi) ve dýþ inews programý kullanýyorsunuz. " - "Eðer o\n" - " inews programý tarafýndan bir imza iliþtirildiyse, uygun þekilde " - "kodlanamaz.\n" +msgid "Delete scope?" +msgstr "Örüntü alanýný seç: " + +#: src/lang.c:797 +#, fuzzy +msgid "Enter scope> " +msgstr "Seçenek numarasýný yazýn> " #: src/lang.c:798 -#, fuzzy, c-format -msgid "\n" - "\n" - "You are upgrading to tin %s from an earlier version.\n" - "Some values in your %s file have changed!\n" - "Read WHATSNEW, etc...\n" -msgstr "\n" - "\n" - "Daha önceki bir sürümden tin %s 'e güncelliyorsunuz.\n" - "%s dosyanýzdaki bazi deðerler deðiþtirilmiþtir!\n" - "Oku WHATSNEW, vb...\n" +#, fuzzy +msgid "Select new position> " +msgstr "Alan metnini seç : " + +#: src/lang.c:799 +msgid "New position cannot be a global scope" +msgstr "" #: src/lang.c:800 -#, fuzzy, c-format -msgid "\n" - "\n" - "You are downgrading to tin %s from a more recent version!\n" - "Some values in your %s file may be ignored, others might have changed!\n" -msgstr "\n" - "\n" - "Yeni bir sürümden tin %s 'e alçaltýyorsunuz!\n" - "%s dosyanýdaki bazý deðerler yoksayýlabiri, diðerleri deðiþtirilebilir!\n" +msgid "Global scope, operation not allowed" +msgstr "" + +#: src/lang.c:801 +msgid "Rename scope> " +msgstr "" + +#: src/lang.c:802 +#, fuzzy +msgid "Select scope> " +msgstr "Grup seç> " #: src/lang.c:803 +#, fuzzy +msgid "Scopes Menu" +msgstr "Seçenekler menüsü" + +#: src/lang.c:804 +#, fuzzy +msgid "Scopes Menu Commands" +msgstr "Üst Düzey Komutlar" + +#: src/lang.c:805 +#, fuzzy, c-format +msgid "Search backwards [%s]> " +msgstr "Geri ara [%s]> " + +#: src/lang.c:806 #, fuzzy, c-format -msgid "Warning: tin wrote fewer groups to your\n" - "\t%s\n" - "than it read at startup. If you didn't unsubscribe from %ld %s during\n" - "this session this indicates an error and you should backup your %s\n" - "before you start tin once again!\n" -msgstr "Uyarý: tin baþlangýçta okuduðundan\n" - "\t%s\n" - "daha az küme yazdý. Bu oturum sýrasýnda %ld %s 'den aboneliðinizi " - "almadýysanýz\n" - "bu bir hata gösterir ve tini tekrar baþlatmadan %s'i\n" - "yedeklemeniz gerekmektedir!\n" +msgid "Search body [%s]> " +msgstr "Gövdeyi ara [%s]> " #: src/lang.c:807 #, fuzzy, c-format -msgid "\n" - "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" -msgstr "\n" - "Uyarý: Bulundu %d '-- \\n' satýrlar, bazý insanlarýn kafasý karýþabilir.\n" +msgid "Search forwards [%s]> " +msgstr "Ýleri ara [%s]> " #: src/lang.c:808 -#, fuzzy, c-format -msgid "Warning: Only %d out of %d articles were saved" -msgstr "Uyarý: Sadece %d 'de %d makale kaydedildi" +#, fuzzy +msgid "Searching..." +msgstr "Arýyor..." #: src/lang.c:809 #, fuzzy, c-format -msgid "\n" - "Warning: Your signature is longer than %d lines. Since signatures usually " - "do\n" - " not transport any useful information, they should be as short " - "as\n" - " possible.\n" -msgstr "\n" - "Uyarý: Ýmzanýz %d satýrlarýndan daha uzun. Ýmzalar genellikle\n" - " iþe yarar bilgi aktarmadýklarý için, olabildikleri kadar kýsa\n" - " olmalýlar.\n" +msgid "Searching article %d of %d ('q' to abort)..." +msgstr "Makale aranýyor %d of %d ('q' durdur)..." + +#: src/lang.c:810 +#, fuzzy +msgid "Select article> " +msgstr "Makale seç> " + +#: src/lang.c:811 +#, fuzzy +msgid "Select option number before text or use arrow keys and . 'q' to quit." +msgstr "Metin ve ok tuþu kullanmadan seçenek ve düðmelerini basýnýz. terk etmek " + "için 'q'." + +#: src/lang.c:812 +#, fuzzy +msgid "Select group> " +msgstr "Grup seç> " #: src/lang.c:813 #, fuzzy, c-format -msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " -msgstr "Uyarý: bu posta adresinde mesaj yaðanaðý tuzaðý olabilir. %s=devam. %" - "s=durdur? " +msgid "Enter selection pattern [%s]> " +msgstr "Seçme örüntüsünü girin [%s]> " #: src/lang.c:814 #, fuzzy -msgid "\n" - "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" -msgstr "\n" - "Uyarý: Ýmzalar '-- \\n' ile baþlamalý '--\\n' ile deðil.\n" +msgid "Select thread > " +msgstr "En küçük yürütme birimlerini seç > " #: src/lang.c:815 +#, fuzzy, c-format +msgid "%s %s %s (\"%s\") [%s]: send a DETAILED bug report to %s\n" +msgstr "%s %s %s (\"%s\") [%s]: DETAYLI hata raporu gönder %s\n" + +#: src/lang.c:816 #, fuzzy -msgid "Writing attributes file..." -msgstr "Öznitelikler dosylasýný yazýyor..." +msgid "servers active-file" +msgstr "Sunucular etkindosyasý" #: src/lang.c:817 -#, fuzzy, c-format -msgid "%d Responses" -msgstr "%d Yanýtlar" +#, fuzzy +msgid "Cannot move into new newsgroups. Subscribe first..." +msgstr "Habergruplara giriþ yapýlamýyor. Önce abone ol..." + +#: src/lang.c:818 +#, fuzzy +msgid "" +msgstr "" #: src/lang.c:819 #, fuzzy, c-format -msgid "Added %d %s" -msgstr "Eklendi %d %s" +msgid "Starting: (%s)" +msgstr "Baþlatma: (%s)" #: src/lang.c:820 -#, fuzzy -msgid "No unsubscribed groups to show" -msgstr "Gösterilecek abonelikten çýkmýþ küme yok" +#, fuzzy, c-format +msgid "List Thread (%d of %d)" +msgstr "En küçük yürütme birimlerini listele (%d of %d)" #: src/lang.c:821 -#, fuzzy -msgid "Showing subscribed to groups only" -msgstr "Sadece abone kümeleri göster" +#, fuzzy, c-format +msgid "Thread (%.*s)" +msgstr "En küçük yürütme birimi (%.*s)" #: src/lang.c:822 #, fuzzy -msgid "Yes " -msgstr "Evet" +msgid "Enter wildcard subscribe pattern> " +msgstr "Joker abone alanýna giriniz> " #: src/lang.c:823 +#, fuzzy, c-format +msgid "subscribed to %d groups" +msgstr "%d gruplara abone olundu" + +#: src/lang.c:824 +#, fuzzy, c-format +msgid "Subscribed to %s" +msgstr "Abone olundu %s" + +#: src/lang.c:825 #, fuzzy -msgid " You have mail\n" -msgstr " Postanýz var\n" +msgid "Subscribing... " +msgstr "Abone olunuyor... " + +#: src/lang.c:826 +#, fuzzy, c-format +msgid "Repost or supersede article(s) [%%s]? (%s/%s/%s): " +msgstr "Makale(ler)i yeniden gönder yada deðiþtir (s) [%%s]? (%s/%s/%s): " + +#: src/lang.c:827 +#, fuzzy, c-format +msgid "Supersede article(s) to group(s) [%s]> " +msgstr "Makale(ler)i Grup(lar)a yerini al [%s]> " #: src/lang.c:828 +#, fuzzy +msgid "Superseding article ..." +msgstr "Makaleyi deðiþtiriyor..." + +#: src/lang.c:829 +#, fuzzy, c-format +msgid "\n" + "Stopped. Type 'fg' to restart %s\n" +msgstr "\n" + "Durduruldu. Yeniden baþlatmak için 'fg' yaz %s\n" + +#: src/lang.c:831 #, fuzzy, c-format -msgid "\n" - "Warning: Posting is in %s and contains characters which are not\n" - " in your selected MM_NETWORK_CHARSET: %s.\n" - " These characters will be replaced by '?' if you post this\n" - " article unchanged. To avoid garbling your article please either\n" - " edit it and remove those characters or change the setting of\n" - " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" - " M)enu option.\n" -msgstr "\n" - "Uyarý: Gönderim %s 'de ve seçtiðiniz\n" - " MM_NETWORK_CHARSETte olmayan karakterler içeriyor: %s.\n" - " Bu makaleyi deðiþtirmeden gönderirseniz bu karakterler '?' ile\n" - " deðiþtirilecektir. Makalenizi karamþýklaþtýrmamak için\n" - " düzenleyip karakterleri silin ya da MM_NETWORK_CHARSET\n" - " ayarlarýný M)enü seçeneði ile yollamak için daha uygun bir þekilde\n" - " deðiþtirin.\n" - -#: src/lang.c:839 -#, fuzzy -msgid " -D debug mode 1=NNTP 2=ALL" -msgstr " -D hata ayýklma kipi 1=NNTP 2=HEPSÝ" - -#: src/lang.c:843 -#, fuzzy -msgid "Read carefully!\n" - "\n" - " You are about to cancel an article seemingly not written by you. This " - "will\n" - " wipe the article from lots of news servers throughout the world;\n" - " Usenet's majority considers this rather inappropriate, to say the " - "least.\n" - " Only press 'd' if you are absolutely positive that you are ready to " - "take\n" - " the rap.\n" - "\n" - "This is the article you are about to cancel:\n" - "\n" -msgstr "Dikkatle okuyun!\n" - "\n" - " Tarafýnýzdan yazýlmýþ olmayan bir makaleyi iptal etmek üzeresiniz. Bu\n" - " dünyadaki birçok sunucudan bu makaleyi silecektir;\n" - " en azýndan Usenet'in çoðunluðu bunu uygunsuz bulmaktadýr.\n" - " Bu eleþtiriyi almaya hazýr olduðunuzdan kesinlikle eminseniz\n" - " sadece 'd' ye basýn.\n" - "\n" - "Ýptal etmek üzere olduðunuz makale bu:\n" - "\n" +msgid "%d days" +msgstr "%d günler" + +#: src/lang.c:832 +#, fuzzy +msgid "" +msgstr "" + +#: src/lang.c:833 +msgid "TeX " +msgstr "" + +#: src/lang.c:834 +#, fuzzy +msgid "# Default action/prompt strings\n" +msgstr "# Varsayýlan iþlem/komut dizgileri\n" + +#: src/lang.c:835 +#, fuzzy +msgid "# Defaults for quick (1 key) kill & auto-selection filters\n" + "# header=NUM 0,1=Subject: 2,3=From: 4=Message-ID: & full References: line\n" + "# 5=Message-ID: & last References: entry only\n" + "# 6=Message-ID: entry only 7=Lines:\n" + "# global=ON/OFF ON=apply to all groups OFF=apply to current group\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" +msgstr "# Varsayýlanlarý (1 tuþ) kill & otomatik seçme süzleri\n" + "# baþlýk=NUM 0,1=Konu: 2,3=dan: 4=Ýleti kimliði: & tam referanslar: satýr\n" + "# 5=Ýleti Kimliði: & son referanslar: sadece giriþ\n" + "# 6=Ýleti Kimliði: sadece giriþ 7=Satýrlar:\n" + "# global=ON/OFF ON=bütün gruplara uygula OFF=mevcut gruba uygula\n" + "# case=ON/OFF ON=filter case sensitive OFF=ignore case\n" + "# expire=ON/OFF ON=limit to default_filter_days OFF=don't ever expire\n" + +#: src/lang.c:848 +#, fuzzy +msgid "# If ON use print current subject or newsgroup description in the last line\n" +msgstr "# ON durumdaysa mevcut konu yada son satýrdaki habergrup tanýmý için yazýcýyý " + "kullanýnýz\n" + +#: src/lang.c:849 +#, fuzzy +msgid "# Host & time info used for detecting new groups (don't touch)\n" +msgstr "# Yeni gruplarý algýlamak için ana sunucu& zaman bilgileri kullanýnýz " + "(dokunmayýnýz)\n" + +#: src/lang.c:850 +#, fuzzy +msgid "There is no news\n" +msgstr "Hiçbir haber yok\n" + +#: src/lang.c:851 +#, fuzzy +msgid "Thread" +msgstr "En küçük yürütme birimi" #: src/lang.c:852 #, fuzzy -msgid "toggle color" -msgstr "renk deðiþtir" +msgid "Thread Level Commands" +msgstr "En Küçük Yürütme Birim Komut Düzeyi" #: src/lang.c:853 -msgid "# Changing colors of several screen parts\n" - "# Possible values are:\n" - "# -1 = default (white for foreground and black for background)\n" - "# 0 = black\n" - "# 1 = red\n" - "# 2 = green\n" - "# 3 = brown\n" - "# 4 = blue\n" - "# 5 = pink\n" - "# 6 = cyan\n" - "# 7 = white\n" - "# These are *only* for foreground:\n" - "# 8 = gray\n" - "# 9 = light red\n" - "# 10 = light green\n" - "# 11 = yellow\n" - "# 12 = light blue\n" - "# 13 = light pink\n" - "# 14 = light cyan\n" - "# 15 = light white\n" - "\n" -msgstr "" +#, fuzzy +msgid "Thread deselected" +msgstr "En küçük yürütme birimin seçimi iptal edildi" + +#: src/lang.c:854 +#, fuzzy +msgid "Thread selected" +msgstr "En küçük yürütme birimi seçildi" + +#: src/lang.c:856 +#, fuzzy +msgid "threads" +msgstr "en küçük yürütme birimleri" + +#: src/lang.c:858 +#, fuzzy +msgid "thread" +msgstr "en küçük yürütme birimi" + +#: src/lang.c:859 +#, fuzzy, c-format +msgid "Thread %4s of %4s" +msgstr "En küçük yürütme birimi %4s of %4s" + +#: src/lang.c:860 +#, fuzzy +msgid "Threading articles..." +msgstr "Makaleler baðlanýyor..." + +#: src/lang.c:861 +#, fuzzy, c-format +msgid "Toggled word highlighting %s" +msgstr "Geçiþ kelime belirtiliyor %s" + +#: src/lang.c:862 +#, fuzzy +msgid "Toggled rot13 encoding" +msgstr "Geçiþ rot13 kodlanýyor" + +#: src/lang.c:863 +#, fuzzy, c-format +msgid "Toggled german TeX encoding %s" +msgstr "Geçiþ almanca TeX kodlanýyor %s" + +#: src/lang.c:864 +#, fuzzy, c-format +msgid "Toggled tab-width to %d" +msgstr "Geçiþ sekme geniþliði %d" + +#: src/lang.c:866 +#, fuzzy, c-format +msgid "%d Trying to dotlock %s" +msgstr "%d kilitlemeye deniyor %s" + +#: src/lang.c:867 +#, fuzzy, c-format +msgid "%d Trying to lock %s" +msgstr "%d kilitlemeye çalýþýyor %s" + +#: src/lang.c:869 +#, fuzzy +msgid " h=help" +msgstr " h=yardým" + +#: src/lang.c:871 +#, fuzzy +msgid "Unlimited" +msgstr "Sýnýrsýz" + +#: src/lang.c:872 +#, fuzzy +msgid "Enter wildcard unsubscribe pattern> " +msgstr "Abone iptal joker alanýna giriniz> " #: src/lang.c:873 +#, fuzzy, c-format +msgid "Error decoding %s : %s" +msgstr "Hata kod çözülmesi %s: %s" + +#: src/lang.c:874 #, fuzzy -msgid " -a toggle color flag" -msgstr " -a renk bayraðýný deðiþtir" +msgid "No end." +msgstr "Sonu yok." + +#: src/lang.c:875 +#, fuzzy, c-format +msgid "%s successfully decoded." +msgstr "%s kod baþarýyla çözüldü." + +#: src/lang.c:876 +#, fuzzy, c-format +msgid "%*s[-- %s/%s, %suuencoded file, %d lines, name: %s --]\n" + "\n" +msgstr "%*s[-- %s/%s, %s metinsele kodlama dosyasý, %d satýr, ad: %s --]\n" + "\n" #: src/lang.c:877 #, fuzzy -msgid "\n" - "Error: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "Hata: Birden fazla haber grubu için Takip-Et ayarlandý!\n" +msgid "unread " +msgstr "okunmamýþ " #: src/lang.c:878 #, fuzzy, c-format -msgid "\n" - "Error: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "Hata: %d haber gruubuna çapraz gönderiyor ve Takip-Et satýrý yok!\n" +msgid "unsubscribed from %d groups" +msgstr "%d gruptan abonelik iptal edildi" #: src/lang.c:879 #, fuzzy, c-format -msgid "\n" - "Error: \"%s\" is not a valid newsgroup!\n" -msgstr "\n" - "Hata: \"%s\" geçerli bir haber grubu deðil!\n" +msgid "Unsubscribed from %s" +msgstr "abonelik iptal edildi %s" + +#: src/lang.c:880 +#, fuzzy +msgid "Unsubscribing... " +msgstr "Abonelik iptal oluyor... " #: src/lang.c:881 #, fuzzy -msgid "\n" - "Warning: Followup-To set to more than one newsgroup!\n" -msgstr "\n" - "Uyarý: Birden fazla haber grubu için Takip-Et ayarlandý!\n" +msgid "Unthreading articles..." +msgstr "Makalelerin baðlantýsý sonlanýyor..." #: src/lang.c:882 -#, fuzzy, c-format -msgid "\n" - "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" -msgstr "\n" - "Hata: %d haber gruubuna çapraz gönderiyor ve Takip-Et satýrý yok!\n" - -#: src/lang.c:883 -#, fuzzy, c-format -msgid "\n" - "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" -msgstr "\n" - "Uyarý: \"%s\" sizin newsrc'niz deðil, bu sitede geçersiz olabilir!\n" +#, fuzzy +msgid "Updated" +msgstr "Güncelendi" #: src/lang.c:884 -#, fuzzy, c-format -msgid "\n" - "Warning: \"%s\" is not a valid newsgroup at this site!\n" -msgstr "\n" - "Uyaý: \"%s\" bu sitede geçerli bir newsrc deðil!\n" +#, c-format +msgid "unparseable \"LIST COUNTS\" line: \"%s\"" +msgstr "" + +#: src/lang.c:886 +#, fuzzy +msgid "Updating" +msgstr "Güncellenme" + +#: src/lang.c:887 +msgid "URL Menu" +msgstr "" #: src/lang.c:888 -#, fuzzy, c-format -msgid "%d files successfully written from %d articles. %d %s occurred." -msgstr "%d dosyalarý %d makalelerinden baþarýyla yazýldý. %d%s meydana geldi." +#, fuzzy +msgid "URL Menu Commands" +msgstr "Üst Düzey Komutlar" #: src/lang.c:889 -#, fuzzy -msgid "Missing parts." -msgstr "Bazý yerler eksik." +#, fuzzy, c-format +msgid "Opening %s" +msgstr "Açýlma %s\n" #: src/lang.c:890 #, fuzzy -msgid "No beginning." -msgstr "Baþlangýç yok." +msgid "Select URL> " +msgstr "Grup seç> " #: src/lang.c:891 #, fuzzy -msgid "No data." -msgstr "Veri yok." +msgid "No URLs in this article" +msgstr "Makalede Birörnek Kaynak Bulucu yok" #: src/lang.c:892 #, fuzzy -msgid "Unknown error." -msgstr "Bilinmeyen hata." +msgid "Use MIME display program for this message?" +msgstr "Bu ileti için MIME(Çok Amaçlý Internet Posta Uzantýlarý) ekran programý " + "kullan?" + +#: src/lang.c:893 +#, fuzzy +msgid " -c mark all news as read in subscribed newsgroups (batch mode)" +msgstr " -c abone edilmiþ habergruplara bütün haberleri okunmuþ olarak " + "iþaretleyiniz (toplu mod)" + +#: src/lang.c:894 +#, fuzzy +msgid " -Z return status indicating if any unread news (batch mode)" +msgstr " -Z Okunmamýþ haber varsa geri statüsüne gelir (toplu mod)" #: src/lang.c:895 +#, fuzzy +msgid " -q don't check for new newsgroups" +msgstr " -q yeni habergruplarý için deneme" + +#: src/lang.c:896 +#, fuzzy +msgid " -X don't save any files on quit" +msgstr " -X çýkýþta hiçbir dosya kaydetme" + +#: src/lang.c:897 +#, fuzzy +msgid " -d don't show newsgroup descriptions" +msgstr " -d habergrubu tanýmlarý gösterme" + +#: src/lang.c:898 +#, fuzzy +msgid " -G limit get only limit articles/group" +msgstr " -G limit sadece makale/grup sýnýrý elde et" + +#: src/lang.c:899 +#, fuzzy, c-format +msgid " -H help information about %s" +msgstr " -H yardým bilgisi %s" + +#: src/lang.c:900 +#, fuzzy +msgid " -h this help message" +msgstr " -h ileti yardýmý" + +#: src/lang.c:901 +#, fuzzy, c-format +msgid " -I dir news index file directory [default=%s]" +msgstr " -I dir haber dizin dosyasý [varsayýlant=%s]" + +#: src/lang.c:902 +#, fuzzy +msgid " -u update index files (batch mode)" +msgstr " -u guncelleme dizin dosyasý (toplu modu)" + +#: src/lang.c:903 +#, fuzzy, c-format +msgid " -m dir mailbox directory [default=%s]" +msgstr " -m dir posta kutusu dizini [varsayýlan=%s]" + +#: src/lang.c:904 +#, fuzzy, c-format +msgid "\n" + "Mail bug reports/comments to %s" +msgstr "\n" + "posta hata raporu/açýklama %s" + +#: src/lang.c:905 +#, fuzzy +msgid " -N mail new news to your posts (batch mode)" +msgstr " -N Gönderilenlere yeni haber gönder (toplu mod)" + +#: src/lang.c:906 +#, fuzzy +msgid " -M user mail new news to specified user (batch mode)" +msgstr " -M kulanýcýsý özel kulanýcýya yeni haber göder (toplu mod)" + +#: src/lang.c:907 +#, fuzzy, c-format +msgid " -f file subscribed to newsgroups file [default=%s]" +msgstr " -f dosyasý habergruplar dosyasýna abone olundu (varsayýlan=%s)" + +#: src/lang.c:908 +#, fuzzy +msgid " -x no posting mode" +msgstr " -x iþlem modu yok" + +#: src/lang.c:909 +#, fuzzy +msgid " -w post an article and exit" +msgstr " -w makale gönder ve çýk" + +#: src/lang.c:910 +#, fuzzy +msgid " -o post all postponed articles and exit" +msgstr " -o ertelenmiþ bütün makaleleri gönder ve çýk" + +#: src/lang.c:911 +#, fuzzy +msgid " -R read news saved by -S option" +msgstr " -R -S seçeneði basarak kaydedilen haberleri oku" + +#: src/lang.c:912 +#, fuzzy, c-format +msgid " -s dir save news directory [default=%s]" +msgstr " -s dir haber dizinini kaydet (varsayýlan=%s)" + +#: src/lang.c:913 +#, fuzzy +msgid " -S save new news for later reading (batch mode)" +msgstr " -S daha sonra okumak üzere yeni haberleri kaydet (toplu mod)" + +#: src/lang.c:914 +#, fuzzy +msgid " -z start if any unread news" +msgstr " -z okunmamýþ haber varsa baþla" + +#: src/lang.c:915 +#, fuzzy, c-format +msgid "A Usenet reader.\n" + "\n" + "Usage: %s [options] [newsgroup[,...]]" +msgstr "Usenet okuyucusu.\n" + "\n" + "Kullaným: %s [seçenekler] [habergrubu[,...]]" + +#: src/lang.c:916 +#, fuzzy +msgid " -v verbose output for batch mode options" +msgstr " -v toplu kip seçenekleri için gereksiz çýkýþ" + +#: src/lang.c:917 +#, fuzzy +msgid " -V print version & date information" +msgstr " -V Sürüm & tarih bilgilerini yazdýr" + +#: src/lang.c:918 +#, fuzzy, c-format +msgid "%s only useful without batch mode operations\n" +msgstr "%s sadece toplu kip seçenekleri yoksa kullanýþlý\n" + +#: src/lang.c:919 +#, fuzzy, c-format +msgid "%s only useful for batch mode operations\n" +msgstr "%s sadece toplu kip seçenekleri varsa kullanýþlý\n" + +#: src/lang.c:920 +#, c-format +msgid "Useless combination %s and %s. Ignoring %s.\n" +msgstr "" + +#: src/lang.c:922 +#, fuzzy, c-format +msgid "\n" + "%s%d out of range (0 - %d). Reset to 0" +msgstr "\n" + "%s%d erimin dýþýnda (0 - %d), Sýfýrla" + +#: src/lang.c:923 +#, fuzzy, c-format +msgid "View '%s' (%s/%s)?" +msgstr "Göster '%s' (%s/%s)?" + +#: src/lang.c:925 +#, fuzzy, c-format +msgid "\n" + "Warning: posting exceeds %d columns. Line %d is the first long one:\n" + "%-100s\n" +msgstr "\n" + "Uyarý: gönderme %d sütunlarýný geçiyor. %d en uzun ilk satýr:\n" + "%-100s\n" + +#: src/lang.c:926 +#, fuzzy +msgid "\n" + "Warning: article unchanged after editing\n" +msgstr "\n" + "Uyarý: makale düzenlendikten sonra deðiþtirildi\n" + +#: src/lang.c:927 +#, fuzzy +msgid "\n" + "Warning: \"Subject:\" contains only whitespaces.\n" +msgstr "\n" + "Uyarý: \"Konu:\" sadece beyazboþluklar var.\n" + +#: src/lang.c:928 +#, fuzzy +msgid "\n" + "Warning: \"Subject:\" begins with \"Re: \" but there are no \"References:\".\n" +msgstr "\n" + "Uyarý: \"Konu:\" , \"Re: \" ile baþlar ama \"Referanslar:\" yok.\n" + +#: src/lang.c:930 +#, fuzzy +msgid "\n" + "Warning: Article has \"References:\" but \"Subject:\" does not begin\n" + " with \"Re: \" and does not contain \"(was:\".\n" +msgstr "\n" + "Uyarý: Makalede \"Referanslar:\" var \"Konu:\" \"Re: \" ile\n" + " baþlmýyor ve \"(was:\" yok.\n" + +#: src/lang.c:933 +#, fuzzy +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly written by you. This will " + "wipe\n" + " the article from most news servers throughout the world, but there is " + "no\n" + " guarantee that it will work.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "Dikkatle oku!\n" + "\n" + " Tarafýnýzdan yazýlan bir makaleyi iptal etmek üzeresiniz. Bu, makaleyi " + "dünyadaki\n" + " birçok haber sunucusundan silecektir, ama çalýþacaðýnýn da bir garantisi " + "yok.\n" + "\n" + "Ýptal etmek üzere olduðunuz makale bu:\n" + "\n" + +#: src/lang.c:937 +#, fuzzy +msgid "\n" + "Warning: You are using a non-plain transfer encoding (such as base64 or\n" + " quoted-printable) and an external inews program to submit your\n" + " article. If a signature is appended by that inews program it will\n" + " not be encoded properly.\n" +msgstr "\n" + "Uyarý: Makalenizi sunmak için düz olmayan bir transfer kodlamasý (base64 ya " + "da\n" + " imlenen-yazýlabilir gibi) ve dýþ inews programý kullanýyorsunuz. " + "Eðer o\n" + " inews programý tarafýndan bir imza iliþtirildiyse, uygun þekilde " + "kodlanamaz.\n" + +#: src/lang.c:942 +msgid "\n" + "Warning: \"example\" is a reserved hierarchy!\n" +msgstr "" + +#: src/lang.c:943 +#, fuzzy, c-format +msgid "\n" + "\n" + "You are upgrading to tin %s from an earlier version.\n" + "Some values in your %s file have changed!\n" + "Read WHATSNEW, etc...\n" +msgstr "\n" + "\n" + "Daha önceki bir sürümden tin %s 'e güncelliyorsunuz.\n" + "%s dosyanýzdaki bazi deðerler deðiþtirilmiþtir!\n" + "Oku WHATSNEW, vb...\n" + +#: src/lang.c:945 #, fuzzy, c-format -msgid "\tChecksum of %s (%ld %s)" -msgstr "\tSaðlama toplamý %s (%ld %s)" +msgid "\n" + "\n" + "You are downgrading to tin %s from a more recent version!\n" + "Some values in your %s file may be ignored, others might have changed!\n" +msgstr "\n" + "\n" + "Yeni bir sürümden tin %s 'e alçaltýyorsunuz!\n" + "%s dosyanýdaki bazý deðerler yoksayýlabiri, diðerleri deðiþtirilebilir!\n" + +#: src/lang.c:948 +#, fuzzy, c-format +msgid "Warning: tin wrote fewer groups to your\n" + "\t%s\n" + "than it read at startup. If you didn't unsubscribe from %ld %s during\n" + "this session this indicates an error and you should backup your %s\n" + "before you start tin once again!\n" +msgstr "Uyarý: tin baþlangýçta okuduðundan\n" + "\t%s\n" + "daha az küme yazdý. Bu oturum sýrasýnda %ld %s 'den aboneliðinizi " + "almadýysanýz\n" + "bu bir hata gösterir ve tini tekrar baþlatmadan %s'i\n" + "yedeklemeniz gerekmektedir!\n" + +#: src/lang.c:952 +#, fuzzy, c-format +msgid "\n" + "Warning: Found %d '-- \\n' lines, this may confuse some people.\n" +msgstr "\n" + "Uyarý: Bulundu %d '-- \\n' satýrlar, bazý insanlarýn kafasý karýþabilir.\n" + +#: src/lang.c:953 +#, fuzzy, c-format +msgid "Warning: Only %d out of %d articles were saved" +msgstr "Uyarý: Sadece %d 'de %d makale kaydedildi" + +#: src/lang.c:954 +#, fuzzy, c-format +msgid "\n" + "Warning: Your signature is longer than %d lines. Since signatures usually " + "do\n" + " not transport any useful information, they should be as short " + "as\n" + " possible.\n" +msgstr "\n" + "Uyarý: Ýmzanýz %d satýrlarýndan daha uzun. Ýmzalar genellikle\n" + " iþe yarar bilgi aktarmadýklarý için, olabildikleri kadar kýsa\n" + " olmalýlar.\n" + +#: src/lang.c:958 +#, fuzzy, c-format +msgid "Warning: this mail address may contain a spamtrap. %s=continue, %s=abort? " +msgstr "Uyarý: bu posta adresinde mesaj yaðanaðý tuzaðý olabilir. %s=devam. %" + "s=durdur? " + +#: src/lang.c:959 +#, fuzzy +msgid "\n" + "Warning: Signatures should start with '-- \\n' not with '--\\n'.\n" +msgstr "\n" + "Uyarý: Ýmzalar '-- \\n' ile baþlamalý '--\\n' ile deðil.\n" + +#: src/lang.c:960 +#, fuzzy +msgid "Writing attributes file..." +msgstr "Öznitelikler dosylasýný yazýyor..." + +#: src/lang.c:962 +#, fuzzy, c-format +msgid "%d Responses" +msgstr "%d Yanýtlar" + +#: src/lang.c:964 +#, fuzzy, c-format +msgid "Added %d %s" +msgstr "Eklendi %d %s" + +#: src/lang.c:965 +#, fuzzy +msgid "No unsubscribed groups to show" +msgstr "Gösterilecek abonelikten çýkmýþ küme yok" + +#: src/lang.c:966 +#, fuzzy +msgid "Showing subscribed to groups only" +msgstr "Sadece abone kümeleri göster" + +#: src/lang.c:967 +#, fuzzy +msgid "Yes " +msgstr "Evet" + +#: src/lang.c:968 +#, fuzzy +msgid " You have mail" +msgstr " Postanýz var" + +#: src/lang.c:973 +#, fuzzy, c-format +msgid "\n" + "Warning: Posting is in %s and contains characters which are not\n" + " in your selected MM_NETWORK_CHARSET: %s.\n" + " These characters will be replaced by '?' if you post this\n" + " article unchanged. To avoid garbling your article please either\n" + " edit it and remove those characters or change the setting of\n" + " MM_NETWORK_CHARSET to a suitable value for your posting via the\n" + " M)enu option.\n" +msgstr "\n" + "Uyarý: Gönderim %s 'de ve seçtiðiniz\n" + " MM_NETWORK_CHARSETte olmayan karakterler içeriyor: %s.\n" + " Bu makaleyi deðiþtirmeden gönderirseniz bu karakterler '?' ile\n" + " deðiþtirilecektir. Makalenizi karamþýklaþtýrmamak için\n" + " düzenleyip karakterleri silin ya da MM_NETWORK_CHARSET\n" + " ayarlarýný M)enü seçeneði ile yollamak için daha uygun bir þekilde\n" + " deðiþtirin.\n" + +#: src/lang.c:984 +msgid " -D mode debug mode" +msgstr "" + +#: src/lang.c:988 +#, fuzzy +msgid "Read carefully!\n" + "\n" + " You are about to cancel an article seemingly not written by you. This " + "will\n" + " wipe the article from lots of news servers throughout the world;\n" + " Usenet's majority considers this rather inappropriate, to say the " + "least.\n" + " Only press 'd' if you are absolutely positive that you are ready to " + "take\n" + " the rap.\n" + "\n" + "This is the article you are about to cancel:\n" + "\n" +msgstr "Dikkatle okuyun!\n" + "\n" + " Tarafýnýzdan yazýlmýþ olmayan bir makaleyi iptal etmek üzeresiniz. Bu\n" + " dünyadaki birçok sunucudan bu makaleyi silecektir;\n" + " en azýndan Usenet'in çoðunluðu bunu uygunsuz bulmaktadýr.\n" + " Bu eleþtiriyi almaya hazýr olduðunuzdan kesinlikle eminseniz\n" + " sadece 'd' ye basýn.\n" + "\n" + "Ýptal etmek üzere olduðunuz makale bu:\n" + "\n" + +#: src/lang.c:997 +#, fuzzy +msgid "toggle color" +msgstr "renk deðiþtir" + +#: src/lang.c:998 +msgid "# Changing colors of several screen parts\n" + "# Possible values are:\n" + "# -1 = default (white for foreground and black for background)\n" + "# 0 = black\n" + "# 1 = red\n" + "# 2 = green\n" + "# 3 = brown\n" + "# 4 = blue\n" + "# 5 = pink\n" + "# 6 = cyan\n" + "# 7 = white\n" + "# These are *only* for foreground:\n" + "# 8 = gray\n" + "# 9 = light red\n" + "# 10 = light green\n" + "# 11 = yellow\n" + "# 12 = light blue\n" + "# 13 = light pink\n" + "# 14 = light cyan\n" + "# 15 = light white\n" + "\n" +msgstr "" + +#: src/lang.c:1018 +#, fuzzy +msgid " -a toggle color flag" +msgstr " -a renk bayraðýný deðiþtir" + +#: src/lang.c:1022 +#, fuzzy +msgid "\n" + "Error: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "Hata: Birden fazla haber grubu için Takip-Et ayarlandý!\n" + +#: src/lang.c:1023 +#, c-format +msgid "\n" + "Error: \"%s\" is renamed, use \"%s\" instead!\n" +msgstr "" + +#: src/lang.c:1024 +#, fuzzy, c-format +msgid "\n" + "Error: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "Hata: %d haber gruubuna çapraz gönderiyor ve Takip-Et satýrý yok!\n" + +#: src/lang.c:1025 +#, fuzzy, c-format +msgid "\n" + "Error: \"%s\" is not a valid newsgroup!\n" +msgstr "\n" + "Hata: \"%s\" geçerli bir haber grubu deðil!\n" + +#: src/lang.c:1027 +#, fuzzy +msgid "\n" + "Warning: Followup-To set to more than one newsgroup!\n" +msgstr "\n" + "Uyarý: Birden fazla haber grubu için Takip-Et ayarlandý!\n" + +#: src/lang.c:1028 +#, fuzzy, c-format +msgid "\n" + "Warning: \"%s\" is renamed, you should use \"%s\" instead!\n" +msgstr "\n" + "Uyaý: \"%s\" bu sitede geçerli bir newsrc deðil!\n" + +#: src/lang.c:1029 +#, fuzzy, c-format +msgid "\n" + "Warning: cross-posting to %d newsgroups and no Followup-To line!\n" +msgstr "\n" + "Hata: %d haber gruubuna çapraz gönderiyor ve Takip-Et satýrý yok!\n" + +#: src/lang.c:1030 +#, fuzzy, c-format +msgid "\n" + "Warning: \"%s\" is not in your newsrc, it may be invalid at this site!\n" +msgstr "\n" + "Uyarý: \"%s\" sizin newsrc'niz deðil, bu sitede geçersiz olabilir!\n" + +#: src/lang.c:1031 +#, fuzzy, c-format +msgid "\n" + "Warning: \"%s\" is not a valid newsgroup at this site!\n" +msgstr "\n" + "Uyaý: \"%s\" bu sitede geçerli bir newsrc deðil!\n" + +#: src/lang.c:1035 +#, fuzzy, c-format +msgid "%d files successfully written from %d articles. %d %s occurred." +msgstr "%d dosyalarý %d makalelerinden baþarýyla yazýldý. %d%s meydana geldi." + +#: src/lang.c:1036 +#, fuzzy +msgid "Missing parts." +msgstr "Bazý yerler eksik." + +#: src/lang.c:1037 +#, fuzzy +msgid "No beginning." +msgstr "Baþlangýç yok." + +#: src/lang.c:1038 +#, fuzzy +msgid "No data." +msgstr "Veri yok." + +#: src/lang.c:1039 +#, fuzzy +msgid "Unknown error." +msgstr "Bilinmeyen hata." + +#: src/lang.c:1042 +#, fuzzy, c-format +msgid "\tChecksum of %s (%ld %s)" +msgstr "\tSaðlama toplamý %s (%ld %s)" + +#: src/lang.c:1047 +#, fuzzy +msgid "Reading mail active file... " +msgstr "Posta aktif dosyasý okunuyor... " + +#: src/lang.c:1048 +#, fuzzy +msgid "Reading mailgroups file... " +msgstr "Postagruplarý dosyasý okunuyor... " + +#: src/lang.c:1052 +#, fuzzy +msgid "perform PGP operations on article" +msgstr "makalede PGP iþlemi gerçekleþtir" + +#: src/lang.c:1053 +#, fuzzy +msgid "Add key(s) to public keyring?" +msgstr "Genel tuþhalkasýna tuþ(lar) ekle?" + +#: src/lang.c:1054 +#, fuzzy, c-format +msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " +msgstr "%s=þifrele, %s=imzala. %s=ikisi de, %s=çýk: " + +#: src/lang.c:1055 +#, fuzzy, c-format +msgid "%s=sign, %s=sign & include public key, %s=quit: " +msgstr "%s=iþaretle, %s=imzala & genel tuþ dahil et, %s=çýk: " + +#: src/lang.c:1056 +#, fuzzy, c-format +msgid "PGP has not been set up (can't open %s)" +msgstr "PGP ayarlanmadý (açýlamýyor %s)" + +#: src/lang.c:1057 +#, fuzzy +msgid "Article not signed and no public keys found" +msgstr "Makale imzalanmadý ve genel tuþlar bulunamadý" + +#: src/lang.c:1059 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=pgp, %s=menü, %s=yolla, %s=ertele: " + +#: src/lang.c:1060 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " +msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=pgp, %s=gönder [%%s]: " + +#: src/lang.c:1061 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=pgp, %s=menü, %s=yolla, %s=ertele [%%s]: " + +#: src/lang.c:1063 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " +msgstr "%s=çýk, %s=düzenle, %s=pgp, %s=menü, %s=yolla, %s=ertele: " + +#: src/lang.c:1064 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " +msgstr "%s=çýk, %s=düzenle, %s=pgp, %s=gönder [%%s]: " + +#: src/lang.c:1065 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=çýk, %s=düzenle, %s=pgp, %s=menü, %s=yolla, %s=ertele [%%]: " + +#: src/lang.c:1069 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " +msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=menü, %s=yolla, %s=ertele: " + +#: src/lang.c:1070 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " +msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=yolla [%%s]: " + +#: src/lang.c:1071 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=menü, %s=yolla, %s=ertele [%%s]: " + +#: src/lang.c:1073 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " +msgstr "%s=çýk, %s=düzenle, %s=menü, %s=post, %s=ertele: " + +#: src/lang.c:1074 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=send [%%s]: " +msgstr "%s=çýk, %s=düzenle, %s=gönder [%%s]: " + +#: src/lang.c:1075 +#, fuzzy, c-format +msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " +msgstr "%s=çýk, %s=düzenle, %s=menü, %s=yolla, %s=ertele [%%s]: " + +#: src/lang.c:1084 +#, fuzzy +msgid "Try cache_overview_files to speed up things.\n" +msgstr "Hýzlandýrmak için önbellek_giriþ_dosyalarýný deneyin.\n" + +#: src/lang.c:1085 +#, fuzzy +msgid "Tin will use local index files instead.\n" +msgstr "Tin yerel dizin dosyalarýný kullanacak.\n" + +#: src/lang.c:1086 +#, fuzzy +msgid "Cannot find NNTP server name" +msgstr "NNTP sunucu ismi bulunamadý" + +#: src/lang.c:1087 +#, fuzzy, c-format +msgid "Connecting to %s:%u..." +msgstr "Baðlanýyor %s:%u..." + +#: src/lang.c:1088 +#, fuzzy +msgid "Disconnecting from server...\n" +msgstr "Sunucu baðlantýsý kesildi...\n" + +#: src/lang.c:1089 +#, fuzzy, c-format +msgid "Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\"" +msgstr "GRUP komut yanýtýnda yanlýþ haber grubu ismi. %s e %s" + +#: src/lang.c:1090 +#, fuzzy, c-format +msgid "Failed to connect to NNTP server %s. Exiting..." +msgstr "NNTP sunucusuna baðlantý baþarýsýz %s. Çýkýyor..." + +#: src/lang.c:1091 +#, fuzzy +msgid "205 Closing connection" +msgstr "205 Baðlantý kesiliyor" + +#: src/lang.c:1092 +#, fuzzy +msgid "Your server does not support the NNTP XOVER or OVER command.\n" +msgstr "Sunucunuz NNTP XOVER ya da OVER komutunu desteklemiyor.\n" + +#: src/lang.c:1093 +#, fuzzy +msgid "Connection to news server has timed out. Reconnect?" +msgstr "Haber sunucusu baðlantý süreniz doldu. Tekrar baðlan?" + +#: src/lang.c:1094 +#, fuzzy, c-format +msgid "Put the server name in the file %s,\n" + "or set the environment variable NNTPSERVER" +msgstr "%s dosyasýna sunucu ismini girin,\n" + "ya da çevre deðiþkeni NNTPSERVERi ayarlayýn" + +#: src/lang.c:1095 +#, fuzzy +msgid " -A force authentication on connect" +msgstr " -A baðlantýda doðrulamayý zorla" + +#: src/lang.c:1096 +#, fuzzy, c-format +msgid " -g serv read news from NNTP server serv [default=%s]" +msgstr " -g serv NNTP sunucusundan haberleri oku serv [default=%s]" + +#: src/lang.c:1097 +#, fuzzy, c-format +msgid " -p port use port as NNTP port [default=%d]" +msgstr " -p port baðlantý noktasýný NNTP gibi kullan port [default=%d]" + +#: src/lang.c:1098 +#, fuzzy +msgid " -Q quick start. Same as -nqd" +msgstr " -Q hýzlý baþlat. -nqd ile ayný" + +#: src/lang.c:1099 +#, fuzzy +msgid " -r read news remotely from default NNTP server" +msgstr " -r varsayýlan NTTP sunucusundan haberleri uzaktan oku" + +#: src/lang.c:1100 +#, fuzzy +msgid " -l use only LIST instead of GROUP (-n) command" +msgstr " -l GROUP (-n) komutu yerine sadece LIST i kullan" + +#: src/lang.c:1101 +#, fuzzy +msgid " -n only read subscribed .newsrc groups from NNTP server" +msgstr " -n NNTP sunucusundan sadece abone newsrc gruplarýný oku" + +#: src/lang.c:1103 +msgid " -4 force connecting via IPv4" +msgstr "" + +#: src/lang.c:1104 +msgid " -6 force connecting via IPv6" +msgstr "" + +#: src/lang.c:1105 +#, fuzzy +msgid "\n" + "socket or connect problem\n" +msgstr "\n" + "socket ya da baðlantý hatasý\n" + +#: src/lang.c:1107 +#, fuzzy, c-format +msgid "\n" + "Connection to %s: " +msgstr "\n" + "Baðlanýyor %s: " + +#: src/lang.c:1108 +#, fuzzy +msgid "Giving up...\n" +msgstr "Pes ediliyor...\n" + +#: src/lang.c:1110 +#, fuzzy, c-format +msgid "%s/tcp: Unknown service.\n" +msgstr "%s/tcp: Bilinmeyen servis.\n" + +#: src/lang.c:1114 +#, fuzzy +msgid "Your server does not have Xref: in its XOVER information.\n" + "Tin will try to use XHDR XREF instead (slows down things a bit).\n" +msgstr "Sunucunuzun XOVER bilgisinde Xref: yok.\n" + "Tin XHDR XREF kullanmayý deneyecek (biraz yavaþlatýr).\n" + +#: src/lang.c:1117 +#, fuzzy +msgid "Your server does not have Xref: in its XOVER information.\n" +msgstr "Sunucunuzun XOVER bilgisinde Xref: yok.\n" + +#: src/lang.c:1120 +#, fuzzy, c-format +msgid "Can't open %s. Try %s -r to read news via NNTP.\n" +msgstr "%s Açýlamýyor. NNTP aracýlýðýyla haber okumak için %s -r deneyin.\n" + +#: src/lang.c:1123 +#, fuzzy +msgid " -Q quick start. Same as -qd" +msgstr " -Q hýzlý baþlat. -qd ile ayný" + +#: src/lang.c:1124 +#, fuzzy +msgid " -l read only active file instead of scanning spool (-n) command" +msgstr " -l bekletme komutunu taramak yerine sadece aktif dosyayý okuyun" + +#: src/lang.c:1125 +#, fuzzy +msgid " -n only read subscribed .newsrc groups from spool" +msgstr " -n 'bekletme'den sadece abone newsrc gruplarý okuyun" + +#: src/lang.c:1126 +#, fuzzy +msgid "Your server does not have Xref: in its NOV-files.\n" +msgstr "Sunucunuzun NOV-dosyalarýnda Xref:yok.\n" + +#: src/lang.c:1130 +#, fuzzy +msgid "Posting using external inews failed. Use built in inews instead?" +msgstr "Dýþ inews kullanýlarak gönderme baþarýsýz. Yerine yerleþik inews kullanýlsýn " + "mý?" + +#: src/lang.c:1131 +#, fuzzy +msgid "It worked! Should I always use my built in inews from now on?" +msgstr "Ýþe yaradý! Bundan sonra hep yerleþik inewslerimi mi kullanmalýyým?" + +#: src/lang.c:1135 +#, fuzzy, c-format +msgid "%d %s printed" +msgstr "%d %s yazdýrýldý" + +#: src/lang.c:1136 +#, fuzzy +msgid "output article/thread/hot/pattern/tagged articles to printer" +msgstr "çýkýþ makalesi/parçacýk/hot/örüntü/imlenmiþ makaleleri yazýcýya gönder" + +#: src/lang.c:1137 +#, fuzzy +msgid "Print" +msgstr "Yazdýr" + +#: src/lang.c:1138 +#, fuzzy +msgid "Printing..." +msgstr "Yazdýrýlýyor..." + +#: src/lang.c:1142 +#, fuzzy +msgid "pipe article/thread/hot/pattern/tagged articles into command" +msgstr "kanal makale/parçacýk/hot/örüntü/imlenmiþ makaleleri komuta al" + +#: src/lang.c:1143 +#, fuzzy +msgid "No command" +msgstr "Komut yok" + +#: src/lang.c:1144 +#, fuzzy +msgid "Pipe" +msgstr "Kanal" + +#: src/lang.c:1145 +#, fuzzy, c-format +msgid "Pipe to command [%.*s]> " +msgstr "Komut kanalý [%.*s]> " + +#: src/lang.c:1146 +#, fuzzy +msgid "Piping..." +msgstr "Yöneltiliyor..." + +#: src/lang.c:1148 +#, fuzzy +msgid "Piping not enabled." +msgstr "Yöneltme gerçekleþtirilemedi." + +#: src/lang.c:1152 +#, fuzzy, c-format +msgid "\n" + "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" + " The only allowable space is the one separating the colon (:)\n" + " from the contents. Use a comma (,) to separate multiple\n" + " newsgroup names.\n" +msgstr "\n" + "Hata: \"%s:\" satýrýnda çýkarýlmasý gereken boþluklar var.\n" + " Ýzin verilebilir tek boþluk iki noktayý(:) içerikten ayýran\n" + " boþluktur. Çoklu habergrubu isimlerini ayýrmak için\n" + " virgül (,) kullanýn.\n" + +#: src/lang.c:1157 +#, fuzzy, c-format +msgid "\n" + "Error: The \"%s:\" line is continued in the next line. Since\n" + " the line may not contain whitespace, this is not allowed.\n" + " Please write all newsgroups into a single line.\n" +msgstr "\n" + "Hata: \"%s:\" satýrý bir sonraki satýrda devam ediyor. Satýrda\n" + " beyazboþluk kullanýlamayacaðý için, buna izin verilmiyor.\n" + " Lütfen bütün haber gruplarýný tek bir satýra yazýn.\n" + +#: src/lang.c:1162 +#, fuzzy, c-format +msgid "\n" + "Warning: The \"%s:\" line is continued in the next line.\n" + " This is a very new feature and may not be accepted by all servers.\n" + " To avoid trouble please write all newsgroups into a single line.\n" +msgstr "\n" + "Uyarý: \"%s:\" satýrý bir sonraki satýrda devam ediyor.\n" + " Bu çok yeni bir öznitelik ve tüm sunucular tarafýndan kabul " + "edilmeyebilir.\n" + " Herhangi bir sorunla karþýlaþmamak için bütün haber gruplarýný tek " + "bir satýra yazýn.\n" + +#: src/lang.c:1166 +#, fuzzy, c-format +msgid "\n" + "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" +msgstr "\n" + "Uyarý: \"%s:\" satýrýnda SÝLÝNMESÝ GEREKEN boþluklar var.\n" + +#: src/lang.c:1171 +#, fuzzy +msgid "\n" + " If your article contains quoted text please take some time to pare it " + "down\n" + " to just the key points to which you are responding, or people will " + "think\n" + " you are a dweeb! Many people have the habit of skipping any article " + "whose\n" + " first page is largely quoted material. Format your article to fit in " + "less\n" + " then 80 chars, since that's the conventional size (72 is a good choice " + "as\n" + " it allows quoting without exceeding the limit). If your lines are too " + "long\n" + " they'll wrap around ugly and people won't read what you write. If " + "you\n" + " aren't careful and considerate in formatting your posting, people " + "are\n" + " likely to ignore it completely. It's a crowded net out there.\n" +msgstr "\n" + " Makaleniz imlenmiþ metin içeriyorsa, karþýlýk verdiðiniz çözümleri\n" + " uygun hale getirmek için metni kýsaltýn, yoksa insanlar sizin bir ahmak " + "olduðunuzu\n" + " düþünür. Birçok insan ilk sayfasýnda uzunca bir imlenmiþ metin gördükleri " + "makaleleri\n" + " atlýyor. Makalenizi geleneksel olan 80 karakterden az tutacak þekilde " + "biçimlendirin\n" + " (72 sýnýrý aþmadan imlemeye izin verdiði için iyi bir seçim). Satýrlarýnýz " + "fazla uzunsa\n" + " çirkin görünürler ve insanlar yazdýklarýnýzý okumazlar. Göndereceklerinizi " + "biçimlendirmede\n" + " dikkatli ve özenli olmazsanýz, insanlar onu tamamen yoksayarlar. Net oldukça " + "kalabalýk bir yer.\n" + +#: src/lang.c:1184 +#, fuzzy +msgid "shell escape" +msgstr "kabuk çýkýþý" + +#: src/lang.c:1185 +#, fuzzy, c-format +msgid "Shell Command (%s)" +msgstr "Kabuk Komutu (%s)" + +#: src/lang.c:1186 +#, fuzzy, c-format +msgid "Enter shell command [%s]> " +msgstr "Kabuk komutunu girin [%s]> " + +#: src/lang.c:1190 +#, fuzzy, c-format +msgid "%s: Can't get entry for TERM\n" +msgstr "%s: TERM için girdi alýnamýyor\n" + +#: src/lang.c:1194 +#, fuzzy, c-format +msgid "Group %.*s ('q' to quit)..." +msgstr "Grup %.*s (çýkmak için 'q')..." + +#: src/lang.c:1196 +#, fuzzy, c-format +msgid "Group %.*s..." +msgstr "Grup %.*s..." + +#: src/lang.c:1200 +#, fuzzy +msgid "Server unavailable\n" +msgstr "Sunucu kullanýlamýyor\n" + +#: src/lang.c:1206 +#, fuzzy, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" + "s=post" +msgstr "%s=kanal, %s=posta; %s=yazdýr, %s=çýk, %s=hepsini deðiþtir/okunmayanlar; %" + "s=kaydet; %s=etiketle; %s=yolla" + +#: src/lang.c:1207 +#, fuzzy, c-format +msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=kanal; %s=posta; %s=yazdýr; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %" + "s=yolla" + +#: src/lang.c:1209 +#, fuzzy, c-format +msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=posta; %s=yazdýr; %s=çýk; %s=hepsini deðiþtir/okunmayanlar; %s=kaydet; %" + "s=etiketle; %s=yolla" + +#: src/lang.c:1210 +#, fuzzy, c-format +msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=posta; %s=yazdýr; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla" + +#: src/lang.c:1214 +#, fuzzy, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=kanal; %s=posta; %s=çýk; %s=hepsini deðiþtir/okunmayanlar; %s=kaydet; %" + "s=etiketle; %s=yolla" + +#: src/lang.c:1215 +#, fuzzy, c-format +msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=kanal; %s=posta; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla" + +#: src/lang.c:1217 +#, fuzzy, c-format +msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" +msgstr "%s=posta; %s=çýk; %s=hepsini deðiþtir/okunmayanlar; %s=kaydet; %s=etiketle; %" + "s=yolla" + +#: src/lang.c:1218 +#, fuzzy, c-format +msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" +msgstr "%s=posta; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla" + +#: src/lang.c:1224 +#, fuzzy +msgid "Terminal does not support color" +msgstr "Uçbirim renk desteklemiyor" + +#: src/lang.c:1229 +#, fuzzy, c-format +msgid "Trying %s" +msgstr "%s deneniyor" + +#: src/lang.c:1243 src/lang.c:1269 src/lang.c:1285 src/lang.c:1506 src/refs.c:288 +#, fuzzy +msgid "None" +msgstr "Hiçbiri" + +#: src/lang.c:1244 +#, fuzzy +msgid "Subject" +msgstr "Konu" + +#: src/lang.c:1245 +#, fuzzy +msgid "References" +msgstr "Kaynaklar" + +#: src/lang.c:1246 +#, fuzzy +msgid "Both Subject and References" +msgstr "Konu ve Kaynaklar" + +#: src/lang.c:1247 +#, fuzzy +msgid "Multipart Subject" +msgstr "Çoklu Konu" + +#: src/lang.c:1248 +msgid "Percentage Match" +msgstr "" + +#: src/lang.c:1260 src/lang.c:1340 src/lang.c:1411 +#, fuzzy +msgid "No" +msgstr "Hayýr" + +#: src/lang.c:1261 src/lang.c:1413 +#, fuzzy +msgid "Yes" +msgstr "Evet" + +#: src/lang.c:1262 +#, fuzzy +msgid "Hide All" +msgstr "Tümünü Sakla" + +#: src/lang.c:1270 +#, fuzzy +msgid "Address" +msgstr "Adres" + +#: src/lang.c:1271 +#, fuzzy +msgid "Full Name" +msgstr "Tüm Ýsim" + +#: src/lang.c:1272 +#, fuzzy +msgid "Address and Name" +msgstr "Adres ve Ýsim" + +#: src/lang.c:1279 +#, fuzzy +msgid "Max" +msgstr "En Çok" + +#: src/lang.c:1280 +#, fuzzy +msgid "Sum" +msgstr "Toplam" + +#: src/lang.c:1281 +#, fuzzy +msgid "Average" +msgstr "Ortalama" + +#: src/lang.c:1286 +#, fuzzy +msgid "Lines" +msgstr "Çizgiler" + +#: src/lang.c:1287 +#, fuzzy +msgid "Score" +msgstr "Skorlar" + +#: src/lang.c:1288 +#, fuzzy +msgid "Lines & Score" +msgstr "Satýrlar & Skorlar" + +#: src/lang.c:1297 +#, fuzzy +msgid "Black" +msgstr "Siyah" + +#: src/lang.c:1298 +#, fuzzy +msgid "Red" +msgstr "Kýrmýzý" + +#: src/lang.c:1299 +#, fuzzy +msgid "Green" +msgstr "Yeþil" + +#: src/lang.c:1300 +#, fuzzy +msgid "Brown" +msgstr "Kahverengi" + +#: src/lang.c:1301 +#, fuzzy +msgid "Blue" +msgstr "Mavi" + +#: src/lang.c:1302 +#, fuzzy +msgid "Pink" +msgstr "Pembe" + +#: src/lang.c:1303 +#, fuzzy +msgid "Cyan" +msgstr "Camgöbeði" + +#: src/lang.c:1304 +#, fuzzy +msgid "White" +msgstr "Beyaz" + +#: src/lang.c:1305 +#, fuzzy +msgid "Gray" +msgstr "Gri" + +#: src/lang.c:1306 +#, fuzzy +msgid "Light Red" +msgstr "Açýk Kýrmýzý" -#: src/lang.c:900 +#: src/lang.c:1307 #, fuzzy -msgid "Reading mail active file... " -msgstr "Posta aktif dosyasý okunuyor... " +msgid "Light Green" +msgstr "Açýk Yeþil" -#: src/lang.c:901 +#: src/lang.c:1308 #, fuzzy -msgid "Reading mailgroups file... " -msgstr "Postagruplarý dosyasý okunuyor... " +msgid "Yellow" +msgstr "Sarý" -#: src/lang.c:905 +#: src/lang.c:1309 #, fuzzy -msgid "perform PGP operations on article" -msgstr "makalede PGP iþlemi gerçekleþtir" +msgid "Light Blue" +msgstr "Açýk Mavi" -#: src/lang.c:906 +#: src/lang.c:1310 #, fuzzy -msgid "Add key(s) to public keyring?" -msgstr "Genel tuþhalkasýna tuþ(lar) ekle?" +msgid "Light Pink" +msgstr "Açýk Pembe" -#: src/lang.c:907 -#, fuzzy, c-format -msgid "%s=encrypt, %s=sign, %s=both, %s=quit: " -msgstr "%s=þifrele, %s=imzala. %s=ikisi de, %s=çýk: " +#: src/lang.c:1311 +#, fuzzy +msgid "Light Cyan" +msgstr "Açýk Camgöbeði" -#: src/lang.c:908 -#, fuzzy, c-format -msgid "%s=sign, %s=sign & include public key, %s=quit: " -msgstr "%s=iþaretle, %s=imzala & genel tuþ dahil et, %s=çýk: " +#: src/lang.c:1312 +#, fuzzy +msgid "Light White" +msgstr "Açýk Beyaz" -#: src/lang.c:909 -#, fuzzy, c-format -msgid "PGP has not been set up (can't open %s)" -msgstr "PGP ayarlanmadý (açýlamýyor %s)" +#: src/lang.c:1320 src/lang.c:1417 src/lang.c:1431 +#, fuzzy +msgid "Nothing" +msgstr "Hiçbirþey" -#: src/lang.c:910 +#: src/lang.c:1322 #, fuzzy -msgid "Article not signed and no public keys found" -msgstr "Makale imzalanmadý ve genel tuþlar bulunamadý" +msgid "Space" +msgstr "Boþluk" -#: src/lang.c:912 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=pgp, %s=menü, %s=yolla, %s=ertele: " +#: src/lang.c:1329 +#, fuzzy +msgid "Normal" +msgstr "Normal" -#: src/lang.c:913 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=send [%%s]: " -msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=pgp, %s=gönder [%%s]: " +#: src/lang.c:1330 +#, fuzzy +msgid "Best highlighting" +msgstr "En iyi vurgulama" -#: src/lang.c:914 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=pgp, %s=menü, %s=yolla, %s=ertele [%%s]: " +#: src/lang.c:1331 +#, fuzzy +msgid "Underline" +msgstr "Alt çizgi" -#: src/lang.c:916 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone: " -msgstr "%s=çýk, %s=düzenle, %s=pgp, %s=menü, %s=yolla, %s=ertele: " +#: src/lang.c:1332 +#, fuzzy +msgid "Reverse video" +msgstr "Tes görüntü" -#: src/lang.c:917 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=send [%%s]: " -msgstr "%s=çýk, %s=düzenle, %s=pgp, %s=gönder [%%s]: " +#: src/lang.c:1333 +#, fuzzy +msgid "Blinking" +msgstr "Yanýp sönme" -#: src/lang.c:918 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=pgp, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=çýk, %s=düzenle, %s=pgp, %s=menü, %s=yolla, %s=ertele [%%]: " +#: src/lang.c:1334 +#, fuzzy +msgid "Half bright" +msgstr "Yarý parlak" -#: src/lang.c:922 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone: " -msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=menü, %s=yolla, %s=ertele: " +#: src/lang.c:1335 +#, fuzzy +msgid "Bold" +msgstr "Kalýn" -#: src/lang.c:923 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=send [%%s]: " -msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=yolla [%%s]: " +#: src/lang.c:1341 +msgid "Cc" +msgstr "" -#: src/lang.c:924 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=ispell, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=çýk, %s=düzenle, %s=ispell, %s=menü, %s=yolla, %s=ertele [%%s]: " +#: src/lang.c:1342 +msgid "Bcc" +msgstr "" -#: src/lang.c:926 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone: " -msgstr "%s=çýk, %s=düzenle, %s=menü, %s=post, %s=ertele: " +#: src/lang.c:1343 +msgid "Cc and Bcc" +msgstr "" -#: src/lang.c:927 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=send [%%s]: " -msgstr "%s=çýk, %s=düzenle, %s=gönder [%%s]: " +#: src/lang.c:1348 src/lang.c:1360 +#, fuzzy +msgid "none" +msgstr "hiçbiri" -#: src/lang.c:928 -#, fuzzy, c-format -msgid "%s=quit, %s=edit, %s=menu, %s=post, %s=postpone [%%s]: " -msgstr "%s=çýk, %s=düzenle, %s=menü, %s=yolla, %s=ertele [%%s]: " +#: src/lang.c:1349 +#, fuzzy +msgid "commands" +msgstr "komutlar" -#: src/lang.c:937 +#: src/lang.c:1350 #, fuzzy -msgid "Try cache_overview_files to speed up things.\n" -msgstr "Hýzlandýrmak için önbellek_giriþ_dosyalarýný deneyin.\n" +msgid "select" +msgstr "seç" -#: src/lang.c:938 +#: src/lang.c:1352 #, fuzzy -msgid "Tin will use local index files instead.\n" -msgstr "Tin yerel dizin dosyalarýný kullanacak.\n" +msgid "commands & quit" +msgstr "komutlar & çýk" -#: src/lang.c:939 +#: src/lang.c:1353 #, fuzzy -msgid "Cannot find NNTP server name" -msgstr "NNTP sunucu ismi bulunamadý" +msgid "commands & select" +msgstr "komutlar & seç" -#: src/lang.c:940 -#, fuzzy, c-format -msgid "Connecting to %s:%d..." -msgstr "Baðlanýyor %s:%d..." +#: src/lang.c:1354 +#, fuzzy +msgid "quit & select" +msgstr "çýk & seç" -#: src/lang.c:941 +#: src/lang.c:1355 #, fuzzy -msgid "Disconnecting from server...\n" -msgstr "Sunucu baðlantýsý kesildi...\n" +msgid "commands & quit & select" +msgstr "komutlar & çýk & seç" -#: src/lang.c:942 -#, fuzzy, c-format -msgid "Wrong newsgroup name in response of GROUP command, %s for %s" -msgstr "GRUP komut yanýtýnda yanlýþ haber grubu ismi. %s e %s" +#: src/lang.c:1361 +msgid "PageDown" +msgstr "" -#: src/lang.c:943 -#, fuzzy, c-format -msgid "Failed to connect to NNTP server %s. Exiting..." -msgstr "NNTP sunucusuna baðlantý baþarýsýz %s. Çýkýyor..." +#: src/lang.c:1362 +msgid "PageNextUnread" +msgstr "" -#: src/lang.c:944 -#, fuzzy -msgid "205 Closing connection" -msgstr "205 Baðlantý kesiliyor" +#: src/lang.c:1363 +msgid "PageDown or PageNextUnread" +msgstr "" -#: src/lang.c:945 +#: src/lang.c:1368 #, fuzzy -msgid "Your server does not support the NNTP XOVER or OVER command.\n" -msgstr "Sunucunuz NNTP XOVER ya da OVER komutunu desteklemiyor.\n" +msgid "Subject: (case sensitive)" +msgstr "Konu: satýr (büyük-küçük duyarlý)" -#: src/lang.c:946 +#: src/lang.c:1369 #, fuzzy -msgid "Connection to news server has timed out. Reconnect?" -msgstr "Haber sunucusu baðlantý süreniz doldu. Tekrar baðlan?" +msgid "Subject: (ignore case)" +msgstr "Konu: satýr (büyük küçük harf durumunu yoksay)" -#: src/lang.c:947 -#, fuzzy, c-format -msgid "Put the server name in the file %s,\n" - "or set the environment variable NNTPSERVER" -msgstr "%s dosyasýna sunucu ismini girin,\n" - "ya da çevre deðiþkeni NNTPSERVERi ayarlayýn" +#: src/lang.c:1370 +#, fuzzy +msgid "From: (case sensitive)" +msgstr "Gönderen: satýr (büyük/küçük harfe duyarlý) " -#: src/lang.c:948 +#: src/lang.c:1371 #, fuzzy -msgid " -A force authentication on connect" -msgstr " -A baðlantýda doðrulamayý zorla" +msgid "From: (ignore case)" +msgstr "Gönderen: satýr (büyük/küçük harfleri yoksay) " -#: src/lang.c:949 -#, fuzzy, c-format -msgid " -g serv read news from NNTP server serv [default=%s]" -msgstr " -g serv NNTP sunucusundan haberleri oku serv [default=%s]" +#: src/lang.c:1372 +msgid "Msg-ID: & full References: line" +msgstr "" -#: src/lang.c:950 -#, fuzzy, c-format -msgid " -p port use port as NNTP port [default=%d]" -msgstr " -p port baðlantý noktasýný NNTP gibi kullan port [default=%d]" +#: src/lang.c:1373 +msgid "Msg-ID: & last References: only" +msgstr "" -#: src/lang.c:951 -#, fuzzy -msgid " -Q quick start. Same as -nqd" -msgstr " -Q hýzlý baþlat. -nqd ile ayný" +#: src/lang.c:1374 +msgid "Message-ID: entry only" +msgstr "" -#: src/lang.c:952 +#: src/lang.c:1375 #, fuzzy -msgid " -l use only LIST instead of GROUP (-n) command" -msgstr " -l GROUP (-n) komutu yerine sadece LIST i kullan" +msgid "Lines:" +msgstr "Çizgiler" -#: src/lang.c:953 +#: src/lang.c:1380 #, fuzzy -msgid " -n only read subscribed .newsrc groups from NNTP server" -msgstr " -n NNTP sunucusundan sadece abone newsrc gruplarýný oku" +msgid "Don't trim article body" +msgstr "Makaleleri sýrala" -#: src/lang.c:955 -#, fuzzy, c-format -msgid "%s/tcp: Unknown service.\n" -msgstr "%s/tcp: Bilinmeyen servis.\n" +#: src/lang.c:1381 +msgid "Skip leading blank lines" +msgstr "" -#: src/lang.c:958 -#, fuzzy -msgid "\n" - "socket or connect problem\n" -msgstr "\n" - "socket ya da baðlantý hatasý\n" +#: src/lang.c:1382 +msgid "Skip trailing blank lines" +msgstr "" -#: src/lang.c:960 -#, fuzzy, c-format -msgid "\n" - "Connection to %s: " -msgstr "\n" - "Baðlanýyor %s: " +#: src/lang.c:1383 +msgid "Skip leading and trailing blank l." +msgstr "" -#: src/lang.c:961 -#, fuzzy -msgid "Giving up...\n" -msgstr "Pes ediliyor...\n" +#: src/lang.c:1384 +msgid "Compact multiple between text" +msgstr "" -#: src/lang.c:964 +#: src/lang.c:1385 +msgid "Compact multiple and skip leading" +msgstr "" + +#: src/lang.c:1386 +msgid "Compact multiple and skip trailing" +msgstr "" + +#: src/lang.c:1387 +msgid "Compact mltpl., skip lead. & trai." +msgstr "" + +#: src/lang.c:1412 #, fuzzy -msgid "Your server does not have Xref: in its XOVER information.\n" - "Tin will try to use XHDR XREF instead (slows down things a bit).\n" -msgstr "Sunucunuzun XOVER bilgisinde Xref: yok.\n" - "Tin XHDR XREF kullanmayý deneyecek (biraz yavaþlatýr).\n" +msgid "Shell archive" +msgstr "kabuk arþivi" -#: src/lang.c:967 +#: src/lang.c:1418 #, fuzzy -msgid "Your server does not have Xref: in its XOVER information.\n" -msgstr "Sunucunuzun XOVER bilgisinde Xref: yok.\n" +msgid "Subject: (descending)" +msgstr "Konu: (alçalan)" -#: src/lang.c:970 -#, fuzzy, c-format -msgid "Can't open %s. Try %s -r to read news via NNTP.\n" -msgstr "%s Açýlamýyor. NNTP aracýlýðýyla haber okumak için %s -r deneyin.\n" +#: src/lang.c:1419 +#, fuzzy +msgid "Subject: (ascending)" +msgstr "Konu: (yükselen)" -#: src/lang.c:973 +#: src/lang.c:1420 #, fuzzy -msgid " -Q quick start. Same as -qd" -msgstr " -Q hýzlý baþlat. -qd ile ayný" +msgid "From: (descending)" +msgstr "Gönderen: (alçalan)" -#: src/lang.c:974 +#: src/lang.c:1421 #, fuzzy -msgid " -l read only active file instead of scanning spool (-n) command" -msgstr " -l bekletme komutunu taramak yerine sadece aktif dosyayý okuyun" +msgid "From: (ascending)" +msgstr "Gönderen: (yükselen)" -#: src/lang.c:975 +#: src/lang.c:1422 #, fuzzy -msgid " -n only read subscribed .newsrc groups from spool" -msgstr " -n 'bekletme'den sadece abone newsrc gruplarý okuyun" +msgid "Date: (descending)" +msgstr "Tarih: (alçalan)" -#: src/lang.c:976 +#: src/lang.c:1423 #, fuzzy -msgid "Your server does not have Xref: in its NOV-files.\n" -msgstr "Sunucunuzun NOV-dosyalarýnda Xref:yok.\n" +msgid "Date: (ascending)" +msgstr "Tarih: (yükselen)" -#: src/lang.c:980 +#: src/lang.c:1424 src/lang.c:1432 #, fuzzy -msgid "Posting using external inews failed. Use built in inews instead?" -msgstr "Dýþ inews kullanýlarak gönderme baþarýsýz. Yerine yerleþik inews kullanýlsýn " - "mý?" +msgid "Score (descending)" +msgstr "Skor: (alçalan)" -#: src/lang.c:981 +#: src/lang.c:1425 src/lang.c:1433 #, fuzzy -msgid "It worked! Should I always use my built in inews from now on?" -msgstr "Ýþe yaradý! Bundan sonra hep yerleþik inewslerimi mi kullanmalýyým?" +msgid "Score (ascending)" +msgstr "Skor: (yükselen)" -#: src/lang.c:989 -#, fuzzy, c-format -msgid "%d %s printed" -msgstr "%d %s yazdýrýldý" +#: src/lang.c:1426 +#, fuzzy +msgid "Lines: (descending)" +msgstr "Satýrlar: (alçalan)" -#: src/lang.c:990 +#: src/lang.c:1427 #, fuzzy -msgid "output article/thread/hot/pattern/tagged articles to printer" -msgstr "çýkýþ makalesi/parçacýk/hot/örüntü/imlenmiþ makaleleri yazýcýya gönder" +msgid "Lines: (ascending)" +msgstr "Satýrlar: (yükselen)" -#: src/lang.c:991 +#: src/lang.c:1434 #, fuzzy -msgid "Print" -msgstr "Yazdýr" +msgid "Last posting date (descending)" +msgstr "Satýrlar: (alçalan)" -#: src/lang.c:992 +#: src/lang.c:1435 #, fuzzy -msgid "Printing..." -msgstr "Yazdýrýlýyor..." +msgid "Last posting date (ascending)" +msgstr "Satýrlar: (yükselen)" -#: src/lang.c:996 +#: src/lang.c:1440 #, fuzzy -msgid "pipe article/thread/hot/pattern/tagged articles into command" -msgstr "kanal makale/parçacýk/hot/örüntü/imlenmiþ makaleleri komuta al" +msgid "Always Keep" +msgstr "Hep Sakla" -#: src/lang.c:997 +#: src/lang.c:1441 #, fuzzy -msgid "No command" -msgstr "Komut yok" +msgid "Always Remove" +msgstr "Hep Kaldýr" -#: src/lang.c:998 +#: src/lang.c:1442 #, fuzzy -msgid "Pipe" -msgstr "Kanal" +msgid "Mark with D on selection screen" +msgstr "Seçenek ekranýnda D ile iþaretle" -#: src/lang.c:999 -#, fuzzy, c-format -msgid "Pipe to command [%.*s]> " -msgstr "Komut kanalý [%.*s]> " +#: src/lang.c:1447 +#, fuzzy +msgid "Kill only unread arts" +msgstr "Sadece okunmayan makaleleri yok et" -#: src/lang.c:1000 -#, fuzzy -msgid "Piping..." -msgstr "Yöneltiliyor..." - -#: src/lang.c:1002 -#, fuzzy -msgid "Piping not enabled." -msgstr "Yöneltme gerçekleþtirilemedi." - -#: src/lang.c:1006 -#, fuzzy, c-format -msgid "\n" - "Error: The \"%s:\" line has spaces in it that MUST be removed.\n" - " The only allowable space is the one separating the colon (:)\n" - " from the contents. Use a comma (,) to separate multiple\n" - " newsgroup names.\n" -msgstr "\n" - "Hata: \"%s:\" satýrýnda çýkarýlmasý gereken boþluklar var.\n" - " Ýzin verilebilir tek boþluk iki noktayý(:) içerikten ayýran\n" - " boþluktur. Çoklu habergrubu isimlerini ayýrmak için\n" - " virgül (,) kullanýn.\n" - -#: src/lang.c:1011 -#, fuzzy, c-format -msgid "\n" - "Error: The \"%s:\" line is continued in the next line. Since\n" - " the line may not contain whitespace, this is not allowed.\n" - " Please write all newsgroups into a single line.\n" -msgstr "\n" - "Hata: \"%s:\" satýrý bir sonraki satýrda devam ediyor. Satýrda\n" - " beyazboþluk kullanýlamayacaðý için, buna izin verilmiyor.\n" - " Lütfen bütün haber gruplarýný tek bir satýra yazýn.\n" - -#: src/lang.c:1016 -#, fuzzy, c-format -msgid "\n" - "Warning: The \"%s:\" line is continued in the next line.\n" - " This is a very new feature and may not be accepted by all servers.\n" - " To avoid trouble please write all newsgroups into a single line.\n" -msgstr "\n" - "Uyarý: \"%s:\" satýrý bir sonraki satýrda devam ediyor.\n" - " Bu çok yeni bir öznitelik ve tüm sunucular tarafýndan kabul " - "edilmeyebilir.\n" - " Herhangi bir sorunla karþýlaþmamak için bütün haber gruplarýný tek " - "bir satýra yazýn.\n" - -#: src/lang.c:1020 -#, fuzzy, c-format -msgid "\n" - "Warning: The \"%s:\" line has spaces in it that SHOULD be removed.\n" -msgstr "\n" - "Uyarý: \"%s:\" satýrýnda SÝLÝNMESÝ GEREKEN boþluklar var.\n" +#: src/lang.c:1448 +#, fuzzy +msgid "Kill all arts & show with K" +msgstr "Tüm makaleleri yok et & K ile göster" -#: src/lang.c:1025 +# TODO: s/K/art_marked_killed/ +#. TODO: s/K/art_marked_killed/ +#: src/lang.c:1449 #, fuzzy -msgid "\n" - " If your article contains quoted text please take some time to pare it " - "down\n" - " to just the key points to which you are responding, or people will " - "think\n" - " you are a dweeb! Many people have the habit of skipping any article " - "whose\n" - " first page is largely quoted material. Format your article to fit in " - "less\n" - " then 80 chars, since that's the conventional size (72 is a good choice " - "as\n" - " it allows quoting without exceeding the limit). If your lines are too " - "long\n" - " they'll wrap around ugly and people won't read what you write. If " - "you\n" - " aren't careful and considerate in formatting your posting, people " - "are\n" - " likely to ignore it completely. It's a crowded net out there.\n" -msgstr "\n" - " Makaleniz imlenmiþ metin içeriyorsa, karþýlýk verdiðiniz çözümleri\n" - " uygun hale getirmek için metni kýsaltýn, yoksa insanlar sizin bir ahmak " - "olduðunuzu\n" - " düþünür. Birçok insan ilk sayfasýnda uzunca bir imlenmiþ metin gördükleri " - "makaleleri\n" - " atlýyor. Makalenizi geleneksel olan 80 karakterden az tutacak þekilde " - "biçimlendirin\n" - " (72 sýnýrý aþmadan imlemeye izin verdiði için iyi bir seçim). Satýrlarýnýz " - "fazla uzunsa\n" - " çirkin görünürler ve insanlar yazdýklarýnýzý okumazlar. Göndereceklerinizi " - "biçimlendirmede\n" - " dikkatli ve özenli olmazsanýz, insanlar onu tamamen yoksayarlar. Net oldukça " - "kalabalýk bir yer.\n" +msgid "Kill all arts and never show" +msgstr "Tüm makaleleri yok et ve asla gösterme" -#: src/lang.c:1038 +#: src/lang.c:1454 #, fuzzy -msgid "shell escape" -msgstr "kabuk çýkýþý" +msgid "Nothing special" +msgstr "Özel birþey yok" -#: src/lang.c:1039 -#, fuzzy, c-format -msgid "Shell Command (%s)" -msgstr "Kabuk Komutu (%s)" +#: src/lang.c:1455 +#, fuzzy +msgid "Compress quotes" +msgstr "Ýmleri sýkýþtýr" -#: src/lang.c:1040 -#, fuzzy, c-format -msgid "Enter shell command [%s]> " -msgstr "Kabuk komutunu girin [%s]> " +#: src/lang.c:1456 +#, fuzzy +msgid "Quote signatures" +msgstr "Ýmzalarý imle" -#: src/lang.c:1044 -#, fuzzy, c-format -msgid "%s: Can't get entry for TERM\n" -msgstr "%s: TERM için girdi alýnamýyor\n" +#: src/lang.c:1457 +#, fuzzy +msgid "Compress quotes, quote sigs" +msgstr "Ýmleri sýkýþtýr, imzalarý imle" -#: src/lang.c:1048 -#, fuzzy, c-format -msgid "Group %.*s ('q' to quit)..." -msgstr "Grup %.*s (çýkmak için 'q')..." +#: src/lang.c:1458 +#, fuzzy +msgid "Quote empty lines" +msgstr "Boþ satýrlarý imle" -#: src/lang.c:1050 -#, fuzzy, c-format -msgid "Group %.*s..." -msgstr "Grup %.*s..." +#: src/lang.c:1459 +#, fuzzy +msgid "Compress quotes, quote empty lines" +msgstr "Ýmleri sýkýþtýr, boþ satýrlarý imle" -#: src/lang.c:1054 +#: src/lang.c:1460 #, fuzzy -msgid "Server unavailable\n" -msgstr "Sunucu kullanýlamýyor\n" +msgid "Quote sigs & empty lines" +msgstr "Ýmzalarý & boþ satýrlarý imle" -#: src/lang.c:1060 -#, fuzzy, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %" - "s=post" -msgstr "%s=kanal, %s=posta; %s=yazdýr, %s=çýk, %s=hepsini deðiþtir/okunmayanlar; %" - "s=kaydet; %s=etiketle; %s=yolla" +#: src/lang.c:1461 +#, fuzzy +msgid "Comp. q., quote sigs & empty lines" +msgstr "Ýmleri sýkýþtýr, imzalarý & boþ satýrlarý imle" -#: src/lang.c:1061 -#, fuzzy, c-format -msgid "%s=pipe; %s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=kanal; %s=posta; %s=yazdýr; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %" - "s=yolla" +#: src/lang.c:1499 +#, fuzzy +msgid "no" +msgstr "hiçbiri" -#: src/lang.c:1063 -#, fuzzy, c-format -msgid "%s=mail; %s=print; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=posta; %s=yazdýr; %s=çýk; %s=hepsini deðiþtir/okunmayanlar; %s=kaydet; %" - "s=etiketle; %s=yolla" +#: src/lang.c:1500 +#, fuzzy +msgid "with headers" +msgstr "en küçük yürütme birimleri" -#: src/lang.c:1064 -#, fuzzy, c-format -msgid "%s=mail; %s=print; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=posta; %s=yazdýr; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla" +#: src/lang.c:1501 +msgid "without headers" +msgstr "" -#: src/lang.c:1068 -#, fuzzy, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=kanal; %s=posta; %s=çýk; %s=hepsini deðiþtir/okunmayanlar; %s=kaydet; %" - "s=etiketle; %s=yolla" +#: src/lang.c:1508 src/lang.c:1514 +msgid "NFKC" +msgstr "" -#: src/lang.c:1069 -#, fuzzy, c-format -msgid "%s=pipe; %s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=kanal; %s=posta; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla" +#: src/lang.c:1509 +msgid "NFKD" +msgstr "" -#: src/lang.c:1071 -#, fuzzy, c-format -msgid "%s=mail; %s=quit; %s=toggle all/unread; %s=save; %s=tag; %s=post" -msgstr "%s=posta; %s=çýk; %s=hepsini deðiþtir/okunmayanlar; %s=kaydet; %s=etiketle; %" - "s=yolla" +#: src/lang.c:1510 +msgid "NFC" +msgstr "" -#: src/lang.c:1072 -#, fuzzy, c-format -msgid "%s=mail; %s=quit; %s=reply mail; %s=save; %s=tag; %s=post" -msgstr "%s=posta; %s=çýk; %s=cevap yaz; %s=kaydet; %s=etiketle; %s=yolla" +#: src/lang.c:1511 +msgid "NFD" +msgstr "" -#: src/lang.c:1078 +#: src/lang.c:1522 #, fuzzy -msgid "Terminal does not support color" -msgstr "Uçbirim renk desteklemiyor" +msgid "Display Options" +msgstr "Seçenekleri Göster" -#: src/lang.c:1083 -#, fuzzy, c-format -msgid "Trying %s" -msgstr "%s deneniyor" - -#: src/lang.c:1097 src/lang.c:1123 src/lang.c:1139 src/lang.c:1318 src/refs.c:296 +#: src/lang.c:1529 #, fuzzy -msgid "None" -msgstr "Hiçbiri" +msgid "Color Options" +msgstr "Renk Seçenekleri" -#: src/lang.c:1098 +#: src/lang.c:1536 #, fuzzy -msgid "Subject" -msgstr "Konu" +msgid "Article-Limiting Options" +msgstr "Makale-Sýnýrlandýrma Seçenekleri" -#: src/lang.c:1099 +#: src/lang.c:1542 #, fuzzy -msgid "References" -msgstr "Kaynaklar" +msgid "Posting/Mailing Options" +msgstr "Yollama/Postalama Seçenekleri" -#: src/lang.c:1100 +#: src/lang.c:1548 #, fuzzy -msgid "Both Subject and References" -msgstr "Konu ve Kaynaklar" +msgid "Saving/Printing Options" +msgstr "Kaydetme/Yazdýrma Seçenekleri" -#: src/lang.c:1101 +#: src/lang.c:1554 #, fuzzy -msgid "Multipart Subject" -msgstr "Çoklu Konu" +msgid "Expert Options" +msgstr "Uzman Seçenekleri" -#: src/lang.c:1102 -msgid "Percentage Match" -msgstr "" - -#: src/lang.c:1114 src/lang.c:1225 +#: src/lang.c:1560 #, fuzzy -msgid "No" -msgstr "Hayýr" +msgid "Filtering Options" +msgstr "Süzgeçleme Seçenekleri" -#: src/lang.c:1115 src/lang.c:1227 +#: src/lang.c:1565 src/lang.c:1596 src/lang.c:1602 src/lang.c:1628 src/lang.c:1680 +#: src/lang.c:1686 src/lang.c:1696 src/lang.c:1707 src/lang.c:1725 src/lang.c:1800 +#: src/lang.c:1808 src/lang.c:1998 src/lang.c:2004 src/lang.c:2010 src/lang.c:2016 +#: src/lang.c:2028 src/lang.c:2035 src/lang.c:2089 src/lang.c:2098 src/lang.c:2104 +#: src/lang.c:2111 src/lang.c:2118 src/lang.c:2125 src/lang.c:2132 src/lang.c:2139 +#: src/lang.c:2146 src/lang.c:2153 src/lang.c:2160 src/lang.c:2167 src/lang.c:2174 +#: src/lang.c:2181 src/lang.c:2188 src/lang.c:2195 src/lang.c:2202 src/lang.c:2209 +#: src/lang.c:2216 src/lang.c:2223 src/lang.c:2230 src/lang.c:2237 src/lang.c:2244 +#: src/lang.c:2251 src/lang.c:2258 src/lang.c:2265 src/lang.c:2273 src/lang.c:2289 +#: src/lang.c:2296 src/lang.c:2303 src/lang.c:2310 src/lang.c:2316 src/lang.c:2322 +#: src/lang.c:2339 src/lang.c:2351 src/lang.c:2385 src/lang.c:2438 src/lang.c:2452 +#: src/lang.c:2458 src/lang.c:2483 src/lang.c:2500 src/lang.c:2516 src/lang.c:2552 +#: src/lang.c:2588 src/lang.c:2608 src/lang.c:2643 src/lang.c:2653 src/lang.c:2660 +#: src/lang.c:2686 src/lang.c:2702 src/lang.c:2721 src/lang.c:2734 src/lang.c:2745 +#: src/lang.c:2751 src/lang.c:2789 #, fuzzy -msgid "Yes" -msgstr "Evet" +msgid " toggles, sets, cancels." +msgstr " deðiþtirir, ayarlar, iptal eder." -#: src/lang.c:1116 +#: src/lang.c:1566 #, fuzzy -msgid "Hide All" -msgstr "Tümünü Sakla" +msgid "Show mini menu & posting etiquette" +msgstr "Mini menüyü & yollama etiketini göster" -#: src/lang.c:1124 +#: src/lang.c:1567 #, fuzzy -msgid "Address" -msgstr "Adres" +msgid "# If ON show a mini menu of useful commands at each level\n" + "# and posting etiquette after composing an article\n" +msgstr "# ON durumundaysa makale oluþturduktan sonra tüm düzeylerde kullanýþlý " + "komutlarýn\n" + "# mini menüsünü ve yollama etiketini göster.\n" -#: src/lang.c:1125 +#: src/lang.c:1572 #, fuzzy -msgid "Full Name" -msgstr "Tüm Ýsim" +msgid "Show short description for each newsgroup. toggles & sets." +msgstr "Her haber grubu için kýsa açýklama göster. deðiþtirir & ayarlar." -#: src/lang.c:1126 +#: src/lang.c:1573 #, fuzzy -msgid "Address and Name" -msgstr "Adres ve Ýsim" +msgid "Show description of each newsgroup" +msgstr "Her haber grubu için açýklama göster" -#: src/lang.c:1133 +#: src/lang.c:1574 #, fuzzy -msgid "Max" -msgstr "En Çok" +msgid "# If ON show group description text after newsgroup name at\n" + "# group selection level\n" +msgstr "# ON durumundaysa grup seçim düzeyindeki haber grubu isiminden sonraki\n" + "# grup açýklama metnini göster.\n" + +#: src/lang.c:1579 +#, fuzzy +msgid "Show Subject & From (author) fields in group menu. toggles & " + "sets." +msgstr "Grup menüsünde Konu & Gönderen (yazar) alanlarýný göster. deðiþtirir " + "& ayarlar." -#: src/lang.c:1134 +#: src/lang.c:1580 #, fuzzy -msgid "Sum" -msgstr "Toplam" +msgid "In group menu, show author by" +msgstr "Grup menüsünde yazarý þuna göre göster" -#: src/lang.c:1135 +#: src/lang.c:1581 #, fuzzy -msgid "Average" -msgstr "Ortalama" +msgid "# Part of from field to display\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = none\n" + "# 1 = address\n" + "# * 2 = full name\n" + "# 3 = both\n" +msgstr "# Gösterilecek gönderen alan kýsýmlarý 0)hiç 1)adres 2) tüm isim 3) hepsi\n" -#: src/lang.c:1140 +#: src/lang.c:1590 #, fuzzy -msgid "Lines" -msgstr "Çizgiler" +msgid "Draw -> or highlighted bar for selection. toggles & sets." +msgstr "Çiz -> ya da seçim için vurgulanmýþ çubuk. deðiþtirir & ayarlar." -#: src/lang.c:1141 +#: src/lang.c:1591 #, fuzzy -msgid "Score" -msgstr "Skorlar" +msgid "Draw -> instead of highlighted bar" +msgstr "Çiz -> vurgulanmýþ çubuk yerine" -#: src/lang.c:1142 +#: src/lang.c:1592 #, fuzzy -msgid "Lines & Score" -msgstr "Satýrlar & Skorlar" +msgid "# If ON use -> otherwise highlighted bar for selection\n" +msgstr "# ON durumundaysa -> deðilse seçim için vurgulanmýþ çubuk\n" -#: src/lang.c:1151 +#: src/lang.c:1597 #, fuzzy -msgid "Black" -msgstr "Siyah" +msgid "Use inverse video for page headers" +msgstr "Sayfa baþlýklarý için ters görüntü kullan" -#: src/lang.c:1152 +#: src/lang.c:1598 #, fuzzy -msgid "Red" -msgstr "Kýrmýzý" +msgid "# If ON use inverse video for page headers at different levels\n" +msgstr "# ON durumundaysa farklý düzeyde sayfa baþlýklarý için ters görüntü kullan\n" -#: src/lang.c:1153 +#: src/lang.c:1603 #, fuzzy -msgid "Green" -msgstr "Yeþil" +msgid "Thread articles by" +msgstr "Makaleleri belirle" -#: src/lang.c:1154 -#, fuzzy -msgid "Brown" -msgstr "Kahverengi" +#: src/lang.c:1604 +msgid "# Thread articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject\n" + "# 2 = References\n" + "# * 3 = Both (Subject and References)\n" + "# 4 = Multipart Subject\n" + "# 5 = Percentage Match\n" +msgstr "" + +#: src/lang.c:1615 +msgid "Enter percentage match required to thread together. sets." +msgstr "" + +#: src/lang.c:1616 +msgid "Thread percentage match" +msgstr "" + +#: src/lang.c:1617 +#, c-format +msgid "# Thread percentage match...\n" + "# the percentage of characters in the subject of an article that must match\n" + "# a base article for both those articles to be considered to belong to the\n" + "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" + "# follow. If 80 is used here, then 80%% of the characters must match " + "exactly,\n" + "# no insertion of a character, for the two articles to be put in the same\n" + "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" + "# 'harppy' would be threaded separately from 'happy'\n" +msgstr "" -#: src/lang.c:1155 +#: src/lang.c:1629 #, fuzzy -msgid "Blue" -msgstr "Mavi" +msgid "Score of a thread" +msgstr "Bir iþ parçacýðýnýn skoru" -#: src/lang.c:1156 -#, fuzzy -msgid "Pink" -msgstr "Pembe" +#: src/lang.c:1630 +msgid "# Thread score\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = max\n" + "# 1 = sum\n" + "# 2 = average\n" +msgstr "" -#: src/lang.c:1157 +#: src/lang.c:1638 #, fuzzy -msgid "Cyan" -msgstr "Camgöbeði" +msgid "Sort articles by Subject, From, Date or Score. toggles & sets." +msgstr "Makaleleri Konu,Gönderen,Tarih ya da Skora göre sýrala. deðiþtirir & " + " ayarlar." -#: src/lang.c:1158 +#: src/lang.c:1639 #, fuzzy -msgid "White" -msgstr "Beyaz" +msgid "Sort articles by" +msgstr "Makaleleri sýrala" -#: src/lang.c:1159 +#: src/lang.c:1640 #, fuzzy -msgid "Gray" -msgstr "Gri" +msgid "# Sort articles by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = Subject descending\n" + "# 2 = Subject ascending\n" + "# 3 = From descending\n" + "# 4 = From ascending\n" + "# 5 = Date descending\n" + "# * 6 = Date ascending\n" + "# 7 = Score descending\n" + "# 8 = Score ascending\n" + "# 9 = Lines descending\n" + "# 10 = Lines ascending\n" +msgstr "# Makaleleri sýrala 0=(hiçbirþey) 1=(Konu azalmasý) 2=(Konu yükselmesi)\n" + "# 3=(Gönderen azalmasý) 4=(Gönderen yükselmesi) 5=(Tarih azalmasý) 6=(Tarih " + "yükselmesi)\n" + "# 7=(Skor azalmasý) 8=(Skor yükselmesi) 9=(Satýrlar azalmasý) 10=(Satýrlar " + "yükselmesi).\n" -#: src/lang.c:1160 +#: src/lang.c:1656 #, fuzzy -msgid "Light Red" -msgstr "Açýk Kýrmýzý" +msgid "Sort threads by Nothing or Score. toggles & sets." +msgstr "Ýþ parçacýklarýný Hiçbirþeye ya da skora göre sýrala. deðiþtirir & " + " ayarlar." -#: src/lang.c:1161 +#: src/lang.c:1657 #, fuzzy -msgid "Light Green" -msgstr "Açýk Yeþil" +msgid "Sort threads by" +msgstr "Ýþ parçacýklarýný sýrala" -#: src/lang.c:1162 +#: src/lang.c:1658 #, fuzzy -msgid "Yellow" -msgstr "Sarý" +msgid "# Sort thread by ...\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = Score descending\n" + "# 2 = Score ascending\n" + "# 3 = Last posting date descending\n" + "# 4 = Last posting date ascending\n" +msgstr "# Makaleleri sýrala 0=(hiçbirþey) 1=(Konu azalmasý) 2=(Konu yükselmesi)\n" + "# 3=(Gönderen azalmasý) 4=(Gönderen yükselmesi) 5=(Tarih azalmasý) 6=(Tarih " + "yükselmesi)\n" + "# 7=(Skor azalmasý) 8=(Skor yükselmesi) 9=(Satýrlar azalmasý) 10=(Satýrlar " + "yükselmesi).\n" -#: src/lang.c:1163 +#: src/lang.c:1668 #, fuzzy -msgid "Light Blue" -msgstr "Açýk Mavi" +msgid "Put cursor at first/last unread art in groups. toggles & sets." +msgstr "Ýmleci gruplardaki ilk/son okunmamýþ makalelere koyun. deðiþtirir & " + " ayarlar." -#: src/lang.c:1164 +#: src/lang.c:1669 #, fuzzy -msgid "Light Pink" -msgstr "Açýk Pembe" +msgid "Go to first unread article in group" +msgstr "Gruptaki ilk okunmamýþ makaleye git" -#: src/lang.c:1165 +#: src/lang.c:1670 #, fuzzy -msgid "Light Cyan" -msgstr "Açýk Camgöbeði" +msgid "# If ON put cursor at first unread art in group otherwise last art\n" +msgstr "# ON durumundaysa imleci ilk okunmamýþ makeleye, deðilse son makeleye koy.\n" -#: src/lang.c:1166 +#: src/lang.c:1674 #, fuzzy -msgid "Light White" -msgstr "Açýk Beyaz" +msgid "Show all articles or only unread articles. toggles & sets." +msgstr "Tüm makaleleri ya da sadece okunmayan makaleleri göster. deðiþtirir & " + " ayarlar." -#: src/lang.c:1174 src/lang.c:1231 src/lang.c:1245 +#: src/lang.c:1675 #, fuzzy -msgid "Nothing" -msgstr "Hiçbirþey" +msgid "Show only unread articles" +msgstr "Sadece okunmayan makaleleri göster" -#: src/lang.c:1175 +#: src/lang.c:1676 #, fuzzy -msgid "Mark" -msgstr "Ýþaretle" +msgid "# If ON show only new/unread articles otherwise show all.\n" +msgstr "# ON durumundaysa sadece yeni/okunmamýþ makaleleri, deðilse hepsini göster.\n" -#: src/lang.c:1176 +#: src/lang.c:1681 #, fuzzy -msgid "Space" -msgstr "Boþluk" +msgid "Show only groups with unread arts" +msgstr "Sadece okunmamýþ makale olan gruplarý göster" -#: src/lang.c:1183 +#: src/lang.c:1682 #, fuzzy -msgid "Normal" -msgstr "Normal" +msgid "# If ON show only subscribed to groups that contain unread articles.\n" +msgstr "# ON durumundaysa sadece abone olunup okunmamýþ makaler içerem gruplarý " + "göster.\n" -#: src/lang.c:1184 +#: src/lang.c:1687 #, fuzzy -msgid "Best highlighting" -msgstr "En iyi vurgulama" +msgid "Filter which articles" +msgstr "Hangi makaleleri filtrele" -#: src/lang.c:1185 +#: src/lang.c:1688 #, fuzzy -msgid "Underline" -msgstr "Alt çizgi" +msgid "# Filter which articles\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = only kill unread articles\n" + "# 1 = kill all articles and show in threads marked with K\n" + "# 2 = kill all articles and never show them\n" +msgstr "# 0=(Sadece okunmamýþ makaleleri yok et)\n" + "# 1=(Tüm makalerleri yok et ve K ile iþaretlenmiþ parçaýk olarak göster)\n" + "# 2=(Tüm makaleleri yok et ve bir daha gösterme].\n" + +#: src/lang.c:1697 +#, fuzzy +msgid "Go to the next unread article with" +msgstr "Sonraki okunmamýþ makale yok" + +#: src/lang.c:1698 +#, fuzzy +msgid "# Go to the unread article with following key(s)\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# 1 = PAGE DOWN\n" + "# * 2 = TAB\n" + "# 3 = PAGE DOWN or TAB\n" +msgstr "# Makale/parçacýk listelerinde hangi bilgiler gösterilmeli\n" + "# 0 = hiçbir þey, 1 = satýrlar, 2 = skor, 3 = satýrlar & skor\n" + +#: src/lang.c:1708 +#, fuzzy +msgid "How to treat blank lines" +msgstr "Boþ satýrlarý imle" + +#: src/lang.c:1709 +msgid "# Trim the article body, remove unnecessary blank lines.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = Nothing special\n" + "# 1 = Skip leading blank lines\n" + "# 2 = Skip trailing blank lines\n" + "# 3 = Skip leading and trailing blank lines\n" + "# 4 = Compact multiple blank lines between text blocks\n" + "# 5 = Compact multiple blank lines between text blocks and skip\n" + "# leading blank lines\n" + "# 6 = Compact multiple blank lines between text blocks and skip\n" + "# trailing blank lines\n" + "# 7 = Compact multiple blank lines between text blocks and skip\n" + "# leading and trailing blank lines\n" +msgstr "" -#: src/lang.c:1186 +#: src/lang.c:1726 #, fuzzy -msgid "Reverse video" -msgstr "Tes görüntü" +msgid "List thread using right arrow key" +msgstr "Sað ok tuþuna basarak parçacýklarý listele" -#: src/lang.c:1187 +#: src/lang.c:1727 #, fuzzy -msgid "Blinking" -msgstr "Yanýp sönme" +msgid "# If ON automatically list thread when entering it using right arrow key.\n" +msgstr "# ON durumundaysa parçacýklarý sað ok tuþunu kullanarak girerken otomatik " + "olarak listele.\n" -#: src/lang.c:1188 +#: src/lang.c:1731 #, fuzzy -msgid "Half bright" -msgstr "Yarý parlak" +msgid "Enter character to indicate deleted articles. sets, cancels." +msgstr "Silinmiþ makaleleri göstermek için karakter giriniz. ayarlar, " + "iptal eder." -#: src/lang.c:1189 +#: src/lang.c:1732 #, fuzzy -msgid "Bold" -msgstr "Kalýn" +msgid "Character to show deleted articles" +msgstr "Silinmiþ makaleleri gösterecek olan karakter" -#: src/lang.c:1194 +#: src/lang.c:1733 #, fuzzy -msgid "none" -msgstr "hiçbiri" +msgid "# Character used to show that an art was deleted (default 'D')\n" + "# _ is turned into ' '\n" +msgstr "# Makalenin silindiðini göstermek için kullanýlan karakter (varsayýlan 'D')\n" + "# _ þuna dönüþür ' '\n" -#: src/lang.c:1195 +#: src/lang.c:1738 #, fuzzy -msgid "commands" -msgstr "komutlar" +msgid "Enter character to indicate articles in a range. sets, cancels." +msgstr "Sýralanmýþ makaleleri imlemek için karakter girin. ayarlar, iptal " + "eder." -#: src/lang.c:1196 +#: src/lang.c:1739 #, fuzzy -msgid "select" -msgstr "seç" +msgid "Character to show inrange articles" +msgstr "Sýralanmýþ makaleleri gösterecek olan karakter" -#: src/lang.c:1198 +#: src/lang.c:1740 #, fuzzy -msgid "commands & quit" -msgstr "komutlar & çýk" +msgid "# Character used to show that an art is in a range (default '#')\n" + "# _ is turned into ' '\n" +msgstr "# Bir makalenin sýralanmýþ olduðunu göstermek için kullanýlan karakter " + "(varsayýlan '#')\n" + "# _ þuna dönüþür ' '\n" -#: src/lang.c:1199 +#: src/lang.c:1745 #, fuzzy -msgid "commands & select" -msgstr "komutlar & seç" +msgid "Enter character to indicate that article will return. sets, " + "cancels." +msgstr "Makalenin döneceðini göstermek için karakter girin. ayarlar, iptal " + "eder." -#: src/lang.c:1200 +#: src/lang.c:1746 #, fuzzy -msgid "quit & select" -msgstr "çýk & seç" +msgid "Character to show returning arts" +msgstr "Dönen makaleleri gösterecek olan karakter" -#: src/lang.c:1201 +#: src/lang.c:1747 #, fuzzy -msgid "commands & quit & select" -msgstr "komutlar & çýk & seç" +msgid "# Character used to show that an art will return (default '-')\n" + "# _ is turned into ' '\n" +msgstr "# Bir makalenin döneceðini göstermek için kullanýlan karakter (varsayýlan " + "'-')\n" + "# _ þuna dönüþür ' '\n" -#: src/lang.c:1226 +#: src/lang.c:1752 #, fuzzy -msgid "Shell archive" -msgstr "kabuk arþivi" +msgid "Enter character to indicate selected articles. sets, cancels." +msgstr "Seçilen makaleleri imlemek için karakter girin. ayarlar, iptal " + "eder." -#: src/lang.c:1232 +#: src/lang.c:1753 #, fuzzy -msgid "Subject: (descending)" -msgstr "Konu: (alçalan)" +msgid "Character to show selected articles" +msgstr "Seçilen makaleleri gösterecek olan karakter" -#: src/lang.c:1233 +#: src/lang.c:1754 #, fuzzy -msgid "Subject: (ascending)" -msgstr "Konu: (yükselen)" +msgid "# Character used to show that an art was auto-selected (default '*')\n" + "# _ is turned into ' '\n" +msgstr "# Bir makalenin otomatik seçildiðini göstermek için kullanýlan karakter " + "(varsayýlan '*')\n" + "# _ þuna dönüþür ' '\n" -#: src/lang.c:1234 +#: src/lang.c:1759 #, fuzzy -msgid "From: (descending)" -msgstr "Gönderen: (alçalan)" +msgid "Enter character to indicate recent articles. sets, cancels." +msgstr "Son makaleleri imlemek için karakter girin. ayarlar, iptal eder." -#: src/lang.c:1235 +#: src/lang.c:1760 #, fuzzy -msgid "From: (ascending)" -msgstr "Gönderen: (yükselen)" +msgid "Character to show recent articles" +msgstr "Son makaleleri gösterecek olan karakter" -#: src/lang.c:1236 +#: src/lang.c:1761 #, fuzzy -msgid "Date: (descending)" -msgstr "Tarih: (alçalan)" +msgid "# Character used to show that an art is recent (default 'o')\n" + "# _ is turned into ' '\n" +msgstr "# Bir makalenin son olduðunu göstermek için kullanýlan karakter (varsayýlan " + "'o')\n" + "# _ þuna dönüþür ' '\n" -#: src/lang.c:1237 +#: src/lang.c:1766 #, fuzzy -msgid "Date: (ascending)" -msgstr "Tarih: (yükselen)" +msgid "Enter character to indicate unread articles. sets, cancels." +msgstr "Okunmamýþ makaleleri imlemek için karakter girin. ayarlar, iptal " + "eder." -#: src/lang.c:1238 src/lang.c:1246 +#: src/lang.c:1767 #, fuzzy -msgid "Score (descending)" -msgstr "Skor: (alçalan)" +msgid "Character to show unread articles" +msgstr "Okunmamýþ makaleleri gösterecek olan karakter" -#: src/lang.c:1239 src/lang.c:1247 +#: src/lang.c:1768 #, fuzzy -msgid "Score (ascending)" -msgstr "Skor: (yükselen)" +msgid "# Character used to show that an art is unread (default '+')\n" + "# _ is turned into ' '\n" +msgstr "# Bir makalenin okunmadýðýný göstermek için kullanýlan karakter (varsayýlan " + "'+')\n" + "# _ þuna dönüþür ' '\n" -#: src/lang.c:1240 +#: src/lang.c:1773 #, fuzzy -msgid "Lines: (descending)" -msgstr "Satýrlar: (alçalan)" +msgid "Enter character to indicate read articles. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:1241 +#: src/lang.c:1774 #, fuzzy -msgid "Lines: (ascending)" -msgstr "Satýrlar: (yükselen)" +msgid "Character to show read articles" +msgstr "Okunmamýþ makaleleri gösterecek olan karakter" -#: src/lang.c:1252 +#: src/lang.c:1775 #, fuzzy -msgid "Always Keep" -msgstr "Hep Sakla" +msgid "# Character used to show that an art was read (default ' ')\n" + "# _ is turned into ' '\n" +msgstr "# Bir makalenin okunduðunu göstermek için kullanýlan karakter (varsayýlan ' " + "')\n" + "# _ þuna dönüþür ' '\n" -#: src/lang.c:1253 +#: src/lang.c:1780 #, fuzzy -msgid "Always Remove" -msgstr "Hep Kaldýr" +msgid "Enter character to indicate killed articles. sets, cancels." +msgstr "Yok olan makaleleri imlemek için karakter girin. ayarlar, iptal " + "eder." -#: src/lang.c:1254 +#: src/lang.c:1781 #, fuzzy -msgid "Mark with D on selection screen" -msgstr "Seçenek ekranýnda D ile iþaretle" +msgid "Character to show killed articles" +msgstr "Yok olan makaleleri gösterecen karakter" -#: src/lang.c:1259 +#: src/lang.c:1782 #, fuzzy -msgid "Kill only unread arts" -msgstr "Sadece okunmayan makaleleri yok et" +msgid "# Character used to show that an art was killed (default 'K')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "# Bir makalenin yok olduðunu göstermek için kullanýlan karakter (varsayýlan " + "'K')\n" + "# yok olma düzeyi ona göre ayarlanmalýdýr, _ þuna dönüþür ' '\n" -#: src/lang.c:1260 +#: src/lang.c:1787 #, fuzzy -msgid "Kill all arts & show with K" -msgstr "Tüm makaleleri yok et & K ile göster" +msgid "Enter character to indicate read selected articles. sets, cancels." +msgstr "Okunmuþ-seçilmiþ makaleleri imlemek için karakter girin. ayarlar, " + "iptal eder." -# TODO: s/K/art_marked_killed/ -#. TODO: s/K/art_marked_killed/ -#: src/lang.c:1261 +#: src/lang.c:1788 #, fuzzy -msgid "Kill all arts and never show" -msgstr "Tüm makaleleri yok et ve asla gösterme" +msgid "Character to show readselected arts" +msgstr "Okunmuþ-seçilmiþ makaleleri gösteren karakter" -#: src/lang.c:1266 +#: src/lang.c:1789 #, fuzzy -msgid "Nothing special" -msgstr "Özel birþey yok" +msgid "# Character used to show that an art was selected before read (default ':')\n" + "# kill_level must be set accordingly, _ is turned into ' '\n" +msgstr "# Bir makalenin okunmadan seçildiðini göstermek için kullanýlan karakter " + "(varsayýlan ':')\n" + "# yok olma düzeyi ona göre ayarlanmalýdýr, _ þuna dönüþür ' '\n" -#: src/lang.c:1267 +#: src/lang.c:1794 #, fuzzy -msgid "Compress quotes" -msgstr "Ýmleri sýkýþtýr" +msgid "Enter maximum length of newsgroup names displayed. sets." +msgstr "Görünen haber gruplarýnýn en fazla uzunluðunu girin. ayarlar." -#: src/lang.c:1268 +#: src/lang.c:1795 #, fuzzy -msgid "Quote signatures" -msgstr "Ýmzalarý imle" +msgid "Max. length of group names shown" +msgstr "Gösterilen grup isimlerinin en fazla uzunluðu" -#: src/lang.c:1269 +#: src/lang.c:1796 #, fuzzy -msgid "Compress quotes, quote sigs" -msgstr "Ýmleri sýkýþtýr, imzalarý imle" +msgid "# Maximum length of the names of newsgroups displayed\n" +msgstr "# Görünen haber gryplarýnýn isimlerinin en fazla uzunluðu\n" -#: src/lang.c:1270 -#, fuzzy -msgid "Quote empty lines" -msgstr "Boþ satýrlarý imle" +#: src/lang.c:1801 +msgid "Abbreviate long newsgroup names" +msgstr "" -#: src/lang.c:1271 -#, fuzzy -msgid "Compress quotes, quote empty lines" -msgstr "Ýmleri sýkýþtýr, boþ satýrlarý imle" +#: src/lang.c:1802 +msgid "# If ON abbreviate (if necessary) long newsgroup names at group selection\n" + "# level and article level like this:\n" + "# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n" +msgstr "" -#: src/lang.c:1272 +#: src/lang.c:1809 #, fuzzy -msgid "Quote sigs & empty lines" -msgstr "Ýmzalarý & boþ satýrlarý imle" +msgid "Show lines/score in listings" +msgstr "Listelerdeki satýrlarý/skoru göster" -#: src/lang.c:1273 +#: src/lang.c:1810 #, fuzzy -msgid "Comp. q., quote sigs & empty lines" -msgstr "Ýmleri sýkýþtýr, imzalarý & boþ satýrlarý imle" +msgid "# What information should be displayed in article/thread listing\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = nothing\n" + "# * 1 = lines\n" + "# 2 = score\n" + "# 3 = lines & score\n" +msgstr "# Makale/parçacýk listelerinde hangi bilgiler gösterilmeli\n" + "# 0 = hiçbir þey, 1 = satýrlar, 2 = skor, 3 = satýrlar & skor\n" + +#: src/lang.c:1819 +#, fuzzy +msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" + "2 = half page" +msgstr "0 = tüm sayfa kaydýrýmý, -1 = önceki son satýrý bir sonraki sayfanýn ilk " + "satýrýnda göster, -2 = yarým sayfa" + +#: src/lang.c:1820 +#, fuzzy +msgid "Number of lines to scroll in pager" +msgstr "Sayfalayýcýda kaydýrýlan satýr sayýsý" + +#: src/lang.c:1821 +msgid "# Number of lines that cursor-up/down will scroll in article pager\n" + "# Possible values are (the default is marked with *):\n" + "# -2 = half-page scrolling\n" + "# -1 = the top/bottom line is carried over onto the next page\n" + "# 0 = page-by-page (traditional behavior)\n" + "# * 1 = line-by-line\n" + "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" +msgstr "" + +#: src/lang.c:1831 +msgid "Display signatures. toggles & sets." +msgstr "" + +#: src/lang.c:1832 +#, fuzzy +msgid "Display signatures" +msgstr "Seçenekleri Göster" + +#: src/lang.c:1833 +msgid "# If OFF don't show signatures when displaying articles\n" +msgstr "" -#: src/lang.c:1311 -#, fuzzy -msgid "no" -msgstr "hiçbiri" +#: src/lang.c:1837 +msgid "Display uuencoded data as tagged attachments. toggles & sets." +msgstr "" -#: src/lang.c:1312 -#, fuzzy -msgid "with headers" -msgstr "en küçük yürütme birimleri" +#: src/lang.c:1838 +msgid "Display uue data as an attachment" +msgstr "" -#: src/lang.c:1313 -msgid "without headers" -msgstr "" - -#: src/lang.c:1320 src/lang.c:1326 -msgid "NFKC" -msgstr "" - -#: src/lang.c:1321 -msgid "NFKD" -msgstr "" +#: src/lang.c:1839 +msgid "# Handling of uuencoded data in the pager\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no, display raw uuencoded data\n" + "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" + "# size and filename, similar to how MIME attachments are displayed\n" + "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" + "# be folded into a tag line.\n" +msgstr "" -#: src/lang.c:1322 -msgid "NFC" -msgstr "" +#: src/lang.c:1849 +msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." +msgstr "" -#: src/lang.c:1323 -msgid "NFD" -msgstr "" +#: src/lang.c:1850 +msgid "Display \"a as Umlaut-a" +msgstr "" -#: src/lang.c:1334 -#, fuzzy -msgid "Display Options" -msgstr "Seçenekleri Göster" +#: src/lang.c:1851 +msgid "# If ON decode German style TeX umlaut codes to ISO and\n" + "# show \"a as Umlaut-a, etc.\n" +msgstr "" + +#: src/lang.c:1856 src/lang.c:1866 +msgid "Space separated list of header fields" +msgstr "" -#: src/lang.c:1341 -#, fuzzy -msgid "Color Options" -msgstr "Renk Seçenekleri" +#: src/lang.c:1857 +msgid "Display these header fields (or *)" +msgstr "" -#: src/lang.c:1348 -#, fuzzy -msgid "Article-Limiting Options" -msgstr "Makale-Sýnýrlandýrma Seçenekleri" +#: src/lang.c:1858 +msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" + "# place an '*' as this value. This is the only way a wildcard can be used.\n" + "# If you enter 'X-' as the value, you will see all headers beginning with\n" + "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " + "with\n" + "# spaces. Not defining anything turns off this option.\n" +msgstr "" + +#: src/lang.c:1867 +#, fuzzy +msgid "Do not display these header fields" +msgstr "Aktüel habver baþlýlarý alanýnýn rengi" + +#: src/lang.c:1868 +msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" + "# An example of using both options might be if you thought X- headers were\n" + "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " + "you\n" + "# would do something like this:\n" + "# news_headers_to_display=X-\n" + "# news_headers_to_not_display=X-Alan X-Pape\n" + "# Not defining anything turns off this option.\n" +msgstr "" -#: src/lang.c:1354 -#, fuzzy -msgid "Posting/Mailing Options" -msgstr "Yollama/Postalama Seçenekleri" +#: src/lang.c:1878 +msgid "Do you want to enable automatic handling of multipart/alternative articles?" +msgstr "" -#: src/lang.c:1360 -#, fuzzy -msgid "Saving/Printing Options" -msgstr "Kaydetme/Yazdýrma Seçenekleri" +#: src/lang.c:1879 +msgid "Skip multipart/alternative parts" +msgstr "" -#: src/lang.c:1366 +#: src/lang.c:1880 +msgid "# If ON strip multipart/alternative messages automatically\n" +msgstr "" + +#: src/lang.c:1884 +#, fuzzy +msgid "Enable detection of verbatim blocks? toggles & sets." +msgstr "Konu: Dosya süzgeçlemek için eklenecek satýr. deðiþtirir & " + "ayarlar." + +#: src/lang.c:1885 +msgid "Detection of verbatim blocks" +msgstr "" + +#: src/lang.c:1886 #, fuzzy -msgid "Expert Options" -msgstr "Uzman Seçenekleri" +msgid "# If ON detect verbatim blocks in articles\n" +msgstr "# If ON gönderilemeyen bütün postalarý tut ~/ölü.makale\n" -#: src/lang.c:1372 +#: src/lang.c:1891 +msgid "A regex used to decide which lines to show in col_quote." +msgstr "" + +#: src/lang.c:1892 +msgid "Regex used to show quoted lines" +msgstr "" + +#: src/lang.c:1893 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1899 +msgid "A regex used to decide which lines to show in col_quote2." +msgstr "" + +#: src/lang.c:1900 +msgid "Regex used to show twice quoted l." +msgstr "" + +#: src/lang.c:1901 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted twice. Twice quoted lines are shown in col_quote2.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1907 +msgid "A regex used to decide which lines to show in col_quote3." +msgstr "" + +#: src/lang.c:1908 +msgid "Regex used to show >= 3 times q.l." +msgstr "" + +#: src/lang.c:1909 +msgid "# A regular expression that tin will use to decide which lines are\n" + "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1916 +msgid "A regex used to decide which words to show in col_markslashes." +msgstr "" + +#: src/lang.c:1917 +msgid "Regex used to highlight /slashes/" +msgstr "" + +#: src/lang.c:1918 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '/' are to be shown in col_markslashes.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1924 +msgid "A regex used to decide which words to show in col_markstars." +msgstr "" + +#: src/lang.c:1925 +msgid "Regex used to highlight *stars*" +msgstr "" + +#: src/lang.c:1926 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '*' are to be shown in col_markstars.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1932 +msgid "A regex used to decide which words to show in col_markstroke." +msgstr "" + +#: src/lang.c:1933 #, fuzzy -msgid "Filtering Options" -msgstr "Süzgeçleme Seçenekleri" +msgid "Regex used to highlight -strokes-" +msgstr "-vuruþ- ile vurgulama rengi" + +#: src/lang.c:1934 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '-' are to be shown in col_markstroke.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1940 +msgid "A regex used to decide which words to show in col_markdash." +msgstr "" + +#: src/lang.c:1941 +msgid "Regex used to highlight _underline_" +msgstr "" + +#: src/lang.c:1942 +msgid "# A regular expression that tin will use to decide which words\n" + "# bounded by '_' are to be shown in col_markdash.\n" + "# If you leave this blank, tin will use a built in default.\n" +msgstr "" + +#: src/lang.c:1948 +msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." +msgstr "" + +#: src/lang.c:1949 +msgid "Regex with Subject prefixes" +msgstr "" + +#: src/lang.c:1950 +msgid "# A regular expression that tin will use to find Subject prefixes\n" + "# which will be removed before showing the header.\n" +msgstr "" + +#: src/lang.c:1955 +msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." +msgstr "" + +#: src/lang.c:1956 +msgid "Regex with Subject suffixes" +msgstr "" + +#: src/lang.c:1957 +msgid "# A regular expression that tin will use to find Subject suffixes\n" + "# which will be removed when replying or posting followup.\n" +msgstr "" + +#: src/lang.c:1962 +msgid "A regex used to find the begin of a verbatim block." +msgstr "" + +#: src/lang.c:1963 +msgid "Regex for begin of a verbatim block" +msgstr "" + +#: src/lang.c:1964 +msgid "# A regular expression that tin will use to find the begin of\n" + "# a verbatim block.\n" +msgstr "" + +#: src/lang.c:1969 +msgid "A regex used to find the end of a verbatim block." +msgstr "" + +#: src/lang.c:1970 +msgid "Regex for end of a verbatim block" +msgstr "" + +#: src/lang.c:1971 +msgid "# A regular expression that tin will use to find the end of\n" + "# a verbatim block.\n" +msgstr "" + +#: src/lang.c:1976 +msgid "Enter name and options for external MIME viewer, --internal for built-in " + "viewer" +msgstr "" + +#: src/lang.c:1977 +msgid "MIME binary content viewer" +msgstr "" -#: src/lang.c:1377 src/lang.c:1408 src/lang.c:1414 src/lang.c:1440 src/lang.c:1490 -#: src/lang.c:1496 src/lang.c:1506 src/lang.c:1526 src/lang.c:1601 src/lang.c:1771 -#: src/lang.c:1777 src/lang.c:1783 src/lang.c:1789 src/lang.c:1801 src/lang.c:1808 -#: src/lang.c:1862 src/lang.c:1871 src/lang.c:1877 src/lang.c:1884 src/lang.c:1891 -#: src/lang.c:1898 src/lang.c:1905 src/lang.c:1912 src/lang.c:1919 src/lang.c:1926 -#: src/lang.c:1933 src/lang.c:1940 src/lang.c:1947 src/lang.c:1954 src/lang.c:1961 -#: src/lang.c:1968 src/lang.c:1975 src/lang.c:1982 src/lang.c:1989 src/lang.c:1996 -#: src/lang.c:2003 src/lang.c:2010 src/lang.c:2017 src/lang.c:2024 src/lang.c:2031 -#: src/lang.c:2039 src/lang.c:2055 src/lang.c:2062 src/lang.c:2069 src/lang.c:2076 -#: src/lang.c:2082 src/lang.c:2088 src/lang.c:2105 src/lang.c:2117 src/lang.c:2151 -#: src/lang.c:2204 src/lang.c:2211 src/lang.c:2217 src/lang.c:2242 src/lang.c:2259 -#: src/lang.c:2312 src/lang.c:2348 src/lang.c:2368 src/lang.c:2403 src/lang.c:2413 -#: src/lang.c:2438 src/lang.c:2454 src/lang.c:2473 src/lang.c:2486 -#, fuzzy -msgid " toggles, sets, cancels." -msgstr " deðiþtirir, ayarlar, iptal eder." - -#: src/lang.c:1378 -#, fuzzy -msgid "Show mini menu & posting etiquette" -msgstr "Mini menüyü & yollama etiketini göster" - -#: src/lang.c:1379 -#, fuzzy -msgid "# If ON show a mini menu of useful commands at each level\n" - "# and posting etiquette after composing an article\n" -msgstr "# ON durumundaysa makale oluþturduktan sonra tüm düzeylerde kullanýþlý " - "komutlarýn\n" - "# mini menüsünü ve yollama etiketini göster.\n" +#: src/lang.c:1978 +msgid "# If --internal automatically use the built in MIME viewer for non-text\n" + "# parts of articles.\n" + "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" + "# for no automatic viewing\n" +msgstr "" + +#: src/lang.c:1985 +msgid "Confirm before starting non-text viewing program" +msgstr "" + +#: src/lang.c:1986 +msgid "Ask before using MIME viewer" +msgstr "" + +#: src/lang.c:1987 +msgid "# If ON tin will ask before using metamail to display MIME messages\n" + "# this only happens if metamail_prog is set to something\n" +msgstr "" + +#: src/lang.c:1992 +msgid "Ask to mark groups read when quitting. toggles & sets." +msgstr "" + +#: src/lang.c:1993 +msgid "Catchup read groups when quitting" +msgstr "" + +#: src/lang.c:1994 +msgid "# If ON ask user if read groups should all be marked read\n" +msgstr "" + +#: src/lang.c:1999 +msgid "Catchup group using left key" +msgstr "" + +#: src/lang.c:2000 +msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" +msgstr "" -#: src/lang.c:1384 -#, fuzzy -msgid "Show short description for each newsgroup. toggles & sets." -msgstr "Her haber grubu için kýsa açýklama göster. deðiþtirir & ayarlar." +#: src/lang.c:2005 +msgid "Catchup thread by using left key" +msgstr "" -#: src/lang.c:1385 -#, fuzzy -msgid "Show description of each newsgroup" -msgstr "Her haber grubu için açýklama göster" +#: src/lang.c:2011 +msgid "Which actions require confirmation" +msgstr "" -#: src/lang.c:1386 -#, fuzzy -msgid "# If ON show group description text after newsgroup name at\n" - "# group selection level\n" -msgstr "# ON durumundaysa grup seçim düzeyindeki haber grubu isiminden sonraki\n" - "# grup açýklama metnini göster.\n" +#: src/lang.c:2012 +msgid "# What should we ask confirmation for.\n" +msgstr "" -#: src/lang.c:1391 +#: src/lang.c:2017 #, fuzzy -msgid "Show Subject & From (author) fields in group menu. toggles & " - "sets." -msgstr "Grup menüsünde Konu & Gönderen (yazar) alanlarýný göster. deðiþtirir " - "& ayarlar." +msgid "'Mark as (un)read' ignores tags" +msgstr "makaleyi okunmamýþ olarak iþaretle" -#: src/lang.c:1392 +#: src/lang.c:2018 #, fuzzy -msgid "In group menu, show author by" -msgstr "Grup menüsünde yazarý þuna göre göster" +msgid "# If ON the 'Mark as (un)read' function marks only the current article.\n" +msgstr "# ON durumundaysa 'makaleyi okunmuþ olarak iþaretle'" -#: src/lang.c:1393 +#: src/lang.c:2022 #, fuzzy -msgid "# Part of from field to display\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = none\n" - "# 1 = address\n" - "# * 2 = full name\n" - "# 3 = both\n" -msgstr "# Gösterilecek gönderen alan kýsýmlarý 0)hiç 1)adres 2) tüm isim 3) hepsi\n" +msgid "Program to run to open URLs, sets, cancels." +msgstr "URL açmak için çalýþtýrýlan program, ayarlar, iptal eder." -#: src/lang.c:1402 +#: src/lang.c:2023 #, fuzzy -msgid "Draw -> or highlighted bar for selection. toggles & sets." -msgstr "Çiz -> ya da seçim için vurgulanmýþ çubuk. deðiþtirir & ayarlar." +msgid "Program that opens URLs" +msgstr "URL açan program" -#: src/lang.c:1403 +#: src/lang.c:2024 #, fuzzy -msgid "Draw -> instead of highlighted bar" -msgstr "Çiz -> vurgulanmýþ çubuk yerine" +msgid "# The program used to open URLs. The actual URL will be appended\n" +msgstr "# Program URL açýyordu. Aktüel URL'ler sona eklenecek\n" -#: src/lang.c:1404 +#: src/lang.c:2029 #, fuzzy -msgid "# If ON use -> otherwise highlighted bar for selection\n" -msgstr "# ON durumundaysa -> deðilse seçim için vurgulanmýþ çubuk\n" +msgid "Use mouse in xterm" +msgstr "xterm2de fare kullan" -#: src/lang.c:1409 +#: src/lang.c:2030 #, fuzzy -msgid "Use inverse video for page headers" -msgstr "Sayfa baþlýklarý için ters görüntü kullan" +msgid "# If ON enable mouse button support on xterm terminals\n" +msgstr "# ON durumundaysa xtrem uçbirimlerini destekleyen fare tuþunu etkinleþtir.\n" -#: src/lang.c:1410 +#: src/lang.c:2036 #, fuzzy -msgid "# If ON use inverse video for page headers at different levels\n" -msgstr "# ON durumundaysa farklý düzeyde sayfa baþlýklarý için ters görüntü kullan\n" +msgid "Use scroll keys on keypad" +msgstr "Klavye üzerinde kaydýrma tuþlarýný kullan" -#: src/lang.c:1415 +#: src/lang.c:2037 #, fuzzy -msgid "Thread articles by" -msgstr "Makaleleri belirle" - -#: src/lang.c:1416 -msgid "# Thread articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject\n" - "# 2 = References\n" - "# * 3 = Both (Subject and References)\n" - "# 4 = Multipart Subject\n" - "# 5 = Percentage Match\n" -msgstr "" - -#: src/lang.c:1427 -msgid "Enter percentage match required to thread together. sets." -msgstr "" - -#: src/lang.c:1428 -msgid "Thread percentage match" -msgstr "" - -#: src/lang.c:1429 -#, c-format -msgid "# Thread percentage match...\n" - "# the percentage of characters in the subject of an article that must match\n" - "# a base article for both those articles to be considered to belong to the\n" - "# same thread. This option is an integer percentage, eg. 80, no decimals may\n" - "# follow. If 80 is used here, then 80%% of the characters must match " - "exactly,\n" - "# no insertion of a character, for the two articles to be put in the same\n" - "# thread. eg. 'happy' and 'harpy' would match, but 'harpie', 'happie' and\n" - "# 'harppy' would be threaded separately from 'happy'\n" -msgstr "" +msgid "# If ON enable scroll keys on terminals that support it\n" +msgstr "# ON durumunduysa uçbirimler tarafýndan desteklenen kaydýrma tuþlarýný " + "etkinleþtir\n" -#: src/lang.c:1441 +#: src/lang.c:2042 #, fuzzy -msgid "Score of a thread" -msgstr "Bir iþ parçacýðýnýn skoru" - -#: src/lang.c:1442 -msgid "# Thread score\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = max\n" - "# 1 = sum\n" - "# 2 = average\n" -msgstr "" +msgid "Enter maximum number of article to get. sets." +msgstr "Alýnacak makalenin max. sayýsýný yazýn. ayarlar." -#: src/lang.c:1450 +#: src/lang.c:2043 #, fuzzy -msgid "Sort articles by Subject, From, Date or Score. toggles & sets." -msgstr "Makaleleri Konu,Gönderen,Tarih ya da Skora göre sýrala. deðiþtirir & " - " ayarlar." +msgid "Number of articles to get" +msgstr "Alýnacak makale sayýsý" -#: src/lang.c:1451 +#: src/lang.c:2044 #, fuzzy -msgid "Sort articles by" -msgstr "Makaleleri sýrala" +msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" + "# of already read articles to be read before first unread one\n" +msgstr "# Alýnacak makale sayýsý (0= sýnýrsýz), eðer negatif max.sayýyý ayarlarsa\n" -#: src/lang.c:1452 +#: src/lang.c:2049 #, fuzzy -msgid "# Sort articles by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# 1 = Subject descending\n" - "# 2 = Subject ascending\n" - "# 3 = From descending\n" - "# 4 = From ascending\n" - "# 5 = Date descending\n" - "# * 6 = Date ascending\n" - "# 7 = Score descending\n" - "# 8 = Score ascending\n" - "# 9 = Lines descending\n" - "# 10 = Lines ascending\n" -msgstr "# Makaleleri sýrala 0=(hiçbirþey) 1=(Konu azalmasý) 2=(Konu yükselmesi)\n" - "# 3=(Gönderen azalmasý) 4=(Gönderen yükselmesi) 5=(Tarih azalmasý) 6=(Tarih " - "yükselmesi)\n" - "# 7=(Skor azalmasý) 8=(Skor yükselmesi) 9=(Satýrlar azalmasý) 10=(Satýrlar " - "yükselmesi).\n" +msgid "Enter number of days article is considered recent. sets." +msgstr "Makalenin yeni sayýlacaðý gün sayýsýný yazýn. ayarlar." -#: src/lang.c:1468 +#: src/lang.c:2050 #, fuzzy -msgid "Sort threads by Nothing or Score. toggles & sets." -msgstr "Ýþ parçacýklarýný Hiçbirþeye ya da skora göre sýrala. deðiþtirir & " - " ayarlar." +msgid "Article recentness time limit" +msgstr "Makalenin yenilik zaman sýnýrý" -#: src/lang.c:1469 +#: src/lang.c:2051 #, fuzzy -msgid "Sort threads by" -msgstr "Ýþ parçacýklarýný sýrala" - -#: src/lang.c:1470 -msgid "# Sort thread by ...\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = Score descending\n" - "# 2 = Score ascending\n" -msgstr "" +msgid "# Number of days in which article is considered recent, (0=OFF)\n" +msgstr "# Makalenin yeni sayýldýðý gün sayýsý, (0=OFF)\n" -#: src/lang.c:1478 +#: src/lang.c:2055 #, fuzzy -msgid "Put cursor at first/last unread art in groups. toggles & sets." -msgstr "Ýmleci gruplardaki ilk/son okunmamýþ makalelere koyun. deðiþtirir & " - " ayarlar." +msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." +msgstr "WILDMAT normal jokerler, REGEX tam düzenli varsayým eþleþtirmeleri içindir." -#: src/lang.c:1479 +#: src/lang.c:2056 #, fuzzy -msgid "Goto first unread article in group" -msgstr "Gruptaki ilk okunmamýþ makaleye git" +msgid "Wildcard matching" +msgstr "Joker eþleþtiriyor" -#: src/lang.c:1480 -#, fuzzy -msgid "# If ON put cursor at first unread art in group otherwise last art\n" -msgstr "# ON durumundaysa imleci ilk okunmamýþ makeleye, deðilse son makeleye koy.\n" +#: src/lang.c:2057 +msgid "# Wildcard matching\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = wildmat\n" + "# 1 = regex\n" +msgstr "" -#: src/lang.c:1484 +#: src/lang.c:2064 #, fuzzy -msgid "Show all articles or only unread articles. toggles & sets." -msgstr "Tüm makaleleri ya da sadece okunmayan makaleleri göster. deðiþtirir & " - " ayarlar." +msgid "Enter minimal score before an article is marked killed. sets." +msgstr "Makale yok et olarak iþaretlenmeden önce minimal skoru yazýn. ayarlar." -#: src/lang.c:1485 +#: src/lang.c:2065 #, fuzzy -msgid "Show only unread articles" -msgstr "Sadece okunmayan makaleleri göster" +msgid "Score limit (kill)" +msgstr "Sýnýrý skorla (yok et)" -#: src/lang.c:1486 +#: src/lang.c:2066 #, fuzzy -msgid "# If ON show only new/unread articles otherwise show all.\n" -msgstr "# ON durumundaysa sadece yeni/okunmamýþ makaleleri, deðilse hepsini göster.\n" +msgid "# Score limit before an article is marked killed\n" +msgstr "# Makale yok et olarak iþaretlendiðinde sýnýrý skorla\n" -#: src/lang.c:1491 +#: src/lang.c:2070 #, fuzzy -msgid "Show only groups with unread arts" -msgstr "Sadece okunmamýþ makale olan gruplarý göster" +msgid "Enter default score to kill articles. sets." +msgstr "Makaleleri yok etmke için varsayýlan skoru yazýn. ayarlar." -#: src/lang.c:1492 +#: src/lang.c:2071 #, fuzzy -msgid "# If ON show only subscribed to groups that contain unread articles.\n" -msgstr "# ON durumundaysa sadece abone olunup okunmamýþ makaler içerem gruplarý " - "göster.\n" +msgid "Default score to kill articles" +msgstr "Makaleleri yok etmke için skoru varsay" -#: src/lang.c:1497 +#: src/lang.c:2072 #, fuzzy -msgid "Filter which articles" -msgstr "Hangi makaleleri filtrele" +msgid "# Default score to kill articles\n" +msgstr "# Makaleleri yok etmke için skoru varsay\n" -#: src/lang.c:1498 +#: src/lang.c:2076 #, fuzzy -msgid "# Filter which articles\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = only kill unread articles\n" - "# 1 = kill all articles and show in threads marked with K\n" - "# 2 = kill all articles and never show them\n" -msgstr "# 0=(Sadece okunmamýþ makaleleri yok et)\n" - "# 1=(Tüm makalerleri yok et ve K ile iþaretlenmiþ parçaýk olarak göster)\n" - "# 2=(Tüm makaleleri yok et ve bir daha gösterme].\n" +msgid "Enter minimal score before an article is marked hot. sets." +msgstr "Makale 'hot' olarak iþaretlenmeden önce minimum skoru yazýn. ayarlar." -#: src/lang.c:1507 +#: src/lang.c:2077 #, fuzzy -msgid "Tab goes to next unread article" -msgstr "Sekme sonraki okunmamýþ makaleye gider" +msgid "Score limit (select)" +msgstr "Sýnýrý skorla (seç)" -#: src/lang.c:1508 +#: src/lang.c:2078 #, fuzzy -msgid "# If ON the TAB command will go to next unread article at article viewer " - "level\n" -msgstr "# ON durumundaysa TAB komutu makale görüntüleyici düzeyinde sonraki okunmamýþ " - "makaleye gider\n" +msgid "# Score limit before an article is marked hot\n" +msgstr "# Makale 'hot! olarak iþaretlenmeden önce sýnýrý skorlayýn\n" -#: src/lang.c:1512 +#: src/lang.c:2082 #, fuzzy -msgid "Scrolling with past the end of an art. jumps to the next unread one." -msgstr "Bir makalenin sonundan sonra ile kaydýrma bir sonraki okunmamýþ " - "makaleye atlar." +msgid "Enter default score to select articles. sets." +msgstr "Makaleleri seçmek için varsayýlan skoru yazýn. ayarlar." -#: src/lang.c:1513 +#: src/lang.c:2083 #, fuzzy -msgid "Space goes to next unread article" -msgstr "Boþluk sonraki okunmamýþ makaleye gider" +msgid "Default score to select articles" +msgstr "Makaleleri seçmek için varsayýlan deðer" -#: src/lang.c:1514 +#: src/lang.c:2084 #, fuzzy -msgid "# If ON the SPACE command will go to next unread article at article viewer\n" - "# level when the end of the article is reached (rn-style pager)\n" -msgstr "# ON durumundaysa makalenin sonuna gelindiðinde SPACE komutu makale " - "görüntüleyici # düzeyinde sonraki okunmamýþ makaleye gider\n" +msgid "# Default score to select articles\n" +msgstr "# Makaleleri seçmek için varsayýlan deðer\n" -#: src/lang.c:1519 +#: src/lang.c:2090 #, fuzzy -msgid "Scrolling with / past the end of an art. jumps to the unread one." -msgstr "Makalenin sonundan sonra / ile kaydýrma bir sonraki makaleye " - "atlar." +msgid "Use slrnface to show ''X-Face:''s" +msgstr "''X-Face:''s göstermek için slmface kullan" -#: src/lang.c:1520 +#: src/lang.c:2091 #, fuzzy -msgid "PgDn goes to next unread article" -msgstr "PgDn sonraki okunmamýþ makaleye gider" +msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" + "# Only useful when running in an xterm.\n" +msgstr "# ON durmunduysa ''X-Face:'' baþlýðýný yorumlamak için slrnface(1) " + "kullanýlýyor.\n" + "# sadece xterm çalýþýtýrýlýrken yararlý.\n" -#: src/lang.c:1521 +#: src/lang.c:2099 #, fuzzy -msgid "# If ON the PGDN or DOWN command will go to next unread article when\n" - "# pressed at end of message\n" -msgstr "# ON durumundaysa PGDN ya da DOWN komutu iletinin sonunda\n" - "# basýldýðýnda sonraki okunmamýþ makaleye gider\n" +msgid "Use ANSI color" +msgstr "ANSI renk geçerli" -#: src/lang.c:1527 +#: src/lang.c:2100 #, fuzzy -msgid "List thread using right arrow key" -msgstr "Sað ok tuþuna basarak parçacýklarý listele" +msgid "# If ON using ANSI-color\n" +msgstr "# On durumundaysa ANSI-renk kullanýlýyor\n" -#: src/lang.c:1528 +#: src/lang.c:2105 #, fuzzy -msgid "# If ON automatically list thread when entering it using right arrow key.\n" -msgstr "# ON durumundaysa parçacýklarý sað ok tuþunu kullanarak girerken otomatik " - "olarak listele.\n" +msgid "Standard foreground color" +msgstr "Standart önplan rengi" -#: src/lang.c:1532 +#: src/lang.c:2106 #, fuzzy -msgid "Enter character to indicate deleted articles. sets, cancels." -msgstr "Silinmiþ makaleleri göstermek için karakter giriniz. ayarlar, " - "iptal eder." +msgid "# Standard foreground color\n" + "# Default: -1 (default color)\n" +msgstr "# Standart önplan rengi\n" -#: src/lang.c:1533 +#: src/lang.c:2112 #, fuzzy -msgid "Character to show deleted articles" -msgstr "Silinmiþ makaleleri gösterecek olan karakter" +msgid "Standard background color" +msgstr "Standart arkaplan rengi" -#: src/lang.c:1534 +#: src/lang.c:2113 #, fuzzy -msgid "# Character used to show that an art was deleted (default 'D')\n" - "# _ is turned into ' '\n" -msgstr "# Makalenin silindiðini göstermek için kullanýlan karakter (varsayýlan 'D')\n" - "# _ þuna dönüþür ' '\n" +msgid "# Standard background color\n" + "# Default: -1 (default color)\n" +msgstr "# Standart arkaplan rengi\n" -#: src/lang.c:1539 +#: src/lang.c:2119 #, fuzzy -msgid "Enter character to indicate articles in a range. sets, cancels." -msgstr "Sýralanmýþ makaleleri imlemek için karakter girin. ayarlar, iptal " - "eder." +msgid "Color for inverse text (background)" +msgstr "Çapraz metnin arkaplan rengi" -#: src/lang.c:1540 +#: src/lang.c:2120 #, fuzzy -msgid "Character to show inrange articles" -msgstr "Sýralanmýþ makaleleri gösterecek olan karakter" +msgid "# Color of background for inverse text\n" + "# Default: 4 (blue)\n" +msgstr "# Çapraz metnin arkaplan rengi\n" -#: src/lang.c:1541 +#: src/lang.c:2126 #, fuzzy -msgid "# Character used to show that an art is in a range (default '#')\n" - "# _ is turned into ' '\n" -msgstr "# Bir makalenin sýralanmýþ olduðunu göstermek için kullanýlan karakter " - "(varsayýlan '#')\n" - "# _ þuna dönüþür ' '\n" +msgid "Color for inverse text (foreground)" +msgstr "Çapraz metnin önplan rengi" -#: src/lang.c:1546 +#: src/lang.c:2127 #, fuzzy -msgid "Enter character to indicate that article will return. sets, " - "cancels." -msgstr "Makalenin döneceðini göstermek için karakter girin. ayarlar, iptal " - "eder." +msgid "# Color of foreground for inverse text\n" + "# Default: 7 (white)\n" +msgstr "# Çapraz metnin önplan rengi\n" -#: src/lang.c:1547 +#: src/lang.c:2133 #, fuzzy -msgid "Character to show returning arts" -msgstr "Dönen makaleleri gösterecek olan karakter" +msgid "Color of text lines" +msgstr "Metin satýrlarýnýn rengi" -#: src/lang.c:1548 +#: src/lang.c:2134 #, fuzzy -msgid "# Character used to show that an art will return (default '-')\n" - "# _ is turned into ' '\n" -msgstr "# Bir makalenin döneceðini göstermek için kullanýlan karakter (varsayýlan " - "'-')\n" - "# _ þuna dönüþür ' '\n" - -#: src/lang.c:1553 -#, fuzzy -msgid "Enter character to indicate selected articles. sets, cancels." -msgstr "Seçilen makaleleri imlemek için karakter girin. ayarlar, iptal " - "eder." +msgid "# Color of text lines\n" + "# Default: -1 (default color)\n" +msgstr "# Color of text lines\n" -#: src/lang.c:1554 +#: src/lang.c:2140 #, fuzzy -msgid "Character to show selected articles" -msgstr "Seçilen makaleleri gösterecek olan karakter" +msgid "Color of mini help menu" +msgstr "Mini yardým menüsünün rengi" -#: src/lang.c:1555 +#: src/lang.c:2141 #, fuzzy -msgid "# Character used to show that an art was auto-selected (default '*')\n" - "# _ is turned into ' '\n" -msgstr "# Bir makalenin otomatik seçildiðini göstermek için kullanýlan karakter " - "(varsayýlan '*')\n" - "# _ þuna dönüþür ' '\n" +msgid "# Color of mini help menu\n" + "# Default: 3 (brown)\n" +msgstr "# Mini yardým menüsünün rengi\n" -#: src/lang.c:1560 +#: src/lang.c:2147 #, fuzzy -msgid "Enter character to indicate recent articles. sets, cancels." -msgstr "Son makaleleri imlemek için karakter girin. ayarlar, iptal eder." +msgid "Color of help text" +msgstr "Yardým sayfalarýnýn rengi" -#: src/lang.c:1561 -#, fuzzy -msgid "Character to show recent articles" -msgstr "Son makaleleri gösterecek olan karakter" +#: src/lang.c:2148 +msgid "# Color of help pages\n" + "# Default: -1 (default color)\n" +msgstr "" -#: src/lang.c:1562 +#: src/lang.c:2154 #, fuzzy -msgid "# Character used to show that an art is recent (default 'o')\n" - "# _ is turned into ' '\n" -msgstr "# Bir makalenin son olduðunu göstermek için kullanýlan karakter (varsayýlan " - "'o')\n" - "# _ þuna dönüþür ' '\n" +msgid "Color of status messages" +msgstr "Durum iletilerinin rengi" -#: src/lang.c:1567 +#: src/lang.c:2155 #, fuzzy -msgid "Enter character to indicate unread articles. sets, cancels." -msgstr "Okunmamýþ makaleleri imlemek için karakter girin. ayarlar, iptal " - "eder." - -#: src/lang.c:1568 -#, fuzzy -msgid "Character to show unread articles" -msgstr "Okunmamýþ makaleleri gösterecek olan karakter" - -#: src/lang.c:1569 -#, fuzzy -msgid "# Character used to show that an art is unread (default '+')\n" - "# _ is turned into ' '\n" -msgstr "# Bir makalenin okunmadýðýný göstermek için kullanýlan karakter (varsayýlan " - "'+')\n" - "# _ þuna dönüþür ' '\n" +msgid "# Color of messages in last line\n" + "# Default: 6 (cyan)\n" +msgstr "# Son satýrdaki iletilerin rengi\n" -#: src/lang.c:1574 +#: src/lang.c:2161 #, fuzzy -msgid "Enter character to indicate read articles. sets, cancels." -msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." +msgid "Color of quoted lines" +msgstr "Ýmlenmiþ-satýr rengi" -#: src/lang.c:1575 +#: src/lang.c:2162 #, fuzzy -msgid "Character to show read articles" -msgstr "Okunmamýþ makaleleri gösterecek olan karakter" +msgid "# Color of quote-lines\n" + "# Default: 2 (green)\n" +msgstr "# Ýmlenmiþ-satýr rengi\n" -#: src/lang.c:1576 +#: src/lang.c:2168 #, fuzzy -msgid "# Character used to show that an art was read (default ' ')\n" - "# _ is turned into ' '\n" -msgstr "# Bir makalenin okunduðunu göstermek için kullanýlan karakter (varsayýlan ' " - "')\n" - "# _ þuna dönüþür ' '\n" +msgid "Color of twice quoted line" +msgstr "Çift imlenen satýrlarýn rengi" -#: src/lang.c:1581 +#: src/lang.c:2169 #, fuzzy -msgid "Enter character to indicate killed articles. sets, cancels." -msgstr "Yok olan makaleleri imlemek için karakter girin. ayarlar, iptal " - "eder." +msgid "# Color of twice quoted lines\n" + "# Default: 3 (brown)\n" +msgstr "# Çift imlenen satýrlarýn rengi\n" -#: src/lang.c:1582 +#: src/lang.c:2175 #, fuzzy -msgid "Character to show killed articles" -msgstr "Yok olan makaleleri gösterecen karakter" +msgid "Color of =>3 times quoted line" +msgstr "Ýmlenmiþ satýrda =>3 kat rengi" -#: src/lang.c:1583 +#: src/lang.c:2176 #, fuzzy -msgid "# Character used to show that an art was killed (default 'K')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "# Bir makalenin yok olduðunu göstermek için kullanýlan karakter (varsayýlan " - "'K')\n" - "# yok olma düzeyi ona göre ayarlanmalýdýr, _ þuna dönüþür ' '\n" +msgid "# Color of >=3 times quoted lines\n" + "# Default: 4 (blue)\n" +msgstr "# Ýmlenmiþ satýrlarda >=3 kat rengi\n" -#: src/lang.c:1588 +#: src/lang.c:2182 #, fuzzy -msgid "Enter character to indicate read selected articles. sets, cancels." -msgstr "Okunmuþ-seçilmiþ makaleleri imlemek için karakter girin. ayarlar, " - "iptal eder." +msgid "Color of article header lines" +msgstr "Makale baþlýk satýrlarýnýn rengi" -#: src/lang.c:1589 +#: src/lang.c:2183 #, fuzzy -msgid "Character to show readselected arts" -msgstr "Okunmuþ-seçilmiþ makaleleri gösteren karakter" +msgid "# Color of header-lines\n" + "# Default: 2 (green)\n" +msgstr "# Baþlýk-satýrlarýnýn rengi\n" -#: src/lang.c:1590 +#: src/lang.c:2189 #, fuzzy -msgid "# Character used to show that an art was selected before read (default ':')\n" - "# kill_level must be set accordingly, _ is turned into ' '\n" -msgstr "# Bir makalenin okunmadan seçildiðini göstermek için kullanýlan karakter " - "(varsayýlan ':')\n" - "# yok olma düzeyi ona göre ayarlanmalýdýr, _ þuna dönüþür ' '\n" +msgid "Color of actual news header fields" +msgstr "Aktüel habver baþlýlarý alanýnýn rengi" -#: src/lang.c:1595 +#: src/lang.c:2190 #, fuzzy -msgid "Enter maximum length of newsgroup names displayed. sets." -msgstr "Görünen haber gruplarýnýn en fazla uzunluðunu girin. ayarlar." +msgid "# Color of actual news header fields\n" + "# Default: 9 (light red)\n" +msgstr "# Aktüel haber baþlýklarý alanýnýn rengi\n" -#: src/lang.c:1596 +#: src/lang.c:2196 #, fuzzy -msgid "Max. length of group names shown" -msgstr "Gösterilen grup isimlerinin en fazla uzunluðu" +msgid "Color of article subject lines" +msgstr "Makale konu satýrlarýnýn rengi" -#: src/lang.c:1597 +#: src/lang.c:2197 #, fuzzy -msgid "# Maximum length of the names of newsgroups displayed\n" -msgstr "# Görünen haber gryplarýnýn isimlerinin en fazla uzunluðu\n" +msgid "# Color of article subject\n" + "# Default: 6 (cyan)\n" +msgstr "# Makale konusunun rengi\n" -#: src/lang.c:1602 +#: src/lang.c:2203 #, fuzzy -msgid "Show lines/score in listings" -msgstr "Listelerdeki satýrlarý/skoru göster" +msgid "Color of response counter" +msgstr "Yanýt sayacý rengi" -#: src/lang.c:1603 +#: src/lang.c:2204 #, fuzzy -msgid "# What informations should be displayed in article/thread listing\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = nothing\n" - "# * 1 = lines\n" - "# 2 = score\n" - "# 3 = lines & score\n" -msgstr "# Makale/parçacýk listelerinde hangi bilgiler gösterilmeli\n" - "# 0 = hiçbir þey, 1 = satýrlar, 2 = skor, 3 = satýrlar & skor\n" - -#: src/lang.c:1612 -#, fuzzy -msgid "0 = full page scrolling, -1 = show previous last line as first on next page, -" - "2 = half page" -msgstr "0 = tüm sayfa kaydýrýmý, -1 = önceki son satýrý bir sonraki sayfanýn ilk " - "satýrýnda göster, -2 = yarým sayfa" - -#: src/lang.c:1613 -#, fuzzy -msgid "Number of lines to scroll in pager" -msgstr "Sayfalayýcýda kaydýrýlan satýr sayýsý" - -#: src/lang.c:1614 -msgid "# Number of lines that cursor-up/down will scroll in article pager\n" - "# Possible values are (the default is marked with *):\n" - "# -2 = half-page scrolling\n" - "# -1 = the top/bottom line is carried over onto the next page\n" - "# 0 = page-by-page (traditional behavior)\n" - "# * 1 = line-by-line\n" - "# 2 or greater = scroll by 2 or more lines (only in the pager)\n" -msgstr "" - -#: src/lang.c:1624 -msgid "Display signatures. toggles & sets." -msgstr "" - -#: src/lang.c:1625 -#, fuzzy -msgid "Display signatures" -msgstr "Seçenekleri Göster" - -#: src/lang.c:1626 -msgid "# If OFF don't show signatures when displaying articles\n" -msgstr "" - -#: src/lang.c:1630 -msgid "Display uuencoded data as tagged attachments. toggles & sets." -msgstr "" - -#: src/lang.c:1631 -msgid "Display uue data as an attachment" -msgstr "" - -#: src/lang.c:1632 -msgid "# Handling of uuencoded data in the pager\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no, display raw uuencoded data\n" - "# 1 = yes, uuencoded data will be condensed to a single tag line showing\n" - "# size and filename, similar to how MIME attachments are displayed\n" - "# 2 = hide all, as for 1, but any line that looks like uuencoded data will\n" - "# be folded into a tag line.\n" -msgstr "" - -#: src/lang.c:1642 -msgid "Decode German style TeX umlaut codes to ISO. toggles & sets." -msgstr "" - -#: src/lang.c:1643 -msgid "Display \"a as Umlaut-a" -msgstr "" - -#: src/lang.c:1644 -msgid "# If ON decode German style TeX umlaut codes to ISO and\n" - "# show \"a as Umlaut-a, etc.\n" -msgstr "" - -#: src/lang.c:1649 src/lang.c:1659 -msgid "Space separated list of header fields" -msgstr "" - -#: src/lang.c:1650 -msgid "Display these header fields (or *)" -msgstr "" - -#: src/lang.c:1651 -msgid "# Which news headers you wish to see. If you want to see _all_ the headers,\n" - "# place an '*' as this value. This is the only way a wildcard can be used.\n" - "# If you enter 'X-' as the value, you will see all headers beginning with\n" - "# 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting " - "with\n" - "# spaces. Not defining anything turns off this option.\n" -msgstr "" - -#: src/lang.c:1660 -#, fuzzy -msgid "Do not display these header fields" -msgstr "Aktüel habver baþlýlarý alanýnýn rengi" - -#: src/lang.c:1661 -msgid "# Same as 'news_headers_to_display' except it denotes the opposite.\n" - "# An example of using both options might be if you thought X- headers were\n" - "# A Good Thing(tm), but thought Alan and Pape were miscreants...well then " - "you\n" - "# would do something like this:\n" - "# news_headers_to_display=X-\n" - "# news_headers_to_not_display=X-Alan X-Pape\n" - "# Not defining anything turns off this option.\n" -msgstr "" - -#: src/lang.c:1671 -msgid "Do you want to enable automatic handling of multipart/alternative articles?" -msgstr "" - -#: src/lang.c:1672 -msgid "Skip multipart/alternative parts" -msgstr "" - -#: src/lang.c:1673 -msgid "# If ON strip multipart/alternative messages automatically\n" -msgstr "" - -#: src/lang.c:1678 -msgid "A regex used to decide which lines to show in col_quote." -msgstr "" - -#: src/lang.c:1679 -msgid "Regex used to show quoted lines" -msgstr "" - -#: src/lang.c:1680 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted when viewing articles. Quoted lines are shown in col_quote.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1686 -msgid "A regex used to decide which lines to show in col_quote2." -msgstr "" - -#: src/lang.c:1687 -msgid "Regex used to show twice quoted l." -msgstr "" - -#: src/lang.c:1688 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted twice. Twice quoted lines are shown in col_quote2.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1694 -msgid "A regex used to decide which lines to show in col_quote3." -msgstr "" - -#: src/lang.c:1695 -msgid "Regex used to show >= 3 times q.l." -msgstr "" - -#: src/lang.c:1696 -msgid "# A regular expression that tin will use to decide which lines are\n" - "# quoted >=3 times. >=3 times quoted lines are shown in col_quote3.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1703 -msgid "A regex used to decide which words to show in col_markslashes." -msgstr "" - -#: src/lang.c:1704 -msgid "Regex used to highlight /slashes/" -msgstr "" - -#: src/lang.c:1705 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '/' are to be shown in col_markslashes.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1711 -msgid "A regex used to decide which words to show in col_markstars." -msgstr "" - -#: src/lang.c:1712 -msgid "Regex used to highlight *stars*" -msgstr "" - -#: src/lang.c:1713 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '*' are to be shown in col_markstars.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1719 -msgid "A regex used to decide which words to show in col_markstroke." -msgstr "" - -#: src/lang.c:1720 -#, fuzzy -msgid "Regex used to highlight -strokes-" -msgstr "-vuruþ- ile vurgulama rengi" - -#: src/lang.c:1721 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '-' are to be shown in col_markstroke.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1727 -msgid "A regex used to decide which words to show in col_markdash." -msgstr "" - -#: src/lang.c:1728 -msgid "Regex used to highlight _underline_" -msgstr "" - -#: src/lang.c:1729 -msgid "# A regular expression that tin will use to decide which words\n" - "# bounded by '_' are to be shown in col_markdash.\n" - "# If you leave this blank, tin will use a built in default.\n" -msgstr "" - -#: src/lang.c:1735 -msgid "A regex used to find Subject prefixes to remove. Use '|' as separator." -msgstr "" - -#: src/lang.c:1736 -msgid "Regex with Subject prefixes" -msgstr "" - -#: src/lang.c:1737 -msgid "# A regular expression that tin will use to find Subject prefixes\n" - "# which will be removed before showing the header.\n" -msgstr "" - -#: src/lang.c:1742 -msgid "A regex used to find Subject suffixes to remove. Use '|' as separator." -msgstr "" - -#: src/lang.c:1743 -msgid "Regex with Subject suffixes" -msgstr "" - -#: src/lang.c:1744 -msgid "# A regular expression that tin will use to find Subject suffixes\n" - "# which will be removed when replying or posting followup.\n" -msgstr "" - -#: src/lang.c:1749 -msgid "Enter name and options for external MIME viewer, --internal for built-in " - "viewer" -msgstr "" - -#: src/lang.c:1750 -msgid "MIME binary content viewer" -msgstr "" - -#: src/lang.c:1751 -msgid "# If --internal automatically use the built in MIME viewer for non-text\n" - "# parts of articles.\n" - "# Otherwise specify an external viewer program (eg, metamail) or leave blank\n" - "# for no automatic viewing\n" -msgstr "" - -#: src/lang.c:1758 -msgid "Confirm before starting non-text viewing program" -msgstr "" - -#: src/lang.c:1759 -msgid "Ask before using MIME viewer" -msgstr "" - -#: src/lang.c:1760 -msgid "# If ON tin will ask before using metamail to display MIME messages\n" - "# this only happens if metamail_prog is set to something\n" -msgstr "" - -#: src/lang.c:1765 -msgid "Ask to mark groups read when quitting. toggles & sets." -msgstr "" +msgid "# Color of response counter\n" + "# Default: 2 (green)\n" +msgstr "# Yanýt sayacý rengi\n" -#: src/lang.c:1766 -msgid "Catchup read groups when quitting" -msgstr "" - -#: src/lang.c:1767 -msgid "# If ON ask user if read groups should all be marked read\n" -msgstr "" - -#: src/lang.c:1772 -msgid "Catchup group using left key" -msgstr "" - -#: src/lang.c:1773 -msgid "# If ON catchup group/thread when leaving with the left arrow key.\n" -msgstr "" - -#: src/lang.c:1778 -msgid "Catchup thread by using left key" -msgstr "" - -#: src/lang.c:1784 -msgid "Which actions require confirmation" -msgstr "" - -#: src/lang.c:1785 -msgid "# What should we ask confirmation for.\n" -msgstr "" - -#: src/lang.c:1790 +#: src/lang.c:2210 #, fuzzy -msgid "'Mark article read' ignores tags" -msgstr "makaleyi okunmamýþ olarak iþaretle" +msgid "Color of sender (From:)" +msgstr "Gönderen (-den:) rengi" -#: src/lang.c:1791 +#: src/lang.c:2211 #, fuzzy -msgid "# If ON the 'Mark article read' function marks only the current article.\n" -msgstr "# ON durumundaysa 'makaleyi okunmuþ olarak iþaretle'" +msgid "# Color of sender (From:)\n" + "# Default: 2 (green)\n" +msgstr "# Gönderen (-den:) rengi\n" -#: src/lang.c:1795 +#: src/lang.c:2217 #, fuzzy -msgid "Program to run to open URL's, sets, cancels." -msgstr "URL açmak için çalýþtýrýlan program, ayarlar, iptal eder." +msgid "Color of help/mail sign" +msgstr "yardým/posta iþareti rengi" -#: src/lang.c:1796 +#: src/lang.c:2218 #, fuzzy -msgid "Program that opens URL's" -msgstr "URL açan program" +msgid "# Color of Help/Mail-Sign\n" + "# Default: 4 (blue)\n" +msgstr "# Yardým/Posta Ýþareti rengi\n" -#: src/lang.c:1797 +#: src/lang.c:2224 #, fuzzy -msgid "# The program used to open URL's. The actual URL will be appended\n" -msgstr "# Program URL açýyordu. Aktüel URL'ler sona eklenecek\n" +msgid "Color of signatures" +msgstr "Ýmza rengi" -#: src/lang.c:1802 +#: src/lang.c:2225 #, fuzzy -msgid "Use mouse in xterm" -msgstr "xterm2de fare kullan" +msgid "# Color of signature\n" + "# Default: 4 (blue)\n" +msgstr "# Ýmza rengi\n" -#: src/lang.c:1803 +#: src/lang.c:2231 #, fuzzy -msgid "# If ON enable mouse key support on xterm terminals\n" -msgstr "# ON durumundaysa xtrem uçbirimlerini destekleyen fare tuþunu etkinleþtir.\n" +msgid "Color of highlighted URLs" +msgstr "*yýldýz* ile vurgulama rengi" -#: src/lang.c:1809 -#, fuzzy -msgid "Use scroll keys on keypad" -msgstr "Klavye üzerinde kaydýrma tuþlarýný kullan" +#: src/lang.c:2232 +msgid "# Color of highlighted URLs\n" + "# Default: -1 (default color)\n" +msgstr "" -#: src/lang.c:1810 +#: src/lang.c:2238 #, fuzzy -msgid "# If ON enable scroll keys on terminals that support it\n" -msgstr "# ON durumunduysa uçbirimler tarafýndan desteklenen kaydýrma tuþlarýný " - "etkinleþtir\n" +msgid "Color of verbatim blocks" +msgstr "Metin satýrlarýnýn rengi" -#: src/lang.c:1815 +#: src/lang.c:2239 #, fuzzy -msgid "Enter maximum number of article to get. sets." -msgstr "Alýnacak makalenin max. sayýsýný yazýn. ayarlar." +msgid "# Color of verbatim blocks\n" + "# Default: 5 (pink)\n" +msgstr "# Makale konusunun rengi\n" -#: src/lang.c:1816 +#: src/lang.c:2245 #, fuzzy -msgid "Number of articles to get" -msgstr "Alýnacak makale sayýsý" +msgid "Color of highlighting with *stars*" +msgstr "*yýldýz* ile vurgulama rengi" -#: src/lang.c:1817 +#: src/lang.c:2246 #, fuzzy -msgid "# Number of articles to get (0=no limit), if negative sets maximum number\n" - "# of already read articles to be read before first unread one\n" -msgstr "# Alýnacak makale sayýsý (0= sýnýrsýz), eðer negatif max.sayýyý ayarlarsa\n" +msgid "# Color of word highlighting with *stars*\n" + "# Default: 11 (yellow)\n" +msgstr "# *yýldýz* ile vurgulama rengi\n" -#: src/lang.c:1822 +#: src/lang.c:2252 #, fuzzy -msgid "Enter number of days article is considered recent. sets." -msgstr "Makalenin yeni sayýlacaðý gün sayýsýný yazýn. ayarlar." +msgid "Color of highlighting with _dash_" +msgstr "_kesik çizgi_ ile vurgulama rengi" -#: src/lang.c:1823 +#: src/lang.c:2253 #, fuzzy -msgid "Article recentness time limit" -msgstr "Makalenin yenilik zaman sýnýrý" +msgid "# Color of word highlighting with _dash_\n" + "# Default: 13 (light pink)\n" +msgstr "# _kesik çizgi_ ile vurgulama rengi\n" -#: src/lang.c:1824 +#: src/lang.c:2259 #, fuzzy -msgid "# Number of days in which article is considered recent, (0=OFF)\n" -msgstr "# Makalenin yeni sayýldýðý gün sayýsý, (0=OFF)\n" +msgid "Color of highlighting with /slash/" +msgstr "/bölü/ ile vurgulama rengi" -#: src/lang.c:1828 +#: src/lang.c:2260 #, fuzzy -msgid "WILDMAT for normal wildcards, REGEX for full regular expression matching." -msgstr "WILDMAT normal jokerler, REGEX tam düzenli varsayým eþleþtirmeleri içindir." +msgid "# Color of word highlighting with /slash/\n" + "# Default: 14 (light cyan)\n" +msgstr "# /bölü/ ile vurgulama rengi\n" -#: src/lang.c:1829 +#: src/lang.c:2266 #, fuzzy -msgid "Wildcard matching" -msgstr "Joker eþleþtiriyor" +msgid "Color of highlighting with -stroke-" +msgstr "-vuruþ- ile vurgulama rengi" -#: src/lang.c:1830 -msgid "# Wildcard matching\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = wildmat\n" - "# 1 = regex\n" -msgstr "" - -#: src/lang.c:1837 +#: src/lang.c:2267 #, fuzzy -msgid "Enter minimal score before an article is marked killed. sets." -msgstr "Makale yok et olarak iþaretlenmeden önce minimal skoru yazýn. ayarlar." +msgid "# Color of word highlighting with -stroke-\n" + "# Default: 12 (light blue)\n" +msgstr "# -vuruþ- ile vurgulama rengi\n" -#: src/lang.c:1838 +#: src/lang.c:2274 #, fuzzy -msgid "Score limit (kill)" -msgstr "Sýnýrý skorla (yok et)" +msgid "Attr. of highlighting with *stars*" +msgstr "*yýldýz* ile vurgulama özniteliði" -#: src/lang.c:1839 +#: src/lang.c:2275 #, fuzzy -msgid "# Score limit before an article is marked killed\n" -msgstr "# Makale yok et olarak iþaretlendiðinde sýnýrý skorla\n" +msgid "# Attributes of word highlighting on mono terminals\n" + "# Possible values are:\n" + "# 0 = Normal\n" + "# 1 = Underline\n" + "# 2 = Best highlighting\n" + "# 3 = Reverse video\n" + "# 4 = Blinking\n" + "# 5 = Half bright\n" + "# 6 = Bold\n" + "\n" + "# Attribute of word highlighting with *stars*\n" + "# Default: 6 (bold)\n" +msgstr "# Tekli uçbirimlerde sözcük vurgulama özniteliði.\n" + "# Makalelerde dört olanak vardýr:\n" + "# *yýldýz*, /bölü/, _kesik çizgi_ and -vuruþ-.\n" + "Olasý deðerler\n" + "# 0 - Normal, 1 - Altýný çiz, 2 - En iyi vurgulama,\n" + "# 3 - Video ters çevir, 4 - Yanýp sönen, 5 - Yaý parlak, 6 - Koyu\n" -#: src/lang.c:1843 +#: src/lang.c:2290 #, fuzzy -msgid "Enter default score to kill articles. sets." -msgstr "Makaleleri yok etmke için varsayýlan skoru yazýn. ayarlar." +msgid "Attr. of highlighting with _dash_" +msgstr "_vuruþ_ ile vurgulama özniteliði" -#: src/lang.c:1844 -#, fuzzy -msgid "Default score to kill articles" -msgstr "Makaleleri yok etmke için skoru varsay" +#: src/lang.c:2291 +msgid "# Attribute of word highlighting with _dash_\n" + "# Default: 2 (best highlighting)\n" +msgstr "" -#: src/lang.c:1845 +#: src/lang.c:2297 #, fuzzy -msgid "# Default score to kill articles\n" -msgstr "# Makaleleri yok etmke için skoru varsay\n" +msgid "Attr. of highlighting with /slash/" +msgstr "/bölü/ ile vurgulama özniteliði" -#: src/lang.c:1849 +#: src/lang.c:2298 #, fuzzy -msgid "Enter minimal score before an article is marked hot. sets." -msgstr "Makale 'hot' olarak iþaretlenmeden önce minimum skoru yazýn. ayarlar." +msgid "# Attribute of word highlighting with /slash/\n" + "# Default: 5 (half bright)\n" +msgstr "# /bölü/ ile vurgulama özniteliði\n" -#: src/lang.c:1850 +#: src/lang.c:2304 #, fuzzy -msgid "Score limit (select)" -msgstr "Sýnýrý skorla (seç)" +msgid "Attr. of highlighting with -stroke-" +msgstr "-kesik çizgi- ile vurgulama özniteliði" -#: src/lang.c:1851 +#: src/lang.c:2305 #, fuzzy -msgid "# Score limit before an article is marked hot\n" -msgstr "# Makale 'hot! olarak iþaretlenmeden önce sýnýrý skorlayýn\n" +msgid "# Attribute of word highlighting with -stroke-\n" + "# Default: 3 (reverse video)\n" +msgstr "# -kesik çizgi- ile vurgulama özniteliði\n" -#: src/lang.c:1855 +#: src/lang.c:2311 #, fuzzy -msgid "Enter default score to select articles. sets." -msgstr "Makaleleri seçmek için varsayýlan skoru yazýn. ayarlar." +msgid "URL highlighting in message body" +msgstr "Ýleti gövdesinde vurgulana sözcük" -#: src/lang.c:1856 +#: src/lang.c:2312 #, fuzzy -msgid "Default score to select articles" -msgstr "Makaleleri seçmek için varsayýlan deðer" +msgid "# Enable URL highlighting?\n" +msgstr "# Sözcük vurgulamayý etkinlþetir?\n" -#: src/lang.c:1857 +#: src/lang.c:2317 #, fuzzy -msgid "# Default score to select articles\n" -msgstr "# Makaleleri seçmek için varsayýlan deðer\n" +msgid "Word highlighting in message body" +msgstr "Ýleti gövdesinde vurgulana sözcük" -#: src/lang.c:1863 +#: src/lang.c:2318 #, fuzzy -msgid "Use slrnface to show ''X-Face:''s" -msgstr "''X-Face:''s göstermek için slmface kullan" +msgid "# Enable word highlighting?\n" +msgstr "# Sözcük vurgulamayý etkinlþetir?\n" -#: src/lang.c:1864 +#: src/lang.c:2323 #, fuzzy -msgid "# If ON using slrnface(1) to interpret the ''X-Face:'' header.\n" - "# Only useful when running in an xterm.\n" -msgstr "# ON durmunduysa ''X-Face:'' baþlýðýný yorumlamak için slrnface(1) " - "kullanýlýyor.\n" - "# sadece xterm çalýþýtýrýlýrken yararlý.\n" +msgid "What to display instead of mark" +msgstr "Ýþaretin yerine ne gösterilmeli?" -#: src/lang.c:1872 +#: src/lang.c:2324 #, fuzzy -msgid "Use ANSI color" -msgstr "ANSI renk geçerli" +msgid "# Should the leading and ending stars and dashes also be displayed,\n" + "# even when they are highlighting marks?\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = no\n" + "# 1 = yes, display mark\n" + "# * 2 = print a space instead\n" +msgstr "# iþaretleri vurgulasalar bile?\n" + "# baþtaki ve sondaki yýldýzlar ve kesik çizgiler görüntülenmelidir\n" + "# 0 - hayýr 1 - evet, iþareti görüntüle 2 - boþluk býrak\n" -#: src/lang.c:1873 +#: src/lang.c:2333 #, fuzzy -msgid "# If ON using ANSI-color\n" -msgstr "# On durumundaysa ANSI-renk kullanýlýyor\n" +msgid "Enter column number to wrap article lines to in the pager. sets." +msgstr "Sayfalayýcýdaki makale satýrlarýný çevrelemek için sütun mumarasýný yazýn. " + " ayarlar." -#: src/lang.c:1878 +#: src/lang.c:2334 #, fuzzy -msgid "Standard foreground color" -msgstr "Standart önplan rengi" +msgid "Page line wrap column" +msgstr "Sayfa satýrý sütunu çevreliyor" -#: src/lang.c:1879 +#: src/lang.c:2335 #, fuzzy -msgid "# Standard foreground color\n" - "# Default: -1 (default color)\n" -msgstr "# Standart önplan rengi\n" +msgid "# Wrap article lines at column\n" +msgstr "# Sütundaki makale satýrlarýný çevrele\n" -#: src/lang.c:1885 +#: src/lang.c:2340 #, fuzzy -msgid "Standard background color" -msgstr "Standart arkaplan rengi" +msgid "Wrap around threads on next unread" +msgstr "Sonraki okunmayanda parçacýklarý çevrele" -#: src/lang.c:1886 +#: src/lang.c:2341 #, fuzzy -msgid "# Standard background color\n" - "# Default: -1 (default color)\n" -msgstr "# Standart arkaplan rengi\n" +msgid "# If ON wrap around threads on searching next unread article\n" +msgstr "# ON durumunduysa sonraki okunmayan makaleyi aramak için parçacýklarý " + "çevrele\n" -#: src/lang.c:1892 +#: src/lang.c:2345 #, fuzzy -msgid "Color for inverse text (background)" -msgstr "Çapraz metnin arkaplan rengi" +msgid "Enter default mail address (and fullname). sets." +msgstr "Varsayýlan posta adresini (ve tüm ismi) yaz, ayarlar." -#: src/lang.c:1893 +#: src/lang.c:2346 src/lang.c:2770 #, fuzzy -msgid "# Color of background for inverse text\n" - "# Default: 4 (blue)\n" -msgstr "# Çapraz metnin arkaplan rengi\n" +msgid "Mail address (and fullname)" +msgstr "Posta adresi (ile tüm isim)" -#: src/lang.c:1899 +#: src/lang.c:2347 #, fuzzy -msgid "Color for inverse text (foreground)" -msgstr "Çapraz metnin önplan rengi" +msgid "# User's mail address (and fullname), if not username@host (fullname)\n" +msgstr "# Kullanýcýnýn posta adresi (ile tüm ismi), deðilse kullanýcýadý@anasistem " + "(tüm isim)\n" -#: src/lang.c:1900 -#, fuzzy -msgid "# Color of foreground for inverse text\n" - "# Default: 7 (white)\n" -msgstr "# Çapraz metnin önplan rengi\n" +#: src/lang.c:2352 +msgid "Show empty Followup-To in editor" +msgstr "" -#: src/lang.c:1906 -#, fuzzy -msgid "Color of text lines" -msgstr "Metin satýrlarýnýn rengi" +#: src/lang.c:2353 +msgid "# If ON show empty Followup-To header when editing an article\n" +msgstr "" -#: src/lang.c:1907 -#, fuzzy -msgid "# Color of text lines\n" - "# Default: -1 (default color)\n" -msgstr "# Color of text lines\n" +#: src/lang.c:2357 +msgid "Enter path/! command/--none to create your default signature. sets." +msgstr "" -#: src/lang.c:1913 -#, fuzzy -msgid "Color of mini help menu" -msgstr "Mini yardým menüsünün rengi" +#: src/lang.c:2358 +msgid "Create signature from path/command" +msgstr "" + +#: src/lang.c:2359 +msgid "# Signature path (random sigs)/file to be used when posting/replying\n" + "# sigfile=file appends file as signature\n" + "# sigfile=!command executes external command to generate a signature\n" + "# sigfile=--none don't append a signature\n" +msgstr "" + +#: src/lang.c:2366 +msgid "Prepend signature with \"-- \" on own line. toggles & sets." +msgstr "" + +#: src/lang.c:2367 +msgid "Prepend signature with \"-- \"" +msgstr "" + +#: src/lang.c:2368 +msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" +msgstr "" + +#: src/lang.c:2372 +msgid "Add signature when reposting articles. toggles & sets." +msgstr "" + +#: src/lang.c:2373 +msgid "Add signature when reposting" +msgstr "" -#: src/lang.c:1914 -#, fuzzy -msgid "# Color of mini help menu\n" - "# Default: 3 (brown)\n" -msgstr "# Mini yardým menüsünün rengi\n" +#: src/lang.c:2374 +msgid "# If ON add signature to reposted articles\n" +msgstr "" -#: src/lang.c:1920 -#, fuzzy -msgid "Color of help text" -msgstr "Yardým sayfalarýnýn rengi" +#: src/lang.c:2378 +#, c-format +msgid "Enter quotation marks, %s or %S for author's initials." +msgstr "" -#: src/lang.c:1921 -msgid "# Color of help pages\n" - "# Default: -1 (default color)\n" -msgstr "" +#: src/lang.c:2379 +msgid "Characters used as quote-marks" +msgstr "" + +#: src/lang.c:2380 +#, fuzzy, c-format +msgid "# Characters used in quoting to followups and replies.\n" + "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" +msgstr "# Sonrakine geçerken ve cevaplarda kulanýlan karakterlerin gösterimi.\n" + "# '_' deðiþtirilir ' ', %%s, %%S yazar baþlýðý deðiþtirilir.\n" + +#: src/lang.c:2386 +#, fuzzy +msgid "Quoting behavior" +msgstr "Davranýþ göstermesi" + +#: src/lang.c:2387 +#, fuzzy +msgid "# How quoting should be handled when following up or replying.\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = Nothing special\n" + "# 1 = Compress quotes\n" + "# 2 = Quote signatures\n" + "# 3 = Compress quotes, quote signatures\n" + "# 4 = Quote empty lines\n" + "# * 5 = Compress quotes, quote empty lines\n" + "# 6 = Quote signatures, quote empty lines\n" + "# 7 = Compress quotes, quote signatures, quote empty lines\n" +msgstr "Diðerine geçerken yada cevap verirken görünüm nasýl olmalý.\n" + "# 0 = Normal\n" + "# 1 = Görünümleri sýkýþtýr\n" + "# 2 = Ýmzayý göster\n" + "# 3 = Görünümleri þýkýþtýr, imzalarý göster\n" + "# 4 = Boþ satýrlarý göster\n" + "# 5 = Görünümleri sýkýþtýr, boþ satýrlarý göster\n" + "# 6 = Ýmzalarý göster, boþ satýrlarý göster\n" + "# 7 = Görünümleri göster, imzalarý göster, boþ satýrlarý göster\n" + +#: src/lang.c:2400 src/lang.c:2408 src/lang.c:2414 +#, fuzzy +msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" +msgstr "%A Adres %D Tarih %F Adres+Ad %G Grupadý %M Ýleti-Kimliði %N Ad %C Ýlk Ad" + +#: src/lang.c:2401 +#, fuzzy +msgid "Quote line when following up" +msgstr "Sonrakine geçerken satýr göster" + +#: src/lang.c:2402 +#, fuzzy, c-format +msgid "# Format of quote line when mailing/posting/following-up an article\n" + "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" + "# %%N Full Name %%C First Name %%I Initials\n" +msgstr "# Bir makaleyi postalarken/gönderirken/diðerine geçerken görünüm satýrý " + "biçimleyiniz\n" + "# %%A Adres %%D Tarih %%F Adres+Ad %%G Grupadý %%M Ýleti-Kimliði\n" + "# %%N Tam Ad %%C Ýlk Adýnýz %%I Adýn baþ harfleri\n" -#: src/lang.c:1927 +#: src/lang.c:2409 #, fuzzy -msgid "Color of status messages" -msgstr "Durum iletilerinin rengi" +msgid "Quote line when cross-posting" +msgstr "Çapraz gönderirken satýrý göster" -#: src/lang.c:1928 +#: src/lang.c:2415 #, fuzzy -msgid "# Color of messages in last line\n" - "# Default: 6 (cyan)\n" -msgstr "# Son satýrdaki iletilerin rengi\n" +msgid "Quote line when mailing" +msgstr "posta gönderirken satýrý göster" -#: src/lang.c:1934 +#: src/lang.c:2420 #, fuzzy -msgid "Color of quoted lines" -msgstr "Ýmlenmiþ-satýr rengi" +msgid "If ON, include User-Agent: header. toggles & sets." +msgstr "ON durumdaysa, Kullanýcý-Etken baþlýðý ekleyiniz. toggles & " + "sets." -#: src/lang.c:1935 +#: src/lang.c:2421 #, fuzzy -msgid "# Color of quote-lines\n" - "# Default: 2 (green)\n" -msgstr "# Ýmlenmiþ-satýr rengi\n" +msgid "Insert 'User-Agent:' header" +msgstr "'User-Agent:'-baþlýk ekleyiniz" -#: src/lang.c:1941 +#: src/lang.c:2422 #, fuzzy -msgid "Color of twice quoted line" -msgstr "Çift imlenen satýrlarýn rengi" +msgid "# If ON include advertising User-Agent: header\n" +msgstr "# ON durumdaysa User-Agent ilanýný ekleyiniz: baþlýk\n" -#: src/lang.c:1942 +#: src/lang.c:2427 #, fuzzy -msgid "# Color of twice quoted lines\n" - "# Default: 3 (brown)\n" -msgstr "# Çift imlenen satýrlarýn rengi\n" +msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "(US-ASCII, ISO-8859-1, EUC-KR) Çok Amaçlý Internet Posta Uzantýlarý için " + "karakterküme ismini giriniz." -#: src/lang.c:1948 -#, fuzzy -msgid "Color of =>3 times quoted line" -msgstr "Ýmlenmiþ satýrda =>3 kat rengi" +#: src/lang.c:2428 +msgid "MM_CHARSET" +msgstr "" -#: src/lang.c:1949 +#: src/lang.c:2429 #, fuzzy -msgid "# Color of >=3 times quoted lines\n" - "# Default: 4 (blue)\n" -msgstr "# Ýmlenmiþ satýrlarda >=3 kat rengi\n" +msgid "# Charset supported locally which is also used for MIME header and\n" + "# Content-Type header.\n" + "# If not set, the value of the environment variable MM_CHARSET is used.\n" + "# Set to US-ASCII or compile time default if neither of them is defined.\n" + "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" + "# mm_charset is considered not displayable and represented as '?'.\n" +msgstr "# Karakterkümesi Çok Amaçlý Internet Posta Uzantýlarý baþlýklarý için de " + "yerel olarak desteklenmemktedir\n" + "# Ýçerik-Tür baþlýðý.\n" + "# Kurulmamýþsa, çevre deðerli MM_KARAKTERKÜMESÝ kullanýlýr.\n" + "# US-ASCII kümesi yada varsayýlan zamanýnýn tanýmý yoksa derleyiniz.\n" + "# Çok Amaçlý Internet Posta Uzantýlarý_STICT_KARAKTERKÜMESÝ doðru zamanda " + "tanýmlanmýþsa, diðer karakterkümesi\n" + "# mm_karakterkümesi görünemez ve gösteremez '?'.\n" -#: src/lang.c:1955 +#: src/lang.c:2439 #, fuzzy -msgid "Color of article header lines" -msgstr "Makale baþlýk satýrlarýnýn rengi" +msgid "MM_NETWORK_CHARSET" +msgstr "MM_AÐ_KARAKTERKÜMESÝ" -#: src/lang.c:1956 +#: src/lang.c:2440 #, fuzzy -msgid "# Color of header-lines\n" - "# Default: 2 (green)\n" -msgstr "# Baþlýk-satýrlarýnýn rengi\n" +msgid "# Charset used for MIME (Content-Type) header in postings.\n" +msgstr "# Çok Amaçlý Internet Posta Uzantýlarýn (içerik-tür) posta baþlýklarý için " + "kulanýlan karakter kümesi\n" -#: src/lang.c:1962 +#: src/lang.c:2444 #, fuzzy -msgid "Color of actual news header fields" -msgstr "Aktüel habver baþlýlarý alanýnýn rengi" +msgid "Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." +msgstr "(US-ASCII, ISO-8859-1, EUC-KR) Çok Amaçlý Internet Posta Uzantýlarý için " + "karakterküme ismini giriniz." -#: src/lang.c:1963 +#: src/lang.c:2445 #, fuzzy -msgid "# Color of actual news header fields\n" - "# Default: 9 (light red)\n" -msgstr "# Aktüel haber baþlýklarý alanýnýn rengi\n" +msgid "MM_LOCAL_CHARSET" +msgstr "MM_AÐ_KARAKTERKÜMESÝ" -#: src/lang.c:1969 -#, fuzzy -msgid "Color of article subject lines" -msgstr "Makale konu satýrlarýnýn rengi" +#: src/lang.c:2446 +msgid "# Charset supported locally.\n" +msgstr "" -#: src/lang.c:1970 +#: src/lang.c:2453 #, fuzzy -msgid "# Color of article subject\n" - "# Default: 6 (cyan)\n" -msgstr "# Makale konusunun rengi\n" +msgid "Mailbox format" +msgstr "posta kutusu" -#: src/lang.c:1976 +#: src/lang.c:2454 #, fuzzy -msgid "Color of response counter" -msgstr "Yanýt sayacý rengi" +msgid "# Format of the mailbox.\n" +msgstr "# Posta kutusunun biçimi.\n" -#: src/lang.c:1977 +#: src/lang.c:2459 #, fuzzy -msgid "# Color of response counter\n" - "# Default: 2 (green)\n" -msgstr "# Yanýt sayacý rengi\n" +msgid "MIME encoding in news messages" +msgstr "Yeni mesajlarda Çok Amaçlý Internet Posta Uzantýlarý kodla" -#: src/lang.c:1983 +#: src/lang.c:2460 #, fuzzy -msgid "Color of sender (From:)" -msgstr "Gönderen (-den:) rengi" +msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" + "# for mails and posts, if necessary. QP is efficient for most European\n" + "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" + "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" + "# Russian charsets with a lot of 8bit characters.\n" +msgstr "# Çok Amaçlý Internet Posta Uzantýlarý kodlayýcý (8bit, base64, quoted-" + "printable, 7bit)\n" + "# e-postalar için, gerektiðinde. QP European için yüksek verimlidir\n" + "# Karakter kümesi (ISO-8859-X) küçük iþaretli kesir US-ASCII karakterler\n" + "# Base64 8bit Doðu Asya ve Yunancadan daha yüksek verimlidir\n" + "# Rusça karakter kümesinin 8bit karakterler.\n" -#: src/lang.c:1984 +#: src/lang.c:2468 src/lang.c:2489 #, fuzzy -msgid "# Color of sender (From:)\n" - "# Default: 2 (green)\n" -msgstr "# Gönderen (-den:) rengi\n" +msgid "Don't change unless you know what you are doing. cancels." +msgstr "Ne yaptýðýný bilmiyorsan deðiþtirme. iptal eder." -#: src/lang.c:1990 +#: src/lang.c:2469 #, fuzzy -msgid "Color of help/mail sign" -msgstr "yardým/posta iþareti rengi" +msgid "Use 8bit characters in news headers" +msgstr "Yeni baþlýklarda 8bit karakter kullan." -#: src/lang.c:1991 +#: src/lang.c:2470 #, fuzzy -msgid "# Color of Help/Mail-Sign\n" - "# Default: 4 (blue)\n" -msgstr "# Yardým/Posta Ýþareti rengi\n" +msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in header are encoded regardless of the value of this\n" + "# parameter unless post_mime_encoding is 8bit as well.\n" +msgstr "# ON durumdaysa, 8bit karakterler yeni baþlýklarda kodlanmaz.\n" + "# varsayýlan OFF durumdaysa 8bit karakterler kodlanýr 8bit baþlýklardaki\n" + "# karakterlerin deðeri bakýlmadan kodlanýr\n" + "# Çok Amaçlý Internet Posta Uzantýlarý kodlamasý 8bit ise\n" -#: src/lang.c:1997 +#: src/lang.c:2477 #, fuzzy -msgid "Color of signatures" -msgstr "Ýmza rengi" +msgid "Auto-view post-processed files toggles, sets, cancels." +msgstr "Soniþemci dosyalarý otomatik olarak göster toggles, sets, " + "cancels." -#: src/lang.c:1998 +#: src/lang.c:2478 #, fuzzy -msgid "# Color of signature\n" - "# Default: 4 (blue)\n" -msgstr "# Ýmza rengi\n" +msgid "View post-processed files" +msgstr "Soniþlemci dosyalarý göster" -#: src/lang.c:2004 +#: src/lang.c:2479 #, fuzzy -msgid "Color of highlighted URLs" -msgstr "*yýldýz* ile vurgulama rengi" - -#: src/lang.c:2005 -msgid "# Color of highlighted URLs\n" - "# Default: -1 (default color)\n" -msgstr "" +msgid "# If set, post processed files will be opened in a viewer\n" +msgstr "# Kurulmuþsa, soniþlemci dosyalar görünüleyicide açýlacak\n" -#: src/lang.c:2011 +#: src/lang.c:2484 #, fuzzy -msgid "Color of highlighting with *stars*" -msgstr "*yýldýz* ile vurgulama rengi" +msgid "MIME encoding in mail messages" +msgstr "Çok Amaçlý Internet Posta Uzantýlarý posta iletilerinde kodla" -#: src/lang.c:2012 +#: src/lang.c:2490 #, fuzzy -msgid "# Color of word highlighting with *stars*\n" - "# Default: 11 (yellow)\n" -msgstr "# *yýldýz* ile vurgulama rengi\n" +msgid "Use 8bit characters in mail headers" +msgstr "Posta baþlýklarýnda 8bit karakter kullan" -#: src/lang.c:2018 +#: src/lang.c:2491 #, fuzzy -msgid "Color of highlighting with _dash_" -msgstr "_kesik çizgi_ ile vurgulama rengi" +msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" + "# default is OFF. Thus 8bit characters are encoded by default.\n" + "# 8bit chars in headers are encoded regardless of the value of this " + "parameter\n" + "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" + "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" + "# turn it ON unless you have some compelling reason.\n" +msgstr "# ON durumdaysa, 8bit karakterler posta baþlýklarýnda kodlanmaz\n" + "# 8bit baþlýklardaki karakterler parametrelerin deðeri bakýlmadan kodlanýr\n" + "# Çok Amaçlý Internet Posta Uzantýlarý kodlamasý 8bit deðilse. Dikkat ! RFC " + "2822\n" + "# posta baþlýklarýnda 8bit karakterleri yasaksa iptal önerilir HAYIR -e\n" + "# Çok önemli neden yoksa ON durumuna getir\n" -#: src/lang.c:2019 +#: src/lang.c:2501 #, fuzzy -msgid "# Color of word highlighting with _dash_\n" - "# Default: 13 (light pink)\n" -msgstr "# _kesik çizgi_ ile vurgulama rengi\n" - -#: src/lang.c:2025 -#, fuzzy -msgid "Color of highlighting with /slash/" -msgstr "/bölü/ ile vurgulama rengi" - -#: src/lang.c:2026 -#, fuzzy -msgid "# Color of word highlighting with /slash/\n" - "# Default: 14 (light cyan)\n" -msgstr "# /bölü/ ile vurgulama rengi\n" - -#: src/lang.c:2032 -#, fuzzy -msgid "Color of highlighting with -stroke-" -msgstr "-vuruþ- ile vurgulama rengi" - -#: src/lang.c:2033 -#, fuzzy -msgid "# Color of word highlighting with -stroke-\n" - "# Default: 12 (light blue)\n" -msgstr "# -vuruþ- ile vurgulama rengi\n" - -#: src/lang.c:2040 -#, fuzzy -msgid "Attr. of highlighting with *stars*" -msgstr "*yýldýz* ile vurgulama özniteliði" - -#: src/lang.c:2041 -#, fuzzy -msgid "# Attributes of word highlighting on mono terminals\n" - "# Possible values are:\n" - "# 0 = Normal\n" - "# 1 = Underline\n" - "# 2 = Best highlighting\n" - "# 3 = Reverse video\n" - "# 4 = Blinking\n" - "# 5 = Half bright\n" - "# 6 = Bold\n" - "\n" - "# Attribute of word highlighting with *stars*\n" - "# Default: 6 (bold)\n" -msgstr "# Tekli uçbirimlerde sözcük vurgulama özniteliði.\n" - "# Makalelerde dört olanak vardýr:\n" - "# *yýldýz*, /bölü/, _kesik çizgi_ and -vuruþ-.\n" - "Olasý deðerler\n" - "# 0 - Normal, 1 - Altýný çiz, 2 - En iyi vurgulama,\n" - "# 3 - Video ters çevir, 4 - Yanýp sönen, 5 - Yaý parlak, 6 - Koyu\n" +msgid "Strip blanks from ends of lines" +msgstr "Satýr sonu boþlarý yok et" -#: src/lang.c:2056 +#: src/lang.c:2502 #, fuzzy -msgid "Attr. of highlighting with _dash_" -msgstr "_vuruþ_ ile vurgulama özniteliði" - -#: src/lang.c:2057 -msgid "# Attribute of word highlighting with _dash_\n" - "# Default: 2 (best highlighting)\n" -msgstr "" +msgid "# If ON strip blanks from ends of lines for faster display on slow " + "terminals.\n" +msgstr "# ON durumdaysa yavaþ uçbirimde daha hýzlý görüntü için boþlarý yok et.\n" -#: src/lang.c:2063 +#: src/lang.c:2507 #, fuzzy -msgid "Attr. of highlighting with /slash/" -msgstr "/bölü/ ile vurgulama özniteliði" +msgid "If ON, use transliteration. toggles & sets." +msgstr "ON durumdaysa damga çevirisi kullan. toggles & sets." -#: src/lang.c:2064 +#: src/lang.c:2508 #, fuzzy -msgid "# Attribute of word highlighting with /slash/\n" - "# Default: 5 (half bright)\n" -msgstr "# /bölü/ ile vurgulama özniteliði\n" +msgid "Transliteration" +msgstr "Damga çevirisi" -#: src/lang.c:2070 +#: src/lang.c:2509 #, fuzzy -msgid "Attr. of highlighting with -stroke-" -msgstr "-kesik çizgi- ile vurgulama özniteliði" +msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" + "# be represented in the in the target character set, it can be approximated\n" + "# through one or several similarly looking characters.\n" +msgstr "# ON durumdaysa, //DAMGAÇEVÝRÝSÝ uzantýsý kullan. Karakterin yapamadýðýný\n" + "# daha büyük damga kümesi, yaklaþýk deðer verilebilir\n" + "# Bir veya daha fazla ayný karakter\n" -#: src/lang.c:2071 +#: src/lang.c:2517 #, fuzzy -msgid "# Attribute of word highlighting with -stroke-\n" - "# Default: 3 (reverse video)\n" -msgstr "# -kesik çizgi- ile vurgulama özniteliði\n" +msgid "Send you a Cc/Bcc automatically" +msgstr "Mektup kopyasý otomatik olarak kendine gönder." -#: src/lang.c:2077 +#: src/lang.c:2518 #, fuzzy -msgid "URL highlighting in message body" -msgstr "Ýleti gövdesinde vurgulana sözcük" +msgid "# Put your name in the Cc: and/or Bcc: field when mailing an article.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = No\n" + "# 1 = Cc\n" + "# 2 = Bcc\n" + "# 3 = Cc and Bcc\n" +msgstr "# Makale/parçacýk listelerinde hangi bilgiler gösterilmeli\n" + "# 0 = hiçbir þey, 1 = satýrlar, 2 = skor, 3 = satýrlar & skor\n" -#: src/lang.c:2078 +#: src/lang.c:2527 #, fuzzy -msgid "# Enable URL highlighting?\n" -msgstr "# Sözcük vurgulamayý etkinlþetir?\n" +msgid "Enter address elements about which you want to be warned. sets." +msgstr "uyarýlmak istediðin adres öðelerine gir sets." -#: src/lang.c:2083 +#: src/lang.c:2528 #, fuzzy -msgid "Word highlighting in message body" -msgstr "Ýleti gövdesinde vurgulana sözcük" +msgid "Spamtrap warning address parts" +msgstr "isteneyen e-mail posta uyarýsý" -#: src/lang.c:2084 +#: src/lang.c:2529 #, fuzzy -msgid "# Enable word highlighting?\n" -msgstr "# Sözcük vurgulamayý etkinlþetir?\n" +msgid "# A comma-delimited list of address-parts you want to be warned\n" + "# about when trying to reply by email.\n" +msgstr "# Uyarýlmak isiyorsan virgülle-sýnýrlanmýþ address-kýsýmlarýn listesini " + "göster\n" + "# e-posta ile cevap yazmak istediðin zaman\n" -#: src/lang.c:2089 +#: src/lang.c:2534 #, fuzzy -msgid "What to display instead of mark" -msgstr "Ýþaretin yerine ne gösterilmeli?" +msgid "Enter default number of days a filter entry will be valid. sets." +msgstr "Süz giriþin geçerli olacaðý varsayýlan günler sayýsýna gir sets." -#: src/lang.c:2090 +#: src/lang.c:2535 #, fuzzy -msgid "# Should the leading and ending stars and dashes also be displayed,\n" - "# even when they are highlighting marks?\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = no\n" - "# 1 = yes, display mark\n" - "# * 2 = print a space instead\n" -msgstr "# iþaretleri vurgulasalar bile?\n" - "# baþtaki ve sondaki yýldýzlar ve kesik çizgiler görüntülenmelidir\n" - "# 0 - hayýr 1 - evet, iþareti görüntüle 2 - boþluk býrak\n" +msgid "No. of days a filter entry is valid" +msgstr "Süz girdisinin geçerli günler sayýsý" -#: src/lang.c:2099 +#: src/lang.c:2536 #, fuzzy -msgid "Enter column number to wrap article lines to in the pager. sets." -msgstr "Sayfalayýcýdaki makale satýrlarýný çevrelemek için sütun mumarasýný yazýn. " - " ayarlar." +msgid "# Number of days a short term filter will be active\n" +msgstr "# Kýsa sürecek süzün aktif olacaðý günler sayýsý\n" -#: src/lang.c:2100 -#, fuzzy -msgid "Page line wrap column" -msgstr "Sayfa satýrý sütunu çevreliyor" +#: src/lang.c:2540 +msgid "Add posted articles to filter. toggles & sets." +msgstr "" -#: src/lang.c:2101 +#: src/lang.c:2541 #, fuzzy -msgid "# Wrap article lines at column\n" -msgstr "# Sütundaki makale satýrlarýný çevrele\n" +msgid "Add posted articles to filter" +msgstr "Gönderilen makaleleri süzgece ekle" -#: src/lang.c:2106 +#: src/lang.c:2542 #, fuzzy -msgid "Wrap around threads on next unread" -msgstr "Sonraki okunmayanda parçacýklarý çevrele" +msgid "# If ON add posted articles which start a new thread to filter for\n" + "# highlighting follow-ups\n" +msgstr "# ON durumduysa gönderilmiþ makaleleri ekle# highlighting follow-ups\n" -#: src/lang.c:2107 +#: src/lang.c:2546 #, fuzzy -msgid "# If ON wrap around threads on searching next unread article\n" -msgstr "# ON durumunduysa sonraki okunmayan makaleyi aramak için parçacýklarý " - "çevrele\n" +msgid "The directory where articles/threads are to be saved in mailbox format." +msgstr "makaleler/iç parçacýklarýn posta kutusu olarak kaydedilecek dizin." -#: src/lang.c:2111 +#: src/lang.c:2547 #, fuzzy -msgid "Enter default mail address (and fullname). sets." -msgstr "Varsayýlan posta adresini (ve tüm ismi) yaz, ayarlar." +msgid "Mail directory" +msgstr "Posta dizini" -#: src/lang.c:2112 +#: src/lang.c:2548 #, fuzzy -msgid "Mail address (and fullname)" -msgstr "Posta adresi (ile tüm isim)" +msgid "# (-m) directory where articles/threads are saved in mailbox format\n" +msgstr "# makaleler/iç parçacýklarýn posta kutusu olarak kaydetmek istediðin dizin\n" -#: src/lang.c:2113 +#: src/lang.c:2553 #, fuzzy -msgid "# User's mail address (and fullname), if not username@host (fullname)\n" -msgstr "# Kullanýcýnýn posta adresi (ile tüm ismi), deðilse kullanýcýadý@anasistem " - "(tüm isim)\n" - -#: src/lang.c:2118 -msgid "Show empty Followup-To in editor" -msgstr "" - -#: src/lang.c:2119 -msgid "# If ON show empty Followup-To header when editing an article\n" -msgstr "" - -#: src/lang.c:2123 -msgid "Enter path/! command/--none to create your default signature. sets." -msgstr "" - -#: src/lang.c:2124 -msgid "Create signature from path/command" -msgstr "" - -#: src/lang.c:2125 -msgid "# Signature path (random sigs)/file to be used when posting/replying\n" - "# default_sigfile=file appends file as signature\n" - "# default_sigfile=!command executes external command to generate a " - "signature\n" - "# default_sigfile=--none don't append a signature\n" -msgstr "" - -#: src/lang.c:2132 -msgid "Prepend signature with \"-- \" on own line. toggles & sets." -msgstr "" - -#: src/lang.c:2133 -msgid "Prepend signature with \"-- \"" -msgstr "" - -#: src/lang.c:2134 -msgid "# If ON prepend the signature with dashes '\\n-- \\n'\n" -msgstr "" +msgid "Save articles in batch mode (-S)" +msgstr "Makaleleri toplu moda kaydet (-S)" -#: src/lang.c:2138 -msgid "Add signature when reposting articles. toggles & sets." -msgstr "" - -#: src/lang.c:2139 -msgid "Add signature when reposting" -msgstr "" - -#: src/lang.c:2140 -msgid "# If ON add signature to reposted articles\n" -msgstr "" - -#: src/lang.c:2144 -#, c-format -msgid "Enter quotation marks, %s or %S for author's initials." -msgstr "" - -#: src/lang.c:2145 -msgid "Characters used as quote-marks" -msgstr "" - -#: src/lang.c:2146 -#, fuzzy, c-format -msgid "# Characters used in quoting to followups and replies.\n" - "# '_' is replaced by ' ', %%s, %%S are replaced by author's initials.\n" -msgstr "# Sonrakine geçerken ve cevaplarda kulanýlan karakterlerin gösterimi.\n" - "# '_' deðiþtirilir ' ', %%s, %%S yazar baþlýðý deðiþtirilir.\n" - -#: src/lang.c:2152 -#, fuzzy -msgid "Quoting behavior" -msgstr "Davranýþ göstermesi" - -#: src/lang.c:2153 -#, fuzzy -msgid "# How quoting should be handled when following up or replying.\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = Nothing special\n" - "# 1 = Compress quotes\n" - "# 2 = Quote signatures\n" - "# 3 = Compress quotes, quote signatures\n" - "# 4 = Quote empty lines\n" - "# * 5 = Compress quotes, quote empty lines\n" - "# 6 = Quote signatures, quote empty lines\n" - "# 7 = Compress quotes, quote signatures, quote empty lines\n" -msgstr "Diðerine geçerken yada cevap verirken görünüm nasýl olmalý.\n" - "# 0 = Normal\n" - "# 1 = Görünümleri sýkýþtýr\n" - "# 2 = Ýmzayý göster\n" - "# 3 = Görünümleri þýkýþtýr, imzalarý göster\n" - "# 4 = Boþ satýrlarý göster\n" - "# 5 = Görünümleri sýkýþtýr, boþ satýrlarý göster\n" - "# 6 = Ýmzalarý göster, boþ satýrlarý göster\n" - "# 7 = Görünümleri göster, imzalarý göster, boþ satýrlarý göster\n" - -#: src/lang.c:2166 src/lang.c:2174 src/lang.c:2180 +#: src/lang.c:2554 #, fuzzy -msgid "%A Addr %D Date %F Addr+Name %G Groupname %M Message-ID %N Name %C First Name" -msgstr "%A Adres %D Tarih %F Adres+Ad %G Grupadý %M Ýleti-Kimliði %N Ad %C Ýlk Ad" +msgid "# If ON articles/threads will be saved in batch mode when save -S\n" + "# or mail (-M/-N) is specified on the command line\n" +msgstr "# ON durumdaysa kaydeti bastýðýn zaman makaleler/iç parçacýklar\n" + "# toplu mode olarak kaydedilir\n" -#: src/lang.c:2167 +#: src/lang.c:2559 #, fuzzy -msgid "Quote line when following up" -msgstr "Sonrakine geçerken satýr göster" - -#: src/lang.c:2168 -#, fuzzy, c-format -msgid "# Format of quote line when mailing/posting/following-up an article\n" - "# %%A Address %%D Date %%F Addr+Name %%G Groupname %%M Message-ID\n" - "# %%N Full Name %%C First Name %%I Initials\n" -msgstr "# Bir makaleyi postalarken/gönderirken/diðerine geçerken görünüm satýrý " - "biçimleyiniz\n" - "# %%A Adres %%D Tarih %%F Adres+Ad %%G Grupadý %%M Ýleti-Kimliði\n" - "# %%N Tam Ad %%C Ýlk Adýnýz %%I Adýn baþ harfleri\n" +msgid "The directory where you want articles/threads saved." +msgstr "makeleleri7iç parçacýklarýný kaydetmek istediðin dizin." -#: src/lang.c:2175 +#: src/lang.c:2560 #, fuzzy -msgid "Quote line when cross-posting" -msgstr "Çapraz gönderirken satýrý göster" +msgid "Directory to save arts/threads in" +msgstr "iç parçacýklarýn kaydedildiði dizin" -#: src/lang.c:2181 +#: src/lang.c:2561 #, fuzzy -msgid "Quote line when mailing" -msgstr "posta gönderirken satýrý göster" +msgid "# Directory where articles/threads are saved\n" +msgstr "# Kaydedilmiþ makalelerin/iç parçacýklarýn olduðu dizin\n" -#: src/lang.c:2186 +#: src/lang.c:2565 #, fuzzy -msgid "If ON, include User-Agent: header. toggles & sets." -msgstr "ON durumdaysa, Kullanýcý-Etken baþlýðý ekleyiniz. toggles & " - "sets." +msgid "Auto save article/thread by Archive-name: header. toggles & sets." +msgstr "Arçivadý olarak makaleleri/iç parçacýklarý otomatik olarak kaydet: header. " + " toggles & sets." -#: src/lang.c:2187 +#: src/lang.c:2566 #, fuzzy -msgid "Insert 'User-Agent:'-header" -msgstr "'User-Agent:'-baþlýk ekleyiniz" +msgid "Use Archive-name: header for save" +msgstr "Arþiv ismi kullan: baþlýk kaydetme" -#: src/lang.c:2188 +#: src/lang.c:2567 #, fuzzy -msgid "# If ON include advertising User-Agent: header\n" -msgstr "# ON durumdaysa User-Agent ilanýný ekleyiniz: baþlýk\n" +msgid "# If ON articles/threads with Archive-name: in mail header will\n" + "# be automatically saved with the Archive-name & part/patch no.\n" +msgstr "# ON durumdaysa Arþiv ismi ile makaleleri/iç parçacýklarý: posta baþlýðý\n" + "# will Arþiv ismi &\n" -#: src/lang.c:2193 +#: src/lang.c:2572 #, fuzzy -msgid "Enter charset name for MIME (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set." -msgstr "(US-ASCII, ISO-8859-1, EUC-KR) Çok Amaçlý Internet Posta Uzantýlarý için " - "karakterküme ismini giriniz." - -#: src/lang.c:2194 -msgid "MM_CHARSET" -msgstr "" +msgid "Mark saved articles/threads as read. toggles, sets, " + "cancels." +msgstr "Kaydedilmiþ makaleleri /iç parçacýklarý okunmuþ olarak iþaretle. " + "büyük küçük harf, kümeler, iptal et." -#: src/lang.c:2195 +#: src/lang.c:2573 #, fuzzy -msgid "# Charset supported locally which is also used for MIME header and\n" - "# Content-Type header.\n" - "# If not set, the value of the environment variable MM_CHARSET is used.\n" - "# Set to US-ASCII or compile time default if neither of them is defined.\n" - "# If MIME_STRICT_CHARSET is defined at compile-time, charset other than\n" - "# mm_charset is considered not displayable and represented as '?'.\n" -msgstr "# Karakterkümesi Çok Amaçlý Internet Posta Uzantýlarý baþlýklarý için de " - "yerel olarak desteklenmemktedir\n" - "# Ýçerik-Tür baþlýðý.\n" - "# Kurulmamýþsa, çevre deðerli MM_KARAKTERKÜMESÝ kullanýlýr.\n" - "# US-ASCII kümesi yada varsayýlan zamanýnýn tanýmý yoksa derleyiniz.\n" - "# Çok Amaçlý Internet Posta Uzantýlarý_STICT_KARAKTERKÜMESÝ doðru zamanda " - "tanýmlanmýþsa, diðer karakterkümesi\n" - "# mm_karakterkümesi görünemez ve gösteremez '?'.\n" +msgid "Mark saved articles/threads as read" +msgstr "Kaydedilmiþ makaleleri /iç parçacýklarý okunmuþ olarak iþaretle" -#: src/lang.c:2205 +#: src/lang.c:2574 #, fuzzy -msgid "MM_NETWORK_CHARSET" -msgstr "MM_AÐ_KARAKTERKÜMESÝ" +msgid "# If ON mark articles that are saved as read\n" +msgstr "# ON durumdaysa kaydedilmiþ makaleleri okunmuþ olarak iþaretle\n" -#: src/lang.c:2206 +#: src/lang.c:2578 #, fuzzy -msgid "# Charset used for MIME (Content-Type) header in postings.\n" -msgstr "# Çok Amaçlý Internet Posta Uzantýlarýn (içerik-tür) posta baþlýklarý için " - "kulanýlan karakter kümesi\n" +msgid "Do post processing (eg. extract attachments) for saved articles." +msgstr "Kaydedilmiþ makaleler için iþlem gönder (örn. ekleri çýkart) for saved " + "articles." -#: src/lang.c:2212 +#: src/lang.c:2579 #, fuzzy -msgid "Mailbox format" -msgstr "posta kutusu" +msgid "Post process saved articles" +msgstr "Kaydedilmiþ makaleleri gönder" -#: src/lang.c:2213 +#: src/lang.c:2580 #, fuzzy -msgid "# Format of the mailbox.\n" -msgstr "# Posta kutusunun biçimi.\n" +msgid "# Perform post processing (saving binary attachments) from saved articles.\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no\n" + "# 1 = extract shell archives (shar) only\n" + "# 2 = yes\n" +msgstr "# Kaydedilmiþ makaleler gönderme iþlemini bitir.\n" + "# 0=(evet) 1=(hayýr) 2=(kabuk arþivleri bul (shar) only)\n" -#: src/lang.c:2218 +#: src/lang.c:2589 #, fuzzy -msgid "MIME encoding in news messages" -msgstr "Yeni mesajlarda Çok Amaçlý Internet Posta Uzantýlarý kodla" +msgid "Process only unread articles" +msgstr "Sadece okunmayan makaleleri iþle" -#: src/lang.c:2219 +#: src/lang.c:2590 #, fuzzy -msgid "# MIME encoding (8bit, base64, quoted-printable, 7bit) of the body\n" - "# for mails and posts, if necessary. QP is efficient for most European\n" - "# character sets (ISO-8859-X) with small fraction of non-US-ASCII chars,\n" - "# while Base64 is more efficient for most 8bit East Asian, Greek, and\n" - "# Russian charsets with a lot of 8bit characters.\n" -msgstr "# Çok Amaçlý Internet Posta Uzantýlarý kodlayýcý (8bit, base64, quoted-" - "printable, 7bit)\n" - "# e-postalar için, gerektiðinde. QP European için yüksek verimlidir\n" - "# Karakter kümesi (ISO-8859-X) küçük iþaretli kesir US-ASCII karakterler\n" - "# Base64 8bit Doðu Asya ve Yunancadan daha yüksek verimlidir\n" - "# Rusça karakter kümesinin 8bit karakterler.\n" - -#: src/lang.c:2227 src/lang.c:2248 -#, fuzzy -msgid "Don't change unless you know what you are doing. cancels." -msgstr "Ne yaptýðýný bilmiyorsan deðiþtirme. iptal eder." - -#: src/lang.c:2228 -#, fuzzy -msgid "Use 8bit characters in news headers" -msgstr "Yeni baþlýklarda 8bit karakter kullan." - -#: src/lang.c:2229 -#, fuzzy -msgid "# If ON, 8bit characters in news headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in header are encoded regardless of the value of this\n" - "# parameter unless post_mime_encoding is 8bit as well.\n" -msgstr "# ON durumdaysa, 8bit karakterler yeni baþlýklarda kodlanmaz.\n" - "# varsayýlan OFF durumdaysa 8bit karakterler kodlanýr 8bit baþlýklardaki\n" - "# karakterlerin deðeri bakýlmadan kodlanýr\n" - "# Çok Amaçlý Internet Posta Uzantýlarý kodlamasý 8bit ise\n" - -#: src/lang.c:2236 -#, fuzzy -msgid "Auto-view post-processed files toggles, sets, cancels." -msgstr "Soniþemci dosyalarý otomatik olarak göster toggles, sets, " - "cancels." +msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" +msgstr "# ON durumundaysa okunmamýþ makaleleri sadece kaydet/yazdýr/ilet/postala " + "(imlenmiþ makaleler hariç tutulur)\n" -#: src/lang.c:2237 +#: src/lang.c:2595 #, fuzzy -msgid "View post-processed files" -msgstr "Soniþlemci dosyalarý göster" +msgid "Print all or just part of header. toggles & sets." +msgstr "Baþlýðýn tümünü ya da bir kýsmýný yazdýr. deðiþtirir & ayarlar." -#: src/lang.c:2238 +#: src/lang.c:2596 #, fuzzy -msgid "# If set, post processed files will be opened in a viewer\n" -msgstr "# Kurulmuþsa, soniþlemci dosyalar görünüleyicide açýlacak\n" +msgid "Print all headers when printing" +msgstr "Yazdýrýrken tüm baþlýklarý yazdýr" -#: src/lang.c:2243 +#: src/lang.c:2597 #, fuzzy -msgid "MIME encoding in mail messages" -msgstr "Çok Amaçlý Internet Posta Uzantýlarý posta iletilerinde kodla" +msgid "# If ON print all of article header otherwise just the important lines\n" +msgstr "# On durumundaysa makale baþlýðýnýn tümünü deðilse sadece önemli olanlarý " + "yazdýr\n" -#: src/lang.c:2249 -#, fuzzy -msgid "Use 8bit characters in mail headers" -msgstr "Posta baþlýklarýnda 8bit karakter kullan" - -#: src/lang.c:2250 -#, fuzzy -msgid "# If ON, 8bit characters in mail headers are NOT encoded.\n" - "# default is OFF. Thus 8bit characters are encoded by default.\n" - "# 8bit chars in headers are encoded regardless of the value of this " - "parameter\n" - "# unless mail_mime_encoding is 8bit as well. Note that RFC 2822\n" - "# prohibits 8bit characters in mail headers so that you are advised NOT to\n" - "# turn it ON unless you have some compelling reason.\n" -msgstr "# ON durumdaysa, 8bit karakterler posta baþlýklarýnda kodlanmaz\n" - "# 8bit baþlýklardaki karakterler parametrelerin deðeri bakýlmadan kodlanýr\n" - "# Çok Amaçlý Internet Posta Uzantýlarý kodlamasý 8bit deðilse. Dikkat ! RFC " - "2822\n" - "# posta baþlýklarýnda 8bit karakterleri yasaksa iptal önerilir HAYIR -e\n" - "# Çok önemli neden yoksa ON durumuna getir\n" - -#: src/lang.c:2260 +#: src/lang.c:2601 #, fuzzy -msgid "Strip blanks from ends of lines" -msgstr "Satýr sonu boþlarý yok et" +msgid "The printer program with options that is to be used to print articles/threads." +msgstr "Makaleleri/parçacýklarý yazdýrmak için kullanýlacak seçenekli yazýcý programý." -#: src/lang.c:2261 +#: src/lang.c:2602 #, fuzzy -msgid "# If ON strip blanks from ends of lines for faster display on slow " - "terminals.\n" -msgstr "# ON durumdaysa yavaþ uçbirimde daha hýzlý görüntü için boþlarý yok et.\n" +msgid "Printer program with options" +msgstr "Seçenekli yazýcý programý" -#: src/lang.c:2266 +#: src/lang.c:2603 #, fuzzy -msgid "If ON, use transliteration. toggles & sets." -msgstr "ON durumdaysa damga çevirisi kullan. toggles & sets." +msgid "# Print program with parameters used to print articles/threads\n" +msgstr "# Makaleleri/iþ parçacýklarý yazdýrmak için parameterli yazýcý program " + "kullan\n" -#: src/lang.c:2267 +#: src/lang.c:2609 #, fuzzy -msgid "Transliteration" -msgstr "Damga çevirisi" +msgid "Force redraw after certain commands" +msgstr "Kesin komutlardan sonra ekrandaki çizimin yenilenmesini güçlendir" -#: src/lang.c:2268 +#: src/lang.c:2610 #, fuzzy -msgid "# If ON, use //TRANSLIT extension. This means that when a character cannot\n" - "# be represented in the in the target character set, it can be approximated\n" - "# through one or several similarly looking characters.\n" -msgstr "# ON durumdaysa, //DAMGAÇEVÝRÝSÝ uzantýsý kullan. Karakterin yapamadýðýný\n" - "# daha büyük damga kümesi, yaklaþýk deðer verilebilir\n" - "# Bir veya daha fazla ayný karakter\n" +msgid "# If ON a screen redraw will always be done after certain external commands\n" +msgstr "# ON durumdaysa ekrandaki çizimin yenilenmesi bazý dýþ komutlardan sonra " + "tamamlanacak\n" -#: src/lang.c:2275 +#: src/lang.c:2614 #, fuzzy -msgid "Send you a carbon copy automatically. toggles & sets." -msgstr "Mektup kopyasý otomatik olarak kendine gönder. toggles & sets." +msgid "Start editor with line offset. toggles, sets, cancels." +msgstr "Satýr kaydýrarak düzenleciyi baþlat. büyük küçük harf, kümeler, " + " iptal et." -#: src/lang.c:2276 +#: src/lang.c:2615 #, fuzzy -msgid "Send you a cc automatically" -msgstr "Mektup kopyasý otomatik olarak kendine gönder." +msgid "Start editor with line offset" +msgstr "Düzenleyiciyi satýr konumu ile baþlat" -#: src/lang.c:2277 +#: src/lang.c:2616 #, fuzzy -msgid "# If ON automatically put your name in the Cc: field when mailing an article\n" -msgstr "# ON durumdaysa otomatic olarak ismini mektup kopyasýna koy: Makaleyi " - "gönderirken alan yarat\n" +msgid "# If ON editor will be started with cursor offset into the file\n" + "# otherwise the cursor will be positioned at the first line\n" +msgstr "# ON düzenleyicir dosyadaki imleç kaydýrýcýlarda açýlacak\n" + "# aksi takdirde imleç ilk satýrda yer alacak\n" -#: src/lang.c:2281 +#: src/lang.c:2621 #, fuzzy -msgid "Send you a blind carbon copy automatically. toggles & sets." -msgstr "Gizli mektup kopyasý otomatik olarak kendine gönder." +msgid "Enter %E for editor, %F for filename, %N for line-number, to set." +msgstr "Düzenleyici için %E, dosya adý için %F, satýr numarasý için %N, kümelemek " + "için yazýn." -#: src/lang.c:2282 +#: src/lang.c:2622 #, fuzzy -msgid "Send you a blind cc automatically" -msgstr "Gizli mektup kopyasý otomatik olarak kendine gönder" +msgid "Invocation of your editor" +msgstr "Düzenleyicinizin yürütülmesi" -#: src/lang.c:2283 -#, fuzzy -msgid "# If ON automatically put your name in the Bcc: field when mailing an " - "article\n" -msgstr "# ON durumdaysa otomatic olarak ismini görünmeyen mektup kopyasýna koy: " - "Makaleyi gönderirken alan yarat\n" +#: src/lang.c:2623 +#, fuzzy, c-format +msgid "# Format of editor line including parameters\n" + "# %%E Editor %%F Filename %%N Linenumber\n" +msgstr "# Parametrelerle birlikte düzenleyici satýrý biçimi\n" + "# %%E Düzenleyici %%F Dosya adý %%N Satýr numarasý\n" -#: src/lang.c:2287 +#: src/lang.c:2628 #, fuzzy -msgid "Enter address elements about which you want to be warned. sets." -msgstr "uyarýlmak istediðin adres öðelerine gir sets." +msgid "Enter name and options for external-inews, --internal for internal inews" +msgstr "Dýþ inew programlarý için isim ve seçenekleri, --iç inew programlarý için " + "içseli girin" -#: src/lang.c:2288 +#: src/lang.c:2629 #, fuzzy -msgid "Spamtrap warning address parts" -msgstr "isteneyen e-mail posta uyarýsý" +msgid "External inews" +msgstr "Dýþ inew programlarý" -#: src/lang.c:2289 +#: src/lang.c:2630 #, fuzzy -msgid "# A comma-delimited list of address-parts you want to be warned\n" - "# about when trying to reply by email.\n" -msgstr "# Uyarýlmak isiyorsan virgülle-sýnýrlanmýþ address-kýsýmlarýn listesini " - "göster\n" - "# e-posta ile cevap yazmak istediðin zaman\n" +msgid "# If --internal use the built in mini inews for posting via NNTP\n" + "# otherwise use an external inews program\n" +msgstr "# Eðer --içsel ise NNTP yoluyla gönderim için yerleþik mini inew " + "programlarýný kullanýn\n" + "# deðilse bir dýþ inew programý kullanýn\n" -#: src/lang.c:2294 +#: src/lang.c:2634 #, fuzzy -msgid "Enter default number of days a filter entry will be valid. sets." -msgstr "Süz giriþin geçerli olacaðý varsayýlan günler sayýsýna gir sets." +msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." +msgstr "Posta gönderici için %M, konu için %S, gönderilen için %T, dosya adý için %F, " + "kümelemek için yazýn." -#: src/lang.c:2295 +#: src/lang.c:2635 #, fuzzy -msgid "No. of days a filter entry is valid" -msgstr "Süz girdisinin geçerli günler sayýsý" +msgid "Invocation of your mail command" +msgstr "Posta komutunuzun yürütülmesi" + +#: src/lang.c:2636 +#, fuzzy, c-format +msgid "# Format of mailer line including parameters\n" + "# %%M Mailer %%S Subject %%T To %%F Filename\n" + "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" + "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" +msgstr "# Parametrelerle birlikte gönderici satýrý biçimi\n" + "# %%M Gönderici %%S Konu %%T Gönderilen %%F Dosya adý\n" + "# ie. elmi göndericiniz olarak kullanmak için: elm -s \"%%S\" \"%%T\" < %%" + "F\n" + "# ie. elm etkileþimli : elm -i %%F -s \"%%S\" \"%%T\"\n" -#: src/lang.c:2296 +#: src/lang.c:2644 #, fuzzy -msgid "# Number of days a short term filter will be active\n" -msgstr "# Kýsa sürecek süzün aktif olacaðý günler sayýsý\n" +msgid "Use interactive mail reader" +msgstr "Etkileþimli posta okuyucu kullan" -#: src/lang.c:2300 -msgid "Add posted articles to filter. toggles & sets." -msgstr "" +#: src/lang.c:2645 +msgid "# Interactive mailreader\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = no interactive mailreader\n" + "# 1 = use interactive mailreader with headers in file\n" + "# 2 = use interactive mailreader without headers in file\n" +msgstr "" -#: src/lang.c:2301 +#: src/lang.c:2654 #, fuzzy -msgid "Add posted articles to filter" -msgstr "Gönderilen makaleleri süzgece ekle" +msgid "Remove ~/.article after posting" +msgstr "Kaldýr ~/.article sonra makale" -#: src/lang.c:2302 +#: src/lang.c:2655 #, fuzzy -msgid "# If ON add posted articles which start a new thread to filter for\n" - "# highlighting follow-ups\n" -msgstr "# ON durumduysa gönderilmiþ makaleleri ekle# highlighting follow-ups\n" +msgid "# If ON remove ~/.article after posting.\n" +msgstr "# ON durumundaysa kaldýr ~/.gönderimden sonra makale.\n" -#: src/lang.c:2306 -#, fuzzy -msgid "The directory where articles/threads are to be saved in mailbox format." -msgstr "makaleler/iç parçacýklarýn posta kutusu olarak kaydedilecek dizin." +#: src/lang.c:2661 +msgid "Use UTF-8 graphics (thrd tree etc.)" +msgstr "" -#: src/lang.c:2307 -#, fuzzy -msgid "Mail directory" -msgstr "Posta dizini" +#: src/lang.c:2662 +msgid "# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n" +msgstr "" -#: src/lang.c:2308 +#: src/lang.c:2667 #, fuzzy -msgid "# (-m) directory where articles/threads are saved in mailbox format\n" -msgstr "# makaleler/iç parçacýklarýn posta kutusu olarak kaydetmek istediðin dizin\n" +msgid "Filename for all posted articles, sets, no filename=do not save." +msgstr "Tüm gönderilen makaleler için dosya adý, ayarlar, dosya adý " + "yok=kaydetmeyin." -#: src/lang.c:2313 +#: src/lang.c:2668 #, fuzzy -msgid "Save articles in batch mode (-S)" -msgstr "Makaleleri toplu moda kaydet (-S)" +msgid "Filename for posted articles" +msgstr "Gönderilen makaleler için dosya adý" -#: src/lang.c:2314 +#: src/lang.c:2669 #, fuzzy -msgid "# If ON articles/threads will be saved in batch mode when save -S\n" - "# or mail (-M/-N) is specified on the command line\n" -msgstr "# ON durumdaysa kaydeti bastýðýn zaman makaleler/iç parçacýklar\n" - "# toplu mode olarak kaydedilir\n" +msgid "# Filename where to keep all postings (default posted)\n" + "# If no filename is set then postings will not be saved\n" +msgstr "# Postalarýn tutunacak dosyaadý (gönderilmiþ varsayýlan)\n" + "# Dosyaadý yoksa hiçbir posta kaydedilmeyecek\n" -#: src/lang.c:2319 +#: src/lang.c:2674 #, fuzzy -msgid "The directory where you want articles/threads saved." -msgstr "makeleleri7iç parçacýklarýný kaydetmek istediðin dizin." +msgid "Keep all failed articles in ~/dead.articles. toggles & sets." +msgstr "Baþarýsýz makaleleri tut ~/ölü.makale. büyük küçük harf & " + "kümeleri." -#: src/lang.c:2320 +#: src/lang.c:2675 #, fuzzy -msgid "Directory to save arts/threads in" -msgstr "iç parçacýklarýn kaydedildiði dizin" +msgid "Keep failed arts in ~/dead.articles" +msgstr "Baþarýsýz makaleleri tut ~/ölü.makale" -#: src/lang.c:2321 +#: src/lang.c:2676 #, fuzzy -msgid "# Directory where articles/threads are saved\n" -msgstr "# Kaydedilmiþ makalelerin/iç parçacýklarýn olduðu dizin\n" +msgid "# If ON keep all failed postings in ~/dead.articles\n" +msgstr "# If ON gönderilemeyen bütün postalarý tut ~/ölü.makale\n" -#: src/lang.c:2325 +#: src/lang.c:2680 #, fuzzy -msgid "Auto save article/thread by Archive-name: header. toggles & sets." -msgstr "Arçivadý olarak makaleleri/iç parçacýklarý otomatik olarak kaydet: header. " - " toggles & sets." +msgid "Do you want to strip unsubscribed groups from .newsrc" +msgstr "Abone olmayan gruplarý çýkart .newsrc" -#: src/lang.c:2326 +#: src/lang.c:2681 #, fuzzy -msgid "Use Archive-name: header for save" -msgstr "Arþiv ismi kullan: baþlýk kaydetme" +msgid "No unsubscribed groups in newsrc" +msgstr "Abone olmayan grup yok newsrc" -#: src/lang.c:2327 +#: src/lang.c:2682 #, fuzzy -msgid "# If ON articles/threads with Archive-name: in mail header will\n" - "# be automatically saved with the Archive-name & part/patch no.\n" -msgstr "# ON durumdaysa Arþiv ismi ile makaleleri/iç parçacýklarý: posta baþlýðý\n" - "# will Arþiv ismi &\n" +msgid "# If ON strip unsubscribed groups from newsrc\n" +msgstr "# If ON abone olmamýþ gruplarý çýkart newsrc\n" -#: src/lang.c:2332 +#: src/lang.c:2687 #, fuzzy -msgid "Mark saved articles/threads as read. toggles, sets, " - "cancels." -msgstr "Kaydedilmiþ makaleleri /iç parçacýklarý okunmuþ olarak iþaretle. " - "büyük küçük harf, kümeler, iptal et." +msgid "Remove bogus groups from newsrc" +msgstr "Bogus gruplarý kaldýr newsrc" -#: src/lang.c:2333 +#: src/lang.c:2688 #, fuzzy -msgid "Mark saved articles/threads as read" -msgstr "Kaydedilmiþ makaleleri /iç parçacýklarý okunmuþ olarak iþaretle" +msgid "# What to do with bogus groups in newsrc file\n" + "# Possible values are (the default is marked with *):\n" + "# * 0 = keep\n" + "# 1 = remove\n" + "# 2 = highlight with D on selection screen\n" +msgstr "# newsrc dosyasýnda olan bogus gruplara ne yapýlsýn\n" + "# 0=(Koru) 1=(Kaldýr) 2=(Highlight with D on selection screen).\n" -#: src/lang.c:2334 +#: src/lang.c:2696 #, fuzzy -msgid "# If ON mark articles that are saved as read\n" -msgstr "# ON durumdaysa kaydedilmiþ makaleleri okunmuþ olarak iþaretle\n" +msgid "Enter number of seconds until active file will be reread. sets." +msgstr "Aktif dosya tekrar okunana kadar saniye miktarýný girin. ayarlar." -#: src/lang.c:2338 +#: src/lang.c:2697 #, fuzzy -msgid "Do post processing (eg. extract attachments) for saved articles." -msgstr "Kaydedilmiþ makaleler için iþlem gönder (örn. ekleri çýkart) for saved " - "articles." +msgid "Interval in secs to reread active" +msgstr "yeniden etkin kýlma saniye aralýðý" -#: src/lang.c:2339 +#: src/lang.c:2698 #, fuzzy -msgid "Post process saved articles" -msgstr "Kaydedilmiþ makaleleri gönder" +msgid "# Time interval in seconds between rereading the active file (0=never)\n" +msgstr "# Aktif dosyalar okunurken saniyeler süren zaman aralýðý (0=asla)\n" -#: src/lang.c:2340 +#: src/lang.c:2703 #, fuzzy -msgid "# Perform post processing (saving binary attachments) from saved articles.\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no\n" - "# 1 = extract shell archives (shar) only\n" - "# 2 = yes\n" -msgstr "# Kaydedilmiþ makaleler gönderme iþlemini bitir.\n" - "# 0=(evet) 1=(hayýr) 2=(kabuk arþivleri bul (shar) only)\n" +msgid "Reconnect to server automatically" +msgstr "Sunucuya otomatik olarak baðlan" -#: src/lang.c:2349 +#: src/lang.c:2704 #, fuzzy -msgid "Process only unread articles" -msgstr "Sadece okunmayan makaleleri iþle" +msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" +msgstr "# ON konumunda ise baðlantý kesilirse NNTP sunucusuna otomatik olarak tekrar " + "baðlan\n" -#: src/lang.c:2350 +#: src/lang.c:2708 #, fuzzy -msgid "# If ON only save/print/pipe/mail unread articles (tagged articles excepted)\n" -msgstr "# ON durumundaysa okunmamýþ makaleleri sadece kaydet/yazdýr/ilet/postala " - "(imlenmiþ makaleler hariç tutulur)\n" +msgid "Create local copies of NNTP overview files. toggles & sets." +msgstr "NNTP giriþ sayfalarýnýn yerel kopyalarýný yarat. deðiþtirir & " + "ayarlar." -#: src/lang.c:2355 +#: src/lang.c:2709 #, fuzzy -msgid "Print all or just part of header. toggles & sets." -msgstr "Baþlýðýn tümünü ya da bir kýsmýný yazdýr. deðiþtirir & ayarlar." +msgid "Cache NNTP overview files locally" +msgstr "Að Haberleri Aktarma Protokolü önbelleði yerel olarak giriþ dosyalarý" -#: src/lang.c:2356 +#: src/lang.c:2710 #, fuzzy -msgid "Print all headers when printing" -msgstr "Yazdýrýrken tüm baþlýklarý yazdýr" +msgid "# If ON, create local copies of NNTP overview files.\n" +msgstr "# On durumundaysa, NNTP giriþ dosyalarýnýn yerel kopyalarýný yarat.\n" -#: src/lang.c:2357 +#: src/lang.c:2714 #, fuzzy -msgid "# If ON print all of article header otherwise just the important lines\n" -msgstr "# On durumundaysa makale baþlýðýnýn tümünü deðilse sadece önemli olanlarý " - "yazdýr\n" +msgid "Enter format string. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2361 -#, fuzzy -msgid "The printer program with options that is to be used to print articles/threads." -msgstr "Makaleleri/parçacýklarý yazdýrmak için kullanýlacak seçenekli yazýcý programý." +#: src/lang.c:2715 +msgid "Format string for display of dates" +msgstr "" -#: src/lang.c:2362 -#, fuzzy -msgid "Printer program with options" -msgstr "Seçenekli yazýcý programý" +#: src/lang.c:2716 +msgid "# Format string for date representation\n" +msgstr "" -#: src/lang.c:2363 -#, fuzzy -msgid "# Print program with parameters used to print articles/threads\n" -msgstr "# Makaleleri/iþ parçacýklarý yazdýrmak için parameterli yazýcý program " - "kullan\n" +#: src/lang.c:2722 +msgid "Unicode normalization form" +msgstr "" -#: src/lang.c:2369 -#, fuzzy -msgid "Force redraw after certain commands" -msgstr "Kesin komutlardan sonra ekrandaki çizimin yenilenmesini güçlendir" +#: src/lang.c:2723 +msgid "# Unicode normalization form\n" + "# Possible values are (the default is marked with *):\n" + "# 0 = None\n" + "# * 1 = NFKC\n" + "# 2 = NFKD\n" + "# 3 = NFC\n" + "# 4 = NFD\n" +msgstr "" -#: src/lang.c:2370 -#, fuzzy -msgid "# If ON a screen redraw will always be done after certain external commands\n" -msgstr "# ON durumdaysa ekrandaki çizimin yenilenmesi bazý dýþ komutlardan sonra " - "tamamlanacak\n" +#: src/lang.c:2735 +msgid "Render BiDi" +msgstr "" -#: src/lang.c:2374 -#, fuzzy -msgid "Start editor with line offset. toggles, sets, cancels." -msgstr "Satýr kaydýrarak düzenleciyi baþlat. büyük küçük harf, kümeler, " - " iptal et." +#: src/lang.c:2736 +msgid "# If ON, bi-directional text is rendered by tin\n" +msgstr "" -#: src/lang.c:2375 -#, fuzzy -msgid "Start editor with line offset" -msgstr "Düzenleyiciyi satýr konumu ile baþlat" +#: src/lang.c:2746 +msgid "Automatically GroupMarkUnselArtRead" +msgstr "" -#: src/lang.c:2376 +#: src/lang.c:2752 #, fuzzy -msgid "# If ON editor will be started with cursor offset into the file\n" - "# otherwise the cursor will be positioned at the first line\n" -msgstr "# ON düzenleyicir dosyadaki imleç kaydýrýcýlarda açýlacak\n" - "# aksi takdirde imleç ilk satýrda yer alacak\n" +msgid "Delete post-process files" +msgstr "Soniþlemci dosyalarý göster" -#: src/lang.c:2381 +#: src/lang.c:2757 #, fuzzy -msgid "Enter %E for editor, %F for filename, %N for line-number, to set." -msgstr "Düzenleyici için %E, dosya adý için %F, satýr numarasý için %N, kümelemek " - "için yazýn." +msgid "Filename for all mailed articles, sets, no filename=do not save." +msgstr "Tüm gönderilen makaleler için dosya adý, ayarlar, dosya adý " + "yok=kaydetmeyin." + +#: src/lang.c:2758 +msgid "Mailbox to save sent mails" +msgstr "" -#: src/lang.c:2382 +#: src/lang.c:2763 #, fuzzy -msgid "Invocation of your editor" -msgstr "Düzenleyicinizin yürütülmesi" +msgid "Set Followup-To: header to this group(s). sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2383 -#, fuzzy, c-format -msgid "# Format of editor line including parameters\n" - "# %%E Editor %%F Filename %%N Linenumber\n" -msgstr "# Parametrelerle birlikte düzenleyici satýrý biçimi\n" - "# %%E Düzenleyici %%F Dosya adý %%N Satýr numarasý\n" +#: src/lang.c:2764 +msgid "Followup-To: header" +msgstr "" -#: src/lang.c:2388 +#: src/lang.c:2769 #, fuzzy -msgid "Enter name and options for external-inews, --internal for internal inews" -msgstr "Dýþ inew programlarý için isim ve seçenekleri, --iç inew programlarý için " - "içseli girin" +msgid "Enter default mail address (and fullname). sets, cancels." +msgstr "Varsayýlan posta adresini (ve tüm ismi) yaz, ayarlar." -#: src/lang.c:2389 +#: src/lang.c:2776 #, fuzzy -msgid "External inews" -msgstr "Dýþ inew programlarý" +msgid "Path and options for ispell-like spell-checker. sets, cancels." +msgstr "URL açmak için çalýþtýrýlan program, ayarlar, iptal eder." -#: src/lang.c:2390 -#, fuzzy -msgid "# If --internal use the built in mini inews for posting via NNTP\n" - "# otherwise use an external inews program\n" -msgstr "# Eðer --içsel ise NNTP yoluyla gönderim için yerleþik mini inew " - "programlarýný kullanýn\n" - "# deðilse bir dýþ inew programý kullanýn\n" +#: src/lang.c:2777 +msgid "Ispell program" +msgstr "" -#: src/lang.c:2394 -#, fuzzy -msgid "Enter %M for mailer, %S for subject, %T for to, %F for filename, to set." -msgstr "Posta gönderici için %M, konu için %S, gönderilen için %T, dosya adý için %F, " - "kümelemek için yazýn." +#: src/lang.c:2783 +msgid "When group is a mailing list, send responses to this email address." +msgstr "" -#: src/lang.c:2395 +#: src/lang.c:2784 #, fuzzy -msgid "Invocation of your mail command" -msgstr "Posta komutunuzun yürütülmesi" +msgid "Mailing list address" +msgstr "Günlüðü postalýyor %s\n" -#: src/lang.c:2396 -#, fuzzy, c-format -msgid "# Format of mailer line including parameters\n" - "# %%M Mailer %%S Subject %%T To %%F Filename\n" - "# ie. to use elm as your mailer: elm -s \"%%S\" \"%%T\" < %%F\n" - "# ie. elm interactive : elm -i %%F -s \"%%S\" \"%%T\"\n" -msgstr "# Parametrelerle birlikte gönderici satýrý biçimi\n" - "# %%M Gönderici %%S Konu %%T Gönderilen %%F Dosya adý\n" - "# ie. elmi göndericiniz olarak kullanmak için: elm -s \"%%S\" \"%%T\" < %%" - "F\n" - "# ie. elm etkileþimli : elm -i %%F -s \"%%S\" \"%%T\"\n" +#: src/lang.c:2790 +msgid "Forward articles as attachement" +msgstr "" -#: src/lang.c:2404 -#, fuzzy -msgid "Use interactive mail reader" -msgstr "Etkileþimli posta okuyucu kullan" +#: src/lang.c:2795 +msgid "A comma separated list of MIME major/minor Content-Types. cancels." +msgstr "" -#: src/lang.c:2405 -msgid "# Interactive mailreader\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = no interactive mailreader\n" - "# 1 = use interactive mailreader with headers in file\n" - "# 2 = use interactive mailreader without headers in file\n" -msgstr "" +#: src/lang.c:2796 +msgid "Which MIME types will be saved" +msgstr "" -#: src/lang.c:2414 +#: src/lang.c:2801 #, fuzzy -msgid "Remove ~/.article after posting" -msgstr "Kaldýr ~/.article sonra makale" +msgid "Value of the Organization: header. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2415 -#, fuzzy -msgid "# If ON remove ~/.article after posting.\n" -msgstr "# ON durumundaysa kaldýr ~/.gönderimden sonra makale.\n" +#: src/lang.c:2802 +msgid "Organization: header" +msgstr "" -#: src/lang.c:2419 +#: src/lang.c:2807 #, fuzzy -msgid "Filename for all posted articles, sets, no filename=do not save." -msgstr "Tüm gönderilen makaleler için dosya adý, ayarlar, dosya adý " - "yok=kaydetmeyin." +msgid "Filename for saved articles. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2420 +#: src/lang.c:2808 #, fuzzy -msgid "Filename for posted articles" -msgstr "Gönderilen makaleler için dosya adý" +msgid "savefile" +msgstr "Dosyaadý kaydet> " -#: src/lang.c:2421 +#: src/lang.c:2813 src/lang.c:2837 #, fuzzy -msgid "# Filename where to keep all postings (default posted)\n" - "# If no filename is set then postings will not be saved\n" -msgstr "# Postalarýn tutunacak dosyaadý (gönderilmiþ varsayýlan)\n" - "# Dosyaadý yoksa hiçbir posta kaydedilmeyecek\n" - -#: src/lang.c:2426 -#, fuzzy -msgid "Keep all failed articles in ~/dead.articles. toggles & sets." -msgstr "Baþarýsýz makaleleri tut ~/ölü.makale. büyük küçük harf & " - "kümeleri." +msgid "Scope for the filter rule. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2427 +#: src/lang.c:2814 #, fuzzy -msgid "Keep failed arts in ~/dead.articles" -msgstr "Baþarýsýz makaleleri tut ~/ölü.makale" +msgid "Quick (1 key) select filter scope" +msgstr "Hýzlý seçenek süzü eklensin mi?" -#: src/lang.c:2428 +#: src/lang.c:2819 src/lang.c:2843 #, fuzzy -msgid "# If ON keep all failed postings in ~/dead.articles\n" -msgstr "# If ON gönderilemeyen bütün postalarý tut ~/ölü.makale\n" +msgid "Header for filter rule. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2432 -#, fuzzy -msgid "Do you want to strip unsubscribed groups from .newsrc" -msgstr "Abone olmayan gruplarý çýkart .newsrc" +#: src/lang.c:2820 +msgid "Quick (1 key) select filter header" +msgstr "" -#: src/lang.c:2433 +#: src/lang.c:2825 src/lang.c:2849 #, fuzzy -msgid "No unsubscribed groups in newsrc" -msgstr "Abone olmayan grup yok newsrc" +msgid "ON = case sensitive, OFF = ignore case. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2434 +#: src/lang.c:2826 #, fuzzy -msgid "# If ON strip unsubscribed groups from newsrc\n" -msgstr "# If ON abone olmamýþ gruplarý çýkart newsrc\n" +msgid "Quick (1 key) select filter case" +msgstr "Hýzlý seçenek süzü eklensin mi?" -#: src/lang.c:2439 +#: src/lang.c:2831 src/lang.c:2855 #, fuzzy -msgid "Remove bogus groups from newsrc" -msgstr "Bogus gruplarý kaldýr newsrc" +msgid "ON = expire, OFF = don't ever expire. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2440 -#, fuzzy -msgid "# What to do with bogus groups in newsrc file\n" - "# Possible values are (the default is marked with *):\n" - "# * 0 = keep\n" - "# 1 = remove\n" - "# 2 = highlight with D on selection screen\n" -msgstr "# newsrc dosyasýnda olan bogus gruplara ne yapýlsýn\n" - "# 0=(Koru) 1=(Kaldýr) 2=(Highlight with D on selection screen).\n" +#: src/lang.c:2832 +msgid "Quick (1 key) select filter expire" +msgstr "" -#: src/lang.c:2448 +#: src/lang.c:2838 #, fuzzy -msgid "Enter number of seconds until active file will be reread. sets." -msgstr "Aktif dosya tekrar okunana kadar saniye miktarýný girin. ayarlar." +msgid "Quick (1 key) kill filter scope" +msgstr "Öldürücü hýzlý süzü eklensin mi?" -#: src/lang.c:2449 -#, fuzzy -msgid "Interval in secs to reread active" -msgstr "yeniden etkin kýlma saniye aralýðý" +#: src/lang.c:2844 +msgid "Quick (1 key) kill filter header" +msgstr "" -#: src/lang.c:2450 +#: src/lang.c:2850 #, fuzzy -msgid "# Time interval in seconds between rereading the active file (0=never)\n" -msgstr "# Aktif dosyalar okunurken saniyeler süren zaman aralýðý (0=asla)\n" +msgid "Quick (1 key) kill filter case" +msgstr "Öldürücü hýzlý süzü eklensin mi?" -#: src/lang.c:2455 -#, fuzzy -msgid "Reconnect to server automatically" -msgstr "Sunucuya otomatik olarak baðlan" +#: src/lang.c:2856 +msgid "Quick (1 key) kill filter expire" +msgstr "" -#: src/lang.c:2456 -#, fuzzy -msgid "# If ON automatically reconnect to NNTP server if the connection is broken\n" -msgstr "# ON konumunda ise baðlantý kesilirse NNTP sunucusuna otomatik olarak tekrar " - "baðlan\n" +#: src/lang.c:2862 +msgid "Assume this charset if no charset declaration is present, to set." +msgstr "" -#: src/lang.c:2460 +#: src/lang.c:2863 #, fuzzy -msgid "Create local copies of NNTP overview files. toggles & sets." -msgstr "NNTP giriþ sayfalarýnýn yerel kopyalarýný yarat. deðiþtirir & " - "ayarlar." +msgid "UNDECLARED_CHARSET" +msgstr "MM_AÐ_KARAKTERKÜMESÝ" -#: src/lang.c:2461 +#: src/lang.c:2869 #, fuzzy -msgid "Cache NNTP overview files locally" -msgstr "Að Haberleri Aktarma Protokolü önbelleði yerel olarak giriþ dosyalarý" +msgid "Add this text at the start of the message body. sets, cancels." +msgstr "Sýralanmýþ makaleleri imlemek için karakter girin. ayarlar, iptal " + "eder." -#: src/lang.c:2462 +#: src/lang.c:2870 #, fuzzy -msgid "# If ON, create local copies of NNTP overview files.\n" -msgstr "# On durumundaysa, NNTP giriþ dosyalarýnýn yerel kopyalarýný yarat.\n" +msgid "X_Body" +msgstr "Kalýn" -#: src/lang.c:2466 +#: src/lang.c:2875 #, fuzzy -msgid "Enter format string. sets, cancels." -msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." - -#: src/lang.c:2467 -msgid "Format string for display of dates" -msgstr "" +msgid "Insert this header when posting. sets, cancels." +msgstr "Okunan makaleleri imlemek için karakter girin. yarlar, iptal eder." -#: src/lang.c:2468 -msgid "# Format string for date representation\n" -msgstr "" +#: src/lang.c:2876 +msgid "X_Headers" +msgstr "" -#: src/lang.c:2474 -msgid "Unicode normalization form" -msgstr "" - -#: src/lang.c:2475 -msgid "# Unicode normalization form\n" - "# Possible values are (the default is marked with *):\n" - "# 0 = None\n" - "# * 1 = NFKC\n" - "# 2 = NFKD\n" - "# 3 = NFC\n" - "# 4 = NFD\n" -msgstr "" - -#: src/lang.c:2487 -msgid "Render BiDi" -msgstr "" +#: src/lang.c:2881 +#, fuzzy +msgid "Automatically insert an X-Comment-To: header? toggles & sets." +msgstr "ON durumdaysa, Kullanýcý-Etken baþlýðý ekleyiniz. toggles & " + "sets." -#: src/lang.c:2488 -msgid "# If ON, bi-directional text is rendered by tin\n" -msgstr "" +#: src/lang.c:2882 +#, fuzzy +msgid "Insert 'X-Comment-To:' header" +msgstr "'X-Comment-To:'-baþlýk ekleyiniz" -#: src/misc.c:3750 +#: src/misc.c:3754 #, fuzzy, c-format -msgid "Version: %s %s release %s (\"%s\") %s %s\n" -msgstr "Sürüm: %s %s serbest býrak %s (\"%s\") %s %s\n" +msgid "Version: %s %s release %s (\"%s\") %s %s\n" +msgstr "Sürüm: %s %s serbest býrak %s (\"%s\") %s %s\n" -#: src/misc.c:3753 +#: src/misc.c:3757 #, fuzzy, c-format -msgid "Version: %s %s release %s (\"%s\")\n" -msgstr "Sürüm: %s %s serbest býrak %s (\"%s\")\n" +msgid "Version: %s %s release %s (\"%s\")\n" +msgstr "Sürüm: %s %s serbest býrak %s (\"%s\")\n" -#: src/newsrc.c:430 +#: src/newsrc.c:453 #, fuzzy -msgid "Unreachable?\n" -msgstr "Ulaþýlamaz?\n" +msgid "Unreachable?\n" +msgstr "Ulaþýlamaz?\n" -#: src/nntplib.c:824 +#: src/nntplib.c:819 #, fuzzy, c-format -msgid "\n" - "Server timed out, trying reconnect # %d\n" -msgstr "\n" - "Sunucu süresi doldu, tekrar baðlanmaya çalýþýyor # %d\n" +msgid "\n" + "Server timed out, trying reconnect # %d\n" +msgstr "\n" + "Sunucu süresi doldu, tekrar baðlanmaya çalýþýyor # %d\n" -#: src/nntplib.c:842 src/nntplib.c:1630 +#: src/nntplib.c:855 src/nntplib.c:1830 #, fuzzy -msgid "Rejoin current group\n" -msgstr "Þu anki gruba tekrar katýl\n" +msgid "Rejoin current group\n" +msgstr "Þu anki gruba tekrar katýl\n" -#: src/nntplib.c:849 src/nntplib.c:1637 +#: src/nntplib.c:863 src/nntplib.c:1838 #, fuzzy, c-format -msgid "Read (%s)\n" -msgstr "Oku (%s)\n" +msgid "Read (%s)\n" +msgstr "Oku (%s)\n" -#: src/nntplib.c:851 +#: src/nntplib.c:865 #, fuzzy, c-format -msgid "Resend last command (%s)\n" -msgstr "Son komutu tekrr yolla (%s)\n" +msgid "Resend last command (%s)\n" +msgstr "Son komutu tekrr yolla (%s)\n" -#. -#. * TODO: - store a hash value of the entire motd in the server-rc -#. * and only if it differs from the old value display the -#. * motd? -#. * - use some sort of pager? -#. * - -> lang.c -#. -#: src/nntplib.c:1769 -msgid "MOTD: " -msgstr "" +#: src/nntplib.c:1494 +msgid "CAPABILITIES did not announce READER" +msgstr "" -#: src/nrctbl.c:170 +#: src/nntplib.c:1979 +msgid "MOTD: " +msgstr "" + +#: src/nrctbl.c:175 #, c-format -msgid "couldn't expand %s\n" -msgstr "%s geniþletilemedi\n" +msgid "couldn't expand %s\n" +msgstr "%s geniþletilemedi\n" -#: src/post.c:1171 +#: src/post.c:1307 #, c-format -msgid "Line %d is longer than 998 octets and should be folded, but\n" - "encoding is neither set to %s nor to %s\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is neither set to %s nor to %s\n" +msgstr "" -#: src/post.c:1176 +#: src/post.c:1312 #, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" - "posting doesn't contain any 8bit chars and thus folding won't happen\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is set to %s without enabling MIME_BREAK_LONG_LINES or\n" + "posting doesn't contain any 8bit chars and thus folding won't happen\n" +msgstr "" -#: src/post.c:1178 +#: src/post.c:1314 #, c-format -msgid "Line %d is longer than 998 octets, and should be folded, but\n" - "encoding is not set to %s\n" -msgstr "" +msgid "Line %d is longer than 998 octets and should be folded, but\n" + "encoding is not set to %s\n" +msgstr "" -#: src/post.c:1993 +#: src/post.c:2278 #, fuzzy, c-format -msgid "Posting: %.*s ..." -msgstr "Gönderiliyor: %.*s ..." +msgid "Posting: %.*s ..." +msgstr "Gönderiliyor: %.*s ..." #. Check if okay to read -#: src/read.c:211 -msgid "Aborting read, please wait..." -msgstr "Okuma durduruluyor, lütfen bekleyin..." +#: src/read.c:197 +msgid "Aborting read, please wait..." +msgstr "Okuma durduruluyor, lütfen bekleyin..." -#: src/read.c:358 -msgid "Aborted read\n" -msgstr "Okuma durduruldu\n" +#: src/read.c:344 +msgid "Aborted read\n" +msgstr "Okuma durduruldu\n" -#: src/read.c:414 +#: src/read.c:399 #, fuzzy -msgid "Draining\n" -msgstr "Akaçlanma\n" +msgid "Draining\n" +msgstr "Akaçlanma\n" -#. Don't hash the initial '<' -#: src/refs.c:251 +#: src/refs.c:232 #, fuzzy -msgid "unchanged" -msgstr "deðiþtirilmedi" +msgid "unchanged" +msgstr "deðiþtirilmedi" -#: src/refs.c:609 +#: src/refs.c:599 #, fuzzy -msgid "[- Unavailable -]" -msgstr "[- Kullanýlamýyor -]" +msgid "[- Unavailable -]" +msgstr "[- Kullanýlamýyor -]" #. #. * preamble #. * TODO: -> lang.c #. -#: src/rfc2047.c:1201 +#: src/rfc2047.c:1287 #, c-format -msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" - "are reading this prefix, your mail reader probably has not yet been modified\n" - "to understand the new format, and some of what follows may look strange.\n" - "\n" -msgstr "" - -#: src/save.c:972 -msgid "bytes" -msgstr "bayt" - -#: src/select.c:379 -msgid "unread" -msgstr "okunmamýþ" - -#: src/select.c:379 -msgid "all" -msgstr "Hepsi" - -#: src/select.c:549 src/select.c:551 -msgid " R" -msgstr " R" +msgid "This message has been composed in the 'multipart/mixed' MIME-format. If you\n" + "are reading this prefix, your mail reader probably has not yet been modified\n" + "to understand the new format, and some of what follows may look strange.\n" + "\n" +msgstr "" + +#: src/save.c:1045 +msgid "bytes" +msgstr "bayt" + +#: src/select.c:378 +msgid "unread" +msgstr "okunmamýþ" + +#: src/select.c:378 +msgid "all" +msgstr "Hepsi" + +#: src/select.c:554 src/select.c:556 +msgid " R" +msgstr " R" + +#: src/xface.c:70 +#, fuzzy +msgid "Can't run slrnface: Not running in a xterm." +msgstr "Slrnface çalýþtýrýlamýyor: fifo isim oluþturulamadý." # TODO: use tin global 'homedir' instead? or even rcdir? -#. TODO: use tin global 'homedir' instead? or even rcdir? -#: src/xface.c:91 +#: src/xface.c:82 src/xface.c:93 src/xface.c:102 #, c-format -msgid "Can't run slrnface: Environment variable %s not found." -msgstr "Slrnface çalýþtýrýlamýyor: Çevre deðiþkeni %s bulunamadý." +msgid "Can't run slrnface: Environment variable %s not found." +msgstr "Slrnface çalýþtýrýlamýyor: Çevre deðiþkeni %s bulunamadý." -#: src/xface.c:99 src/xface.c:131 +#: src/xface.c:111 src/xface.c:143 #, fuzzy, c-format -msgid "Can't run slrnface: failed to create %s" -msgstr "Slrnface çalýþtýrýlamýyor: yaratým baþarýsýz %s" - -#: src/xface.c:109 -#, fuzzy -msgid "This directory is used to create named pipes for communication between\n" - "slrnface and its parent process. It should normally be empty because\n" - "the pipe is deleted right after it has been opened by both processes.\n" - "\n" - "File names generated by slrnface have the form \"hostname.pid\". It is\n" - "probably an error if they linger here longer than a fraction of a second.\n" - "\n" - "However, if the directory is mounted from an NFS server, you might see\n" - "special files created by your NFS server while slrnface is running.\n" - "Do not try to remove them.\n" -msgstr "Bu dizin slrnface ve ana iþlem arasýndaki iletiþimi saðlayan adý konmuþ\n" - " kanallarý yaratmak için kullanýlmaktadýr. Normalde boþ olmalý çünkü\n" - " kanal her iki iþlem tarafýndan açýldýktan hemen sonra silinir.\n" - "\n" - "Slrnface tarafýndan oluþturulan dosya isimleri þu biçimdedir: hostname.pid\". " - "Bu\n" - " muhtemelen saniyenin onda birinden bile fazla kalýnca oluþan bir hatadýr.\n" - "\n" - "Ancak dizin eðer NFS sunucusundan kurulduysa, slrnface çalýþýrken\n" - "NFS sunucunuzun yarattýðý özel dosyalari görebilirsiniz.\n" - "Kaldýrmaya çalýþmayýnýz.\n" - -#: src/xface.c:123 -#, fuzzy -msgid "Can't run slrnface: couldn't construct fifo name." -msgstr "Slrnface çalýþtýrýlamýyor: fifo isim oluþturulamadý." - -#: src/xface.c:162 +msgid "Can't run slrnface: failed to create %s" +msgstr "Slrnface çalýþtýrýlamýyor: yaratým baþarýsýz %s" + +#: src/xface.c:121 +#, fuzzy +msgid "This directory is used to create named pipes for communication between\n" + "slrnface and its parent process. It should normally be empty because\n" + "the pipe is deleted right after it has been opened by both processes.\n" + "\n" + "File names generated by slrnface have the form \"hostname.pid\". It is\n" + "probably an error if they linger here longer than a fraction of a second.\n" + "\n" + "However, if the directory is mounted from an NFS server, you might see\n" + "special files created by your NFS server while slrnface is running.\n" + "Do not try to remove them.\n" +msgstr "Bu dizin slrnface ve ana iþlem arasýndaki iletiþimi saðlayan adý konmuþ\n" + " kanallarý yaratmak için kullanýlmaktadýr. Normalde boþ olmalý çünkü\n" + " kanal her iki iþlem tarafýndan açýldýktan hemen sonra silinir.\n" + "\n" + "Slrnface tarafýndan oluþturulan dosya isimleri þu biçimdedir: hostname.pid\". " + "Bu\n" + " muhtemelen saniyenin onda birinden bile fazla kalýnca oluþan bir hatadýr.\n" + "\n" + "Ancak dizin eðer NFS sunucusundan kurulduysa, slrnface çalýþýrken\n" + "NFS sunucunuzun yarattýðý özel dosyalari görebilirsiniz.\n" + "Kaldýrmaya çalýþmayýnýz.\n" + +#: src/xface.c:135 +#, fuzzy +msgid "Can't run slrnface: couldn't construct fifo name." +msgstr "Slrnface çalýþtýrýlamýyor: fifo isim oluþturulamadý." + +#: src/xface.c:174 #, fuzzy, c-format -msgid "Slrnface abnormally exited, code %d." -msgstr "Slrnface beklenmedik þekilde sonlandýrýldý, kod %d." +msgid "Slrnface abnormally exited, code %d." +msgstr "Slrnface beklenmedik þekilde sonlandýrýldý, kod %d." -#: src/xface.c:206 +#: src/xface.c:218 #, fuzzy, c-format -msgid "Slrnface failed: %s." -msgstr "Slrnface baþarýsýz: %s." +msgid "Slrnface failed: %s." +msgstr "Slrnface baþarýsýz: %s." + +#, fuzzy +#~ msgid "mark selected articles as read" +#~ msgstr "makaleyi okunmamýþ olarak iþaretle" + +#, fuzzy +#~ msgid "Mark %s=tagged articles, %s=current article, %s=quit: " +#~ msgstr "Ýþaretle %s=etiketlenen makaleler, %s=mevcut makale, %s=çýk: " + +#, fuzzy +#~ msgid "Mark %s=tagged articles/threads, %s=current thread, %s=quit: " +#~ msgstr "Ýþaretle %s=etiketlenen makale7parçacýklar, %s= mevcut parçacýk, %" +#~ "s=çýk: " + +#, fuzzy +#~ msgid "Thread range" +#~ msgstr "en küçük yürütme birimi aralýðý" + +#, fuzzy +#~ msgid "Send you a carbon copy automatically. toggles & sets." +#~ msgstr "Mektup kopyasý otomatik olarak kendine gönder. toggles & " +#~ "sets." + +#, fuzzy +#~ msgid "# If ON automatically put your name in the Cc: field when mailing an " +#~ "article\n" +#~ msgstr "# ON durumdaysa otomatic olarak ismini mektup kopyasýna koy: Makaleyi " +#~ "gönderirken alan yarat\n" + +#, fuzzy +#~ msgid "Send you a blind carbon copy automatically. toggles & " +#~ "sets." +#~ msgstr "Gizli mektup kopyasý otomatik olarak kendine gönder." + +#, fuzzy +#~ msgid "Send you a blind cc automatically" +#~ msgstr "Gizli mektup kopyasý otomatik olarak kendine gönder" + +#, fuzzy +#~ msgid "# If ON automatically put your name in the Bcc: field when mailing an " +#~ "article\n" +#~ msgstr "# ON durumdaysa otomatic olarak ismini görünmeyen mektup kopyasýna " +#~ "koy: Makaleyi gönderirken alan yarat\n" diff -Nurp --exclude='.bzr*' tin-1.8.3/src/Makefile.in tin-2.0.0/src/Makefile.in --- tin-1.8.3/src/Makefile.in 2006-05-04 10:19:04.000000000 +0200 +++ tin-2.0.0/src/Makefile.in 2011-05-03 15:20:34.645890152 +0200 @@ -1,9 +1,9 @@ # Source Makefile for tin # - for configuration options read the ../doc/INSTALL file. # -# Updated: 2005-07-02 +# Updated: 2011-05-03 # -# Copyright (c) 1995-2005 Thomas E. Dickey +# Copyright (c) 1995-2011 Thomas E. Dickey # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -50,13 +50,13 @@ PRELIB = @LIB_PREFIX@ x = @EXEEXT@ o = .@OBJEXT@ -DEBUG = @ENABLE_DEBUG@ -DDEBUG #-DDEBUG_NEWSRC -DPROFILE -DDEBUG_REFS -CANLOCK = # -DUSE_CANLOCK # -DEVIL_INSIDE +DEBUG = @ENABLE_DEBUG@ -DDEBUG #-DPROFILE +FEATURES = # -DEVIL_INSIDE INTL_CPPFLAGS = -DLOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" PCRE_CPPFLAGS = @PCREDIR_CPPFLAGS@ @PCREDIR_MAKE@ -I$(top_builddir)/pcre -I$(top_srcdir)/pcre -CPPFLAGS = @DEFS@ -I. -I../include $(PCRE_CPPFLAGS) $(INTL_CPPFLAGS) -I$(INCDIR) $(DEBUG) $(CANLOCK) @CPPFLAGS@ +CPPFLAGS = @DEFS@ -I. -I../include $(PCRE_CPPFLAGS) $(INTL_CPPFLAGS) -I$(INCDIR) $(DEBUG) $(FEATURES) @CPPFLAGS@ CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ @@ -69,11 +69,11 @@ BUILD_LDFLAGS = @BUILD_LDFLAGS@ BUILD_LIBS = @BUILD_LIBS@ X = $(BUILD_EXEEXT) -CANLIB = # -L../libcanlock -lcanlock +CANLIB = @CANLIBS@ INTL_LIBS = @INTLLIBS@ PCRE_LIBS = @PCREDIR_LIBS@ @PCREDIR_MAKE@ -L../pcre -lpcre LIBS = @LIBS@ -LINK_LIBS = $(PCRE_LIBS) $(CANLIB) @LIBS@ @INN_NNTPLIB@ $(INTL_LIBS) +LINK_LIBS = $(PCRE_LIBS) $(CANLIB) @LIBS@ $(INTL_LIBS) # Where do you want the binary & manual page installed? DESTDIR = @DESTDIR@ @@ -84,7 +84,8 @@ INS_MANUAL_EXT = 1 INS_OLD_SUFFIX = old # Project -PROJECT = @PACKAGE@ +PROJECT = `echo @PACKAGE@|sed '@program_transform_name@'` +PROJEXE = $(PROJECT)$x EXE = @PACKAGE@$x VER = @VERSION@ @@ -118,6 +119,7 @@ HFILES = \ ../include/autoconf.h \ $(INCDIR)/bool.h \ $(INCDIR)/bugrep.h \ + $(INCDIR)/debug.h \ $(INCDIR)/extern.h \ $(INCDIR)/keymap.h \ $(INCDIR)/newsrc.h \ @@ -131,7 +133,6 @@ HFILES = \ $(INCDIR)/tinrc.h \ $(INCDIR)/tnntp.h \ $(INCDIR)/version.h -# $(INCDIR)/config.h CFILES = \ $(SRCDIR)/active.c \ @@ -155,6 +156,7 @@ CFILES = \ $(SRCDIR)/help.c \ $(SRCDIR)/inews.c \ $(SRCDIR)/init.c \ + $(SRCDIR)/joinpath.c \ $(SRCDIR)/keymap.c \ $(SRCDIR)/lang.c \ $(SRCDIR)/langinfo.c \ @@ -205,7 +207,8 @@ EXTRAOBJS = @EXTRAOBJS@ EXTRA_INTLLIBS = @INTLDIR_MAKE@ @INTLLIBS@ EXTRA_PCREHDRS = @PCREDIR_MAKE@ ../pcre/pcre.h EXTRA_PCRELIBS = @PCREDIR_MAKE@ ../pcre/$(PRELIB)pcre.a -EXTRALIBS = $(EXTRA_INTLLIBS) $(EXTRA_PCRELIBS) +EXTRA_CANLIBS = @CANDIR_MAKE@ ../libcanlock/$(PRELIB)canlock.a +EXTRALIBS = $(EXTRA_INTLLIBS) $(EXTRA_PCRELIBS) $(EXTRA_CANLIBS) OFILES = @ALLOCA@ $(EXTRAOBJS) \ $(OBJDIR)/active$o \ @@ -275,23 +278,20 @@ OFILES = @ALLOCA@ $(EXTRAOBJS) \ $(OBJDIR)/xface$o \ $(OBJDIR)/xref$o -ALL_FILES = $(HFILES) $(CFILES) $(NNTP) +ALL_FILES = $(HFILES) $(CFILES) -LINTFLAGS = -a -c -h -n -x $(CPPFLAGS) -I/usr/local/include/ \ - -DUSE_ISO2ASC=\"2\" \ - -DHAVE_ISPELL \ - -DHAVE_COLOR +LINTFLAGS = @LINTFLAGS@ $(CPPFLAGS) all : $(BINDIR)/$(EXE) .SUFFIXES : .i .c$o : -@SHOW_CC@ + @SHOW_CC@ @ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) -c $(srcdir)/$*.c .c.i : -@SHOW_CC@ + @SHOW_CC@ @ECHO_CC@$(CPP) -C $(CPPFLAGS) $*.c >$@ # explicit rules to allow running lint, and to accommodate older 'make' programs @@ -299,7 +299,7 @@ $(OBJDIR)/parsdate$o : $(SRCDIR)/parsdat @$(ECHO) "expect 6 shift/reduce conflicts ..." $(YACC) $(SRCDIR)/parsdate.y $(MV) -f y.tab.c $(OBJDIR)/parsdate.c -@SHOW_CC@ + @SHOW_CC@ @ECHO_CC@$(CC) $(CPPFLAGS) $(CFLAGS) -c $(OBJDIR)/parsdate.c $(OBJDIR)/parsdate.c : $(SRCDIR)/parsdate.y @@ -329,7 +329,7 @@ $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_ $(DESTDIR)$(INS_MANUAL_DIR)5 \ $(DESTDIR)$(INS_BINARY_DIR) \ $(DESTDIR)$(INS_SYSDEF_DIR) : - $(top_srcdir)/mkdirs.sh $@ + mkdir -p $@ install_manpage : $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT) $(DESTDIR)$(INS_MANUAL_DIR)5 @$(ECHO) "Installing $(PROJECT) manual pages to $(DESTDIR)$(INS_MANUAL_DIR) ..." @@ -361,37 +361,40 @@ uninstall_sysdefs : install_helpers : $(DESTDIR)$(INS_BINARY_DIR) $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT) @$(ECHO) "Installing helper applications ..." - @-if test ! -f $(DESTDIR)$(INS_BINARY_DIR)/url_handler.sh ; then $(INSTALL) -m 755 $(TOLDIR)/url_handler.sh $(DESTDIR)$(INS_BINARY_DIR)/url_handler.sh ; fi @-if test ! -f $(DESTDIR)$(INS_BINARY_DIR)/metamutt ; then $(INSTALL) -m 755 $(TOLDIR)/metamutt $(DESTDIR)$(INS_BINARY_DIR)/metamutt ; fi @$(INSTALL) -m 755 $(TOLDIR)/w2r.pl $(DESTDIR)$(INS_BINARY_DIR)/w2r.pl @$(INSTALL) -m 755 $(TOLDIR)/opt-case.pl $(DESTDIR)$(INS_BINARY_DIR)/opt-case.pl @$(INSTALL) -m 755 $(TOLDIR)/tinews.pl $(DESTDIR)$(INS_BINARY_DIR)/tinews.pl + @$(INSTALL) -m 755 $(TOLDIR)/url_handler.pl $(DESTDIR)$(INS_BINARY_DIR)/url_handler.pl @$(INSTALL) -m 444 $(DOCDIR)/w2r.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/w2r.pl.$(INS_MANUAL_EXT) @$(INSTALL) -m 444 $(DOCDIR)/opt-case.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/opt-case.pl.$(INS_MANUAL_EXT) @$(INSTALL) -m 444 $(DOCDIR)/tinews.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/tinews.pl.$(INS_MANUAL_EXT) + @$(INSTALL) -m 444 $(DOCDIR)/url_handler.1 $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/url_handler.pl.$(INS_MANUAL_EXT) uninstall_helpers : @$(ECHO) "Removing helper applications ..." @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/w2r.pl @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/opt-case.pl @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/tinews.pl + @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/url_handler.pl @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/w2r.pl.$(INS_MANUAL_EXT) @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/opt-case.pl.$(INS_MANUAL_EXT) @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/tinews.pl.$(INS_MANUAL_EXT) + @-$(RM) -f $(DESTDIR)$(INS_MANUAL_DIR)$(INS_MANUAL_EXT)/url_handler.pl.$(INS_MANUAL_EXT) install : $(DESTDIR)$(INS_BINARY_DIR) @$(MAKE) all - @$(ECHO) "Installing $(EXE) v$(VER) to $(DESTDIR)$(INS_BINARY_DIR) ..." - @$(INSTALL) -s $(BINDIR)/$(EXE) $(DESTDIR)$(INS_BINARY_DIR)/$(EXE) - @( $(CD) $(DESTDIR)$(INS_BINARY_DIR) && $(RM) -f r$(EXE) && $(LN) $(EXE) r$(EXE) ) + @$(ECHO) "Installing $(EXE) v$(VER) to $(DESTDIR)$(INS_BINARY_DIR)/$(PROJEXE) ..." + @$(INSTALL) -s $(BINDIR)/$(EXE) $(DESTDIR)$(INS_BINARY_DIR)/$(PROJEXE) + @( $(CD) $(DESTDIR)$(INS_BINARY_DIR) && $(RM) -f r$(PROJEXE) && $(LN) $(PROJEXE) r$(PROJEXE) ) @$(MAKE) install_helpers @$(MAKE) install_manpage @MSG_DIR_MAKE@ @$(MAKE) install_nls uninstall : - @$(ECHO) "Uninstalling $(EXE) in $(DESTDIR)$(INS_BINARY_DIR) ..." - @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/$(EXE) - @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/r$(EXE) + @$(ECHO) "Uninstalling $(PROJEXE) in $(DESTDIR)$(INS_BINARY_DIR) ..." + @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/$(PROJEXE) + @-$(RM) -f $(DESTDIR)$(INS_BINARY_DIR)/r$(PROJEXE) @$(MAKE) uninstall_helpers @$(MAKE) uninstall_manpage @MSG_DIR_MAKE@ @$(MAKE) uninstall_nls @@ -414,13 +417,13 @@ TAGS : lint : $(CFILES) $(OBJDIR)/parsdate.c tincfg.h options_menu.h @$(ECHO) "Linting source (results in ./LINT) ..." - @$(LINT) $(LINTFLAGS) -DNNTP_ABLE `$(LS) $(CFILES)|$(SED) -e 's/\.y/.c/'` $(LIBS) > LINT + @$(LINT) $(LINTFLAGS) `$(ECHO) $(CFILES)|$(SED) -e 's/\.y/.c/'` $(LIBS) 1>LINT 2>&1 clean : @$(ECHO) "Cleaning ..." @-$(RM) -f $(OFILES) @-$(RM) -f $(OBJDIR)/parsdate.c - @-$(RM) -f LINT *.ln *.out + @-$(RM) -f LINT *.ln *.out trace @-$(RM) -f makecfg$X makecfg$o tincfg.h options_menu.h @-$(RM) -f core *~ @-$(RM) -f $(EXE) @@ -435,24 +438,20 @@ dirty : distclean \ clobber :: clean @$(ECHO) "Clobbering ..." - @-$(RM) -f $(OFILES) $(BINDIR)/$(EXE) tags TAGS LINT cflow.$(PROJECT) + @-$(RM) -f $(OFILES) $(BINDIR)/$(EXE) tags TAGS LINT cflow.$(PACKAGE) distclean :: @INTLDIR_MAKE@ @-$(CD) ../intl && $(MAKE) @cf_cv_makeflags@ $@ @MSG_DIR_MAKE@ @-$(CD) ../po && $(MAKE) @cf_cv_makeflags@ clean cflow : - @$(ECHO) "Creating cflow for $(PROJECT) ..." -@PCREDIR_MAKE@ @$(CFLOW) -I$(INCDIR) -I$(SRCDIR) -I../pcre $(CFILES) > cflow.$(PROJECT) + @$(ECHO) "Creating cflow for $(PACKAGE) ..." +@PCREDIR_MAKE@ @$(CFLOW) -I$(INCDIR) -I$(SRCDIR) -I../pcre $(CFILES) > cflow.$(PACKAGE) cscope : - @$(ECHO) "Creating cscope database $(PROJECT) ..." + @$(ECHO) "Creating cscope database $(PACKAGE) ..." @$(CSCOPE) $(ALL_FILES) -canlock : - @$(ECHO) "Building libcanlock ..." - @$(CD) ../libcanlock && ./Build - @PCREDIR_MAKE@../pcre/pcre.h ../pcre/$(PRELIB)pcre.a : @PCREDIR_MAKE@ @$(ECHO) "Building Philip Hazel's Perl regular expressions library ..." @PCREDIR_MAKE@ @$(CD) ../pcre && $(MAKE) @cf_cv_makeflags@ $(PRELIB)pcre.a @@ -461,6 +460,10 @@ canlock : @INTLDIR_MAKE@ @$(ECHO) "Building GNU gettext library ..." @INTLDIR_MAKE@ @$(CD) ../intl && $(MAKE) @cf_cv_makeflags@ +@CANDIR_MAKE@../libcanlock/$(PRELIB)canlock.a : +@CANDIR_MAKE@ @$(ECHO) "Building Cancel-Lock library ..." +@CANDIR_MAKE@ @$(CD) ../libcanlock && $(MAKE) @cf_cv_makeflags@ lib + options_menu.h : $(SRCDIR)/tincfg.tbl \ makecfg$X ./makecfg $(SRCDIR)/tincfg.tbl tincfg.h @@ -473,7 +476,7 @@ makecfg$X : $(SRCDIR)/makecfg.c \ Makefile \ $(INCDIR)/tin.h \ ../include/autoconf.h -@SHOW_CC@ + @SHOW_CC@ @ECHO_CC@$(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -o $@ $(SRCDIR)/makecfg.c #$(BUILD_LIBS) TIN_DEP = \ @@ -483,6 +486,7 @@ TIN_DEP = \ $(INCDIR)/tinrc.h \ ../include/autoconf.h \ $(INCDIR)/bool.h \ + $(INCDIR)/debug.h \ $(INCDIR)/extern.h \ $(INCDIR)/nntplib.h \ $(INCDIR)/tcurses.h \ @@ -490,6 +494,7 @@ TIN_DEP = \ $(OBJDIR)/active$o : $(SRCDIR)/active.c $(TIN_DEP) $(OBJDIR)/art$o : $(SRCDIR)/art.c $(TIN_DEP) \ + $(INCDIR)/newsrc.h \ $(INCDIR)/stpwatch.h $(OBJDIR)/attrib$o : $(SRCDIR)/attrib.c $(TIN_DEP) \ $(INCDIR)/version.h @@ -610,3 +615,4 @@ $(OBJDIR)/wildmat$o : $(SRCDIR)/wildmat $(OBJDIR)/xface$o : $(SRCDIR)/xface.c $(TIN_DEP) $(OBJDIR)/xref$o : $(SRCDIR)/xref.c $(TIN_DEP) \ $(INCDIR)/newsrc.h +@EXTRAO_DEP@$(EXTRAOBJS) : $(TIN_DEP) diff -Nurp --exclude='.bzr*' tin-1.8.3/src/active.c tin-2.0.0/src/active.c --- tin-1.8.3/src/active.c 2005-12-02 12:07:35.000000000 +0100 +++ tin-2.0.0/src/active.c 2011-04-30 23:32:42.656073695 +0200 @@ -3,10 +3,10 @@ * Module : active.c * Author : I. Lea * Created : 1992-02-16 - * Updated : 2004-06-30 + * Updated : 2011-04-24 * Notes : * - * Copyright (c) 1992-2006 Iain Lea + * Copyright (c) 1992-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,16 +43,17 @@ #endif /* !TCURSES_H */ /* - * List of allowed seperator chars in active file - * unsed in parse_active_line() + * List of allowed separator chars in active file + * unused in parse_active_line() */ #define ACTIVE_SEP " \n" -/* - * if you are using C-News nntpd set NUM_SIMULTANEOUS_GROUP_COMMAND to 1 - */ #ifdef NNTP_ABLE -# define NUM_SIMULTANEOUS_GROUP_COMMAND 50 +# ifdef DISABLE_PIPELINING +# define NUM_SIMULTANEOUS_GROUP_COMMAND 1 +# else +# define NUM_SIMULTANEOUS_GROUP_COMMAND 50 +# endif /* DISABLE_PIPELINING */ #endif /* NNTP_ABLE */ t_bool force_reread_active_file = FALSE; @@ -64,14 +65,17 @@ static time_t active_timestamp; /* time */ static FILE *open_newgroups_fp(int idx); static FILE *open_news_active_fp(void); +static int check_for_any_new_groups(void); static void active_add(struct t_group *ptr, long count, long max, long min, const char *moderated); static void append_group_line(char *active_file, char *group_path, long art_max, long art_min, char *base_dir); -static void check_for_any_new_groups(void); -static void make_group_list(char *active_file, char *base_dir, char *group_path); -static void make_group_name(char *base_dir, char *group_name, char *group_path); +static void make_group_list(char *active_file, char *base_dir, char *fixed_base, char *group_path); static void read_active_file(void); static void read_newsrc_active_file(void); static void subscribe_new_group(char *group, char *autosubscribe, char *autounsubscribe); +#ifdef NNTP_ABLE + static t_bool parse_count_line(char *line, long *max, long *min, long *count, char *moderated); + static void read_active_counts(void); +#endif /* NNTP_ABLE */ t_bool @@ -120,7 +124,7 @@ resync_active_file( else toggle_my_groups(old_group); - FreeAndNull(old_group); + FreeIfNeeded(old_group); show_selection_page(); return TRUE; @@ -193,7 +197,7 @@ process_bogus( active_add(ptr, 0L, 1L, 0L, "n"); ptr->bogus = TRUE; /* Mark it bogus */ - if (my_group_add(name) < 0) + if (my_group_add(name, FALSE) < 0) return TRUE; return FALSE; /* Nothing was printed yet */ @@ -210,18 +214,27 @@ parse_active_line( long *min, char *moderated) { - char *p, *q, *r; + char *p = NULL, *q = NULL, *r = NULL; + t_bool lineok = FALSE; if (line[0] == '#' || line[0] == '\0') return FALSE; - (void) strtok(line, ACTIVE_SEP); /* skip group name */ - p = strtok(NULL, ACTIVE_SEP); /* group max count */ - q = strtok(NULL, ACTIVE_SEP); /* group min count */ - r = strtok(NULL, ACTIVE_SEP); /* mod status or path to mailgroup */ + if (strtok(line, ACTIVE_SEP)) { /* skip group name */ + if ((p = strtok(NULL, ACTIVE_SEP))) { /* group max count */ + if ((q = strtok(NULL, ACTIVE_SEP))) { /* group min count */ + r = strtok(NULL, ACTIVE_SEP); /* mod status or path to mailgroup */ + lineok = TRUE; + } + } + } - if (!p || !q || !r) { - error_message(_(txt_bad_active_file), line); + if (!p || !q || !r || !lineok) { +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", txt_bad_active_file, line); +#endif /* DEBUG */ + error_message(2, _(txt_bad_active_file), line); return FALSE; } @@ -233,6 +246,56 @@ parse_active_line( } +#ifdef NNTP_ABLE +/* + * Parse line from "LIST COUNTS" + * group high low count status, i.e.: + * trigofacile.test 326 6 297 y + */ +static t_bool +parse_count_line( + char *line, + long *max, + long *min, + long *count, + char *moderated) +{ + char *p = NULL, *q = NULL, *r = NULL, *s = NULL; + t_bool lineok = FALSE; + + if (line[0] == '#' || line[0] == '\0') + return FALSE; + + if (strtok(line, ACTIVE_SEP)) { /* skip group name */ + if ((p = strtok(NULL, ACTIVE_SEP))) { /* group max */ + if ((q = strtok(NULL, ACTIVE_SEP))) { /* group min */ + if ((r = strtok(NULL, ACTIVE_SEP))) { /* group count */ + s = strtok(NULL, ACTIVE_SEP); /* mod status or path to mailgroup */ + lineok = TRUE; + } + } + } + } + + if (!p || !q || !r || !s || !lineok) { +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", _(txt_unparseable_counts), line); +# endif /* DEBUG */ + error_message(2, _(txt_unparseable_counts), line); + return FALSE; + } + + *max = atol(p); + *min = atol(q); + *count = atol(r); + strcpy(moderated, s); + + return TRUE; +} +#endif /* NNTP_ABLE */ + + /* * Load the active information into active[] by counting the min/max/count * for each news group. @@ -256,6 +319,7 @@ read_newsrc_active_file( static char ngname[NNTP_STRLEN]; struct t_group *grpptr; #ifdef NNTP_ABLE + t_bool need_auth = FALSE; char *ngnames[NUM_SIMULTANEOUS_GROUP_COMMAND]; int index_i = 0; int index_o = 0; @@ -273,7 +337,7 @@ read_newsrc_active_file( return; } - if (!batch_mode) + if (!batch_mode || verbose) wait_message(0, _(txt_reading_news_newsrc_file)); while ((ptr = tin_fgets(fp, FALSE)) != NULL || window != 0) { @@ -293,22 +357,23 @@ read_newsrc_active_file( ptr = ngname; } - if (read_news_via_nntp) { + if (read_news_via_nntp && !read_saved_news) { #ifdef NNTP_ABLE char buf[NNTP_STRLEN]; char line[NNTP_STRLEN]; - if (window < NUM_SIMULTANEOUS_GROUP_COMMAND && ptr) { + if (window < NUM_SIMULTANEOUS_GROUP_COMMAND && ptr && (!list_active || (newsrc_active && list_active && group_find(ptr, FALSE)))) { ngnames[index_i] = my_strdup(ptr); snprintf(buf, sizeof(buf), "GROUP %s", ngnames[index_i]); # ifdef DEBUG - debug_nntp("read_newsrc_active_file", buf); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "read_newsrc_active_file() %s", buf); # endif /* DEBUG */ put_server(buf); index_i = (index_i + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND; window++; } if (window == NUM_SIMULTANEOUS_GROUP_COMMAND || ptr == NULL) { - int respcode = get_respcode(line, sizeof(line)); + int respcode = get_only_respcode(line, sizeof(line)); if (reconnected_in_last_get_server) { /* @@ -322,7 +387,8 @@ read_newsrc_active_file( for (i = 0; i < window - 1; i++) { snprintf(buf, sizeof(buf), "GROUP %s", ngnames[j]); # ifdef DEBUG - debug_nntp("read_newsrc_active_file", buf); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "read_newsrc_active_file() %s", buf); # endif /* DEBUG */ put_server(buf); j = (j + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND; @@ -342,10 +408,20 @@ read_newsrc_active_file( char fmt[20]; snprintf(fmt, sizeof(fmt), "%%ld %%ld %%ld %%%ds", NNTP_STRLEN); - if (sscanf(line, fmt, &count, &min, &max, ngname) != 4) - error_message(_(txt_error_invalid_response_to_group), line); - if (strcmp(ngname, ngnames[index_o]) != 0) - error_message(_(txt_error_wrong_newsgroupname_in_group_response), line, ngnames[index_o]); + if (sscanf(line, fmt, &count, &min, &max, ngname) != 4) { + error_message(2, _(txt_error_invalid_response_to_group), line); +# ifdef DEBUG + if (debug & DEBUG_NNTP) /* TODO: -> lang.c */ + debug_print_file("NNTP", "Invalid response to \"GROUP %s\": \"%s\"", ngnames[index_o], line); +# endif /* DEBUG */ + } + if (strcmp(ngname, ngnames[index_o]) != 0) { + error_message(2, _(txt_error_wrong_newsgroupname_in_group_response), ngname, ngnames[index_o], line); +# ifdef DEBUG + if (debug & DEBUG_NNTP) /* TODO: -> lang.c */ + debug_print_file("NNTP", "Groupname mismatch in response to \"GROUP %s\": \"%s\"", ngnames[index_o], line); +# endif /* DEBUG */ + } ptr = ngname; free(ngnames[index_o]); index_o = (index_o + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND; @@ -353,6 +429,12 @@ read_newsrc_active_file( break; } + case ERR_NOAUTH: + case NEED_AUTHINFO: + need_auth = TRUE; /* delay auth till end of loop */ + /* keep lint quiet: */ + /* FALLTHROUGH */ + case ERR_NOGROUP: free(ngnames[index_o]); index_o = (index_o + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND; @@ -360,14 +442,15 @@ read_newsrc_active_file( continue; case ERR_ACCESS: - error_message("%s%s", cCRLF, line); + error_message(2, "%s%s", cCRLF, line); tin_done(NNTP_ERROR_EXIT); /* keep lint quiet: */ /* FALLTHROUGH */ default: # ifdef DEBUG - debug_nntp("NOT_OK", line); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "NOT_OK %s", line); # endif /* DEBUG */ free(ngnames[index_o]); index_o = (index_o + 1) % NUM_SIMULTANEOUS_GROUP_COMMAND; @@ -395,7 +478,7 @@ read_newsrc_active_file( if ((grpptr = group_add(ptr)) == NULL) { t_bool changed = FALSE; - if ((grpptr = group_find(ptr)) == NULL) + if ((grpptr = group_find(ptr, FALSE)) == NULL) continue; if (max > grpptr->xmax) { @@ -419,6 +502,15 @@ read_newsrc_active_file( active_add(grpptr, count, max, min, moderated); } +#ifdef NNTP_ABLE + if (need_auth) { /* delayed auth */ + if (!authenticate(nntp_server, userid, FALSE)) { + error_message(2, _(txt_auth_failed), ERR_ACCESS); + tin_done(EXIT_FAILURE); + } + } +#endif /* NNTP_ABLE */ + fclose(fp); /* @@ -426,14 +518,14 @@ read_newsrc_active_file( */ if (tin_errno || !num_active) { if (newsrc_active && !num_active) - error_message(_(txt_error_server_has_no_listed_groups), newsrc); + error_message(2, _(txt_error_server_has_no_listed_groups), newsrc); else - error_message(_(txt_active_file_is_empty), (read_news_via_nntp ? _(txt_servers_active) : news_active_file)); + error_message(2, _(txt_active_file_is_empty), (read_news_via_nntp ? (read_saved_news ? news_active_file : _(txt_servers_active)) : news_active_file)); tin_done(EXIT_FAILURE); } - if (!batch_mode) - my_fputs("\n", stdout); + if (!batch_mode || verbose) + my_fputc('\n', stdout); } @@ -467,7 +559,7 @@ read_active_file( long processed = 0L; struct t_group *grpptr; - if (!batch_mode) + if (!batch_mode || verbose) wait_message(0, _(txt_reading_news_active_file)); if ((fp = open_news_active_fp()) == NULL) { @@ -476,13 +568,13 @@ read_active_file( #ifdef NNTP_ABLE if (read_news_via_nntp) - error_message(_(txt_cannot_retrieve), ACTIVE_FILE); + error_message(2, _(txt_cannot_retrieve), ACTIVE_FILE); # ifndef NNTP_ONLY else - error_message(_(txt_cannot_open_active_file), news_active_file, tin_progname); + error_message(2, _(txt_cannot_open_active_file), news_active_file, tin_progname); # endif /* !NNTP_ONLY */ #else - error_message(_(txt_cannot_open), news_active_file); + error_message(2, _(txt_cannot_open), news_active_file); #endif /* NNTP_ABLE */ tin_done(EXIT_FAILURE); @@ -501,7 +593,7 @@ read_active_file( * This call may implicitly ++num_active */ if ((grpptr = group_add(ptr)) == NULL) { - if ((grpptr = group_find(ptr)) == NULL) + if ((grpptr = group_find(ptr, FALSE)) == NULL) continue; if (max > grpptr->xmax) { @@ -529,24 +621,101 @@ read_active_file( * Exit if active file wasn't read correctly or is empty */ if (tin_errno || !num_active) { - error_message(_(txt_active_file_is_empty), (read_news_via_nntp ? _(txt_servers_active) : news_active_file)); + error_message(2, _(txt_active_file_is_empty), (read_news_via_nntp ? (read_saved_news ? news_active_file : _(txt_servers_active)) : news_active_file)); tin_done(EXIT_FAILURE); } - if (!batch_mode) - my_fputs("\n", stdout); + if (!batch_mode || verbose) + my_fputc('\n', stdout); } +#ifdef NNTP_ABLE +/* + * Load the active file into active[] via LIST COUNTS + */ +static void +read_active_counts( + void) +{ + FILE *fp; + char *ptr; + char moderated[PATH_LEN]; + long count = -1L, min = 1L, max = 0L; + long processed = 0L; + struct t_group *grpptr; + + if (!batch_mode || verbose) + wait_message(0, _(txt_reading_news_active_file)); + + if ((fp = nntp_command("LIST COUNTS", OK_GROUPS, NULL, 0)) == NULL) { + if (cmd_line && !batch_mode) + my_fputc('\n', stderr); + + error_message(2, _(txt_cannot_retrieve), ACTIVE_FILE); + tin_done(EXIT_FAILURE); + } + + while ((ptr = tin_fgets(fp, FALSE)) != NULL) { + if (!parse_count_line(ptr, &max, &min, &count, moderated)) + continue; + + if (++processed % MODULO_COUNT_NUM == 0) + spin_cursor(); + + /* + * Load group into group hash table + * NULL means group already present, so we just fixup the counters + * This call may implicitly ++num_active + */ + if ((grpptr = group_add(ptr)) == NULL) { + if ((grpptr = group_find(ptr, FALSE)) == NULL) + continue; + + if (max > grpptr->xmax) { + grpptr->xmax = max; + grpptr->count = count; + } + + if (min > grpptr->xmin) { + grpptr->xmin = min; + grpptr->count = count; + } + + continue; + } + + /* + * Load the new group in active[] + */ + active_add(grpptr, count, max, min, moderated); + } + + /* + * Exit if active file wasn't read correctly or is empty + */ + if (tin_errno || !num_active) { + error_message(2, _(txt_active_file_is_empty), _(txt_servers_active)); + tin_done(EXIT_FAILURE); + } + + if (!batch_mode || verbose) + my_fputc('\n', stdout); +} +#endif /* NNTP_ABLE*/ + + /* * Load the active file into active[] * Check and preload any new newgroups into my_group[] */ -void +int read_news_active_file( void) { FILE *fp; + int newgrps = 0; + t_bool do_group_cmds = !nntp_caps.list_counts; /* * Ignore -n if no .newsrc can be found or .newsrc is empty @@ -565,12 +734,133 @@ read_news_active_file( } /* Read an active file if it is allowed */ - if (list_active) - read_active_file(); + if (list_active) { +#ifdef NNTP_ABLE + if (read_news_via_nntp && nntp_caps.type == CAPABILITIES && nntp_caps.list_counts) + read_active_counts(); + else +#endif /* NNTP_ABLE */ + read_active_file(); + } /* Read .newsrc and check each group */ - if (newsrc_active) - read_newsrc_active_file(); + if (newsrc_active) { +#ifdef NNTP_ABLE +# ifndef DISABLE_PIPELINING + /* + * use "LIST ACTIVE grp" (or even LIST ACTIVE grp,...) if we have + * less than PIPELINE_LIMIT groups and we use -n but not -Q + * + * TODO: test me. do we want this overhead? add a DISABLE_PIPELINING + * code-path? we don't have list_active set but we use some + * sort of LIST ACTIVE -> our documentation is a bit incorrect + * now. + */ + if (read_news_via_nntp && !list_active && ((nntp_caps.type == CAPABILITIES && nntp_caps.list_active) || nntp_caps.type != CAPABILITIES) && (show_description || check_for_new_newsgroups)) { + char buff[NNTP_STRLEN]; + char *ptr, *q; + char moderated[PATH_LEN]; + int r = 0, i = 0, j = 0; + long count = -1L, min = 1L, max = 0L; + struct t_group *grpptr; + t_bool need_auth = FALSE; + + *buff='\0'; + /* we can't use for_each_group(i) yet, so we have to prase the newsrc */ + if ((fp = fopen(newsrc, "r")) != NULL) { + while (tin_fgets(fp, FALSE) != NULL) + j++; + rewind(fp); + if (j < PIPELINE_LIMIT) { + while ((ptr = tin_fgets(fp, FALSE)) != NULL) { + if (!(q = strpbrk(ptr, ":!"))) + continue; + *q = '\0'; + if (nntp_caps.type == CAPABILITIES && (nntp_caps.list_active || nntp_caps.list_counts)) { + /* LIST ACTIVE or LIST COUNTS takes wildmats */ + if (!i) { /* new wildmat list */ + i++; + snprintf(buff, sizeof(buff), "LIST %s %s", nntp_caps.list_counts ? "COUNTS" : "ACTIVE", ptr); + continue; + } + if (strlen(buff) + strlen(ptr) + 1 < NNTP_STRLEN) { /* append group name */ + snprintf(buff + strlen(buff), sizeof(buff) - strlen(buff), ",%s", ptr); + continue; + } + i = 0; /* new wildmatlist required */ + } else + snprintf(buff, sizeof(buff), "LIST ACTIVE %s", ptr); + put_server(buff); + r++; + *buff='\0'; + } + if (*buff) { + put_server(buff); + r++; + } + } else { + do_group_cmds = TRUE; + } + fclose(fp); + + if (j < PIPELINE_LIMIT) { + for (i = 0; i < r && !did_reconnect; i++) { + if ((j = get_only_respcode(buff, sizeof(buff))) != OK_GROUPS) { + /* TODO: add 483 (RFC 3977) code */ + if (j == ERR_NOAUTH || j == NEED_AUTHINFO) + need_auth = TRUE; +#if 0 /* do we need something like this? */ + if (j == ERR_CMDSYN) + list_active = TRUE; +#endif /* 0 */ + continue; + } else { + while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) { +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); +# endif /* DEBUG */ + if (nntp_caps.type == CAPABILITIES && nntp_caps.list_counts) { + if (!parse_count_line(ptr, &max, &min, &count, moderated)) + continue; + } else { + if (!parse_active_line(ptr, &max, &min, moderated)) + continue; + } + + if ((grpptr = group_add(ptr)) == NULL) { + if ((grpptr = group_find(ptr, FALSE)) == NULL) + continue; + + if (max > grpptr->xmax) { + grpptr->xmax = max; + grpptr->count = count; + } + if (min > grpptr->xmin) { + grpptr->xmin = min; + grpptr->count = count; + } + continue; + } + active_add(grpptr, count, max, min, moderated); + } + } + } + if (need_auth) { /* retry after auth is overkill here, so just auth */ + if (!authenticate(nntp_server, userid, FALSE)) { + error_message(2, _(txt_auth_failed), nntp_caps.type == CAPABILITIES ? ERR_AUTHFAIL : ERR_ACCESS); + tin_done(EXIT_FAILURE); + } + } + } + did_reconnect = FALSE; + } + } +# endif /* !DISABLE_PIPELINING */ +#endif /* NNTP_ABLE */ + if (!nntp_caps.list_counts || do_group_cmds) + read_newsrc_active_file(); + } (void) time(&active_timestamp); force_reread_active_file = FALSE; @@ -579,12 +869,14 @@ read_news_active_file( * check_for_any_new_groups() also does $AUTOSUBSCRIBE */ if (check_for_new_newsgroups) - check_for_any_new_groups(); + newgrps = check_for_any_new_groups(); /* * finally we have a list of all groups an can set the attributes */ - read_attributes_files(); + assign_attributes_to_groups(); + + return newgrps; } @@ -605,7 +897,8 @@ open_newgroups_fp( if (idx == -1) return (FILE *) 0; - ngtm = localtime(&newnews[idx].time); + if ((ngtm = localtime(&newnews[idx].time)) == NULL) + return (FILE *) 0; /* * in the current draft, NEWGROUPS is allowed to take a 4 digit year * component - but even with a 2 digit year component it is y2k @@ -632,7 +925,7 @@ open_newgroups_fp( * If reading news via NNTP issue a NEWGROUPS command. * Format: (as active file) Groupname Maxart Minart moderated */ -static void +static int check_for_any_new_groups( void) { @@ -641,6 +934,7 @@ check_for_any_new_groups( char *ptr, *line, buf[NNTP_STRLEN]; char old_newnews_host[PATH_LEN]; int newnews_index; + int newgrps = 0; time_t old_newnews_time; time_t new_newnews_time; @@ -661,10 +955,8 @@ check_for_any_new_groups( } #ifdef DEBUG - if (debug == 2) { - error_message("Newnews old=[%lu] new=[%lu]", (unsigned long int) old_newnews_time, (unsigned long int) new_newnews_time); - (void) sleep(2); - } + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "Newnews old=[%lu] new=[%lu]", (unsigned long int) old_newnews_time, (unsigned long int) new_newnews_time); #endif /* DEBUG */ if ((fp = open_newgroups_fp(newnews_index)) != NULL) { @@ -687,11 +979,12 @@ check_for_any_new_groups( *ptr = '\0'; } subscribe_new_group(line, autosubscribe, autounsubscribe); + newgrps++; } TIN_FCLOSE(fp); if (tin_errno) - return; /* Don't update the time if we quit */ + return 0; /* Don't update the time if we quit */ } /* @@ -705,6 +998,11 @@ check_for_any_new_groups( snprintf(buf, sizeof(buf), "%s %lu", nntp_server, (unsigned long int) new_newnews_time); load_newnews_info(buf); } + + if (!batch_mode) + my_fputc('\n', stdout); + + return newgrps; } @@ -738,7 +1036,7 @@ subscribe_new_group( * be properly updated when we enter the group. Otherwise there is some * mismatch in the active.times data and we ignore the newgroup. */ - if ((idx = my_group_add(group)) < 0) { + if ((idx = my_group_add(group, FALSE)) < 0) { if (list_active) { /* my_fprintf(stderr, "subscribe_new_group: %s not in active[] && list_active\n", group); */ return; @@ -747,7 +1045,7 @@ subscribe_new_group( if ((ptr = group_add(group)) != NULL) active_add(ptr, 0L, 1L, 0L, "y"); - if ((idx = my_group_add(group)) < 0) + if ((idx = my_group_add(group, FALSE)) < 0) return; } @@ -879,8 +1177,8 @@ load_newnews_info( newnews[i].time = new_time; #ifdef DEBUG - if (debug == 2) - error_message("ACTIVE host=[%s] time=[%lu]", newnews[i].host, (unsigned long int) newnews[i].time); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "ACTIVE host=[%s] time=[%lu]", newnews[i].host, (unsigned long int) newnews[i].time); #endif /* DEBUG */ } @@ -906,9 +1204,6 @@ find_newnews_index( /* * Get a single status char from the moderated field. Used on selection screen * and in header of group screen - * - * TODO: what about 'j' groups? active(5) says: - * "local postings to that group should not be generated" */ char group_flag( @@ -920,6 +1215,7 @@ group_flag( case 'x': case 'n': + case 'j': return 'X'; case '=': @@ -936,19 +1232,24 @@ void create_save_active_file( void) { + char *fb; char group_path[PATH_LEN]; char local_save_active_file[PATH_LEN]; - joinpath(local_save_active_file, rcdir, ACTIVE_SAVE_FILE); + joinpath(local_save_active_file, sizeof(local_save_active_file), rcdir, ACTIVE_SAVE_FILE); if (no_write && file_size(local_save_active_file) != -1L) return; - my_printf(_(txt_creating_active)); + wait_message(0, _(txt_creating_active)); print_active_head(local_save_active_file); - strcpy(group_path, tinrc.savedir); - make_group_list(local_save_active_file, tinrc.savedir, group_path); + strfpath(cmdline.args & CMDLINE_SAVEDIR ? cmdline.savedir : tinrc.savedir, group_path, sizeof(group_path), NULL, FALSE); + while (strlen(group_path) && group_path[strlen(group_path) - 1] == '/') + group_path[strlen(group_path) - 1] = '\0'; + fb = my_strdup(group_path); + make_group_list(local_save_active_file, cmdline.args & CMDLINE_SAVEDIR ? cmdline.savedir : tinrc.savedir, fb, group_path); + free(fb); } @@ -956,6 +1257,7 @@ static void make_group_list( char *active_file, char *base_dir, + char *fixed_base, char *group_path) { DIR *dir; @@ -972,8 +1274,7 @@ make_group_list( is_dir = FALSE; while ((direntry = readdir(dir)) != NULL) { STRCPY(filename, direntry->d_name); - joinpath(path, group_path, filename); - + joinpath(path, sizeof(path), group_path, filename); if (!(filename[0] == '.' && filename[1] == '\0') && !(filename[0] == '.' && filename[1] == '.' && filename[2] == '\0')) { if (stat(path, &stat_info) != -1) { @@ -985,9 +1286,9 @@ make_group_list( is_dir = FALSE; strcpy(group_path, path); - make_group_list(active_file, base_dir, group_path); + make_group_list(active_file, base_dir, fixed_base, group_path); find_art_max_min(group_path, &art_max, &art_min); - append_group_line(active_file, group_path, art_max, art_min, base_dir); + append_group_line(active_file, group_path + strlen(fixed_base) + 1, art_max, art_min, fixed_base); if ((ptr = strrchr(group_path, '/')) != NULL) /* TODO: Unix'ism */ *ptr = '\0'; } @@ -1007,7 +1308,6 @@ append_group_line( { FILE *fp; char *file_tmp; - char group_name[PATH_LEN]; if (art_max == 0 && art_min == 1) return; @@ -1020,43 +1320,26 @@ append_group_line( } if ((fp = fopen(active_file, "a+")) != NULL) { - make_group_name(base_dir, group_name, group_path); - my_printf("Appending=[%s %ld %ld %s]\n", group_name, art_max, art_min, base_dir); + char *ptr; + char *group_name; + int err; + + ptr = group_name = my_strdup(group_path); + ptr++; + while ((ptr = strchr(ptr, '/')) != NULL) + *ptr = '.'; + + wait_message(0, "Appending=[%s %ld %ld %s]\n", group_name, art_max, art_min, base_dir); print_group_line(fp, group_name, art_max, art_min, base_dir); - if (ferror(fp) || fclose(fp)) /* TODO: issue warning? */ + if ((err = ferror(fp)) || fclose(fp)) { /* TODO: issue warning? */ rename(file_tmp, active_file); + if (err) { + clearerr(fp); + fclose(fp); + } + } + free(group_name); } unlink(file_tmp); free(file_tmp); } - - -/* - * Given an absolute pathname & a base pathname build a newsgroup name - * base = /usr/spool/news - * absolute path = /usr/spool/news/alt/sources - * newsgroup = alt.sources - */ -static void -make_group_name( - char *base_dir, - char *group_name, - char *group_path) -{ - char *base_ptr; - char *name_ptr; - char *path_ptr; - - base_ptr = base_dir; - path_ptr = group_path; - - while (*base_ptr && (*base_ptr == *path_ptr)) { - base_ptr++; - path_ptr++; - } - strcpy(group_name, ++path_ptr); - - name_ptr = group_name; - while ((name_ptr = strchr(name_ptr, '/')) != NULL) - *name_ptr = '.'; -} diff -Nurp --exclude='.bzr*' tin-1.8.3/src/art.c tin-2.0.0/src/art.c --- tin-1.8.3/src/art.c 2006-04-21 14:48:41.000000000 +0200 +++ tin-2.0.0/src/art.c 2011-08-07 02:04:26.659237895 +0200 @@ -3,10 +3,10 @@ * Module : art.c * Author : I.Lea & R.Skrenta * Created : 1991-04-01 - * Updated : 2006-04-21 + * Updated : 2011-01-29 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,6 +41,9 @@ #ifndef TCURSES_H # include "tcurses.h" #endif /* !TCURSES_H */ +#ifndef NEWSRC_H +# include "newsrc.h" +#endif /* !NEWSRC_H */ #ifndef STPWATCH_H # include "stpwatch.h" @@ -57,11 +60,11 @@ int top_art = 0; /* # of articles in /* * Local prototypes */ -static FILE *open_art_header(long art, long *next); +static FILE *open_art_header(char *groupname, long art, long *next); static FILE *open_xover_fp(struct t_group *group, const char *mode, long min, long max, t_bool local); static char *find_nov_file(struct t_group *group, int mode); static char *print_date(time_t secs); -static char *print_from(struct t_article *article); +static char *print_from(struct t_group *group, struct t_article *article); static int artnum_comp(t_comptype p1, t_comptype p2); static int base_comp(t_comptype p1, t_comptype p2); static int date_comp_asc(t_comptype p1, t_comptype p2); @@ -70,6 +73,8 @@ static int from_comp_asc(t_comptype p1, static int from_comp_desc(t_comptype p1, t_comptype p2); static int global_get_multiparts(int aindex, MultiPartInfo **malloc_and_setme_info); static int global_look_for_multipart_info(int aindex, MultiPartInfo *setme, char start, char stop, int *offset); +static int last_date_comp_base_asc(t_comptype p1, t_comptype p2); +static int last_date_comp_base_desc(t_comptype p1, t_comptype p2); static int lines_comp_asc(t_comptype p1, t_comptype p2); static int lines_comp_desc(t_comptype p1, t_comptype p2); static int read_art_headers(struct t_group *group, int total, long top); @@ -84,10 +89,12 @@ static long find_first_unread(struct t_g static long setup_hard_base(struct t_group *group); static t_bool parse_headers(FILE *fp, struct t_article *h); static t_compfunc eval_sort_arts_func(unsigned int sort_art_type); +static time_t get_last_posting_date(long n); static void sort_base(unsigned int sort_threads_type); static void thread_by_multipart(void); static void thread_by_percentage(struct t_group *group); static void thread_by_subject(void); +static void write_overview(struct t_group *group); /* @@ -132,13 +139,13 @@ find_base( if (grpmenu.max >= max_art) expand_art(); - if (group->attribute->show_only_unread) { - if (arts[i].status != ART_READ) + if (group->attribute->show_only_unread_arts) { + if (arts[i].status != ART_READ || arts[i].keep_in_base) base[grpmenu.max++] = i; else { /* Find 1st unread art in thread */ for (j = i; j >= 0; j = arts[j].thread) { - if (arts[j].status != ART_READ) { + if (arts[j].status != ART_READ || arts[j].keep_in_base) { base[grpmenu.max++] = i; break; } @@ -195,8 +202,6 @@ static long setup_hard_base( struct t_group *group) { - char buf[NNTP_STRLEN]; - long art; long total = 0; grpmenu.max = 0; @@ -204,30 +209,40 @@ setup_hard_base( /* * If reading with NNTP, issue a LISTGROUP */ - if (read_news_via_nntp && group->type == GROUP_TYPE_NEWS) { + if (read_news_via_nntp && !read_saved_news && group->type == GROUP_TYPE_NEWS) { #ifdef NNTP_ABLE + char buf[NNTP_STRLEN]; FILE *fp; -# ifdef BROKEN_LISTGROUP /* * Some nntp servers are broken and need an extra GROUP command * (reported by reorx@irc.pl). This affects (old?) versions of - * nntpcache and leafnode. Usually this should not be needed. + * nntpcache, leafnode and SurgeNews. Usually this should not be + * needed. */ - snprintf(buf, sizeof(buf), "GROUP %s", group->name); - if (nntp_command(buf, OK_GROUP, NULL, 0) == NULL) - return -1; -# endif /* BROKEN_LISTGROUP */ + if (nntp_caps.broken_listgroup) { + snprintf(buf, sizeof(buf), "GROUP %s", group->name); + if (nntp_command(buf, OK_GROUP, NULL, 0) == NULL) + return -1; + } /* * See if LISTGROUP works + * + * think about something like: + * if (nntp_caps.type == CAPABILITIES && tinrc.getart_limit != 0) { + * calculate some useful min vals, eg. if getart_limit < 0 + * use lowest unread art + 2*getart_limit (to include holes) + * snprintf(buf, sizeof(buf), "LISTGROUP %s %d-%d, group->name, min, max); + * } */ snprintf(buf, sizeof(buf), "LISTGROUP %s", group->name); if ((fp = nntp_command(buf, OK_GROUP, NULL, 0)) != NULL) { char *ptr; # ifdef DEBUG - debug_nntp("setup_hard_base", buf); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "setup_hard_base(%s)", buf); # endif /* DEBUG */ while ((ptr = tin_fgets(fp, FALSE)) != NULL) { @@ -260,6 +275,10 @@ setup_hard_base( if (sscanf(line, "%ld %ld %ld", &count, &start, &last) != 3) return -1; +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "setup_hard_base(%s)", buf); +# endif /* DEBUG */ /* * TODO: AFAICS "total" and "count" arn't used in the code below * anymore, why do we bother to set them? @@ -281,15 +300,17 @@ setup_hard_base( } else { DIR *d; DIR_BUF *e; + char group_path[PATH_LEN]; + long art; - make_base_group_path(group->spooldir, group->name, buf); + make_base_group_path(group->spooldir, group->name, group_path, sizeof(group_path)); - if (access(buf, R_OK) != 0) { - error_message(_(txt_not_exist)); + if (access(group_path, R_OK) != 0) { + error_message(2, _(txt_not_exist)); return -1; } - if ((d = opendir(buf)) != NULL) { + if ((d = opendir(group_path)) != NULL) { while ((e = readdir(d)) != NULL) { art = atol(e->d_name); if (art >= 1) { @@ -329,10 +350,11 @@ index_group( { int i; int changed; /* Count of articles whose overview has changed */ + int getart_limit; int respnum; int total; long last_read_article; - long min, max; + long min, new_min, max; t_bool caching_xover; t_bool filtered; @@ -348,7 +370,7 @@ index_group( free_art_array(); free_msgids(); - BegStopWatch("setup_hard_base"); + BegStopWatch("setup_hard_base()"); /* * Get list of valid article numbers @@ -359,22 +381,30 @@ index_group( EndStopWatch(); PrintStopWatch(); -#ifdef DEBUG_NEWSRC - debug_print_comment("Before read_overview"); - debug_print_bitmap(group, NULL); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) { + debug_print_comment("Before read_overview"); + debug_print_bitmap(group, NULL); + } +#endif /* DEBUG */ min = grpmenu.max ? base[0] : group->xmin; max = grpmenu.max ? base[grpmenu.max - 1] : min - 1; - if (tinrc.getart_limit > 0) { - if (grpmenu.max && (grpmenu.max > tinrc.getart_limit)) - min = base[grpmenu.max - tinrc.getart_limit]; - } else if (tinrc.getart_limit < 0) { + getart_limit = cmdline.args & CMDLINE_GETART_LIMIT ? cmdline.getart_limit : tinrc.getart_limit; + + if (getart_limit > 0) { + if (grpmenu.max && (grpmenu.max > getart_limit)) + min = base[grpmenu.max - getart_limit]; + else + getart_limit = 0; + } else if (getart_limit < 0) { long first_unread = find_first_unread(group); - if (min - first_unread < tinrc.getart_limit) - min = first_unread + tinrc.getart_limit; + if (min - first_unread < getart_limit) + min = first_unread + getart_limit; + else + getart_limit = 0; } /* @@ -403,9 +433,9 @@ index_group( * Only do this if the previous read_overview() was against private cache */ if ((last_read_article < max) && caching_xover) { - min = (last_read_article >= min) ? last_read_article + 1 : min; + new_min = (last_read_article >= min) ? last_read_article + 1 : min; - if ((changed += read_overview(group, min, max, &last_read_article, FALSE)) == -1) + if ((changed += read_overview(group, new_min, max, &last_read_article, FALSE)) == -1) return FALSE; /* user aborted indexing */ } else caching_xover = FALSE; @@ -428,23 +458,30 @@ index_group( * Add any articles to arts[] that are new or were killed */ if (total > 0) { - if ((changed += read_art_headers(group, total, last_read_article)) == -1) + new_min = (getart_limit != 0 && last_read_article < min) ? min - 1 : last_read_article; + + if ((changed += read_art_headers(group, total, new_min)) == -1) return FALSE; /* user aborted indexing */ } -#ifdef DEBUG_NEWSRC - debug_print_comment("Before parse_unread_arts()"); - debug_print_bitmap(group, NULL); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) { + debug_print_comment("Before parse_unread_arts()"); + debug_print_bitmap(group, NULL); + } +#endif /* DEBUG */ /* * Do this before calling art_mark(,, ART_READ) if you want * the unread count to be correct. */ - parse_unread_arts(group); -#ifdef DEBUG_NEWSRC - debug_print_comment("After parse_unread_arts()"); - debug_print_bitmap(group, NULL); -#endif /* DEBUG_NEWSRC */ + min = getart_limit > 0 ? min : 0L; + parse_unread_arts(group, min); +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) { + debug_print_comment("After parse_unread_arts()"); + debug_print_bitmap(group, NULL); + } +#endif /* DEBUG */ /* * Stat all articles to see if any have expired @@ -452,10 +489,13 @@ index_group( for_each_art(i) { if (arts[i].thread == ART_EXPIRED) { changed++; -#ifdef DEBUG_NEWSRC - debug_print_comment("art.c: index_group() purging..."); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("art.c: index_group() purging..."); +#endif /* DEBUG */ art_mark(group, &arts[i], ART_READ); + if (group->attribute->show_only_unread_arts) + arts[i].keep_in_base = FALSE; } } @@ -477,7 +517,7 @@ index_group( */ filtered = filter_articles(group); - BegStopWatch("make_thread"); + BegStopWatch("make_threads()"); /* * Thread the group @@ -506,8 +546,8 @@ find_first_unread( long first = group->newsrc.xmin; /* initial value */ if ((p = group->newsrc.xbitmap)) { - end += group->newsrc.xbitlen / 8; - for (; *p == '\0' && p < end; p++, first += 8) + end += group->newsrc.xbitlen / NBITS; + for (; *p == '\0' && p < end; p++, first += NBITS) ; } return first; @@ -522,12 +562,14 @@ find_first_unread( */ static FILE * open_art_header( + char *groupname, long art, long *next) { char buf[NNTP_STRLEN]; #ifdef NNTP_ABLE FILE *fp; + int i; if (read_news_via_nntp && CURR_GROUP.type == GROUP_TYPE_NEWS) { /* @@ -546,8 +588,48 @@ open_art_header( * HEAD failed, try to find NEXT * Should return "223 artno message-id more text...." */ - if (nntp_command("NEXT", OK_NOTEXT, buf, sizeof(buf))) - *next = atoi(buf); /* Set next art number */ + i = new_nntp_command("NEXT", OK_NOTEXT, buf, sizeof(buf)); + switch (i) { + case OK_NOTEXT: + *next = atoi(buf); /* Set next art number */ + break; + +# ifndef BROKEN_LISTGROUP + /* + * might happen if LISTGROUP doesn't select group, but + * we are not -DBROKEN_LISTGROUP + */ + case ERR_NCING: + nntp_caps.broken_listgroup = TRUE; + snprintf(buf, sizeof(buf), "GROUP %s", groupname); + if (nntp_command(buf, OK_GROUP, NULL, 0) == NULL) + return NULL; + snprintf(buf, sizeof(buf), "HEAD %ld", art); + if ((fp = nntp_command(buf, OK_HEAD, NULL, 0)) != NULL) + return fp; + if (nntp_command("NEXT", OK_NOTEXT, buf, sizeof(buf))) + *next = atoi(buf); + break; +# endif /* !BROKEN_LISTGROUP */ + + default: + /* + * TODO: abort loop over all arts on ERR_NONEXT + */ +# ifndef BROKEN_LISTGROUP + /* + * to avoid out of sync responses + * (listgroup seems to work, but didn't select new group, + * so xover seems to work but returns old data) + * we set listgroup_broken = TRUE; once we saw a + * ERR_NOARTIG / ERR_NONEXT or the like - even if + * ERR_NOARTIG may occur on servers where listgroup + * isn't broken... + */ + nntp_caps.broken_listgroup = TRUE; +# endif /* !BROKEN_LISTGROUP */ + break; + } return NULL; } @@ -593,7 +675,7 @@ read_art_headers( char buf[PATH_LEN]; get_cwd(dir); - make_base_group_path(group->spooldir, group->name, buf); + make_base_group_path(group->spooldir, group->name, buf, sizeof(buf)); my_chdir(buf); } @@ -613,7 +695,7 @@ read_art_headers( /* * Try and open the article */ - if ((fp = open_art_header(art, &head_next)) == NULL) + if ((fp = open_art_header(group->name, art, &head_next)) == NULL) continue; /* @@ -636,10 +718,12 @@ read_art_headers( if (!res) { #ifdef DEBUG - char buf[PATH_LEN]; + if (debug & DEBUG_NNTP) { + char buf[PATH_LEN]; - snprintf(buf, sizeof(buf), "FAILED parse_headers(%ld)", art); - debug_nntp("read_art_headers", buf); + snprintf(buf, sizeof(buf), "FAILED parse_headers(%ld)", art); + debug_print_file("NNTP", "read_art_headers() %s", buf); + } #endif /* DEBUG */ continue; } @@ -693,9 +777,13 @@ thread_by_subject( j = h->aptr; if (j != -1 && j < i) { - if (arts[i].prev == ART_NORMAL && - ((arts[i].subject == arts[j].subject) /* || - (arts[i].archive && arts[j].archive && (arts[i].archive->name == arts[j].archive->name)) */ )) { +#if 1 + if (arts[i].prev == ART_NORMAL && (arts[i].subject == arts[j].subject)) +#else + /* see also refs.c:collate_subjects() */ + if (arts[i].prev == ART_NORMAL && ((arts[i].subject == arts[j].subject) || (arts[i].archive && arts[j].archive && (arts[i].archive->name == arts[j].archive->name)))) +#endif /* 1 */ + { arts[j].thread = i; arts[i].prev = j; } @@ -721,6 +809,7 @@ thread_by_subject( #endif /* 0 */ } + /* * This Threading algorithm threads articles into 'buckets' where each bucket * contains all the articles which match the root article's subject line to @@ -793,6 +882,7 @@ thread_by_percentage( } } + /* * This was brought over from tags.c, however this version doesn't not * opperate on base_index @@ -897,7 +987,7 @@ global_get_multiparts( int i; int part_index; MultiPartInfo tmp, tmp2; - MultiPartInfo *info = 0; + MultiPartInfo *info = NULL; /* entry assertions */ assert(0 <= aindex && aindex < top_art && "Invalid index"); @@ -1020,12 +1110,12 @@ make_threads( t_bool rethread) { if (!cmd_line && !batch_mode) - info_message((group->attribute->thread_arts == THREAD_NONE ? _(txt_unthreading_arts) : _(txt_threading_arts))); + info_message((group->attribute->thread_articles == THREAD_NONE ? _(txt_unthreading_arts) : _(txt_threading_arts))); #ifdef DEBUG - if (debug == 2) - error_message("rethread=[%d] thread_arts=[%d] attr_thread_arts=[%d]", - rethread, tinrc.thread_articles, group->attribute->thread_arts); + if (debug & DEBUG_MISC) + error_message(2, "rethread=[%d] thread_articles=[%d] attr_thread_articles=[%d]", + rethread, tinrc.thread_articles, group->attribute->thread_articles); #endif /* DEBUG */ /* @@ -1034,7 +1124,7 @@ make_threads( * on arts[] and so the base messages under all threading systems * will be sorted in this way. */ - sort_arts(group->attribute->sort_art_type); + sort_arts(group->attribute->sort_article_type); /* * Reset all the ptrs to articles following the above sort @@ -1045,7 +1135,7 @@ make_threads( * The threading pointers need to be reset if re-threading * If using ref threading, revector the links back to the articles */ - if (rethread || group->attribute->thread_arts) { + if (rethread || group->attribute->thread_articles) { int i; for_each_art(i) { @@ -1055,16 +1145,17 @@ make_threads( arts[i].prev = ART_NORMAL; /* Should never happen if tree is built properly */ - if (arts[i].refptr == 0) { + if (arts[i].refptr == NULL) { #ifdef DEBUG - my_fprintf(stderr, "\nError : art->refptr is NULL\n"); - my_fprintf(stderr, "Artnum : %ld\n", arts[i].artnum); - my_fprintf(stderr, "Subject: %s\n", arts[i].subject); - my_fprintf(stderr, "From : %s\n", arts[i].from); - assert(arts[i].refptr != 0); -#else - continue; + if (debug & DEBUG_REFS) { + my_fprintf(stderr, "\nError : art->refptr is NULL\n"); + my_fprintf(stderr, "Artnum : %ld\n", arts[i].artnum); + my_fprintf(stderr, "Subject: %s\n", arts[i].subject); + my_fprintf(stderr, "From : %s\n", arts[i].from); + assert(arts[i].refptr != NULL); + } else #endif /* DEBUG */ + continue; } arts[i].refptr->article = i; } @@ -1073,7 +1164,7 @@ make_threads( /* * Do the right thing according to the threading strategy */ - switch (group->attribute->thread_arts) { + switch (group->attribute->thread_articles) { case THREAD_NONE: break; @@ -1169,11 +1260,19 @@ static void sort_base( unsigned int sort_threads_type) { - switch (sort_threads_type) { /* this switch doesn't look very usefull */ + switch (sort_threads_type) { case SORT_THREADS_BY_SCORE_DESCEND: case SORT_THREADS_BY_SCORE_ASCEND: qsort(base, (size_t) grpmenu.max, sizeof(long), score_comp_base); break; + + case SORT_THREADS_BY_LAST_POSTING_DATE_DESCEND: + qsort(base, (size_t) grpmenu.max, sizeof(long), last_date_comp_base_desc); + break; + + case SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND: + qsort(base, (size_t) grpmenu.max, sizeof(long), last_date_comp_base_asc); + break; } } @@ -1196,7 +1295,6 @@ parse_headers( { char art_from_addr[HEADER_LEN]; char art_full_name[HEADER_LEN]; - char art_trunc_subj[HEADER_LEN]; char *hdr, *ptr; unsigned int lineno = 0; unsigned int max_lineno = 25; @@ -1224,11 +1322,11 @@ parse_headers( * Archive-name: {name}/{part|patch}{number} * eg, acorn/faq/part01 */ - if ((hdr = parse_header(ptr + 1, "rchive-name", FALSE, FALSE))) { + if ((hdr = parse_header(ptr + 1, "rchive-name", FALSE, FALSE, FALSE))) { char *s; if ((s = strrchr(hdr, '/')) != NULL) { - struct t_archive *archptr = my_malloc(sizeof(struct t_article)); + struct t_archive *archptr = my_malloc(sizeof(struct t_archive)); if (STRNCASECMPEQ(s + 1, "part", 4)) { archptr->partnum = my_strdup(s + 5); @@ -1250,18 +1348,18 @@ parse_headers( case 'D': /* Date: mandatory */ if (!h->date) { - if ((hdr = parse_header(ptr + 1, "ate", FALSE, FALSE))) + if ((hdr = parse_header(ptr + 1, "ate", FALSE, FALSE, FALSE))) h->date = parsedate(hdr, (struct _TIMEINFO *) 0); } break; case 'F': /* From: mandatory */ if (!got_from) { - if ((hdr = parse_header(ptr + 1, "rom", FALSE, FALSE))) { + if ((hdr = parse_header(ptr + 1, "rom", FALSE, FALSE, FALSE))) { h->gnksa_code = parse_from(hdr, art_from_addr, art_full_name); h->from = hash_str(buffer_to_ascii(art_from_addr)); if (*art_full_name) - h->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name)))); + h->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name), FALSE))); got_from = TRUE; } } @@ -1269,7 +1367,7 @@ parse_headers( case 'L': /* Lines: optional */ if (!got_lines) { - if ((hdr = parse_header(ptr + 1, "ines", FALSE, FALSE))) { + if ((hdr = parse_header(ptr + 1, "ines", FALSE, FALSE, FALSE))) { h->line_count = atoi(hdr); got_lines = TRUE; } @@ -1278,44 +1376,36 @@ parse_headers( case 'M': /* Message-ID: mandatory */ if (!h->msgid) { - if ((hdr = parse_header(ptr + 1, "essage-ID", FALSE, FALSE))) + if ((hdr = parse_header(ptr + 1, "essage-ID", FALSE, FALSE, FALSE))) h->msgid = my_strdup(hdr); } break; case 'R': /* References: optional */ if (!h->refs) { - if ((hdr = parse_header(ptr + 1, "eferences", FALSE, FALSE))) + if ((hdr = parse_header(ptr + 1, "eferences", FALSE, FALSE, FALSE))) h->refs = my_strdup(hdr); } /* Received: If found it's probably a mail article */ if (!got_received) { - if ((hdr = parse_header(ptr + 1, "eceived", FALSE, FALSE))) { + if (parse_header(ptr + 1, "eceived", FALSE, FALSE, FALSE)) { max_lineno <<= 1; /* double the max number of line to read for mails */ got_received = TRUE; } } break; - /* - * FIXME: Subject: truncation is a HACK and it's not multibyte safe - * the core problem are probably fixed length buffers - * (i.e. in rfc1522_encode() called from write_overview() - * with the data read in here). - */ case 'S': /* Subject: mandatory */ if (!h->subject) { - if ((hdr = parse_header(ptr + 1, "ubject", FALSE, FALSE))) { - strncpy(art_trunc_subj, eat_re(eat_tab(convert_to_printable(rfc1522_decode(hdr))), FALSE), sizeof(art_trunc_subj) - 1); - h->subject = hash_str(art_trunc_subj); - } + if ((hdr = parse_header(ptr + 1, "ubject", FALSE, FALSE, FALSE))) + h->subject = hash_str(eat_re(eat_tab(convert_to_printable(rfc1522_decode(hdr), FALSE)), FALSE)); } break; case 'X': /* Xref: optional */ if (!h->xref) { - if ((hdr = parse_header(ptr + 1, "ref", FALSE, FALSE))) + if ((hdr = parse_header(ptr + 1, "ref", FALSE, FALSE, FALSE))) h->xref = my_strdup(hdr); } break; @@ -1337,6 +1427,10 @@ parse_headers( /* * The son of RFC 1036 states that the following hdrs are mandatory. It * also states that Subject, Newsgroups and Path are too. Ho hum. + * + * What about readinng mail from local spool via ~/.tin/active.mail, + * they might not have a Message-ID but got_received is very likely to + * be true. */ if (got_from && h->date && h->msgid) { if (!h->subject) @@ -1352,11 +1446,6 @@ parse_headers( } -#ifdef DEBUG -# define handle_overview_fmt_error() else oerror += 1<) [mandatory] * 6. References: (ie. ....) [optional] * 7. Byte count (Skipped - not used) [mandatory] - * 8. Lines: line (ie. 23) [mandatory] + * 8. Line count (ie. 23) [mandatory] * 9. Xref: line (ie. alt.test:389) [optional] */ static int @@ -1386,6 +1475,7 @@ read_overview( { FILE *fp; char *ptr; + char *q; char *buf; char *group_msg; char art_full_name[HEADER_LEN]; @@ -1394,9 +1484,7 @@ read_overview( int expired = 0; long artnum; struct t_article *art; -#ifdef DEBUG - unsigned int oerror = 0; -#endif /* DEBUG */ + size_t over_fields = 1; /* * open the overview file (whether it be local or via nntp) @@ -1408,6 +1496,35 @@ read_overview( group->xmax = max; group_msg = fmt_string(_(txt_group), cCOLS - strlen(_(txt_group)) + 2 - 3, group->name); + + /* get the number of fields per over-record as announced by LIST OVERVIEW.FMT */ + if (ofmt) { + for (; ofmt[over_fields].name; over_fields++) + ; + } + if (!--over_fields) { /* e.g. nntp_caps.type == CAPABILITIES && !nntp_caps.list_overview_fmt -> assume defaults */ + ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (8 + 1)); + ofmt[0].type = OVER_T_INT; + ofmt[0].name = my_strdup("Artnum:"); + ofmt[1].type = OVER_T_STRING; + ofmt[1].name = my_strdup("Subject:"); + ofmt[2].type = OVER_T_STRING; + ofmt[2].name = my_strdup("From:"); + ofmt[3].type = OVER_T_STRING; + ofmt[3].name = my_strdup("Date:"); + ofmt[4].type = OVER_T_STRING; + ofmt[4].name = my_strdup("Message-ID:"); + ofmt[5].type = OVER_T_STRING; + ofmt[5].name = my_strdup("References:"); + ofmt[6].type = OVER_T_INT; + ofmt[6].name = my_strdup("Bytes:"); + ofmt[7].type = OVER_T_INT; + ofmt[7].name = my_strdup("Lines:"); + ofmt[8].type = OVER_T_ERROR; + ofmt[8].name = NULL; + over_fields = 7; + } + while ((buf = tin_fgets(fp, FALSE)) != NULL) { if (need_resize) { handle_resize((need_resize == cRedraw) ? TRUE : FALSE); @@ -1433,6 +1550,12 @@ read_overview( continue; /* + * skip artnums below the given minimum (getart_limit) + */ + if (artnum < min) + continue; + + /* * Check to make sure article in nov file has not expired in group */ if (artnum < group->xmin) { @@ -1462,82 +1585,230 @@ read_overview( * to check for additions like we do with xref_supported */ for (count = 1; (ptr = tin_strtok(NULL, "\t")) != NULL; count++) { - switch (count) { - case 1: /* Subject */ - /* - * TODO: As eat_re() is also called in batch_mode we need - * to init (all) regexes (but do not use the others). - * Calling eat_re() isn't very wise at all as we use - * the modified subject for -N/-M batch opperations - * so ppl. can't tell from the subject if the posting - * was a reply or not. - */ - art->subject = hash_str(eat_re(eat_tab(convert_to_printable(rfc1522_decode(ptr))), FALSE)); - break; - - case 2: /* From */ - art->gnksa_code = parse_from(ptr, art_from_addr, art_full_name); - art->from = hash_str(buffer_to_ascii(art_from_addr)); - - if (*art_full_name) - art->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name)))); - break; - - case 3: /* Date */ - art->date = parsedate(ptr, (TIMEINFO *) 0); -#ifdef DEBUG - if (art->date == (time_t) -1) - oerror += 1<msgid = my_strdup(ptr); - handle_overview_fmt_error(); - break; - - case 5: /* References */ - if (*ptr) - art->refs = my_strdup(ptr); - break; - - case 6: /* Bytes */ -#ifdef DEBUG - if (!isdigit((unsigned char) *ptr)) - oerror += 1<line_count = atoi(ptr); - handle_overview_fmt_error(); - break; + /* skip unexpected tailing fields */ + if (count > over_fields) { +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) Unexpected overview-field %d of %d: %s", nntp_caps.over_cmd, artnum, count, over_fields, ptr); +#endif /* DEBUG */ - case 8: /* Xref: */ - if (!xref_supported) + /* "common error" Xref:full in overview-data but not in OVERVIEW.FTM */ + if (count == over_fields + 1) { + if (!strncasecmp(ptr, "Xref: ", 6)) { +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s: found unexpected Xref: on semi std. position", nntp_caps.over_cmd); +#endif /* DEBUG */ + over_fields++; + ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (over_fields + 2)); /* + 2 = artnum and end-marker */ + ofmt[over_fields].type = OVER_T_FSTRING; + ofmt[over_fields].name = my_strdup("Xref:"); + ofmt[over_fields + 1].type = OVER_T_ERROR; + ofmt[over_fields + 1].name = NULL; + xref_supported = TRUE; + } else continue; - /* TODO: crosscheck artnum against Xref:-line (if Xref:full) */ - if ((ptr = parse_header(ptr, "Xref", FALSE, FALSE)) != NULL) - art->xref = my_strdup(ptr); - handle_overview_fmt_error(); - break; + } else + continue; } - } + /* for duplicated headers this is last match counts, INN >= 2.5.3 does first match counts */ + if (expensive_over_parse) { /* strange order */ + /* madatory fields */ + if (ofmt[count].type == OVER_T_STRING) { + if (!strcasecmp(ofmt[count].name, "Subject:")) { + if (*ptr) + art->subject = hash_str(eat_re(eat_tab(convert_to_printable(rfc1522_decode(ptr), FALSE)), FALSE)); + else { + art->subject = hash_str(""); #ifdef DEBUG - /* Complain if incorrect # of fields */ - if (count < (xref_supported ? 8 : 7) || oerror) { - char errbuf[LEN]; - - error_message(_("%d Bad overview record (%d fields) '%s'"), oerror, count, BlankIfNull(ptr)); /* TODO move to lang.c */ - snprintf(errbuf, sizeof(errbuf), "%d Bad overview record (%d fields)", oerror, count); - debug_nntp("read_overview", errbuf); - } - debug_print_header(art); - oerror = 0; + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) empty overview-field %s", nntp_caps.over_cmd, artnum, ofmt[count].name); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ofmt[count].name, "From:")) { + if (*ptr) { + art->gnksa_code = parse_from(ptr, art_from_addr, art_full_name); + art->from = hash_str(buffer_to_ascii(art_from_addr)); + if (*art_full_name) + art->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name), FALSE))); + } else { + art->from = hash_str(""); +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) empty overview-field %s", nntp_caps.over_cmd, artnum, ofmt[count].name); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ofmt[count].name, "Date:")) { + art->date = parsedate(ptr, (TIMEINFO *) 0); +#ifdef DEBUG + if ((debug & DEBUG_NNTP) && art->date == (time_t) -1) + debug_print_file("NNTP", "%s(%d) bogus overview-field %s %s", nntp_caps.over_cmd, artnum, ofmt[count].name, ptr); +#endif /* DEBUG */ + continue; + } + + if (!strcasecmp(ofmt[count].name, "Message-ID:")) { + if (*ptr) { + FreeIfNeeded(art->msgid); /* if field is listed more than once in overview.fmt */ + art->msgid = my_strdup(ptr); + } else { + art->msgid = NULL; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) empty overview-field %s", nntp_caps.over_cmd, artnum, ofmt[count].name); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ofmt[count].name, "References:")) { + if (*ptr) { + FreeIfNeeded(art->refs); /* if field is listed more than once in overview.fmt */ + art->refs = my_strdup(ptr); + } else + art->refs = NULL; + continue; + } + } + /* metadata fields */ + if (ofmt[count].type == OVER_T_INT) { + if (!strcasecmp(ofmt[count].name, "Bytes:")) { + if (*ptr) { +#ifdef DEBUG + if ((debug & DEBUG_NNTP) && !isdigit((unsigned char) *ptr)) + debug_print_file("NNTP", "%s(%d) overview field %d (%s) mismatch: %s", nntp_caps.over_cmd, artnum, count, ofmt[count].name, ptr); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ofmt[count].name, "Lines:")) { + if (*ptr) { + if (isdigit((unsigned char) *ptr)) + art->line_count = atoi(ptr); + else { + art->line_count = 0; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) overview field %d (%s) mismatch: %s", nntp_caps.over_cmd, artnum, count, ofmt[count].name, ptr); +#endif /* DEBUG */ + } + } else + art->line_count = 0; + continue; + } + } + } else { /* first 7 fields are in RFC 3977 order */ + switch (count) { + case 1: /* Subject: */ + if (*ptr) + art->subject = hash_str(eat_re(eat_tab(convert_to_printable(rfc1522_decode(ptr), FALSE)), FALSE)); + else { + art->subject = hash_str(""); +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) empty overview-field %s", nntp_caps.over_cmd, artnum, ofmt[count].name); +#endif /* DEBUG */ + } + break; + + case 2: /* From: */ + if (*ptr) { + art->gnksa_code = parse_from(ptr, art_from_addr, art_full_name); + art->from = hash_str(buffer_to_ascii(art_from_addr)); + if (*art_full_name) + art->name = hash_str(eat_tab(convert_to_printable(rfc1522_decode(art_full_name), FALSE))); + } else { + art->from = hash_str(""); +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) empty overview-field %s", nntp_caps.over_cmd, artnum, ofmt[count].name); +#endif /* DEBUG */ + } + break; + + case 3: /* Date: */ + art->date = parsedate(ptr, (TIMEINFO *) 0); +#ifdef DEBUG + if ((debug & DEBUG_NNTP) && art->date == (time_t) -1) + debug_print_file("NNTP", "%s(%d) bogus overview-field %s %s", nntp_caps.over_cmd, artnum, ofmt[count].name, ptr); +#endif /* DEBUG */ + break; + + case 4: /* Message-ID: */ + if (*ptr) + art->msgid = my_strdup(ptr); + else { + art->msgid = NULL; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) empty overview-field %s", nntp_caps.over_cmd, artnum, ofmt[count].name); +#endif /* DEBUG */ + } + break; + + case 5: /* References: */ + if (*ptr) + art->refs = my_strdup(ptr); + else + art->refs = NULL; + break; + + case 6: /* :bytes || Bytes: */ + if (*ptr) { +#ifdef DEBUG + if ((debug & DEBUG_NNTP) && !isdigit((unsigned char) *ptr)) + debug_print_file("NNTP", "%s(%d) overview field %d (%s) mismatch: %s", nntp_caps.over_cmd, artnum, count, ofmt[count].name, ptr); +#endif /* DEBUG */ + } + break; + + case 7: /* :lines || Lines: */ + if (*ptr) { + if (isdigit((unsigned char) *ptr)) + art->line_count = atoi(ptr); + else { + art->line_count = 0; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) overview field %d (%s) mismatch: %s", nntp_caps.over_cmd, artnum, count, ofmt[count].name, ptr); #endif /* DEBUG */ + } + } else + art->line_count = 0; + break; + + default: + break; + } + } + + /* optional fields; for duplicated headers: last match counts, INN >= 2.5.3 does first match counts */ + if (ofmt[count].type == OVER_T_FSTRING) { + if (*ptr) { + if (!strcasecmp(ofmt[count].name, "Xref:")) { + if ((q = parse_header(ptr, "Xref", FALSE, FALSE, FALSE)) != NULL) { + FreeIfNeeded(art->xref); /* if field is listed more than once in overview.fmt */ + art->xref = my_strdup(q); + } +#ifdef DEBUG + else { + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "%s(%d) bogus overview-field %s %s", nntp_caps.over_cmd, artnum, ofmt[count].name, ptr); + } +#endif /* DEBUG */ + } + } + continue; + } + } /* * RFC says Message-ID is mandatory in newsgroups (but not in @@ -1553,13 +1824,79 @@ read_overview( top_art++; /* Basically this statement commits the article */ } - free(group_msg); + free(group_msg); TIN_FCLOSE(fp); if (tin_errno) return -1; +#if defined(NNTP_ABLE) && defined(XHDR_XREF) + if (read_news_via_nntp && !read_saved_news && !xref_supported && nntp_caps.hdr_cmd) { + char cbuf[HEADER_LEN]; + static t_bool found; + static t_bool first = TRUE; + + if (first) { + found = TRUE; + /* + * TODO: do once a start and cache full result + * if "LIST HEADERS RANGE" failed try "LIST HEADERS"? + */ + if (nntp_caps.type == CAPABILITIES && nntp_caps.list_headers) { + int i = new_nntp_command("LIST HEADERS RANGE", 215, cbuf, sizeof(cbuf)); + + found = FALSE; + switch (i) { + case 215: + while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) { +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); +# endif /* DEBUG */ + if (!found && ((*ptr == ':' && *(ptr + 1) == '\0') || !strncasecmp(ptr, "Xref", 4))) + found = TRUE; + } + break; + + default: + break; + } + first = FALSE; + } + } + + if (found) { + snprintf(cbuf, sizeof(cbuf), "%s XREF %ld-%ld", nntp_caps.hdr_cmd, min, MAX(min, max)); + group_msg = fmt_string("%s XREF loop", nntp_caps.hdr_cmd); /* TODO: find a better message, move to lang.c */ + if ((fp = nntp_command(cbuf, nntp_caps.hdr ? OK_HDR : OK_HEAD, NULL, 0)) != NULL) { /* RFC 2980 (XHDR) uses 221; RFC 3977 (HDR) uses 225 */ + while ((ptr = tin_fgets(fp, FALSE)) != NULL) { + artnum = atol(ptr); + if (artnum <= 0 || artnum < group->xmin || artnum > group->xmax) + continue; + art = &arts[top_art]; + set_article(art); + if (!art->xref && !strstr(ptr, "(none)")) { + if ((q = strchr(ptr, ' ')) == NULL) /* skip article number */ + continue; + ptr = q; + while (*ptr && isspace((int) *ptr)) + ptr++; + q = strchr(ptr, '\n'); + if (q) + *q = '\0'; + art->xref = my_strdup(ptr); + } + /* we might loose accuracy here, but that shouldn't hurt */ + if (artnum % MODULO_COUNT_NUM == 0) + show_progress(group_msg, artnum - min, max - min); + } + } + free(group_msg); + } + } +#endif /* NNTP_ABLE && XHDR_XREF */ + return expired; } @@ -1575,7 +1912,7 @@ read_overview( * 5. MessageID: (ie. <123@ether.net>) [mandatory] * 6. References: (ie. ....) [optional] * 7. Byte count (Skipped - not used) [mandatory] - * 8. Lines: line (ie. 23) [mandatory] + * 8. Line count (ie. 23) [mandatory] * 9. Xref: line (ie. alt.test:389) [optional] * * TODO: as we don't use the original data, we currently can't store @@ -1585,7 +1922,7 @@ read_overview( * with a wrong charset and thus lose information. a simmiliar problem * exists with the data for the from:-line, we don't store it in the * original format, whenever our from-parser (partially) fails we'll - * lose informations in our overviews (but those couldn't be handeled + * lose information in our overviews (but those couldn't be handeled * by tin anyway, so this is not a real problem). * long-term solution: store the original data in the overview * (tin has to handle raw 8bit data and other ugly stuff in the @@ -1596,7 +1933,7 @@ read_overview( * which hold the raw data for from/subject. the latter has the * disadvantage that it costs (much) more memory. */ -void +static void write_overview( struct t_group *group) { @@ -1605,15 +1942,15 @@ write_overview( struct t_article *article; /* - * Can't write or caching is off + * Can't write or caching is off or getart_limit is set */ - if (no_write || !tinrc.cache_overview_files) + if (no_write || !tinrc.cache_overview_files || (cmdline.args & CMDLINE_GETART_LIMIT ? cmdline.getart_limit : tinrc.getart_limit) != 0) return; if ((fp = open_xover_fp(group, "w", 0L, 0L, FALSE)) == NULL) return; - if (group->attribute->sort_art_type != SORT_ARTICLES_BY_NOTHING) + if (group->attribute->sort_article_type != SORT_ARTICLES_BY_NOTHING) SortBy(artnum_comp); /* @@ -1622,12 +1959,13 @@ write_overview( fprintf(fp, "%s\n", group->name); for_each_art(i) { + char *p; + char *q, *ref; + article = &arts[i]; if (article->thread != ART_EXPIRED && article->artnum >= group->xmin) { - char *p; - char *q = NULL, *ref = NULL; - + ref = NULL; /* * TODO: instead of tinrc.mm_local_charset we'd better use UTF-8 * here and in print_from() in the CHARSET_CONVERSION case. @@ -1663,8 +2001,8 @@ write_overview( fprintf(fp, "%ld\t%s\t%s\t%s\t%s\t%s\t%d\t%d", article->artnum, - tinrc.post_8bit_header ? article->subject : p, - print_from(article), + group->attribute->post_8bit_header ? article->subject : p, + print_from(group, article), print_date(article->date), BlankIfNull(article->msgid), BlankIfNull(ref), @@ -1676,9 +2014,9 @@ write_overview( fprintf(fp, "\n"); free(p); - if (q != ref) { - free(ref); - ref = q = NULL; + if (article->refs) { + FreeIfNeeded(ref); + q = NULL; } } } @@ -1738,7 +2076,7 @@ find_nov_file( */ /* - * When reading via NNTP, system wide overviews are irrelevent, of + * When reading via NNTP, system wide overviews are irrelevant, of * course, and the private overview filename will be the same for * both reading and writing. * @@ -1751,8 +2089,8 @@ find_nov_file( */ #ifndef NNTP_ONLY if (!read_news_via_nntp) { - make_base_group_path(novrootdir, group->name, buf); - joinpath(nov_file, buf, novfilename); + make_base_group_path(novrootdir, group->name, buf, sizeof(buf)); + joinpath(nov_file, sizeof(nov_file), buf, novfilename); if (access(nov_file, R_OK) == 0) { if (mode == R_OK) return nov_file; /* Use system wide overviews */ @@ -1806,7 +2144,7 @@ find_nov_file( * now that we know it is valid */ if (!once_only) - joinpath(local_newsgroups_file, index_newsdir, NEWSGROUPS_FILE); + joinpath(local_newsgroups_file, sizeof(local_newsgroups_file), index_newsdir, NEWSGROUPS_FILE); dir = index_newsdir; break; @@ -1828,7 +2166,7 @@ find_nov_file( char *ptr; snprintf(buf, sizeof(buf), "%lu.%d", hash, i); - joinpath(nov_file, dir, buf); + joinpath(nov_file, sizeof(nov_file), dir, buf); if ((fp = fopen(nov_file, "r")) == NULL) break; @@ -2145,16 +2483,16 @@ score_comp_base( t_comptype p1, t_comptype p2) { - int a = get_score_of_thread(*(const long *)p1); - int b = get_score_of_thread(*(const long *)p2); + int a = get_score_of_thread(*(const long *) p1); + int b = get_score_of_thread(*(const long *) p2); /* If scores are equal, compare using the article sort order. * This determines the order in a group of equally scored threads. */ if (a == b) { - const struct t_article *s1 = &arts[*(const long *)p1]; - const struct t_article *s2 = &arts[*(const long *)p2]; - t_compfunc comp_func = eval_sort_arts_func(CURR_GROUP.attribute->sort_art_type); + const struct t_article *s1 = &arts[*(const long *) p1]; + const struct t_article *s2 = &arts[*(const long *) p2]; + t_compfunc comp_func = eval_sort_arts_func(CURR_GROUP.attribute->sort_article_type); if (comp_func) return (*comp_func)(s1, s2); @@ -2167,6 +2505,61 @@ score_comp_base( } +/* + * Compare the date of the last posted article of two threads. + * Used for sorting base[]. + */ +static int +last_date_comp_base_desc( + t_comptype p1, + t_comptype p2) +{ + time_t s1_last = get_last_posting_date(*(const long *) p1); + time_t s2_last = get_last_posting_date(*(const long *) p2); + + if (s2_last < s1_last) + return -1; + + if (s2_last > s1_last) + return 1; + + return 0; +} + + +static int +last_date_comp_base_asc( + t_comptype p1, + t_comptype p2) +{ + time_t s1_last = get_last_posting_date(*(const long *) p1); + time_t s2_last = get_last_posting_date(*(const long *) p2); + + if (s2_last > s1_last) + return -1; + + if (s2_last < s1_last) + return 1; + + return 0; +} + + +static time_t get_last_posting_date( + long n) +{ + long i; + time_t last = (time_t) 0; + + for (i = n; i >= 0; i = arts[i].thread) { + if (arts[i].date > last) + last = arts[i].date; + } + + return last; +} + + void set_article( struct t_article *art) @@ -2181,7 +2574,7 @@ set_article( art->refptr = NULL; art->line_count = -1; art->archive = NULL; - art->tagged = FALSE; + art->tagged = 0; art->thread = ART_EXPIRED; art->prev = ART_NORMAL; art->score = 0; @@ -2192,6 +2585,7 @@ set_article( art->selected = FALSE; art->inrange = FALSE; art->matched = FALSE; + art->keep_in_base = FALSE; } @@ -2219,7 +2613,7 @@ valid_artnum( return cur; prev = cur; - cur += (arts[cur].artnum < art) ? range : -range; + cur += ((arts[cur].artnum < art) ? range : -range); if (prev == cur) break; @@ -2232,6 +2626,25 @@ valid_artnum( } +/* + * Loop over arts[] to see if 'art' (an article number) exists in arts[] + * Needed if arts[] is not sorted on artnum + * Return index into arts[] or -1 + */ +int +find_artnum( + long art) +{ + int i; + + for_each_art(i) { + if (arts[i].artnum == art) + return i; + } + return -1; +} + + /*----------------------------- Overview handling -----------------------*/ static char * @@ -2258,6 +2671,7 @@ print_date( static char * print_from( + struct t_group *group, struct t_article *article) { char *p; @@ -2269,13 +2683,12 @@ print_from( p = rfc1522_encode(article->name, tinrc.mm_local_charset, FALSE); unfold_header(p); if (strpbrk(article->name, "\".:;<>@[]()\\") != NULL && article->name[0] != '"' && article->name[strlen(article->name)] != '"') - snprintf(from, sizeof(from), "\"%s\" <%s>", tinrc.post_8bit_header ? article->name : p, article->from); + snprintf(from, sizeof(from), "\"%s\" <%s>", group->attribute->post_8bit_header ? article->name : p, article->from); else - snprintf(from, sizeof(from), "%s <%s>", tinrc.post_8bit_header ? article->name : p, article->from); + snprintf(from, sizeof(from), "%s <%s>", group->attribute->post_8bit_header ? article->name : p, article->from); free(p); - } - else + } else STRCPY(from, article->from); return from; @@ -2298,7 +2711,12 @@ open_xover_fp( if (!local && nntp_caps.over_cmd && *mode == 'r' && group->type == GROUP_TYPE_NEWS) { char line[NNTP_STRLEN]; - snprintf(line, sizeof(line), "%s %ld-%ld", nntp_caps.over_cmd, min, max); + if (!max) + return NULL; + if (min == max) + snprintf(line, sizeof(line), "%s %ld", nntp_caps.over_cmd, min); + else + snprintf(line, sizeof(line), "%s %ld-%ld", nntp_caps.over_cmd, min, MAX(min, max)); return (nntp_command(line, OK_XOVER, NULL, 0)); } #endif /* NNTP_ABLE */ @@ -2311,7 +2729,7 @@ open_xover_fp( return fp; if (*mode != 'r') - error_message(_(txt_cannot_open), nov_file); + error_message(2, _(txt_cannot_open), nov_file); } } return NULL; diff -Nurp --exclude='.bzr*' tin-1.8.3/src/attrib.c tin-2.0.0/src/attrib.c --- tin-1.8.3/src/attrib.c 2005-12-02 12:07:35.000000000 +0100 +++ tin-2.0.0/src/attrib.c 2011-05-10 15:45:52.080796362 +0200 @@ -3,10 +3,10 @@ * Module : attrib.c * Author : I. Lea * Created : 1993-12-01 - * Updated : 2005-06-30 + * Updated : 2011-05-08 * Notes : Group attribute routines * - * Copyright (c) 1993-2006 Iain Lea + * Copyright (c) 1993-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,82 +41,31 @@ #ifndef VERSION_H # include "version.h" #endif /* !VERSION_H */ +#ifndef TCURSES_H +# include "tcurses.h" +#endif /* !TCURSES_H */ -#ifdef DEBUG -# ifndef TCURSES_H -# include "tcurses.h" -# endif /* !TCURSES_H */ -#endif /* DEBUG */ /* - * Defines used in setting attributes switch + * Global file offset for local_attributes_file */ -enum { - ATTRIB_MAILDIR, - ATTRIB_SAVEDIR, - ATTRIB_SAVEFILE, - ATTRIB_ORGANIZATION, - ATTRIB_FROM, - ATTRIB_SIGFILE, - ATTRIB_FOLLOWUP_TO, - ATTRIB_AUTO_SELECT, - ATTRIB_AUTO_SAVE, - ATTRIB_BATCH_SAVE, - ATTRIB_DELETE_TMP_FILES, - ATTRIB_SHOW_ONLY_UNREAD, - ATTRIB_THREAD_ARTS, - ATTRIB_THREAD_PERC, - ATTRIB_SHOW_AUTHOR, - ATTRIB_SHOW_INFO, - ATTRIB_SORT_ART_TYPE, - ATTRIB_POST_PROC_TYPE, - ATTRIB_QUICK_KILL_HEADER, - ATTRIB_QUICK_KILL_SCOPE, - ATTRIB_QUICK_KILL_EXPIRE, - ATTRIB_QUICK_KILL_CASE, - ATTRIB_QUICK_SELECT_HEADER, - ATTRIB_QUICK_SELECT_SCOPE, - ATTRIB_QUICK_SELECT_EXPIRE, - ATTRIB_QUICK_SELECT_CASE, - ATTRIB_MAILING_LIST, - ATTRIB_X_HEADERS, - ATTRIB_X_BODY, - ATTRIB_AUTO_SAVE_MSG, /* TODO: what is this? dublicate of ATTRIB_AUTO_SAVE? */ - ATTRIB_X_COMMENT_TO, - ATTRIB_FCC, - ATTRIB_NEWS_QUOTE, - ATTRIB_QUOTE_CHARS, - ATTRIB_MIME_TYPES_TO_SAVE, - ATTRIB_MIME_FORWARD, -#ifdef HAVE_ISPELL - ATTRIB_ISPELL, -#endif /* HAVE_ISPELL */ - ATTRIB_SORT_THREADS_TYPE, - ATTRIB_TEX2ISO_CONV -#ifdef CHARSET_CONVERSION - ,ATTRIB_MM_NETWORK_CHARSET - ,ATTRIB_UNDECLARED_CHARSET -#endif /* CHARSET_CONVERSION */ -}; +int attrib_file_offset; + /* * Local prototypes */ -static void do_set_attrib(struct t_group *group, int type, const char *data); -static void read_attributes_file(t_bool global_file, t_bool startup); -static void set_attrib(int type, const char *scope, const char *data); -static void set_default_attributes(struct t_attribute *attributes); -#if 0 /* unused */ -# ifdef DEBUG +static void set_attrib(int type, const char *scope, void *data); +static void set_default_attributes(struct t_attribute *attributes, struct t_attribute *scope, t_bool global); +static void set_default_state(struct t_attribute_state *state); +#ifdef DEBUG static void dump_attributes(void); -# endif /* DEBUG */ -#endif /* 0 */ + static void dump_scopes(const char *fname); +# if 0 /* unused */ + static void debug_print_filter_attributes(void); +# endif /* 0 */ +#endif /* DEBUG */ -/* - * Global attributes. This is attached to all groups that have no - * specific attributes. - */ -struct t_attribute glob_attributes; /* * Per group attributes. This fills out a basic template of defaults @@ -124,45 +73,81 @@ struct t_attribute glob_attributes; */ static void set_default_attributes( - struct t_attribute *attributes) + struct t_attribute *attributes, + struct t_attribute *scope, + t_bool global) { - attributes->global = FALSE; /* global/group specific */ - attributes->maildir = tinrc.maildir; - attributes->savedir = tinrc.savedir; + attributes->global = (global ? TRUE : FALSE); /* global/group specific */ + attributes->maildir = (scope ? scope->maildir : (global ? tinrc.maildir : NULL)); + attributes->savedir = (scope ? scope->savedir : (global ? tinrc.savedir : NULL)); attributes->savefile = NULL; - attributes->sigfile = tinrc.sigfile; - attributes->organization = (*default_organization ? default_organization : NULL); + attributes->sigfile = (scope ? scope->sigfile : (global ? tinrc.sigfile : NULL)); + attributes->date_format = (scope ? scope->date_format : (global ? tinrc.date_format : NULL)); + attributes->editor_format = (scope ? scope->editor_format : (global ? tinrc.editor_format : NULL)); + attributes->organization = (scope ? scope->organization : (global ? (*default_organization ? default_organization : NULL) : NULL)); attributes->followup_to = NULL; attributes->mailing_list = NULL; attributes->x_headers = NULL; attributes->x_body = NULL; - attributes->from = tinrc.mail_address; - attributes->news_quote_format = tinrc.news_quote_format; - attributes->quote_chars = tinrc.quote_chars; - attributes->mime_types_to_save = my_strdup("*/*"); + attributes->from = (scope ? scope->from : (global ? tinrc.mail_address : NULL)); + attributes->news_quote_format = (scope ? scope->news_quote_format : (global ? tinrc.news_quote_format : NULL)); + attributes->quote_chars = (scope ? scope->quote_chars : (global ? tinrc.quote_chars : NULL)); + attributes->mime_types_to_save = (scope ? scope->mime_types_to_save : (global ? my_strdup("*/*") : NULL)); #ifdef HAVE_ISPELL attributes->ispell = NULL; #endif /* HAVE_ISPELL */ - attributes->quick_kill_scope = (tinrc.default_filter_kill_global ? my_strdup("*") : NULL); + attributes->quick_kill_scope = (scope ? scope->quick_kill_scope : (global ? (tinrc.default_filter_kill_global ? my_strdup("*") : NULL) : NULL)); attributes->quick_kill_header = tinrc.default_filter_kill_header; attributes->quick_kill_case = tinrc.default_filter_kill_case; attributes->quick_kill_expire = tinrc.default_filter_kill_expire; - attributes->quick_select_scope = (tinrc.default_filter_select_global ? my_strdup("*") : NULL); + attributes->quick_select_scope = (scope ? scope->quick_select_scope : (global ? (tinrc.default_filter_select_global ? my_strdup("*") : NULL) : NULL)); attributes->quick_select_header = tinrc.default_filter_select_header; attributes->quick_select_case = tinrc.default_filter_select_case; attributes->quick_select_expire = tinrc.default_filter_select_expire; - attributes->show_only_unread = tinrc.show_only_unread_arts; - attributes->thread_arts = tinrc.thread_articles; + attributes->show_only_unread_arts = tinrc.show_only_unread_arts; + attributes->thread_articles = tinrc.thread_articles; + attributes->thread_catchup_on_exit = tinrc.thread_catchup_on_exit; attributes->thread_perc = tinrc.thread_perc; - attributes->sort_art_type = tinrc.sort_article_type; + attributes->sort_article_type = tinrc.sort_article_type; attributes->sort_threads_type = tinrc.sort_threads_type; attributes->show_info = tinrc.show_info; attributes->show_author = tinrc.show_author; + attributes->show_signatures = tinrc.show_signatures; + attributes->trim_article_body = tinrc.trim_article_body; + attributes->verbatim_handling = tinrc.verbatim_handling; + attributes->wrap_on_next_unread = tinrc.wrap_on_next_unread; + attributes->add_posted_to_filter = tinrc.add_posted_to_filter; + attributes->advertising = tinrc.advertising; + attributes->alternative_handling = tinrc.alternative_handling; + attributes->ask_for_metamail = tinrc.ask_for_metamail; + attributes->auto_cc_bcc = tinrc.auto_cc_bcc; + attributes->auto_list_thread = tinrc.auto_list_thread; attributes->auto_save = tinrc.auto_save; attributes->auto_select = FALSE; attributes->batch_save = tinrc.batch_save; attributes->delete_tmp_files = FALSE; - attributes->post_proc_type = tinrc.post_process; + attributes->group_catchup_on_exit = tinrc.group_catchup_on_exit; + attributes->mail_8bit_header = tinrc.mail_8bit_header; + attributes->mail_mime_encoding = tinrc.mail_mime_encoding; + attributes->mark_ignore_tags = tinrc.mark_ignore_tags; + attributes->mark_saved_read = tinrc.mark_saved_read; + attributes->news_headers_to_display = (global ? tinrc.news_headers_to_display : NULL); + attributes->headers_to_display = (scope ? (scope->headers_to_display ? scope->headers_to_display : NULL) : NULL); + attributes->news_headers_to_not_display = (global ? tinrc.news_headers_to_not_display : NULL); + attributes->headers_to_not_display = (scope ? (scope->headers_to_not_display ? scope->headers_to_not_display : NULL) : NULL); + attributes->pos_first_unread = tinrc.pos_first_unread; + attributes->post_8bit_header = tinrc.post_8bit_header; + attributes->post_mime_encoding = tinrc.post_mime_encoding; + attributes->post_process_view = tinrc.post_process_view; + attributes->post_process_type = tinrc.post_process_type; +#ifndef DISABLE_PRINTING + attributes->print_header = tinrc.print_header; +#endif /* !DISABLE_PRINTING */ + attributes->process_only_unread = tinrc.process_only_unread; + attributes->prompt_followupto = tinrc.prompt_followupto; + attributes->sigdashes = tinrc.sigdashes; + attributes->signature_repost = tinrc.signature_repost; + attributes->start_editor_offset = tinrc.start_editor_offset; attributes->x_comment_to = FALSE; attributes->tex2iso_conv = tinrc.tex2iso_conv; attributes->mime_forward = FALSE; @@ -174,16 +159,99 @@ set_default_attributes( } +static void +set_default_state( + struct t_attribute_state *state) +{ + state->add_posted_to_filter = FALSE; + state->advertising = FALSE; + state->alternative_handling = FALSE; + state->ask_for_metamail = FALSE; + state->auto_cc_bcc = FALSE; + state->auto_list_thread = FALSE; + state->auto_save = FALSE; + state->auto_select = FALSE; + state->batch_save = FALSE; + state->date_format = FALSE; + state->delete_tmp_files = FALSE; + state->editor_format = FALSE; + state->fcc = FALSE; + state->followup_to = FALSE; + state->from = FALSE; + state->group_catchup_on_exit = FALSE; +#ifdef HAVE_ISPELL + state->ispell = FALSE; +#endif /* HAVE_ISPELL */ + state->mail_8bit_header = FALSE; + state->mail_mime_encoding = FALSE; + state->maildir = FALSE; + state->mailing_list = FALSE; + state->mark_ignore_tags = FALSE; + state->mark_saved_read = FALSE; + state->mime_forward = FALSE; + state->mime_types_to_save = FALSE; + state->news_headers_to_display = FALSE; + state->news_headers_to_not_display = FALSE; + state->news_quote_format = FALSE; + state->organization = FALSE; + state->pos_first_unread = FALSE; + state->post_8bit_header = FALSE; + state->post_mime_encoding = FALSE; + state->post_process_type = FALSE; + state->post_process_view = FALSE; +#ifndef DISABLE_PRINTING + state->print_header = FALSE; +#endif /* !DISABLE_PRINTING */ + state->process_only_unread = FALSE; + state->prompt_followupto = FALSE; + state->quick_kill_case = FALSE; + state->quick_kill_expire = FALSE; + state->quick_kill_header = FALSE; + state->quick_kill_scope = FALSE; + state->quick_select_case = FALSE; + state->quick_select_expire = FALSE; + state->quick_select_header = FALSE; + state->quick_select_scope = FALSE; + state->quote_chars = FALSE; + state->savedir = FALSE; + state->savefile = FALSE; + state->show_author = FALSE; + state->show_info = FALSE; + state->show_only_unread_arts = FALSE; + state->show_signatures = FALSE; + state->sigdashes = FALSE; + state->sigfile = FALSE; + state->signature_repost = FALSE; + state->sort_article_type = FALSE; + state->sort_threads_type = FALSE; + state->start_editor_offset = FALSE; + state->tex2iso_conv = FALSE; + state->thread_articles = FALSE; + state->thread_catchup_on_exit = FALSE; + state->thread_perc = FALSE; + state->trim_article_body = FALSE; +#ifdef CHARSET_CONVERSION + state->undeclared_charset = FALSE; + state->mm_network_charset = FALSE; +#endif /* CHARSET_CONVERSION */ + state->verbatim_handling = FALSE; + state->wrap_on_next_unread = FALSE; + state->x_body = FALSE; + state->x_comment_to = FALSE; + state->x_headers = FALSE; +} + + #define MATCH_BOOLEAN(pattern, type) \ if (match_boolean(line, pattern, &flag)) { \ num = (flag != FALSE); \ - set_attrib(type, scope, (char *) &num); \ + set_attrib(type, scope, &num); \ found = TRUE; \ break; \ } #define MATCH_INTEGER(pattern, type, maxval) \ if (match_integer(line, pattern, &num, maxval)) { \ - set_attrib(type, scope, (char *) &num); \ + set_attrib(type, scope, &num); \ found = TRUE; \ break; \ } @@ -193,453 +261,838 @@ set_default_attributes( found = TRUE; \ break; \ } -#ifdef CHARSET_CONVERSION -# define MATCH_LIST(pattern, type, table, tablelen) \ - if (match_list(line, pattern, table, tablelen, &num)) { \ - set_attrib(type, scope, (char *) &num); \ - found = TRUE; \ - break; \ - } -#endif /* CHARSET_CONVERSION */ -#if !defined(CHARSET_CONVERSION) || !defined(HAVE_ISPELL) +#define MATCH_LIST(pattern, type, table, tablelen) \ + if (match_list(line, pattern, table, tablelen, &num)) { \ + set_attrib(type, scope, &num); \ + found = TRUE; \ + break; \ + } +#if !defined(CHARSET_CONVERSION) || !defined(HAVE_ISPELL) || defined(DISABLE_PRINTING) # define SKIP_ITEM(pattern) \ if (!strncmp(line, pattern, strlen(pattern))) { \ found = TRUE; \ break; \ } -#endif /* !CHARSET_CONVERSION || !HAVE_ISPELL */ +#endif /* !CHARSET_CONVERSION || !HAVE_ISPELL || DISABLE_PRINTING */ /* - * (re)read global/local attributes file + * read global/local attributes file */ void -read_attributes_files( - void) -{ - static t_bool startup = TRUE; - - if (!startup) { /* reinit attributes */ - free_attributes_array(); - read_attributes_file(TRUE, startup); - read_attributes_file(FALSE, startup); - } else { - if (!batch_mode || verbose) - wait_message(0, _(txt_reading_attributes_file), _(txt_global)); - read_attributes_file(TRUE, startup); - if (!batch_mode || verbose) - wait_message(0, _(txt_reading_attributes_file), ""); - read_attributes_file(FALSE, startup); - startup = FALSE; - } -} - - -static void read_attributes_file( - t_bool global_file, - t_bool startup) + t_bool global_file) { FILE *fp; char *file; char buf[LEN]; char line[LEN]; char scope[LEN]; - int num; - int i; - int upgrade = RC_CHECK; + int i, num; + enum rc_state upgrade = RC_CHECK; + static t_bool startup = TRUE; t_bool flag, found = FALSE; + if (!batch_mode || verbose) + wait_message(0, _(txt_reading_attributes_file), (global_file ? _(txt_global) : "")); /* * Initialize global attributes even if there is no global file * These setting are used as the default for all groups unless overridden */ if (global_file) { - set_default_attributes(&glob_attributes); - glob_attributes.global = TRUE; + i = add_scope("_default_"); + scopes[i].global = TRUE; + set_default_attributes(scopes[i].attribute, NULL, TRUE); + build_news_headers_array(scopes[i].attribute, TRUE); + build_news_headers_array(scopes[i].attribute, FALSE); file = global_attributes_file; - } else + } else { + attrib_file_offset = 1; file = local_attributes_file; + } if ((fp = fopen(file, "r")) != NULL) { scope[0] = '\0'; while (fgets(line, (int) sizeof(line), fp) != NULL) { - if (line[0] == '#' || line[0] == '\n') { - if (!global_file && startup && upgrade == RC_CHECK) - upgrade = check_upgrade(line, "# Group attributes file V", ATTRIBUTES_VERSION); + if (line[0] == '\n') + continue; + if (line[0] == '#') { + if (!global_file) { + if (scope[0] == '\0') + attrib_file_offset++; + if (startup && upgrade == RC_CHECK && match_string(line, "# Group attributes file V", NULL, 0)) { + upgrade = check_upgrade(line, "# Group attributes file V", ATTRIBUTES_VERSION); + if (upgrade != RC_IGNORE) + upgrade_prompt_quit(upgrade, file); /* TODO: do something (more) useful here */ + } + } continue; } switch (tolower((unsigned char) line[0])) { case 'a': - MATCH_BOOLEAN("auto_save=", ATTRIB_AUTO_SAVE); - MATCH_BOOLEAN("auto_select=", ATTRIB_AUTO_SELECT); + MATCH_BOOLEAN("add_posted_to_filter=", OPT_ATTRIB_ADD_POSTED_TO_FILTER); + MATCH_BOOLEAN("advertising=", OPT_ATTRIB_ADVERTISING); + MATCH_BOOLEAN("alternative_handling=", OPT_ATTRIB_ALTERNATIVE_HANDLING); + MATCH_BOOLEAN("ask_for_metamail=", OPT_ATTRIB_ASK_FOR_METAMAIL); + MATCH_INTEGER("auto_cc_bcc=", OPT_ATTRIB_AUTO_CC_BCC, AUTO_CC_BCC); + MATCH_BOOLEAN("auto_list_thread=", OPT_ATTRIB_AUTO_LIST_THREAD); + MATCH_BOOLEAN("auto_save=", OPT_ATTRIB_AUTO_SAVE); + MATCH_BOOLEAN("auto_select=", OPT_ATTRIB_AUTO_SELECT); break; case 'b': - MATCH_BOOLEAN("batch_save=", ATTRIB_BATCH_SAVE); + MATCH_BOOLEAN("batch_save=", OPT_ATTRIB_BATCH_SAVE); break; case 'd': - MATCH_BOOLEAN("delete_tmp_files=", ATTRIB_DELETE_TMP_FILES); + MATCH_STRING("date_format=", OPT_ATTRIB_DATE_FORMAT); + MATCH_BOOLEAN("delete_tmp_files=", OPT_ATTRIB_DELETE_TMP_FILES); + break; + + case 'e': + MATCH_STRING("editor_format=", OPT_ATTRIB_EDITOR_FORMAT); break; case 'f': - MATCH_STRING("fcc=", ATTRIB_FCC); - MATCH_STRING("followup_to=", ATTRIB_FOLLOWUP_TO); - MATCH_STRING("from=", ATTRIB_FROM); + MATCH_STRING("fcc=", OPT_ATTRIB_FCC); + MATCH_STRING("followup_to=", OPT_ATTRIB_FOLLOWUP_TO); + MATCH_STRING("from=", OPT_ATTRIB_FROM); + break; + + case 'g': + MATCH_BOOLEAN("group_catchup_on_exit=", OPT_ATTRIB_GROUP_CATCHUP_ON_EXIT); break; case 'i': #ifdef HAVE_ISPELL - MATCH_STRING("ispell=", ATTRIB_ISPELL); + MATCH_STRING("ispell=", OPT_ATTRIB_ISPELL); #else SKIP_ITEM("ispell="); #endif /* HAVE_ISPELL */ break; case 'm': - MATCH_STRING("maildir=", ATTRIB_MAILDIR); - MATCH_STRING("mailing_list=", ATTRIB_MAILING_LIST); - MATCH_BOOLEAN("mime_forward=", ATTRIB_MIME_FORWARD); - MATCH_STRING("mime_types_to_save=", ATTRIB_MIME_TYPES_TO_SAVE); + MATCH_BOOLEAN("mail_8bit_header=", OPT_ATTRIB_MAIL_8BIT_HEADER); + MATCH_LIST("mail_mime_encoding=", OPT_ATTRIB_MAIL_MIME_ENCODING, txt_mime_encodings, NUM_MIME_ENCODINGS); + MATCH_STRING("maildir=", OPT_ATTRIB_MAILDIR); + MATCH_STRING("mailing_list=", OPT_ATTRIB_MAILING_LIST); + MATCH_BOOLEAN("mark_ignore_tags=", OPT_ATTRIB_MARK_IGNORE_TAGS); + MATCH_BOOLEAN("mark_saved_read=", OPT_ATTRIB_MARK_SAVED_READ); + MATCH_BOOLEAN("mime_forward=", OPT_ATTRIB_MIME_FORWARD); + MATCH_STRING("mime_types_to_save=", OPT_ATTRIB_MIME_TYPES_TO_SAVE); #ifdef CHARSET_CONVERSION - MATCH_LIST("mm_network_charset=", ATTRIB_MM_NETWORK_CHARSET, txt_mime_charsets, NUM_MIME_CHARSETS); + MATCH_LIST("mm_network_charset=", OPT_ATTRIB_MM_NETWORK_CHARSET, txt_mime_charsets, NUM_MIME_CHARSETS); #else SKIP_ITEM("mm_network_charset="); #endif /* CHARSET_CONVERSION */ break; case 'n': - MATCH_STRING("news_quote_format=", ATTRIB_NEWS_QUOTE); + MATCH_STRING("news_headers_to_display=", OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY); + MATCH_STRING("news_headers_to_not_display=", OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY); + MATCH_STRING("news_quote_format=", OPT_ATTRIB_NEWS_QUOTE_FORMAT); break; case 'o': - MATCH_STRING("organization=", ATTRIB_ORGANIZATION); + MATCH_STRING("organization=", OPT_ATTRIB_ORGANIZATION); break; case 'p': - MATCH_INTEGER("post_proc_type=", ATTRIB_POST_PROC_TYPE, POST_PROC_YES); + MATCH_BOOLEAN("pos_first_unread=", OPT_ATTRIB_POS_FIRST_UNREAD); + MATCH_BOOLEAN("post_8bit_header=", OPT_ATTRIB_POST_8BIT_HEADER); + MATCH_LIST("post_mime_encoding=", OPT_ATTRIB_POST_MIME_ENCODING, txt_mime_encodings, NUM_MIME_ENCODINGS); + MATCH_BOOLEAN("post_process_view=", OPT_ATTRIB_POST_PROCESS_VIEW); + MATCH_INTEGER("post_process_type=", OPT_ATTRIB_POST_PROCESS_TYPE, POST_PROC_YES); +#ifndef DISABLE_PRINTING + MATCH_BOOLEAN("print_header=", OPT_ATTRIB_PRINT_HEADER); +#else + SKIP_ITEM("print_header="); +#endif /* !DISABLE_PRINTING */ + MATCH_BOOLEAN("process_only_unread=", OPT_ATTRIB_PROCESS_ONLY_UNREAD); + MATCH_BOOLEAN("prompt_followupto=", OPT_ATTRIB_PROMPT_FOLLOWUPTO); break; case 'q': - MATCH_BOOLEAN("quick_kill_case=", ATTRIB_QUICK_KILL_CASE); - MATCH_BOOLEAN("quick_kill_expire=", ATTRIB_QUICK_KILL_EXPIRE); - MATCH_INTEGER("quick_kill_header=", ATTRIB_QUICK_KILL_HEADER, FILTER_LINES); - MATCH_STRING("quick_kill_scope=", ATTRIB_QUICK_KILL_SCOPE); - MATCH_BOOLEAN("quick_select_case=", ATTRIB_QUICK_SELECT_CASE); - MATCH_BOOLEAN("quick_select_expire=", ATTRIB_QUICK_SELECT_EXPIRE); - MATCH_INTEGER("quick_select_header=", ATTRIB_QUICK_SELECT_HEADER, FILTER_LINES); - MATCH_STRING("quick_select_scope=", ATTRIB_QUICK_SELECT_SCOPE); + MATCH_BOOLEAN("quick_kill_case=", OPT_ATTRIB_QUICK_KILL_CASE); + MATCH_BOOLEAN("quick_kill_expire=", OPT_ATTRIB_QUICK_KILL_EXPIRE); + MATCH_INTEGER("quick_kill_header=", OPT_ATTRIB_QUICK_KILL_HEADER, FILTER_LINES); + MATCH_STRING("quick_kill_scope=", OPT_ATTRIB_QUICK_KILL_SCOPE); + MATCH_BOOLEAN("quick_select_case=", OPT_ATTRIB_QUICK_SELECT_CASE); + MATCH_BOOLEAN("quick_select_expire=", OPT_ATTRIB_QUICK_SELECT_EXPIRE); + MATCH_INTEGER("quick_select_header=", OPT_ATTRIB_QUICK_SELECT_HEADER, FILTER_LINES); + MATCH_STRING("quick_select_scope=", OPT_ATTRIB_QUICK_SELECT_SCOPE); if (match_string(line, "quote_chars=", buf, sizeof(buf))) { quote_dash_to_space(buf); - set_attrib(ATTRIB_QUOTE_CHARS, scope, buf); + set_attrib(OPT_ATTRIB_QUOTE_CHARS, scope, buf); found = TRUE; break; } break; case 's': - MATCH_STRING("savedir=", ATTRIB_SAVEDIR); - MATCH_STRING("savefile=", ATTRIB_SAVEFILE); + MATCH_STRING("savedir=", OPT_ATTRIB_SAVEDIR); + MATCH_STRING("savefile=", OPT_ATTRIB_SAVEFILE); if (match_string(line, "scope=", scope, sizeof(scope))) { + i = add_scope(scope); + scopes[i].global = global_file ? TRUE : FALSE; found = TRUE; break; } - MATCH_INTEGER("show_author=", ATTRIB_SHOW_AUTHOR, SHOW_FROM_BOTH); - MATCH_INTEGER("show_info=", ATTRIB_SHOW_INFO, SHOW_INFO_BOTH); - MATCH_BOOLEAN("show_only_unread=", ATTRIB_SHOW_ONLY_UNREAD); - MATCH_STRING("sigfile=", ATTRIB_SIGFILE); - MATCH_INTEGER("sort_art_type=", ATTRIB_SORT_ART_TYPE, SORT_ARTICLES_BY_LINES_ASCEND); - MATCH_INTEGER("sort_threads_type=", ATTRIB_SORT_THREADS_TYPE, SORT_THREADS_BY_SCORE_DESCEND); + MATCH_INTEGER("show_author=", OPT_ATTRIB_SHOW_AUTHOR, SHOW_FROM_BOTH); + MATCH_INTEGER("show_info=", OPT_ATTRIB_SHOW_INFO, SHOW_INFO_BOTH); + MATCH_BOOLEAN("show_only_unread_arts=", OPT_ATTRIB_SHOW_ONLY_UNREAD_ARTS); + MATCH_BOOLEAN("show_signatures=", OPT_ATTRIB_SHOW_SIGNATURES); + MATCH_BOOLEAN("sigdashes=", OPT_ATTRIB_SIGDASHES); + MATCH_BOOLEAN("signature_repost=", OPT_ATTRIB_SIGNATURE_REPOST); + MATCH_BOOLEAN("start_editor_offset=", OPT_ATTRIB_START_EDITOR_OFFSET); + MATCH_STRING("sigfile=", OPT_ATTRIB_SIGFILE); + MATCH_INTEGER("sort_article_type=", OPT_ATTRIB_SORT_ARTICLE_TYPE, SORT_ARTICLES_BY_LINES_ASCEND); + MATCH_INTEGER("sort_threads_type=", OPT_ATTRIB_SORT_THREADS_TYPE, SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND); break; case 't': - MATCH_BOOLEAN("tex2iso_conv=", ATTRIB_TEX2ISO_CONV); - MATCH_INTEGER("thread_arts=", ATTRIB_THREAD_ARTS, THREAD_MAX); - MATCH_INTEGER("thread_perc=", ATTRIB_THREAD_PERC, 100); + MATCH_BOOLEAN("tex2iso_conv=", OPT_ATTRIB_TEX2ISO_CONV); + MATCH_INTEGER("thread_articles=", OPT_ATTRIB_THREAD_ARTICLES, THREAD_MAX); + MATCH_BOOLEAN("thread_catchup_on_exit=", OPT_ATTRIB_THREAD_CATCHUP_ON_EXIT); + MATCH_INTEGER("thread_perc=", OPT_ATTRIB_THREAD_PERC, 100); + MATCH_INTEGER("trim_article_body=", OPT_ATTRIB_TRIM_ARTICLE_BODY, 7); break; case 'u': #ifdef CHARSET_CONVERSION - MATCH_STRING("undeclared_charset=", ATTRIB_UNDECLARED_CHARSET); + MATCH_STRING("undeclared_charset=", OPT_ATTRIB_UNDECLARED_CHARSET); #else SKIP_ITEM("undeclared_charset="); #endif /* CHARSET_CONVERSION */ break; + case 'v': + MATCH_BOOLEAN("verbatim_handling=", OPT_ATTRIB_VERBATIM_HANDLING); + break; + + case 'w': + MATCH_BOOLEAN("wrap_on_next_unread=", OPT_ATTRIB_WRAP_ON_NEXT_UNREAD); + break; + case 'x': - MATCH_STRING("x_body=", ATTRIB_X_BODY); - MATCH_BOOLEAN("x_comment_to=", ATTRIB_X_COMMENT_TO); - MATCH_STRING("x_headers=", ATTRIB_X_HEADERS); + MATCH_STRING("x_body=", OPT_ATTRIB_X_BODY); + MATCH_BOOLEAN("x_comment_to=", OPT_ATTRIB_X_COMMENT_TO); + MATCH_STRING("x_headers=", OPT_ATTRIB_X_HEADERS); break; default: break; } + if (!global_file && upgrade == RC_UPGRADE) { + t_bool auto_bcc = FALSE; + t_bool auto_cc = FALSE; + int auto_cc_bcc; + + switch (tolower((unsigned char) line[0])) { + case 'a': + if (match_boolean(line, "auto_bcc=", &auto_bcc)) { + if (scopes[num_scope -1].attribute->auto_cc_bcc & AUTO_CC) + auto_cc_bcc = (auto_bcc ? AUTO_CC_BCC : AUTO_CC); + else + auto_cc_bcc = (auto_bcc ? AUTO_BCC : 0); + set_attrib(OPT_ATTRIB_AUTO_CC_BCC, scope, &auto_cc_bcc); + found = TRUE; + break; + } + if (match_boolean(line, "auto_cc=", &auto_cc)) { + if (scopes[num_scope -1].attribute->auto_cc_bcc & AUTO_BCC) + auto_cc_bcc = (auto_cc ? AUTO_CC_BCC : AUTO_BCC); + else + auto_cc_bcc = (auto_cc ? AUTO_CC : 0); + set_attrib(OPT_ATTRIB_AUTO_CC_BCC, scope, &auto_cc_bcc); + found = TRUE; + break; + } + break; + + case 'p': + MATCH_INTEGER("post_proc_type=", OPT_ATTRIB_POST_PROCESS_TYPE, POST_PROC_YES); + break; + + case 's': + MATCH_BOOLEAN("show_only_unread=", OPT_ATTRIB_SHOW_ONLY_UNREAD_ARTS); + MATCH_INTEGER("sort_art_type=", OPT_ATTRIB_SORT_ARTICLE_TYPE, SORT_ARTICLES_BY_LINES_ASCEND); + break; + + case 't': + MATCH_INTEGER("thread_arts=", OPT_ATTRIB_THREAD_ARTICLES, THREAD_MAX); + break; + + default: + break; + } + } + if (found) found = FALSE; - else /* TODO: surpress error messages on non intial reads? */ - error_message(_(txt_bad_attrib), line); + else + error_message(1, _(txt_bad_attrib), line); } fclose(fp); /* - * TODO: do something usfull for the other cases + * TODO: do something useful for the other cases */ - if (upgrade == RC_UPGRADE && !global_file) + if (!global_file && upgrade == RC_UPGRADE) write_attributes_file(file); - } + } else if (!global_file && startup) { + /* no local attributes file, add some useful defaults and write file */ - /* - * Now setup the rest of the groups to use the default attributes - */ - if (!global_file) { - for_each_group(i) { - if (!active[i].attribute) - active[i].attribute = &glob_attributes; - } + add_scope("*"); + snprintf(buf, sizeof(buf), "%s", "~/.tin/headers"); + set_attrib(OPT_ATTRIB_X_HEADERS, "*", buf); + + add_scope("*sources*"); + num = POST_PROC_SHAR; + set_attrib(OPT_ATTRIB_POST_PROCESS_TYPE, "*sources*", &num); + + add_scope("*binaries*"); + num = POST_PROC_YES; + set_attrib(OPT_ATTRIB_POST_PROCESS_TYPE, "*binaries*", &num); + num = FALSE; + set_attrib(OPT_ATTRIB_TEX2ISO_CONV, "*binaries*", &num); + num = TRUE; + set_attrib(OPT_ATTRIB_DELETE_TMP_FILES, "*binaries*", &num); + snprintf(buf, sizeof(buf), "%s", "poster"); + set_attrib(OPT_ATTRIB_FOLLOWUP_TO, "*binaries*", buf); + + write_attributes_file(file); } -/* debug_print_filter_attributes(); */ + if (!global_file && startup) + startup = FALSE; +#ifdef DEBUG + if (!global_file) + dump_scopes("SCOPES-R"); +#endif /* DEBUG */ } +#define SET_STRING(string) \ + FreeIfNeeded(curr_scope->attribute->string); \ + curr_scope->attribute->string = my_strdup((char *) data); \ + curr_scope->state->string = TRUE; \ + break +#define SET_INTEGER(integer) \ + curr_scope->attribute->integer = *((int *) data); \ + curr_scope->state->integer = TRUE; \ + break + + static void set_attrib( int type, const char *scope, - const char *data) + void *data) { - struct t_group *group; + struct t_scope *curr_scope; if (scope == NULL || *scope == '\0') { /* No active scope set yet */ /* TODO: include full line in error-message */ - error_message("attribute with no scope: %s", data); + error_message(2, _("attribute with no scope: %s"), (char *) data); /* TODO: -> lang.c */ return; } -#if 0 - fprintf(stderr, "set_attrib #%d %s %s(%d)\n", type, scope, data, (int) *data); -#endif /* 0 */ - /* - * Does scope refer to 1 or more than 1 group - */ - if (!strpbrk(scope, "*,")) { - if ((group = group_find(scope)) != NULL) - do_set_attrib(group, type, data); - } else { - int i; + if (num_scope > 1) { + curr_scope = &scopes[num_scope - 1]; + /* + * Now set the required attribute + */ + switch (type) { + case OPT_ATTRIB_MAILDIR: + SET_STRING(maildir); - /* TODO: Can we get out of doing this per group for .global case */ - for_each_group(i) { - group = &active[i]; - if (match_group_list(group->name, scope)) - do_set_attrib(group, type, data); - } - } -} + case OPT_ATTRIB_SAVEDIR: + SET_STRING(savedir); + case OPT_ATTRIB_SAVEFILE: + SET_STRING(savefile); -#define SET_STRING(string) \ - group->attribute->string = my_strdup(data); \ - break -#define SET_INTEGER(integer) \ - group->attribute->integer = *data; \ - break + case OPT_ATTRIB_ORGANIZATION: + SET_STRING(organization); -static void -do_set_attrib( - struct t_group *group, - int type, - const char *data) -{ - /* - * Setup default attributes for this group if none already set - */ - if (group->attribute == NULL) { - group->attribute = my_malloc(sizeof(struct t_attribute)); - set_default_attributes(group->attribute); - } + case OPT_ATTRIB_FROM: + SET_STRING(from); - /* - * Now set the required attribute - */ - switch (type) { - case ATTRIB_MAILDIR: - free_if_not_default(&group->attribute->maildir, tinrc.maildir); - SET_STRING(maildir); + case OPT_ATTRIB_SIGFILE: + SET_STRING(sigfile); + + case OPT_ATTRIB_FOLLOWUP_TO: + SET_STRING(followup_to); + + case OPT_ATTRIB_ADD_POSTED_TO_FILTER: + SET_INTEGER(add_posted_to_filter); + + case OPT_ATTRIB_ADVERTISING: + SET_INTEGER(advertising); + + case OPT_ATTRIB_ALTERNATIVE_HANDLING: + SET_INTEGER(alternative_handling); + + case OPT_ATTRIB_ASK_FOR_METAMAIL: + SET_INTEGER(ask_for_metamail); + + case OPT_ATTRIB_AUTO_CC_BCC: + SET_INTEGER(auto_cc_bcc); + + case OPT_ATTRIB_AUTO_LIST_THREAD: + SET_INTEGER(auto_list_thread); + + case OPT_ATTRIB_AUTO_SELECT: + SET_INTEGER(auto_select); + + case OPT_ATTRIB_AUTO_SAVE: + SET_INTEGER(auto_save); + + case OPT_ATTRIB_BATCH_SAVE: + SET_INTEGER(batch_save); - case ATTRIB_SAVEDIR: - free_if_not_default(&group->attribute->savedir, tinrc.savedir); - SET_STRING(savedir); + case OPT_ATTRIB_DATE_FORMAT: + SET_STRING(date_format); - case ATTRIB_SAVEFILE: - FreeIfNeeded(group->attribute->savefile); - SET_STRING(savefile); + case OPT_ATTRIB_DELETE_TMP_FILES: + SET_INTEGER(delete_tmp_files); + + case OPT_ATTRIB_EDITOR_FORMAT: + SET_STRING(editor_format); + + case OPT_ATTRIB_GROUP_CATCHUP_ON_EXIT: + SET_INTEGER(group_catchup_on_exit); + + case OPT_ATTRIB_MAIL_8BIT_HEADER: + SET_INTEGER(mail_8bit_header); + + case OPT_ATTRIB_MAIL_MIME_ENCODING: + SET_INTEGER(mail_mime_encoding); + + case OPT_ATTRIB_MARK_IGNORE_TAGS: + SET_INTEGER(mark_ignore_tags); + + case OPT_ATTRIB_MARK_SAVED_READ: + SET_INTEGER(mark_saved_read); + + case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY: + FreeIfNeeded(curr_scope->attribute->news_headers_to_display); + curr_scope->attribute->news_headers_to_display = my_strdup((char *) data); + build_news_headers_array(curr_scope->attribute, TRUE); + curr_scope->state->news_headers_to_display = TRUE; + break; + + case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY: + FreeIfNeeded(curr_scope->attribute->news_headers_to_not_display); + curr_scope->attribute->news_headers_to_not_display = my_strdup((char *) data); + build_news_headers_array(curr_scope->attribute, FALSE); + curr_scope->state->news_headers_to_not_display = TRUE; + break; - case ATTRIB_ORGANIZATION: - free_if_not_default(&group->attribute->organization, default_organization); - SET_STRING(organization); + case OPT_ATTRIB_POS_FIRST_UNREAD: + SET_INTEGER(pos_first_unread); - case ATTRIB_FROM: - free_if_not_default(&group->attribute->from, tinrc.mail_address); - SET_STRING(from); + case OPT_ATTRIB_POST_8BIT_HEADER: + SET_INTEGER(post_8bit_header); - case ATTRIB_SIGFILE: - free_if_not_default(&group->attribute->sigfile, tinrc.sigfile); - SET_STRING(sigfile); + case OPT_ATTRIB_POST_MIME_ENCODING: + SET_INTEGER(post_mime_encoding); - case ATTRIB_FOLLOWUP_TO: - FreeIfNeeded(group->attribute->followup_to); - SET_STRING(followup_to); + case OPT_ATTRIB_POST_PROCESS_VIEW: + SET_INTEGER(post_process_view); - case ATTRIB_AUTO_SELECT: - SET_INTEGER(auto_select); +#ifndef DISABLE_PRINTING + case OPT_ATTRIB_PRINT_HEADER: + SET_INTEGER(print_header); +#endif /* !DISABLE_PRINTING */ - case ATTRIB_AUTO_SAVE: - SET_INTEGER(auto_save); + case OPT_ATTRIB_PROCESS_ONLY_UNREAD: + SET_INTEGER(process_only_unread); - case ATTRIB_BATCH_SAVE: - SET_INTEGER(batch_save); + case OPT_ATTRIB_PROMPT_FOLLOWUPTO: + SET_INTEGER(prompt_followupto); - case ATTRIB_DELETE_TMP_FILES: - SET_INTEGER(delete_tmp_files); + case OPT_ATTRIB_SHOW_ONLY_UNREAD_ARTS: + SET_INTEGER(show_only_unread_arts); - case ATTRIB_SHOW_ONLY_UNREAD: - SET_INTEGER(show_only_unread); + case OPT_ATTRIB_SIGDASHES: + SET_INTEGER(sigdashes); - case ATTRIB_THREAD_ARTS: - SET_INTEGER(thread_arts); + case OPT_ATTRIB_SIGNATURE_REPOST: + SET_INTEGER(signature_repost); - case ATTRIB_THREAD_PERC: - SET_INTEGER(thread_perc); + case OPT_ATTRIB_START_EDITOR_OFFSET: + SET_INTEGER(start_editor_offset); - case ATTRIB_SHOW_AUTHOR: - SET_INTEGER(show_author); + case OPT_ATTRIB_THREAD_ARTICLES: + SET_INTEGER(thread_articles); - case ATTRIB_SHOW_INFO: - SET_INTEGER(show_info); + case OPT_ATTRIB_THREAD_CATCHUP_ON_EXIT: + SET_INTEGER(thread_catchup_on_exit); - case ATTRIB_SORT_ART_TYPE: - SET_INTEGER(sort_art_type); + case OPT_ATTRIB_THREAD_PERC: + SET_INTEGER(thread_perc); - case ATTRIB_SORT_THREADS_TYPE: - SET_INTEGER(sort_threads_type); + case OPT_ATTRIB_SHOW_AUTHOR: + SET_INTEGER(show_author); - case ATTRIB_POST_PROC_TYPE: - SET_INTEGER(post_proc_type); + case OPT_ATTRIB_SHOW_INFO: + SET_INTEGER(show_info); - case ATTRIB_QUICK_KILL_HEADER: - SET_INTEGER(quick_kill_header); + case OPT_ATTRIB_SHOW_SIGNATURES: + SET_INTEGER(show_signatures); - case ATTRIB_QUICK_KILL_SCOPE: - FreeIfNeeded(group->attribute->quick_kill_scope); - SET_STRING(quick_kill_scope); + case OPT_ATTRIB_TRIM_ARTICLE_BODY: + SET_INTEGER(trim_article_body); - case ATTRIB_QUICK_KILL_EXPIRE: - SET_INTEGER(quick_kill_expire); + case OPT_ATTRIB_VERBATIM_HANDLING: + SET_INTEGER(verbatim_handling); - case ATTRIB_QUICK_KILL_CASE: - SET_INTEGER(quick_kill_case); + case OPT_ATTRIB_WRAP_ON_NEXT_UNREAD: + SET_INTEGER(wrap_on_next_unread); - case ATTRIB_QUICK_SELECT_HEADER: - SET_INTEGER(quick_select_header); + case OPT_ATTRIB_SORT_ARTICLE_TYPE: + SET_INTEGER(sort_article_type); - case ATTRIB_QUICK_SELECT_SCOPE: - FreeIfNeeded(group->attribute->quick_select_scope); - SET_STRING(quick_select_scope); + case OPT_ATTRIB_SORT_THREADS_TYPE: + SET_INTEGER(sort_threads_type); - case ATTRIB_QUICK_SELECT_EXPIRE: - SET_INTEGER(quick_select_expire); + case OPT_ATTRIB_POST_PROCESS_TYPE: + SET_INTEGER(post_process_type); - case ATTRIB_QUICK_SELECT_CASE: - SET_INTEGER(quick_select_case); + case OPT_ATTRIB_QUICK_KILL_HEADER: + SET_INTEGER(quick_kill_header); - case ATTRIB_MAILING_LIST: - FreeIfNeeded(group->attribute->mailing_list); - SET_STRING(mailing_list); + case OPT_ATTRIB_QUICK_KILL_SCOPE: + SET_STRING(quick_kill_scope); + + case OPT_ATTRIB_QUICK_KILL_EXPIRE: + SET_INTEGER(quick_kill_expire); + + case OPT_ATTRIB_QUICK_KILL_CASE: + SET_INTEGER(quick_kill_case); + + case OPT_ATTRIB_QUICK_SELECT_HEADER: + SET_INTEGER(quick_select_header); + + case OPT_ATTRIB_QUICK_SELECT_SCOPE: + SET_STRING(quick_select_scope); + + case OPT_ATTRIB_QUICK_SELECT_EXPIRE: + SET_INTEGER(quick_select_expire); + + case OPT_ATTRIB_QUICK_SELECT_CASE: + SET_INTEGER(quick_select_case); + + case OPT_ATTRIB_MAILING_LIST: + SET_STRING(mailing_list); #ifdef CHARSET_CONVERSION - case ATTRIB_MM_NETWORK_CHARSET: - SET_INTEGER(mm_network_charset); + case OPT_ATTRIB_MM_NETWORK_CHARSET: + SET_INTEGER(mm_network_charset); - case ATTRIB_UNDECLARED_CHARSET: - FreeIfNeeded(group->attribute->undeclared_charset); - SET_STRING(undeclared_charset); + case OPT_ATTRIB_UNDECLARED_CHARSET: + SET_STRING(undeclared_charset); #endif /* CHARSET_CONVERSION */ - case ATTRIB_X_HEADERS: - FreeIfNeeded(group->attribute->x_headers); - SET_STRING(x_headers); - - case ATTRIB_X_BODY: - FreeIfNeeded(group->attribute->x_body); - SET_STRING(x_body); - - case ATTRIB_X_COMMENT_TO: - SET_INTEGER(x_comment_to); - - case ATTRIB_FCC: - FreeIfNeeded(group->attribute->fcc); - SET_STRING(fcc); - - case ATTRIB_NEWS_QUOTE: - free_if_not_default(&group->attribute->news_quote_format, tinrc.news_quote_format); - SET_STRING(news_quote_format); - - case ATTRIB_QUOTE_CHARS: - free_if_not_default(&group->attribute->quote_chars, tinrc.quote_chars); - SET_STRING(quote_chars); - - case ATTRIB_MIME_TYPES_TO_SAVE: - FreeIfNeeded(group->attribute->mime_types_to_save); - SET_STRING(mime_types_to_save); + case OPT_ATTRIB_X_HEADERS: + SET_STRING(x_headers); + + case OPT_ATTRIB_X_BODY: + SET_STRING(x_body); + + case OPT_ATTRIB_X_COMMENT_TO: + SET_INTEGER(x_comment_to); + + case OPT_ATTRIB_FCC: + SET_STRING(fcc); + + case OPT_ATTRIB_NEWS_QUOTE_FORMAT: + SET_STRING(news_quote_format); - case ATTRIB_MIME_FORWARD: - SET_INTEGER(mime_forward); + case OPT_ATTRIB_QUOTE_CHARS: + SET_STRING(quote_chars); + + case OPT_ATTRIB_MIME_TYPES_TO_SAVE: + SET_STRING(mime_types_to_save); + + case OPT_ATTRIB_MIME_FORWARD: + SET_INTEGER(mime_forward); #ifdef HAVE_ISPELL - case ATTRIB_ISPELL: - FreeIfNeeded(group->attribute->ispell); - SET_STRING(ispell); + case OPT_ATTRIB_ISPELL: + SET_STRING(ispell); #endif /* HAVE_ISPELL */ - case ATTRIB_TEX2ISO_CONV: - SET_INTEGER(tex2iso_conv); + case OPT_ATTRIB_TEX2ISO_CONV: + SET_INTEGER(tex2iso_conv); - default: - break; + default: + break; + } } } /* - * Save the group attributes from active[].attribute to ~/.tin/attributes - * + * Insert a new scope entry into scopes[] and return the index. + */ +int +add_scope( + const char *scope) +{ + if (!scope || !*scope) + return 0; + + if ((num_scope >= max_scope) || (num_scope < 0) || (scopes == NULL)) + expand_scope(); + scopes[num_scope].scope = my_strdup(scope); + scopes[num_scope].attribute = my_malloc(sizeof(struct t_attribute)); + set_default_attributes(scopes[num_scope].attribute, NULL, FALSE); + scopes[num_scope].state = my_malloc(sizeof(struct t_attribute_state)); + set_default_state(scopes[num_scope].state); + scopes[num_scope].global = FALSE; + return num_scope++; +} + + +#define SET_ATTRIB(attr) do { \ + if (curr_scope->state->attr) \ + group->attribute->attr = curr_scope->attribute->attr; \ + } while (0) + + +/* + * Set the attributes of all groups + */ +void +assign_attributes_to_groups( + void) +{ + struct t_group *group; + struct t_scope *default_scope, *curr_scope; + t_bool found; + int i, j; + long processed = 0L; +#ifdef CHARSET_CONVERSION + t_bool is_7bit; +#endif /* CHARSET_CONVERSION */ + + if (!batch_mode || verbose) + wait_message(0, _("Processing attributes... ")); /* TODO: -> lang.c */ + + default_scope = &scopes[0]; + for_each_group(i) { + if (++processed % (MODULO_COUNT_NUM) == 0) + spin_cursor(); + group = &active[i]; + found = FALSE; + for (j = 1; j < num_scope; j++) { + curr_scope = &scopes[j]; + if (match_group_list(group->name, curr_scope->scope)) { + if (group->attribute == NULL || group->attribute == default_scope->attribute) { + group->attribute = my_malloc(sizeof(struct t_attribute)); + set_default_attributes(group->attribute, default_scope->attribute, FALSE); + found = TRUE; + } + if (!found) { + set_default_attributes(group->attribute, default_scope->attribute, FALSE); + found = TRUE; + } + SET_ATTRIB(maildir); + SET_ATTRIB(savedir); + SET_ATTRIB(savefile); + SET_ATTRIB(sigfile); + SET_ATTRIB(date_format); + SET_ATTRIB(editor_format); + SET_ATTRIB(organization); + SET_ATTRIB(fcc); + SET_ATTRIB(followup_to); + SET_ATTRIB(mailing_list); + SET_ATTRIB(x_headers); + SET_ATTRIB(x_body); + SET_ATTRIB(from); + SET_ATTRIB(news_quote_format); + SET_ATTRIB(quote_chars); + SET_ATTRIB(mime_types_to_save); +#ifdef HAVE_ISPELL + SET_ATTRIB(ispell); +#endif /* HAVE_ISPELL */ +#ifdef CHARSET_CONVERSION + SET_ATTRIB(mm_network_charset); + SET_ATTRIB(undeclared_charset); +#endif /* CHARSET_CONVERSION */ + SET_ATTRIB(quick_kill_scope); + SET_ATTRIB(quick_kill_header); + SET_ATTRIB(quick_kill_case); + SET_ATTRIB(quick_kill_expire); + SET_ATTRIB(quick_select_scope); + SET_ATTRIB(quick_select_header); + SET_ATTRIB(quick_select_case); + SET_ATTRIB(quick_select_expire); + SET_ATTRIB(show_only_unread_arts); + SET_ATTRIB(thread_articles); + SET_ATTRIB(thread_catchup_on_exit); + SET_ATTRIB(thread_perc); + SET_ATTRIB(sort_article_type); + SET_ATTRIB(sort_threads_type); + SET_ATTRIB(show_info); + SET_ATTRIB(show_author); + SET_ATTRIB(show_signatures); + SET_ATTRIB(trim_article_body); + SET_ATTRIB(verbatim_handling); + SET_ATTRIB(wrap_on_next_unread); + SET_ATTRIB(add_posted_to_filter); + SET_ATTRIB(advertising); + SET_ATTRIB(alternative_handling); + SET_ATTRIB(ask_for_metamail); + SET_ATTRIB(auto_cc_bcc); + SET_ATTRIB(auto_list_thread); + SET_ATTRIB(auto_save); + SET_ATTRIB(auto_select); + SET_ATTRIB(batch_save); + SET_ATTRIB(delete_tmp_files); + SET_ATTRIB(group_catchup_on_exit); + SET_ATTRIB(mail_8bit_header); + SET_ATTRIB(mail_mime_encoding); + SET_ATTRIB(mark_ignore_tags); + SET_ATTRIB(mark_saved_read); + if (curr_scope->state->news_headers_to_display) + group->attribute->headers_to_display = curr_scope->attribute->headers_to_display; + if (curr_scope->state->news_headers_to_not_display) + group->attribute->headers_to_not_display = curr_scope->attribute->headers_to_not_display; + SET_ATTRIB(pos_first_unread); + SET_ATTRIB(post_8bit_header); + SET_ATTRIB(post_mime_encoding); + SET_ATTRIB(post_process_view); + SET_ATTRIB(post_process_type); +#ifndef DISABLE_PRINTING + SET_ATTRIB(print_header); +#endif /* !DISABLE_PRINTING */ + SET_ATTRIB(process_only_unread); + SET_ATTRIB(prompt_followupto); + SET_ATTRIB(sigdashes); + SET_ATTRIB(signature_repost); + SET_ATTRIB(start_editor_offset); + SET_ATTRIB(x_comment_to); + SET_ATTRIB(tex2iso_conv); + SET_ATTRIB(mime_forward); + } + } + if (found) { + /* + * sort out conflicting settings + */ +#ifdef CHARSET_CONVERSION + /* + * check if we have a 7bit charset but a !7bit encoding + * or a 8bit charset but a !8bit encoding, update encoding if needed + */ + is_7bit = FALSE; + for (j = 0; *txt_mime_7bit_charsets[j]; j++) { + if (!strcasecmp(txt_mime_charsets[group->attribute->mm_network_charset], txt_mime_7bit_charsets[j])) { + is_7bit = TRUE; + break; + } + } + if (is_7bit) { + if (group->attribute->mail_mime_encoding != MIME_ENCODING_7BIT) + group->attribute->mail_mime_encoding = MIME_ENCODING_7BIT; + if (group->attribute->post_mime_encoding != MIME_ENCODING_7BIT) + group->attribute->post_mime_encoding = MIME_ENCODING_7BIT; + } else { + if (group->attribute->mail_mime_encoding == MIME_ENCODING_7BIT) + group->attribute->mail_mime_encoding = MIME_ENCODING_QP; + if (group->attribute->post_mime_encoding == MIME_ENCODING_7BIT) + group->attribute->post_mime_encoding = MIME_ENCODING_8BIT; + } +#endif /* CHARSET_CONVERSION */ + /* do not use 8 bit headers if mime encoding is not 8bit */ + if (group->attribute->mail_mime_encoding != MIME_ENCODING_8BIT) + group->attribute->mail_8bit_header = FALSE; + if (group->attribute->post_mime_encoding != MIME_ENCODING_8BIT) + group->attribute->post_8bit_header = FALSE; + } else { + if (group->attribute && !group->attribute->global) + free(group->attribute); + group->attribute = default_scope->attribute; + } + } +#ifdef DEBUG + dump_attributes(); +# if 0 + debug_print_filter_attributes(); +# endif /* 0 */ +#endif /* DEBUG */ + + if (!batch_mode || verbose) + my_fputc('\n', stdout); + + if (!cmd_line && !batch_mode) + clear_message(); +} + + +/* + * (re)build scope->headers_to_[not_]display array + */ +void +build_news_headers_array( + struct t_attribute *scope, + t_bool header_to_display) +{ + if (header_to_display) { + if (scope->headers_to_display == NULL) + scope->headers_to_display = my_malloc(sizeof(struct t_newsheader)); + else { + if (scope->headers_to_display->header) + FreeIfNeeded(*scope->headers_to_display->header); + FreeIfNeeded(scope->headers_to_display->header); + } + scope->headers_to_display->header = ulBuildArgv(scope->news_headers_to_display, &scope->headers_to_display->num); + } else { + if (scope->headers_to_not_display == NULL) + scope->headers_to_not_display = my_malloc(sizeof(struct t_newsheader)); + else { + if (scope->headers_to_not_display->header) + FreeIfNeeded(*scope->headers_to_not_display->header); + FreeIfNeeded(scope->headers_to_not_display->header); + } + scope->headers_to_not_display->header = ulBuildArgv(scope->news_headers_to_not_display, &scope->headers_to_not_display->num); + } +} + + +/* + * Save the scope attributes from scopes[] to ~/.tin/attributes */ void write_attributes_file( const char *file) { - FILE *fp, *infp; + FILE *fp; char *new_file; int i; - t_bool copy_ok = TRUE; + long fpos; - if (no_write && file_size(file) != -1L) + if ((batch_mode || no_write || num_scope < 1) && file_size(file) != -1L) return; new_file = get_tmpfilename(file); - if ((fp = fopen(new_file, "w" FOPEN_OPTS)) == NULL) { - error_message(_(txt_filesystem_full_backup), ATTRIBUTES_FILE); + if ((fp = fopen(new_file, "w+")) == NULL) { + error_message(2, _(txt_filesystem_full_backup), ATTRIBUTES_FILE); free(new_file); return; } - if (!cmd_line && !batch_mode) - wait_message(0, _(txt_writing_attributes_file)); + wait_message(0, _(txt_writing_attributes_file)); + +#ifdef DEBUG + dump_scopes("SCOPES-W"); +#endif /* DEBUG */ /* * TODO: sort in a useful order @@ -647,36 +1100,97 @@ write_attributes_file( */ fprintf(fp, "# Group attributes file V%s for the TIN newsreader\n", ATTRIBUTES_VERSION); fprintf(fp, _("# Do not edit this comment block\n#\n")); - fprintf(fp, _("# scope=STRING (ie. alt.*,!alt.bin*) [mandatory]\n")); - fprintf(fp, _("# maildir=STRING (ie. ~/Mail)\n")); - fprintf(fp, _("# savedir=STRING (ie. ~user/News)\n")); - fprintf(fp, _("# savefile=STRING (ie. =linux)\n")); - fprintf(fp, _("# sigfile=STRING (ie. $var/sig)\n")); - fprintf(fp, _("# organization=STRING (if beginning with '/' read from file)\n")); + fprintf(fp, _("# scope=STRING (eg. alt.*,!alt.bin*) [mandatory]\n")); + fprintf(fp, _("# add_posted_to_filter=ON/OFF\n")); + fprintf(fp, _("# advertising=ON/OFF\n")); + fprintf(fp, _("# alternative_handling=ON/OFF\n")); + fprintf(fp, _("# ask_for_metamail=ON/OFF\n")); + fprintf(fp, _("# auto_cc_bcc=NUM\n")); + fprintf(fp, _("# 0=No, 1=Cc, 2=Bcc, 3=Cc and Bcc\n")); + fprintf(fp, _("# auto_list_thread=ON/OFF\n")); + fprintf(fp, _("# auto_save=ON/OFF\n")); + fprintf(fp, _("# auto_select=ON/OFF\n")); + fprintf(fp, _("# batch_save=ON/OFF\n")); + fprintf(fp, _("# date_format=STRING (eg. %%a, %%d %%b %%Y %%H:%%M:%%S)\n")); + fprintf(fp, _("# delete_tmp_files=ON/OFF\n")); + fprintf(fp, _("# editor_format=STRING (eg. %%E +%%N %%F)\n")); + fprintf(fp, _("# fcc=STRING (eg. =mailbox)\n")); fprintf(fp, _("# followup_to=STRING\n")); - fprintf(fp, _("# mailing_list=STRING (ie. majordomo@example.org)\n")); - fprintf(fp, _("# x_headers=STRING (ie. ~/.tin/extra-headers)\n")); - fprintf(fp, _("# x_body=STRING (ie. ~/.tin/extra-body-text)\n")); fprintf(fp, _("# from=STRING (just append wanted From:-line, don't use quotes)\n")); - fprintf(fp, _("# news_quote_format=STRING\n")); - fprintf(fp, _("# quote_chars=STRING (%%s, %%S for initials)\n")); - fprintf(fp, _("# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n")); + fprintf(fp, _("# group_catchup_on_exit=ON/OFF\n")); + fprintf(fp, _("# mail_8bit_header=ON/OFF\n")); + fprintf(fp, _("# mail_mime_encoding=supported_encoding")); + for (i = 0; i < NUM_MIME_ENCODINGS; i++) { + if (!(i % 5)) + fprintf(fp, "\n# "); + fprintf(fp, "%s, ", txt_mime_encodings[i]); + } + fprintf(fp, "\n"); #ifdef HAVE_ISPELL fprintf(fp, _("# ispell=STRING\n")); #endif /* HAVE_ISPELL */ - fprintf(fp, _("# auto_select=ON/OFF\n")); - fprintf(fp, _("# auto_save=ON/OFF\n")); - fprintf(fp, _("# batch_save=ON/OFF\n")); - fprintf(fp, _("# delete_tmp_files=ON/OFF\n")); - fprintf(fp, _("# show_only_unread=ON/OFF\n")); - fprintf(fp, _("# thread_arts=NUM")); - for (i = 0; i <= THREAD_MAX; i++) { - if (!(i % 2)) + fprintf(fp, _("# maildir=STRING (eg. ~/Mail)\n")); + fprintf(fp, _("# mailing_list=STRING (eg. majordomo@example.org)\n")); + fprintf(fp, _("# mime_types_to_save=STRING (eg. image/*,!image/bmp)\n")); + fprintf(fp, _("# mark_ignore_tags=ON/OFF\n")); + fprintf(fp, _("# mark_saved_read=ON/OFF\n")); + fprintf(fp, _("# mime_forward=ON/OFF\n")); +#ifdef CHARSET_CONVERSION + fprintf(fp, _("# mm_network_charset=supported_charset")); + for (i = 0; i < NUM_MIME_CHARSETS; i++) { + if (!(i % 5)) /* start new line */ fprintf(fp, "\n# "); - fprintf(fp, "%d=%s, ", i, _(txt_threading[i])); + fprintf(fp, "%s, ", txt_mime_charsets[i]); } fprintf(fp, "\n"); - fprintf(fp, _("# thread_perc=NUM\n")); + fprintf(fp, _("# undeclared_charset=STRING (default is US-ASCII)\n")); +#endif /* CHARSET_CONVERSION */ + fprintf(fp, _("# news_headers_to_display=STRING\n")); + fprintf(fp, _("# news_headers_to_not_display=STRING\n")); + fprintf(fp, _("# news_quote_format=STRING\n")); + fprintf(fp, _("# organization=STRING (if beginning with '/' read from file)\n")); + fprintf(fp, _("# pos_first_unread=ON/OFF\n")); + fprintf(fp, _("# post_8bit_header=ON/OFF\n")); + fprintf(fp, _("# post_mime_encoding=supported_encoding")); + for (i = 0; i < NUM_MIME_ENCODINGS; i++) { + if (!(i % 5)) + fprintf(fp, "\n# "); + fprintf(fp, "%s, ", txt_mime_encodings[i]); + } + fprintf(fp, "\n"); + fprintf(fp, _("# post_process_type=NUM\n")); + fprintf(fp, "# %d=%s, %d=%s, %d=%s\n", + POST_PROC_NO, _(txt_post_process_types[POST_PROC_NO]), + POST_PROC_SHAR, _(txt_post_process_types[POST_PROC_SHAR]), + POST_PROC_YES, _(txt_post_process_types[POST_PROC_YES])); + fprintf(fp, _("# post_process_view=ON/OFF\n")); + fprintf(fp, _("# quick_kill_scope=STRING (ie. talk.*)\n")); + fprintf(fp, _("# quick_kill_expire=ON/OFF\n")); + fprintf(fp, _("# quick_kill_case=ON/OFF\n")); + fprintf(fp, _("# quick_kill_header=NUM\n")); + fprintf(fp, _("# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n")); + fprintf(fp, _("# 2=From: (case sensitive) 3=From: (ignore case)\n")); + fprintf(fp, _("# 4=Message-ID: & full References: line\n")); + fprintf(fp, _("# 5=Message-ID: & last References: entry only\n")); + fprintf(fp, _("# 6=Message-ID: entry only 7=Lines:\n")); + fprintf(fp, _("# quick_select_scope=STRING\n")); + fprintf(fp, _("# quick_select_expire=ON/OFF\n")); + fprintf(fp, _("# quick_select_case=ON/OFF\n")); + fprintf(fp, _("# quick_select_header=NUM\n")); + fprintf(fp, _("# 0=Subject: (case sensitive) 1=Subject: (ignore case)\n")); + fprintf(fp, _("# 2=From: (case sensitive) 3=From: (ignore case)\n")); + fprintf(fp, _("# 4=Message-ID: & full References: line\n")); + fprintf(fp, _("# 5=Message-ID: & last References: entry only\n")); + fprintf(fp, _("# 6=Message-ID: entry only 7=Lines:\n")); + fprintf(fp, _("# quote_chars=STRING (%%s, %%S for initials)\n")); +#ifndef DISABLE_PRINTING + fprintf(fp, _("# print_header=ON/OFF\n")); +#endif /* !DISABLE_PRINTING */ + fprintf(fp, _("# process_only_unread=ON/OFF\n")); + fprintf(fp, _("# prompt_followupto=ON/OFF\n")); + fprintf(fp, _("# savedir=STRING (eg. ~user/News)\n")); + fprintf(fp, _("# savefile=STRING (eg. =linux)\n")); + fprintf(fp, _("# sigfile=STRING (eg. $var/sig)\n")); fprintf(fp, _("# show_author=NUM\n")); fprintf(fp, "# %d=%s, %d=%s, %d=%s, %d=%s\n", SHOW_FROM_NONE, _(txt_show_from[SHOW_FROM_NONE]), @@ -689,7 +1203,11 @@ write_attributes_file( SHOW_INFO_LINES, _(txt_show_info_type[SHOW_INFO_LINES]), SHOW_INFO_SCORE, _(txt_show_info_type[SHOW_INFO_SCORE]), SHOW_INFO_BOTH, _(txt_show_info_type[SHOW_INFO_BOTH])); - fprintf(fp, _("# sort_art_type=NUM\n")); + fprintf(fp, _("# show_signatures=ON/OFF\n")); + fprintf(fp, _("# show_only_unread_arts=ON/OFF\n")); + fprintf(fp, _("# sigdashes=ON/OFF\n")); + fprintf(fp, _("# signature_repost=ON/OFF\n")); + fprintf(fp, _("# sort_article_type=NUM\n")); fprintf(fp, "# %d=%s,\n", SORT_ARTICLES_BY_NOTHING, _(txt_sort_a_type[SORT_ARTICLES_BY_NOTHING])); fprintf(fp, "# %d=%s, %d=%s,\n", @@ -712,239 +1230,473 @@ write_attributes_file( SORT_THREADS_BY_NOTHING, _(txt_sort_t_type[SORT_THREADS_BY_NOTHING]), SORT_THREADS_BY_SCORE_DESCEND, _(txt_sort_t_type[SORT_THREADS_BY_SCORE_DESCEND]), SORT_THREADS_BY_SCORE_ASCEND, _(txt_sort_t_type[SORT_THREADS_BY_SCORE_ASCEND])); - fprintf(fp, _("# post_proc_type=NUM\n")); - fprintf(fp, "# %d=%s, %d=%s, %d=%s\n", - POST_PROC_NO, _(txt_post_process_type[POST_PROC_NO]), - POST_PROC_SHAR, _(txt_post_process_type[POST_PROC_SHAR]), - POST_PROC_YES, _(txt_post_process_type[POST_PROC_YES])); - fprintf(fp, _("# quick_kill_scope=STRING (ie. talk.*)\n")); - fprintf(fp, _("# quick_kill_expire=ON/OFF\n")); - fprintf(fp, _("# quick_kill_case=ON/OFF\n")); - fprintf(fp, _("# quick_kill_header=NUM\n")); - fprintf(fp, _("# 0=subj (case sensitive) 1=subj (ignore case)\n")); - fprintf(fp, _("# 2=from (case sensitive) 3=from (ignore case)\n")); - fprintf(fp, _("# 4=msgid 5=lines\n")); - fprintf(fp, _("# quick_select_scope=STRING\n")); - fprintf(fp, _("# quick_select_expire=ON/OFF\n")); - fprintf(fp, _("# quick_select_case=ON/OFF\n")); - fprintf(fp, _("# quick_select_header=NUM\n")); - fprintf(fp, _("# 0=subj (case sensitive) 1=subj (ignore case)\n")); - fprintf(fp, _("# 2=from (case sensitive) 3=from (ignore case)\n")); - fprintf(fp, _("# 4=msgid 5=lines\n")); - fprintf(fp, _("# x_comment_to=ON/OFF\n")); - fprintf(fp, _("# fcc=STRING (eg. =mailbox)\n")); + fprintf(fp, "# %d=%s\n", + SORT_THREADS_BY_LAST_POSTING_DATE_DESCEND, _(txt_sort_t_type[SORT_THREADS_BY_LAST_POSTING_DATE_DESCEND])); + fprintf(fp, "# %d=%s\n", + SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND, _(txt_sort_t_type[SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND])); + fprintf(fp, _("# start_editor_offset=ON/OFF\n")); fprintf(fp, _("# tex2iso_conv=ON/OFF\n")); - fprintf(fp, _("# mime_forward=ON/OFF\n")); -#ifdef CHARSET_CONVERSION - fprintf(fp, _("# mm_network_charset=supported_charset")); - for (i = 0; i < NUM_MIME_CHARSETS; i++) { - if (!(i % 5)) /* start new line */ + fprintf(fp, _("# thread_catchup_on_exit=ON/OFF\n")); + fprintf(fp, _("# thread_articles=NUM")); + for (i = 0; i <= THREAD_MAX; i++) { + if (!(i % 2)) fprintf(fp, "\n# "); - fprintf(fp, "%s, ", txt_mime_charsets[i]); + fprintf(fp, "%d=%s, ", i, _(txt_threading[i])); } fprintf(fp, "\n"); - fprintf(fp, _("# undeclared_charset=STRING (default is US-ASCII)\n")); -#endif /* CHARSET_CONVERSION */ + fprintf(fp, _("# thread_perc=NUM\n")); + fprintf(fp, _("# trim_article_body=NUM\n")); + fprintf(fp, _("# 0 = Don't trim article body\n")); + fprintf(fp, _("# 1 = Skip leading blank lines\n")); + fprintf(fp, _("# 2 = Skip trailing blank lines\n")); + fprintf(fp, _("# 3 = Skip leading and trailing blank lines\n")); + fprintf(fp, _("# 4 = Compact multiple blank lines between text blocks\n")); + fprintf(fp, _("# 5 = Compact multiple blank lines between text blocks and skip\n# leading blank lines\n")); + fprintf(fp, _("# 6 = Compact multiple blank lines between text blocks and skip\n# trailing blank lines\n")); + fprintf(fp, _("# 7 = Compact multiple blank lines between text blocks and skip\n# leading and trailing blank lines\n")); + fprintf(fp, _("# verbatim_handling=ON/OFF\n")); + fprintf(fp, _("# wrap_on_next_unread=ON/OFF\n")); + fprintf(fp, _("# x_body=STRING (eg. ~/.tin/extra-body-text)\n")); + fprintf(fp, _("# x_comment_to=ON/OFF\n")); + fprintf(fp, _("# x_headers=STRING (eg. ~/.tin/extra-headers)\n")); fprintf(fp, _("#\n# Note that it is best to put general (global scoping)\n")); fprintf(fp, _("# entries first followed by group specific entries.\n#\n")); - fprintf(fp, _("############################################################################\n\n")); + fprintf(fp, _("############################################################################\n")); /* - * Add some useful defaults if no attributes file currently exists + * determine the file offset + * this is nesessary because a changed locale setting + * may lead to an invalid offset */ - if ((infp = fopen(file, "r" FOPEN_OPTS)) == NULL) { - fprintf(fp, _("# include extra headers\n")); - fprintf(fp, "scope=*\n"); - /* - * ${TIN_HOMEDIR-HOME} would be correct, but tin doesn't expand it, - * so we take ~ instead - */ - fprintf(fp, "x_headers=~/.tin/headers\n\n"); + fpos = ftell(fp); + rewind(fp); + attrib_file_offset = 1; + while ((i = fgetc(fp)) != EOF) { + if (i == '\n') + attrib_file_offset++; + } + fseek(fp, fpos, SEEK_SET); - fprintf(fp, _("# in *sources* set post process type to shar only\n")); - fprintf(fp, "scope=*sources*\n"); - fprintf(fp, "post_proc_type=%d\n\n", POST_PROC_SHAR); - - fprintf(fp, _("# in *binaries* do full post processing but no TeX2ISO conversion,\n")); - fprintf(fp, _("# remove tmp files and set Followup-To: poster\n")); - fprintf(fp, "scope=*binaries*\n"); - fprintf(fp, "post_proc_type=%d\n", POST_PROC_YES); - fprintf(fp, "tex2iso_conv=OFF\n"); - fprintf(fp, "delete_tmp_files=ON\n"); - fprintf(fp, "followup_to=poster\n\n"); - } else { - char *ptr; - char buf[LEN]; + if ((num_scope > 0) && (scopes != NULL)) { + struct t_scope *scope; - /* - * Until the write code is fixed, just copy the existing settings after - * the updated header - */ - while ((ptr = fgets(buf, sizeof(buf), infp)) != NULL) { - if (ptr[0] != '#' ) /* End of headers */ - break; + for (i = 1; i < num_scope; i++) { + scope = &scopes[i]; + if (!scope->global) { + fprintf(fp, "\nscope=%s\n", scope->scope); + if (scope->state->add_posted_to_filter) + fprintf(fp, "add_posted_to_filter=%s\n", print_boolean(scope->attribute->add_posted_to_filter)); + if (scope->state->advertising) + fprintf(fp, "advertising=%s\n", print_boolean(scope->attribute->advertising)); + if (scope->state->alternative_handling) + fprintf(fp, "alternative_handling=%s\n", print_boolean(scope->attribute->alternative_handling)); + if (scope->state->ask_for_metamail) + fprintf(fp, "ask_for_metamail=%s\n", print_boolean(scope->attribute->ask_for_metamail)); + if (scope->state->auto_cc_bcc) + fprintf(fp, "auto_cc_bcc=%u\n", scope->attribute->auto_cc_bcc); + if (scope->state->auto_list_thread) + fprintf(fp, "auto_list_thread=%s\n", print_boolean(scope->attribute->auto_list_thread)); + if (scope->state->auto_select) + fprintf(fp, "auto_select=%s\n", print_boolean(scope->attribute->auto_select)); + if (scope->state->auto_save) + fprintf(fp, "auto_save=%s\n", print_boolean(scope->attribute->auto_save)); + if (scope->state->batch_save) + fprintf(fp, "batch_save=%s\n", print_boolean(scope->attribute->batch_save)); + if (scope->state->date_format && scope->attribute->date_format) + fprintf(fp, "date_format=%s\n", scope->attribute->date_format); + if (scope->state->delete_tmp_files) + fprintf(fp, "delete_tmp_files=%s\n", print_boolean(scope->attribute->delete_tmp_files)); + if (scope->state->editor_format && scope->attribute->editor_format) + fprintf(fp, "editor_format=%s\n", scope->attribute->editor_format); + if (scope->state->fcc && scope->attribute->fcc) + fprintf(fp, "fcc=%s\n", scope->attribute->fcc); + if (scope->state->followup_to && scope->attribute->followup_to) + fprintf(fp, "followup_to=%s\n", scope->attribute->followup_to); + if (scope->state->from && scope->attribute->from) + fprintf(fp, "from=%s\n", scope->attribute->from); + if (scope->state->group_catchup_on_exit) + fprintf(fp, "group_catchup_on_exit=%s\n", print_boolean(scope->attribute->group_catchup_on_exit)); + if (scope->state->mail_8bit_header) + fprintf(fp, "mail_8bit_header=%s\n", print_boolean(scope->attribute->mail_8bit_header)); + if (scope->state->mail_mime_encoding) + fprintf(fp, "mail_mime_encoding=%s\n", txt_mime_encodings[scope->attribute->mail_mime_encoding]); +#ifdef HAVE_ISPELL + if (scope->state->ispell && scope->attribute->ispell) + fprintf(fp, "ispell=%s\n", scope->attribute->ispell); +#endif /* HAVE_ISPELL */ + if (scope->state->maildir && scope->attribute->maildir) + fprintf(fp, "maildir=%s\n", scope->attribute->maildir); + if (scope->state->mailing_list && scope->attribute->mailing_list) + fprintf(fp, "mailing_list=%s\n", scope->attribute->mailing_list); + if (scope->state->mark_ignore_tags) + fprintf(fp, "mark_ignore_tags=%s\n", print_boolean(scope->attribute->mark_ignore_tags)); + if (scope->state->mark_saved_read) + fprintf(fp, "mark_saved_read=%s\n", print_boolean(scope->attribute->mark_saved_read)); + if (scope->state->mime_forward) + fprintf(fp, "mime_forward=%s\n", print_boolean(scope->attribute->mime_forward)); + if (scope->state->mime_types_to_save && scope->attribute->mime_types_to_save) + fprintf(fp, "mime_types_to_save=%s\n", scope->attribute->mime_types_to_save); +#ifdef CHARSET_CONVERSION + if (scope->state->mm_network_charset) + fprintf(fp, "mm_network_charset=%s\n", txt_mime_charsets[scope->attribute->mm_network_charset]); + if (scope->state->undeclared_charset && scope->attribute->undeclared_charset) + fprintf(fp, "undeclared_charset=%s\n", scope->attribute->undeclared_charset); +#endif /* CHARSET_CONVERSION */ + if (scope->state->news_headers_to_display && scope->attribute->news_headers_to_display) + fprintf(fp, "news_headers_to_display=%s\n", scope->attribute->news_headers_to_display); + if (scope->state->news_headers_to_not_display && scope->attribute->news_headers_to_not_display) + fprintf(fp, "news_headers_to_not_display=%s\n", scope->attribute->news_headers_to_not_display); + if (scope->state->news_quote_format && scope->attribute->news_quote_format) + fprintf(fp, "news_quote_format=%s\n", scope->attribute->news_quote_format); + if (scope->state->organization && scope->attribute->organization) + fprintf(fp, "organization=%s\n", scope->attribute->organization); + if (scope->state->pos_first_unread) + fprintf(fp, "pos_first_unread=%s\n", print_boolean(scope->attribute->pos_first_unread)); + if (scope->state->post_8bit_header) + fprintf(fp, "post_8bit_header=%s\n", print_boolean(scope->attribute->post_8bit_header)); + if (scope->state->post_mime_encoding) + fprintf(fp, "post_mime_encoding=%s\n", txt_mime_encodings[scope->attribute->post_mime_encoding]); + if (scope->state->post_process_view) + fprintf(fp, "post_process_view=%s\n", print_boolean(scope->attribute->post_process_view)); + if (scope->state->post_process_type) + fprintf(fp, "post_process_type=%u\n", scope->attribute->post_process_type); +#ifndef DISABLE_PRINTING + if (scope->state->print_header) + fprintf(fp, "print_header=%s\n", print_boolean(scope->attribute->print_header)); +#endif /* !DISABLE_PRINTING */ + if (scope->state->process_only_unread) + fprintf(fp, "process_only_unread=%s\n", print_boolean(scope->attribute->process_only_unread)); + if (scope->state->prompt_followupto) + fprintf(fp, "prompt_followupto=%s\n", print_boolean(scope->attribute->prompt_followupto)); + if (scope->state->quick_kill_scope && scope->attribute->quick_kill_scope) + fprintf(fp, "quick_kill_scope=%s\n", scope->attribute->quick_kill_scope); + if (scope->state->quick_kill_case) + fprintf(fp, "quick_kill_case=%s\n", print_boolean(scope->attribute->quick_kill_case)); + if (scope->state->quick_kill_expire) + fprintf(fp, "quick_kill_expire=%s\n", print_boolean(scope->attribute->quick_kill_expire)); + if (scope->state->quick_kill_header) + fprintf(fp, "quick_kill_header=%u\n", scope->attribute->quick_kill_header); + if (scope->state->quick_select_scope && scope->attribute->quick_select_scope) + fprintf(fp, "quick_select_scope=%s\n", scope->attribute->quick_select_scope); + if (scope->state->quick_select_case) + fprintf(fp, "quick_select_case=%s\n", print_boolean(scope->attribute->quick_select_case)); + if (scope->state->quick_select_expire) + fprintf(fp, "quick_select_expire=%s\n", print_boolean(scope->attribute->quick_select_expire)); + if (scope->state->quick_select_header) + fprintf(fp, "quick_select_header=%u\n", scope->attribute->quick_select_header); + if (scope->state->quote_chars && scope->attribute->quote_chars) + fprintf(fp, "quote_chars=%s\n", quote_space_to_dash(scope->attribute->quote_chars)); + if (scope->state->savedir && scope->attribute->savedir) + fprintf(fp, "savedir=%s\n", scope->attribute->savedir); + if (scope->state->savefile && scope->attribute->savefile) + fprintf(fp, "savefile=%s\n", scope->attribute->savefile); + if (scope->state->show_author) + fprintf(fp, "show_author=%u\n", scope->attribute->show_author); + if (scope->state->show_info) + fprintf(fp, "show_info=%u\n", scope->attribute->show_info); + if (scope->state->show_only_unread_arts) + fprintf(fp, "show_only_unread_arts=%s\n", print_boolean(scope->attribute->show_only_unread_arts)); + if (scope->state->show_signatures) + fprintf(fp, "show_signatures=%s\n", print_boolean(scope->attribute->show_signatures)); + if (scope->state->sigdashes) + fprintf(fp, "sigdashes=%s\n", print_boolean(scope->attribute->sigdashes)); + if (scope->state->sigfile && scope->attribute->sigfile) + fprintf(fp, "sigfile=%s\n", scope->attribute->sigfile); + if (scope->state->signature_repost) + fprintf(fp, "signature_repost=%s\n", print_boolean(scope->attribute->signature_repost)); + if (scope->state->sort_article_type) + fprintf(fp, "sort_article_type=%u\n", scope->attribute->sort_article_type); + if (scope->state->sort_threads_type) + fprintf(fp, "sort_threads_type=%u\n", scope->attribute->sort_threads_type); + if (scope->state->start_editor_offset) + fprintf(fp, "start_editor_offset=%s\n", print_boolean(scope->attribute->start_editor_offset)); + if (scope->state->tex2iso_conv) + fprintf(fp, "tex2iso_conv=%s\n", print_boolean(scope->attribute->tex2iso_conv)); + if (scope->state->thread_articles) + fprintf(fp, "thread_articles=%u\n", scope->attribute->thread_articles); + if (scope->state->thread_catchup_on_exit) + fprintf(fp, "thread_catchup_on_exit=%s\n", print_boolean(scope->attribute->thread_catchup_on_exit)); + if (scope->state->thread_perc) + fprintf(fp, "thread_perc=%u\n", scope->attribute->thread_perc); + if (scope->state->trim_article_body) + fprintf(fp, "trim_article_body=%u\n", scope->attribute->trim_article_body); + if (scope->state->verbatim_handling) + fprintf(fp, "verbatim_handling=%s\n", print_boolean(scope->attribute->verbatim_handling)); + if (scope->state->wrap_on_next_unread) + fprintf(fp, "wrap_on_next_unread=%s\n", print_boolean(scope->attribute->wrap_on_next_unread)); + if (scope->state->x_headers && scope->attribute->x_headers) + fprintf(fp, "x_headers=%s\n", scope->attribute->x_headers); + if (scope->state->x_body && scope->attribute->x_body) + fprintf(fp, "x_body=%s\n", scope->attribute->x_body); + if (scope->state->x_comment_to) + fprintf(fp, "x_comment_to=%s\n", print_boolean(scope->attribute->x_comment_to)); + } } - copy_ok = copy_fp(infp, fp); - fclose(infp); } /* rename_file() preserves mode, so this is safe */ fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR)); - if (ferror(fp) || fclose(fp)) - error_message(_(txt_filesystem_full), ATTRIBUTES_FILE); - else if (copy_ok) + if ((i = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), ATTRIBUTES_FILE); + unlink(new_file); + if (i) { + clearerr(fp); + fclose(fp); + } + } else rename_file(new_file, file); - else - unlink (new_file); free(new_file); return; - -#if 0 /* FIXME */ - for_each_group(i) { - struct t_attribute *attr = active[i].attribute; - - /* TODO: only write out none empty && no defaut entrys */ - fprintf(fp, "scope=%s\n", active[i].name); - fprintf(fp, "maildir=%s\n", attr->maildir); - fprintf(fp, "savedir=%s\n", attr->savedir); - fprintf(fp, "savefile=%s\n", attr->savefile); - fprintf(fp, "sigfile=%s\n", attr->sigfile); - fprintf(fp, "organization=%s\n", attr->organization); - fprintf(fp, "followup_to=%s\n", attr->followup_to); - fprintf(fp, "mailing_list=%s\n", attr->mailing_list); - fprintf(fp, "x_headers=%s\n", attr->x_headers); - fprintf(fp, "x_body=%s\n", attr->x_body); - fprintf(fp, "from=%s\n", attr->from); - fprintf(fp, "news_quote_format=%s\n", attr->news_quote_format); - fprintf(fp, "quote_chars=%s\n", quote_space_to_dash(attr->quote_chars)); - fprintf(fp, "mime_types_to_save=%s\n", attr->mime_types_to_save); -# ifdef HAVE_ISPELL - fprintf(fp, "ispell=%s\n", attr->ispell); -# endif /* HAVE_ISPELL */ - fprintf(fp, "show_only_unread=%s\n", print_boolean(attr->show_only_unread)); - fprintf(fp, "thread_arts=%d\n", attr->thread_arts); - fprintf(fp, "thread_perc=%d\n", attr->thread_perc); - fprintf(fp, "auto_select=%s\n", print_boolean(attr->auto_select)); - fprintf(fp, "auto_save=%s\n", print_boolean(attr->auto_save)); - fprintf(fp, "batch_save=%s\n", print_boolean(attr->batch_save)); - fprintf(fp, "delete_tmp_files=%s\n", print_boolean(attr->delete_tmp_files)); - fprintf(fp, "sort_art_type=%d\n", attr->sort_art_type); - fprintf(fp, "sort_threads_type=%d\n", attr->sort_threads_type); - fprintf(fp, "show_author=%d\n", attr->show_author); - fprintf(fp, "show_info=%d\n", attr->show_info); - fprintf(fp, "post_proc_type=%d\n", attr->post_proc_type); - fprintf(fp, "quick_kill_scope=%s\n", attr->quick_kill_scope); - fprintf(fp, "quick_kill_case=%s\n", print_boolean(attr->quick_kill_case)); - fprintf(fp, "quick_kill_expire=%s\n", print_boolean(attr->quick_kill_expire)); - fprintf(fp, "quick_kill_header=%d\n", attr->quick_kill_header); - fprintf(fp, "quick_select_scope=%s\n", attr->quick_select_scope); - fprintf(fp, "quick_select_case=%s\n", print_boolean(attr->quick_select_case)); - fprintf(fp, "quick_select_expire=%s\n", print_boolean(attr->quick_select_expire)); - fprintf(fp, "quick_select_header=%d\n", attr->quick_select_header); - fprintf(fp, "x_comment_to=%s\n", print_boolean(attr->x_comment_to)); - fprintf(fp, "fcc=%s\n", attr->fcc); - fprintf(fp, "tex2iso_conv=%s\n", print_boolean(attr->tex2iso_conv)); - fprintf(fp, "mime_forward=%s\n", print_boolean(attr->mime_forward)); -# ifdef CHARSET_CONVERSION - fprintf(fp, "mm_network_charset=%s\n", txt_mime_charsets[attr->mm_network_charset]); - fprintf(fp, "undeclared_charset=%s\n", attr->undeclared_charset); -# endif /* CHARSET_CONVERSION */ - } -#endif /* 0 */ } -#if 0 -void +#ifdef DEBUG +# if 0 +static void debug_print_filter_attributes( void) { - int i; - struct t_group *group; + if (debug & DEBUG_ATTRIB) { + int i; + struct t_group *group; - my_printf("\nBEG ***\n"); + my_printf("\nBEG ***\n"); - for_each_group(i) { - group = &active[i]; - my_printf("Grp=[%s] KILL header=[%d] scope=[%s] case=[%s] expire=[%s]\n", - group->name, group->attribute->quick_kill_header, - BlankIfNull(group->attribute->quick_kill_scope), - txt_onoff[group->attribute->quick_kill_case != FALSE ? 1 : 0], - txt_onoff[group->attribute->quick_kill_expire != FALSE ? 1 : 0]); - my_printf("Grp=[%s] SELECT header=[%d] scope=[%s] case=[%s] expire=[%s]\n", - group->name, group->attribute->quick_select_header, - BlankIfNull(group->attribute->quick_select_scope), - txt_onoff[group->attribute->quick_select_case != FALSE ? 1 : 0], - txt_onoff[group->attribute->quick_select_expire != FALSE ? 1 : 0]); + for_each_group(i) { + group = &active[i]; + my_printf("Grp=[%s] KILL header=[%d] scope=[%s] case=[%s] expire=[%s]\n", + group->name, group->attribute->quick_kill_header, + BlankIfNull(group->attribute->quick_kill_scope), + txt_onoff[group->attribute->quick_kill_case != FALSE ? 1 : 0], + txt_onoff[group->attribute->quick_kill_expire != FALSE ? 1 : 0]); + my_printf("Grp=[%s] SELECT header=[%d] scope=[%s] case=[%s] expire=[%s]\n", + group->name, group->attribute->quick_select_header, + BlankIfNull(group->attribute->quick_select_scope), + txt_onoff[group->attribute->quick_select_case != FALSE ? 1 : 0], + txt_onoff[group->attribute->quick_select_expire != FALSE ? 1 : 0]); + } + my_printf("END ***\n"); } - - my_printf("END ***\n"); } +# endif /* 0 */ -# ifdef DEBUG static void dump_attributes( void) { - int i; - struct t_group *group; + if (debug & DEBUG_ATTRIB) { + int i, j; + struct t_group *group; - fprintf(stderr, "DUMP attributes\n"); + for_each_group(i) { + group = &active[i]; + if (!group->attribute) + continue; + debug_print_file("ATTRIBUTES", "group=%s", BlankIfNull(group->name)); + debug_print_file("ATTRIBUTES", "\tGlobal=%d", group->attribute->global); + debug_print_file("ATTRIBUTES", "\tmaildir=%s", BlankIfNull(group->attribute->maildir)); + debug_print_file("ATTRIBUTES", "\tsavedir=%s", BlankIfNull(group->attribute->savedir)); + debug_print_file("ATTRIBUTES", "\tsavefile=%s", BlankIfNull(group->attribute->savefile)); + debug_print_file("ATTRIBUTES", "\tsigfile=%s", BlankIfNull(group->attribute->sigfile)); + debug_print_file("ATTRIBUTES", "\torganization=%s", BlankIfNull(group->attribute->organization)); + debug_print_file("ATTRIBUTES", "\tfollowup_to=%s", BlankIfNull(group->attribute->followup_to)); + debug_print_file("ATTRIBUTES", "\tmailing_list=%s", BlankIfNull(group->attribute->mailing_list)); + debug_print_file("ATTRIBUTES", "\tx_headers=%s", BlankIfNull(group->attribute->x_headers)); + debug_print_file("ATTRIBUTES", "\tx_body=%s", BlankIfNull(group->attribute->x_body)); + debug_print_file("ATTRIBUTES", "\tfrom=%s", BlankIfNull(group->attribute->from)); + debug_print_file("ATTRIBUTES", "\tnews_quote_format=%s", BlankIfNull(group->attribute->news_quote_format)); + debug_print_file("ATTRIBUTES", "\tquote_chars=%s", quote_space_to_dash(BlankIfNull(group->attribute->quote_chars))); + debug_print_file("ATTRIBUTES", "\tmime_types_to_save=%s", BlankIfNull(group->attribute->mime_types_to_save)); +# ifdef HAVE_ISPELL + debug_print_file("ATTRIBUTES", "\tispell=%s", BlankIfNull(group->attribute->ispell)); +# endif /* HAVE_ISPELL */ + debug_print_file("ATTRIBUTES", "\tshow_only_unread_arts=%s", print_boolean(group->attribute->show_only_unread_arts)); + debug_print_file("ATTRIBUTES", "\tthread_articles=%d", group->attribute->thread_articles); + debug_print_file("ATTRIBUTES", "\tthread_perc=%d", group->attribute->thread_perc); + debug_print_file("ATTRIBUTES", "\tadd_posted_to_filter=%s", print_boolean(group->attribute->add_posted_to_filter)); + debug_print_file("ATTRIBUTES", "\tadvertising=%s", print_boolean(group->attribute->advertising)); + debug_print_file("ATTRIBUTES", "\talternative_handling=%s", print_boolean(group->attribute->alternative_handling)); + debug_print_file("ATTRIBUTES", "\task_for_metamail=%s", print_boolean(group->attribute->ask_for_metamail)); + debug_print_file("ATTRIBUTES", "\tauto_cc_bcc=%d", group->attribute->auto_cc_bcc); + debug_print_file("ATTRIBUTES", "\tauto_list_thread=%s", print_boolean(group->attribute->auto_list_thread)); + debug_print_file("ATTRIBUTES", "\tauto_select=%s", print_boolean(group->attribute->auto_select)); + debug_print_file("ATTRIBUTES", "\tauto_save=%s", print_boolean(group->attribute->auto_save)); + debug_print_file("ATTRIBUTES", "\tbatch_save=%s", print_boolean(group->attribute->batch_save)); + debug_print_file("ATTRIBUTES", "\tdate_format=%s", BlankIfNull(group->attribute->date_format)); + debug_print_file("ATTRIBUTES", "\tdelete_tmp_files=%s", print_boolean(group->attribute->delete_tmp_files)); + debug_print_file("ATTRIBUTES", "\teditor_format=%s", BlankIfNull(group->attribute->editor_format)); + debug_print_file("ATTRIBUTES", "\tgroup_catchup_on_exit=%s", print_boolean(group->attribute->group_catchup_on_exit)); + debug_print_file("ATTRIBUTES", "\tmail_8bit_header=%s", print_boolean(group->attribute->mail_8bit_header)); + debug_print_file("ATTRIBUTES", "\tmail_mime_encoding=%s", txt_mime_encodings[group->attribute->mail_mime_encoding]); + debug_print_file("ATTRIBUTES", "\tmark_ignore_tags=%s", print_boolean(group->attribute->mark_ignore_tags)); + debug_print_file("ATTRIBUTES", "\tmark_saved_read=%s", print_boolean(group->attribute->mark_saved_read)); + debug_print_file("ATTRIBUTES", "\tnews_headers_to_display=%s", BlankIfNull(group->attribute->news_headers_to_display)); + if (group->attribute->headers_to_display) { + debug_print_file("ATTRIBUTES", "\theaders_to_display->num=%d", group->attribute->headers_to_display->num); + for (j = 0; j < group->attribute->headers_to_display->num; j++) + debug_print_file("ATTRIBUTES", "\theaders_to_display->header[%d]=%s", j, group->attribute->headers_to_display->header[j]); + } + debug_print_file("ATTRIBUTES", "\tnews_headers_to_not_display=%s", BlankIfNull(group->attribute->news_headers_to_not_display)); + if (group->attribute->headers_to_not_display) { + debug_print_file("ATTRIBUTES", "\theaders_to_not_display->num=%d", group->attribute->headers_to_not_display->num); + for (j = 0; j < group->attribute->headers_to_not_display->num; j++) + debug_print_file("ATTRIBUTES", "\theaders_to_not_display->header[%d]=%s", j, group->attribute->headers_to_not_display->header[j]); + } + debug_print_file("ATTRIBUTES", "\tpos_first_unread=%s", print_boolean(group->attribute->pos_first_unread)); + debug_print_file("ATTRIBUTES", "\tpost_8bit_header=%s", print_boolean(group->attribute->post_8bit_header)); + debug_print_file("ATTRIBUTES", "\tpost_mime_encoding=%s", txt_mime_encodings[group->attribute->post_mime_encoding]); + debug_print_file("ATTRIBUTES", "\tpost_process_view=%s", print_boolean(group->attribute->post_process_view)); +# ifndef DISABLE_PRINTING + debug_print_file("ATTRIBUTES", "\tprint_header=%s", print_boolean(group->attribute->print_header)); +# endif /* !DISABLE_PRINTING */ + debug_print_file("ATTRIBUTES", "\tprocess_only_unread=%s", print_boolean(group->attribute->process_only_unread)); + debug_print_file("ATTRIBUTES", "\tprompt_followupto=%s", print_boolean(group->attribute->prompt_followupto)); + debug_print_file("ATTRIBUTES", "\tsort_article_type=%d", group->attribute->sort_article_type); + debug_print_file("ATTRIBUTES", "\tsort_threads_type=%d", group->attribute->sort_threads_type); + debug_print_file("ATTRIBUTES", "\tshow_author=%d", group->attribute->show_author); + debug_print_file("ATTRIBUTES", "\tshow_info=%d", group->attribute->show_info); + debug_print_file("ATTRIBUTES", "\tshow_signatures=%s", print_boolean(group->attribute->show_signatures)); + debug_print_file("ATTRIBUTES", "\tsigdashes=%s", print_boolean(group->attribute->sigdashes)); + debug_print_file("ATTRIBUTES", "\tsignature_repost=%s", print_boolean(group->attribute->signature_repost)); + debug_print_file("ATTRIBUTES", "\tstart_editor_offset=%s", print_boolean(group->attribute->start_editor_offset)); + debug_print_file("ATTRIBUTES", "\tthread_catchup_on_exit=%s", print_boolean(group->attribute->thread_catchup_on_exit)); + debug_print_file("ATTRIBUTES", "\ttrim_article_body=%d", group->attribute->trim_article_body); + debug_print_file("ATTRIBUTES", "\tverbatim_handling=%s", print_boolean(group->attribute->verbatim_handling)); + debug_print_file("ATTRIBUTES", "\twrap_on_next_unread=%s", print_boolean(group->attribute->wrap_on_next_unread)); + debug_print_file("ATTRIBUTES", "\tpost_process_type=%d", group->attribute->post_process_type); + debug_print_file("ATTRIBUTES", "\tquick_kill_scope=%s", BlankIfNull(group->attribute->quick_kill_scope)); + debug_print_file("ATTRIBUTES", "\tquick_kill_case=%s", print_boolean(group->attribute->quick_kill_case)); + debug_print_file("ATTRIBUTES", "\tquick_kill_expire=%s", print_boolean(group->attribute->quick_kill_expire)); + debug_print_file("ATTRIBUTES", "\tquick_kill_header=%d", group->attribute->quick_kill_header); + debug_print_file("ATTRIBUTES", "\tquick_select_scope=%s", BlankIfNull(group->attribute->quick_select_scope)); + debug_print_file("ATTRIBUTES", "\tquick_select_case=%s", print_boolean(group->attribute->quick_select_case)); + debug_print_file("ATTRIBUTES", "\tquick_select_expire=%s", print_boolean(group->attribute->quick_select_expire)); + debug_print_file("ATTRIBUTES", "\tquick_select_header=%d", group->attribute->quick_select_header); + debug_print_file("ATTRIBUTES", "\tx_comment_to=%s", print_boolean(group->attribute->x_comment_to)); + debug_print_file("ATTRIBUTES", "\tfcc=%s", BlankIfNull(group->attribute->fcc)); + debug_print_file("ATTRIBUTES", "\ttex2iso_conv=%s", print_boolean(group->attribute->tex2iso_conv)); + debug_print_file("ATTRIBUTES", "\tmime_forward=%s", print_boolean(group->attribute->mime_forward)); +# ifdef CHARSET_CONVERSION + debug_print_file("ATTRIBUTES", "\tmm_network_charset=%s", txt_mime_charsets[group->attribute->mm_network_charset]); + debug_print_file("ATTRIBUTES", "\tundeclared_charset=%s", BlankIfNull(group->attribute->undeclared_charset)); +# endif /* CHARSET_CONVERSION */ + debug_print_file("ATTRIBUTES", ""); + } + } +} - for_each_group(i) { - group = &active[i]; - if (!group->attribute) - continue; - fprintf(stderr, "scope=%s\n", group->name); - fprintf(stderr, "\tGlobal=%d\n", group->attribute->global); - fprintf(stderr, "\tmaildir=%s\n", group->attribute->maildir); - fprintf(stderr, "\tsavedir=%s\n", group->attribute->savedir); - fprintf(stderr, "\tsavefile=%s\n", group->attribute->savefile); - fprintf(stderr, "\tsigfile=%s\n", group->attribute->sigfile); - fprintf(stderr, "\torganization=%s\n", group->attribute->organization); - fprintf(stderr, "\tfollowup_to=%s\n", group->attribute->followup_to); - fprintf(stderr, "\tmailing_list=%s\n", group->attribute->mailing_list); - fprintf(stderr, "\tx_headers=%s\n", group->attribute->x_headers); - fprintf(stderr, "\tx_body=%s\n", group->attribute->x_body); - fprintf(stderr, "\tfrom=%s\n", group->attribute->from); - fprintf(stderr, "\tnews_quote_format=%s\n", group->attribute->news_quote_format); - fprintf(stderr, "\tquote_chars=%s\n", quote_space_to_dash(group->attribute->quote_chars)); - fprintf(stderr, "\tmime_types_to_save=%s\n", group->attribute->mime_types_to_save); -# ifdef HAVE_ISPELL - fprintf(stderr, "\tispell=%s\n", group->attribute->ispell); -# endif /* HAVE_ISPELL */ - fprintf(stderr, "\tshow_only_unread=%s\n", print_boolean(group->attribute->show_only_unread)); - fprintf(stderr, "\tthread_arts=%d\n", group->attribute->thread_arts); - fprintf(stderr, "\tthread_perc=%d\n", group->attribute->thread_perc); - fprintf(stderr, "\tauto_select=%s\n", print_boolean(group->attribute->auto_select)); - fprintf(stderr, "\tauto_save=%s\n", print_boolean(group->attribute->auto_save)); - fprintf(stderr, "\tbatch_save=%s\n", print_boolean(group->attribute->batch_save)); - fprintf(stderr, "\tdelete_tmp_files=%s\n", print_boolean(group->attribute->delete_tmp_files)); - fprintf(stderr, "\tsort_art_type=%d\n", group->attribute->sort_art_type); - fprintf(stderr, "\tsort_threads_type=%d\n", group->attribute->sort_threads_type); - fprintf(stderr, "\tshow_author=%d\n", group->attribute->show_author); - fprintf(stderr, "\tshow_info=%d\n", group->attribute->show_info); - fprintf(stderr, "\tpost_proc_type=%d\n", group->attribute->post_proc_type); - fprintf(stderr, "\tquick_kill_scope=%s\n", group->attribute->quick_kill_scope); - fprintf(stderr, "\tquick_kill_case=%s\n", print_boolean(group->attribute->quick_kill_case)); - fprintf(stderr, "\tquick_kill_expire=%s\n", print_boolean(group->attribute->quick_kill_expire)); - fprintf(stderr, "\tquick_kill_header=%d\n", group->attribute->quick_kill_header); - fprintf(stderr, "\tquick_select_scope=%s\n", group->attribute->quick_select_scope); - fprintf(stderr, "\tquick_select_case=%s\n", print_boolean(group->attribute->quick_select_case)); - fprintf(stderr, "\tquick_select_expire=%s\n", print_boolean(group->attribute->quick_select_expire)); - fprintf(stderr, "\tquick_select_header=%d\n", group->attribute->quick_select_header); - fprintf(stderr, "\tx_comment_to=%s\n", print_boolean(group->attribute->x_comment_to)); - fprintf(stderr, "\tfcc=%s\n", group->attribute->fcc); - fprintf(stderr, "\ttex2iso_conv=%s\n", print_boolean(group->attribute->tex2iso_conv)); - fprintf(stderr, "\tmime_forward=%s\n", print_boolean(group->attribute->mime_forward)); -# ifdef CHARSET_CONVERSION - fprintf(stderr, "\tmm_network_charset=%s\n", txt_mime_charsets[group->attribute->mm_network_charset]); - fprintf(stderr, "\tundeclared_charset=%s\n", group->attribute->undeclared_charset); -# endif /* CHARSET_CONVERSION */ + +#define DEBUG_PRINT_STATE(attrib) (scope->state->attrib ? "+ " : " ") +#define DEBUG_PRINT_STRING(attrib) (scope->attribute->attrib ? scope->attribute->attrib : "NULL") + + +static void +dump_scopes( + const char *fname) +{ + if (!scopes) + return; + + if (debug & DEBUG_ATTRIB) { + int i, j; + struct t_scope *scope; + + for (i = 0; i < num_scope; i++) { + scope = &scopes[i]; + debug_print_file(fname, "scopes[%d]", i); + debug_print_file(fname, "scope=%s", scope->scope ? scope->scope : "NULL"); + debug_print_file(fname, "\t global=%d", scope->global); + debug_print_file(fname, "\t%smaildir=%s", DEBUG_PRINT_STATE(maildir), DEBUG_PRINT_STRING(maildir)); + debug_print_file(fname, "\t%ssavedir=%s", DEBUG_PRINT_STATE(savedir), DEBUG_PRINT_STRING(savedir)); + debug_print_file(fname, "\t%ssavefile=%s", DEBUG_PRINT_STATE(savefile), DEBUG_PRINT_STRING(savefile)); + debug_print_file(fname, "\t%ssigfile=%s", DEBUG_PRINT_STATE(sigfile), DEBUG_PRINT_STRING(sigfile)); + debug_print_file(fname, "\t%sorganization=%s", DEBUG_PRINT_STATE(organization), DEBUG_PRINT_STRING(organization)); + debug_print_file(fname, "\t%sfollowup_to=%s", DEBUG_PRINT_STATE(followup_to), DEBUG_PRINT_STRING(followup_to)); + debug_print_file(fname, "\t%smailing_list=%s", DEBUG_PRINT_STATE(mailing_list), DEBUG_PRINT_STRING(mailing_list)); + debug_print_file(fname, "\t%sx_headers=%s", DEBUG_PRINT_STATE(x_headers), DEBUG_PRINT_STRING(x_headers)); + debug_print_file(fname, "\t%sx_body=%s", DEBUG_PRINT_STATE(x_body), DEBUG_PRINT_STRING(x_body)); + debug_print_file(fname, "\t%sfrom=%s", DEBUG_PRINT_STATE(from), DEBUG_PRINT_STRING(from)); + debug_print_file(fname, "\t%snews_quote_format=%s", DEBUG_PRINT_STATE(news_quote_format), DEBUG_PRINT_STRING(news_quote_format)); + debug_print_file(fname, "\t%squote_chars=%s", DEBUG_PRINT_STATE(quote_chars), quote_space_to_dash(DEBUG_PRINT_STRING(quote_chars))); + debug_print_file(fname, "\t%smime_types_to_save=%s", DEBUG_PRINT_STATE(mime_types_to_save), DEBUG_PRINT_STRING(mime_types_to_save)); +# ifdef HAVE_ISPELL + debug_print_file(fname, "\t%sispell=%s", DEBUG_PRINT_STATE(ispell), DEBUG_PRINT_STRING(ispell)); +# endif /* HAVE_ISPELL */ + debug_print_file(fname, "\t%sshow_only_unread_arts=%s", DEBUG_PRINT_STATE(show_only_unread_arts), print_boolean(scope->attribute->show_only_unread_arts)); + debug_print_file(fname, "\t%sthread_articles=%d", DEBUG_PRINT_STATE(thread_articles), scope->attribute->thread_articles); + debug_print_file(fname, "\t%sthread_perc=%d", DEBUG_PRINT_STATE(thread_perc), scope->attribute->thread_perc); + debug_print_file(fname, "\t%sadd_posted_to_filter=%s", DEBUG_PRINT_STATE(add_posted_to_filter), print_boolean(scope->attribute->add_posted_to_filter)); + debug_print_file(fname, "\t%sadvertising=%s", DEBUG_PRINT_STATE(advertising), print_boolean(scope->attribute->advertising)); + debug_print_file(fname, "\t%salternative_handling=%s", DEBUG_PRINT_STATE(alternative_handling), print_boolean(scope->attribute->alternative_handling)); + debug_print_file(fname, "\t%sask_for_metamail=%s", DEBUG_PRINT_STATE(ask_for_metamail), print_boolean(scope->attribute->ask_for_metamail)); + debug_print_file(fname, "\t%sauto_cc_bcc=%d", DEBUG_PRINT_STATE(auto_cc_bcc), scope->attribute->auto_cc_bcc); + debug_print_file(fname, "\t%sauto_list_thread=%s", DEBUG_PRINT_STATE(auto_list_thread), print_boolean(scope->attribute->auto_list_thread)); + debug_print_file(fname, "\t%sauto_select=%s", DEBUG_PRINT_STATE(auto_select), print_boolean(scope->attribute->auto_select)); + debug_print_file(fname, "\t%sauto_save=%s", DEBUG_PRINT_STATE(auto_save), print_boolean(scope->attribute->auto_save)); + debug_print_file(fname, "\t%sbatch_save=%s", DEBUG_PRINT_STATE(batch_save), print_boolean(scope->attribute->batch_save)); + debug_print_file(fname, "\t%sdate_format=%s", DEBUG_PRINT_STATE(date_format), DEBUG_PRINT_STRING(date_format)); + debug_print_file(fname, "\t%sdelete_tmp_files=%s", DEBUG_PRINT_STATE(delete_tmp_files), print_boolean(scope->attribute->delete_tmp_files)); + debug_print_file(fname, "\t%seditor_format=%s", DEBUG_PRINT_STATE(editor_format), DEBUG_PRINT_STRING(editor_format)); + debug_print_file(fname, "\t%sgroup_catchup_on_exit=%s", DEBUG_PRINT_STATE(group_catchup_on_exit), print_boolean(scope->attribute->group_catchup_on_exit)); + debug_print_file(fname, "\t%smail_8bit_header=%s", DEBUG_PRINT_STATE(mail_8bit_header), print_boolean(scope->attribute->mail_8bit_header)); + debug_print_file(fname, "\t%smail_mime_encoding=%s", DEBUG_PRINT_STATE(mail_mime_encoding), txt_mime_encodings[scope->attribute->mail_mime_encoding]); + debug_print_file(fname, "\t%smark_ignore_tags=%s", DEBUG_PRINT_STATE(mark_ignore_tags), print_boolean(scope->attribute->mark_ignore_tags)); + debug_print_file(fname, "\t%smark_saved_read=%s", DEBUG_PRINT_STATE(mark_saved_read), print_boolean(scope->attribute->mark_saved_read)); + debug_print_file(fname, "\t%snews_headers_to_display=%s", DEBUG_PRINT_STATE(news_headers_to_display), DEBUG_PRINT_STRING(news_headers_to_display)); + if (scope->attribute->headers_to_display) { + debug_print_file(fname, "\t headers_to_display->num=%d", scope->attribute->headers_to_display->num); + for (j = 0; j < scope->attribute->headers_to_display->num; j++) + debug_print_file(fname, "\t headers_to_display->header[%d]=%s", j, scope->attribute->headers_to_display->header[j]); + } + debug_print_file(fname, "\t%snews_headers_to_not_display=%s", DEBUG_PRINT_STATE(news_headers_to_not_display), DEBUG_PRINT_STRING(news_headers_to_not_display)); + if (scope->attribute->headers_to_not_display) { + debug_print_file(fname, "\t headers_to_not_display->num=%d", scope->attribute->headers_to_not_display->num); + for (j = 0; j < scope->attribute->headers_to_not_display->num; j++) + debug_print_file(fname, "\t headers_to_not_display->header[%d]=%s", j, scope->attribute->headers_to_not_display->header[j]); + } + debug_print_file(fname, "\t%spos_first_unread=%s", DEBUG_PRINT_STATE(pos_first_unread), print_boolean(scope->attribute->pos_first_unread)); + debug_print_file(fname, "\t%spost_8bit_header=%s", DEBUG_PRINT_STATE(post_8bit_header), print_boolean(scope->attribute->post_8bit_header)); + debug_print_file(fname, "\t%spost_mime_encoding=%s", DEBUG_PRINT_STATE(post_mime_encoding), txt_mime_encodings[scope->attribute->post_mime_encoding]); + debug_print_file(fname, "\t%spost_process_view=%s", DEBUG_PRINT_STATE(post_process_view), print_boolean(scope->attribute->post_process_view)); +# ifndef DISABLE_PRINTING + debug_print_file(fname, "\t%sprint_header=%s", DEBUG_PRINT_STATE(print_header), print_boolean(scope->attribute->print_header)); +# endif /* !DISABLE_PRINTING */ + debug_print_file(fname, "\t%sprocess_only_unread=%s", DEBUG_PRINT_STATE(process_only_unread), print_boolean(scope->attribute->process_only_unread)); + debug_print_file(fname, "\t%sprompt_followupto=%s", DEBUG_PRINT_STATE(prompt_followupto), print_boolean(scope->attribute->prompt_followupto)); + debug_print_file(fname, "\t%ssort_article_type=%d", DEBUG_PRINT_STATE(sort_article_type), scope->attribute->sort_article_type); + debug_print_file(fname, "\t%ssort_threads_type=%d", DEBUG_PRINT_STATE(sort_threads_type), scope->attribute->sort_threads_type); + debug_print_file(fname, "\t%sshow_author=%d", DEBUG_PRINT_STATE(show_author), scope->attribute->show_author); + debug_print_file(fname, "\t%sshow_info=%d", DEBUG_PRINT_STATE(show_info), scope->attribute->show_info); + debug_print_file(fname, "\t%sshow_signatures=%s", DEBUG_PRINT_STATE(show_signatures), print_boolean(scope->attribute->show_signatures)); + debug_print_file(fname, "\t%ssigdashes=%s", DEBUG_PRINT_STATE(sigdashes), print_boolean(scope->attribute->sigdashes)); + debug_print_file(fname, "\t%ssignature_repost=%s", DEBUG_PRINT_STATE(signature_repost), print_boolean(scope->attribute->signature_repost)); + debug_print_file(fname, "\t%sstart_editor_offset=%s", DEBUG_PRINT_STATE(start_editor_offset), print_boolean(scope->attribute->start_editor_offset)); + debug_print_file(fname, "\t%sthread_catchup_on_exit=%s", DEBUG_PRINT_STATE(thread_catchup_on_exit), print_boolean(scope->attribute->thread_catchup_on_exit)); + debug_print_file(fname, "\t%strim_article_body=%d", DEBUG_PRINT_STATE(trim_article_body), scope->attribute->trim_article_body); + debug_print_file(fname, "\t%sverbatim_handling=%s", DEBUG_PRINT_STATE(verbatim_handling), print_boolean(scope->attribute->verbatim_handling)); + debug_print_file(fname, "\t%swrap_on_next_unread=%s", DEBUG_PRINT_STATE(wrap_on_next_unread), print_boolean(scope->attribute->wrap_on_next_unread)); + debug_print_file(fname, "\t%spost_process_type=%d", DEBUG_PRINT_STATE(post_process_type), scope->attribute->post_process_type); + debug_print_file(fname, "\t%squick_kill_scope=%s", DEBUG_PRINT_STATE(quick_kill_scope), DEBUG_PRINT_STRING(quick_kill_scope)); + debug_print_file(fname, "\t%squick_kill_case=%s", DEBUG_PRINT_STATE(quick_kill_case), print_boolean(scope->attribute->quick_kill_case)); + debug_print_file(fname, "\t%squick_kill_expire=%s", DEBUG_PRINT_STATE(quick_kill_expire), print_boolean(scope->attribute->quick_kill_expire)); + debug_print_file(fname, "\t%squick_kill_header=%d", DEBUG_PRINT_STATE(quick_kill_header), scope->attribute->quick_kill_header); + debug_print_file(fname, "\t%squick_select_scope=%s", DEBUG_PRINT_STATE(quick_select_scope), DEBUG_PRINT_STRING(quick_select_scope)); + debug_print_file(fname, "\t%squick_select_case=%s", DEBUG_PRINT_STATE(quick_select_case), print_boolean(scope->attribute->quick_select_case)); + debug_print_file(fname, "\t%squick_select_expire=%s", DEBUG_PRINT_STATE(quick_select_expire), print_boolean(scope->attribute->quick_select_expire)); + debug_print_file(fname, "\t%squick_select_header=%d", DEBUG_PRINT_STATE(quick_select_header), scope->attribute->quick_select_header); + debug_print_file(fname, "\t%sx_comment_to=%s", DEBUG_PRINT_STATE(x_comment_to), print_boolean(scope->attribute->x_comment_to)); + debug_print_file(fname, "\t%sfcc=%s", DEBUG_PRINT_STATE(fcc), DEBUG_PRINT_STRING(fcc)); + debug_print_file(fname, "\t%stex2iso_conv=%s", DEBUG_PRINT_STATE(tex2iso_conv), print_boolean(scope->attribute->tex2iso_conv)); + debug_print_file(fname, "\t%smime_forward=%s", DEBUG_PRINT_STATE(mime_forward), print_boolean(scope->attribute->mime_forward)); +# ifdef CHARSET_CONVERSION + debug_print_file(fname, "\t%smm_network_charset=%s", DEBUG_PRINT_STATE(mm_network_charset), txt_mime_charsets[scope->attribute->mm_network_charset]); + debug_print_file(fname, "\t%sundeclared_charset=%s", DEBUG_PRINT_STATE(undeclared_charset), DEBUG_PRINT_STRING(undeclared_charset)); +# endif /* CHARSET_CONVERSION */ + debug_print_file(fname, ""); + } } } -# endif /* DEBUG */ -#endif /* 0 */ +#endif /* DEBUG */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/auth.c tin-2.0.0/src/auth.c --- tin-1.8.3/src/auth.c 2005-12-02 12:07:35.000000000 +0100 +++ tin-2.0.0/src/auth.c 2011-04-17 16:04:30.239040532 +0200 @@ -3,11 +3,11 @@ * Module : auth.c * Author : Dirk Nimmich * Created : 1997-04-05 - * Updated : 2005-08-16 + * Updated : 2009-06-27 * Notes : Routines to authenticate to a news server via NNTP. * DON'T USE get_respcode() THROUGHOUT THIS CODE. * - * Copyright (c) 1997-2006 Dirk Nimmich + * Copyright (c) 1997-2011 Dirk Nimmich * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -48,91 +48,16 @@ * we don't need authentication stuff at all if we don't have NNTP support */ #ifdef NNTP_ABLE - /* * local prototypes */ -static int do_authinfo_original(char *server, char *authuser, char *authpass); -static t_bool authinfo_generic(void); +static int do_authinfo_user(char *server, char *authuser, char *authpass); static t_bool read_newsauth_file(char *server, char *authuser, char *authpass); -static t_bool authinfo_original(char *server, char *authuser, t_bool startup); - - -/* - * Process AUTHINFO GENERIC method. - * TRUE means succeeded. - * FALSE means failed - */ -static t_bool -authinfo_generic( - void) -{ - char *authcmd; - char authval[NNTP_STRLEN]; - char tmpbuf[NNTP_STRLEN]; - static int cookiefd = -1; - t_bool builtinauth = FALSE; -#if !defined(HAVE_SETENV) && defined(HAVE_PUTENV) - char *new_env; - static char *old_env = NULL; -#endif /* !HAVE_SETENV && HAVE_PUTENV */ - -#ifdef DEBUG - debug_nntp("authorization", "authinfo generic"); -#endif /* DEBUG */ - - /* - * If we have authenticated before, NNTP_AUTH_FDS already - * exists, pull out the cookiefd. Just in case we've nested. - */ - if (cookiefd == -1 && (authcmd = getenv("NNTP_AUTH_FDS"))) - (void) sscanf(authcmd, "%*d.%*d.%d", &cookiefd); - - if (cookiefd == -1) { - char tempfile[PATH_LEN]; - if ((cookiefd = my_tmpfile_only(tempfile)) == -1) { -# ifdef DEBUG - debug_nntp("authorization", txt_cannot_create_uniq_name); -# endif /* DEBUG */ - return FALSE; - } else { - close(cookiefd); - if (tempfile[0] != '\0') - (void) unlink(tempfile); - } - } - - strcpy(tmpbuf, "AUTHINFO GENERIC "); - STRCPY(authval, get_val("NNTPAUTH", "")); - if (strlen(authval)) - strcat(tmpbuf, authval); - else { - strcat(tmpbuf, "ANY "); - strcat(tmpbuf, userid); - builtinauth = TRUE; - } - put_server(tmpbuf); - -#ifdef HAVE_SETENV - snprintf(tmpbuf, sizeof(tmpbuf), "%d.%d.%d", - fileno(get_nntp_fp(FAKE_NNTP_FP)), - fileno(get_nntp_wr_fp(FAKE_NNTP_FP)), cookiefd); - setenv("NNTP_AUTH_FDS", tmpbuf, 1); -#else -# ifdef HAVE_PUTENV - snprintf(tmpbuf, sizeof(tmpbuf), "NNTP_AUTH_FDS=%d.%d.%d", - fileno(get_nntp_fp(FAKE_NNTP_FP)), - fileno(get_nntp_wr_fp(FAKE_NNTP_FP)), cookiefd); - new_env = my_strdup(tmpbuf); - (void) putenv(new_env); - FreeIfNeeded(old_env); - old_env = new_env; /* we are 'leaking' the last malloced mem at exit here */ -# endif /* HAVE_PUTENV */ -#endif /* HAVE_SETENV */ - - /* TODO: is it possible that we should have drained server here? */ - return (builtinauth ? (get_only_respcode(NULL, 0) == OK_AUTH) : (invoke_cmd(authval) ? TRUE : FALSE)); -} +static t_bool authinfo_plain(char *server, char *authuser, t_bool startup); +# ifdef USE_SASL + static char *sasl_auth_plain(char *user, char *pass); + static int do_authinfo_sasl_plain(char *authuser, char *authpass); +# endif /* USE_SASL */ /* @@ -150,14 +75,15 @@ read_newsauth_file( FILE *fp; char *_authpass; char *ptr; + char filename[PATH_LEN]; char line[PATH_LEN]; int found = 0; int fd; struct stat statbuf; - joinpath(line, homedir, ".newsauth"); + joinpath(filename, sizeof(filename), homedir, ".newsauth"); - if ((fp = fopen(line, "r"))) { + if ((fp = fopen(filename, "r"))) { if ((fd = fileno(fp)) == -1) { fclose(fp); return FALSE; @@ -167,33 +93,27 @@ read_newsauth_file( return FALSE; } +# ifndef FILE_MODE_BROKEN if (S_ISREG(statbuf.st_mode) && (statbuf.st_mode|S_IRUSR|S_IWUSR) != (S_IRUSR|S_IWUSR|S_IFREG)) { - error_message(_(txt_error_insecure_permissions), line, statbuf.st_mode); - sleep(2); + error_message(4, _(txt_error_insecure_permissions), filename, statbuf.st_mode); /* * TODO: fix permssions? * fchmod(fd, S_IRUSR|S_IWUSR); */ } +# endif /* !FILE_MODE_BROKEN */ /* * Search through authorization file for correct NNTP server * File has format: 'nntp-server' 'password' ['username'] */ - while (fgets(line, PATH_LEN, fp) != NULL) { - - /* - * strip trailing newline character - */ - + while (fgets(line, sizeof(line), fp) != NULL) { + /* strip trailing newline character */ ptr = strchr(line, '\n'); if (ptr != NULL) *ptr = '\0'; - /* - * Get server from 1st part of the line - */ - + /* Get server from 1st part of the line */ ptr = strpbrk(line, " \t"); if (ptr == NULL) /* no passwd, no auth, skip */ @@ -204,10 +124,7 @@ read_newsauth_file( if ((strcasecmp(line, server))) continue; /* wrong server, keep on */ - /* - * Get password from 2nd part of the line - */ - + /* Get password from 2nd part of the line */ while (*ptr == ' ' || *ptr == '\t') ptr++; /* skip any blanks */ @@ -222,10 +139,7 @@ read_newsauth_file( ptr = _authpass; } - /* - * Get user from 3rd part of the line - */ - + /* Get user from 3rd part of the line */ ptr = strpbrk(ptr, " \t"); /* find next separating blank */ if (ptr != NULL) { /* a 3rd argument follows */ @@ -246,11 +160,13 @@ read_newsauth_file( /* - * Perform authentication with ORIGINAL AUTHINFO method. Return response + * Perform authentication with AUTHINFO USER method. Return response * code from server. + * + * we don't handle ERR_ENCRYPT right now */ static int -do_authinfo_original( +do_authinfo_user( char *server, char *authuser, char *authpass) @@ -259,25 +175,28 @@ do_authinfo_original( int ret; snprintf(line, sizeof(line), "AUTHINFO USER %s", authuser); -#ifdef DEBUG - debug_nntp("authorization", line); -#endif /* DEBUG */ +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "authorization %s", line); +# endif /* DEBUG */ put_server(line); if ((ret = get_only_respcode(NULL, 0)) != NEED_AUTHDATA) return ret; if ((authpass == NULL) || (*authpass == '\0')) { -#ifdef DEBUG - debug_nntp("authorization", "failed: no password"); -#endif /* DEBUG */ - error_message(_(txt_nntp_authorization_failed), server); +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "authorization failed: no password"); +# endif /* DEBUG */ + error_message(2, _(txt_auth_failed_nopass), server); return ERR_AUTHBAD; } snprintf(line, sizeof(line), "AUTHINFO PASS %s", authpass); -#ifdef DEBUG - debug_nntp("authorization", line); -#endif /* DEBUG */ +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "authorization %s", line); +# endif /* DEBUG */ put_server(line); ret = get_only_respcode(line, sizeof(line)); if (!batch_mode || verbose || ret != OK_AUTH) @@ -289,6 +208,10 @@ do_authinfo_original( /* * NNTP user authorization. Returns TRUE if authorization succeeded, * FALSE if not. + * + * tries AUTHINFO SASL PLAIN (if available) fist and if not succcessfull + * AUTHINFO USER/PASS + * * If username/passwd already given, and server wasn't changed, retry those. * Otherwise, read password from ~/.newsauth or, if not present or no matching * server found, from console. @@ -299,7 +222,7 @@ do_authinfo_original( * etc. */ static t_bool -authinfo_original( +authinfo_plain( char *server, char *authuser, t_bool startup) @@ -312,11 +235,6 @@ authinfo_original( static t_bool already_failed = FALSE; static t_bool initialized = FALSE; -#ifdef DEBUG - debug_nntp("authorization", "original authinfo"); -#endif /* DEBUG */ - - changed = strcmp(server, last_server); /* do we need new auth values? */ strncpy(last_server, server, PATH_LEN - 1); last_server[PATH_LEN - 1] = '\0'; @@ -325,8 +243,18 @@ authinfo_original( * Let's try the previous auth pair first, if applicable. * Else, proceed to the other mechanisms. */ - if (initialized && !changed && !already_failed && do_authinfo_original(server, authusername, authpassword)) - return TRUE; + if (initialized && !changed && !already_failed) { +# ifdef USE_SASL + if (nntp_caps.sasl & SASL_PLAIN) + ret = do_authinfo_sasl_plain(authusername, authpassword); + if (ret != OK_AUTH) +# endif /* USE_SASL */ + { + if (nntp_caps.type != CAPABILITIES || (nntp_caps.type == CAPABILITIES && nntp_caps.authinfo_user)) + ret = do_authinfo_user(server, authusername, authpassword); + } + return (ret == OK_AUTH); + } authpassword[0] = '\0'; authuser = strncpy(authusername, authuser, sizeof(authusername) - 1); @@ -346,14 +274,25 @@ authinfo_original( * and restart tin or change to another server and back in order to get * it read again. */ - if (changed || (!changed && !already_failed)) { - already_failed = FALSE; + if ((changed || !initialized) && !already_failed) { if (read_newsauth_file(server, authuser, authpass)) { - ret = do_authinfo_original(server, authuser, authpass); - if (!(already_failed = (ret != OK_AUTH))) { -#ifdef DEBUG - debug_nntp("authorization", "succeeded"); -#endif /* DEBUG */ +# ifdef USE_SASL + if (nntp_caps.sasl & SASL_PLAIN) + ret = do_authinfo_sasl_plain(authuser, authpass); + + if (ret != OK_AUTH) +# endif /* USE_SASL */ + { + if (force_auth_on_conn_open || nntp_caps.type != CAPABILITIES || (nntp_caps.type == CAPABILITIES && nntp_caps.authinfo_user)) + ret = do_authinfo_user(server, authuser, authpass); + } + already_failed = (ret != OK_AUTH); + + if (ret == OK_AUTH) { +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "authorization succeeded"); +# endif /* DEBUG */ initialized = TRUE; return TRUE; } @@ -370,52 +309,94 @@ authinfo_original( * messages are annoying (and even wrong). * UNSURE: Maybe we want to make this decision configurable in the * options menu, too, so that the user doesn't need -A. - * TODO: Put questions into do_authinfo_original because it is possible + * TODO: Put questions into do_authinfo_user() because it is possible * that the server doesn't want a password; so only ask for it if needed. */ - if (force_auth_on_conn_open || !startup) { -#ifdef USE_CURSES - int state = RawState(); -#endif /* USE_CURSES */ - - wait_message(0, _(txt_auth_needed)); -#ifdef USE_CURSES - Raw(TRUE); -#endif /* USE_CURSES */ - - if (!prompt_default_string(_(txt_auth_user), authuser, PATH_LEN, authusername, HIST_NONE)) { -#ifdef DEBUG - debug_nntp("authorization", "failed: no username"); -#endif /* DEBUG */ - return FALSE; - } + if (force_auth_on_conn_open || !startup) { + if (nntp_caps.type != CAPABILITIES || (nntp_caps.type == CAPABILITIES && !nntp_caps.authinfo_state && ((nntp_caps.sasl & SASL_PLAIN) || nntp_caps.authinfo_user || (!nntp_caps.authinfo_user && !(nntp_caps.sasl & SASL_PLAIN))))) { +# ifdef USE_CURSES + int state = RawState(); +# endif /* USE_CURSES */ + + wait_message(0, _(txt_auth_needed)); +# ifdef USE_CURSES + Raw(TRUE); +# endif /* USE_CURSES */ + if (!prompt_default_string(_(txt_auth_user), authuser, PATH_LEN, authusername, HIST_NONE)) { +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "authorization failed: no username"); +# endif /* DEBUG */ + return FALSE; + } -#ifdef USE_CURSES - Raw(state); - my_printf("%s", _(txt_auth_pass)); - wgetnstr(stdscr, authpassword, sizeof(authpassword)); - Raw(TRUE); -#else -# if 0 - /* - * on some systems (i.e. Solaris) getpass(3) is limited to 8 chars -> - * we use tin_getline() till we have a config check - * for getpass() or our own getpass() - */ - authpass = strncpy(authpassword, getpass(_(txt_auth_pass)), sizeof(authpassword) - 1); +# ifdef USE_CURSES + Raw(state); + my_printf("%s", _(txt_auth_pass)); + wgetnstr(stdscr, authpassword, sizeof(authpassword)); + Raw(TRUE); # else - authpass = strncpy(authpassword, tin_getline(_(txt_auth_pass), FALSE, NULL, PATH_LEN, TRUE, HIST_NONE), sizeof(authpassword) - 1); -# endif /* 0 */ -#endif /* USE_CURSES */ - - ret = do_authinfo_original(server, authuser, authpass); - initialized = TRUE; - my_retouch(); /* Get rid of the chaff */ + /* + * on some systems (i.e. Solaris) getpass(3) is limited to 8 chars -> + * we use tin_getline() + */ + authpass = strncpy(authpassword, tin_getline(_(txt_auth_pass), FALSE, NULL, PATH_LEN, TRUE, HIST_NONE), sizeof(authpassword) - 1); +# endif /* USE_CURSES */ + +# ifdef USE_SASL + if (nntp_caps.sasl & SASL_PLAIN) + ret = do_authinfo_sasl_plain(authuser, authpass); + if (ret != OK_AUTH) +# endif /* USE_SASL */ + { + if (nntp_caps.type != CAPABILITIES || (nntp_caps.type == CAPABILITIES && (nntp_caps.authinfo_user || (!nntp_caps.authinfo_user && !nntp_caps.authinfo_sasl)))) { +# ifdef DEBUG + if (debug & DEBUG_NNTP) { + if (nntp_caps.type == CAPABILITIES && !nntp_caps.authinfo_sasl && !nntp_caps.authinfo_user) + debug_print_file("NNTP", "!!! No supported authmethod available, trying AUTHINFO USER/PASS"); + } +# endif /* DEBUG */ + ret = do_authinfo_user(server, authuser, authpass); + if (ret != OK_AUTH) + already_failed = TRUE; + /* + * giganews once responded to CAPABILITIES with just + * "VERSION 2", no mode-switching indication, no reader + * indication, no post indication, no authentication + * indication, ... so in case AUTHINFO USER/PASS succeeds + * if not advertized we simply go on but fully ignore + * CAPABILITIES + */ + if (nntp_caps.type == CAPABILITIES && !nntp_caps.authinfo_user && !nntp_caps.authinfo_sasl && ret == OK_AUTH) + nntp_caps.type = BROKEN; + } + } + initialized = TRUE; + my_retouch(); /* Get rid of the chaff */ + } else { + /* + * TODO: + * nntp_caps.type == CAPABILITIES && nntp_caps.authinfo_state + * can we change the sate here? and if so how? SARTTLS? MODE + * READER? + */ +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "authorization not allowed in current sate"); +# endif /* DEBUG */ + /* + * we return OK_AUTH here once so tin doesn't exit just because a + * single command requested auth ... + */ + if (!already_failed) + ret = OK_AUTH; + } } -#ifdef DEBUG - debug_nntp("authorization", (ret == OK_AUTH ? "succeeded" : "failed")); -#endif /* DEBUG */ +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "authorization %s", (ret == OK_AUTH ? "succeeded" : "failed")); +# endif /* DEBUG */ return (ret == OK_AUTH); } @@ -425,8 +406,8 @@ authinfo_original( * Do authentication stuff. Return TRUE if authentication was successful, * FALSE otherwise. * - * First try AUTHINFO GENERIC method, then, if that failed, ORIGINAL - * AUTHINFO method. Other authentication methods can easily be added. + * try ORIGINAL AUTHINFO method. + * Other authentication methods can easily be added. */ t_bool authenticate( @@ -434,8 +415,66 @@ authenticate( char *user, t_bool startup) { - return (authinfo_generic() || authinfo_original(server, user, startup)); + return authinfo_plain(server, user, startup); +} + + +# ifdef USE_SASL +static int +do_authinfo_sasl_plain( + char *authuser, + char *authpass) +{ + char line[PATH_LEN]; + char *foo; + int ret; + +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "do_authinfo_sasl_plain(%s, %s)", BlankIfNull(authuser), BlankIfNull(authpass)); +# endif /* DEBUG */ + + if ((foo = sasl_auth_plain(authuser, authpass)) == NULL) + return ERR_AUTHBAD; + + snprintf(line, sizeof(line), "AUTHINFO SASL PLAIN %s", foo); + free(foo); +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "authorization %s", line); +# endif /* DEBUG */ + put_server(line); + ret = get_only_respcode(line, sizeof(line)); + if (!batch_mode || verbose || ret != OK_AUTH) + wait_message(2, (ret == OK_AUTH ? _(txt_authorization_ok) : _(txt_authorization_fail)), authuser); + return ret; +} + + +static char *sasl_auth_plain( + char *user, + char *pass) +{ + Gsasl *ctx = NULL; + Gsasl_session *session; + char *p = NULL; + const char *mech = "PLAIN"; + + if (gsasl_init(&ctx) != GSASL_OK) /* TODO: do this only once at startup */ + return p; + if (gsasl_client_start(ctx, mech, &session) != GSASL_OK) { + gsasl_done(ctx); + return p; + } + gsasl_property_set(session, GSASL_AUTHID, user); + gsasl_property_set(session, GSASL_PASSWORD, pass); + if (gsasl_step64(session, NULL, &p) != GSASL_OK) + FreeAndNull(p); + gsasl_finish(session); + gsasl_done(ctx); + return p; } +# endif /* USE_SASL */ #else static void no_authenticate(void); /* proto-type */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/charset.c tin-2.0.0/src/charset.c --- tin-1.8.3/src/charset.c 2006-02-22 01:27:45.000000000 +0100 +++ tin-2.0.0/src/charset.c 2011-04-24 14:09:49.831375650 +0200 @@ -3,10 +3,10 @@ * Module : charset.c * Author : M. Kuhn, T. Burmester * Created : 1993-12-10 - * Updated : 2006-02-21 + * Updated : 2011-04-24 * Notes : ISO to ascii charset conversion routines * - * Copyright (c) 1993-2006 Markus Kuhn + * Copyright (c) 1993-2011 Markus Kuhn * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,7 +40,7 @@ #endif /* !TIN_H */ /* - * Table for the iso2asc convertion... + * Table for the iso2asc conversion * iso2asc by (unrza3@cd4680fs.rrze.uni-erlangen.de) * included by (root@aspic.han.de) */ @@ -153,7 +153,7 @@ void convert_iso2asc( char *iso, char **asc_buffer, - int *max_line_len, + size_t *max_line_len, int t) { constext *p; @@ -164,20 +164,20 @@ convert_iso2asc( asc = *asc_buffer; - if (iso == 0 || asc == 0) + if (iso == NULL || asc == NULL) return; - tab = (iso2asc[t] - ISO_EXTRA); + tab = iso2asc[t]; first = TRUE; i = a = 0; while (*iso != '\0') { if (*EIGHT_BIT(iso) >= ISO_EXTRA) { - p = tab[*EIGHT_BIT(iso)]; + p = tab[*EIGHT_BIT(iso) - ISO_EXTRA]; iso++, i++; first = TRUE; while (*p) { *(asc++) = *(p++); - if ((asc - *asc_buffer) >= *max_line_len) { + if ((asc - *asc_buffer) >= (int) *max_line_len) { int offset = asc - *asc_buffer; *max_line_len += 64; *asc_buffer = my_realloc(*asc_buffer, *max_line_len); @@ -237,7 +237,7 @@ convert_iso2asc( first = TRUE; } } - if ((asc - *asc_buffer) >= *max_line_len) { + if ((asc - *asc_buffer) >= (int) *max_line_len) { int offset = asc - *asc_buffer; *max_line_len += 64; *asc_buffer = my_realloc(*asc_buffer, *max_line_len); @@ -374,7 +374,8 @@ is_art_tex_encoded( */ char * convert_to_printable( - char *buf) + char *buf, + t_bool keep_tab) { #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) char *buffer; @@ -385,7 +386,7 @@ convert_to_printable( utf8_valid(buf); if ((wbuffer = char2wchar_t(buf)) != NULL) { - wconvert_to_printable(wbuffer); + wconvert_to_printable(wbuffer, keep_tab); if ((buffer = wchar_t2char(wbuffer)) != NULL) { strncpy(buf, buffer, len); @@ -399,7 +400,7 @@ convert_to_printable( unsigned char *c; for (c = (unsigned char *) buf; *c; c++) { - if (!my_isprint(*c)) + if (!my_isprint(*c) && !(keep_tab && *c == '\t')) *c = '?'; } #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ @@ -410,62 +411,21 @@ convert_to_printable( #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) /* * NOTES: don't make wc a wint_t as libutf8 (at least version 0.8) - * sometimes fails to propper convert (wchar_t) 0 to (wint_t) 0 + * sometimes fails to proper convert (wchar_t) 0 to (wint_t) 0 * and thus loop termination fails. */ wchar_t * wconvert_to_printable( - wchar_t *wbuf) + wchar_t *wbuf, + t_bool keep_tab) { wchar_t *wc; for (wc = wbuf; *wc; wc++) { - if (!iswprint((wint_t) *wc)) + if (!iswprint((wint_t) *wc) && !(keep_tab && *wc == (wchar_t) '\t')) *wc = (wchar_t) '?'; } return wbuf; } #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - - -/* - * Same as convert_to_printable() but allows Backspace (ASCII 8), TAB (ASCII - * 9), and FormFeed (ASCII 12) according to son of RFC 1036 section 4.4; - * LineFeed (ASCII 10) and CarriageReturn (ASCII 13) are allowed, too. - * - * NOTES: don't make wc a wint_t as libutf8 (at least version 0.8) - * sometimes fails to propper convert (wchar_t) 0 to (wint_t) 0 - * and thus loop termination fails. - */ -char * -convert_body2printable( - char *buf) -{ -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - char *buffer; - wchar_t *wc, *wbuffer; - size_t len = strlen(buf) + 1; - - if ((wbuffer = char2wchar_t(buf)) != NULL) { - for (wc = wbuffer; *wc; wc++) { - if (!(iswprint((wint_t) *wc) || *wc == (wchar_t) 8 || *wc == (wchar_t) 9 || *wc == (wchar_t) 10 || *wc == (wchar_t) 12 || *wc == (wchar_t) 13 || (IS_LOCAL_CHARSET("Big5") && *wc == (wchar_t) 27))) - *wc = (wchar_t) '?'; - } - if ((buffer = wchar_t2char(wbuffer)) != NULL) { - strncpy(buf, buffer, len); - buf[len - 1] = '\0'; - free(buffer); - } - free(wbuffer); - } -#else - unsigned char *c; - - for (c = (unsigned char *) buf; *c; c++) { - if (!(my_isprint(*c) || *c == 8 || *c == 9 || *c == 10 || *c == 12 || *c == 13 || (IS_LOCAL_CHARSET("Big5") && *c == 27))) - *c = '?'; - } -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - return buf; -} diff -Nurp --exclude='.bzr*' tin-1.8.3/src/color.c tin-2.0.0/src/color.c --- tin-1.8.3/src/color.c 2005-12-02 12:07:35.000000000 +0100 +++ tin-2.0.0/src/color.c 2011-05-01 00:00:41.964526796 +0200 @@ -7,11 +7,11 @@ * Julien Oster (word highlighting) * T.Dickey (curses support) * Created : 1995-06-02 - * Updated : 2004-06-07 + * Updated : 2011-04-24 * Notes : This are the basic function for ansi-color * and word highlighting * - * Copyright (c) 1995-2006 Roland Rosenfeld + * Copyright (c) 1995-2011 Roland Rosenfeld * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -58,6 +58,12 @@ int default_bcol = 0; # ifdef USE_CURSES static int current_fcol = 7; + static struct LIST { + struct LIST *link; + int pair; + int fg; + int bg; + } *list; # endif /* USE_CURSES */ static int current_bcol = 0; @@ -76,12 +82,6 @@ set_colors( int fcolor, int bcolor) { - static struct LIST { - struct LIST *link; - int pair; - int fg; - int bg; - } *list; static int nextpair; # ifndef HAVE_USE_DEFAULT_COLORS @@ -110,29 +110,29 @@ set_colors( if (bcolor > 0) bcolor %= COLORS; - /* curses assumes white/black */ - if (fcolor != COLOR_WHITE || bcolor != COLOR_BLACK) { + if (fcolor != default_fcol || bcolor != default_bcol) { struct LIST *p; t_bool found = FALSE; - for (p = list; p != 0; p = p->link) { + for (p = list; p != NULL; p = p->link) { if (p->fg == fcolor && p->bg == bcolor) { found = TRUE; break; } } - if (found) + if (found) { pair = p->pair; - else if (++nextpair < COLOR_PAIRS) { - p = my_malloc(sizeof(struct LIST)); /* TODO: plug mem leak */ + } else if (++nextpair < COLOR_PAIRS) { + p = my_malloc(sizeof(struct LIST)); p->fg = fcolor; p->bg = bcolor; p->pair = pair = nextpair; p->link = list; list = p; init_pair(pair, fcolor, bcolor); - } else + } else { pair = 0; + } } bkgdset(attribute | COLOR_PAIR(pair) | ' '); @@ -146,6 +146,29 @@ refresh_color( { set_colors(current_fcol, current_bcol); } + + +void +reset_color( + void) +{ + current_fcol = default_fcol; + current_bcol = default_bcol; + refresh_color(); +} + + +void +free_color_pair_arrays( + void) +{ + struct LIST *p, *q; + + for (p = list; p != NULL; p = q) { + q = p->link; + free(p); + } +} # endif /* USE_CURSES */ @@ -154,22 +177,27 @@ void fcol( int color) { + if (color < MIN_COLOR || color > MAX_COLOR) + color = default_fcol; + TRACE(("fcol(%d) %s", color, txt_colors[color - MIN_COLOR])); + if (use_color) { - if (color >= MIN_COLOR && color <= MAX_COLOR) { # ifdef USE_CURSES - set_colors(color, current_bcol); - current_fcol = color; + set_colors(color, current_bcol); + current_fcol = color; # else - int bold; - if (color < 0) - color = default_fcol; - bold = (color >> 3); /* bitwise operation on signed value? ouch */ - my_printf("\033[%d;%dm", bold, ((color & 7) + 30)); - if (!bold) - bcol(current_bcol); + int bold; + + if (cmd_line) + return; + if (color < 0) + color = default_fcol; + bold = (color >> 3); /* bitwise operation on signed value? ouch */ + my_printf("\033[%d;%dm", bold, ((color & 7) + 30)); + if (!bold) + bcol(current_bcol); # endif /* USE_CURSES */ - } } # ifdef USE_CURSES else @@ -183,18 +211,20 @@ void bcol( int color) { + if (color < MIN_COLOR || color > MAX_COLOR) + color = default_bcol; + TRACE(("bcol(%d) %s", color, txt_colors[color - MIN_COLOR])); + if (use_color) { - if (color >= MIN_COLOR && color <= MAX_BACKCOLOR) { # ifdef USE_CURSES - set_colors(current_fcol, color); + set_colors(current_fcol, color); # else - if (color < 0) - color = default_bcol; - my_printf("\033[%dm", (color + 40)); + if (color < 0) + color = default_bcol; + my_printf("\033[%dm", (color + 40)); # endif /* USE_CURSES */ - current_bcol = color; - } + current_bcol = color; } # ifdef USE_CURSES else @@ -228,6 +258,8 @@ draw_pager_line( fcol(tinrc.col_quote2); } else if (flags & C_QUOTE1) { fcol(tinrc.col_quote); + } else if (flags & C_VERBATIM) { + fcol(tinrc.col_verbatim); } else fcol(tinrc.col_text); } @@ -252,7 +284,7 @@ draw_pager_line( if ((wline = char2wchar_t(line)) != NULL) { int visual_len; - wconvert_to_printable(wline); + wconvert_to_printable(wline, FALSE); visual_len = wcswidth(wline, wcslen(wline) + 1); free(wline); @@ -292,7 +324,7 @@ draw_pager_line( c += num_bytes; } #else - if (my_isprint((int) *c)) { + if (my_isprint((unsigned char) *c)) { my_fputc((int) *c, stdout); c++; } @@ -312,7 +344,7 @@ draw_pager_line( * non-printable char * print as an octal value */ - snprintf(octal, sizeof(octal), "\\%03o", (int) *c & 0xff); + snprintf(octal, sizeof(octal), "\\%03o", (unsigned int) (*c & 0xff)); my_fputs(octal, stdout); c++; } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/config.c tin-2.0.0/src/config.c --- tin-1.8.3/src/config.c 2005-12-02 12:07:35.000000000 +0100 +++ tin-2.0.0/src/config.c 2011-05-08 11:53:02.636461803 +0200 @@ -3,10 +3,10 @@ * Module : config.c * Author : I. Lea * Created : 1991-04-01 - * Updated : 2005-08-14 + * Updated : 2011-04-17 * Notes : Configuration file routines * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -73,19 +73,23 @@ read_config_file( { FILE *fp; char buf[LEN], tmp[LEN]; - int upgrade = RC_CHECK; + enum rc_state upgrade = RC_CHECK; +#ifdef CHARSET_CONVERSION + int i; + t_bool is_7bit; +#endif /* CHARSET_CONVERSION */ if ((fp = fopen(file, "r")) == NULL) return FALSE; -#if 0 /* batch_mode is not set at this stage, so checking for it is useless */ - if (!batch_mode) -#endif /* 0 */ + if (!batch_mode || verbose) wait_message(0, _(txt_reading_config_file), (global_file) ? _(txt_global) : ""); while (fgets(buf, (int) sizeof(buf), fp) != NULL) { - if (buf[0] == '#' || buf[0] == '\n') { - if (upgrade == RC_CHECK && !global_file) { + if (buf[0] == '\n') + continue; + if (buf[0] == '#') { + if (upgrade == RC_CHECK && !global_file && match_string(buf, "# tin configuration file V", NULL, 0)) { upgrade = check_upgrade(buf, "# tin configuration file V", TINRC_VERSION); if (upgrade != RC_IGNORE) upgrade_prompt_quit(upgrade, CONFIG_FILE); @@ -97,6 +101,9 @@ read_config_file( switch (tolower((unsigned char) buf[0])) { case 'a': + if (match_boolean(buf, "abbreviate_groupname=", &tinrc.abbreviate_groupname)) + break; + if (match_boolean(buf, "add_posted_to_filter=", &tinrc.add_posted_to_filter)) break; @@ -154,10 +161,7 @@ read_config_file( if (match_boolean(buf, "ask_for_metamail=", &tinrc.ask_for_metamail)) break; - if (match_boolean(buf, "auto_bcc=", &tinrc.auto_bcc)) - break; - - if (match_boolean(buf, "auto_cc=", &tinrc.auto_cc)) + if (match_integer(buf, "auto_cc_bcc=", &tinrc.auto_cc_bcc, AUTO_CC_BCC)) break; if (match_boolean(buf, "auto_list_thread=", &tinrc.auto_list_thread)) @@ -188,10 +192,10 @@ read_config_file( break; #ifdef HAVE_COLOR - if (match_color(buf, "col_back=", &tinrc.col_back, MAX_COLOR)) + if (match_color(buf, "col_back=", &tinrc.col_back, MAX_BACKCOLOR)) break; - if (match_color(buf, "col_invers_bg=", &tinrc.col_invers_bg, MAX_COLOR)) + if (match_color(buf, "col_invers_bg=", &tinrc.col_invers_bg, MAX_BACKCOLOR)) break; if (match_color(buf, "col_invers_fg=", &tinrc.col_invers_fg, MAX_COLOR)) @@ -245,6 +249,9 @@ read_config_file( if (match_color(buf, "col_urls=", &tinrc.col_urls, MAX_COLOR)) break; + if (match_color(buf, "col_verbatim=", &tinrc.col_verbatim, MAX_COLOR)) + break; + if (match_color(buf, "col_markstar=", &tinrc.col_markstar, MAX_COLOR)) break; @@ -266,31 +273,6 @@ read_config_file( if (match_string(buf, "date_format=", tinrc.date_format, sizeof(tinrc.date_format))) break; - if (match_string(buf, "default_editor_format=", tinrc.editor_format, sizeof(tinrc.editor_format))) - break; - - if (match_string(buf, "default_mailer_format=", tinrc.mailer_format, sizeof(tinrc.mailer_format))) - break; - - if (match_string(buf, "default_savedir=", tinrc.savedir, sizeof(tinrc.savedir))) { - if (tinrc.savedir[0] == '.' && strlen(tinrc.savedir) == 1) { - get_cwd(buf); - my_strncpy(tinrc.savedir, buf, sizeof(tinrc.savedir) - 1); - } - break; - } - - if (match_string(buf, "default_maildir=", tinrc.maildir, sizeof(tinrc.maildir))) - break; - -#ifndef DISABLE_PRINTING - if (match_string(buf, "default_printer=", tinrc.printer, sizeof(tinrc.printer))) - break; -#endif /* !DISABLE_PRINTING */ - - if (match_string(buf, "default_sigfile=", tinrc.sigfile, sizeof(tinrc.sigfile))) - break; - if (match_integer(buf, "default_filter_days=", &tinrc.filter_days, 0)) { if (tinrc.filter_days <= 0) tinrc.filter_days = 1; @@ -303,11 +285,8 @@ read_config_file( if (match_boolean(buf, "default_filter_kill_global=", &tinrc.default_filter_kill_global)) break; - if (match_boolean(buf, "default_filter_kill_case=", &tinrc.default_filter_kill_case)) { - /* ON=false, OFF=true */ - tinrc.default_filter_kill_case = bool_not(tinrc.default_filter_kill_case); + if (match_boolean(buf, "default_filter_kill_case=", &tinrc.default_filter_kill_case)) break; - } if (match_boolean(buf, "default_filter_kill_expire=", &tinrc.default_filter_kill_expire)) break; @@ -318,11 +297,8 @@ read_config_file( if (match_boolean(buf, "default_filter_select_global=", &tinrc.default_filter_select_global)) break; - if (match_boolean(buf, "default_filter_select_case=", &tinrc.default_filter_select_case)) { - /* ON=false, OFF=true */ - tinrc.default_filter_select_case = bool_not(tinrc.default_filter_select_case); + if (match_boolean(buf, "default_filter_select_case=", &tinrc.default_filter_select_case)) break; - } if (match_boolean(buf, "default_filter_select_expire=", &tinrc.default_filter_select_expire)) break; @@ -396,6 +372,12 @@ read_config_file( break; + case 'e': + if (match_string(buf, "editor_format=", tinrc.editor_format, sizeof(tinrc.editor_format))) + break; + + break; + case 'f': if (match_boolean(buf, "force_screen_redraw=", &tinrc.force_screen_redraw)) break; @@ -406,6 +388,9 @@ read_config_file( if (match_integer(buf, "getart_limit=", &tinrc.getart_limit, 0)) break; + if (match_integer(buf, "goto_next_unread=", &tinrc.goto_next_unread, NUM_GOTO_NEXT_UNREAD)) + break; + if (match_integer(buf, "groupname_max_length=", &tinrc.groupname_max_length, 132)) break; @@ -445,14 +430,17 @@ read_config_file( break; case 'm': + if (match_string(buf, "maildir=", tinrc.maildir, sizeof(tinrc.maildir))) + break; + + if (match_string(buf, "mailer_format=", tinrc.mailer_format, sizeof(tinrc.mailer_format))) + break; + if (match_list(buf, "mail_mime_encoding=", txt_mime_encodings, NUM_MIME_ENCODINGS, &tinrc.mail_mime_encoding)) break; - if (match_boolean(buf, "mail_8bit_header=", &tinrc.mail_8bit_header)) { - if (strcasecmp(txt_mime_encodings[tinrc.mail_mime_encoding], txt_8bit)) - tinrc.mail_8bit_header = FALSE; + if (match_boolean(buf, "mail_8bit_header=", &tinrc.mail_8bit_header)) break; - } #ifndef CHARSET_CONVERSION if (match_string(buf, "mm_charset=", tinrc.mm_charset, sizeof(tinrc.mm_charset))) @@ -462,6 +450,10 @@ read_config_file( break; if (match_list(buf, "mm_network_charset=", txt_mime_charsets, NUM_MIME_CHARSETS, &tinrc.mm_network_charset)) break; +# ifdef NO_LOCALE + if (match_string(buf, "mm_local_charset=", tinrc.mm_local_charset, sizeof(tinrc.mm_local_charset))) + break; +# endif /* NO_LOCALE */ #endif /* !CHARSET_CONVERSION */ if (match_boolean(buf, "mark_ignore_tags=", &tinrc.mark_ignore_tags)) @@ -503,22 +495,12 @@ read_config_file( } /* pick which news headers to display */ - if (match_string(buf, "news_headers_to_display=", tinrc.news_headers_to_display, sizeof(tinrc.news_headers_to_display))) { - if (news_headers_to_display_array) - FreeIfNeeded(*news_headers_to_display_array); - FreeIfNeeded(news_headers_to_display_array); - news_headers_to_display_array = ulBuildArgv(tinrc.news_headers_to_display, &num_headers_to_display); + if (match_string(buf, "news_headers_to_display=", tinrc.news_headers_to_display, sizeof(tinrc.news_headers_to_display))) break; - } /* pick which news headers to NOT display */ - if (match_string(buf, "news_headers_to_not_display=", tinrc.news_headers_to_not_display, sizeof(tinrc.news_headers_to_not_display))) { - if (news_headers_to_not_display_array) - FreeIfNeeded(*news_headers_to_not_display_array); - FreeIfNeeded(news_headers_to_not_display_array); - news_headers_to_not_display_array = ulBuildArgv(tinrc.news_headers_to_not_display, &num_headers_to_not_display); + if (match_string(buf, "news_headers_to_not_display=", tinrc.news_headers_to_not_display, sizeof(tinrc.news_headers_to_not_display))) break; - } if (match_string(buf, "news_quote_format=", tinrc.news_quote_format, sizeof(tinrc.news_quote_format))) break; @@ -541,14 +523,13 @@ read_config_file( if (match_list(buf, "post_mime_encoding=", txt_mime_encodings, NUM_MIME_ENCODINGS, &tinrc.post_mime_encoding)) break; - if (match_boolean(buf, "post_8bit_header=", &tinrc.post_8bit_header)) { - /* if post_mime_encoding != 8bit, post_8bit_header is disabled */ - if (strcasecmp(txt_mime_encodings[tinrc.post_mime_encoding], txt_8bit)) - tinrc.post_8bit_header = FALSE; + if (match_boolean(buf, "post_8bit_header=", &tinrc.post_8bit_header)) break; - } #ifndef DISABLE_PRINTING + if (match_string(buf, "printer=", tinrc.printer, sizeof(tinrc.printer))) + break; + if (match_boolean(buf, "print_header=", &tinrc.print_header)) break; #endif /* !DISABLE_PRINTING */ @@ -556,7 +537,7 @@ read_config_file( if (match_boolean(buf, "pos_first_unread=", &tinrc.pos_first_unread)) break; - if (match_integer(buf, "post_process_type=", &tinrc.post_process, POST_PROC_YES)) + if (match_integer(buf, "post_process_type=", &tinrc.post_process_type, POST_PROC_YES)) break; if (match_boolean(buf, "post_process_view=", &tinrc.post_process_view)) @@ -571,9 +552,6 @@ read_config_file( if (match_boolean(buf, "prompt_followupto=", &tinrc.prompt_followupto)) break; - if (match_boolean(buf, "pgdn_goto_next=", &tinrc.pgdn_goto_next)) - break; - break; case 'q': @@ -613,6 +591,14 @@ read_config_file( break; case 's': + if (match_string(buf, "savedir=", tinrc.savedir, sizeof(tinrc.savedir))) { + if (tinrc.savedir[0] == '.' && strlen(tinrc.savedir) == 1) { + get_cwd(buf); + my_strncpy(tinrc.savedir, buf, sizeof(tinrc.savedir) - 1); + } + break; + } + if (match_integer(buf, "score_limit_kill=", &tinrc.score_limit_kill, 0)) break; @@ -637,7 +623,7 @@ read_config_file( break; } - if (match_boolean(buf, "show_only_unread=", &tinrc.show_only_unread_arts)) + if (match_boolean(buf, "show_only_unread_arts=", &tinrc.show_only_unread_arts)) break; if (match_boolean(buf, "show_only_unread_groups=", &tinrc.show_only_unread_groups)) @@ -646,6 +632,9 @@ read_config_file( if (match_boolean(buf, "sigdashes=", &tinrc.sigdashes)) break; + if (match_string(buf, "sigfile=", tinrc.sigfile, sizeof(tinrc.sigfile))) + break; + if (match_boolean(buf, "signature_repost=", &tinrc.signature_repost)) break; @@ -658,7 +647,7 @@ read_config_file( if (match_integer(buf, "sort_article_type=", &tinrc.sort_article_type, SORT_ARTICLES_BY_LINES_ASCEND)) break; - if (match_integer(buf, "sort_threads_type=", &tinrc.sort_threads_type, SORT_THREADS_BY_SCORE_ASCEND)) + if (match_integer(buf, "sort_threads_type=", &tinrc.sort_threads_type, SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND)) break; if (match_integer(buf, "scroll_lines=", &tinrc.scroll_lines, 0)) @@ -695,9 +684,6 @@ read_config_file( if (match_string(buf, "strip_was_regex=", tinrc.strip_was_regex, sizeof(tinrc.strip_was_regex))) break; - if (match_boolean(buf, "space_goto_next_unread=", &tinrc.space_goto_next_unread)) - break; - break; case 't': @@ -710,9 +696,6 @@ read_config_file( if (match_integer(buf, "thread_score=", &tinrc.thread_score, THREAD_SCORE_WEIGHT)) break; - if (match_boolean(buf, "tab_goto_next_unread=", &tinrc.tab_goto_next_unread)) - break; - if (match_boolean(buf, "tex2iso_conv=", &tinrc.tex2iso_conv)) break; @@ -724,6 +707,9 @@ read_config_file( break; #endif /* HAVE_ICONV_OPEN_TRANSLIT && CHARSET_CONVERSION */ + if (match_integer(buf, "trim_article_body=", &tinrc.trim_article_body, NUM_TRIM_ARTICLE_BODY)) + break; + break; case 'u': @@ -749,7 +735,7 @@ read_config_file( #ifdef HAVE_COLOR if (match_boolean(buf, "use_color=", &tinrc.use_color)) { - use_color = tinrc.use_color; + use_color = cmdline.args & CMDLINE_USE_COLOR ? bool_not(tinrc.use_color) : tinrc.use_color; break; } #endif /* HAVE_COLOR */ @@ -759,6 +745,26 @@ read_config_file( break; #endif /* XFACE_ABLE */ +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + if (match_boolean(buf, "utf8_graphics=", &tinrc.utf8_graphics)) { + /* only enable this when local charset is UTF-8 */ + tinrc.utf8_graphics = tinrc.utf8_graphics ? IS_LOCAL_CHARSET("UTF-8") : FALSE; + break; + } +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + + break; + + case 'v': + if (match_string(buf, "verbatim_begin_regex=", tinrc.verbatim_begin_regex, sizeof(tinrc.verbatim_begin_regex))) + break; + + if (match_string(buf, "verbatim_end_regex=", tinrc.verbatim_end_regex, sizeof(tinrc.verbatim_end_regex))) + break; + + if (match_boolean(buf, "verbatim_handling=", &tinrc.verbatim_handling)) + break; + break; case 'w': @@ -801,28 +807,47 @@ read_config_file( if (!(tinrc.draw_arrow || tinrc.inverse_okay)) tinrc.draw_arrow = TRUE; +#ifdef CHARSET_CONVERSION /* - * determine local charset, or in case of NO_LOCALE use - * mm{_network}_charset + * check if we have a 7bit charset but a !7bit encoding + * or a 8bit charset but a !8bit encoding, update encoding if needed */ - { -#ifndef NO_LOCALE - const char *p; - - if ((p = tin_nl_langinfo(CODESET)) != NULL) { - if (!strcmp(p, "ANSI_X3.4-1968")) - strcpy(tinrc.mm_local_charset, "US-ASCII"); - else - strcpy(tinrc.mm_local_charset, p); - } else -#endif /* !NO_LOCALE */ - if (!*tinrc.mm_local_charset) -#ifndef CHARSET_CONVERSION - strcpy(tinrc.mm_local_charset, tinrc.mm_charset); -#else - strcpy(tinrc.mm_local_charset, txt_mime_charsets[tinrc.mm_network_charset]); -#endif /* !CHARSET_CONVERSION */ + is_7bit = FALSE; + for (i = 0; *txt_mime_7bit_charsets[i]; i++) { + if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) { + is_7bit = TRUE; + break; + } } + if (is_7bit) { + if (tinrc.mail_mime_encoding != MIME_ENCODING_7BIT) + tinrc.mail_mime_encoding = MIME_ENCODING_7BIT; + if (tinrc.post_mime_encoding != MIME_ENCODING_7BIT) + tinrc.post_mime_encoding = MIME_ENCODING_7BIT; + } else { + if (tinrc.mail_mime_encoding == MIME_ENCODING_7BIT) + tinrc.mail_mime_encoding = MIME_ENCODING_QP; + if (tinrc.post_mime_encoding == MIME_ENCODING_7BIT) + tinrc.post_mime_encoding = MIME_ENCODING_8BIT; + } +#endif /* CHARSET_CONVERSION */ + + /* do not use 8 bit headers if mime encoding is not 8bit */ + if (tinrc.mail_mime_encoding != MIME_ENCODING_8BIT) + tinrc.mail_8bit_header = FALSE; + if (tinrc.post_mime_encoding != MIME_ENCODING_8BIT) + tinrc.post_8bit_header = FALSE; + + /* set defaults if blank */ + if (!*tinrc.editor_format) + STRCPY(tinrc.editor_format, TIN_EDITOR_FMT_ON); + if (!*tinrc.date_format) + STRCPY(tinrc.date_format, DEFAULT_DATE_FORMAT); + + /* determine local charset */ +#if defined(NO_LOCALE) && !defined(CHARSET_CONVERSION) + strcpy(tinrc.mm_local_charset, tinrc.mm_charset); +#endif /* NO_LOCALE && !CHARSET_CONVERSION */ return TRUE; } @@ -845,487 +870,492 @@ write_config_file( file_tmp = get_tmpfilename(file); if ((fp = fopen(file_tmp, "w")) == NULL) { - error_message(_(txt_filesystem_full_backup), CONFIG_FILE); + error_message(2, _(txt_filesystem_full_backup), CONFIG_FILE); free(file_tmp); return; } - if (!cmd_line) - wait_message(0, _(txt_saving)); - - if (!*tinrc.editor_format) - strcpy(tinrc.editor_format, TIN_EDITOR_FMT_ON); + wait_message(0, _(txt_saving)); fprintf(fp, txt_tinrc_header, PRODUCT, TINRC_VERSION, tin_progname, VERSION, RELEASEDATE, RELEASENAME); - fprintf(fp, _(txt_savedir.tinrc)); - fprintf(fp, "default_savedir=%s\n\n", tinrc.savedir); + fprintf(fp, "%s", _(txt_savedir.tinrc)); + fprintf(fp, "savedir=%s\n\n", tinrc.savedir); - fprintf(fp, _(txt_auto_save.tinrc)); + fprintf(fp, "%s", _(txt_auto_save.tinrc)); fprintf(fp, "auto_save=%s\n\n", print_boolean(tinrc.auto_save)); - fprintf(fp, _(txt_mark_saved_read.tinrc)); + fprintf(fp, "%s", _(txt_mark_saved_read.tinrc)); fprintf(fp, "mark_saved_read=%s\n\n", print_boolean(tinrc.mark_saved_read)); - fprintf(fp, _(txt_post_process.tinrc)); - fprintf(fp, "post_process_type=%d\n\n", tinrc.post_process); + fprintf(fp, "%s", _(txt_post_process_type.tinrc)); + fprintf(fp, "post_process_type=%d\n\n", tinrc.post_process_type); - fprintf(fp, _(txt_post_process_view.tinrc)); + fprintf(fp, "%s", _(txt_post_process_view.tinrc)); fprintf(fp, "post_process_view=%s\n\n", print_boolean(tinrc.post_process_view)); - fprintf(fp, _(txt_process_only_unread.tinrc)); + fprintf(fp, "%s", _(txt_process_only_unread.tinrc)); fprintf(fp, "process_only_unread=%s\n\n", print_boolean(tinrc.process_only_unread)); - fprintf(fp, _(txt_prompt_followupto.tinrc)); + fprintf(fp, "%s", _(txt_prompt_followupto.tinrc)); fprintf(fp, "prompt_followupto=%s\n\n", print_boolean(tinrc.prompt_followupto)); - fprintf(fp, _(txt_confirm_choice.tinrc)); + fprintf(fp, "%s", _(txt_confirm_choice.tinrc)); fprintf(fp, "confirm_choice=%s\n\n", txt_confirm_choices[tinrc.confirm_choice]); - fprintf(fp, _(txt_mark_ignore_tags.tinrc)); + fprintf(fp, "%s", _(txt_mark_ignore_tags.tinrc)); fprintf(fp, "mark_ignore_tags=%s\n\n", print_boolean(tinrc.mark_ignore_tags)); - fprintf(fp, _(txt_auto_reconnect.tinrc)); + fprintf(fp, "%s", _(txt_auto_reconnect.tinrc)); fprintf(fp, "auto_reconnect=%s\n\n", print_boolean(tinrc.auto_reconnect)); - fprintf(fp, _(txt_draw_arrow.tinrc)); + fprintf(fp, "%s", _(txt_draw_arrow.tinrc)); fprintf(fp, "draw_arrow=%s\n\n", print_boolean(tinrc.draw_arrow)); - fprintf(fp, _(txt_inverse_okay.tinrc)); + fprintf(fp, "%s", _(txt_inverse_okay.tinrc)); fprintf(fp, "inverse_okay=%s\n\n", print_boolean(tinrc.inverse_okay)); - fprintf(fp, _(txt_pos_first_unread.tinrc)); + fprintf(fp, "%s", _(txt_pos_first_unread.tinrc)); fprintf(fp, "pos_first_unread=%s\n\n", print_boolean(tinrc.pos_first_unread)); - fprintf(fp, _(txt_show_only_unread_arts.tinrc)); - fprintf(fp, "show_only_unread=%s\n\n", print_boolean(tinrc.show_only_unread_arts)); + fprintf(fp, "%s", _(txt_show_only_unread_arts.tinrc)); + fprintf(fp, "show_only_unread_arts=%s\n\n", print_boolean(tinrc.show_only_unread_arts)); - fprintf(fp, _(txt_show_only_unread_groups.tinrc)); + fprintf(fp, "%s", _(txt_show_only_unread_groups.tinrc)); fprintf(fp, "show_only_unread_groups=%s\n\n", print_boolean(tinrc.show_only_unread_groups)); - fprintf(fp, _(txt_kill_level.tinrc)); + fprintf(fp, "%s", _(txt_kill_level.tinrc)); fprintf(fp, "kill_level=%d\n\n", tinrc.kill_level); - fprintf(fp, _(txt_tab_goto_next_unread.tinrc)); - fprintf(fp, "tab_goto_next_unread=%s\n\n", print_boolean(tinrc.tab_goto_next_unread)); - - fprintf(fp, _(txt_space_goto_next_unread.tinrc)); - fprintf(fp, "space_goto_next_unread=%s\n\n", print_boolean(tinrc.space_goto_next_unread)); - - fprintf(fp, _(txt_pgdn_goto_next.tinrc)); - fprintf(fp, "pgdn_goto_next=%s\n\n", print_boolean(tinrc.pgdn_goto_next)); + fprintf(fp, "%s", _(txt_goto_next_unread.tinrc)); + fprintf(fp, "goto_next_unread=%d\n\n", tinrc.goto_next_unread); - fprintf(fp, _(txt_scroll_lines.tinrc)); + fprintf(fp, "%s", _(txt_scroll_lines.tinrc)); fprintf(fp, "scroll_lines=%d\n\n", tinrc.scroll_lines); - fprintf(fp, _(txt_catchup_read_groups.tinrc)); + fprintf(fp, "%s", _(txt_catchup_read_groups.tinrc)); fprintf(fp, "catchup_read_groups=%s\n\n", print_boolean(tinrc.catchup_read_groups)); - fprintf(fp, _(txt_group_catchup_on_exit.tinrc)); + fprintf(fp, "%s", _(txt_group_catchup_on_exit.tinrc)); fprintf(fp, "group_catchup_on_exit=%s\n", print_boolean(tinrc.group_catchup_on_exit)); fprintf(fp, "thread_catchup_on_exit=%s\n\n", print_boolean(tinrc.thread_catchup_on_exit)); - fprintf(fp, _(txt_thread_articles.tinrc)); + fprintf(fp, "%s", _(txt_thread_articles.tinrc)); fprintf(fp, "thread_articles=%d\n\n", tinrc.thread_articles); - fprintf(fp, _(txt_thread_perc.tinrc)); + fprintf(fp, "%s", _(txt_thread_perc.tinrc)); fprintf(fp, "thread_perc=%d\n\n", tinrc.thread_perc); - fprintf(fp, _(txt_show_description.tinrc)); + fprintf(fp, "%s", _(txt_show_description.tinrc)); fprintf(fp, "show_description=%s\n\n", print_boolean(tinrc.show_description)); - fprintf(fp, _(txt_show_author.tinrc)); + fprintf(fp, "%s", _(txt_show_author.tinrc)); fprintf(fp, "show_author=%d\n\n", tinrc.show_author); - fprintf(fp, _(txt_news_headers_to_display.tinrc)); - fprintf(fp, "news_headers_to_display="); - for (i = 0; i < num_headers_to_display; i++) - fprintf(fp, "%s ", news_headers_to_display_array[i]); - fprintf(fp, "\n\n"); - - fprintf(fp, _(txt_news_headers_to_not_display.tinrc)); - fprintf(fp, "news_headers_to_not_display="); - for (i = 0; i < num_headers_to_not_display; i++) - fprintf(fp, "%s ", news_headers_to_not_display_array[i]); - fprintf(fp, "\n\n"); + fprintf(fp, "%s", _(txt_news_headers_to_display.tinrc)); + fprintf(fp, "news_headers_to_display=%s\n\n", tinrc.news_headers_to_display); - fprintf(fp, _(txt_tinrc_info_in_last_line)); + fprintf(fp, "%s", _(txt_news_headers_to_not_display.tinrc)); + fprintf(fp, "news_headers_to_not_display=%s\n\n", tinrc.news_headers_to_not_display); + + fprintf(fp, "%s", _(txt_tinrc_info_in_last_line)); fprintf(fp, "info_in_last_line=%s\n\n", print_boolean(tinrc.info_in_last_line)); - fprintf(fp, _(txt_sort_article_type.tinrc)); + fprintf(fp, "%s", _(txt_sort_article_type.tinrc)); fprintf(fp, "sort_article_type=%d\n\n", tinrc.sort_article_type); - fprintf(fp, _(txt_sort_threads_type.tinrc)); + fprintf(fp, "%s", _(txt_sort_threads_type.tinrc)); fprintf(fp, "sort_threads_type=%d\n\n", tinrc.sort_threads_type); - fprintf(fp, _(txt_maildir.tinrc)); - fprintf(fp, "default_maildir=%s\n\n", tinrc.maildir); + fprintf(fp, "%s", _(txt_maildir.tinrc)); + fprintf(fp, "maildir=%s\n\n", tinrc.maildir); - fprintf(fp, _(txt_mailbox_format.tinrc)); + fprintf(fp, "%s", _(txt_mailbox_format.tinrc)); fprintf(fp, "mailbox_format=%s\n\n", txt_mailbox_formats[tinrc.mailbox_format]); #ifndef DISABLE_PRINTING - fprintf(fp, _(txt_print_header.tinrc)); + fprintf(fp, "%s", _(txt_print_header.tinrc)); fprintf(fp, "print_header=%s\n\n", print_boolean(tinrc.print_header)); - fprintf(fp, _(txt_printer.tinrc)); - fprintf(fp, "default_printer=%s\n\n", tinrc.printer); + fprintf(fp, "%s", _(txt_printer.tinrc)); + fprintf(fp, "printer=%s\n\n", tinrc.printer); #endif /* !DISABLE_PRINTING */ - fprintf(fp, _(txt_batch_save.tinrc)); + fprintf(fp, "%s", _(txt_batch_save.tinrc)); fprintf(fp, "batch_save=%s\n\n", print_boolean(tinrc.batch_save)); - fprintf(fp, _(txt_start_editor_offset.tinrc)); + fprintf(fp, "%s", _(txt_start_editor_offset.tinrc)); fprintf(fp, "start_editor_offset=%s\n\n", print_boolean(tinrc.start_editor_offset)); - fprintf(fp, _(txt_editor_format.tinrc)); - fprintf(fp, "default_editor_format=%s\n\n", tinrc.editor_format); + fprintf(fp, "%s", _(txt_editor_format.tinrc)); + fprintf(fp, "editor_format=%s\n\n", tinrc.editor_format); - fprintf(fp, _(txt_mailer_format.tinrc)); - fprintf(fp, "default_mailer_format=%s\n\n", tinrc.mailer_format); + fprintf(fp, "%s", _(txt_mailer_format.tinrc)); + fprintf(fp, "mailer_format=%s\n\n", tinrc.mailer_format); - fprintf(fp, _(txt_interactive_mailer.tinrc)); + fprintf(fp, "%s", _(txt_interactive_mailer.tinrc)); fprintf(fp, "interactive_mailer=%d\n\n", tinrc.interactive_mailer); - fprintf(fp, _(txt_show_info.tinrc)); + fprintf(fp, "%s", _(txt_show_info.tinrc)); fprintf(fp, "show_info=%d\n\n", tinrc.show_info); - fprintf(fp, _(txt_thread_score.tinrc)); + fprintf(fp, "%s", _(txt_thread_score.tinrc)); fprintf(fp, "thread_score=%d\n\n", tinrc.thread_score); - fprintf(fp, _(txt_unlink_article.tinrc)); + fprintf(fp, "%s", _(txt_unlink_article.tinrc)); fprintf(fp, "unlink_article=%s\n\n", print_boolean(tinrc.unlink_article)); - fprintf(fp, _(txt_keep_dead_articles.tinrc)); + fprintf(fp, "%s", _(txt_keep_dead_articles.tinrc)); fprintf(fp, "keep_dead_articles=%s\n\n", print_boolean(tinrc.keep_dead_articles)); - fprintf(fp, _(txt_posted_articles_file.tinrc)); + fprintf(fp, "%s", _(txt_posted_articles_file.tinrc)); fprintf(fp, "posted_articles_file=%s\n\n", tinrc.posted_articles_file); - fprintf(fp, _(txt_add_posted_to_filter.tinrc)); + fprintf(fp, "%s", _(txt_add_posted_to_filter.tinrc)); fprintf(fp, "add_posted_to_filter=%s\n\n", print_boolean(tinrc.add_posted_to_filter)); - fprintf(fp, _(txt_sigfile.tinrc)); - fprintf(fp, "default_sigfile=%s\n\n", tinrc.sigfile); + fprintf(fp, "%s", _(txt_sigfile.tinrc)); + fprintf(fp, "sigfile=%s\n\n", tinrc.sigfile); - fprintf(fp, _(txt_sigdashes.tinrc)); + fprintf(fp, "%s", _(txt_sigdashes.tinrc)); fprintf(fp, "sigdashes=%s\n\n", print_boolean(tinrc.sigdashes)); - fprintf(fp, _(txt_signature_repost.tinrc)); + fprintf(fp, "%s", _(txt_signature_repost.tinrc)); fprintf(fp, "signature_repost=%s\n\n", print_boolean(tinrc.signature_repost)); - fprintf(fp, _(txt_spamtrap_warning_addresses.tinrc)); + fprintf(fp, "%s", _(txt_spamtrap_warning_addresses.tinrc)); fprintf(fp, "spamtrap_warning_addresses=%s\n\n", tinrc.spamtrap_warning_addresses); - fprintf(fp, _(txt_url_handler.tinrc)); + fprintf(fp, "%s", _(txt_url_handler.tinrc)); fprintf(fp, "url_handler=%s\n\n", tinrc.url_handler); - fprintf(fp, _(txt_advertising.tinrc)); + fprintf(fp, "%s", _(txt_advertising.tinrc)); fprintf(fp, "advertising=%s\n\n", print_boolean(tinrc.advertising)); - fprintf(fp, _(txt_reread_active_file_secs.tinrc)); + fprintf(fp, "%s", _(txt_reread_active_file_secs.tinrc)); fprintf(fp, "reread_active_file_secs=%d\n\n", tinrc.reread_active_file_secs); - fprintf(fp, _(txt_quote_chars.tinrc)); + fprintf(fp, "%s", _(txt_quote_chars.tinrc)); fprintf(fp, "quote_chars=%s\n\n", quote_space_to_dash(tinrc.quote_chars)); - fprintf(fp, _(txt_quote_style.tinrc)); + fprintf(fp, "%s", _(txt_quote_style.tinrc)); fprintf(fp, "quote_style=%d\n\n", tinrc.quote_style); #ifdef HAVE_COLOR - fprintf(fp, _(txt_quote_regex.tinrc)); + fprintf(fp, "%s", _(txt_quote_regex.tinrc)); fprintf(fp, "quote_regex=%s\n\n", tinrc.quote_regex); - fprintf(fp, _(txt_quote_regex2.tinrc)); + fprintf(fp, "%s", _(txt_quote_regex2.tinrc)); fprintf(fp, "quote_regex2=%s\n\n", tinrc.quote_regex2); - fprintf(fp, _(txt_quote_regex3.tinrc)); + fprintf(fp, "%s", _(txt_quote_regex3.tinrc)); fprintf(fp, "quote_regex3=%s\n\n", tinrc.quote_regex3); #endif /* HAVE_COLOR */ - fprintf(fp, _(txt_slashes_regex.tinrc)); + fprintf(fp, "%s", _(txt_slashes_regex.tinrc)); fprintf(fp, "slashes_regex=%s\n\n", tinrc.slashes_regex); - fprintf(fp, _(txt_stars_regex.tinrc)); + fprintf(fp, "%s", _(txt_stars_regex.tinrc)); fprintf(fp, "stars_regex=%s\n\n", tinrc.stars_regex); - fprintf(fp, _(txt_strokes_regex.tinrc)); + fprintf(fp, "%s", _(txt_strokes_regex.tinrc)); fprintf(fp, "strokes_regex=%s\n\n", tinrc.strokes_regex); - fprintf(fp, _(txt_underscores_regex.tinrc)); + fprintf(fp, "%s", _(txt_underscores_regex.tinrc)); fprintf(fp, "underscores_regex=%s\n\n", tinrc.underscores_regex); - fprintf(fp, _(txt_strip_re_regex.tinrc)); + fprintf(fp, "%s", _(txt_strip_re_regex.tinrc)); fprintf(fp, "strip_re_regex=%s\n\n", tinrc.strip_re_regex); - fprintf(fp, _(txt_strip_was_regex.tinrc)); + fprintf(fp, "%s", _(txt_strip_was_regex.tinrc)); fprintf(fp, "strip_was_regex=%s\n\n", tinrc.strip_was_regex); - fprintf(fp, _(txt_show_signatures.tinrc)); + fprintf(fp, "%s", _(txt_verbatim_begin_regex.tinrc)); + fprintf(fp, "verbatim_begin_regex=%s\n\n", tinrc.verbatim_begin_regex); + fprintf(fp, "%s", _(txt_verbatim_end_regex.tinrc)); + fprintf(fp, "verbatim_end_regex=%s\n\n", tinrc.verbatim_end_regex); + + fprintf(fp, "%s", _(txt_show_signatures.tinrc)); fprintf(fp, "show_signatures=%s\n\n", print_boolean(tinrc.show_signatures)); - fprintf(fp, _(txt_tex2iso_conv.tinrc)); + fprintf(fp, "%s", _(txt_tex2iso_conv.tinrc)); fprintf(fp, "tex2iso_conv=%s\n\n", print_boolean(tinrc.tex2iso_conv)); - fprintf(fp, _(txt_hide_uue.tinrc)); + fprintf(fp, "%s", _(txt_hide_uue.tinrc)); fprintf(fp, "hide_uue=%d\n\n", tinrc.hide_uue); - fprintf(fp, _(txt_news_quote_format.tinrc)); + fprintf(fp, "%s", _(txt_news_quote_format.tinrc)); fprintf(fp, "news_quote_format=%s\n", tinrc.news_quote_format); fprintf(fp, "mail_quote_format=%s\n", tinrc.mail_quote_format); fprintf(fp, "xpost_quote_format=%s\n\n", tinrc.xpost_quote_format); - fprintf(fp, _(txt_auto_cc.tinrc)); - fprintf(fp, "auto_cc=%s\n\n", print_boolean(tinrc.auto_cc)); + fprintf(fp, "%s", _(txt_auto_cc_bcc.tinrc)); + fprintf(fp, "auto_cc_bcc=%d\n\n", tinrc.auto_cc_bcc); - fprintf(fp, _(txt_auto_bcc.tinrc)); - fprintf(fp, "auto_bcc=%s\n\n", print_boolean(tinrc.auto_bcc)); +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + fprintf(fp, "%s", _(txt_utf8_graphics.tinrc)); + fprintf(fp, "utf8_graphics=%s\n\n", print_boolean(tinrc.utf8_graphics)); +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - fprintf(fp, _(txt_art_marked_deleted.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_deleted.tinrc)); fprintf(fp, "art_marked_deleted=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_deleted)); - fprintf(fp, _(txt_art_marked_inrange.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_inrange.tinrc)); fprintf(fp, "art_marked_inrange=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_inrange)); - fprintf(fp, _(txt_art_marked_return.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_return.tinrc)); fprintf(fp, "art_marked_return=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_return)); - fprintf(fp, _(txt_art_marked_selected.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_selected.tinrc)); fprintf(fp, "art_marked_selected=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_selected)); - fprintf(fp, _(txt_art_marked_recent.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_recent.tinrc)); fprintf(fp, "art_marked_recent=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_recent)); - fprintf(fp, _(txt_art_marked_unread.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_unread.tinrc)); fprintf(fp, "art_marked_unread=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_unread)); - fprintf(fp, _(txt_art_marked_read.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_read.tinrc)); fprintf(fp, "art_marked_read=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_read)); - fprintf(fp, _(txt_art_marked_killed.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_killed.tinrc)); fprintf(fp, "art_marked_killed=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_killed)); - fprintf(fp, _(txt_art_marked_read_selected.tinrc)); + fprintf(fp, "%s", _(txt_art_marked_read_selected.tinrc)); fprintf(fp, "art_marked_read_selected=%c\n\n", SPACE_TO_DASH(tinrc.art_marked_read_selected)); - fprintf(fp, _(txt_force_screen_redraw.tinrc)); + fprintf(fp, "%s", _(txt_force_screen_redraw.tinrc)); fprintf(fp, "force_screen_redraw=%s\n\n", print_boolean(tinrc.force_screen_redraw)); - fprintf(fp, _(txt_inews_prog.tinrc)); + fprintf(fp, "%s", _(txt_inews_prog.tinrc)); fprintf(fp, "inews_prog=%s\n\n", tinrc.inews_prog); - fprintf(fp, _(txt_auto_list_thread.tinrc)); + fprintf(fp, "%s", _(txt_auto_list_thread.tinrc)); fprintf(fp, "auto_list_thread=%s\n\n", print_boolean(tinrc.auto_list_thread)); - fprintf(fp, _(txt_wrap_on_next_unread.tinrc)); + fprintf(fp, "%s", _(txt_wrap_on_next_unread.tinrc)); fprintf(fp, "wrap_on_next_unread=%s\n\n", print_boolean(tinrc.wrap_on_next_unread)); - fprintf(fp, _(txt_use_mouse.tinrc)); + fprintf(fp, "%s", _(txt_use_mouse.tinrc)); fprintf(fp, "use_mouse=%s\n\n", print_boolean(tinrc.use_mouse)); - fprintf(fp, _(txt_strip_blanks.tinrc)); + fprintf(fp, "%s", _(txt_strip_blanks.tinrc)); fprintf(fp, "strip_blanks=%s\n\n", print_boolean(tinrc.strip_blanks)); - fprintf(fp, _(txt_groupname_max_length.tinrc)); + fprintf(fp, "%s", _(txt_groupname_max_length.tinrc)); fprintf(fp, "groupname_max_length=%d\n\n", tinrc.groupname_max_length); - fprintf(fp, _(txt_beginner_level.tinrc)); + fprintf(fp, "%s", _(txt_abbreviate_groupname.tinrc)); + fprintf(fp, "abbreviate_groupname=%s\n\n", print_boolean(tinrc.abbreviate_groupname)); + + fprintf(fp, "%s", _(txt_beginner_level.tinrc)); fprintf(fp, "beginner_level=%s\n\n", print_boolean(tinrc.beginner_level)); - fprintf(fp, _(txt_filter_days.tinrc)); + fprintf(fp, "%s", _(txt_filter_days.tinrc)); fprintf(fp, "default_filter_days=%d\n\n", tinrc.filter_days); - fprintf(fp, _(txt_cache_overview_files.tinrc)); + fprintf(fp, "%s", _(txt_cache_overview_files.tinrc)); fprintf(fp, "cache_overview_files=%s\n\n", print_boolean(tinrc.cache_overview_files)); - fprintf(fp, _(txt_getart_limit.tinrc)); + fprintf(fp, "%s", _(txt_getart_limit.tinrc)); fprintf(fp, "getart_limit=%d\n\n", tinrc.getart_limit); - fprintf(fp, _(txt_recent_time.tinrc)); + fprintf(fp, "%s", _(txt_recent_time.tinrc)); fprintf(fp, "recent_time=%d\n\n", tinrc.recent_time); - fprintf(fp, _(txt_score_limit_kill.tinrc)); + fprintf(fp, "%s", _(txt_score_limit_kill.tinrc)); fprintf(fp, "score_limit_kill=%d\n\n", tinrc.score_limit_kill); - fprintf(fp, _(txt_score_kill.tinrc)); + fprintf(fp, "%s", _(txt_score_kill.tinrc)); fprintf(fp, "score_kill=%d\n\n", tinrc.score_kill); - fprintf(fp, _(txt_score_limit_select.tinrc)); + fprintf(fp, "%s", _(txt_score_limit_select.tinrc)); fprintf(fp, "score_limit_select=%d\n\n", tinrc.score_limit_select); - fprintf(fp, _(txt_score_select.tinrc)); + fprintf(fp, "%s", _(txt_score_select.tinrc)); fprintf(fp, "score_select=%d\n\n", tinrc.score_select); #ifdef HAVE_COLOR - fprintf(fp, _(txt_use_color.tinrc)); + fprintf(fp, "%s", _(txt_use_color.tinrc)); fprintf(fp, "use_color=%s\n\n", print_boolean(tinrc.use_color)); - fprintf(fp, _(txt_tinrc_colors)); + fprintf(fp, "%s", _(txt_tinrc_colors)); - fprintf(fp, _(txt_col_normal.tinrc)); + fprintf(fp, "%s", _(txt_col_normal.tinrc)); fprintf(fp, "col_normal=%d\n\n", tinrc.col_normal); - fprintf(fp, _(txt_col_back.tinrc)); + fprintf(fp, "%s", _(txt_col_back.tinrc)); fprintf(fp, "col_back=%d\n\n", tinrc.col_back); - fprintf(fp, _(txt_col_invers_bg.tinrc)); + fprintf(fp, "%s", _(txt_col_invers_bg.tinrc)); fprintf(fp, "col_invers_bg=%d\n\n", tinrc.col_invers_bg); - fprintf(fp, _(txt_col_invers_fg.tinrc)); + fprintf(fp, "%s", _(txt_col_invers_fg.tinrc)); fprintf(fp, "col_invers_fg=%d\n\n", tinrc.col_invers_fg); - fprintf(fp, _(txt_col_text.tinrc)); + fprintf(fp, "%s", _(txt_col_text.tinrc)); fprintf(fp, "col_text=%d\n\n", tinrc.col_text); - fprintf(fp, _(txt_col_minihelp.tinrc)); + fprintf(fp, "%s", _(txt_col_minihelp.tinrc)); fprintf(fp, "col_minihelp=%d\n\n", tinrc.col_minihelp); - fprintf(fp, _(txt_col_help.tinrc)); + fprintf(fp, "%s", _(txt_col_help.tinrc)); fprintf(fp, "col_help=%d\n\n", tinrc.col_help); - fprintf(fp, _(txt_col_message.tinrc)); + fprintf(fp, "%s", _(txt_col_message.tinrc)); fprintf(fp, "col_message=%d\n\n", tinrc.col_message); - fprintf(fp, _(txt_col_quote.tinrc)); + fprintf(fp, "%s", _(txt_col_quote.tinrc)); fprintf(fp, "col_quote=%d\n\n", tinrc.col_quote); - fprintf(fp, _(txt_col_quote2.tinrc)); + fprintf(fp, "%s", _(txt_col_quote2.tinrc)); fprintf(fp, "col_quote2=%d\n\n", tinrc.col_quote2); - fprintf(fp, _(txt_col_quote3.tinrc)); + fprintf(fp, "%s", _(txt_col_quote3.tinrc)); fprintf(fp, "col_quote3=%d\n\n", tinrc.col_quote3); - fprintf(fp, _(txt_col_head.tinrc)); + fprintf(fp, "%s", _(txt_col_head.tinrc)); fprintf(fp, "col_head=%d\n\n", tinrc.col_head); - fprintf(fp, _(txt_col_newsheaders.tinrc)); + fprintf(fp, "%s", _(txt_col_newsheaders.tinrc)); fprintf(fp, "col_newsheaders=%d\n\n", tinrc.col_newsheaders); - fprintf(fp, _(txt_col_subject.tinrc)); + fprintf(fp, "%s", _(txt_col_subject.tinrc)); fprintf(fp, "col_subject=%d\n\n", tinrc.col_subject); - fprintf(fp, _(txt_col_response.tinrc)); + fprintf(fp, "%s", _(txt_col_response.tinrc)); fprintf(fp, "col_response=%d\n\n", tinrc.col_response); - fprintf(fp, _(txt_col_from.tinrc)); + fprintf(fp, "%s", _(txt_col_from.tinrc)); fprintf(fp, "col_from=%d\n\n", tinrc.col_from); - fprintf(fp, _(txt_col_title.tinrc)); + fprintf(fp, "%s", _(txt_col_title.tinrc)); fprintf(fp, "col_title=%d\n\n", tinrc.col_title); - fprintf(fp, _(txt_col_signature.tinrc)); + fprintf(fp, "%s", _(txt_col_signature.tinrc)); fprintf(fp, "col_signature=%d\n\n", tinrc.col_signature); - fprintf(fp, _(txt_col_urls.tinrc)); + fprintf(fp, "%s", _(txt_col_urls.tinrc)); fprintf(fp, "col_urls=%d\n\n", tinrc.col_urls); + + fprintf(fp, "%s", _(txt_col_verbatim.tinrc)); + fprintf(fp, "col_verbatim=%d\n\n", tinrc.col_verbatim); #endif /* HAVE_COLOR */ - fprintf(fp, _(txt_url_highlight.tinrc)); + fprintf(fp, "%s", _(txt_url_highlight.tinrc)); fprintf(fp, "url_highlight=%s\n\n", print_boolean(tinrc.url_highlight)); - fprintf(fp, _(txt_word_highlight.tinrc)); + fprintf(fp, "%s", _(txt_word_highlight.tinrc)); fprintf(fp, "word_highlight=%s\n\n", print_boolean(tinrc.word_highlight)); - fprintf(fp, _(txt_word_h_display_marks.tinrc)); + fprintf(fp, "%s", _(txt_word_h_display_marks.tinrc)); fprintf(fp, "word_h_display_marks=%d\n\n", tinrc.word_h_display_marks); #ifdef HAVE_COLOR - fprintf(fp, _(txt_col_markstar.tinrc)); + fprintf(fp, "%s", _(txt_col_markstar.tinrc)); fprintf(fp, "col_markstar=%d\n\n", tinrc.col_markstar); - fprintf(fp, _(txt_col_markdash.tinrc)); + fprintf(fp, "%s", _(txt_col_markdash.tinrc)); fprintf(fp, "col_markdash=%d\n\n", tinrc.col_markdash); - fprintf(fp, _(txt_col_markslash.tinrc)); + fprintf(fp, "%s", _(txt_col_markslash.tinrc)); fprintf(fp, "col_markslash=%d\n\n", tinrc.col_markslash); - fprintf(fp, _(txt_col_markstroke.tinrc)); + fprintf(fp, "%s", _(txt_col_markstroke.tinrc)); fprintf(fp, "col_markstroke=%d\n\n", tinrc.col_markstroke); #endif /* HAVE_COLOR */ - fprintf(fp, _(txt_mono_markstar.tinrc)); + fprintf(fp, "%s", _(txt_mono_markstar.tinrc)); fprintf(fp, "mono_markstar=%d\n\n", tinrc.mono_markstar); - fprintf(fp, _(txt_mono_markdash.tinrc)); + fprintf(fp, "%s", _(txt_mono_markdash.tinrc)); fprintf(fp, "mono_markdash=%d\n\n", tinrc.mono_markdash); - fprintf(fp, _(txt_mono_markslash.tinrc)); + fprintf(fp, "%s", _(txt_mono_markslash.tinrc)); fprintf(fp, "mono_markslash=%d\n\n", tinrc.mono_markslash); - fprintf(fp, _(txt_mono_markstroke.tinrc)); + fprintf(fp, "%s", _(txt_mono_markstroke.tinrc)); fprintf(fp, "mono_markstroke=%d\n\n", tinrc.mono_markstroke); - fprintf(fp, _(txt_mail_address.tinrc)); + fprintf(fp, "%s", _(txt_mail_address.tinrc)); fprintf(fp, "mail_address=%s\n\n", tinrc.mail_address); #ifdef XFACE_ABLE - fprintf(fp, _(txt_use_slrnface.tinrc)); + fprintf(fp, "%s", _(txt_use_slrnface.tinrc)); fprintf(fp, "use_slrnface=%s\n\n", print_boolean(tinrc.use_slrnface)); -#endif /*XFACE_ABLE */ +#endif /* XFACE_ABLE */ - fprintf(fp, _(txt_wrap_column.tinrc)); + fprintf(fp, "%s", _(txt_wrap_column.tinrc)); fprintf(fp, "wrap_column=%d\n\n", tinrc.wrap_column); + fprintf(fp, "%s", _(txt_trim_article_body.tinrc)); + fprintf(fp, "trim_article_body=%d\n\n", tinrc.trim_article_body); + #ifndef CHARSET_CONVERSION - fprintf(fp, _(txt_mm_charset.tinrc)); + fprintf(fp, "%s", _(txt_mm_charset.tinrc)); fprintf(fp, "mm_charset=%s\n\n", tinrc.mm_charset); #else - fprintf(fp, _(txt_mm_network_charset.tinrc)); + fprintf(fp, "%s", _(txt_mm_network_charset.tinrc)); fprintf(fp, "mm_network_charset=%s\n\n", txt_mime_charsets[tinrc.mm_network_charset]); +# ifdef NO_LOCALE + fprintf(fp, "%s", _(txt_mm_local_charset.tinrc)); + fprintf(fp, "mm_local_charset=%s\n\n", tinrc.mm_local_charset); +# endif /* NO_LOCALE */ # ifdef HAVE_ICONV_OPEN_TRANSLIT - fprintf(fp, _(txt_translit.tinrc)); + fprintf(fp, "%s", _(txt_translit.tinrc)); fprintf(fp, "translit=%s\n\n", print_boolean(tinrc.translit)); # endif /* HAVE_ICONV_OPEN_TRANSLIT */ #endif /* !CHARSET_CONVERSION */ - fprintf(fp, _(txt_post_mime_encoding.tinrc)); + fprintf(fp, "%s", _(txt_post_mime_encoding.tinrc)); fprintf(fp, "post_mime_encoding=%s\n", txt_mime_encodings[tinrc.post_mime_encoding]); fprintf(fp, "mail_mime_encoding=%s\n\n", txt_mime_encodings[tinrc.mail_mime_encoding]); - fprintf(fp, _(txt_post_8bit_header.tinrc)); + fprintf(fp, "%s", _(txt_post_8bit_header.tinrc)); fprintf(fp, "post_8bit_header=%s\n\n", print_boolean(tinrc.post_8bit_header)); - fprintf(fp, _(txt_mail_8bit_header.tinrc)); + fprintf(fp, "%s", _(txt_mail_8bit_header.tinrc)); fprintf(fp, "mail_8bit_header=%s\n\n", print_boolean(tinrc.mail_8bit_header)); - fprintf(fp, _(txt_metamail_prog.tinrc)); + fprintf(fp, "%s", _(txt_metamail_prog.tinrc)); fprintf(fp, "metamail_prog=%s\n\n", tinrc.metamail_prog); - fprintf(fp, _(txt_ask_for_metamail.tinrc)); + fprintf(fp, "%s", _(txt_ask_for_metamail.tinrc)); fprintf(fp, "ask_for_metamail=%s\n\n", print_boolean(tinrc.ask_for_metamail)); #ifdef HAVE_KEYPAD - fprintf(fp, _(txt_use_keypad.tinrc)); + fprintf(fp, "%s", _(txt_use_keypad.tinrc)); fprintf(fp, "use_keypad=%s\n\n", print_boolean(tinrc.use_keypad)); #endif /* HAVE_KEYPAD */ - fprintf(fp, _(txt_alternative_handling.tinrc)); + fprintf(fp, "%s", _(txt_alternative_handling.tinrc)); fprintf(fp, "alternative_handling=%s\n\n", print_boolean(tinrc.alternative_handling)); - fprintf(fp, _(txt_strip_newsrc.tinrc)); + fprintf(fp, "%s", _(txt_verbatim_handling.tinrc)); + fprintf(fp, "verbatim_handling=%s\n\n", print_boolean(tinrc.verbatim_handling)); + + fprintf(fp, "%s", _(txt_strip_newsrc.tinrc)); fprintf(fp, "strip_newsrc=%s\n\n", print_boolean(tinrc.strip_newsrc)); - fprintf(fp, _(txt_strip_bogus.tinrc)); + fprintf(fp, "%s", _(txt_strip_bogus.tinrc)); fprintf(fp, "strip_bogus=%d\n\n", tinrc.strip_bogus); - fprintf(fp, _(txt_date_format.tinrc)); + fprintf(fp, "%s", _(txt_date_format.tinrc)); fprintf(fp, "date_format=%s\n\n", tinrc.date_format); - fprintf(fp, _(txt_wildcard.tinrc)); + fprintf(fp, "%s", _(txt_wildcard.tinrc)); fprintf(fp, "wildcard=%d\n\n", tinrc.wildcard); #ifdef HAVE_UNICODE_NORMALIZATION - fprintf(fp, _(txt_normalization_form.tinrc)); + fprintf(fp, "%s", _(txt_normalization_form.tinrc)); fprintf(fp, "normalization_form=%d\n\n", tinrc.normalization_form); #endif /* HAVE_UNICODE_NORMALIZATION */ #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE) - fprintf(fp, _(txt_render_bidi.tinrc)); + fprintf(fp, "%s", _(txt_render_bidi.tinrc)); fprintf(fp, "render_bidi=%s\n\n", print_boolean(tinrc.render_bidi)); #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */ - fprintf(fp, _(txt_tinrc_filter)); + fprintf(fp, "%s", _(txt_tinrc_filter)); fprintf(fp, "default_filter_kill_header=%d\n", tinrc.default_filter_kill_header); fprintf(fp, "default_filter_kill_global=%s\n", print_boolean(tinrc.default_filter_kill_global)); - /* ON=false, OFF=true */ - fprintf(fp, "default_filter_kill_case=%s\n", print_boolean(!tinrc.default_filter_kill_case)); + fprintf(fp, "default_filter_kill_case=%s\n", print_boolean(tinrc.default_filter_kill_case)); fprintf(fp, "default_filter_kill_expire=%s\n", print_boolean(tinrc.default_filter_kill_expire)); fprintf(fp, "default_filter_select_header=%d\n", tinrc.default_filter_select_header); fprintf(fp, "default_filter_select_global=%s\n", print_boolean(tinrc.default_filter_select_global)); - /* ON=false, OFF=true */ - fprintf(fp, "default_filter_select_case=%s\n", print_boolean(!tinrc.default_filter_select_case)); + fprintf(fp, "default_filter_select_case=%s\n", print_boolean(tinrc.default_filter_select_case)); fprintf(fp, "default_filter_select_expire=%s\n\n", print_boolean(tinrc.default_filter_select_expire)); - fprintf(fp, _(txt_tinrc_defaults)); + fprintf(fp, "%s", _(txt_tinrc_defaults)); fprintf(fp, "default_save_mode=%c\n", tinrc.default_save_mode); fprintf(fp, "default_author_search=%s\n", tinrc.default_search_author); fprintf(fp, "default_goto_group=%s\n", tinrc.default_goto_group); @@ -1349,7 +1379,7 @@ write_config_file( fprintf(fp, "default_select_pattern=%s\n", tinrc.default_select_pattern); fprintf(fp, "default_shell_command=%s\n\n", tinrc.default_shell_command); - fprintf(fp, _(txt_tinrc_newnews)); + fprintf(fp, "%s", _(txt_tinrc_newnews)); { char timestring[30]; int j = find_newnews_index(nntp_server); @@ -1371,9 +1401,13 @@ write_config_file( fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR)); /* rename_file() preserves mode */ - if (ferror(fp) || fclose(fp)) - error_message(_(txt_filesystem_full), CONFIG_FILE); - else + if ((i = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), CONFIG_FILE); + if (i) { + clearerr(fp); + fclose(fp); + } + } else rename_file(file_tmp, file); free(file_tmp); @@ -1405,17 +1439,16 @@ match_color( int *dst, int max) { - int n; size_t patlen = strlen(pat); if (STRNCMPEQ(line, pat, patlen)) { + int n; t_bool found = FALSE; + for (n = 0; n < MAX_COLOR + 1; n++) { if (!strcasecmp(&line[patlen], txt_colors[n])) { found = TRUE; *dst = n; - if (*dst > max) - *dst = -1; } } @@ -1423,11 +1456,14 @@ match_color( *dst = atoi(&line[patlen]); if (max) { - if ((*dst < -1) || (*dst > max)) { + if (max == MAX_BACKCOLOR && *dst > max && *dst <= MAX_COLOR) + *dst %= MAX_BACKCOLOR + 1; + else if ((*dst < -1) || (*dst > max)) { my_fprintf(stderr, _(txt_value_out_of_range), pat, *dst, max); *dst = 0; } - } + } else + *dst = -1; return TRUE; } return FALSE; @@ -1492,10 +1528,11 @@ match_list( int *dst) { size_t patlen = strlen(pat); - size_t n; - char temp[LEN]; if (STRNCMPEQ(line, pat, patlen)) { + char temp[LEN]; + size_t n; + line += patlen; *dst = 0; /* default, if no match */ for (n = 0; n < tablelen; n++) { @@ -1649,7 +1686,7 @@ ulBuildArgv( new_argv[0] = NULL; while (*tmp) { - if (!isspace((int) *tmp)) { /* found the begining of a word */ + if (!isspace((int) *tmp)) { /* found the beginning of a word */ new_argv[i] = tmp; for (; *tmp && !isspace((int) *tmp); tmp++) ; @@ -1677,19 +1714,23 @@ rc_update( { char buf[1024]; const char *env; + t_bool auto_bcc = FALSE; + t_bool auto_cc = FALSE; t_bool confirm_to_quit = FALSE; t_bool confirm_action = FALSE; t_bool compress_quotes = FALSE; + t_bool set_goto_next_unread = FALSE; t_bool hide_uue = FALSE; t_bool keep_posted_articles = FALSE; + t_bool pgdn_goto_next = FALSE; t_bool quote_empty_lines = FALSE; t_bool quote_signatures = FALSE; t_bool save_to_mmdf_mailbox = FALSE; t_bool show_last_line_prev_page = FALSE; t_bool show_lines = FALSE; t_bool show_score = FALSE; - t_bool thread_articles = FALSE; - t_bool thread_perc = FALSE; + t_bool space_goto_next_unread = FALSE; + t_bool tab_goto_next_unread = FALSE; t_bool use_builtin_inews = FALSE; t_bool use_getart_limit = FALSE; t_bool use_mailreader_i = FALSE; @@ -1704,6 +1745,14 @@ rc_update( continue; switch (tolower((unsigned char) buf[0])) { + case 'a': + if (match_boolean(buf, "auto_bcc=", &auto_bcc)) + break; + + if (match_boolean(buf, "auto_cc=", &auto_cc)) + break; + break; + case 'c': if (match_boolean(buf, "confirm_action=", &confirm_action)) break; @@ -1715,8 +1764,33 @@ rc_update( case 'd': /* simple rename */ + if (match_string(buf, "default_editor_format=", tinrc.editor_format, sizeof(tinrc.editor_format))) + break; + /* simple rename */ + if (match_string(buf, "default_maildir=", tinrc.maildir, sizeof(tinrc.maildir))) + break; + /* simple rename */ + if (match_string(buf, "default_mailer_format=", tinrc.mailer_format, sizeof(tinrc.mailer_format))) + break; + /* simple rename */ +#ifndef DISABLE_PRINTING + if (match_string(buf, "default_printer=", tinrc.printer, sizeof(tinrc.printer))) + break; +#endif /* !DISABLE_PRINTING */ + /* simple rename */ if (match_string(buf, "default_regex_pattern=", tinrc.default_pattern, sizeof(tinrc.default_pattern))) break; + /* simple rename */ + if (match_string(buf, "default_savedir=", tinrc.savedir, sizeof(tinrc.savedir))) { + if (tinrc.savedir[0] == '.' && strlen(tinrc.savedir) == 1) { + get_cwd(buf); + my_strncpy(tinrc.savedir, buf, sizeof(tinrc.savedir) - 1); + } + break; + } + /* simple rename */ + if (match_string(buf, "default_sigfile=", tinrc.sigfile, sizeof(tinrc.sigfile))) + break; break; case 'h': @@ -1729,27 +1803,43 @@ rc_update( break; break; + case 'p': + if (match_boolean(buf, "pgdn_goto_next=", &pgdn_goto_next)) { + set_goto_next_unread = TRUE; + break; + } + break; + case 'q': - if (match_boolean(buf, "quote_signatures=" , "e_signatures)) + if (match_boolean(buf, "quote_signatures=", "e_signatures)) break; - if (match_boolean(buf, "quote_empty_lines=" , "e_empty_lines)) + if (match_boolean(buf, "quote_empty_lines=", "e_empty_lines)) break; break; case 's': + if (match_boolean(buf, "space_goto_next_unread=", &space_goto_next_unread)) { + set_goto_next_unread = TRUE; + break; + } if (match_boolean(buf, "save_to_mmdf_mailbox=", &save_to_mmdf_mailbox)) break; if (match_boolean(buf, "show_last_line_prev_page=", &show_last_line_prev_page)) break; if (match_boolean(buf, "show_lines=", &show_lines)) break; + /* simple rename */ + if (match_boolean(buf, "show_only_unread=", &tinrc.show_only_unread_arts)) + break; if (match_boolean(buf, "show_score=", &show_score)) break; break; case 't': - if (match_boolean(buf, "thread_articles=", &thread_articles)) + if (match_boolean(buf, "tab_goto_next_unread=", &tab_goto_next_unread)) { + set_goto_next_unread = TRUE; break; + } break; case 'u': @@ -1769,11 +1859,20 @@ rc_update( } /* update the values */ + tinrc.auto_cc_bcc = (auto_cc ? 1 : 0) + (auto_bcc ? 2 : 0); tinrc.confirm_choice = (confirm_action ? 1 : 0) + (confirm_to_quit ? 3 : 0); if (!use_getart_limit) tinrc.getart_limit = 0; + if (set_goto_next_unread) { + tinrc.goto_next_unread = 0; + if (pgdn_goto_next || space_goto_next_unread) + tinrc.goto_next_unread |= GOTO_NEXT_UNREAD_PGDN; + if (tab_goto_next_unread) + tinrc.goto_next_unread |= GOTO_NEXT_UNREAD_TAB; + } + if (hide_uue) tinrc.hide_uue = 1; @@ -1789,12 +1888,6 @@ rc_update( if (show_last_line_prev_page) tinrc.scroll_lines = -1; - if (thread_articles) - tinrc.thread_articles = THREAD_BOTH; - - if (thread_perc) - tinrc.thread_perc = THREAD_PERC_DEFAULT; - if (use_builtin_inews) strncpy(tinrc.inews_prog, INTERNAL_CMD, sizeof(tinrc.inews_prog) - 1); @@ -1821,19 +1914,19 @@ read_server_config( char file[PATH_LEN]; char newnews_info[LEN]; char serverdir[PATH_LEN]; - int upgrade = RC_CHECK; + enum rc_state upgrade = RC_CHECK; #ifdef NNTP_ABLE if (read_news_via_nntp && !read_saved_news && nntp_tcp_port != IPPORT_NNTP) - snprintf(file, sizeof(file), "%s:%d", nntp_server, nntp_tcp_port); + snprintf(file, sizeof(file), "%s:%u", nntp_server, nntp_tcp_port); else #endif /* NNTP_ABLE */ { STRCPY(file, quote_space_to_dash(nntp_server)); } - JOINPATH(serverdir, rcdir, file); - joinpath(file, serverdir, SERVERCONFIG_FILE); - joinpath(local_newsgroups_file, serverdir, NEWSGROUPS_FILE); + joinpath(serverdir, sizeof(serverdir), rcdir, file); + joinpath(file, sizeof(file), serverdir, SERVERCONFIG_FILE); + joinpath(local_newsgroups_file, sizeof(local_newsgroups_file), serverdir, NEWSGROUPS_FILE); if ((fp = fopen(file, "r")) == NULL) return; while (NULL != (line = tin_fgets(fp, FALSE))) { @@ -1883,14 +1976,14 @@ write_server_config( return; #ifdef NNTP_ABLE if (read_news_via_nntp && nntp_tcp_port != IPPORT_NNTP) - snprintf(file, sizeof(file), "%s:%d", nntp_server, nntp_tcp_port); + snprintf(file, sizeof(file), "%s:%u", nntp_server, nntp_tcp_port); else #endif /* NNTP_ABLE */ { STRCPY(file, nntp_server); } - JOINPATH(serverdir, rcdir, file); - joinpath(file, serverdir, SERVERCONFIG_FILE); + joinpath(serverdir, sizeof(serverdir), rcdir, file); + joinpath(file, sizeof(file), serverdir, SERVERCONFIG_FILE); if ((no_write || post_article_and_exit || post_postponed_and_exit) && file_size(file) != -1L) return; @@ -1905,7 +1998,7 @@ write_server_config( file_tmp = get_tmpfilename(file); if ((fp = fopen(file_tmp, "w")) == NULL) { - error_message(_(txt_filesystem_full_backup), SERVERCONFIG_FILE); + error_message(2, _(txt_filesystem_full_backup), SERVERCONFIG_FILE); free(file_tmp); return; } @@ -1919,9 +2012,13 @@ write_server_config( fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR)); /* rename_file() preserves mode */ - if (ferror(fp) || fclose(fp)) - error_message(_(txt_filesystem_full), SERVERCONFIG_FILE); - else + if ((i = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), SERVERCONFIG_FILE); + if (i) { + clearerr(fp); + fclose(fp); + } + } else rename_file(file_tmp, file); free(file_tmp); diff -Nurp --exclude='.bzr*' tin-1.8.3/src/cook.c tin-2.0.0/src/cook.c --- tin-1.8.3/src/cook.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/cook.c 2011-04-17 16:04:35.903902602 +0200 @@ -3,10 +3,10 @@ * Module : cook.c * Author : J. Faultless * Created : 2000-03-08 - * Updated : 2005-07-20 + * Updated : 2011-01-29 * Notes : Split from page.c * - * Copyright (c) 2000-2006 Jason Faultless + * Copyright (c) 2000-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -48,17 +48,21 @@ #define CHUNK 50 #define STRIP_ALTERNATIVE(x) \ - (tinrc.alternative_handling && \ + (curr_group->attribute->alternative_handling && \ (x)->hdr.ext->type == TYPE_MULTIPART && \ strcasecmp("alternative", (x)->hdr.ext->subtype) == 0) #define MATCH_REGEX(x,y,z) (pcre_exec(x.re, x.extra, y, z, 0, 0, NULL, 0) >= 0) +static t_bool charset_unsupported(const char *charset); static t_bool header_wanted(const char *line); static t_part *new_uue(t_part **part, char *name); -static void process_text_body_part(t_bool wrap_lines, FILE *in, t_part *part, int hide_uue, int tabs); +static void process_text_body_part(t_bool wrap_lines, FILE *in, t_part *part, int hide_uue); static void put_cooked(size_t buf_len, t_bool wrap_lines, int flags, const char *fmt, ...); +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + static t_bool wexpand_ctrl_chars(wchar_t **wline, size_t *length, size_t lcook_width); +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ #ifdef DEBUG_ART static void dump_cooked(void); #endif /* DEBUG_ART */ @@ -79,61 +83,113 @@ static t_openartinfo *art; t_bool expand_ctrl_chars( char **line, - int *length, + size_t *length, size_t lcook_width) { + t_bool ctrl_L = FALSE; +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + wchar_t *wline = char2wchar_t(*line); + size_t wlen; + + /* + * remove the assert() before release + * it should help us find problems with wide-char strings + * in the development branch + */ + assert (wline != NULL); + wlen = wcslen(wline); + ctrl_L = wexpand_ctrl_chars(&wline, &wlen, lcook_width); + free(*line); + *line = wchar_t2char(wline); + free(wline); + assert (line != NULL); + *length = strlen(*line); +#else int curr_len = LEN; - int i = 0, j; + unsigned int i = 0, j, ln = 0; char *buf = my_malloc(curr_len); - char *c; - t_bool ctrl_L = FALSE, resize = FALSE; + unsigned char *c; - c = *line; + c = (unsigned char *) *line; while (*c) { - if (resize) { + if (i > curr_len - (lcook_width + 1)) { curr_len <<= 1; buf = my_realloc(buf, curr_len); - resize = FALSE; } + if (*c == '\n') + ln = i + 1; if (*c == '\t') { /* expand tabs */ -/* j = ((i + lcook_width) / lcook_width) * lcook_width; */ - j = i + lcook_width - (i % lcook_width); - if (j > curr_len - 2) { - resize = TRUE; - continue; - } + j = i + lcook_width - ((i - ln) % lcook_width); for (; i < j; i++) buf[i] = ' '; + } else if (((*c) & 0xFF) < ' ' && *c != '\n' && (!IS_LOCAL_CHARSET("Big5") || *c != 27)) { /* literal ctrl chars */ + buf[i++] = '^'; + buf[i++] = ((*c) & 0xFF) + '@'; + if (*c == '\f') /* ^L detected */ + ctrl_L = TRUE; } else { - if (((*c) & 0xFF) < ' ' && *c != '\n' && (!IS_LOCAL_CHARSET("Big5") || *c != 27)) { /* literal ctrl chars */ - if (i > curr_len - 4) { - resize = TRUE; - continue; - } - buf[i++] = '^'; - buf[i++] = ((*c) & 0xFF) + '@'; - if (*c == '\f') /* ^L detected */ - ctrl_L = TRUE; - } else { - if (i > curr_len - 3) { - resize = TRUE; - continue; - } + if (!my_isprint(*c) && *c != '\n') + buf[i++] = '?'; + else buf[i++] = *c; - } } c++; } - /* put_cooked() requires a newline at the end of the line */ - if (buf[i - 1] != '\n') - buf[i++] = '\n'; /* Force last char of string to be \n */ buf[i] = '\0'; *length = i + 1; *line = my_realloc(*line, *length); strcpy(*line, buf); free(buf); +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + return ctrl_L; +} + + +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) +static t_bool +wexpand_ctrl_chars( + wchar_t **wline, + size_t *length, + size_t lcook_width) +{ + size_t cur_len = LEN, i = 0, j, ln = 0; + wchar_t *wbuf = my_malloc(cur_len * sizeof(wchar_t)); + wchar_t *wc; + t_bool ctrl_L = FALSE; + + wc = *wline; + while (*wc) { + if (i > cur_len - (lcook_width + 1)) { + cur_len <<= 1; + wbuf = my_realloc(wbuf, cur_len * sizeof(wchar_t)); + } + if (*wc == '\n') + ln = i + 1; + if (*wc == '\t') { /* expand_tabs */ + j = i + lcook_width - ((i - ln) % lcook_width); + for (; i < j; i++) + wbuf[i] = ' '; + } else if (*wc < ' ' && *wc != '\n' && (!IS_LOCAL_CHARSET("Big5") || *wc != 27)) { /* literal ctrl chars */ + wbuf[i++] = '^'; + wbuf[i++] = *wc + '@'; + if (*wc == '\f') /* ^L detected */ + ctrl_L = TRUE; + } else { + if (!iswprint((wint_t) *wc) && *wc != '\n') + wbuf[i++] = '?'; + else + wbuf[i++] = *wc; + } + wc++; + } + wbuf[i] = '\0'; + *length = i + 1; + *wline = my_realloc(*wline, *length * sizeof(wchar_t)); + wcscpy(*wline, wbuf); + free(wbuf); return ctrl_L; } +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ /* @@ -314,27 +370,28 @@ get_filename( } -#define PUT_UUE(part, qualifier_text) \ - put_cooked(LEN, wrap_lines, C_UUE, _(txt_uue), \ - part->depth * 4, "", \ - content_types[part->type], part->subtype, \ +#define PUT_UUE(part, qualifier_text) \ + put_cooked(LEN, wrap_lines, C_UUE, _(txt_uue), \ + part->depth ? (part->depth - 1) * 4 : 0, "", \ + content_types[part->type], part->subtype, \ qualifier_text, part->line_count, get_filename(part->params)) #define PUT_ATTACH(part, depth, name, charset) \ - put_cooked(LEN, wrap_lines, C_ATTACH, _(txt_attach), \ - depth, "", \ - content_types[part->type], part->subtype, \ - content_encodings[part->encoding], \ - charset ? _(txt_attach_charset) : "", BlankIfNull(charset), \ - part->line_count, \ - name ? _(txt_name) : "", BlankIfNull(name)); \ + put_cooked(LEN, wrap_lines, C_ATTACH, _(txt_attach), \ + depth, "", \ + content_types[part->type], part->subtype, \ + content_encodings[part->encoding], \ + charset ? _(txt_attach_charset) : "", BlankIfNull(charset), \ + part->line_count, \ + name ? _(txt_name) : "", BlankIfNull(name)); \ \ - if (part->description) \ - put_cooked(LEN, wrap_lines, C_ATTACH, \ - _(txt_attach_description), \ - depth, "", \ - part->description); \ - put_cooked(1, wrap_lines, C_ATTACH, "\n") + if (part->description) \ + put_cooked(LEN, wrap_lines, C_ATTACH, \ + _(txt_attach_description), \ + depth, "", \ + part->description); \ + if (part->next != NULL || IS_PLAINTEXT(part)) \ + put_cooked(1, wrap_lines, C_ATTACH, "\n") /* * Decodes text bodies, remove sig's, detects uuencoded sections @@ -344,18 +401,22 @@ process_text_body_part( t_bool wrap_lines, FILE *in, t_part *part, - int hide_uue, - int tabs) + int hide_uue) { char *rest = NULL; - char *line = NULL, *buf; - int max_line_len = 0; - int flags, len, lines_left; + char *line = NULL, *buf, *tmpline; + size_t max_line_len = 0; + int flags, len, lines_left, len_blank; int offsets[6]; int size_offsets = ARRAY_SIZE(offsets); + unsigned int lines_skipped = 0; t_bool in_sig = FALSE; /* Set when in sig portion */ t_bool in_uue = FALSE; /* Set when in uuencoded section */ + t_bool in_verbatim = FALSE; /* Set when in verbatim section */ + t_bool verbatim_begin = FALSE; /* Set when verbatim_begin_regex matches */ t_bool is_uubody; /* Set when current line looks like a uuencoded line */ + t_bool first_line_blank = TRUE; /* Unset when first non-blank line is reached */ + t_bool put_blank_lines = FALSE; /* Set when previously skipped lines needs to put */ t_part *curruue = NULL; if (part->uue) { /* These are redone each time we recook/resize etc.. */ @@ -391,10 +452,10 @@ process_text_body_part( * especially if we must resize it. * So copy buf to line (and resize line if necessary). */ - if (max_line_len < (int) strlen(buf) + 2) { + if (max_line_len < strlen(buf) + 2) { max_line_len = strlen(buf) + 2; line = my_realloc(line, max_line_len); - }; + } strcpy(line, buf); /* @@ -421,104 +482,174 @@ process_text_body_part( len = (int) strlen(line); /* - * Detect and skip signatures if necessary + * trim article body and sig (not verbatim blocks): + * - skip leading blank lines + * - replace multiple blank lines with one empty line + * - skip tailing blank lines, keep one if an + * attachement follows */ - if (!in_sig) { - if (strcmp(line, SIGDASHES) == 0) { - in_sig = TRUE; - if (in_uue) { - in_uue = FALSE; - if (hide_uue) - PUT_UUE(curruue, _(txt_incomplete)); + if (curr_group->attribute->trim_article_body && !in_uue && !in_verbatim && !verbatim_begin) { + len_blank = 1; + tmpline = line; + /* check if line contains only whitespace */ + while ((' ' == *tmpline) || ('\t' == *tmpline)) { + len_blank++; + tmpline++; + } + if (len_blank == len) { /* line is blank */ + if (lines_left == 0 && (curr_group->attribute->trim_article_body & SKIP_TRAILING)) { + if (!(part->next == NULL || (STRIP_ALTERNATIVE(art) && !IS_PLAINTEXT(part->next)))) + put_cooked(1, TRUE, in_sig ? C_SIG : C_BODY, "\n"); + continue; + } + if (first_line_blank) { + if (curr_group->attribute->trim_article_body & SKIP_LEADING) + continue; + } else if ((curr_group->attribute->trim_article_body & (COMPACT_MULTIPLE | SKIP_TRAILING)) && (!in_sig || curr_group->attribute->show_signatures)) { + lines_skipped++; + if (lines_left == 0 && !(curr_group->attribute->trim_article_body & SKIP_TRAILING)) { + for (; lines_skipped > 0; lines_skipped--) + put_cooked(1, TRUE, in_sig ? C_SIG : C_BODY, "\n"); + } + continue; + } + } else { /* line is not blank */ + if (first_line_blank) + first_line_blank = FALSE; + if (lines_skipped && (!in_sig || curr_group->attribute->show_signatures)) { + if (strcmp(line, SIGDASHES) != 0 || curr_group->attribute->show_signatures) { + if (curr_group->attribute->trim_article_body & COMPACT_MULTIPLE) + put_cooked(1, TRUE, in_sig ? C_SIG : C_BODY, "\n"); + else + put_blank_lines = TRUE; + } else if (!(curr_group->attribute->trim_article_body & SKIP_TRAILING)) + put_blank_lines = TRUE; + if (put_blank_lines) { + for (; lines_skipped > 0; lines_skipped--) + put_cooked(1, TRUE, in_sig ? C_SIG : C_BODY, "\n"); + } + put_blank_lines = FALSE; + lines_skipped = 0; } } + } /* if (tinrc.trim_article_body...) */ + + /* look for verbatim marks, set in_verbatim only for lines in between */ + if (curr_group->attribute->verbatim_handling) { + if (verbatim_begin) { + in_verbatim = TRUE; + verbatim_begin = FALSE; + } else if (!in_sig && !in_uue && !in_verbatim && MATCH_REGEX(verbatim_begin_regex, line, len)) + verbatim_begin = TRUE; + if (in_verbatim && MATCH_REGEX(verbatim_end_regex, line, len)) + in_verbatim = FALSE; } - if (in_sig && !tinrc.show_signatures) - continue; /* No further processing needed */ + if (!in_verbatim) { + /* + * Detect and skip signatures if necessary + */ + if (!in_sig) { + if (strcmp(line, SIGDASHES) == 0) { + in_sig = TRUE; + if (in_uue) { + in_uue = FALSE; + if (hide_uue) + PUT_UUE(curruue, _(txt_incomplete)); + } + } + } - /* - * Detect and process uuencoded sections - * Look for the start or the end of a uuencoded section - * - * TODO: look for a tailing size line after end (non standard - * extension)? - */ - if (pcre_exec(uubegin_regex.re, uubegin_regex.extra, line, len, 0, 0, offsets, size_offsets) != PCRE_ERROR_NOMATCH) { - in_uue = TRUE; - curruue = new_uue(&part, line + offsets[1]); - if (hide_uue) - continue; /* Don't cook the 'begin' line */ - } else if (strncmp(line, "end\n", 4) == 0) { - if (in_uue) { - in_uue = FALSE; - if (hide_uue) { - PUT_UUE(curruue, ""); - continue; /* Don't cook the 'end' line */ + if (in_sig && !(curr_group->attribute->show_signatures)) + continue; /* No further processing needed */ + + /* + * Detect and process uuencoded sections + * Look for the start or the end of a uuencoded section + * + * TODO: look for a tailing size line after end (non standard + * extension)? + */ + if (pcre_exec(uubegin_regex.re, uubegin_regex.extra, line, len, 0, 0, offsets, size_offsets) != PCRE_ERROR_NOMATCH) { + in_uue = TRUE; + curruue = new_uue(&part, line + offsets[1]); + if (hide_uue) + continue; /* Don't cook the 'begin' line */ + } else if (strncmp(line, "end\n", 4) == 0) { + if (in_uue) { + in_uue = FALSE; + if (hide_uue) { + PUT_UUE(curruue, ""); + continue; /* Don't cook the 'end' line */ + } } } - } - /* - * See if this line looks like a uuencoded 'body' line - */ - is_uubody = FALSE; + /* + * See if this line looks like a uuencoded 'body' line + */ + is_uubody = FALSE; - if (MATCH_REGEX (uubody_regex, line, len)) { - int sum = (((*line) - ' ') & 077) * 4 / 3; /* uuencode octet checksum */ + if (MATCH_REGEX(uubody_regex, line, len)) { + int sum = (((*line) - ' ') & 077) * 4 / 3; /* uuencode octet checksum */ - /* sum = 0 in a uubody only on the last line, a single ` */ - if (sum == 0 && len == 1 + 1) /* +1 for the \n */ - is_uubody = TRUE; - else if (len == sum + 1 + 1) - is_uubody = TRUE; + /* sum = 0 in a uubody only on the last line, a single ` */ + if (sum == 0 && len == 1 + 1) /* +1 for the \n */ + is_uubody = TRUE; + else if (len == sum + 1 + 1) + is_uubody = TRUE; #ifdef DEBUG_ART - if (debug == 2) - fprintf(stderr, "%s sum=%d len=%d (%s)\n", bool_unparse(is_uubody), sum, len, line); + if (debug & DEBUG_MISC) + fprintf(stderr, "%s sum=%d len=%d (%s)\n", bool_unparse(is_uubody), sum, len, line); #endif /* DEBUG_ART */ - } + } - if (in_uue) { - if (is_uubody) - curruue->line_count++; - else { - if (line[0] == '\n') { /* Blank line in a uubody - definitely a failure */ - /* fprintf(stderr, "not a uue line while reading a uue body?\n"); */ - in_uue = FALSE; - if (hide_uue) - /* don't continue here, so we see the line that 'broke' in_uue */ - PUT_UUE(curruue, _(txt_incomplete)); + if (in_uue) { + if (is_uubody) + curruue->line_count++; + else { + if (line[0] == '\n') { /* Blank line in a uubody - definitely a failure */ + /* fprintf(stderr, "not a uue line while reading a uue body?\n"); */ + in_uue = FALSE; + if (hide_uue) + /* don't continue here, so we see the line that 'broke' in_uue */ + PUT_UUE(curruue, _(txt_incomplete)); + } + } + } else { + /* + * UUE_ALL = 'Try harder' - we never saw a begin line, but useful + * when uue sections are split across > 1 article + */ + if (is_uubody && hide_uue == UUE_ALL) { + char name[] = N_("(unknown)"); + + curruue = new_uue(&part, name); + curruue->line_count++; + in_uue = TRUE; + continue; } } - } else { + /* - * UUE_ALL = 'Try harder' - we never saw a begin line, but useful - * when uue sections are split across > 1 article + * Skip output if we're hiding uue or the sig */ - if (is_uubody && hide_uue == UUE_ALL) { - char name[] = N_("(unknown)"); - - curruue = new_uue(&part, name); - curruue->line_count++; - in_uue = TRUE; - continue; - } + if (in_uue && hide_uue) + continue; /* No further processing needed */ } - /* - * Skip output if we're hiding uue or the sig - */ - if (in_uue && hide_uue) - continue; /* No further processing needed */ - - flags = in_sig ? C_SIG : C_BODY; + flags = in_verbatim ? C_VERBATIM : in_sig ? C_SIG : C_BODY; /* - * Don't do any further handling of uue lines - the data is binary after all + * Don't do any further handling of uue || verbatim lines */ if (in_uue) { put_cooked(max_line_len, wrap_lines, flags, "%s", line); continue; + } else if (in_verbatim) { + expand_ctrl_chars(&line, &max_line_len, 8); + put_cooked(max_line_len, wrap_lines, flags, "%s", line); + continue; } #ifdef HAVE_COLOR @@ -543,14 +674,7 @@ process_text_body_part( if (MATCH_REGEX(news_regex, line, len)) flags |= C_NEWS; - /* - * Basically, c_b2p() does: if (!(my_isprint(*c) || *c==8 || *c==9 || *c==12)) - * It is only used here - * How about if !isprint() && !isctrl() - expand_ctrl_chars is done at display time. - * TODO: integrate into expand_ctrl_chars - */ - convert_body2printable(line); - if (expand_ctrl_chars(&line, &max_line_len, tabs)) + if (expand_ctrl_chars(&line, &max_line_len, tabwidth)) flags |= C_CTRLL; /* Line contains form-feed */ put_cooked(max_line_len, wrap_lines && (!IS_LOCAL_CHARSET("Big5")), flags, "%s", line); } /* while */ @@ -576,22 +700,22 @@ header_wanted( int i; t_bool ret = FALSE; - if (num_headers_to_display && (news_headers_to_display_array[0][0] == '*')) + if (curr_group->attribute->headers_to_display->num && (curr_group->attribute->headers_to_display->header[0][0] == '*')) ret = TRUE; /* wild do */ else { - for (i = 0; i < num_headers_to_display; i++) { - if (!strncasecmp(line, news_headers_to_display_array[i], strlen(news_headers_to_display_array[i]))) { + for (i = 0; i < curr_group->attribute->headers_to_display->num; i++) { + if (!strncasecmp(line, curr_group->attribute->headers_to_display->header[i], strlen(curr_group->attribute->headers_to_display->header[i]))) { ret = TRUE; break; } } } - if (num_headers_to_not_display && (news_headers_to_not_display_array[0][0] == '*')) + if (curr_group->attribute->headers_to_not_display->num && (curr_group->attribute->headers_to_not_display->header[0][0] == '*')) ret = FALSE; /* wild don't: doesn't make sense! */ else { - for (i = 0; i < num_headers_to_not_display; i++) { - if (!strncasecmp(line, news_headers_to_not_display_array[i], strlen(news_headers_to_not_display_array[i]))) { + for (i = 0; i < curr_group->attribute->headers_to_not_display->num; i++) { + if (!strncasecmp(line, curr_group->attribute->headers_to_not_display->header[i], strlen(curr_group->attribute->headers_to_not_display->header[i]))) { ret = FALSE; break; } @@ -622,6 +746,39 @@ dump_cooked( /* + * Check for charsets which may contain NULL bytes and thus break string + * functions. Possibly incomplete. + * + * TODO: fix the other code to handle those charsets properly. + */ +static t_bool +charset_unsupported( + const char *charset) +{ + static const char *charsets[] = { + "csUnicode", /* alias for ISO-10646-UCS-2 */ + "csUCS4", /* alias for ISO-10646-UCS-4 */ + "ISO-10646-UCS-2", + "ISO-10646-UCS-4", + "UTF-16", /* covers also BE/LE */ + "UTF-32", /* covers also BE/LE */ + NULL }; + const char **charsetptr = charsets; + t_bool ret = FALSE; + + if (!charset) + return ret; + + do { + if (!strncasecmp(charset, *charsetptr, strlen(*charsetptr))) + ret = TRUE; + } while (!ret && *(++charsetptr) != NULL); + + return ret; +} + + +/* * 'cooks' an article, ie, prepare what will actually appear on the screen * It is not easy to do this in the same pass as the initial read since * boundary conditions for multipart articles make it harder to do on the @@ -642,19 +799,26 @@ dump_cooked( * stripping of sigs if !show_signatures * Returns: * TRUE on success + * + * TODO: + * give an error-message on at least disk-full */ t_bool cook_article( t_bool wrap_lines, t_openartinfo *artinfo, - int tabs, - int hide_uue) + int hide_uue, + t_bool show_all_headers) { const char *charset; const char *name; char *line; struct t_header *hdr = &artinfo->hdr; t_bool header_put = FALSE; + static const char *struct_header[] = { + "Approved: ", "From: ", "Originator: ", + "Reply-To: ", "Sender: ", "X-Cancelled-By: ", "X-Comment-To: ", + "X-Submissions-To: ", "To: ", "Cc: ", "Bcc: ", "X-Originator: ", 0 }; art = artinfo; /* Global saves lots of passing artinfo around */ @@ -681,13 +845,46 @@ cook_article( break; } - if (header_wanted(line)) { /* Put cooked data */ - int i = LEN; - char *l = my_strdup(convert_body2printable(rfc1522_decode(line))); /* FIXME: don't decode addr-part of From:/Cc:/ etc.pp. */ + if (show_all_headers || header_wanted(line)) { /* Put cooked data */ + const char **strptr = struct_header; + char *l = NULL, *ptr, *foo, *bar; + size_t i = LEN; + t_bool found = FALSE; + + /* structured headers */ + do { + if (!strncasecmp(line, *strptr, strlen(*strptr))) { + foo = my_strdup(*strptr); + if ((ptr = strchr(foo, ':'))) { + *ptr = '\0'; + unfold_header(line); + if ((ptr = parse_header(line, foo, TRUE, TRUE, FALSE))) { + bar = idna_decode(ptr); /* do we wan't idna_decode() here? */ + l = my_calloc(1, strlen(bar) + strlen(*strptr) + 1); + strncpy(l, line, strlen(*strptr)); + strcat(l, bar); + free(bar); + } + } + free(foo); + found = TRUE; + } + } while (!found && *(++strptr) != 0); + + /* unstructured but must not be decoded */ + if (l == NULL && (!strncasecmp(line, "References: ", 12) || !strncasecmp(line, "Message-ID: ", 12) || !strncasecmp(line, "Date: ", 6) || !strncasecmp(line, "Newsgroups: ", 12) || !strncasecmp(line, "Distribution: ", 14) || !strncasecmp(line, "Followup-To: ", 13) || !strncasecmp(line, "X-Face: ", 8) || !strncasecmp(line, "Cancel-Lock: ", 13) || !strncasecmp(line, "Cancel-Key: ", 12))) + l = my_strdup(line); + if (l == NULL) + l = my_strdup(rfc1522_decode(line)); + +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + if (IS_LOCAL_CHARSET("UTF-8")) + utf8_valid(l); +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ header_put = TRUE; - expand_ctrl_chars(&l, &i, tabs); - put_cooked(LEN, wrap_lines, C_HEADER, "%s", l); + expand_ctrl_chars(&l, &i, tabwidth); + put_cooked(i, wrap_lines, C_HEADER, "%s", l); free(l); } } @@ -714,27 +911,36 @@ cook_article( charset = get_param(ptr->params, "charset"); else charset = NULL; - PUT_ATTACH(ptr, ptr->depth * 4, name, charset); + PUT_ATTACH(ptr, (ptr->depth - 1) * 4, name, charset); /* Try to view anything of type text, may need to review this */ - if (IS_PLAINTEXT(ptr)) - process_text_body_part(wrap_lines, artinfo->raw, ptr, hide_uue, tabs); + if (IS_PLAINTEXT(ptr)) { + if (charset_unsupported(charset)) { + put_cooked(LEN, wrap_lines, C_ATTACH, _(txt_attach_unsup_charset), (ptr->depth - 1) * 4, "", charset); + if (ptr->next) + put_cooked(1, wrap_lines, C_ATTACH, "\n"); + } else + process_text_body_part(wrap_lines, artinfo->raw, ptr, hide_uue); + } } } else { + if (!strcmp(content_types[hdr->ext->type], "text")) + charset = get_param(hdr->ext->params, "charset"); + else + charset = NULL; /* * A regular single-body article */ - if (IS_PLAINTEXT(hdr->ext)) - process_text_body_part(wrap_lines, artinfo->raw, hdr->ext, hide_uue, tabs); - else { + if (IS_PLAINTEXT(hdr->ext)) { + if (charset_unsupported(charset)) + put_cooked(LEN, wrap_lines, C_ATTACH, _(txt_attach_unsup_charset), 0, "", charset); + else + process_text_body_part(wrap_lines, artinfo->raw, hdr->ext, hide_uue); + } else { /* * Non-textual main body */ name = get_filename(hdr->ext->params); - if (!strcmp(content_types[hdr->ext->type], "text")) - charset = get_param(hdr->ext->params, "charset"); - else - charset = NULL; PUT_ATTACH(hdr->ext, 0, name, charset); } } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/curses.c tin-2.0.0/src/curses.c --- tin-1.8.3/src/curses.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/curses.c 2011-04-17 17:40:55.760073217 +0200 @@ -3,7 +3,7 @@ * Module : curses.c * Author : D. Taylor & I. Lea * Created : 1986-01-01 - * Updated : 2005-04-18 + * Updated : 2011-04-17 * Notes : This is a screen management library borrowed with permission * from the Elm mail system. This library was hacked to provide * what tin needs. @@ -32,6 +32,7 @@ #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) && defined(M_UNIX) # define ReadWch cmdReadWch #endif /* MULTIBYTE_ABLE && !NO_LOCALE && M_UNIX */ +#define get_arrow_key cmd_get_arrow_key void my_dummy(void) { } /* ANSI C requires non-empty file */ t_bool have_linescroll = TRUE; /* USE_CURSES always allows line scrolling */ @@ -42,17 +43,6 @@ t_bool have_linescroll = TRUE; /* USE_CU # undef sinix #endif /* !ns32000 */ -#ifdef VMS -# include -# include -# include -# include -# ifdef __GNUC__ /* M.St. 22.01.98 */ -# include -# include -# endif /* __GNUC__ */ -#endif /* VMS */ - #define DEFAULT_LINES_ON_TERMINAL 24 #define DEFAULT_COLUMNS_ON_TERMINAL 80 @@ -65,89 +55,39 @@ t_bool have_linescroll = FALSE; #define TTYIN 0 -#ifdef HAVE_CONFIG_H - -# if defined(HAVE_TERMIOS_H) && defined(HAVE_TCGETATTR) && defined(HAVE_TCSETATTR) -# ifdef HAVE_IOCTL_H -# include -# else -# ifdef HAVE_SYS_IOCTL_H -# include -# endif /* HAVE_SYS_IOCTL_H */ -# endif /* HAVE_IOCTL_H */ -# if !defined(sun) || !defined(NL0) -# include -# endif /* !sun || !NL0 */ -# define USE_POSIX_TERMIOS 1 -# define TTY struct termios +#if defined(HAVE_TERMIOS_H) && defined(HAVE_TCGETATTR) && defined(HAVE_TCSETATTR) +# ifdef HAVE_IOCTL_H +# include # else -# ifdef HAVE_TERMIO_H -# include -# define USE_TERMIO 1 -# define TTY struct termio -# else -# ifdef HAVE_SGTTY_H -# include -# define USE_SGTTY 1 -# define TTY struct sgttyb +# ifdef HAVE_SYS_IOCTL_H +# include +# endif /* HAVE_SYS_IOCTL_H */ +# endif /* HAVE_IOCTL_H */ +# if !defined(sun) || !defined(NL0) +# include +# endif /* !sun || !NL0 */ +# define USE_POSIX_TERMIOS 1 +# define TTY struct termios +#else +# ifdef HAVE_TERMIO_H +# include +# define USE_TERMIO 1 +# define TTY struct termio +# else +# ifdef HAVE_SGTTY_H +# include +# define USE_SGTTY 1 +# define TTY struct sgttyb /* # else # error "No termios.h, termio.h or sgtty.h found" */ -# endif /* HAVE_SGTTY_H */ -# endif /* HAVE_TERMIO_H */ -# endif /* HAVE_TERMIOS_H && HAVE_TCGETATTR && HAVE_TCSETATTR */ +# endif /* HAVE_SGTTY_H */ +# endif /* HAVE_TERMIO_H */ +#endif /* HAVE_TERMIOS_H && HAVE_TCGETATTR && HAVE_TCSETATTR */ static TTY _raw_tty, _original_tty; -#else /* FIXME: prune the non-autoconf'd stuff */ - -# if defined(COHERENT) || defined(BSD) -# ifdef BSD4_1 -# include -# define USE_TERMIO 1 -# else -# include -# define USE_SGTTY 1 -# endif /* BSD4_1 */ -# else -# if !defined(SYSV) -# ifdef MINIX -# include -# define USE_SGTTY 1 -# else -# ifndef QNX42 -# ifdef sinix -# include -# define USE_POSIX_TERMIOS 1 -# else -# ifdef VMS -# include -# else -# include -# define USE_TERMIO 1 -# endif /* VMS */ -# endif /* sinix */ -# endif /* !QNX42 */ -# endif /* MINIX */ -# endif /* !SYSV */ -# endif /* COHERENT || BSD */ - -# ifndef VMS -# if defined(BSD) || defined(MINIX) -# define USE_SGTTY 1 -struct sgttyb _raw_tty, _original_tty; -# else -# if defined(HAVE_TERMIOS_H) || defined(sinix) -# define USE_POSIX_TERMIOS 1 -struct termios _raw_tty, _original_tty; -# else -# define USE_TERMIO 1 -struct termio _raw_tty, _original_tty; -# endif /* HAVE_TERMIOS_H || sinix */ -# endif /* BSD || MINIX */ -# endif /* !VMS */ -#endif /* HAVE_CONFIG_H */ #ifndef USE_SGTTY # define USE_SGTTY 0 @@ -167,7 +107,7 @@ static char *_clearscreen, *_moveto, *_c *_scrollregion, *_scrollfwd, *_scrollback, *_reset, *_reversevideo, *_blink, *_dim, *_bold; -static int _columns, _line, _lines; +static int _columns, _line, _lines, _colors; #ifdef M_UNIX # undef SET_TTY @@ -233,6 +173,9 @@ setup_screen( ScreenSize(&cLINES, &cCOLS); cmd_line = FALSE; Raw(TRUE); +#ifdef HAVE_COLOR + bcol(tinrc.col_back); +#endif /* HAVE_COLOR */ set_win_size(&cLINES, &cCOLS); } @@ -336,6 +279,7 @@ get_termcaps( *(table[n].value) = TGETSTR(table[n].capname, &ptr); } _lines = TGETNUM(dCAPNAME("li", "lines")); + _colors = TGETNUM(dCAPNAME("Co", "colors")); _columns = TGETNUM(dCAPNAME("co", "cols")); _hp_glitch = TGETFLAG(dCAPNAME("xs", "xhp")); @@ -401,7 +345,7 @@ InitScreen( { InitWin(); # ifdef HAVE_COLOR - postinit_colors(); + postinit_colors(MAX(_colors, MAX_COLOR + 1)); /* postinit_colors(_colors) would be correct */ # endif /* HAVE_COLOR */ return TRUE; } @@ -427,11 +371,6 @@ InitScreen( _clearunderline = "\033[0m"; _keypadlocal = ""; _keypadxmit = ""; -# ifdef VMS - _cleartoeos = "\033[J"; - _terminalinit = NULL; - _terminalend = ""; -# endif /* VMS */ /* needed for word highlighting */ _reset = "\033[0m"; _reversevideo = "\033[7m"; @@ -450,80 +389,6 @@ InitScreen( /* * If that failed, try get a response from the console itself */ -# ifdef VMS /* moved from below InitWin() M.St. 22.01.98 */ - { - int input_chan, status; - int item_code, eightbit; - struct sensemode { - short status; - unsigned char xmit_baud; - unsigned char rcv_baud; - unsigned char crfill; - unsigned char lffill; - unsigned char parity; - unsigned char unused; - char class; - char type; - short scr_wid; - unsigned long tt_char : 24, scr_len : 8; - unsigned long tt2_char; - } tty; - $DESCRIPTOR(input_dsc, "TT"); - - status = SYS$ASSIGN(&input_dsc, &input_chan, 0, 0); - if (!(status & 1)) - LIB$STOP(status); - SYS$QIOW(0, input_chan, IO$_SENSEMODE, &tty, 0, 0, &tty.class, 12, 0, 0, 0, 0); - item_code = DVI$_TT_EIGHTBIT; - status = LIB$GETDVI(&item_code, &input_chan, 0, &eightbit, 0, 0); - _columns = tty.scr_wid; - _lines = tty.scr_len; - - if (eightbit) { /* if using eightbit then use CSI (octal 233) rather than ESC "[" */ - _clearscreen = "\2331;1H\233J"; - _moveto = "\233%d;%dH"; /* not a termcap string! */ - _cleartoeoln = "\233K"; - _cleartoeos = "\233J"; - _setinverse = "\2337m"; - _clearinverse = "\2330m"; - _setunderline = "\2334m"; - _clearunderline = "\2330m"; - _keypadlocal = ""; - _keypadxmit = ""; - } else { - _clearscreen = "\033[1;1H\033[J"; - _moveto = "\033[%d;%dH"; /* not a termcap string! */ - _cleartoeoln = "\033[K"; - _cleartoeos = "\033[J"; - _setinverse = "\033[7m"; - _clearinverse = "\033[0m"; - _setunderline = "\033[4m"; - _clearunderline = "\033[0m"; - _keypadlocal = ""; - _keypadxmit = ""; - } -# ifdef HAVE_IS_XTERM - if (is_xterm()) { - xclicks = TRUE; - if (!eightbit) { - _xclickinit = "\033[?9h"; - _xclickend = "\033[?9l"; - } -# if 0 - else { - /* - * These are the settings for a DECterm but the reply can't easily be parsed - * Reply is of the form - CSI Pe ; Pb ; Pr ; Pc & w - * Where Pe is the event, Pb the button, Pr and Pc the row and column - */ - _xclickinit = "\2331;2'z"; - _xclickend = "\2330;0'z"; - } -# endif /* 0 */ - } -# endif /* HAVE_IS_XTERM */ - } -# endif /* VMS */ if (_lines < MIN_LINES_ON_TERMINAL || _columns < MIN_COLUMNS_ON_TERMINAL) { my_fprintf(stderr, _(txt_screen_too_small), tin_progname); @@ -600,12 +465,29 @@ void ClearScreen( void) { +#ifdef HAVE_COLOR + fcol(tinrc.col_normal); + bcol(tinrc.col_back); +#endif /* HAVE_COLOR */ tputs(_clearscreen, 1, outchar); my_flush(); /* clear the output buffer */ _line = 1; } +#ifdef HAVE_COLOR +void +reset_screen_attr( + void) +{ + if (!NO_CAP(_reset)) { + tputs(_reset, 1, outchar); + my_flush(); + } +} +#endif /* HAVE_COLOR */ + + /* * move cursor to the specified row column on the screen. * 0,0 is the top left! @@ -807,38 +689,28 @@ void Raw( int state) { -#ifdef VMS - if (!state && _inraw) { -/* vmsnoraw(); */ - _inraw = 0; - } else if (state && !_inraw) { -/* vmsraw(); */ - _inraw = 1; - } -#else if (!state && _inraw) { SET_TTY(&_original_tty); _inraw = 0; } else if (state && !_inraw) { GET_TTY(&_original_tty); GET_TTY(&_raw_tty); -# if USE_SGTTY +#if USE_SGTTY _raw_tty.sg_flags &= ~(ECHO | CRMOD); /* echo off */ _raw_tty.sg_flags |= CBREAK; /* raw on */ -# else -# ifdef __FreeBSD__ +#else +# ifdef __FreeBSD__ cfmakeraw(&_raw_tty); _raw_tty.c_lflag |= ISIG; /* for ^Z */ -# else +# else _raw_tty.c_lflag &= ~(ICANON | ECHO); /* noecho raw mode */ _raw_tty.c_cc[VMIN] = '\01'; /* minimum # of chars to queue */ _raw_tty.c_cc[VTIME] = '\0'; /* minimum time to wait for input */ -# endif /* __FreeBSD__ */ -# endif /* USE_SGTTY */ +# endif /* __FreeBSD__ */ +#endif /* USE_SGTTY */ SET_TTY(&_raw_tty); _inraw = 1; } -#endif /* !VMS */ } @@ -953,8 +825,8 @@ highlight_string( MoveCursor(row, col); StartInverse(); my_fputs(output, stdout); - my_flush(); EndInverse(); + my_flush(); stow_cursor(); } @@ -1070,6 +942,7 @@ word_highlight_string( tputs(_reset, 1, outchar); stow_cursor(); } +#endif /* USE_CURSES */ /* @@ -1083,6 +956,7 @@ input_pending( { #if 0 int ch; + nodelay(stdscr, TRUE); if ((ch = getch()) != ERR) ungetch(ch); @@ -1153,17 +1027,16 @@ get_arrow_key( while (!input_pending(0) \ && i < ((VT_ESCAPE_TIMEOUT * 1000) / SECOND_CHARACTER_DELAY)) -# ifndef VMS if (!input_pending(0)) { -# ifdef HAVE_USLEEP +# ifdef HAVE_USLEEP int i = 0; wait_a_while(i) { usleep((unsigned long) (SECOND_CHARACTER_DELAY * 1000)); i++; } -# else /* !HAVE_USLEEP */ -# ifdef HAVE_SELECT +# else /* !HAVE_USLEEP */ +# ifdef HAVE_SELECT struct timeval tvptr; int i = 0; @@ -1173,8 +1046,8 @@ get_arrow_key( select(0, NULL, NULL, NULL, &tvptr); i++; } -# else /* !HAVE_SELECT */ -# ifdef HAVE_POLL +# else /* !HAVE_SELECT */ +# ifdef HAVE_POLL struct pollfd fds[1]; int i = 0; @@ -1182,15 +1055,14 @@ get_arrow_key( poll(fds, 0, SECOND_CHARACTER_DELAY); i++; } -# else /* !HAVE_POLL */ +# else /* !HAVE_POLL */ (void) sleep(1); -# endif /* HAVE_POLL */ -# endif /* HAVE_SELECT */ -# endif /* HAVE_USLEEP */ +# endif /* HAVE_POLL */ +# endif /* HAVE_SELECT */ +# endif /* HAVE_USLEEP */ if (!input_pending(0)) return prech; } -# endif /* !VMS */ ch = ReadCh(); if (ch == '[' || ch == 'O') ch = ReadCh(); @@ -1293,7 +1165,6 @@ get_arrow_key( return KEYMAP_UNKNOWN; } } -#endif /* USE_CURSES */ /* @@ -1388,7 +1259,7 @@ ReadWch( allow_resize(TRUE); while ((result = read(0, mbs, 1)) < 0 && errno == EINTR) { /* spin on signal interrupts */ if (need_resize) { - handle_resize((need_resize == cRedraw) ? TRUE : FALSE); + handle_resize((need_resize == cRedraw) ? TRUE : FALSE); need_resize = cNo; } } @@ -1455,7 +1326,7 @@ ReadWch( allow_resize(TRUE); while ((result = read(0, mbs + 1, to_read)) < 0 && errno == EINTR) { /* spin on signal interrupts */ if (need_resize) { - handle_resize((need_resize == cRedraw) ? TRUE : FALSE); + handle_resize((need_resize == cRedraw) ? TRUE : FALSE); need_resize = cNo; } } @@ -1479,6 +1350,7 @@ ReadWch( /* FIXME: add support for other multi-byte charsets */ + free(mbs); return WEOF; } # endif /* MULTIBYTE_ABLE && !NO_LOCALE */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/debug.c tin-2.0.0/src/debug.c --- tin-1.8.3/src/debug.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/debug.c 2011-04-17 16:04:30.395064274 +0200 @@ -3,10 +3,10 @@ * Module : debug.c * Author : I. Lea * Created : 1991-04-01 - * Updated : 2005-05-04 + * Updated : 2011-04-12 * Notes : debug routines * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -39,14 +39,11 @@ # include "tin.h" #endif /* !TIN_H */ -#if defined(DEBUG) || defined(DEBUG_NEWSRC) +#ifdef DEBUG # ifndef NEWSRC_H # include "newsrc.h" # endif /* !NEWSRC_H */ -# ifndef TCURSES_H -# include "tcurses.h" -# endif /* !TCURSES_H */ -#endif /* DEBUG || DEBUG_NEWSRC */ +#endif /* DEBUG */ int debug; @@ -56,6 +53,7 @@ int debug; */ static void debug_print_attributes(struct t_attribute *attr, FILE *fp); static void debug_print_filter(FILE *fp, int num, struct t_filter *the_filter); +static void debug_print_newsrc(struct t_newsrc *NewSrc, FILE *fp); /* @@ -68,59 +66,27 @@ debug_delete_files( char file[PATH_LEN]; if (debug) { - joinpath(file, TMPDIR, "NNTP"); + joinpath(file, sizeof(file), TMPDIR, "NNTP"); unlink(file); - joinpath(file, TMPDIR, "ARTS"); + joinpath(file, sizeof(file), TMPDIR, "ARTS"); unlink(file); - joinpath(file, TMPDIR, "SAVE_COMP"); + joinpath(file, sizeof(file), TMPDIR, "ACTIVE"); unlink(file); - joinpath(file, TMPDIR, "BASE"); + joinpath(file, sizeof(file), TMPDIR, "BITMAP"); unlink(file); - joinpath(file, TMPDIR, "ACTIVE"); + joinpath(file, sizeof(file), TMPDIR, "MALLOC"); unlink(file); - joinpath(file, TMPDIR, "BITMAP"); + joinpath(file, sizeof(file), TMPDIR, "FILTER"); unlink(file); - joinpath(file, TMPDIR, "MALLOC"); + joinpath(file, sizeof(file), TMPDIR, "ATTRIBUTES"); unlink(file); - joinpath(file, TMPDIR, "FILTER"); + joinpath(file, sizeof(file), TMPDIR, "SCOPES"); unlink(file); } } /* - * nntp specific debug routines - */ -void -debug_nntp( - const char *func, - const char *fmt, - ...) -{ - FILE *fp; - char *buf; - char file[PATH_LEN]; - va_list ap; - - if (!debug) - return; - - va_start(ap, fmt); - buf = fmt_message(fmt, ap); - - joinpath(file, TMPDIR, "NNTP"); - - if ((fp = fopen(file, "a+")) != NULL) { - fprintf(fp,"%s: %s\n", func, buf); - fchmod(fileno(fp), (S_IRUGO|S_IWUGO)); - fclose(fp); - } - free(buf); - va_end(ap); -} - - -/* * tin specific debug routines */ void @@ -129,7 +95,7 @@ debug_print_arts( { int i; - if (debug != 2) + if (!(debug & DEBUG_FILTER)) return; for_each_art(i) @@ -144,10 +110,10 @@ debug_print_header( FILE *fp; char file[PATH_LEN]; - if (debug != 2) + if (!(debug & DEBUG_FILTER)) return; - joinpath(file, TMPDIR, "ARTS"); + joinpath(file, sizeof(file), TMPDIR, "ARTS"); if ((fp = fopen(file, "a+")) != NULL) { fprintf(fp,"art=[%5ld] tag=[%s] kill=[%s] selected=[%s]\n", s->artnum, @@ -168,7 +134,7 @@ debug_print_header( if (s->archive->ispart) fprintf(fp, "archive.ispart=[%s]\n", bool_unparse(s->archive->ispart)); } - fprintf(fp,"thread=[%d] prev=[%d] status=[%d]\n\n", s->thread, s->prev, s->status); + fprintf(fp,"thread=[%d] prev=[%d] status=[%u]\n\n", s->thread, s->prev, s->status); fflush(fp); fchmod(fileno(fp), (S_IRUGO|S_IWUGO)); fclose(fp); @@ -182,15 +148,16 @@ debug_print_active( { FILE *fp; char file[PATH_LEN]; - int i; - struct t_group *group; - if (debug != 2) + if (!(debug & DEBUG_MISC)) return; - joinpath(file, TMPDIR, "ACTIVE"); + joinpath(file, sizeof(file), TMPDIR, "ACTIVE"); if ((fp = fopen(file, "w")) != NULL) { + int i; + struct t_group *group; + for_each_group(i) { group = &active[i]; fprintf(fp, "[%4d]=[%s] type=[%s] spooldir=[%s]\n", @@ -199,12 +166,12 @@ debug_print_active( group->spooldir); fprintf(fp, "count=[%4ld] max=[%4ld] min=[%4ld] mod=[%c]\n", group->count, group->xmax, group->xmin, group->moderated); - fprintf(fp, " nxt=[%4d] hash=[%ld] description=[%s]\n", group->next, + fprintf(fp, " nxt=[%4d] hash=[%lu] description=[%s]\n", group->next, hash_groupname(group->name), BlankIfNull(group->description)); -# ifdef DEBUG_NEWSRC - debug_print_newsrc(&group->newsrc, fp); -# endif /* DEBUG_NEWSRC */ - debug_print_attributes(group->attribute, fp); + if (debug & DEBUG_NEWSRC) + debug_print_newsrc(&group->newsrc, fp); + if (debug & DEBUG_ATTRIB) + debug_print_attributes(group->attribute, fp); } fchmod(fileno(fp), (S_IRUGO|S_IWUGO)); fclose(fp); @@ -220,21 +187,21 @@ debug_print_attributes( if (attr == 0) return; - fprintf(fp, "global=[%d] show=[%d] thread=[%d] sort=[%d] author=[%d] auto_select=[%d] auto_save=[%d] batch_save=[%d] process=[%d]\n", + fprintf(fp, "global=[%u] show=[%u] thread=[%u] sort=[%u] author=[%u] auto_select=[%u] auto_save=[%u] batch_save=[%u] process=[%u]\n", attr->global, - attr->show_only_unread, - attr->thread_arts, - attr->sort_art_type, + attr->show_only_unread_arts, + attr->thread_articles, + attr->sort_article_type, attr->show_author, attr->auto_select, attr->auto_save, attr->batch_save, - attr->post_proc_type); - fprintf(fp, "select_header=[%d] select_global=[%s] select_expire=[%s]\n", + attr->post_process_type); + fprintf(fp, "select_header=[%u] select_global=[%s] select_expire=[%s]\n", attr->quick_select_header, BlankIfNull(attr->quick_select_scope), bool_unparse(attr->quick_select_expire)); - fprintf(fp, "kill_header =[%d] kill_global =[%s] kill_expire =[%s]\n", + fprintf(fp, "kill_header =[%u] kill_global =[%s] kill_expire =[%s]\n", attr->quick_kill_header, BlankIfNull(attr->quick_kill_scope), bool_unparse(attr->quick_kill_expire)); @@ -258,17 +225,14 @@ debug_print_malloc( { FILE *fp; char file[PATH_LEN]; - static int total = 0; + static size_t total = 0; - if (debug == 4) { - joinpath(file, TMPDIR, "MALLOC"); + if (debug & DEBUG_MEM) { + joinpath(file, sizeof(file), TMPDIR, "MALLOC"); if ((fp = fopen(file, "a+")) != NULL) { total += size; /* sometimes size_t is long */ - if (is_malloc) - fprintf(fp, "%10s:%-4d Malloc %6ld. Total %d\n", xfile, line, (long) size, total); - else - fprintf(fp, "%10s:%-4d Realloc %6ld. Total %d\n", xfile, line, (long) size, total); + fprintf(fp, "%12s:%-4d %s(%6lu). Total %lu\n", xfile, line, is_malloc ? " malloc" : "realloc", (unsigned long) size, (unsigned long) total); fchmod(fileno(fp), (S_IRUGO|S_IWUGO)); fclose(fp); } @@ -282,11 +246,11 @@ debug_print_filter( int num, struct t_filter *the_filter) { - fprintf(fp, "[%3d] group=[%s] inscope=[%s] score=[%d] case=[%d] lines=[%d %d]\n", + fprintf(fp, "[%3d] group=[%s] inscope=[%s] score=[%d] case=[%s] lines=[%d %d]\n", num, BlankIfNull(the_filter->scope), (the_filter->inscope ? "TRUE" : "FILTER"), the_filter->score, - the_filter->icase, + the_filter->icase ? "C" : "I", the_filter->lines_cmp, the_filter->lines_num); fprintf(fp, " subj=[%s] from=[%s] msgid=[%s]\n", @@ -295,7 +259,7 @@ debug_print_filter( BlankIfNull(the_filter->msgid)); if (the_filter->time) - fprintf(fp, " time=[%ld][%s", the_filter->time, (the_filter->time ? ctime(&the_filter->time) : "]\n")); + fprintf(fp, " time=[%ld][%s]\n", the_filter->time, BlankIfNull(str_trim(ctime(&the_filter->time)))); } @@ -308,10 +272,10 @@ debug_print_filters( int i, num; struct t_filter *the_filter; - if (debug < 2) + if (!(debug & DEBUG_FILTER)) return; - joinpath(file, TMPDIR, "FILTER"); + joinpath(file, sizeof(file), TMPDIR, "FILTER"); if ((fp = fopen(file, "w")) != NULL) { /* @@ -332,41 +296,43 @@ debug_print_filters( } -/* TODO: print out all fields of t_capabilities */ -# ifdef NNTP_ABLE -void -debug_print_nntp_extensions( - void) -{ - if (debug < 2) - return; - debug_nntp("###", "NNTP EXTENSIONS/CAPABILITIES"); - debug_nntp("###", "Type/Version : %d/%d", nntp_caps.type, nntp_caps.version); - debug_nntp("###", "Command-names: %s %s", BlankIfNull(nntp_caps.over_cmd), BlankIfNull(nntp_caps.hdr_cmd)); - debug_nntp("###", "List : %s", nntp_caps.list_motd ? "MOTD" : ""); -} -# endif /* NNTP_ABLE */ -#endif /* DEBUG */ - - -#ifdef DEBUG_NEWSRC void -debug_print_comment( - const char *comment) +debug_print_file( + const char *fname, + const char *fmt, + ...) { FILE *fp; + char *buf; char file[PATH_LEN]; + va_list ap; - if (debug < 2) + if (!debug) return; - joinpath(file, TMPDIR, "BITMAP"); + va_start(ap, fmt); + buf = fmt_message(fmt, ap); + + joinpath(file, sizeof(file), TMPDIR, fname); if ((fp = fopen(file, "a+")) != NULL) { - fprintf(fp,"\n%s\n", comment); + fprintf(fp,"%s\n", buf); fchmod(fileno(fp), (S_IRUGO|S_IWUGO)); fclose(fp); } + free(buf); + va_end(ap); +} + + +void +debug_print_comment( + const char *comment) +{ + if (!(debug & DEBUG_NEWSRC)) + return; + + debug_print_file("BITMAP", comment); } @@ -378,34 +344,36 @@ debug_print_bitmap( FILE *fp; char file[PATH_LEN]; - if (debug != 3) + if (!(debug & DEBUG_NEWSRC)) return; - joinpath(file, TMPDIR, "BITMAP"); - if ((fp = fopen(file, "a+")) != NULL) { - fprintf(fp, "\nActive: Group=[%s] sub=[%c] min=[%ld] max=[%ld] count=[%ld] num_unread=[%ld]\n", - group->name, SUB_CHAR(group->subscribed), - group->xmin, group->xmax, group->count, - group->newsrc.num_unread); - if (art != NULL) { - fprintf(fp, "art=[%5ld] tag=[%s] kill=[%s] selected=[%s] subj=[%s]\n", - art->artnum, - bool_unparse(art->tagged), - bool_unparse(art->killed), - bool_unparse(art->selected), - art->subject); - fprintf(fp, "thread=[%d] prev=[%d] status=[%s]\n", - art->thread, art->prev, - (art->status == ART_READ ? "READ" : "UNREAD")); + joinpath(file, sizeof(file), TMPDIR, "BITMAP"); + if (group != NULL) { + if ((fp = fopen(file, "a+")) != NULL) { + fprintf(fp, "\nActive: Group=[%s] sub=[%c] min=[%ld] max=[%ld] count=[%ld] num_unread=[%ld]\n", + group->name, SUB_CHAR(group->subscribed), + group->xmin, group->xmax, group->count, + group->newsrc.num_unread); + if (art != NULL) { + fprintf(fp, "art=[%5ld] tag=[%s] kill=[%s] selected=[%s] subj=[%s]\n", + art->artnum, + bool_unparse(art->tagged), + bool_unparse(art->killed), + bool_unparse(art->selected), + art->subject); + fprintf(fp, "thread=[%d] prev=[%d] status=[%s]\n", + art->thread, art->prev, + (art->status == ART_READ ? "READ" : "UNREAD")); + } + debug_print_newsrc(&group->newsrc, fp); + fchmod(fileno(fp), (S_IRUGO|S_IWUGO)); + fclose(fp); } - debug_print_newsrc(&group->newsrc, fp); - fchmod(fileno(fp), (S_IRUGO|S_IWUGO)); - fclose(fp); } } -void +static void debug_print_newsrc( struct t_newsrc *lnewsrc, FILE *fp) @@ -429,4 +397,4 @@ debug_print_newsrc( fprintf(fp, "]\n"); fflush(fp); } -#endif /* DEBUG_NEWSRC */ +#endif /* DEBUG */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/descrip.mms tin-2.0.0/src/descrip.mms --- tin-1.8.3/src/descrip.mms 2005-06-28 10:31:22.000000000 +0200 +++ tin-2.0.0/src/descrip.mms 1970-01-01 01:00:00.000000000 +0100 @@ -1,318 +0,0 @@ -# Makefile for tin - for tin compiler flag options read INSTALL and README. -# - -.IFDEF DEF_NNTP -.ELSE -# Edit the following line for your default nntp server. -# Remark: -# The environment variable NNTPSERVER will overwrite this option. -DEF_NNTP = NNTP_DEFAULT_SERVER="""news.rrzn.uni-hannover.de""" -.ENDIF - -# -# The only tcp option currently supported is SOCKETSHR_TCP -# -.IFDEF TCP -.ELSE -#TCP = UCX -TCP = SOCKETSHR_TCP -.ENDIF - -.IFDEF ALPHA -OS_STR = OpenVMS/ALPHA -.ENDIF - -.IFDEF VAX -OS_STR = OpenVMS/VAX -.ENDIF - -.IFDEF OS_STR -.ELSE -.FIRST : - @ WRITE SYS$OUTPUT " Please start MMS (or MMK) at least with following switches:" - @ WRITE SYS$OUTPUT "" - @ WRITE SYS$OUTPUT " on OpenVMS/Alpha:" - @ WRITE SYS$OUTPUT " $MMS /MACRO=(alpha=1)" - @ WRITE SYS$OUTPUT "" - @ WRITE SYS$OUTPUT " on OpenVMS/Vax:" - @ WRITE SYS$OUTPUT " $MMS /MACRO=(vax=1)" - @ WRITE SYS$OUTPUT "" - @ WRITE SYS$OUTPUT " Another example:" - @ WRITE SYS$OUTPUT " $MMS /MACRO=(vax=1,gnuc=1,tcp=socketshr_tcp)" - @ return 44 ! %SYSTEM-F-ABORT, abort - -.ENDIF - - -DEF_OS = OS="""$(OS_STR)""" -DEFINES = HAVE_ISPELL,DONT_HAVE_NNTP_EXTS,VMS,$(TCP),$(DEF_NNTP),$(DEF_OS) - -.IFDEF DEBUG -DBG = /debug /nooptim -LFLAGS = /debug/nomap -TARGET = tin_debug$(EXE) -TINLIB = TINDBG.OLB -.ELSE # !DEBUG -TARGET = tin$(EXE) -TINLIB = TIN.OLB -.IFDEF VAXC -DBG = /optim -.ELSE -.IFDEF GNUC -DBG = /optim=2 -.ELSE -DBG = /optim -#DBG = /nooptim -.ENDIF -.ENDIF - -.IFDEF VAXC -CC = cc -CDEFS = /include=([-.include],[-.vms],[-.PCRE])/define=($(DEFINES))/nowarning/list/show=expans -GLOMOD = $(TINLIB)/LIBRARY/INCL=LANG, -COMPILER = VAXC -.ELSE -.IFDEF GNUC -CC = gcc -CDEFS = /include=([-.include],[-.vms],[-.PCRE])/define=($(DEFINES)) -GLOMOD = $(TINLIB)/LIBRARY/INCL=LANG, -COMPILER = GNUC -.ELSE -CC = cc/decc -CDEFS = /include=([-.include],[-.vms],[-.PCRE])/define=($(DEFINES))/nowarning/list/show=expans -COMPILER = DECC -.ENDIF -.ENDIF - -.IFDEF VAX -GLOMOD = $(TINLIB)/LIBRARY/INCL=LANG, -.ELSE -GLOMOD = -.ENDIF - -#CDEFS = /include=([-.include],[-.vms],[-.PCRE])/define=($(DEFINES))/nowarning/list/show=all - -LFLAGS = /nomap -.ENDIF # !DEBUG - -.IFDEF VAXC -OPTS = -.ELSE -.IFDEF GNUC -OPTS = -.ELSE -#OPTS = /warning=(disable=implicitfunc)/prefix=all -OPTS = /prefix=(all,except=ENDWIN) -#OPTS = /prefix=all -.ENDIF -.ENDIF - -CFLAGS = $(DBG) $(OPTS) $(CDEFS) - -LIBS = [-.vms]libvms/libr,[-.pcre]pcrelib/libr -INCDIR = [-.include] - -.IFDEF BISON -YACC = bison/fixed -YACCOUTPUT = y_tab.c -.ELSE -.IFDEF POSIX -YACC = POSIX/Run/Path=POSIX "/bin/yacc" -YACCOUTPUT = ytab.c -.ELSE -YACC = yacc -YACCOUTPUT = ytab.c -.ENDIF -.ENDIF - -MODULES = active, art, attrib, - - charset, config, curses, debug, - - envarg, feed, filter, getline, group, hashstr, - - help, inews, init, lang, list, mail, main, - - memory, misc, newsrc, nntplib, - - open, page, pgp, post, prompt, - - save, screen, search, select, sigfile, signal, - - strftime, thread, wildmat, - - xref, - - rfc1522, rfc1521, string, header, - - nrctbl, read, refs, regex, auth - -CFILES = $(MODULES:=.c) -OFILES = $(CFILES:.c=.obj) -#HFILES = $(INCDIR)config.h, $(INCDIR)tin.h, $(INCDIR)extern.h, $(INCDIR)nntplib.h, \ -# $(INCDIR)proto.h, $(INCDIR)stpwatch.h, \ -# $(INCDIR)os_2.h, $(INCDIR)win32.h -HFILES = $(INCDIR)tin.h -TNNTP = $(INCDIR)tnntp.h - -all : opt pcrelib vmslib tincfg.h tin - continue - -# -# The MMS target opt is only for creating the right linker options file. -# With GNUC and DECC on both VAX and ALPHA and different TCP stacks the -# ammount of different option files with mostly identical lines would be -# very large. -# -opt : - @ write sys$output "Creating linker options file on ''OS_STR' for ''TCP' with ''COMPILER'" - @ open/write optfile [-.vms]tin.opt - @ write optfile "!Options file for tin pre-1.4 on ''OS_STR' for ''TCP' with ''COMPILER'" - @ if ("$(TCP)" .eqs. "SOCKETSHR_TCP") then write optfile "!Using Socketshr TCP/IP" - @ if ("$(TCP)" .eqs. "SOCKETSHR_TCP") then write optfile "socketshr/share" -.ifdef VAXC - @ write optfile "!VAXC options" - @ write optfile "sys$share:vaxcrtl/share" -.else -.ifdef GNUC - @ write optfile "!GNUC options" -.ifdef VAX - @ write optfile "gnu_cc:[000000]gcclib/libr" -.else - @ write optfile "gnu_cc_library:libgcc/libr" -.endif - @ write optfile "sys$share:vaxcrtl/share" -.else - @ write optfile "!DECC options" -.endif -.endif - @ write optfile "sys$library:decw$dwtlibshr/share" - @ write optfile "sys$library:decw$xlibshr/share" - @ write optfile "sys$library:vaxccurse/libr" -.ifdef GNUC -.ifdef ALPHA - @ write optfile "gnu_cc_library:crt0.obj" -.endif -.endif - @ close optfile - - -tin : $(TINLIB)($(MODULES)) - link $(LFLAGS) /exec=$(TARGET) $(TINLIB)/LIBRARY/INCL=MAIN,$(GLOMOD) - - [-.vms]tin.opt/option, $(LIBS) - -vmslib : - set def [-.vms] - @ if f$getsyi("VERSION") .lts. "V6.2" then - - modules = "vms,vmsdir,vmspwd,vmsfile,parse,parsdate,getopt,getopt1,getpass,qsort,isxterm" - @ if f$getsyi("VERSION") .ges. "V6.2" then - - modules = "vms,vmsdir,vmspwd,vmsfile,parse,parsdate,getpass,qsort,isxterm" - mms /description=libvms.mms $(MMSQUALIFIERS) $(MMSTARGETS) - set def [-.src] - -pcrelib : - set def [-.pcre] - mms /description=pcre.mms $(MMSQUALIFIERS) $(MMSTARGETS) - set def [-.src] - -tincfg.h : makecfg.exe - CURRENT_OUTPUT = f$trnlnm("SYS$OUTPUT") - PROG_NAME = f$search("makecfg.exe") - DEFINE SYS$OUTPUT tincfg.h - mc 'PROG_NAME' TINCFG.TBL - DEASS SYS$OUTPUT - DEFINE SYS$OUTPUT 'CURRENT_OUTPUT' !nun wieder aufs Terminal - -makecfg.exe : makecfg.obj - link $(LFLAGS) /exec=makecfg.exe makecfg.obj,[-.vms]tin.opt/option - -active.obj : active.c, $(HFILES) -actived.obj : actived.c, $(HFILES) -art.obj : art.c, $(HFILES), $(INCDIR)stpwatch.h -attrib.obj : attrib.c, $(HFILES) -charset.obj : charset.c, $(HFILES) -config.obj : config.c, $(HFILES) -curses.obj : curses.c, $(HFILES) -tcurses.obj : tcurses.c, $(HFILES) -debug.obj : debug.c, $(HFILES) -envarg.obj : envarg.c, $(HFILES) -feed.obj : feed.c, $(HFILES) -filter.obj : filter.c, $(HFILES) -getline.obj : getline.c, $(HFILES) -group.obj : group.c, $(HFILES) -hashstr.obj : hashstr.c, $(HFILES) -help.obj : help.c, $(HFILES) -inews.obj : inews.c, $(TNNTP),$(HFILES) -init.obj : init.c, $(TNNTP), $(HFILES) -lang.obj : lang.c, $(HFILES) -list.obj : list.c, $(HFILES) -mail.obj : mail.c, $(HFILES) -main.obj : main.c, $(HFILES) -makecfg.obj : makecfg.c, $(HFILES) -memory.obj : memory.c, $(HFILES) -misc.obj : misc.c, $(HFILES) -msmail.obj : msmail.c, $(HFILES) -newsrc.obj : newsrc.c, $(HFILES) -nntplib.obj : nntplib.c, $(TNNTP), $(HFILES) -nntpw32.obj : nntpw32.c, $(HFILES) -open.obj : open.c, $(HFILES) -os_2.obj : os_2.c, $(HFILES), $(INCDIR)os_2.h -page.obj : page.c, $(HFILES) -parsdate.obj : parsdate.c, $(HFILES) -post.obj : post.c, $(HFILES) -prompt.obj : prompt.c, $(HFILES) -save.obj : save.c, $(HFILES) -screen.obj : screen.c, $(HFILES) -search.obj : search.c, $(HFILES) -select.obj : select.c, $(HFILES) -sigfile.obj : sigfile.c, $(HFILES) -signal.obj : signal.c, $(HFILES) -strftime.obj : strftime.c, $(HFILES) -thread.obj : thread.c, $(HFILES) -wildmat.obj : wildmat.c, $(HFILES) -win32.obj : win32.c, $(HFILES) -xref.obj : xref.c, $(HFILES) -vms.obj : vms.c, $(HFILES) -rfc1522.obj : rfc1522.c, $(HFILES) -rfc1521.obj : rfc1521.c, $(HFILES) -string.obj : string.c, $(HFILES) -header.obj : header.c, $(TNNTP), $(HFILES) -nrctbl.obj : nrctbl.c, $(HFILES) -read.obj : read.c, $(HFILES) -refs.obj : refs.c, $(HFILES) -regex.obj : regex.c, $(HFILES) -auth.obj : auth.c, $(HFILES) - -parsdate.c : parsdate.y - $(YACC) $? - rename/log $(YACCOUTPUT) $@ - -clean : vmslib pcrelib - @- WRITE SYS$OUTPUT "Cleaning tin directory" - @- if f$search("*.obj;*") .nes. "" then Delete/Log *.obj;* - @- if f$search("*.lis;*") .nes. "" then Delete/Log *.lis;* - @- if f$search("makecfg.exe;*") .nes. "" then Delete/Log makecfg.exe;* - @- if f$search("tincfg.h;*") .nes. "" then Delete/Log tincfg.h;* - @- if f$search("tin.*;*") .nes. "" then Delete/Log tin.*;* - @- !Delete/Log parsdate.c;* - - - -.IFDEF VAXC - -.IFDEF MULTINET -.FIRST : - Define SYS Multinet_Common_Root:[Multinet.Include.Sys],Sys$Library - Define VAXC$INCLUDE Multinet_Common_Root:[Multinet.Include.Sys],Sys$Library -.ELSE -.FIRST : - Define SYS Sys$Library - Define VAXC$INCLUDE Sys$Library -.ENDIF - -.LAST : - deassign sys - deassing vaxc$include - -.ELSE -.IFDEF GNUC - -.FIRST : - define sys sys$share - -.LAST : - deassign sys - -.ENDIF -.ENDIF - diff -Nurp --exclude='.bzr*' tin-1.8.3/src/envarg.c tin-2.0.0/src/envarg.c --- tin-1.8.3/src/envarg.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/envarg.c 2011-04-17 16:04:30.419067928 +0200 @@ -6,7 +6,7 @@ * Updated : 1993-03-10 * Notes : Adds default options from environment to command line * - * Copyright (c) 1991-2006 Bill Davidson + * Copyright (c) 1991-2011 Bill Davidson * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff -Nurp --exclude='.bzr*' tin-1.8.3/src/feed.c tin-2.0.0/src/feed.c --- tin-1.8.3/src/feed.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/feed.c 2011-04-17 16:04:30.743117242 +0200 @@ -3,10 +3,10 @@ * Module : feed.c * Author : I. Lea * Created : 1991-08-31 - * Updated : 2005-07-02 + * Updated : 2011-03-25 * Notes : provides same interface to mail,pipe,print,save & repost commands * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -53,6 +53,7 @@ static t_bool supersede = FALSE; /* for static t_function pproc_func; /* Post-processing type when saving */ #ifndef DONT_HAVE_PIPING static FILE *pipe_fp = (FILE *) 0; + static t_bool got_epipe = FALSE; #endif /* !DONT_HAVE_PIPING */ @@ -66,6 +67,7 @@ struct t_counters { * Local prototypes */ static char *get_save_filename(struct t_group *group, int function, char *filename, int filelen, int respnum); +static t_bool expand_feed_filename(char *outpath, size_t outpath_len, const char *path); static t_bool feed_article(int art, int function, struct t_counters *counter, t_bool use_current, const char *data, struct t_group *group); static t_function get_feed_key(int function, int level, struct t_group *group, struct t_art_stat *thread, int respnum); static t_function get_post_proc_type(void); @@ -75,9 +77,9 @@ static void print_save_summary(t_functio #endif /* !DISABLE_PRINTING */ #ifndef DONT_HAVE_PIPING -# define handle_SIGPIPE() if (got_sig_pipe) goto got_sig_pipe_while_piping +# define handle_EPIPE() if (got_epipe) goto got_epipe_while_piping #else -# define handle_SIGPIPE() /*nothing*/ +# define handle_EPIPE() /*nothing*/ #endif /* !DONT_HAVE_PIPING */ /* @@ -101,7 +103,7 @@ get_save_filename( /* * Group attribute savefile overrides tinrc default savefile */ - strncpy(default_savefile, (group->attribute->savefile ? group->attribute->savefile : tinrc.default_save_file), sizeof(default_savefile) - 1); + my_strncpy(default_savefile, (group->attribute->savefile ? group->attribute->savefile : tinrc.default_save_file), sizeof(default_savefile) - 1); /* * We don't ask when auto'S'aving or Archive-Name saving with auto_save @@ -115,15 +117,11 @@ get_save_filename( } /* - * Update attribute/tinrc default savefiles if changed + * Update tinrc.default_save_file if changed */ - if (*filename) { - if (group->attribute->savefile) { - free(group->attribute->savefile); - group->attribute->savefile = my_strdup(filename); - } + if (*filename) my_strncpy(tinrc.default_save_file, filename, sizeof(tinrc.default_save_file) - 1); - } else { /* No file was specified, try default */ + else { /* * None chosen (or AUTOSAVING), use tinrc default */ @@ -147,6 +145,36 @@ get_save_filename( /* + * Generate a path/filename to save to, using 'path' as input. + * The pathname is stored in 'outpath', which should be PATH_LEN in size + * Expand metacharacters and use defaults as needed. + * Return TRUE if the path is a mailbox, or FALSE otherwise. + */ +static t_bool +expand_feed_filename( + char *outpath, + size_t outpath_len, + const char *path) +{ + int ret = strfpath(path, outpath, PATH_LEN, curr_group, TRUE); + + /* + * If no path exists or the above failed in some way, use sensible defaults + * Put the generic path into 'outpath' + */ + if ((ret == 0) || !(strrchr(outpath, DIRSEP))) { + char buf[PATH_LEN]; + + if (!strfpath(cmdline.args & CMDLINE_SAVEDIR ? cmdline.savedir : curr_group->attribute->savedir, buf, sizeof(buf), curr_group, FALSE)) + joinpath(buf, sizeof(buf), homedir, DEFAULT_SAVEDIR); + joinpath(outpath, outpath_len, buf, path); + return FALSE; + } else + return (ret == 1); +} + + +/* * Find out what post-processing to perform. * This is not used when saving to mailboxes (we don't postprocess mailboxes) * Also not used when using the auto-save feature because a default value is @@ -161,7 +189,7 @@ get_post_proc_type( char keyshar[MAXKEYLEN]; t_function default_func, func; - switch (curr_group->attribute->post_proc_type) { + switch (curr_group->attribute->post_process_type) { case POST_PROC_YES: default_func = POSTPROCESS_YES; break; @@ -214,6 +242,11 @@ get_feed_key( prompt = txt_mail; break; + case FEED_MARK_READ: + case FEED_MARK_UNREAD: + prompt = txt_mark; + break; + #ifndef DONT_HAVE_PIPING case FEED_PIPE: prompt = txt_pipe; @@ -248,7 +281,8 @@ get_feed_key( * Try and work out what default the user wants * thread->total = # arts in thread */ - default_func = (num_of_tagged_arts ? FEED_TAGGED : + default_func = (range_active ? FEED_RANGE : + num_of_tagged_arts ? FEED_TAGGED : (arts_selected() ? FEED_HOT : ((level == GROUP_LEVEL && thread->total > 1) ? FEED_THREAD : (thread->selected_total ? FEED_HOT : @@ -259,17 +293,18 @@ get_feed_key( * auto'S'aving and there are tagged or selected(hot) articles * using the auto_save feature on Archive postings */ - if ((function == FEED_AUTOSAVE && (num_of_tagged_arts || arts_selected())) || - (group->attribute->auto_save && arts[respnum].archive)) + if ((function == FEED_AUTOSAVE && (range_active || num_of_tagged_arts || arts_selected())) + || (function == FEED_SAVE && group->attribute->auto_save && arts[respnum].archive)) func = default_func; else { char buf[LEN]; - char keyart[MAXKEYLEN], keythread[MAXKEYLEN], keyhot[MAXKEYLEN]; + char keyart[MAXKEYLEN], keythread[MAXKEYLEN], keyrange[MAXKEYLEN], keyhot[MAXKEYLEN]; char keypat[MAXKEYLEN], keytag[MAXKEYLEN], keyquit[MAXKEYLEN]; snprintf(buf, sizeof(buf), _(txt_art_thread_regex_tag), printascii(keyart, func_to_key(FEED_ARTICLE, feed_type_keys)), printascii(keythread, func_to_key(FEED_THREAD, feed_type_keys)), + printascii(keyrange, func_to_key(FEED_RANGE, feed_type_keys)), printascii(keyhot, func_to_key(FEED_HOT, feed_type_keys)), printascii(keypat, func_to_key(FEED_PATTERN, feed_type_keys)), printascii(keytag, func_to_key(FEED_TAGGED, feed_type_keys)), @@ -291,6 +326,15 @@ get_feed_key( } break; + case FEED_RANGE: + if (!range_active) { + if (set_range(level, 1, currmenu->max, currmenu->curr + 1)) + range_active = TRUE; + else + return GLOBAL_ABORT; + } + break; + case GLOBAL_QUIT: case GLOBAL_ABORT: clear_message(); @@ -440,10 +484,26 @@ feed_article( confirm = bool_not(ok); /* Only confirm the next one after a failure */ break; + case FEED_MARK_READ: + if (arts[art].status == ART_UNREAD || arts[art].status == ART_WILL_RETURN) + art_mark(curr_group, &arts[art], ART_READ); + else + ok = FALSE; + break; + + case FEED_MARK_UNREAD: + if (arts[art].status == ART_READ) + art_mark(curr_group, &arts[art], ART_WILL_RETURN); + else + ok = FALSE; + break; + #ifndef DONT_HAVE_PIPING case FEED_PIPE: rewind(openartptr->raw); - ok = copy_fp(openartptr->raw, pipe_fp); /* Check for SIGPIPE on return */ + ok = copy_fp(openartptr->raw, pipe_fp); + if (errno == EPIPE) /* broken pipe in copy_fp() */ + got_epipe = TRUE; break; #endif /* !DONT_HAVE_PIPING */ @@ -456,6 +516,8 @@ feed_article( case FEED_SAVE: case FEED_AUTOSAVE: ok = save_and_process_art(openartptr, &arts[art], is_mailbox, data /*filename*/, counter->max, (pproc_func != POSTPROCESS_NO)); + if (ok && curr_group->attribute->mark_saved_read) + art_mark(curr_group, &arts[art], ART_READ); break; case FEED_REPOST: @@ -471,14 +533,6 @@ feed_article( if (ok) counter->success++; - /* - * Mark read for the SAVE cases (but not print/pipe etc..) - */ - if (function == FEED_SAVE || function == FEED_AUTOSAVE) { - if (ok && tinrc.mark_saved_read) - art_mark(curr_group, &arts[art], ART_READ); - } - if (!use_current) art_close(openartptr); return ok; @@ -489,15 +543,18 @@ feed_article( * Single entry point for 'feed'ing article(s) to a backend * Function: * FEED_PIPE, FEED_MAIL, FEED_PRINT, FEED_REPOST - * FEED_SAVE, FEED_AUTOSAVE + * FEED_SAVE, FEED_AUTOSAVE, FEED_MARK_READ, FEED_MARK_UNREAD * Level: * GROUP_LEVEL, THREAD_LEVEL, PAGE_LEVEL + * Type: + * default feed_type; if NOT_ASSIGNED, query what to do * Respnum: * Index in arts[] of starting article * * The following 'groups' of article can be processed: * Single (current) article * Current thread + * Range of articles * Tagged articles * Hot articles * Articles matching a pattern @@ -505,11 +562,17 @@ feed_article( * The selection of Function depends on the key used to get here. * The selection of which article 'group' to process is managed * inside here, or by defaults. + * + * Returns: + * 1 if there are no more unread arts in this group (FEED_MARK_READ) + * 0 on success + * -1 on failure/abort */ -void +int feed_articles( int function, int level, + t_function type, struct t_group *group, int respnum) { @@ -521,23 +584,25 @@ feed_articles( int thread_base; struct t_art_stat sbuf; struct t_counters counter = { 0, 0, 0 }; - t_bool use_current = FALSE; - t_bool ret1 = FALSE; + t_bool feed_mark_function = function == FEED_MARK_READ || function == FEED_MARK_UNREAD; + t_bool mark_saved = FALSE; + t_bool no_next_unread = FALSE; t_bool post_processed_ok = FALSE; + t_bool use_current = FALSE; t_function feed_type; #ifdef DONT_HAVE_PIPING if (function == FEED_PIPE) { - error_message(_(txt_piping_not_enabled)); + error_message(2, _(txt_piping_not_enabled)); clear_message(); - return; + return -1; } #endif /* DONT_HAVE_PIPING */ if (function == FEED_AUTOSAVE) { - if (num_of_tagged_arts == 0 && !arts_selected()) { + if (!range_active && num_of_tagged_arts == 0 && !arts_selected()) { info_message(_(txt_no_marked_arts)); - return; + return -1; } } @@ -545,8 +610,18 @@ feed_articles( thread_base = which_thread(respnum); stat_thread(thread_base, &sbuf); - if ((feed_type = get_feed_key(function, level, group, &sbuf, respnum)) == GLOBAL_ABORT) - return; + switch (type) { + case FEED_ARTICLE: + case FEED_THREAD: + case FEED_RANGE: + feed_type = type; + break; + + default: + if ((feed_type = get_feed_key(function, level, group, &sbuf, respnum)) == GLOBAL_ABORT) + return -1; + break; + } /* * Get whatever information is needed to proceed @@ -557,7 +632,7 @@ feed_articles( prompt = fmt_string(_(txt_mail_art_to), cCOLS - (strlen(_(txt_mail_art_to)) + 30), tinrc.default_mail_address); if (!(prompt_string_default(prompt, tinrc.default_mail_address, _(txt_no_mail_address), HIST_MAIL_ADDRESS))) { free(prompt); - return; + return -1; } free(prompt); break; @@ -568,19 +643,21 @@ feed_articles( prompt = fmt_string(_(txt_pipe_to_command), cCOLS - (strlen(_(txt_pipe_to_command)) + 30), tinrc.default_pipe_command); if (!(prompt_string_default(prompt, tinrc.default_pipe_command, _(txt_no_command), HIST_PIPE_COMMAND))) { free(prompt); - return; + return -1; } free(prompt); - got_sig_pipe = FALSE; + got_epipe = FALSE; EndWin(); /* Turn off curses/windowing */ Raw(FALSE); fflush(stdout); + set_signal_catcher(FALSE); if ((pipe_fp = popen(tinrc.default_pipe_command, "w")) == NULL) { perror_message(_(txt_command_failed), tinrc.default_pipe_command); + set_signal_catcher(TRUE); Raw(TRUE); InitWin(); - return; + return -1; } break; #endif /* !DONT_HAVE_PIPING */ @@ -607,9 +684,9 @@ feed_articles( savefile[0] = '\0'; if (get_save_filename(group, function, savefile, sizeof(savefile), respnum) == NULL) - return; + return -1; - switch (curr_group->attribute->post_proc_type) { + switch (curr_group->attribute->post_process_type) { case POST_PROC_YES: pproc_func = POSTPROCESS_YES; break; @@ -625,14 +702,14 @@ feed_articles( } /* We don't postprocess mailboxen */ - if ((is_mailbox = expand_save_filename(outpath, savefile)) == TRUE) + if ((is_mailbox = expand_feed_filename(outpath, sizeof(outpath), savefile)) == TRUE) pproc_func = POSTPROCESS_NO; else { if (function != FEED_AUTOSAVE && (pproc_func = get_post_proc_type()) == GLOBAL_ABORT) - return; + return -1; } if (!create_path(outpath)) - return; + return -1; } break; @@ -676,7 +753,7 @@ feed_articles( default: clear_message(); - return; + return -1; } #ifndef FORGERY } else { @@ -686,7 +763,7 @@ feed_articles( #endif /* !FORGERY */ if (!(prompt_string_default(tmp, tinrc.default_repost_group, _(txt_no_group), HIST_REPOST_GROUP))) { free(tmp); - return; + return -1; } free(tmp); } @@ -702,8 +779,9 @@ feed_articles( /* * Performance hack - If we feed a single art from the pager then we can * re-use the currently open article + * Also no need to fetch articles just to mark them (un)read */ - if (level == PAGE_LEVEL && feed_type == FEED_ARTICLE) { + if (feed_mark_function || (level == PAGE_LEVEL && (feed_type == FEED_ARTICLE || feed_type == FEED_THREAD))) { saved_curr_line = curr_line; /* Save where we were in pager */ use_current = TRUE; } @@ -716,25 +794,42 @@ feed_articles( case FEED_ARTICLE: /* article */ counter.max = 1; if (!feed_article(respnum, function, &counter, use_current, outpath, group)) - handle_SIGPIPE(); + handle_EPIPE(); break; case FEED_THREAD: /* thread */ /* Get accurate count first */ for_each_art_in_thread(art, which_thread(respnum)) { - if (!(tinrc.process_only_unread && arts[art].status == ART_READ)) + if (feed_mark_function || !(curr_group->attribute->process_only_unread && arts[art].status == ART_READ)) counter.max++; } for_each_art_in_thread(art, which_thread(respnum)) { - if (!(tinrc.process_only_unread && arts[art].status == ART_READ)) { + if (feed_mark_function || !(curr_group->attribute->process_only_unread && arts[art].status == ART_READ)) { /* Keep going - don't abort on errors */ if (!feed_article(art, function, &counter, use_current, outpath, group)) - handle_SIGPIPE(); + handle_EPIPE(); } } break; + case FEED_RANGE: + /* Get accurate count first */ + for_each_art(art) { + if (arts[art].inrange) + counter.max++; + } + + for_each_art(art) { + if (arts[art].inrange) { + arts[art].inrange = FALSE; + if (!feed_article(art, function, &counter, use_current, outpath, group)) + handle_EPIPE(); + } + } + range_active = FALSE; + break; + case FEED_TAGGED: /* tagged articles */ counter.max = num_of_tagged_arts; for (i = 1; i <= num_of_tagged_arts; i++) { @@ -743,7 +838,7 @@ feed_articles( if (arts[art].tagged == i) { /* Keep going - don't abort on errors */ if (!feed_article(art, function, &counter, use_current, outpath, group)) - handle_SIGPIPE(); + handle_EPIPE(); } } } @@ -765,7 +860,7 @@ feed_articles( } else if (!arts[art].selected) continue; - if (tinrc.process_only_unread && arts[art].status == ART_READ) + if (!feed_mark_function && (curr_group->attribute->process_only_unread && arts[art].status == ART_READ)) continue; arts[art].matched = TRUE; @@ -790,7 +885,7 @@ feed_articles( if (feed_type == FEED_HOT) arts[art].selected = FALSE; } else - handle_SIGPIPE(); + handle_EPIPE(); } } break; @@ -807,17 +902,35 @@ feed_articles( redraw_screen |= mail_check(); /* in case of sending to oneself */ switch (function) { + case FEED_MARK_READ: + case FEED_MARK_UNREAD: + redraw_screen = FALSE; + if (level == GROUP_LEVEL) { + no_next_unread = group_mark_postprocess(function, feed_type, respnum); + break; + } + if (level == THREAD_LEVEL) + no_next_unread = thread_mark_postprocess(function, feed_type, respnum); + break; + #ifndef DONT_HAVE_PIPING case FEED_PIPE: -got_sig_pipe_while_piping: - if (got_sig_pipe) +got_epipe_while_piping: + if (got_epipe) perror_message(_(txt_command_failed), tinrc.default_pipe_command); - got_sig_pipe = FALSE; + got_epipe = FALSE; fflush(pipe_fp); (void) pclose(pipe_fp); + set_signal_catcher(TRUE); +# ifdef USE_CURSES Raw(TRUE); InitWin(); +# endif /* USE_CURSES */ prompt_continue(); +# ifndef USE_CURSES + Raw(TRUE); + InitWin(); +# endif /* !USE_CURSES */ redraw_screen = TRUE; break; #endif /* !DONT_HAVE_PIPING */ @@ -844,19 +957,19 @@ got_sig_pipe_while_piping: post_processed_ok = post_process_files(pproc_func, delete_post_proc); } free_save_array(); /* NB: This is where num_save etc.. gets purged */ + + if (level != PAGE_LEVEL) + mark_saved = curr_group->attribute->mark_saved_read; break; default: break; } - if (level != PAGE_LEVEL) - ret1 = tinrc.mark_saved_read; - - if (ret1 || post_processed_ok) + if (mark_saved || post_processed_ok) redraw_screen = TRUE; - if (level == PAGE_LEVEL) { + if (level == PAGE_LEVEL && !feed_mark_function) { if (tinrc.force_screen_redraw) redraw_screen = TRUE; @@ -888,6 +1001,27 @@ got_sig_pipe_while_piping: info_message(_(txt_articles_mailed), counter.success, PLURAL(counter.success, txt_article)); break; + case FEED_MARK_READ: + case FEED_MARK_UNREAD: + if (no_next_unread) + info_message(_(txt_no_next_unread_art)); + else { + if (counter.success && level != PAGE_LEVEL) { + const char *ptr; + + ptr = function == FEED_MARK_READ ? _(txt_marked_as_read) : _(txt_marked_as_unread); + if (feed_type == FEED_THREAD) { + info_message(ptr, _(txt_thread_upper)); + } else if (feed_type == FEED_ARTICLE) { + info_message(ptr, _(txt_article_upper)); + } else { + ptr = function == FEED_MARK_READ ? _(txt_marked_arts_as_read) : _(txt_marked_arts_as_unread); + info_message(ptr, counter.success, counter.max, PLURAL(counter.max, txt_article)); + } + } + } + break; + #ifndef DISABLE_PRINTING case FEED_PRINT: info_message(_(txt_articles_printed), counter.success, PLURAL(counter.success, txt_article)); @@ -899,6 +1033,7 @@ got_sig_pipe_while_piping: default: break; } + return no_next_unread ? 1 : 0; } @@ -927,7 +1062,7 @@ print_file( return FALSE; } - if (tinrc.print_header) + if (curr_group->attribute->print_header) rewind(artinfo->raw); else { if (hdr->newsgroups) diff -Nurp --exclude='.bzr*' tin-1.8.3/src/filter.c tin-2.0.0/src/filter.c --- tin-1.8.3/src/filter.c 2006-06-19 18:39:44.000000000 +0200 +++ tin-2.0.0/src/filter.c 2011-05-10 15:46:01.962307209 +0200 @@ -3,10 +3,10 @@ * Module : filter.c * Author : I. Lea * Created : 1992-12-28 - * Updated : 2006-06-19 + * Updated : 2011-04-17 * Notes : Filter articles. Kill & auto selection are supported. * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -48,6 +48,7 @@ #define IS_READ(i) (arts[i].status == ART_READ) #define IS_KILLED(i) (arts[i].killed) +#define IS_KILLED_UNREAD(i) (arts[i].killed == ART_KILLED_UNREAD) #define IS_SELECTED(i) (arts[i].selected) /* @@ -84,6 +85,12 @@ struct t_filters glob_filter = { 0, 0, ( /* + * Global filter file offset + */ +int filter_file_offset; + + +/* * Local prototypes */ static int get_choice(int x, const char *help, const char *prompt, char *list[], int list_size); @@ -209,7 +216,7 @@ test_regex( if (regex_errpos >= 0) return 1; else if (regex_errpos != PCRE_ERROR_NOMATCH) { - error_message(_(txt_pcre_error_num), regex_errpos); + error_message(2, _(txt_pcre_error_num), regex_errpos); return -1; } } @@ -310,7 +317,7 @@ read_filter_file( t_bool expired_time = FALSE; time_t current_secs = (time_t) 0; static t_bool first_read = TRUE; - int upgrade = RC_CHECK; + enum rc_state upgrade = RC_CHECK; if ((fp = fopen(file, "r")) == NULL) return FALSE; @@ -326,14 +333,19 @@ read_filter_file( if (!first_read) free_filter_array(&glob_filter); + filter_file_offset = 1; + scope[0] = '\0'; while (fgets(buf, (int) sizeof(buf), fp) != NULL) { - if (*buf == '#' || *buf == '\n') { - if (upgrade == RC_CHECK && first_read) { + if (*buf == '\n') + continue; + if (*buf == '#') { + if (scope[0] == '\0') + filter_file_offset++; + if (upgrade == RC_CHECK && first_read && match_string(buf, "# Filter file V", NULL, 0)) { first_read = FALSE; upgrade = check_upgrade(buf, "# Filter file V", FILTER_VERSION); if (upgrade != RC_IGNORE) - upgrade_prompt_quit(upgrade, FILTER_FILE); - /* TODO: do something (more) useful here */ + upgrade_prompt_quit(upgrade, FILTER_FILE); /* TODO: do something (more) useful here */ } continue; } @@ -346,8 +358,10 @@ read_filter_file( break; } - if (match_string(buf + 1, "omment=", comment_line, sizeof(comment_line))) + if (match_string(buf + 1, "omment=", comment_line, sizeof(comment_line))) { + str_trim(comment_line); comment = add_filter_comment(comment, comment_line); + } break; case 'f': @@ -368,11 +382,10 @@ read_filter_file( case 'g': if (match_string(buf + 1, "roup=", scope, sizeof(scope))) { + str_trim(scope); #ifdef DEBUG - if (debug) { - my_printf("group=[%s] num=[%d]\n", scope, glob_filter.num); - my_flush(); - } + if (debug & DEBUG_FILTER) + debug_print_file("FILTER", "\nnum=[%d] group=[%s]", glob_filter.num, scope); #endif /* DEBUG */ if (glob_filter.num >= glob_filter.max) expand_filter_array(&glob_filter); @@ -504,14 +517,11 @@ read_filter_file( FreeIfNeeded(ptr[i].subj); ptr[i].subj = my_strdup(subj); } - } - #ifdef DEBUG - if (debug) { - my_printf("6. buf=[%s] Gsubj=[%s]\n", ptr[i].subj, glob_filter.filter[i].subj); - my_flush(); - } + if (debug & DEBUG_FILTER) + debug_print_file("FILTER","buf=[%s] Gsubj=[%s]", ptr[i].subj, glob_filter.filter[i].subj); #endif /* DEBUG */ + } break; } @@ -521,10 +531,8 @@ read_filter_file( if (match_string(buf + 1, "core=", scbuf, PATH_LEN)) { score = atoi(scbuf); #ifdef DEBUG - if (debug) { - my_printf("score=[%d]\n", score); - my_flush(); - } + if (debug & DEBUG_FILTER) + debug_print_file("FILTER","score=[%d]", score); #endif /* DEBUG */ if (ptr && !expired_time) { if (score > SCORE_MAX) @@ -555,10 +563,8 @@ read_filter_file( /* rule expired? */ if (secs && current_secs > (time_t) secs) { #ifdef DEBUG - if (debug) { - my_printf("EXPIRED secs=[%lu] current_secs=[%lu]\n", (unsigned long int) secs, (unsigned long int) current_secs); - my_flush(); - } + if (debug & DEBUG_FILTER) + debug_print_file("FILTER", "EXPIRED secs=[%lu] current_secs=[%lu]", (unsigned long int) secs, (unsigned long int) current_secs); #endif /* DEBUG */ glob_filter.num--; expired_time = TRUE; @@ -574,6 +580,7 @@ read_filter_file( * should we comment out older xref rules like below? */ if (match_string(buf + 1, "ref=", xref, sizeof(xref))) { + str_trim(xref); if (ptr && !expired_time) { if (tinrc.wildcard && ptr[i].xref != NULL) { /* merge with already read value */ @@ -592,17 +599,17 @@ read_filter_file( if (match_string(buf + 1, "ref_max=", foo, LEN - 1)) { /* - * TODO: add to the right rule, give better explanation, -> lang.c + * TODO: add to the right rule, give better explanation. */ - snprintf(foo, HEADER_LEN, "%s%s", _("Removed from the previous rule: "), str_trim(buf)); + snprintf(foo, HEADER_LEN, "%s%s", _(txt_removed_rule), str_trim(buf)); comment = add_filter_comment(comment, foo); break; } if (match_string(buf + 1, "ref_score=", foo, LEN - 1)) { /* - * TODO: add to the right rule, give better explanation, -> lang.c + * TODO: add to the right rule, give better explanation. */ - snprintf(foo, HEADER_LEN, "%s%s", _("Removed from the previous rule: "), str_trim(buf)); + snprintf(foo, HEADER_LEN, "%s%s", _(txt_removed_rule), str_trim(buf)); comment = add_filter_comment(comment, foo); } } @@ -617,10 +624,7 @@ read_filter_file( if (expired || upgrade == RC_UPGRADE) write_filter_file(file); - if (cmd_line && !batch_mode) - printf("\r\n"); - - if (!batch_mode) + if (!cmd_line && !batch_mode) clear_message(); return TRUE; @@ -636,6 +640,8 @@ write_filter_file( { FILE *fp; char *file_tmp; + int i; + long fpos; if (no_write) return; @@ -644,17 +650,30 @@ write_filter_file( file_tmp = get_tmpfilename(filename); if (!backup_file(filename, file_tmp)) { - error_message(_(txt_filesystem_full_backup), filename); + error_message(2, _(txt_filesystem_full_backup), filename); free(file_tmp); return; } - if ((fp = fopen(filename, "w")) == NULL) + if ((fp = fopen(filename, "w+")) == NULL) return; /* TODO: -> lang.c */ fprintf(fp, "# Filter file V%s for the TIN newsreader\n#\n", FILTER_VERSION); - fprintf(fp, _(txt_filter_file)); + fprintf(fp, "%s", _(txt_filter_file)); + + /* determine the file offset */ + if (!batch_mode) { + fpos = ftell(fp); + rewind(fp); + filter_file_offset = 1; + while ((i = fgetc(fp)) != EOF) { + if (i == '\n') + filter_file_offset++; + } + fseek(fp, fpos, SEEK_SET); + } + fflush(fp); /* @@ -662,9 +681,13 @@ write_filter_file( */ write_filter_array(fp, &glob_filter); - if (ferror(fp) || fclose(fp)) { - error_message(_(txt_filesystem_full), filename); + if ((i = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), filename); rename_file(file_tmp, filename); + if (i) { + clearerr(fp); + fclose(fp); + } } else unlink(file_tmp); @@ -685,14 +708,18 @@ write_filter_array( return; for (i = 0; i < ptr->num; i++) { -/* my_printf("WRITE i=[%d] subj=[%s] from=[%s]\n", i, BlankIfNull(ptr->filter[i].subj), BlankIfNull(ptr->filter[i].from)); */ +#ifdef DEBUG + if (debug & DEBUG_FILTER) + debug_print_file("FILTER", "WRITE i=[%d] subj=[%s] from=[%s]\n", i, BlankIfNull(ptr->filter[i].subj), BlankIfNull(ptr->filter[i].from)); +#endif /* DEBUG */ if (ptr->filter[i].time && theTime > ptr->filter[i].time) continue; -/* -my_printf("Scope=[%s]" cCRLF, (ptr->filter[i].scope != NULL ? ptr->filter[i].scope : "*")); -my_flush(); -*/ +#ifdef DEBUG + if (debug & DEBUG_FILTER) + debug_print_file("FILTER", "Scope=[%s]" cCRLF, (ptr->filter[i].scope != NULL ? ptr->filter[i].scope : "*")); +#endif /* DEBUG */ + fprintf(fp, "\n"); /* makes filter file more readable */ /* comments appear always first, if there are any... */ @@ -812,9 +839,6 @@ get_choice( int list_size) { int ch, y, i = 0; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - wchar_t *wbuf; -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ if (help) show_menu_help(help); @@ -822,16 +846,7 @@ get_choice( if (list == NULL || list_size < 1) return -1; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wbuf = char2wchar_t(prompt)) != NULL) { - wconvert_to_printable(wbuf); - if ((y = wcswidth(wbuf, wcslen(wbuf) + 1)) == -1) /* something went wrong, use wcslen() as fallback */ - y = wcslen(wbuf); - - free(wbuf); - } else -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - y = (int) strlen(prompt); + y = strwidth(prompt); do { MoveCursor(x, y); @@ -999,14 +1014,11 @@ filter_menu( char text_time[PATH_LEN]; char double_time[PATH_LEN]; char quat_time[PATH_LEN]; - int i, len, clen = 0, flen = 0; + int i, len, clen, flen; struct t_filter_rule rule; t_bool proceed; t_bool ret; t_function func, default_func = FILTER_SAVE; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - wchar_t *wbuf; -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ signal_context = cFilter; @@ -1062,49 +1074,16 @@ filter_menu( ptr_filter_comment = _(txt_filter_comment); ptr_filter_groupname = group->name; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wbuf = char2wchar_t(_(txt_no))) != NULL) { - clen = MAX(clen, wcswidth(wbuf, wcslen(wbuf))); - free(wbuf); - } - if ((wbuf = char2wchar_t(_(txt_yes))) != NULL) { - clen = MAX(clen, wcswidth(wbuf, wcslen(wbuf))); - free(wbuf); - } - if ((wbuf = char2wchar_t(_(txt_full))) != NULL) { - clen = MAX(clen, wcswidth(wbuf, wcslen(wbuf))); - free(wbuf); - } - if ((wbuf = char2wchar_t(_(txt_last))) != NULL) { - clen = MAX(clen, wcswidth(wbuf, wcslen(wbuf))); - free(wbuf); - } - if ((wbuf = char2wchar_t(_(txt_only))) != NULL) { - clen = MAX(clen, wcswidth(wbuf, wcslen(wbuf))); - free(wbuf); - } - if ((wbuf = char2wchar_t(ptr_filter_subj)) != NULL) { - flen = MAX(flen, wcswidth(wbuf, wcslen(wbuf)) - 2); - free(wbuf); - } - if ((wbuf = char2wchar_t(ptr_filter_from)) != NULL) { - flen = MAX(flen, wcswidth(wbuf, wcslen(wbuf)) - 2); - free(wbuf); - } - if ((wbuf = char2wchar_t(ptr_filter_msgid)) != NULL) { - flen = MAX(flen, wcswidth(wbuf, wcslen(wbuf)) - 2); - free(wbuf); - } -#else - clen = MAX(clen, (int) strlen(_(txt_no))); - clen = MAX(clen, (int) strlen(_(txt_yes))); - clen = MAX(clen, (int) strlen(_(txt_full))); - clen = MAX(clen, (int) strlen(_(txt_last))); - clen = MAX(clen, (int) strlen(_(txt_only))); - flen = MAX(flen, (int) strlen(ptr_filter_subj) - 2); - flen = MAX(flen, (int) strlen(ptr_filter_from) - 2); - flen = MAX(flen, (int) strlen(ptr_filter_msgid) - 2); -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + clen = strwidth(_(txt_no)); + clen = MAX(clen, strwidth(_(txt_yes))); + clen = MAX(clen, strwidth(_(txt_full))); + clen = MAX(clen, strwidth(_(txt_last))); + clen = MAX(clen, strwidth(_(txt_only))); + + flen = strwidth(ptr_filter_subj) - 2; + flen = MAX(flen, strwidth(ptr_filter_from) - 2); + flen = MAX(flen, strwidth(ptr_filter_msgid) - 2); + len = cCOLS - flen - clen - 1 + 4; snprintf(text_time, sizeof(text_time), _(txt_time_default_days), tinrc.filter_days); @@ -1140,14 +1119,17 @@ filter_menu( } if (*rule.text) { - list = my_malloc(sizeof(char *) * 5); + list = my_malloc(sizeof(char *) * 8); list[0] = (char *) _(txt_subj_line_only_case); list[1] = (char *) _(txt_subj_line_only); list[2] = (char *) _(txt_from_line_only_case); list[3] = (char *) _(txt_from_line_only); - list[4] = (char *) _(txt_msgid_line_only); + list[4] = (char *) _(txt_msgid_refs_line); + list[5] = (char *) _(txt_msgid_line_last); + list[6] = (char *) _(txt_msgid_line_only); + list[7] = (char *) _(txt_refs_line_only); - i = get_choice(INDEX_TOP + 3, _(txt_help_filter_text_type), _(txt_filter_text_type), list, 5); + i = get_choice(INDEX_TOP + 3, _(txt_help_filter_text_type), _(txt_filter_text_type), list, 8); free(list); if (i == -1) { @@ -1165,10 +1147,9 @@ filter_menu( case FILTER_SUBJ_CASE_SENSITIVE: case FILTER_FROM_CASE_SENSITIVE: case FILTER_MSGID: - rule.counter = FILTER_MSGID_ONLY; -/* case FILTER_MSGID_LAST: - case FILTER_MSGID_ONLY: */ - /* rule.icase is FALSE already, no assignment necessary */ + case FILTER_MSGID_LAST: + case FILTER_MSGID_ONLY: + case FILTER_REFS_ONLY: break; default: /* should not happen */ @@ -1347,7 +1328,7 @@ filter_menu( * Expire time */ snprintf(double_time, sizeof(double_time), "2x %s", text_time); - snprintf(quat_time, sizeof(double_time), "4x %s", text_time); + snprintf(quat_time, sizeof(quat_time), "4x %s", text_time); list = my_malloc(sizeof(char *) * 4); list[0] = (char *) _(txt_unlimited_time); list[1] = text_time; @@ -1407,9 +1388,9 @@ filter_menu( case FILTER_EDIT: add_filter_rule(group, art, &rule, FALSE); /* save the rule */ rule.comment = free_filter_comment(rule.comment); - if (!invoke_editor(filter_file, FILTER_FILE_OFFSET)) + if (!invoke_editor(filter_file, filter_file_offset, NULL)) return FALSE; - unfilter_articles(); + unfilter_articles(group); (void) read_filter_file(filter_file); return TRUE; /* keep lint quiet: */ @@ -1459,20 +1440,20 @@ quick_filter( if (type == GLOBAL_QUICK_FILTER_KILL) { header = group->attribute->quick_kill_header; expire = group->attribute->quick_kill_expire; - icase = group->attribute->quick_kill_case; + /* ON=case sensitive, OFF=ignore case -> invert */ + icase = bool_not(group->attribute->quick_kill_case); scope = group->attribute->quick_kill_scope; } else { /* type == GLOBAL_QUICK_FILTER_SELECT */ header = group->attribute->quick_select_header; expire = group->attribute->quick_select_expire; - icase = group->attribute->quick_select_case; + /* ON=case sensitive, OFF=ignore case -> invert */ + icase = bool_not(group->attribute->quick_select_case); scope = group->attribute->quick_select_scope; } #ifdef DEBUG - if (debug) - error_message("%s header=[%d] scope=[%s] expire=[%s] case=[%d]", - (type == GLOBAL_QUICK_FILTER_KILL) ? "KILL" : "SELECT", header, - BlankIfNull(scope), txt_onoff[expire != FALSE ? 1 : 0], icase); + if (debug & DEBUG_FILTER) + error_message(2, "%s header=[%d] scope=[%s] expire=[%s] case=[%d]", (type == GLOBAL_QUICK_FILTER_KILL) ? "KILL" : "SELECT", header, BlankIfNull(scope), txt_onoff[expire != FALSE ? 1 : 0], icase); #endif /* DEBUG */ /* @@ -1722,7 +1703,7 @@ add_filter_rule( * So the thread remains open (in group level). To overcome this, * the first msgid from references field is taken in this case. */ - if (quick_filter_rule && group->attribute->thread_arts == THREAD_REFS && + if (quick_filter_rule && group->attribute->thread_articles == THREAD_REFS && (group->attribute->quick_kill_header == FILTER_MSGID || group->attribute->quick_kill_header == FILTER_REFS_ONLY) && art->refptr->parent != NULL) @@ -1748,18 +1729,9 @@ add_filter_rule( if (filtered) { #ifdef DEBUG - if (debug) - wait_message(2, "inscope=[%s] scope=[%s] case=[%d] subj=[%s] from=[%s] msgid=[%s] fullref=[%d] line=[%d %d] time=[%lu]", - bool_unparse(ptr[i].inscope), - BlankIfNull(rule->scope), - ptr[i].icase, - BlankIfNull(ptr[i].subj), - BlankIfNull(ptr[i].from), - BlankIfNull(ptr[i].msgid), - ptr[i].fullref, ptr[i].lines_cmp, - ptr[i].lines_num, (unsigned long int) ptr[i].time); + if (debug & DEBUG_FILTER) + wait_message(2, "inscope=[%s] scope=[%s] case=[%d] subj=[%s] from=[%s] msgid=[%s] fullref=[%d] line=[%d %d] time=[%lu]", bool_unparse(ptr[i].inscope), BlankIfNull(rule->scope), ptr[i].icase, BlankIfNull(ptr[i].subj), BlankIfNull(ptr[i].from), BlankIfNull(ptr[i].msgid), ptr[i].fullref, ptr[i].lines_cmp, ptr[i].lines_num, (unsigned long int) ptr[i].time); #endif /* DEBUG */ - write_filter_file(filter_file); } return filtered; @@ -1768,20 +1740,22 @@ add_filter_rule( /* * We assume that any articles which are tagged as killed are also - * tagged as being read BECAUSE they were killed. So, we retag - * them as being unread. Selected articles will be un"select"ed. + * tagged as being read BECAUSE they were killed. We retag them as + * being unread if they were unread before killing (ART_KILLED_UNREAD). + * Selected articles will be un"select"ed. */ void unfilter_articles( - void) + struct t_group *group) { int i; for_each_art(i) { arts[i].score = 0; if (IS_KILLED(i)) { + if (IS_KILLED_UNREAD(i)) + art_mark(group, &arts[i], ART_UNREAD); arts[i].killed = ART_NOTKILLED; - arts[i].status = ART_UNREAD; } if (IS_SELECTED(i)) arts[i].selected = FALSE; @@ -1854,7 +1828,7 @@ filter_articles( } /* - * loop thru all arts applying global & local filtering rules + * loop through all arts applying global & local filtering rules */ for (i = 0; (i < top_art) && !error; i++) { arts[i].score = 0; @@ -1960,6 +1934,10 @@ filter_articles( switch (x) { case 1: SET_FILTER(group, i, j); +#ifdef DEBUG + if (debug & DEBUG_FILTER) + debug_print_file("FILTER", "Group[%s] Rule[%d][%s] ArtMSGID[%s] Artnum[%d]", group->name, j, ptr[j].msgid, mymsgid, i); +#endif /* DEBUG */ break; case -1: @@ -1978,27 +1956,18 @@ filter_articles( switch (ptr[j].lines_cmp) { case FILTER_LINES_EQ: if (arts[i].line_count == ptr[j].lines_num) { -/* -wait_message(1, "FILTERED Lines arts[%d] == [%d]", arts[i].line_count, ptr[j].lines_num); -*/ SET_FILTER(group, i, j); } break; case FILTER_LINES_LT: if (arts[i].line_count < ptr[j].lines_num) { -/* -wait_message(1, "FILTERED Lines arts[%d] < [%d]", arts[i].line_count, ptr[j].lines_num); -*/ SET_FILTER(group, i, j); } break; case FILTER_LINES_GT: if (arts[i].line_count > ptr[j].lines_num) { -/* -wait_message(1, "FILTERED Lines arts[%d] > [%d]", arts[i].line_count, ptr[j].lines_num); -*/ SET_FILTER(group, i, j); } break; @@ -2049,7 +2018,7 @@ wait_message(1, "FILTERED Lines arts[%d] t_bool skip = FALSE; s = arts[i].xref; - while (*s && !isspace((int) *s)) + while (*s && !isspace((int) *s)) /* skip server name */ s++; while (*s && isspace((int) *s)) s++; @@ -2123,11 +2092,16 @@ wait_message(1, "FILTERED Lines arts[%d] arts[i].killed = ART_KILLED; filtered = TRUE; art_mark(group, &arts[i], ART_READ); + if (group->attribute->show_only_unread_arts) + arts[i].keep_in_base = FALSE; } else if (arts[i].score >= tinrc.score_limit_select) { arts[i].selected = TRUE; } } } + if (!cmd_line && !batch_mode) + clear_message(); + return filtered; } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/getline.c tin-2.0.0/src/getline.c --- tin-1.8.3/src/getline.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/getline.c 2011-04-17 16:04:30.539086191 +0200 @@ -3,7 +3,7 @@ * Module : getline.c * Author : Chris Thewalt & Iain Lea * Created : 1991-11-09 - * Updated : 2004-07-02 + * Updated : 2010-01-21 * Notes : emacs style line editing input package. * Copyright : (c) Copyright 1991-99 by Chris Thewalt & Iain Lea * Permission to use, copy, modify, and distribute this @@ -23,7 +23,7 @@ #endif /* !TCURSES_H */ #define BUF_SIZE 1024 -#define TABSIZE 4 +#define TAB_SIZE 4 #define CTRL_A '\001' #define CTRL_B '\002' @@ -344,7 +344,7 @@ gl_addchar( * This was the original code: * if (gl_cnt >= BUF_SIZE - 1) { - error_message("tin_getline: input buffer overflow"); + error_message(2, "tin_getline: input buffer overflow"); giveup(); } */ @@ -382,7 +382,7 @@ gl_newline( * code should never be reached. A proper implementation is * desirable though. */ - error_message("tin_getline: input buffer overflow"); + error_message(2, "tin_getline: input buffer overflow"); giveup(); } hist_add(w); /* only adds if nonblank */ @@ -593,7 +593,7 @@ gl_fixup( off_right = (gl_cnt > gl_shift + gl_width - 1) ? 1 : 0; right = (off_right) ? gl_shift + gl_width - 2 : gl_cnt; } - pad -= (off_right) ? gl_width - 1 : gl_cnt - gl_shift; + pad -= (off_right ? gl_width - 1 : gl_cnt - gl_shift); pad = (pad < 0) ? 0 : pad; if (left <= right) { /* clean up screen */ for (i = 0; i < backup; i++) @@ -638,7 +638,7 @@ gl_fixup( /* - * default tab handler, acts like tabstops every TABSIZE cols + * default tab handler, acts like tabstops every TAB_SIZE cols */ static int gl_tab( @@ -654,14 +654,14 @@ gl_tab( #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) len = wcslen(wbuf); - count = TABSIZE - (offset + *loc) % TABSIZE; + count = TAB_SIZE - (offset + *loc) % TAB_SIZE; for (i = len; i >= *loc; i--) wbuf[i + count] = wbuf[i]; for (i = 0; i < count; i++) wbuf[*loc + i] = (wchar_t) ' '; #else len = strlen(buf); - count = TABSIZE - (offset + *loc) % TABSIZE; + count = TAB_SIZE - (offset + *loc) % TAB_SIZE; for (i = len; i >= *loc; i--) buf[i + count] = buf[i]; for (i = 0; i < count; i++) diff -Nurp --exclude='.bzr*' tin-1.8.3/src/global.c tin-2.0.0/src/global.c --- tin-1.8.3/src/global.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/global.c 2011-04-17 16:04:30.567090454 +0200 @@ -6,7 +6,7 @@ * Updated : 2005-10-19 * Notes : Generic nagivation and key handling routines * - * Copyright (c) 1999-2006 Jason Faultless + * Copyright (c) 1999-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff -Nurp --exclude='.bzr*' tin-1.8.3/src/group.c tin-2.0.0/src/group.c --- tin-1.8.3/src/group.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/group.c 2011-04-17 16:04:35.939908081 +0200 @@ -3,10 +3,10 @@ * Module : group.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-07-02 + * Updated : 2011-01-29 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -57,15 +57,15 @@ struct t_group *curr_group; static int do_search(t_function func, t_bool repeat); static int enter_pager(int art, t_bool ignore_unavail); static int enter_thread(int depth, t_pagerinfo *page); +static int find_new_pos(long old_artnum, int cur_pos); static int group_catchup(t_function func); -static int prompt_getart_limit(void); static int tab_pressed(void); +static t_bool prompt_getart_limit(void); static t_function group_left(void); static t_function group_right(void); static void build_sline(int i); static void build_multipart_header(char *dest, int maxlen, const char *src, int cmplen, int have, int total); static void draw_subject_arrow(void); -static void mark_thd_read(struct t_group *group, t_bool range_active); static void show_group_title(t_bool clear_title); static void show_tagged_lines(void); static void toggle_read_unread(t_bool force); @@ -98,7 +98,7 @@ static t_function group_left( void) { - if (tinrc.group_catchup_on_exit) + if (curr_group->attribute->group_catchup_on_exit) return SPECIAL_CATCHUP_LEFT; /* ie, not via 'c' or 'C' */ else return GLOBAL_QUIT; @@ -110,7 +110,7 @@ group_right( void) { if (grpmenu.curr >= 0 && HAS_FOLLOWUPS(grpmenu.curr)) { - if (tinrc.auto_list_thread) + if (curr_group->attribute->auto_list_thread) return GROUP_LIST_THREAD; else { int n = next_unread((int) base[grpmenu.curr]); @@ -140,12 +140,10 @@ group_page( { char key[MAXKEYLEN]; int i, n, ii; - int old_top = 0; int thread_depth; /* Starting depth in threads we enter */ long old_artnum = 0L; struct t_art_stat sbuf; t_bool flag; - t_bool range_active = FALSE; /* Set if a range is defined */ t_bool xflag = FALSE; /* 'X'-flag */ t_bool repeat_search; t_function func; @@ -157,6 +155,7 @@ group_page( curr_group = group; /* For global access to the current group */ num_of_tagged_arts = 0; + range_active = FALSE; last_resp = -1; this_resp = -1; @@ -179,16 +178,17 @@ group_page( clear_note_area(); if (group->attribute->auto_select) { - error_message(_(txt_autoselecting_articles), printascii(key, func_to_key(GROUP_MARK_UNSELECTED_ARTICLES_READ, group_keys))); + error_message(2, _(txt_autoselecting_articles), printascii(key, func_to_key(GROUP_MARK_UNSELECTED_ARTICLES_READ, group_keys))); do_auto_select_arts(); /* 'X' command */ xflag = TRUE; } show_group_page(); -# ifdef DEBUG_NEWSRC - debug_print_bitmap(group, NULL); -# endif /* DEBUG_NEWSRC */ +# ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_bitmap(group, NULL); +# endif /* DEBUG */ /* reset ret_code */ ret_code = 0; @@ -243,43 +243,50 @@ group_page( case GLOBAL_PIPE: /* pipe article/thread/tagged arts to command */ if (grpmenu.curr >= 0) - feed_articles(FEED_PIPE, GROUP_LEVEL, group, (int) base[grpmenu.curr]); + feed_articles(FEED_PIPE, GROUP_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); break; case GROUP_MAIL: /* mail article to somebody */ if (grpmenu.curr >= 0) - feed_articles(FEED_MAIL, GROUP_LEVEL, group, (int) base[grpmenu.curr]); + feed_articles(FEED_MAIL, GROUP_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); break; #ifndef DISABLE_PRINTING case GLOBAL_PRINT: /* output art/thread/tagged arts to printer */ if (grpmenu.curr >= 0) - feed_articles(FEED_PRINT, GROUP_LEVEL, group, (int) base[grpmenu.curr]); + feed_articles(FEED_PRINT, GROUP_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); break; #endif /* !DISABLE_PRINTING */ case GROUP_REPOST: /* repost current article */ - if (grpmenu.curr >= 0) - feed_articles(FEED_REPOST, GROUP_LEVEL, group, (int) base[grpmenu.curr]); + if (can_post) { + if (grpmenu.curr >= 0) + feed_articles(FEED_REPOST, GROUP_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); + } else + info_message(_(txt_cannot_post)); break; case GROUP_SAVE: /* save articles with prompting */ if (grpmenu.curr >= 0) - feed_articles(FEED_SAVE, GROUP_LEVEL, group, (int) base[grpmenu.curr]); + feed_articles(FEED_SAVE, GROUP_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); break; case GROUP_AUTOSAVE: /* Auto-save articles without prompting */ if (grpmenu.curr >= 0) - feed_articles(FEED_AUTOSAVE, GROUP_LEVEL, group, (int) base[grpmenu.curr]); + feed_articles(FEED_AUTOSAVE, GROUP_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); break; case GLOBAL_SET_RANGE: /* set range */ - if (set_range(GROUP_LEVEL, 1, grpmenu.max, grpmenu.curr + 1)) { + if (grpmenu.curr >= 0 && set_range(GROUP_LEVEL, 1, grpmenu.max, grpmenu.curr + 1)) { range_active = TRUE; show_group_page(); } break; + case GLOBAL_SEARCH_REPEAT: + info_message(_(txt_no_prev_search)); + break; + case GLOBAL_SEARCH_AUTHOR_FORWARD: case GLOBAL_SEARCH_AUTHOR_BACKWARD: case GLOBAL_SEARCH_SUBJECT_FORWARD: @@ -303,6 +310,24 @@ group_page( info_message(_(txt_no_arts)); break; + case GROUP_CANCEL: /* cancel current basenote */ + if (grpmenu.curr >= 0) { + if (can_post || group->attribute->mailing_list != NULL) { + char *progress_msg = my_strdup(_(txt_reading_article)); + int ret; + + n = (int) base[grpmenu.curr]; + ret = art_open(TRUE, &arts[n], group, &pgart, TRUE, progress_msg); + free(progress_msg); + if (ret != ART_UNAVAILABLE && ret != ART_ABORT && cancel_article(group, &arts[n], n)) + show_group_page(); + art_close(&pgart); + } else + info_message(_(txt_cannot_post)); + } else + info_message(_(txt_no_arts)); + break; + case GROUP_NEXT_UNREAD_ARTICLE_OR_GROUP: /* goto next unread article/group */ ret_code = tab_pressed(); break; @@ -317,26 +342,25 @@ group_page( info_message(_(txt_no_arts)); break; } - old_top = top_art; n = (int) base[grpmenu.curr]; - old_artnum = arts[n].artnum; if (filter_menu(func, group, &arts[n])) { - if (filter_articles(group)) { - make_threads(group, FALSE); - grpmenu.curr = find_new_pos(old_top, old_artnum, grpmenu.curr); - } + old_artnum = arts[n].artnum; + unfilter_articles(group); + filter_articles(group); + make_threads(group, FALSE); + grpmenu.curr = find_new_pos(old_artnum, grpmenu.curr); } show_group_page(); break; case GLOBAL_EDIT_FILTER: - if (!invoke_editor(filter_file, FILTER_FILE_OFFSET)) - break; - unfilter_articles(); - (void) read_filter_file(filter_file); - if (filter_articles(group)) { + if (invoke_editor(filter_file, filter_file_offset, NULL)) { + old_artnum = grpmenu.max > 0 ? arts[(int) base[grpmenu.curr]].artnum : -1L; + unfilter_articles(group); + (void) read_filter_file(filter_file); + filter_articles(group); make_threads(group, FALSE); - grpmenu.curr = find_new_pos(old_top, old_artnum, grpmenu.curr); + grpmenu.curr = old_artnum >= 0L ? find_new_pos(old_artnum, grpmenu.curr) : grpmenu.max - 1; } show_group_page(); break; @@ -348,18 +372,16 @@ group_page( break; } if ((!TINRC_CONFIRM_ACTION) || prompt_yn((func == GLOBAL_QUICK_FILTER_KILL) ? _(txt_quick_filter_kill) : _(txt_quick_filter_select), TRUE) == 1) { - old_top = top_art; - n = (int) base[grpmenu.curr]; /* should this depend on show_only_unread? */ - old_artnum = arts[n].artnum; + n = (int) base[grpmenu.curr]; /* should this depend on show_only_unread_arts? */ if (quick_filter(func, group, &arts[n])) { + old_artnum = arts[n].artnum; + unfilter_articles(group); + filter_articles(group); + make_threads(group, FALSE); + grpmenu.curr = find_new_pos(old_artnum, grpmenu.curr); + show_group_page(); info_message((func == GLOBAL_QUICK_FILTER_KILL) ? _(txt_info_add_kill) : _(txt_info_add_select)); - if (filter_articles(group)) { - make_threads(group, FALSE); - /* TODO: position is wrong after quick killing a thread */ - grpmenu.curr = find_new_pos(old_top, old_artnum, grpmenu.curr); - } } - show_group_page(); } break; @@ -435,9 +457,16 @@ group_page( # endif /* HAVE_COLOR */ case GROUP_MARK_THREAD_READ: /* mark current thread/range/tagged threads as read */ - mark_thd_read(group, range_active); - if (range_active) - range_active = FALSE; /* Range has gone now */ + case MARK_THREAD_UNREAD: /* or unread */ + if (grpmenu.curr < 0) + info_message(_(txt_no_arts)); + else { + t_function function, type; + + function = func == GROUP_MARK_THREAD_READ ? (t_function) FEED_MARK_READ : (t_function) FEED_MARK_UNREAD; + type = range_active ? FEED_RANGE : (num_of_tagged_arts && !group->attribute->mark_ignore_tags) ? NOT_ASSIGNED : FEED_THREAD; + feed_articles(function, GROUP_LEVEL, type, group, (int) base[grpmenu.curr]); + } break; case GROUP_LIST_THREAD: /* list articles within current thread */ @@ -450,14 +479,9 @@ group_page( break; case GLOBAL_OPTION_MENU: /* option menu */ - if (grpmenu.max > 0) { - old_top = top_art; - old_artnum = arts[(int) base[grpmenu.curr]].artnum; - } - n = tinrc.sort_article_type; - if ((change_config_file(group) == NO_FILTERING) && n != tinrc.sort_article_type) - make_threads(group, TRUE); - grpmenu.curr = find_new_pos(old_top, old_artnum, grpmenu.curr); + old_artnum = grpmenu.max > 0 ? arts[(int) base[grpmenu.curr]].artnum : -1L; + config_page(group->name); + grpmenu.curr = old_artnum >= 0L ? find_new_pos(old_artnum, grpmenu.curr) : grpmenu.max - 1; show_group_page(); break; @@ -542,8 +566,16 @@ group_page( break; case GROUP_TOGGLE_GET_ARTICLES_LIMIT: - tinrc.getart_limit = prompt_getart_limit(); - ret_code = GRP_NEXTUNREAD; + if (prompt_getart_limit()) { + /* + * if getart limit was given via cmd-line + * make it inactive now in order to use + * tinrc.getart_limit + */ + if (cmdline.args & CMDLINE_GETART_LIMIT) + cmdline.args &= ~CMDLINE_GETART_LIMIT; + ret_code = GRP_NEXTUNREAD; + } break; case GLOBAL_BUGREPORT: @@ -635,7 +667,7 @@ group_page( break; case GROUP_TOGGLE_THREADING: /* Cycle through the threading types */ - group->attribute->thread_arts = (group->attribute->thread_arts + 1) % (THREAD_MAX + 1); + group->attribute->thread_articles = (group->attribute->thread_articles + 1) % (THREAD_MAX + 1); if (grpmenu.curr >= 0) { i = base[grpmenu.curr]; /* Save a copy of current thread */ make_threads(group, TRUE); @@ -709,36 +741,14 @@ group_page( } break; - case MARK_THREAD_UNREAD: /* mark whole thread as unread */ - if (grpmenu.curr < 0) - info_message(_(txt_no_arts)); - else { - const char *ptr; - - /* - * We process all articles in case the threading changed since - * the range was created - */ - if (range_active) { - for_each_art(ii) { - if (arts[ii].inrange) { - arts[ii].inrange = FALSE; - art_mark(group, &arts[ii], ART_WILL_RETURN); - } - } - range_active = FALSE; - show_group_page(); - ptr = _(txt_thread_range); - } else { - thd_mark_unread(group, base[grpmenu.curr]); - ptr = _(txt_thread_upper); - } + case MARK_FEED_READ: /* mark selected articles as read */ + if (grpmenu.curr >= 0) + feed_articles(FEED_MARK_READ, GROUP_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); + break; - show_group_title(TRUE); - build_sline(grpmenu.curr); - draw_subject_arrow(); - info_message(_(txt_marked_as_unread), ptr); - } + case MARK_FEED_UNREAD: /* mark selected articles as unread */ + if (grpmenu.curr >= 0) + feed_articles(FEED_MARK_UNREAD, GROUP_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); break; case GROUP_SELECT_THREAD: /* mark thread as selected */ @@ -768,14 +778,14 @@ group_page( mark_screen(grpmenu.curr, MARK_OFFSET, mark); } - info_message(flag ? _(txt_thread_marked_as_selected) : _(txt_thread_marked_as_deselected)); show_group_title(TRUE); - if (grpmenu.curr + 1 < grpmenu.max) { + if (grpmenu.curr + 1 < grpmenu.max) move_down(); - break; - } - draw_subject_arrow(); + else + draw_subject_arrow(); + + info_message(flag ? _(txt_thread_marked_as_selected) : _(txt_thread_marked_as_deselected)); break; case GROUP_REVERSE_SELECTIONS: /* reverse selections */ @@ -793,7 +803,7 @@ group_page( break; case GROUP_SELECT_PATTERN: /* select matching patterns */ - { + if (grpmenu.curr >= 0) { char pat[128]; char *prompt; struct regex_cache cache = { NULL, NULL }; @@ -809,7 +819,7 @@ group_page( if (tinrc.wildcard) STRCPY(pat, ".*"); else - strncpy(pat, tinrc.default_select_pattern, sizeof(pat)); + STRCPY(pat, tinrc.default_select_pattern); } else snprintf(pat, sizeof(pat), REGEX_FMT, tinrc.default_select_pattern); @@ -834,8 +844,8 @@ group_page( FreeIfNeeded(cache.re); FreeIfNeeded(cache.extra); } - break; } + break; case GROUP_SELECT_THREAD_IF_UNREAD_SELECTED: /* select all unread arts in thread hot if 1 is hot */ for (n = 0; n < grpmenu.max; n++) { @@ -973,7 +983,7 @@ clear_note_area( /* - * If in show_only_unread mode or there are unread articles we know this + * If in show_only_unread_arts mode or there are unread articles we know this * thread will exist after toggle. Otherwise we find the next closest to * return to. 'force' can be set to force tin to show all messages */ @@ -983,14 +993,23 @@ toggle_read_unread( { int n, i = -1; + /* + * Clear art->keep_in_base if switching to !show_only_unread_arts + */ + if (curr_group->attribute->show_only_unread_arts) { + for_each_art(n) + arts[n].keep_in_base = FALSE; + } + + /* force currently is always false */ if (force) - curr_group->attribute->show_only_unread = TRUE; /* Yes - really, we change it in a bit */ + curr_group->attribute->show_only_unread_arts = TRUE; /* Yes - really, we change it in a bit */ wait_message(0, _(txt_reading_arts), - (curr_group->attribute->show_only_unread) ? _(txt_all) : _(txt_unread)); + (curr_group->attribute->show_only_unread_arts) ? _(txt_all) : _(txt_unread)); if (grpmenu.curr >= 0) { - if (curr_group->attribute->show_only_unread || new_responses(grpmenu.curr)) + if (curr_group->attribute->show_only_unread_arts || new_responses(grpmenu.curr)) i = base[grpmenu.curr]; else if ((n = prev_unread((int) base[grpmenu.curr])) >= 0) i = n; @@ -998,13 +1017,15 @@ toggle_read_unread( i = n; } - curr_group->attribute->show_only_unread = bool_not(curr_group->attribute->show_only_unread); + if (!force) + curr_group->attribute->show_only_unread_arts = bool_not(curr_group->attribute->show_only_unread_arts); find_base(curr_group); if (i >= 0 && (n = which_thread(i)) >= 0) grpmenu.curr = n; else if (grpmenu.max > 0) grpmenu.curr = grpmenu.max - 1; + clear_message(); } @@ -1013,24 +1034,16 @@ toggle_read_unread( * author it is impossible to know which, if any, articles will be left * afterwards. So we make a "best attempt" to find a new index point. */ -int +static int find_new_pos( - int old_top, long old_artnum, int cur_pos) { int i, pos; - if (top_art == old_top) - return cur_pos; + if ((i = find_artnum(old_artnum)) >= 0 && (pos = which_thread(i)) >= 0) + return pos; - for_each_art(i) { - if (arts[i].artnum == old_artnum) { - pos = which_thread(arts[i].artnum); - if (pos >= 0) - return pos; - } - } return ((cur_pos < grpmenu.max) ? cur_pos : (grpmenu.max - 1)); } @@ -1045,7 +1058,7 @@ pos_first_unread_thread( { int i; - if (tinrc.pos_first_unread) { + if (curr_group->attribute->pos_first_unread) { for (i = 0; i < grpmenu.max; i++) { if (new_responses(i)) break; @@ -1205,7 +1218,7 @@ build_sline( /* * n is number of articles in this thread */ - n = ((curr_group->attribute->show_only_unread) ? (sbuf.unread + sbuf.seen) : sbuf.total); + n = ((curr_group->attribute->show_only_unread_arts) ? (sbuf.unread + sbuf.seen) : sbuf.total); /* * if you like to see the number of responses excluding the first * art in thread - add the following: @@ -1255,7 +1268,7 @@ build_sline( if (sbuf.multipart_have > 1) /* We have a multipart msg so lets built our new header info. */ build_multipart_header(arts_sub, len_subj, arts[j].subject, sbuf.multipart_compare_len, sbuf.multipart_have, sbuf.multipart_total); else - strncpy(arts_sub, arts[j].subject, sizeof(arts_sub) - 1); + STRCPY(arts_sub, arts[j].subject); #ifndef USE_CURSES buffer = screen[INDEX2SNUM(i)].col; @@ -1281,7 +1294,7 @@ build_sline( tmp_from = wcspart(wc, len_from, TRUE); } -# if 0 /* use additional space if !draw_arrow - usefull? */ +# if 0 /* use additional space if !draw_arrow - useful? */ if (!tinrc.draw_arrow) { if (curr_group->attribute->show_info == SHOW_INFO_SCORE || curr_group->attribute->show_info == SHOW_INFO_BOTH) { mbstowcs(format, "%s %s %s%6d %-ls%s%-ls", ARRAY_SIZE(format) - 1); @@ -1330,7 +1343,7 @@ build_sline( #else arts_sub[len_subj - 12 + 1] = '\0'; -# if 0 /* use additional space if !draw_arrow - usefull? */ +# if 0 /* use additional space if !draw_arrow - useful? */ if (!tinrc.draw_arrow) { if (curr_group->attribute->show_info == SHOW_INFO_SCORE || curr_group->attribute->show_info == SHOW_INFO_BOTH) snprintf(buffer, cCOLS + 1, "%s %s %s%6d %-*.*s%s%-*.*s", @@ -1372,7 +1385,7 @@ build_sline( * protect display from non-displayable characters (e.g., form-feed) * and write line. */ - WriteLine(INDEX2LNUM(i), convert_to_printable(buffer)); + WriteLine(INDEX2LNUM(i), convert_to_printable(buffer, FALSE)); #ifdef USE_CURSES free(buffer); @@ -1386,24 +1399,24 @@ static void show_group_title( t_bool clear_title) { - char buf[LEN], tmp[LEN]; + char buf[LEN], tmp[LEN], flag; int i, art_cnt = 0, recent_art_cnt = 0, selected_art_cnt = 0, read_selected_art_cnt = 0, killed_art_cnt = 0; for_each_art(i) { if (arts[i].thread == ART_EXPIRED) continue; - if (curr_group->attribute->show_only_unread) { + if (curr_group->attribute->show_only_unread_arts) { if (arts[i].status != ART_READ) { art_cnt++; - if (tinrc.recent_time && ((time((time_t) 0) - arts[i].date) < (tinrc.recent_time * DAY))) + if (tinrc.recent_time && ((time((time_t *) 0) - arts[i].date) < (tinrc.recent_time * DAY))) recent_art_cnt++; } if (arts[i].killed == ART_KILLED_UNREAD) killed_art_cnt++; } else { art_cnt++; - if (tinrc.recent_time && ((time((time_t) 0) - arts[i].date) < (tinrc.recent_time * DAY))) + if (tinrc.recent_time && ((time((time_t *) 0) - arts[i].date) < (tinrc.recent_time * DAY))) recent_art_cnt++; if (arts[i].killed) @@ -1423,22 +1436,22 @@ show_group_title( /* group name and thread count */ snprintf(buf, sizeof(buf), "%s (%d%c", curr_group->name, grpmenu.max, - *txt_threading[curr_group->attribute->thread_arts]); + *txt_threading[curr_group->attribute->thread_articles]); /* article count */ - if (tinrc.getart_limit) + if (cmdline.args & CMDLINE_GETART_LIMIT ? cmdline.getart_limit : tinrc.getart_limit) snprintf(tmp, sizeof(tmp), " %d/%d%c", - tinrc.getart_limit, art_cnt, - (curr_group->attribute->show_only_unread ? tinrc.art_marked_unread : tinrc.art_marked_read)); + cmdline.args & CMDLINE_GETART_LIMIT ? cmdline.getart_limit : tinrc.getart_limit, art_cnt, + (curr_group->attribute->show_only_unread_arts ? tinrc.art_marked_unread : tinrc.art_marked_read)); else snprintf(tmp, sizeof(tmp), " %d%c", art_cnt, - (curr_group->attribute->show_only_unread ? tinrc.art_marked_unread : tinrc.art_marked_read)); + (curr_group->attribute->show_only_unread_arts ? tinrc.art_marked_unread : tinrc.art_marked_read)); if (sizeof(buf) > strlen(buf) + strlen(tmp)) strcat(buf, tmp); /* selected articles */ - if (curr_group->attribute->show_only_unread) + if (curr_group->attribute->show_only_unread_arts) snprintf(tmp, sizeof(tmp), " %d%c", selected_art_cnt, tinrc.art_marked_selected); else @@ -1464,8 +1477,10 @@ show_group_title( strcat(buf, tmp); /* group flag */ - snprintf(tmp, sizeof(tmp), ") %c", - group_flag(curr_group->moderated)); + if ((flag = group_flag(curr_group->moderated)) == ' ') + snprintf(tmp, sizeof(tmp), ")"); + else + snprintf(tmp, sizeof(tmp), ") %c", flag); if (sizeof(buf) > strlen(buf) + strlen(tmp)) strcat(buf, tmp); @@ -1567,14 +1582,19 @@ enter_thread( case GRP_NEXTUNREAD: /* 'C'atchup */ if ((n = next_unread((int) base[grpmenu.curr])) >= 0) { + if (page) + page->art = n; if ((n = which_thread(n)) >= 0) { grpmenu.curr = n; depth = 0; break; /* Drop into next thread with unread */ } } - /* No more unread threads in this group */ - /* FALLTHROUGH */ + /* No more unread threads in this group, enter next group */ + grpmenu.curr = 0; + return GRP_NEXTUNREAD; + /* NOTREACHED */ + break; case GRP_KILLED: grpmenu.curr = 0; @@ -1668,116 +1688,64 @@ group_catchup( } -static int +static t_bool prompt_getart_limit( void) { char *p; - int num = 0; + t_bool ret = FALSE; clear_message(); - if ((p = tin_getline(_(txt_enter_getart_limit), 2, 0, 0, FALSE, HIST_OTHER)) != NULL) - num = atoi(p); - + if ((p = tin_getline(_(txt_enter_getart_limit), 2, 0, 0, FALSE, HIST_OTHER)) != NULL) { + tinrc.getart_limit = atoi(p); + ret = TRUE; + } clear_message(); - return num; + return ret; } /* - * If there's an active range, use that one. - * If there are any tagged and unread articles, prompt user to mark either - * all tagged arts/threads as read, or only current thread, or cancel operation. - * Otherwise, use current thread. - * Finally move to next unread thread. + * Redraw all necessary parts of the screen after FEED_MARK_(UN)READ + * Move cursor to next unread item if needed + * + * Returns TRUE when no next unread art, FALSE otherwise */ -static void -mark_thd_read( - struct t_group *group, - t_bool range_active) -{ - char keytagged[MAXKEYLEN], keycurrent[MAXKEYLEN], keyquit[MAXKEYLEN]; - t_function func = MARK_READ_CURRENT; - int n, cnt = 0; - int tmp_num_of_tagged_arts = num_of_tagged_arts; +t_bool +group_mark_postprocess( + int function, + t_function feed_type, + int respnum) +{ + int n; - if (grpmenu.curr < 0) { - info_message(_(txt_no_next_unread_art)); - return; - } + show_group_title(TRUE); + switch (function) { + case (FEED_MARK_READ): + if (feed_type == FEED_THREAD || feed_type == FEED_ARTICLE) + build_sline(grpmenu.curr); + else + show_group_page(); - /* Don't prompt if there's an active range or if prompting is turned off */ - if (!range_active && !tinrc.mark_ignore_tags && got_tagged_unread_arts()) { - func = prompt_slk_response(MARK_READ_TAGGED, mark_read_keys, - _(txt_mark_thread_read_tagged_current), - printascii(keytagged, func_to_key(MARK_READ_TAGGED, mark_read_keys)), - printascii(keycurrent, func_to_key(MARK_READ_CURRENT, mark_read_keys)), - printascii(keyquit, func_to_key(GLOBAL_QUIT, mark_read_keys))); - } + if ((n = next_unread(next_response(respnum))) == -1) { + draw_subject_arrow(); + return TRUE; + } - switch (func) { - case MARK_READ_TAGGED: /* mark tagged unread articles/threads as read */ - cnt = mark_tagged_read(group); + move_to_item(which_thread(n)); break; - case MARK_READ_CURRENT: /* mark current thread/range as read */ - /* - * If a range is active, use it. - */ - if (range_active) { - /* - * We check all arts, in case the user did something clever like - * change the threading mode on us since the range was created - */ - for_each_art(n) { - if (arts[n].inrange) { - arts[n].inrange = FALSE; /* Clear the range */ - art_mark(group, &arts[n], ART_READ); - } - } - } + case (FEED_MARK_UNREAD): + if (feed_type == FEED_THREAD || feed_type == FEED_ARTICLE) + build_sline(grpmenu.curr); else - thd_mark_read(group, base[grpmenu.curr]); + show_group_page(); + + draw_subject_arrow(); break; - case GLOBAL_QUIT: /* cancel operation */ - case GLOBAL_ABORT: default: - return; - /* NOTREACHED */ break; } - - /* - * update the header - */ - show_group_title(TRUE); - - /* - * Refresh current line or, if necessary, whole group page - */ - if (range_active || func == MARK_READ_TAGGED) - show_group_page(); - else - build_sline(grpmenu.curr); - - /* - * Move cursor to next unread - */ - if ((n = next_unread(next_response((int) base[grpmenu.curr]))) < 0) { - draw_subject_arrow(); - info_message(_(txt_no_next_unread_art)); - return; - } - - if ((n = which_thread(n)) < 0) { - /* TODO: -> lang.c */ - error_message("Internal error: which_thread(%d) < 0", n); - return; - } - - move_to_item(n); - - if (func == MARK_READ_TAGGED) - info_message(_(txt_marked_tagged_arts_as_read), cnt, tmp_num_of_tagged_arts, PLURAL(tmp_num_of_tagged_arts, txt_article)); + return FALSE; } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/hashstr.c tin-2.0.0/src/hashstr.c --- tin-1.8.3/src/hashstr.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/hashstr.c 2011-04-17 16:04:30.627099585 +0200 @@ -6,7 +6,7 @@ * Updated : 2003-09-19 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * diff -Nurp --exclude='.bzr*' tin-1.8.3/src/header.c tin-2.0.0/src/header.c --- tin-1.8.3/src/header.c 2006-01-19 23:41:13.000000000 +0100 +++ tin-2.0.0/src/header.c 2011-04-17 16:04:30.651103239 +0200 @@ -3,9 +3,9 @@ * Module : header.c * Author : Urs Janssen * Created : 1997-03-10 - * Updated : 2006-01-10 + * Updated : 2008-11-22 * - * Copyright (c) 1997-2006 Urs Janssen + * Copyright (c) 1997-2011 Urs Janssen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -59,7 +59,7 @@ get_host_name( #endif /* HAVE_GETHOSTNAME */ #ifdef HAVE_SYS_UTSNAME_H if (!*hostname) - strncpy(hostname, system_info.nodename, sizeof(hostname) - 1); + my_strncpy(hostname, system_info.nodename, sizeof(hostname) - 1); #endif /* HAVE_SYS_UTSNAME_H */ if (!*hostname) { if ((ptr = getenv("HOST")) != NULL) @@ -80,8 +80,6 @@ get_host_name( /* * find domainname - check DOMAIN_NAME * TODO: check /etc/defaultdomain as a last resort? - * there is M_UNIX specific code in here, but no VMS - * alternative */ const char * get_domain_name( @@ -135,7 +133,7 @@ get_fqdn( char name[MAXHOSTNAMELEN + 1]; static char fqdn[1024]; struct hostent *hp; - struct in_addr in; + struct in_addr in = {0}; *fqdn = '\0'; domain = NULL; @@ -144,7 +142,7 @@ get_fqdn( if (host) { if (strchr(host, '.')) return host; - strncpy(name, host, sizeof(name) - 1); + my_strncpy(name, host, sizeof(name) - 1); } else { # ifdef HAVE_GETHOSTNAME if (gethostname(name, sizeof(name) - 1)) @@ -231,32 +229,18 @@ get_user_name( { static char username[128]; struct passwd *pw; -#ifdef VMS - char *p; -#endif /* VMS */ username[0] = '\0'; -#ifndef VMS if ((pw = getpwuid(getuid())) != NULL) strcpy(username, pw->pw_name); - else -#else - if (((p = getlogin()) != NULL) && strlen(p)) { - if ((pw = getpwnam(p)) != NULL) - strcpy(username, pw->pw_name); - } -#endif /* !VMS */ - - if (!*username) { - error_message(_(txt_error_passwd_missing)); - tin_done(EXIT_FAILURE); + else { + if (!*username) { + error_message(2, _(txt_error_passwd_missing)); + tin_done(EXIT_FAILURE); + } } -# ifdef VMS - lower(username); -# endif /* VMS */ - return username; } @@ -267,11 +251,11 @@ get_full_name( { char *p; static char fullname[128]; -# if !defined(VMS) && !defined(DONT_HAVE_PW_GECOS) +# ifndef DONT_HAVE_PW_GECOS char buf[128]; char tmp[128]; struct passwd *pw; -# endif /* !VMS && !DONT_HAVE_PW_GECOS */ +# endif /* !DONT_HAVE_PW_GECOS */ fullname[0] = '\0'; @@ -284,10 +268,7 @@ get_full_name( return fullname; } -# ifdef VMS - STRCPY(fullname, fix_fullname(get_uaf_fullname())); -# else -# ifndef DONT_HAVE_PW_GECOS +# ifndef DONT_HAVE_PW_GECOS if ((pw = getpwuid(getuid())) != NULL) { STRCPY(buf, pw->pw_gecos); if ((p = strchr(buf, ','))) @@ -301,8 +282,7 @@ get_full_name( } else STRCPY(fullname, buf); } -# endif /* !DONT_HAVE_PW_GECOS */ -# endif /* VMS */ +# endif /* !DONT_HAVE_PW_GECOS */ return fullname; } @@ -319,14 +299,7 @@ get_from_name( char *from_name, struct t_group *thisgrp) { -# ifdef USE_INN_NNTPLIB - char *fromhost = GetConfigValue(_CONF_FROMHOST); -# else - char *fromhost = NULL; -# endif /* USE_INN_NNTPLIB */ - - if (!(fromhost && *fromhost)) - fromhost = domain_name; + char *fromhost = domain_name; if (thisgrp && *thisgrp->attribute->from != '\0') { strcpy(from_name, thisgrp->attribute->from); @@ -336,8 +309,8 @@ get_from_name( sprintf(from_name, ((strpbrk(get_full_name(), "!()<>@,;:\\\".[]")) ? "\"%s\" <%s@%s>" : "%s <%s@%s>"), get_full_name(), get_user_name(), fromhost); # ifdef DEBUG - if (debug == 2) - error_message("FROM=[%s] USER=[%s] HOST=[%s] NAME=[%s]", from_name, get_user_name(), domain_name, get_full_name()); + if (debug & DEBUG_MISC) + error_message(2, "FROM=[%s] USER=[%s] HOST=[%s] NAME=[%s]", from_name, get_user_name(), domain_name, get_full_name()); # endif /* DEBUG */ } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/help.c tin-2.0.0/src/help.c --- tin-1.8.3/src/help.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/help.c 2011-04-17 16:04:30.679107500 +0200 @@ -3,10 +3,10 @@ * Module : help.c * Author : I. Lea * Created : 1991-04-01 - * Updated : 2005-07-02 + * Updated : 2011-01-25 * Notes : * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -56,6 +56,154 @@ static void make_help_page(FILE *fp, con static constext txt_help_empty_line[] = ""; +static t_help_page attachment_help_page[] = { + { txt_help_title_navi, NOT_ASSIGNED }, + { txt_help_global_page_down, GLOBAL_PAGE_DOWN }, + { txt_help_global_page_up, GLOBAL_PAGE_UP }, + { txt_help_global_line_down, GLOBAL_LINE_DOWN }, + { txt_help_global_line_up, GLOBAL_LINE_UP }, + { txt_help_global_scroll_down, GLOBAL_SCROLL_DOWN }, + { txt_help_global_scroll_up, GLOBAL_SCROLL_UP }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_attachment_first, GLOBAL_FIRST_PAGE }, + { txt_help_attachment_last, GLOBAL_LAST_PAGE }, + { txt_help_attachment_goto, NOT_ASSIGNED }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_disp, NOT_ASSIGNED }, + { txt_help_attachment_toggle_info_line, GLOBAL_TOGGLE_INFO_LAST_LINE }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_attachment_ops, NOT_ASSIGNED }, + { txt_help_attachment_select, ATTACHMENT_SELECT }, +#ifndef DONT_HAVE_PIPING + { txt_help_attachment_pipe, ATTACHMENT_PIPE }, + { txt_help_attachment_pipe_raw, GLOBAL_PIPE }, +#endif /* !DONT_HAVE_PIPING */ + { txt_help_attachment_save, ATTACHMENT_SAVE }, + { txt_help_attachment_tag, ATTACHMENT_TAG }, + { txt_help_attachment_tag_pattern, ATTACHMENT_TAG_PATTERN }, + { txt_help_attachment_toggle_tagged, ATTACHMENT_TOGGLE_TAGGED }, + { txt_help_attachment_untag, ATTACHMENT_UNTAG }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_attachment_search_forwards, GLOBAL_SEARCH_SUBJECT_FORWARD }, + { txt_help_attachment_search_backwards, GLOBAL_SEARCH_SUBJECT_BACKWARD }, + { txt_help_global_search_repeat, GLOBAL_SEARCH_REPEAT }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_misc, NOT_ASSIGNED }, + { txt_help_select_quit, GLOBAL_QUIT }, + { txt_help_global_help, GLOBAL_HELP }, + { txt_help_global_toggle_mini_help, GLOBAL_TOGGLE_HELP_DISPLAY }, + { txt_help_global_redraw_screen, GLOBAL_REDRAW_SCREEN }, +#ifndef NO_SHELL_ESCAPE + { txt_help_global_shell_escape, GLOBAL_SHELL_ESCAPE }, +#endif /* !NO_SHELL_ESCAPE */ + { NULL, NOT_ASSIGNED } +}; + +static t_help_page attrib_help_page[] = { + { txt_help_title_navi, NOT_ASSIGNED }, + { txt_help_global_page_down, GLOBAL_PAGE_DOWN }, + { txt_help_global_page_up, GLOBAL_PAGE_UP }, + { txt_help_global_line_down, GLOBAL_LINE_DOWN }, + { txt_help_global_line_up, GLOBAL_LINE_UP }, + { txt_help_global_scroll_down, GLOBAL_SCROLL_DOWN }, + { txt_help_global_scroll_up, GLOBAL_SCROLL_UP }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_attrib_first_opt, GLOBAL_FIRST_PAGE }, + { txt_help_attrib_last_opt, GLOBAL_LAST_PAGE }, + { txt_help_attrib_goto_opt, NOT_ASSIGNED }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_attrib_search_opt_forwards, GLOBAL_SEARCH_SUBJECT_FORWARD }, + { txt_help_attrib_search_opt_backwards, GLOBAL_SEARCH_SUBJECT_BACKWARD }, + { txt_help_select_search_group_comment, NOT_ASSIGNED }, + { txt_help_global_search_repeat, GLOBAL_SEARCH_REPEAT }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_attrib_ops, NOT_ASSIGNED }, + { txt_help_attrib_reset_attrib, CONFIG_RESET_ATTRIB }, + { txt_help_attrib_select, CONFIG_SELECT }, + { txt_help_attrib_toggle_attrib, CONFIG_TOGGLE_ATTRIB }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_misc, NOT_ASSIGNED }, + { txt_help_select_quit, GLOBAL_QUIT }, + { txt_help_select_quit_no_write, CONFIG_NO_SAVE }, + { txt_help_global_help, GLOBAL_HELP }, + { txt_help_global_redraw_screen, GLOBAL_REDRAW_SCREEN }, +#ifndef NO_SHELL_ESCAPE + { txt_help_global_shell_escape, GLOBAL_SHELL_ESCAPE }, +#endif /* !NO_SHELL_ESCAPE */ + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_global_version, GLOBAL_VERSION }, + { NULL, NOT_ASSIGNED } +}; + +static t_help_page config_help_page[] = { + { txt_help_title_navi, NOT_ASSIGNED }, + { txt_help_global_page_down, GLOBAL_PAGE_DOWN }, + { txt_help_global_page_up, GLOBAL_PAGE_UP }, + { txt_help_global_line_down, GLOBAL_LINE_DOWN }, + { txt_help_global_line_up, GLOBAL_LINE_UP }, + { txt_help_global_scroll_down, GLOBAL_SCROLL_DOWN }, + { txt_help_global_scroll_up, GLOBAL_SCROLL_UP }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_config_first_opt, GLOBAL_FIRST_PAGE }, + { txt_help_config_last_opt, GLOBAL_LAST_PAGE }, + { txt_help_config_goto_opt, NOT_ASSIGNED }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_config_search_opt_forwards, GLOBAL_SEARCH_SUBJECT_FORWARD }, + { txt_help_config_search_opt_backwards, GLOBAL_SEARCH_SUBJECT_BACKWARD }, + { txt_help_select_search_group_comment, NOT_ASSIGNED }, + { txt_help_global_search_repeat, GLOBAL_SEARCH_REPEAT }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_config_ops, NOT_ASSIGNED }, + { txt_help_config_select, CONFIG_SELECT }, + { txt_help_config_toggle_attrib, CONFIG_TOGGLE_ATTRIB }, + { txt_help_config_scope_menu, CONFIG_SCOPE_MENU }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_misc, NOT_ASSIGNED }, + { txt_help_select_quit, GLOBAL_QUIT }, + { txt_help_select_quit_no_write, CONFIG_NO_SAVE }, + { txt_help_global_help, GLOBAL_HELP }, + { txt_help_global_redraw_screen, GLOBAL_REDRAW_SCREEN }, +#ifndef NO_SHELL_ESCAPE + { txt_help_global_shell_escape, GLOBAL_SHELL_ESCAPE }, +#endif /* !NO_SHELL_ESCAPE */ + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_global_version, GLOBAL_VERSION }, + { NULL, NOT_ASSIGNED } +}; + +static t_help_page scope_help_page[] = { + { txt_help_title_navi, NOT_ASSIGNED }, + { txt_help_global_page_down, GLOBAL_PAGE_DOWN }, + { txt_help_global_page_up, GLOBAL_PAGE_UP }, + { txt_help_global_line_down, GLOBAL_LINE_DOWN }, + { txt_help_global_line_up, GLOBAL_LINE_UP }, + { txt_help_global_scroll_down, GLOBAL_SCROLL_DOWN }, + { txt_help_global_scroll_up, GLOBAL_SCROLL_UP }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_scope_first_scope, GLOBAL_FIRST_PAGE }, + { txt_help_scope_last_scope, GLOBAL_LAST_PAGE }, + { txt_help_scope_goto_scope, NOT_ASSIGNED }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_scope_ops, NOT_ASSIGNED }, + { txt_help_scope_add, SCOPE_ADD }, + { txt_help_scope_move, SCOPE_MOVE }, + { txt_help_scope_rename, SCOPE_RENAME }, + { txt_help_scope_del, SCOPE_DELETE }, + { txt_help_scope_select, SCOPE_SELECT }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_scope_edit_attrib_file, SCOPE_EDIT_ATTRIBUTES_FILE }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_misc, NOT_ASSIGNED }, + { txt_help_select_quit, GLOBAL_QUIT }, + { txt_help_global_help, GLOBAL_HELP }, + { txt_help_global_toggle_mini_help, GLOBAL_TOGGLE_HELP_DISPLAY }, + { txt_help_global_redraw_screen, GLOBAL_REDRAW_SCREEN }, +#ifndef NO_SHELL_ESCAPE + { txt_help_global_shell_escape, GLOBAL_SHELL_ESCAPE }, +#endif /* !NO_SHELL_ESCAPE */ + { NULL, NOT_ASSIGNED } +}; + static t_help_page select_help_page[] = { { txt_help_title_navi, NOT_ASSIGNED }, { txt_help_global_page_down, GLOBAL_PAGE_DOWN }, @@ -180,6 +328,7 @@ static t_help_page group_help_page[] = { { txt_help_global_post, GLOBAL_POST }, { txt_help_global_post_postponed, GLOBAL_POSTPONED }, { txt_help_article_repost, GROUP_REPOST }, + { txt_help_article_cancel, GROUP_CANCEL }, #endif /* NO_POSTING */ { txt_help_empty_line, NOT_ASSIGNED }, { txt_help_global_article_range, GLOBAL_SET_RANGE }, @@ -203,6 +352,8 @@ static t_help_page group_help_page[] = { { txt_help_group_catchup_next, CATCHUP_NEXT_UNREAD }, { txt_help_group_mark_article_unread, MARK_ARTICLE_UNREAD }, { txt_help_group_mark_thread_unread, MARK_THREAD_UNREAD }, + { txt_help_mark_feed_read, MARK_FEED_READ }, + { txt_help_mark_feed_unread, MARK_FEED_UNREAD }, { txt_help_empty_line, NOT_ASSIGNED }, { txt_help_group_select_all, GROUP_DO_AUTOSELECT }, { txt_help_group_select_thread, GROUP_SELECT_THREAD }, @@ -273,6 +424,7 @@ static t_help_page thread_help_page[] = #ifndef NO_POSTING { txt_help_global_post, GLOBAL_POST }, { txt_help_global_post_postponed, GLOBAL_POSTPONED }, + { txt_help_article_cancel, THREAD_CANCEL }, #endif /* NO_POSTING */ { txt_help_empty_line, NOT_ASSIGNED }, { txt_help_global_article_range, GLOBAL_SET_RANGE }, @@ -293,8 +445,10 @@ static t_help_page thread_help_page[] = { txt_help_thread_mark_article_read, THREAD_MARK_ARTICLE_READ }, { txt_help_thread_catchup, CATCHUP }, { txt_help_thread_catchup_next_unread, CATCHUP_NEXT_UNREAD }, - { txt_help_group_mark_article_unread, MARK_ARTICLE_UNREAD }, - { txt_help_group_mark_thread_unread, MARK_THREAD_UNREAD }, + { txt_help_thread_mark_article_unread, MARK_ARTICLE_UNREAD }, + { txt_help_thread_mark_thread_unread, MARK_THREAD_UNREAD }, + { txt_help_mark_feed_read, MARK_FEED_READ }, + { txt_help_mark_feed_unread, MARK_FEED_UNREAD }, { txt_help_empty_line, NOT_ASSIGNED }, { txt_help_group_select_thread, THREAD_SELECT_ARTICLE }, { txt_help_group_toggle_thread_selection, THREAD_TOGGLE_ARTICLE_SELECTION }, @@ -326,7 +480,6 @@ static t_help_page thread_help_page[] = static t_help_page page_help_page[] = { { txt_help_title_navi, NOT_ASSIGNED }, { txt_help_global_page_down, GLOBAL_PAGE_DOWN }, - { txt_help_global_page_down, PAGE_PAGE_DOWN3 }, { txt_help_global_page_up, GLOBAL_PAGE_UP }, { txt_help_global_line_down, GLOBAL_LINE_DOWN }, { txt_help_global_line_up, GLOBAL_LINE_UP }, @@ -361,7 +514,8 @@ static t_help_page page_help_page[] = { { txt_help_global_toggle_info_line, GLOBAL_TOGGLE_INFO_LAST_LINE }, { txt_help_article_toggle_rot13, PAGE_TOGGLE_ROT13 }, { txt_help_global_toggle_inverse_video, GLOBAL_TOGGLE_INVERSE_VIDEO }, - { txt_help_article_show_raw, PAGE_TOGGLE_HEADERS }, + { txt_help_article_show_raw, PAGE_TOGGLE_RAW }, + { txt_help_article_toggle_headers, PAGE_TOGGLE_HEADERS }, #ifdef HAVE_COLOR { txt_help_global_toggle_color, GLOBAL_TOGGLE_COLOR }, #endif /* HAVE_COLOR */ @@ -403,7 +557,7 @@ static t_help_page page_help_page[] = { { txt_help_thread_catchup, CATCHUP }, { txt_help_thread_catchup_next_unread, CATCHUP_NEXT_UNREAD }, { txt_help_group_mark_article_unread, MARK_ARTICLE_UNREAD }, - { txt_help_group_mark_thread_unread, MARK_THREAD_UNREAD }, + { txt_help_thread_mark_thread_unread, MARK_THREAD_UNREAD }, { txt_help_empty_line, NOT_ASSIGNED }, { txt_help_article_autoselect, GLOBAL_MENU_FILTER_SELECT }, { txt_help_article_autokill, GLOBAL_MENU_FILTER_KILL }, @@ -433,6 +587,41 @@ static t_help_page page_help_page[] = { { NULL, NOT_ASSIGNED } }; +static t_help_page url_help_page[] = { + { txt_help_title_navi, NOT_ASSIGNED }, + { txt_help_global_page_down, GLOBAL_PAGE_DOWN }, + { txt_help_global_page_up, GLOBAL_PAGE_UP }, + { txt_help_global_line_down, GLOBAL_LINE_DOWN }, + { txt_help_global_line_up, GLOBAL_LINE_UP }, + { txt_help_global_scroll_down, GLOBAL_SCROLL_DOWN }, + { txt_help_global_scroll_up, GLOBAL_SCROLL_UP }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_url_first_url, GLOBAL_FIRST_PAGE }, + { txt_help_url_last_url, GLOBAL_LAST_PAGE }, + { txt_help_url_goto_url, NOT_ASSIGNED }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_url_ops, NOT_ASSIGNED }, + { txt_help_url_select, URL_SELECT }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_url_search_forwards, GLOBAL_SEARCH_SUBJECT_FORWARD }, + { txt_help_url_search_backwards, GLOBAL_SEARCH_SUBJECT_BACKWARD }, + { txt_help_global_search_repeat, GLOBAL_SEARCH_REPEAT }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_disp, NOT_ASSIGNED }, + { txt_help_url_toggle_info_line, GLOBAL_TOGGLE_INFO_LAST_LINE }, + { txt_help_empty_line, NOT_ASSIGNED }, + { txt_help_title_misc, NOT_ASSIGNED }, + { txt_help_select_quit, GLOBAL_QUIT }, + { txt_help_global_help, GLOBAL_HELP }, + { txt_help_global_toggle_mini_help, GLOBAL_TOGGLE_HELP_DISPLAY }, + { txt_help_global_esc, GLOBAL_ABORT }, + { txt_help_global_redraw_screen, GLOBAL_REDRAW_SCREEN }, +#ifndef NO_SHELL_ESCAPE + { txt_help_global_shell_escape, GLOBAL_SHELL_ESCAPE }, +#endif /* !NO_SHELL_ESCAPE */ + { NULL, NOT_ASSIGNED } +}; + static void make_help_page( @@ -447,7 +636,7 @@ make_help_page( * length is only needed to pass it to expand_ctrl_chars() * we have no need for the value */ - int length; + size_t length; size_t i; if (!helppage) @@ -458,18 +647,18 @@ make_help_page( while (helppage->helptext) { if (helppage->func == NOT_ASSIGNED) { /* - * as expand_ctrl_chars() may has shrinked buf + * as expand_ctrl_chars() may has shrunk buf * make sure buf is large enough to contain the helpline */ buf = my_realloc(buf, LEN); if (!strlen(helppage->helptext)) /* avoid translation of empty strings */ - snprintf(buf, LEN, "\n"); + strcpy(buf, "\n"); else - snprintf(buf, LEN, "%s", _(helppage->helptext)); + strncpy(buf, _(helppage->helptext), LEN); buf[LEN - 1] = '\0'; expand_ctrl_chars(&buf, &length, 8); - fprintf(fp, "%s", buf); + fprintf(fp, "%s\n", buf); } else { for (i = 0; i < keys.used; i++) { if (keys.list[i].function == helppage->func && keys.list[i].key) { @@ -478,7 +667,7 @@ make_help_page( buf[LEN - 1] = '\0'; expand_ctrl_chars(&buf, &length, 8); if (strcmp(last, buf)) { - fprintf(fp, "%s", buf); + fprintf(fp, "%s\n", buf); strncpy(last, buf, LEN); } } @@ -503,6 +692,22 @@ show_help_page( return; switch (level) { + case ATTACHMENT_LEVEL: + make_help_page(fp, attachment_help_page, attachment_keys); + break; + + case ATTRIB_LEVEL: + make_help_page(fp, attrib_help_page, option_menu_keys); + break; + + case CONFIG_LEVEL: + make_help_page(fp, config_help_page, option_menu_keys); + break; + + case SCOPE_LEVEL: + make_help_page(fp, scope_help_page, scope_keys); + break; + case SELECT_LEVEL: make_help_page(fp, select_help_page, select_keys); break; @@ -519,15 +724,20 @@ show_help_page( make_help_page(fp, page_help_page, page_keys); break; + case URL_LEVEL: + make_help_page(fp, url_help_page, url_keys); + break; + case INFO_PAGER: default: /* should not happen */ - error_message(_(txt_error_unknown_dlevel)); + error_message(2, _(txt_error_unknown_dlevel)); fclose(fp); return; } info_pager(fp, title, TRUE); fclose(fp); + info_pager(NULL, NULL, TRUE); /* free mem */ return; } @@ -545,13 +755,61 @@ show_mini_help( return; line = NOTESLINES + MINI_HELP_LINES - 2; - bufs = (size_t) MIN((unsigned) cCOLS, (sizeof(buf) - 1)); + bufs = sizeof(buf) - 1; #ifdef HAVE_COLOR fcol(tinrc.col_minihelp); #endif /* HAVE_COLOR */ switch (level) { + case ATTACHMENT_LEVEL: + snprintf(buf, bufs, _(txt_mini_attachment_1), + printascii(key[0], func_to_key(GLOBAL_LINE_DOWN, attachment_keys)), + printascii(key[1], func_to_key(GLOBAL_LINE_UP, attachment_keys)), + printascii(key[2], func_to_key(GLOBAL_HELP, attachment_keys)), + printascii(key[3], func_to_key(GLOBAL_QUIT, attachment_keys))); + center_line(line, FALSE, buf); +#ifndef DONT_HAVE_PIPING + snprintf(buf, bufs, _(txt_mini_attachment_2), + printascii(key[0], func_to_key(ATTACHMENT_SELECT, attachment_keys)), + printascii(key[5], func_to_key(ATTACHMENT_PIPE, attachment_keys)), + printascii(key[6], func_to_key(GLOBAL_PIPE, attachment_keys)), + printascii(key[1], func_to_key(ATTACHMENT_SAVE, attachment_keys)), + printascii(key[2], func_to_key(ATTACHMENT_TAG, attachment_keys)), + printascii(key[3], func_to_key(ATTACHMENT_TAG_PATTERN, attachment_keys)), + printascii(key[4], func_to_key(ATTACHMENT_UNTAG, attachment_keys))); +#else + snprintf(buf, bufs, _(txt_mini_attachment_2), + printascii(key[0], func_to_key(ATTACHMENT_SELECT, attachment_keys)), + printascii(key[1], func_to_key(ATTACHMENT_SAVE, attachment_keys)), + printascii(key[2], func_to_key(ATTACHMENT_TAG, attachment_keys)), + printascii(key[3], func_to_key(ATTACHMENT_TAG_PATTERN, attachment_keys)), + printascii(key[4], func_to_key(ATTACHMENT_UNTAG, attachment_keys))); +#endif /* !DONT_HAVE_PIPING */ + center_line(line + 1, FALSE, buf); + snprintf(buf, bufs, _(txt_mini_attachment_3), + printascii(key[1], func_to_key(ATTACHMENT_TOGGLE_TAGGED, attachment_keys)), + printascii(key[2], func_to_key(GLOBAL_SEARCH_SUBJECT_FORWARD, attachment_keys)), + printascii(key[3], func_to_key(GLOBAL_SEARCH_SUBJECT_BACKWARD, attachment_keys)), + printascii(key[4], func_to_key(GLOBAL_SEARCH_REPEAT, attachment_keys))); + center_line(line + 2, FALSE, buf); + break; + + case SCOPE_LEVEL: + snprintf(buf, bufs, _(txt_mini_scope_1), + printascii(key[0], func_to_key(SCOPE_ADD, scope_keys)), + printascii(key[1], func_to_key(SCOPE_MOVE, scope_keys)), + printascii(key[2], func_to_key(SCOPE_RENAME, scope_keys)), + printascii(key[3], func_to_key(SCOPE_DELETE, scope_keys))); + center_line(line, FALSE, buf); + snprintf(buf, bufs, _(txt_mini_scope_2), + printascii(key[0], func_to_key(GLOBAL_LINE_DOWN, scope_keys)), + printascii(key[1], func_to_key(GLOBAL_LINE_UP, scope_keys)), + printascii(key[2], func_to_key(GLOBAL_HELP, scope_keys)), + printascii(key[3], func_to_key(GLOBAL_QUIT, scope_keys))); + center_line(line + 1, FALSE, buf); + break; + case SELECT_LEVEL: snprintf(buf, bufs, _(txt_mini_select_1), printascii(key[0], func_to_key(SELECT_ENTER_NEXT_UNREAD_GROUP, select_keys)), @@ -590,19 +848,48 @@ show_mini_help( printascii(key[4], func_to_key(GROUP_MARK_THREAD_READ, group_keys)), printascii(key[5], func_to_key(GROUP_LIST_THREAD, group_keys))); center_line(line + 1, FALSE, buf); + +#if defined(DONT_HAVE_PIPING) && defined(DISABLE_PRINTING) + snprintf(buf, bufs, _(txt_mini_group_3), + printascii(key[3], func_to_key(GLOBAL_QUIT, group_keys)), + printascii(key[4], func_to_key(GROUP_TOGGLE_READ_UNREAD, group_keys)), + printascii(key[5], func_to_key(GROUP_SAVE, group_keys)), + printascii(key[6], func_to_key(GROUP_TAG, group_keys)), + printascii(key[7], func_to_key(GLOBAL_POST, group_keys))); +#else +# ifdef DONT_HAVE_PIPING + snprintf(buf, bufs, _(txt_mini_group_3), + printascii(key[1], func_to_key(GROUP_MAIL, group_keys)), + printascii(key[2], func_to_key(GLOBAL_PRINT, group_keys)), + printascii(key[3], func_to_key(GLOBAL_QUIT, group_keys)), + printascii(key[4], func_to_key(GROUP_TOGGLE_READ_UNREAD, group_keys)), + printascii(key[5], func_to_key(GROUP_SAVE, group_keys)), + printascii(key[6], func_to_key(GROUP_TAG, group_keys)), + printascii(key[7], func_to_key(GLOBAL_POST, group_keys))); +# else +# ifdef DISABLE_PRINTING + snprintf(buf, bufs, _(txt_mini_group_3), + printascii(key[0], func_to_key(GLOBAL_PIPE, group_keys)), + printascii(key[1], func_to_key(GROUP_MAIL, group_keys)), + printascii(key[3], func_to_key(GLOBAL_QUIT, group_keys)), + printascii(key[4], func_to_key(GROUP_TOGGLE_READ_UNREAD, group_keys)), + printascii(key[5], func_to_key(GROUP_SAVE, group_keys)), + printascii(key[6], func_to_key(GROUP_TAG, group_keys)), + printascii(key[7], func_to_key(GLOBAL_POST, group_keys))); +# else snprintf(buf, bufs, _(txt_mini_group_3), -#ifndef DONT_HAVE_PIPING printascii(key[0], func_to_key(GLOBAL_PIPE, group_keys)), -#endif /* !DONT_HAVE_PIPING */ printascii(key[1], func_to_key(GROUP_MAIL, group_keys)), -#ifndef DISABLE_PRINTING printascii(key[2], func_to_key(GLOBAL_PRINT, group_keys)), -#endif /* !DISABLE_PRINTING */ printascii(key[3], func_to_key(GLOBAL_QUIT, group_keys)), printascii(key[4], func_to_key(GROUP_TOGGLE_READ_UNREAD, group_keys)), printascii(key[5], func_to_key(GROUP_SAVE, group_keys)), printascii(key[6], func_to_key(GROUP_TAG, group_keys)), printascii(key[7], func_to_key(GLOBAL_POST, group_keys))); +# endif /* DISABLE_PRINTING */ +# endif /* DONT_HAVE_PIPING */ +#endif /* DONT_HAVE_PIPING && DISABLE_PRINTING */ + center_line(line + 2, FALSE, buf); break; @@ -635,22 +922,66 @@ show_mini_help( printascii(key[3], func_to_key(PAGE_FOLLOWUP_QUOTE, page_keys)), printascii(key[4], func_to_key(PAGE_MARK_THREAD_READ, page_keys))); center_line(line + 1, FALSE, buf); + +#if defined(DONT_HAVE_PIPING) && defined(DISABLE_PRINTING) + snprintf(buf, bufs, _(txt_mini_page_3), + printascii(key[1], func_to_key(PAGE_MAIL, page_keys)), + printascii(key[3], func_to_key(GLOBAL_QUIT, page_keys)), + printascii(key[4], func_to_key(PAGE_REPLY_QUOTE, page_keys)), + printascii(key[5], func_to_key(PAGE_SAVE, page_keys)), + printascii(key[6], func_to_key(PAGE_TAG, page_keys)), + printascii(key[7], func_to_key(GLOBAL_POST, page_keys))); +#else +# ifdef DONT_HAVE_PIPING + snprintf(buf, bufs, _(txt_mini_page_3), + printascii(key[1], func_to_key(PAGE_MAIL, page_keys)), + printascii(key[2], func_to_key(GLOBAL_PRINT, page_keys)), + printascii(key[3], func_to_key(GLOBAL_QUIT, page_keys)), + printascii(key[4], func_to_key(PAGE_REPLY_QUOTE, page_keys)), + printascii(key[5], func_to_key(PAGE_SAVE, page_keys)), + printascii(key[6], func_to_key(PAGE_TAG, page_keys)), + printascii(key[7], func_to_key(GLOBAL_POST, page_keys))); +# else +# ifdef DISABLE_PRINTING + snprintf(buf, bufs, _(txt_mini_page_3), + printascii(key[0], func_to_key(GLOBAL_PIPE, page_keys)), + printascii(key[1], func_to_key(PAGE_MAIL, page_keys)), + printascii(key[3], func_to_key(GLOBAL_QUIT, page_keys)), + printascii(key[4], func_to_key(PAGE_REPLY_QUOTE, page_keys)), + printascii(key[5], func_to_key(PAGE_SAVE, page_keys)), + printascii(key[6], func_to_key(PAGE_TAG, page_keys)), + printascii(key[7], func_to_key(GLOBAL_POST, page_keys))); +# else snprintf(buf, bufs, _(txt_mini_page_3), -#ifndef DONT_HAVE_PIPING printascii(key[0], func_to_key(GLOBAL_PIPE, page_keys)), -#endif /* !DONT_HAVE_PIPING */ printascii(key[1], func_to_key(PAGE_MAIL, page_keys)), -#ifndef DISABLE_PRINTING printascii(key[2], func_to_key(GLOBAL_PRINT, page_keys)), -#endif /* !DISABLE_PRINTING */ printascii(key[3], func_to_key(GLOBAL_QUIT, page_keys)), printascii(key[4], func_to_key(PAGE_REPLY_QUOTE, page_keys)), printascii(key[5], func_to_key(PAGE_SAVE, page_keys)), printascii(key[6], func_to_key(PAGE_TAG, page_keys)), printascii(key[7], func_to_key(GLOBAL_POST, page_keys))); +# endif /* DISABLE_PRINTING */ +# endif /* DONT_HAVE_PIPING */ +#endif /* DONT_HAVE_PIPING && DISABLE_PRINTING */ + center_line(line + 2, FALSE, buf); break; + case URL_LEVEL: + snprintf(buf, bufs, _(txt_mini_url_1), + printascii(key[0], func_to_key(GLOBAL_LINE_DOWN, url_keys)), + printascii(key[1], func_to_key(GLOBAL_LINE_UP, url_keys)), + printascii(key[2], func_to_key(GLOBAL_HELP, url_keys)), + printascii(key[3], func_to_key(GLOBAL_QUIT, url_keys))); + center_line(line, FALSE, buf); + snprintf(buf, bufs, _(txt_mini_url_2), + printascii(key[2], func_to_key(GLOBAL_SEARCH_SUBJECT_FORWARD, url_keys)), + printascii(key[3], func_to_key(GLOBAL_SEARCH_SUBJECT_BACKWARD, url_keys)), + printascii(key[4], func_to_key(GLOBAL_SEARCH_REPEAT, url_keys))); + center_line(line + 1, FALSE, buf); + break; + case INFO_PAGER: snprintf(buf, bufs, _(txt_mini_info_1), printascii(key[0], func_to_key(GLOBAL_LINE_UP, info_keys)), @@ -668,7 +999,7 @@ show_mini_help( break; default: /* should not happen */ - error_message(_(txt_error_unknown_dlevel)); + error_message(2, _(txt_error_unknown_dlevel)); break; } #ifdef HAVE_COLOR diff -Nurp --exclude='.bzr*' tin-1.8.3/src/inews.c tin-2.0.0/src/inews.c --- tin-1.8.3/src/inews.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/inews.c 2011-04-17 16:04:30.711112371 +0200 @@ -3,10 +3,10 @@ * Module : inews.c * Author : I. Lea * Created : 1992-03-17 - * Updated : 2005-02-12 + * Updated : 2009-04-07 * Notes : NNTP built in version of inews * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -58,19 +58,9 @@ #endif /* NNTP_INEWS && !FORGERY */ #if 0 -# ifdef VMS -# ifdef MULTINET -# define netwrite socket_write -# include "multinet_root:[multinet.include]netdb.h" -# else -# define netwrite write -# include -# endif /* MULTINET */ -# else -# ifdef HAVE_NETDB_H -# include -# endif /* HAVE_NETDB_H */ -# endif /* VMS */ +# ifdef HAVE_NETDB_H +# include +# endif /* HAVE_NETDB_H */ # ifdef HAVE_SYS_SOCKET_H # include @@ -126,25 +116,25 @@ submit_inews( if (line[0] == '\0') /* end of headers */ break; - ptr = strchr(line, ':'); - if (ptr - line == 4 && !strncasecmp(line, "From", 4)) { - STRCPY(from_name, line); - } - - if (ptr - line == 10 && !strncasecmp(line, "Message-ID", 10)) { - STRCPY(message_id, ptr + 2); - id_in_article = TRUE; - } + if ((ptr = strchr(line, ':'))) { + if (ptr - line == 4 && !strncasecmp(line, "From", 4)) { + STRCPY(from_name, line); + } + if (ptr - line == 10 && !strncasecmp(line, "Message-ID", 10)) { + STRCPY(message_id, ptr + 2); + id_in_article = TRUE; + } # ifdef USE_CANLOCK - if (ptr - line == 11 && !strncasecmp(line, "Cancel-Lock", 11)) - can_lock_in_article = TRUE; + if (ptr - line == 11 && !strncasecmp(line, "Cancel-Lock", 11)) + can_lock_in_article = TRUE; # endif /* USE_CANLOCK */ + } } if ((from_name[0] == '\0') || (from_name[6] == '\0')) { /* we could silently add a From: line here if we want to... */ - error_message(_(txt_error_no_from)); + error_message(2, _(txt_error_no_from)); fclose(fp); return ret_code; } @@ -160,8 +150,8 @@ submit_inews( * * check for valid From: line */ - if (!tinrc.post_8bit_header && GNKSA_OK != gnksa_check_from(from_name + 6)) { /* error in address */ - error_message(_(txt_invalid_from), from_name + 6); + if (!(group ? group->attribute->post_8bit_header : tinrc.post_8bit_header) && GNKSA_OK != gnksa_check_from(from_name + 6)) { /* error in address */ + error_message(2, _(txt_invalid_from), from_name + 6); fclose(fp); return ret_code; } @@ -171,18 +161,18 @@ submit_inews( rewind(fp); # ifndef FORGERY - if ((ptr = build_sender()) && (!disable_sender)) { + if (!disable_sender && (ptr = build_sender())) { sender = sender_needed(from_name + 6, group, ptr); switch (sender) { case -2: /* can't build Sender: */ - error_message(_(txt_invalid_sender), ptr); + error_message(2, _(txt_invalid_sender), ptr); fclose(fp); return ret_code; /* NOTREACHED */ break; case -1: /* illegal From: (can't happen as check is done above already) */ - error_message(_(txt_invalid_from), from_name + 6); + error_message(2, _(txt_invalid_from), from_name + 6); fclose(fp); return ret_code; /* NOTREACHED */ @@ -193,7 +183,7 @@ submit_inews( # ifdef CHARSET_CONVERSION buffer_to_network(sender_hdr, group ? group->attribute->mm_network_charset : tinrc.mm_network_charset); # endif /* CHARSET_CONVERSION */ - if (!tinrc.post_8bit_header) { + if (!(group ? group->attribute->post_8bit_header : tinrc.post_8bit_header)) { char *p; # ifdef CHARSET_CONVERSION p = rfc1522_encode(sender_hdr, group ? txt_mime_charsets[group->attribute->mm_network_charset] : txt_mime_charsets[tinrc.mm_network_charset], ismail); @@ -217,7 +207,7 @@ submit_inews( * Receive CONT_POST or ERROR response code from NNTP server */ if (nntp_command("POST", CONT_POST, response, sizeof(response)) == NULL) { - error_message("%s", response); + error_message(2, "%s", response); fclose(fp); return ret_code; } @@ -267,11 +257,12 @@ submit_inews( # ifdef USE_CANLOCK if (!can_lock_in_article) { char lock[1024]; - const char *lptr = (const char *) 0; + char *lptr; lock[0] = '\0'; if ((lptr = build_canlock(message_id, get_secret())) != NULL) { STRCPY(lock, lptr); + free(lptr); snprintf(buf, sizeof(buf), "Cancel-Lock: %s", lock); u_put_server(buf); u_put_server("\r\n"); @@ -297,9 +288,7 @@ submit_inews( if (can_lock_in_article && !id_in_article) { ptr = strchr(line, ':'); - if (ptr - line == 11 && !strncasecmp(line, "Cancel-Lock", 11)) { - ; /* skip line */ - } else { + if (ptr - line != 11 || strncasecmp(line, "Cancel-Lock", 11)) { u_put_server(line); u_put_server("\r\n"); } @@ -328,6 +317,8 @@ submit_inews( * Don't leave this loop if we only tried once to post and an * authentication request was received. Leave loop on any other * response or any further authentication requests. + * + * TODO: add 483 (RFC 3977) support */ if (((respcode == ERR_NOAUTH) || (respcode == NEED_AUTHINFO)) && (auth_error++ < 1) && (authenticate(nntp_server, userid, FALSE))) leave_loop = FALSE; @@ -344,7 +335,7 @@ submit_inews( */ if (respcode != OK_POSTED) { /* TODO: -> lang.c */ - error_message("Posting failed (%s)", str_trim(response)); + error_message(2, "Posting failed (%s)", str_trim(response)); return ret_code; } @@ -399,10 +390,10 @@ submit_news_file( a_message_id[0] = '\0'; - fcc = checknadd_headers(name); + fcc = checknadd_headers(name, group); FreeIfNeeded(fcc); /* we don't use it at the moment */ - rfc15211522_encode(name, txt_mime_encodings[tinrc.post_mime_encoding], group, tinrc.post_8bit_header, ismail); + rfc15211522_encode(name, txt_mime_encodings[(group ? group->attribute->post_mime_encoding : tinrc.post_mime_encoding)], group, (group ? group->attribute->post_8bit_header : tinrc.post_8bit_header), ismail); #ifdef NNTP_INEWS if (read_news_via_nntp && !read_saved_news && 0 == strcasecmp(tinrc.inews_prog, INTERNAL_CMD)) @@ -413,10 +404,10 @@ submit_news_file( #ifdef M_UNIX /* use tinrc.inews_prog or 'inewsdir/inews -h' 'inews -h' */ if (0 != strcasecmp(tinrc.inews_prog, INTERNAL_CMD)) - strncpy(buf, tinrc.inews_prog, sizeof(buf) - 1); + STRCPY(buf, tinrc.inews_prog); else { if (*inewsdir) - joinpath(buf, inewsdir, "inews -h"); + joinpath(buf, sizeof(buf), inewsdir, "inews -h"); else strcpy(buf, "inews -h"); } @@ -467,7 +458,7 @@ sender_needed( char sender_name[HEADER_LEN]; # ifdef DEBUG - if (debug == 2) { + if (debug & DEBUG_MISC) { wait_message(3, "sender_needed From:=[%s]", from); wait_message(3, "sender_needed Sender:=[%s]", sender); } @@ -490,8 +481,10 @@ sender_needed( free(p); from_at_pos = strchr(from_addr, '@'); - sender_at_pos = strchr(sender_addr, '@'); - sender_dot_pos = strchr(sender_at_pos, '.'); + if ((sender_at_pos = strchr(sender_addr, '@'))) + sender_dot_pos = strchr(sender_at_pos, '.'); + else /* this case is catched by the gnksa_do_check_from() code above; anyway ... */ + return -2; if (strncasecmp(from_addr, sender_addr, (from_at_pos - from_addr))) return 1; /* login differs */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/init.c tin-2.0.0/src/init.c --- tin-1.8.3/src/init.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/init.c 2011-04-18 00:13:33.553601475 +0200 @@ -3,10 +3,10 @@ * Module : init.c * Author : I. Lea * Created : 1991-04-01 - * Updated : 2005-08-14 + * Updated : 2011-04-17 * Notes : * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -55,21 +55,15 @@ * local prototypes */ static int read_site_config(void); -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - static t_bool utf8_pcre(void); -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ #ifdef HAVE_COLOR static void preinit_colors(void); #endif /* HAVE_COLOR */ -char **news_headers_to_display_array; /* array of which headers to display */ -char **news_headers_to_not_display_array; /* array of which headers to not display */ char active_times_file[PATH_LEN]; char article_name[PATH_LEN]; /* ~/TIN_ARTICLE_NAME file */ char bug_nntpserver1[PATH_LEN]; /* welcome message of NNTP server used */ char bug_nntpserver2[PATH_LEN]; /* welcome message of NNTP server used */ -char cmdline_nntpserver[PATH_LEN]; char cvers[LEN]; char dead_article[PATH_LEN]; /* ~/dead.article file */ char dead_articles[PATH_LEN]; /* ~/dead.articles file */ @@ -83,7 +77,6 @@ char index_maildir[PATH_LEN]; char index_newsdir[PATH_LEN]; /* directory for private overview data */ char index_savedir[PATH_LEN]; char inewsdir[PATH_LEN]; -char libdir[PATH_LEN]; /* directory where news config files are (ie. active) */ char local_attributes_file[PATH_LEN]; char local_config_file[PATH_LEN]; char local_input_history_file[PATH_LEN]; @@ -104,7 +97,8 @@ char postponed_articles_file[PATH_LEN]; char rcdir[PATH_LEN]; char save_active_file[PATH_LEN]; char spooldir[PATH_LEN]; /* directory where news is */ -char subscriptions_file[PATH_LEN]; +char overviewfmt_file[PATH_LEN]; /* full path to overview.fmt */ +char subscriptions_file[PATH_LEN]; /* full path to subscriptions */ char tin_progname[PATH_LEN]; /* program name */ char txt_help_bug_report[LEN]; /* address to send bug reports to */ char userid[PATH_LEN]; @@ -117,16 +111,10 @@ char userid[PATH_LEN]; char novrootdir[PATH_LEN]; /* root directory of nov index files */ #endif /* !NNTP_ONLY */ -#ifdef VMS - char rcdir_asfile[PATH_LEN]; /* rcdir expressed as dev:[dir]tin.dir, for stat() */ -#endif /* VMS */ - -t_function last_search; /* for repeated search */ +t_function last_search = GLOBAL_SEARCH_REPEAT; /* for repeated search */ int hist_last[HIST_MAXNUM + 1]; int hist_pos[HIST_MAXNUM + 1]; int iso2asc_supported; /* Convert ISO-Latin1 to Ascii */ -int num_headers_to_display; /* num headers to display -- swp */ -int num_headers_to_not_display; /* num headers to not display -- swp */ int system_status; int xmouse, xrow, xcol; /* xterm button pressing information */ @@ -139,18 +127,21 @@ t_bool created_rcdir; /* checks if fir t_bool dangerous_signal_exit; /* no get_respcode() in nntp_command when dangerous signal exit */ t_bool disable_gnksa_domain_check; /* disable checking TLD in From: etc. */ t_bool disable_sender; /* disable generation of Sender: header */ -t_bool filtered_articles; /* locally killed / auto-selected articles */ #ifdef NO_POSTING t_bool force_no_post = TRUE; /* force no posting mode */ #else t_bool force_no_post = FALSE; /* don't force no posting mode */ #endif /* NO_POSTING */ -t_bool got_sig_pipe = FALSE; +#if defined(NNTP_ABLE) && defined(INET6) + t_bool force_ipv4 = FALSE; + t_bool force_ipv6 = FALSE; +#endif /* NNTP_ABLE && INET6 */ t_bool list_active; t_bool newsrc_active; t_bool no_write = FALSE; /* do not write newsrc on quit (-X cmd-line flag) */ t_bool post_article_and_exit; /* quick post of an article then exit(elm like) */ t_bool post_postponed_and_exit; /* post postponed articles and exit */ +t_bool range_active; /* Set if a range is defined */ t_bool reread_active_for_posted_arts; t_bool read_local_newsgroups_file; /* read newsgroups file locally or via NNTP */ t_bool read_news_via_nntp = FALSE; /* read news locally or via NNTP */ @@ -180,6 +171,7 @@ char *input_history[HIST_MAXNUM + 1][HIS struct regex_cache strip_re_regex, strip_was_regex, uubegin_regex, uubody_regex, + verbatim_begin_regex, verbatim_end_regex, url_regex, mail_regex, news_regex, shar_regex, slashes_regex, stars_regex, underscores_regex, strokes_regex @@ -191,6 +183,8 @@ struct regex_cache NULL }; +struct t_cmdlineopts cmdline; + struct t_config tinrc = { ART_MARK_DELETED, /* art_marked_deleted */ MARK_INRANGE, /* art_marked_inrange */ @@ -244,7 +238,7 @@ struct t_config tinrc = { #else -1, /* mm_network_charset, defaults to $MM_CHARSET */ #endif /* !CHARSET_CONVERSION */ - "", /* mm_local_charset, display charset */ + "US-ASCII", /* mm_local_charset, display charset */ #ifdef HAVE_ICONV_OPEN_TRANSLIT FALSE, /* translit */ #endif /* HAVE_ICONV_OPEN_TRANSLIT */ @@ -264,6 +258,8 @@ struct t_config tinrc = { "", /* sigfile */ "", /* strip_re_regex */ "", /* strip_was_regex */ + "", /* verbatim_begin_regex */ + "", /* verbatim_end_regex */ "", /* savedir */ "", /* spamtrap_warning_addresses */ DEFAULT_URL_HANDLER, /* url_handler */ @@ -275,12 +271,13 @@ struct t_config tinrc = { 'a', /* default_save_mode */ 0, /* getart_limit */ 2, /* recent_time */ + GOTO_NEXT_UNREAD_TAB, /* goto_next_unread */ 32, /* groupname_max_length */ UUE_NO, /* hide_uue */ KILL_UNREAD, /* kill_level */ - MIME_ENCODING_7BIT, /* mail_mime_encoding */ - MIME_ENCODING_7BIT, /* post_mime_encoding */ - POST_PROC_NO, /* post_process */ + MIME_ENCODING_QP, /* mail_mime_encoding */ + MIME_ENCODING_8BIT, /* post_mime_encoding */ + POST_PROC_NO, /* post_process_type */ REREAD_ACTIVE_FILE_SECS, /* reread_active_file_secs */ 1, /* scroll_lines */ SHOW_FROM_NAME, /* show_author */ @@ -295,6 +292,7 @@ struct t_config tinrc = { 50, /* score_limit_select */ -100, /* score_kill */ 100, /* score_select */ + 0, /* trim_article_body */ #ifdef HAVE_COLOR 0, /* col_back (initialised later) */ 0, /* col_from (initialised later) */ @@ -316,6 +314,7 @@ struct t_config tinrc = { 0, /* col_response (initialised later) */ 0, /* col_signature (initialised later) */ 0, /* col_urls (initialised later) */ + 0, /* col_verbatim (initialised later) */ 0, /* col_subject (initialised later) */ 0, /* col_text (initialised later) */ 0, /* col_title (initialised later) */ @@ -331,11 +330,11 @@ struct t_config tinrc = { #ifdef HAVE_COLOR FALSE, /* use_color */ #endif /* HAVE_COLOR */ + FALSE, /* abbreviate_groupname */ TRUE, /* add_posted_to_filter */ TRUE, /* advertising */ TRUE, /* alternative_handling */ - FALSE, /* auto_bcc */ - FALSE, /* auto_cc */ + 0, /* auto_cc_bcc */ TRUE, /* auto_list_thread */ FALSE, /* auto_reconnect */ FALSE, /* auto_save */ @@ -362,7 +361,6 @@ struct t_config tinrc = { FALSE, /* mail_8bit_header */ FALSE, /* mark_ignore_tags */ TRUE, /* mark_saved_read */ - TRUE, /* pgdn_goto_next */ TRUE, /* pos_first_unread */ FALSE, /* post_8bit_header */ TRUE, /* post_process_view */ @@ -379,7 +377,6 @@ struct t_config tinrc = { TRUE, /* show_signatures */ TRUE, /* sigdashes */ TRUE, /* signature_repost */ - FALSE, /* space_goto_next_unread */ #ifdef M_UNIX TRUE, /* start_editor_offset */ #else @@ -387,10 +384,13 @@ struct t_config tinrc = { #endif /* M_UNIX */ TRUE, /* strip_blanks */ FALSE, /* strip_newsrc */ - TRUE, /* tab_goto_next_unread */ FALSE, /* tex2iso_conv */ TRUE, /* thread_catchup_on_exit */ TRUE, /* unlink_article */ +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + FALSE, /* utf8_graphics */ +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + TRUE, /* verbatim_handling */ "", /* inews_prog */ INTERACTIVE_NONE, /* interactive_mailer */ FALSE, /* use_mouse */ @@ -413,12 +413,92 @@ struct t_config tinrc = { NORMALIZE_NFKC, /* normalization form */ #endif /* HAVE_UNICODE_NORMALIZATION */ #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE) - FALSE /* render_bidi */ + FALSE, /* render_bidi */ #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */ +#ifdef CHARSET_CONVERSION + -1, /* attrib_mm_network_charset, defaults to $MM_CHARSET */ + "", /* attrib_undeclared_charset */ +#endif /* !CHARSET_CONVERSION */ + "", /* attrib_editor_format */ + "", /* attrib_fcc */ + "", /* attrib_maildir */ + "", /* attrib_from */ + "", /* attrib_mailing_list */ + "", /* attrib_organization */ + "", /* attrib_followup_to */ + "", /* attrib_mime_types_to_save */ + "", /* attrib_news_headers_to_display */ + "", /* attrib_news_headers_to_not_display */ + "", /* attrib_news_quote_format */ + "", /* attrib_quote_chars */ + "", /* attrib_sigfile */ + "", /* attrib_savedir */ + "", /* attrib_savefile */ + "", /* attrib_x_body */ + "", /* attrib_x_headers */ +#ifdef HAVE_ISPELL + "", /* attrib_ispell */ +#endif /* HAVE_ISPELL */ + "", /* attrib_quick_kill_scope */ + "", /* attrib_quick_select_scope */ + "", /* attrib_date_format */ + 0, /* attrib_trim_article_body */ + 0, /* attrib_auto_cc_bcc */ + SHOW_INFO_LINES, /* attrib_show_info */ + FILTER_SUBJ_CASE_SENSITIVE, /* attrib_quick_kill_header */ + FILTER_SUBJ_CASE_SENSITIVE, /* attrib_quick_select_header */ + MIME_ENCODING_QP, /* attrib_mail_mime_encoding */ + MIME_ENCODING_8BIT, /* attrib_post_mime_encoding */ + POST_PROC_NO, /* attrib_post_process_type */ + SHOW_FROM_NAME, /* attrib_show_author */ + SORT_ARTICLES_BY_DATE_ASCEND, /* attrib_sort_article_type */ + SORT_THREADS_BY_SCORE_DESCEND, /* attrib_sort_threads_type */ + THREAD_BOTH, /* attrib_thread_articles */ + THREAD_PERC_DEFAULT, /* attrib_thread_perc */ + TRUE, /* attrib_add_posted_to_filter */ + TRUE, /* attrib_advertising */ + TRUE, /* attrib_alternative_handling */ + TRUE, /* attrib_auto_list_thread */ + FALSE, /* attrib_auto_select */ + FALSE, /* attrib_auto_save */ + TRUE, /* attrib_batch_save */ + TRUE, /* attrib_delete_tmp_files */ + TRUE, /* attrib_group_catchup_on_exit */ + FALSE, /* attrib_mail_8bit_header */ + FALSE, /* attrib_mime_forward */ + FALSE, /* attrib_mark_ignore_tags */ + TRUE, /* attrib_mark_saved_read */ + TRUE, /* attrib_pos_first_unread */ + FALSE, /* attrib_post_8bit_header */ + TRUE, /* attrib_post_process_view */ +#ifndef DISABLE_PRINTING + FALSE, /* attrib_print_header */ +#endif /* !DISABLE_PRINTING */ + FALSE, /* attrib_process_only_unread */ + FALSE, /* attrib_prompt_followupto */ + TRUE, /* attrib_show_only_unread_arts */ + TRUE, /* attrib_show_signatures */ + TRUE, /* attrib_sigdashes */ + TRUE, /* attrib_signature_repost */ +#ifdef M_UNIX + TRUE, /* attrib_start_editor_offset */ +#else + FALSE, /* attrib_start_editor_offset */ +#endif /* M_UNIX */ + FALSE, /* attrib_tex2iso_conv */ + TRUE, /* attrib_thread_catchup_on_exit */ + TRUE, /* attrib_verbatim_handling */ + FALSE, /* attrib_x_comment_to */ + TRUE, /* attrib_wrap_on_next_unread */ + FALSE, /* attrib_ask_for_metamail */ + FALSE, /* attrib_quick_kill_case */ + FALSE, /* attrib_quick_kill_expire */ + FALSE, /* attrib_quick_select_case */ + FALSE /* attrib_quick_select_expire */ }; struct t_capabilities nntp_caps = { - 0, /* type (none, LIST EXTENSIONS, CAPABILITIES) */ + NONE, /* type (NONE, CAPABILITIES, BROKEN) */ 0, /* CAPABILITIES version */ FALSE, /* MODE-READER: "MODE READER" */ FALSE, /* READER: "ARTICLE", "BODY" */ @@ -433,6 +513,7 @@ struct t_capabilities nntp_caps = { FALSE, /* LIST: "LIST SUBSCRIPTIONS" */ FALSE, /* LIST: "LIST DISTRIBUTIONS" */ FALSE, /* LIST: "LIST MODERATORS" */ + FALSE, /* LIST: "LIST COUNTS" */ FALSE, /* XPAT */ FALSE, /* HDR: "HDR", "LIST HEADERS" */ NULL, /* [X]HDR */ @@ -444,17 +525,22 @@ struct t_capabilities nntp_caps = { FALSE, /* STARTTLS */ FALSE, /* AUTHINFO USER/PASS */ FALSE, /* AUTHINFO SASL */ + FALSE, /* AUTHINFO available but not in current state */ + SASL_NONE, /* SASL CRAM-MD5 DIGEST-MD5 PLAIN GSSAPI EXTERNAL OTP NTLM LOGIN */ + FALSE, /* COMPRESS */ + COMPRESS_NONE, /* COMPRESS_NONE, COMPRESS_DEFLATE */ #if 0 - FALSE, /* SASL CRAM-MD5 */ - FALSE, /* SASL DIGEST-MD5 */ - FALSE, /* SASL PLAIN */ - FALSE, /* SASL GSSAPI */ - FALSE, /* SASL EXTERNAL */ FALSE, /* STREAMING: "MODE STREAM", "CHECK", "TAKETHIS" */ FALSE /* IHAVE */ #endif /* 0 */ +#ifndef BROKEN_LISTGROUP + FALSE /* LISTGROUP doesn't select group */ +#else + TRUE +#endif /* !BROKEN_LISTGROUP */ }; +static char libdir[PATH_LEN]; /* directory where news config files are (ie. active) */ static mode_t real_umask; #ifdef HAVE_COLOR @@ -486,12 +572,14 @@ static const struct { { &tinrc.col_quote3, 4 }, { &tinrc.col_response, 2 }, { &tinrc.col_signature, 4 }, - { &tinrc.col_urls, -1 }, + { &tinrc.col_urls, DFT_FORE }, + { &tinrc.col_verbatim, 5 }, { &tinrc.col_subject, 6 }, { &tinrc.col_text, DFT_FORE }, { &tinrc.col_title, 4 }, }; + static void preinit_colors( void) @@ -505,12 +593,13 @@ preinit_colors( void postinit_colors( - void) + int last_color) { size_t n; for (n = 0; n < ARRAY_SIZE(our_colors); n++) { - if (*(our_colors[n].colorp) == DFT_INIT) { + if (*(our_colors[n].colorp) == DFT_INIT + || *(our_colors[n].colorp) >= last_color) { switch (our_colors[n].color_dft) { case DFT_FORE: *(our_colors[n].colorp) = default_fcol; @@ -548,9 +637,7 @@ init_selfinfo( #ifdef HAVE_SYS_UTSNAME_H # ifdef HAVE_UNAME - if (uname(&system_info) != -1) - ; - else + if (uname(&system_info) == -1) # endif /* HAVE_UNAME */ { strcpy(system_info.sysname, "unknown"); @@ -578,26 +665,13 @@ init_selfinfo( real_umask = umask(0); (void) umask(real_umask); -#ifndef VMS if ((myentry = getpwuid(getuid())) == NULL) { - error_message(_(txt_error_passwd_missing)); + error_message(2, _(txt_error_passwd_missing)); giveup(); } -#else - if (((ptr = getlogin()) != NULL) && strlen(ptr)) - myentry = getpwnam(ptr); - else { - error_message(_(txt_error_passwd_missing)); - giveup(); - } -#endif /* !VMS */ strcpy(userid, myentry->pw_name); -#ifdef VMS - lower(userid); -#endif /* VMS */ - if (((ptr = getenv("TIN_HOMEDIR")) != NULL) && strlen(ptr)) { my_strncpy(homedir, ptr, sizeof(homedir) - 1); } else if (((ptr = getenv("HOME")) != NULL) && strlen(ptr)) { @@ -607,27 +681,15 @@ init_selfinfo( } else strncpy(homedir, TMPDIR, sizeof(homedir) - 1); - cmdline_nntpserver[0] = '\0'; created_rcdir = FALSE; dangerous_signal_exit = FALSE; disable_gnksa_domain_check = FALSE; -#ifdef MAC_OS_X /* usualy they don't have a valid FQDN */ - /* - * TODO: check if gnksa_check_domain(get_fqdn()) returns ok - * and if it does, don't disable Sender - */ - disable_sender = TRUE; -#else - disable_sender = FALSE; -#endif /* MAC_OS_X */ - filtered_articles = FALSE; + disable_sender = FALSE; /* we set force_no_post=TRUE later on if we don't have a valid FQDN */ iso2asc_supported = atoi(get_val("ISO2ASC", DEFAULT_ISO2ASC)); if (iso2asc_supported > NUM_ISO_TABLES || iso2asc_supported < 0) /* TODO: issue a warning here? */ iso2asc_supported = -1; list_active = FALSE; newsrc_active = FALSE; - num_headers_to_display = 0; - num_headers_to_not_display = 0; post_article_and_exit = FALSE; post_postponed_and_exit = FALSE; read_local_newsgroups_file = FALSE; @@ -654,8 +716,6 @@ init_selfinfo( snprintf(cvers, sizeof(cvers), txt_copyright_notice, page_header); default_organization[0] = '\0'; - news_headers_to_display_array = ulBuildArgv(tinrc.news_headers_to_display, &num_headers_to_display); - news_headers_to_not_display_array = NULL; strncpy(bug_addr, BUG_REPORT_ADDRESS, sizeof(bug_addr) - 1); @@ -674,11 +734,6 @@ init_selfinfo( my_strncpy(default_organization, get_val("ORGANIZATION", ""), sizeof(default_organization) - 1); #endif /* apollo */ -#ifdef USE_INN_NNTPLIB - if ((ptr = GetConfigValue(_CONF_ORGANIZATION)) != NULL) - my_strncpy(default_organization, ptr, sizeof(default_organization) - 1); -#endif /* USE_INN_NNTPLIB */ - #ifndef NNTP_ONLY my_strncpy(libdir, get_val("TIN_LIBDIR", NEWSLIBDIR), sizeof(libdir) - 1); my_strncpy(novrootdir, get_val("TIN_NOVROOTDIR", NOVROOTDIR), sizeof(novrootdir) - 1); @@ -689,6 +744,7 @@ init_selfinfo( news_active_file[0] = '\0'; active_times_file[0] = '\0'; newsgroups_file[0] = '\0'; + overviewfmt_file[0] = '\0'; subscriptions_file[0] = '\0'; /* @@ -702,8 +758,7 @@ init_selfinfo( * if it's still unset fall into no posting mode. */ if (domain_name[0] == '\0') { - error_message(_(txt_error_no_domain_name)); - sleep(2); + error_message(4, _(txt_error_no_domain_name)); force_no_post = TRUE; } @@ -715,18 +770,20 @@ init_selfinfo( * values given in env-vars? ($MM_CHARSET, $TIN_ACTIVEFILE) */ if (!*news_active_file) /* TODO: really prepend libdir here in case of $TIN_ACTIVEFILE is set? */ - joinpath(news_active_file, libdir, get_val("TIN_ACTIVEFILE", ACTIVE_FILE)); + joinpath(news_active_file, sizeof(news_active_file), libdir, get_val("TIN_ACTIVEFILE", ACTIVE_FILE)); if (!*active_times_file) - joinpath(active_times_file, libdir, ACTIVE_TIMES_FILE); + joinpath(active_times_file, sizeof(active_times_file), libdir, ACTIVE_TIMES_FILE); if (!*newsgroups_file) - joinpath(newsgroups_file, libdir, NEWSGROUPS_FILE); + joinpath(newsgroups_file, sizeof(newsgroups_file), libdir, NEWSGROUPS_FILE); if (!*subscriptions_file) - joinpath(subscriptions_file, libdir, SUBSCRIPTIONS_FILE); + joinpath(subscriptions_file, sizeof(subscriptions_file), libdir, SUBSCRIPTIONS_FILE); + if (!*overviewfmt_file) + joinpath(overviewfmt_file, sizeof(overviewfmt_file), libdir, OVERVIEW_FMT); if (!*default_organization) { - char buf[LEN]; + char buf[LEN], filename[PATH_LEN]; - joinpath(buf, libdir, "organization"); - if ((fp = fopen(buf, "r")) != NULL) { + joinpath(filename, sizeof(filename), libdir, "organization"); + if ((fp = fopen(filename, "r")) != NULL) { if (fgets(buf, (int) sizeof(buf), fp) != NULL) { ptr = strrchr(buf, '\n'); if (ptr != NULL) @@ -760,24 +817,16 @@ init_selfinfo( #endif /* !CHARSET_CONVERSION */ #ifdef TIN_DEFAULTS_DIR - joinpath(global_attributes_file, TIN_DEFAULTS_DIR, ATTRIBUTES_FILE); - joinpath(global_config_file, TIN_DEFAULTS_DIR, CONFIG_FILE); + joinpath(global_attributes_file, sizeof(global_attributes_file), TIN_DEFAULTS_DIR, ATTRIBUTES_FILE); + joinpath(global_config_file, sizeof(global_config_file), TIN_DEFAULTS_DIR, CONFIG_FILE); #else /* read_site_config() might have changed the value of libdir */ - joinpath(global_attributes_file, libdir, ATTRIBUTES_FILE); - joinpath(global_config_file, libdir, CONFIG_FILE); + joinpath(global_attributes_file, sizeof(global_attributes_file), libdir, ATTRIBUTES_FILE); + joinpath(global_config_file, sizeof(global_config_file), libdir, CONFIG_FILE); #endif /* TIN_DEFAULTS_DIR */ -#ifdef VMS - joindir(rcdir, homedir, RCDIR); /* we're naming a directory here */ - joinpath(rcdir_asfile, homedir, RCDIR); /* for stat() */ - strcat(rcdir_asfile, ".DIR"); - if (stat(rcdir_asfile, &sb) == -1) -#else - joinpath(rcdir, homedir, RCDIR); - if (stat(rcdir, &sb) == -1) -#endif /* VMS */ - { + joinpath(rcdir, sizeof(rcdir), homedir, RCDIR); + if (stat(rcdir, &sb) == -1) { created_rcdir = TRUE; my_mkdir(rcdir, (mode_t) (S_IRWXU)); } @@ -787,49 +836,45 @@ init_selfinfo( strcpy(tinrc.printer, DEFAULT_PRINTER); #endif /* !DISABLE_PRINTING */ strcpy(tinrc.inews_prog, PATH_INEWS); - joinpath(article_name, homedir, TIN_ARTICLE_NAME); + joinpath(article_name, sizeof(article_name), homedir, TIN_ARTICLE_NAME); #ifdef APPEND_PID - snprintf(article_name + strlen(article_name), sizeof(article_name) - strlen(article_name), ".%d", (int) process_id); + snprintf(article_name + strlen(article_name), sizeof(article_name) - strlen(article_name), ".%ld", (long) process_id); #endif /* APPEND_PID */ - joinpath(dead_article, homedir, "dead.article"); - joinpath(dead_articles, homedir, "dead.articles"); - JOINPATH(tinrc.maildir, homedir, DEFAULT_MAILDIR); - JOINPATH(tinrc.savedir, homedir, DEFAULT_SAVEDIR); - joinpath(tinrc.sigfile, homedir, ".Sig"); - joinpath(default_signature, homedir, ".signature"); + joinpath(dead_article, sizeof(dead_article), homedir, "dead.article"); + joinpath(dead_articles, sizeof(dead_articles), homedir, "dead.articles"); + joinpath(tinrc.maildir, sizeof(tinrc.maildir), homedir, DEFAULT_MAILDIR); + joinpath(tinrc.savedir, sizeof(tinrc.savedir), homedir, DEFAULT_SAVEDIR); + joinpath(tinrc.sigfile, sizeof(tinrc.sigfile), homedir, ".Sig"); + joinpath(default_signature, sizeof(default_signature), homedir, ".signature"); if (!index_newsdir[0]) - JOINPATH(index_newsdir, get_val("TIN_INDEX_NEWSDIR", rcdir), INDEX_NEWSDIR); - JOINPATH(index_maildir, get_val("TIN_INDEX_MAILDIR", rcdir), INDEX_MAILDIR); + joinpath(index_newsdir, sizeof(index_newsdir), get_val("TIN_INDEX_NEWSDIR", rcdir), INDEX_NEWSDIR); + joinpath(index_maildir, sizeof(index_maildir), get_val("TIN_INDEX_MAILDIR", rcdir), INDEX_MAILDIR); if (stat(index_maildir, &sb) == -1) my_mkdir(index_maildir, (mode_t) S_IRWXU); - JOINPATH(index_savedir, get_val("TIN_INDEX_SAVEDIR", rcdir), INDEX_SAVEDIR); + joinpath(index_savedir, sizeof(index_savedir), get_val("TIN_INDEX_SAVEDIR", rcdir), INDEX_SAVEDIR); if (stat(index_savedir, &sb) == -1) my_mkdir(index_savedir, (mode_t) S_IRWXU); - joinpath(local_attributes_file, rcdir, ATTRIBUTES_FILE); - joinpath(local_config_file, rcdir, CONFIG_FILE); - joinpath(filter_file, rcdir, FILTER_FILE); - joinpath(local_input_history_file, rcdir, INPUT_HISTORY_FILE); - joinpath(local_newsrctable_file, rcdir, NEWSRCTABLE_FILE); + joinpath(local_attributes_file, sizeof(local_attributes_file), rcdir, ATTRIBUTES_FILE); + joinpath(local_config_file, sizeof(local_config_file), rcdir, CONFIG_FILE); + joinpath(filter_file, sizeof(filter_file), rcdir, FILTER_FILE); + joinpath(local_input_history_file, sizeof(local_input_history_file), rcdir, INPUT_HISTORY_FILE); + joinpath(local_newsrctable_file, sizeof(local_newsrctable_file), rcdir, NEWSRCTABLE_FILE); #ifdef HAVE_MH_MAIL_HANDLING - joinpath(mail_active_file, rcdir, ACTIVE_MAIL_FILE); + joinpath(mail_active_file, sizeof(mail_active_file), rcdir, ACTIVE_MAIL_FILE); #endif /* HAVE_MH_MAIL_HANDLING */ -#ifdef VMS - joinpath(mailbox, DEFAULT_MAILBOX, "MAIL.TXT"); -#else - joinpath(mailbox, DEFAULT_MAILBOX, userid); -#endif /* VMS */ + joinpath(mailbox, sizeof(mailbox), DEFAULT_MAILBOX, userid); #ifdef HAVE_MH_MAIL_HANDLING - joinpath(mailgroups_file, rcdir, MAILGROUPS_FILE); + joinpath(mailgroups_file, sizeof(mailgroups_file), rcdir, MAILGROUPS_FILE); #endif /* HAVE_MH_MAIL_HANDLING */ - joinpath(newsrc, homedir, NEWSRC_FILE); - joinpath(newnewsrc, homedir, NEWNEWSRC_FILE); + joinpath(newsrc, sizeof(newsrc), homedir, NEWSRC_FILE); + joinpath(newnewsrc, sizeof(newnewsrc), homedir, NEWNEWSRC_FILE); #ifdef APPEND_PID snprintf(newnewsrc + strlen(newnewsrc), sizeof(newnewsrc) - strlen(newnewsrc), ".%d", (int) process_id); #endif /* APPEND_PID */ - joinpath(posted_info_file, rcdir, POSTED_FILE); - joinpath(postponed_articles_file, rcdir, POSTPONED_FILE); - joinpath(save_active_file, rcdir, ACTIVE_SAVE_FILE); + joinpath(posted_info_file, sizeof(posted_info_file), rcdir, POSTED_FILE); + joinpath(postponed_articles_file, sizeof(postponed_articles_file), rcdir, POSTPONED_FILE); + joinpath(save_active_file, sizeof(save_active_file), rcdir, ACTIVE_SAVE_FILE); snprintf(lock_file, sizeof(lock_file), INDEX_LOCK, TMPDIR, userid); @@ -839,15 +884,12 @@ init_selfinfo( if (stat(posted_info_file, &sb) == -1) { if ((fp = fopen(posted_info_file, "w")) != NULL) { - fprintf(fp, _(txt_posted_info_file)); + fprintf(fp, "%s", _(txt_posted_info_file)); fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR)); fclose(fp); } } - if (stat(local_attributes_file, &sb) == -1) - write_attributes_file(local_attributes_file); - init_postinfo(); snprintf(txt_help_bug_report, sizeof(txt_help_bug_report), _(txt_help_bug), bug_addr); @@ -871,7 +913,7 @@ read_site_config( void) { FILE *fp = (FILE *) 0; - char buf[LEN]; + char buf[LEN], filename[PATH_LEN]; static const char *tin_defaults[] = { TIN_DEFAULTS }; int i = 0; @@ -879,8 +921,8 @@ read_site_config( * try to find tin.defaults in some different locations */ while (tin_defaults[i] != NULL) { - joinpath(buf, tin_defaults[i++], "tin.defaults"); - if ((fp = fopen(buf, "r")) != NULL) + joinpath(filename, sizeof(filename), tin_defaults[i++], "tin.defaults"); + if ((fp = fopen(filename, "r")) != NULL) break; } @@ -909,6 +951,8 @@ read_site_config( continue; if (match_string(buf, "subscriptionsfile=", subscriptions_file, sizeof(subscriptions_file))) continue; + if (match_string(buf, "overviewfmtfile=", overviewfmt_file, sizeof(overviewfmt_file))) + continue; if (match_string(buf, "domainname=", domain_name, sizeof(domain_name))) continue; if (match_string(buf, "inewsdir=", inewsdir, sizeof(inewsdir))) @@ -1004,6 +1048,13 @@ postinit_regexp( STRCPY(tinrc.underscores_regex, DEFAULT_UNDERSCORES_REGEX); compile_regex(tinrc.underscores_regex, &underscores_regex, PCRE_CASELESS); + if (!strlen(tinrc.verbatim_begin_regex)) + STRCPY(tinrc.verbatim_begin_regex, DEFAULT_VERBATIM_BEGIN_REGEX); + compile_regex(tinrc.verbatim_begin_regex, &verbatim_begin_regex, PCRE_ANCHORED); + if (!strlen(tinrc.verbatim_end_regex)) + STRCPY(tinrc.verbatim_end_regex, DEFAULT_VERBATIM_END_REGEX); + compile_regex(tinrc.verbatim_end_regex, &verbatim_end_regex, PCRE_ANCHORED); + compile_regex(UUBEGIN_REGEX, &uubegin_regex, PCRE_ANCHORED); compile_regex(UUBODY_REGEX, &uubody_regex, PCRE_ANCHORED); @@ -1016,7 +1067,7 @@ postinit_regexp( #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) -static t_bool +t_bool utf8_pcre( void) { diff -Nurp --exclude='.bzr*' tin-1.8.3/src/joinpath.c tin-2.0.0/src/joinpath.c --- tin-1.8.3/src/joinpath.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/joinpath.c 2011-04-17 16:04:30.771121502 +0200 @@ -3,10 +3,10 @@ * Module : joinpath.c * Author : Thomas Dickey * Created : 1997-01-10 - * Updated : 2003-09-19 + * Updated : 2008-12-04 * Notes : * - * Copyright (c) 1997-2006 Thomas Dickey + * Copyright (c) 1997-2011 Thomas Dickey * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,16 +42,25 @@ /* * Concatenate dir+file, ensuring that we don't introduce extra '/', since some * systems (e.g., Apollo) use "//" for special purposes. - * TODO: ../vms/vmsfile.c defines joinpath, VMS should be guarded here */ void joinpath( char *result, + size_t result_size, const char *dir, const char *file) { - (void) strcpy(result, dir); - if (result[0] == '\0' || result[strlen(result) - 1] != '/') + size_t result_len; + + (void) strncpy(result, dir, result_size - 1); + result[result_size - 1] = '\0'; + result_len = strlen(result); + if ((result_len < (result_size - 1)) && (result[0] == '\0' || result[strlen(result) - 1] != '/')) { (void) strcat(result, "/"); - (void) strcat(result, BlankIfNull(file)); + result_len++; + } + if (result_len < (result_size - 1)) { + (void) strncat(result, BlankIfNull(file), result_size - result_len - 1); + result[result_size - 1] = '\0'; + } } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/keymap.c tin-2.0.0/src/keymap.c --- tin-1.8.3/src/keymap.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/keymap.c 2011-04-17 16:04:30.807126982 +0200 @@ -3,10 +3,10 @@ * Module : keymap.c * Author : D. Nimmich, J. Faultless * Created : 2000-05-25 - * Updated : 2005-10-19 + * Updated : 2011-01-25 * Notes : This file contains key mapping routines and variables. * - * Copyright (c) 2000-2006 Dirk Nimmich + * Copyright (c) 2000-2011 Dirk Nimmich * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -56,13 +56,13 @@ static t_bool process_mapping(char *keyn static t_bool add_key(struct keylist *keys, const char key, t_function func, t_bool override); #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ +struct keylist attachment_keys = { NULL, 0, 0}; struct keylist feed_post_process_keys = { NULL, 0, 0 }; struct keylist feed_supersede_article_keys = { NULL, 0, 0 }; struct keylist feed_type_keys = { NULL, 0, 0 }; struct keylist filter_keys = { NULL, 0, 0 }; struct keylist group_keys = { NULL, 0, 0 }; struct keylist info_keys = { NULL, 0, 0 }; -struct keylist mark_read_keys = { NULL, 0, 0 }; struct keylist option_menu_keys = { NULL, 0, 0 }; struct keylist page_keys = { NULL, 0, 0 }; #ifdef HAVE_PGP_GPG @@ -81,8 +81,10 @@ struct keylist post_postpone_keys = { NU struct keylist post_send_keys = { NULL, 0, 0 }; struct keylist prompt_keys = { NULL, 0, 0 }; struct keylist save_append_overwrite_keys = { NULL, 0, 0 }; +struct keylist scope_keys = { NULL, 0, 0 }; struct keylist select_keys = { NULL, 0, 0 }; struct keylist thread_keys = { NULL, 0, 0 }; +struct keylist url_keys = { NULL, 0, 0 }; /* @@ -137,7 +139,7 @@ func_to_key( /* * adds a key to a keylist * default_key: TRUE if a default key should be added - * returns TRUE if the key was succesfully added else FALSE + * returns TRUE if the key was successfully added else FALSE */ static t_bool add_key( @@ -154,7 +156,7 @@ add_key( struct keynode *entry = NULL; /* is a function already associated with this key */ - for (i = 0; i < keys->used; i++) { + for (i = 0; key != '\0' && i < keys->used; i++) { if (keys->list[i].key == key) entry = &keys->list[i]; } @@ -169,7 +171,7 @@ add_key( /* add a new entry */ if (keys->used >= keys->max) { if (keys->list == NULL) { - keys->max = 1; + keys->max = DEFAULT_MAPKEYS_NUM; keys->list = my_malloc(keys->max * sizeof(struct keynode)); } else { keys->max++; @@ -210,7 +212,9 @@ add_default_key( static void -free_keylist(struct keylist *keys) { +free_keylist( + struct keylist *keys) +{ FreeAndNull(keys->list); keys->used = keys->max = 0; } @@ -223,6 +227,7 @@ void free_keymaps( void) { + free_keylist(&attachment_keys); free_keylist(&select_keys); free_keylist(&group_keys); free_keylist(&thread_keys); @@ -240,16 +245,17 @@ free_keymaps( free_keylist(&post_delete_keys); free_keylist(&post_cancel_keys); free_keylist(&filter_keys); - free_keylist(&mark_read_keys); #ifdef HAVE_PGP_GPG free_keylist(&pgp_mail_keys); free_keylist(&pgp_news_keys); #endif /* HAVE_PGP_GPG */ free_keylist(&save_append_overwrite_keys); + free_keylist(&scope_keys); free_keylist(&feed_type_keys); free_keylist(&feed_post_process_keys); free_keylist(&feed_supersede_article_keys); free_keylist(&prompt_keys); + free_keylist(&url_keys); } @@ -319,8 +325,8 @@ read_keymap_file( FILE *fp = (FILE *) 0; char *line, *keydef, *kname; char *map, *ptr; - char buf[LEN], buff[NAME_LEN + 1]; - int upgrade = RC_CHECK; + char buf[LEN], buff[NAME_LEN + 1], filename[PATH_LEN]; + enum rc_state upgrade = RC_CHECK; t_bool ret = TRUE; /* @@ -329,7 +335,7 @@ read_keymap_file( * * locale is first match from LC_ALL, LC_CTYPE, LC_MESSAGES, LANG * - * TODO: fix possible buf-overflows + * TODO: LC_CTYPE has higgher priority than LC_MESSAGES, does this make sense? */ /* get locale suffix */ map = my_strdup(get_val("LC_ALL", get_val("LC_CTYPE", get_val("LC_MESSAGES", get_val("LANG", ""))))); @@ -337,21 +343,21 @@ read_keymap_file( if ((ptr = strchr(map, '.'))) *ptr = '\0'; snprintf(buff, sizeof(buff), "%s.%s", KEYMAP_FILE, map); - joinpath(buf, rcdir, buff); - fp = fopen(buf, "r"); + joinpath(filename, sizeof(filename), rcdir, buff); + fp = fopen(filename, "r"); } if (!fp) { - joinpath(buf, rcdir, KEYMAP_FILE); - fp = fopen(buf, "r"); + joinpath(filename, sizeof(filename), rcdir, KEYMAP_FILE); + fp = fopen(filename, "r"); } #ifdef TIN_DEFAULTS_DIR if (strlen(map) && !fp) { - joinpath(buf, TIN_DEFAULTS_DIR, buff); - fp = fopen(buf, "r"); + joinpath(filename, sizeof(filename), TIN_DEFAULTS_DIR, buff); + fp = fopen(filename, "r"); } if (!fp) { - joinpath(buf, TIN_DEFAULTS_DIR, KEYMAP_FILE); - fp = fopen(buf, "r"); + joinpath(filename, sizeof(filename), TIN_DEFAULTS_DIR, KEYMAP_FILE); + fp = fopen(filename, "r"); } #endif /* TIN_DEFAULTS_DIR */ @@ -360,20 +366,25 @@ read_keymap_file( if (!fp) return TRUE; /* no keymap file is not an error */ - map = my_strdup(buf); /* remember keymap-name */ + map = my_strdup(filename); /* remember keymap-name */ /* check if keymap file is uptodate */ while ((line = fgets(buf, sizeof(buf), fp)) != NULL) { - if (line[0] == '#' && upgrade == RC_CHECK) { - if ((upgrade = check_upgrade(line, "# Keymap file V", KEYMAP_VERSION)) == RC_UPGRADE) { - fclose(fp); - upgrade_keymap_file(map); - upgrade = RC_IGNORE; - fp = fopen(map, "r"); + if (line[0] == '#') { + if (upgrade == RC_CHECK && match_string(buf, "# Keymap file V", NULL, 0)) { + /* TODO: keymap downgrade */ + if ((upgrade = check_upgrade(line, "# Keymap file V", KEYMAP_VERSION)) == RC_UPGRADE) { + fclose(fp); + upgrade_keymap_file(map); + upgrade = RC_IGNORE; + if (!(fp = fopen(map, "r"))) /* TODO: issue error message? */ + return TRUE; + } + break; } - break; } } + rewind(fp); free_keymaps(); while ((line = fgets(buf, sizeof(buf), fp)) != NULL) { @@ -389,7 +400,7 @@ read_keymap_file( * Warn about basic syntax errors */ if (keydef == NULL || !strlen(keydef)) { - wait_message(0, _(txt_keymap_missing_key), kname); + error_message(0, _(txt_keymap_missing_key), kname); ret = FALSE; continue; } @@ -398,10 +409,10 @@ read_keymap_file( /* * TODO: useful? shared keymaps (NFS-Home) may differ - * depending on the OS (i.e. on tin has color the other has not) + * depending on the OS (i.e. one tin has color the other has not) */ if (!process_mapping(kname, keydef)) { - wait_message(0, _(txt_keymap_invalid_name), kname); + error_message(0, _(txt_keymap_invalid_name), kname); prompt_continue(); ret = FALSE; continue; @@ -444,7 +455,7 @@ process_keys( error = FALSE; #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) if ((wkeydef = char2wchar_t(keydef)) == NULL) { - wait_message(1, _(txt_invalid_multibyte_sequence)); + error_message(1, _(txt_invalid_multibyte_sequence)); ret = FALSE; keydef = strtok(NULL, KEYSEPS); @@ -494,7 +505,7 @@ process_keys( #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ /* FALLTHROUGH */ default: - wait_message(0, _(txt_keymap_invalid_key), keydef); + error_message(0, _(txt_keymap_invalid_key), keydef); ret = FALSE; error = TRUE; break; @@ -506,7 +517,7 @@ process_keys( if (isdigit(key = keydef[0])) #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ { - wait_message(0, _(txt_keymap_invalid_key), keydef); + error_message(0, _(txt_keymap_invalid_key), keydef); ret = FALSE; error = TRUE; } @@ -536,6 +547,44 @@ process_mapping( char *keys) /* Key to assign to keyname if found */ { switch (keyname[0]) { + case 'A': + if (strcmp(keyname, "AttachPipe") == 0) { + process_keys(ATTACHMENT_PIPE, keys, &attachment_keys); + + return TRUE; + } + if (strcmp(keyname, "AttachSelect") == 0) { + process_keys(ATTACHMENT_SELECT, keys, &attachment_keys); + + return TRUE; + } + if (strcmp(keyname, "AttachSave") == 0) { + process_keys(ATTACHMENT_SAVE, keys, &attachment_keys); + + return TRUE; + } + if (strcmp(keyname, "AttachTag") == 0) { + process_keys(ATTACHMENT_TAG, keys, &attachment_keys); + + return TRUE; + } + if (strcmp(keyname, "AttachTagPattern") == 0) { + process_keys(ATTACHMENT_TAG_PATTERN, keys, &attachment_keys); + + return TRUE; + } + if (strcmp(keyname, "AttachToggleTagged") == 0) { + process_keys(ATTACHMENT_TOGGLE_TAGGED, keys, &attachment_keys); + + return TRUE; + } + if (strcmp(keyname, "AttachUntag") == 0) { + process_keys(ATTACHMENT_UNTAG, keys, &attachment_keys); + + return TRUE; + } + break; + case 'B': if (strcmp(keyname, "BugReport") == 0) { process_keys(GLOBAL_BUGREPORT, keys, &group_keys); @@ -578,11 +627,26 @@ process_mapping( return TRUE; } + if (strcmp(keyname, "ConfigResetAttrib") == 0) { + process_keys(CONFIG_RESET_ATTRIB, keys, &option_menu_keys); + + return TRUE; + } + if (strcmp(keyname, "ConfigScopeMenu") == 0) { + process_keys(CONFIG_SCOPE_MENU, keys, &option_menu_keys); + + return TRUE; + } if (strcmp(keyname, "ConfigSelect") == 0) { process_keys(CONFIG_SELECT, keys, &option_menu_keys); return TRUE; } + if (strcmp(keyname, "ConfigToggleAttrib") == 0) { + process_keys(CONFIG_TOGGLE_ATTRIB, keys, &option_menu_keys); + + return TRUE; + } break; case 'D': @@ -595,12 +659,15 @@ process_mapping( return TRUE; } if (strcmp(keyname, "Down") == 0) { + process_keys(GLOBAL_LINE_DOWN, keys, &attachment_keys); process_keys(GLOBAL_LINE_DOWN, keys, &group_keys); process_keys(GLOBAL_LINE_DOWN, keys, &info_keys); process_keys(GLOBAL_LINE_DOWN, keys, &option_menu_keys); process_keys(GLOBAL_LINE_DOWN, keys, &page_keys); + process_keys(GLOBAL_LINE_DOWN, keys, &scope_keys); process_keys(GLOBAL_LINE_DOWN, keys, &select_keys); process_keys(GLOBAL_LINE_DOWN, keys, &thread_keys); + process_keys(GLOBAL_LINE_DOWN, keys, &url_keys); return TRUE; } @@ -633,6 +700,11 @@ process_mapping( return TRUE; } + if (strcmp(keyname, "FeedRange") == 0) { + process_keys(FEED_RANGE, keys, &feed_type_keys); + + return TRUE; + } if (strcmp(keyname, "FeedRepost") == 0) { process_keys(FEED_KEY_REPOST, keys, &feed_supersede_article_keys); @@ -664,12 +736,15 @@ process_mapping( return TRUE; } if (strcmp(keyname, "FirstPage") == 0) { + process_keys(GLOBAL_FIRST_PAGE, keys, &attachment_keys); process_keys(GLOBAL_FIRST_PAGE, keys, &group_keys); process_keys(GLOBAL_FIRST_PAGE, keys, &info_keys); process_keys(GLOBAL_FIRST_PAGE, keys, &option_menu_keys); process_keys(GLOBAL_FIRST_PAGE, keys, &page_keys); + process_keys(GLOBAL_FIRST_PAGE, keys, &scope_keys); process_keys(GLOBAL_FIRST_PAGE, keys, &select_keys); process_keys(GLOBAL_FIRST_PAGE, keys, &thread_keys); + process_keys(GLOBAL_FIRST_PAGE, keys, &url_keys); return TRUE; } @@ -681,6 +756,11 @@ process_mapping( return TRUE; } + if (strcmp(keyname, "GroupCancel") == 0) { + process_keys(GROUP_CANCEL, keys, &group_keys); + + return TRUE; + } if (strcmp(keyname, "GroupDoAutoSel") == 0) { process_keys(GROUP_DO_AUTOSELECT, keys, &group_keys); @@ -820,10 +900,14 @@ process_mapping( case 'H': if (strcmp(keyname, "Help") == 0) { + process_keys(GLOBAL_HELP, keys, &attachment_keys); process_keys(GLOBAL_HELP, keys, &group_keys); + process_keys(GLOBAL_HELP, keys, &option_menu_keys); process_keys(GLOBAL_HELP, keys, &page_keys); + process_keys(GLOBAL_HELP, keys, &scope_keys); process_keys(GLOBAL_HELP, keys, &select_keys); process_keys(GLOBAL_HELP, keys, &thread_keys); + process_keys(GLOBAL_HELP, keys, &url_keys); return TRUE; } @@ -841,12 +925,15 @@ process_mapping( case 'L': if (strcmp(keyname, "LastPage") == 0) { + process_keys(GLOBAL_LAST_PAGE, keys, &attachment_keys); process_keys(GLOBAL_LAST_PAGE, keys, &group_keys); process_keys(GLOBAL_LAST_PAGE, keys, &info_keys); process_keys(GLOBAL_LAST_PAGE, keys, &option_menu_keys); process_keys(GLOBAL_LAST_PAGE, keys, &page_keys); + process_keys(GLOBAL_LAST_PAGE, keys, &scope_keys); process_keys(GLOBAL_LAST_PAGE, keys, &select_keys); process_keys(GLOBAL_LAST_PAGE, keys, &thread_keys); + process_keys(GLOBAL_LAST_PAGE, keys, &url_keys); return TRUE; } @@ -867,16 +954,6 @@ process_mapping( break; case 'M': - if (strcmp(keyname, "MarkReadCur") == 0) { - process_keys(MARK_READ_CURRENT, keys, &mark_read_keys); - - return TRUE; - } - if (strcmp(keyname, "MarkReadTag") == 0) { - process_keys(MARK_READ_TAGGED, keys, &mark_read_keys); - - return TRUE; - } if (strcmp(keyname, "MarkArticleUnread") == 0) { process_keys(MARK_ARTICLE_UNREAD, keys, &group_keys); process_keys(MARK_ARTICLE_UNREAD, keys, &page_keys); @@ -891,6 +968,18 @@ process_mapping( return TRUE; } + if (strcmp(keyname, "MarkFeedRead") == 0) { + process_keys(MARK_FEED_READ, keys, &group_keys); + process_keys(MARK_FEED_READ, keys, &thread_keys); + + return TRUE; + } + if (strcmp(keyname, "MarkFeedUnread") == 0) { + process_keys(MARK_FEED_UNREAD, keys, &group_keys); + process_keys(MARK_FEED_UNREAD, keys, &thread_keys); + + return TRUE; + } if (strcmp(keyname, "MenuFilterKill") == 0) { process_keys(GLOBAL_MENU_FILTER_KILL, keys, &group_keys); process_keys(GLOBAL_MENU_FILTER_KILL, keys, &page_keys); @@ -937,22 +1026,15 @@ process_mapping( return TRUE; } if (strcmp(keyname, "PageDown") == 0) { + process_keys(GLOBAL_PAGE_DOWN, keys, &attachment_keys); process_keys(GLOBAL_PAGE_DOWN, keys, &group_keys); process_keys(GLOBAL_PAGE_DOWN, keys, &info_keys); process_keys(GLOBAL_PAGE_DOWN, keys, &option_menu_keys); process_keys(GLOBAL_PAGE_DOWN, keys, &page_keys); + process_keys(GLOBAL_PAGE_DOWN, keys, &scope_keys); process_keys(GLOBAL_PAGE_DOWN, keys, &select_keys); process_keys(GLOBAL_PAGE_DOWN, keys, &thread_keys); - - return TRUE; - } - if (strcmp(keyname, "PageDown3") == 0) { - process_keys(GLOBAL_PAGE_DOWN, keys, &group_keys); - process_keys(GLOBAL_PAGE_DOWN, keys, &info_keys); - process_keys(GLOBAL_PAGE_DOWN, keys, &option_menu_keys); - process_keys(GLOBAL_PAGE_DOWN, keys, &select_keys); - process_keys(GLOBAL_PAGE_DOWN, keys, &thread_keys); - process_keys(PAGE_PAGE_DOWN3, keys, &page_keys); + process_keys(GLOBAL_PAGE_DOWN, keys, &url_keys); return TRUE; } @@ -1093,7 +1175,7 @@ process_mapping( return TRUE; } - if (strcmp(keyname, "PageToggleHeaders") == 0) { + if (strcmp(keyname, "PageToggleAllHeaders") == 0) { process_keys(PAGE_TOGGLE_HEADERS, keys, &page_keys); return TRUE; @@ -1103,6 +1185,11 @@ process_mapping( return TRUE; } + if (strcmp(keyname, "PageToggleRaw") == 0) { + process_keys(PAGE_TOGGLE_RAW, keys, &page_keys); + + return TRUE; + } if (strcmp(keyname, "PageToggleRot") == 0) { process_keys(PAGE_TOGGLE_ROT13, keys, &page_keys); @@ -1124,12 +1211,15 @@ process_mapping( return TRUE; } if (strcmp(keyname, "PageUp") == 0) { + process_keys(GLOBAL_PAGE_UP, keys, &attachment_keys); process_keys(GLOBAL_PAGE_UP, keys, &group_keys); process_keys(GLOBAL_PAGE_UP, keys, &info_keys); process_keys(GLOBAL_PAGE_UP, keys, &option_menu_keys); process_keys(GLOBAL_PAGE_UP, keys, &page_keys); + process_keys(GLOBAL_PAGE_UP, keys, &scope_keys); process_keys(GLOBAL_PAGE_UP, keys, &select_keys); process_keys(GLOBAL_PAGE_UP, keys, &thread_keys); + process_keys(GLOBAL_PAGE_UP, keys, &url_keys); return TRUE; } @@ -1173,6 +1263,7 @@ process_mapping( return TRUE; } if (strcmp(keyname, "Pipe") == 0) { + process_keys(GLOBAL_PIPE, keys, &attachment_keys); process_keys(GLOBAL_PIPE, keys, &group_keys); process_keys(GLOBAL_PIPE, keys, &page_keys); process_keys(GLOBAL_PIPE, keys, &thread_keys); @@ -1334,13 +1425,13 @@ process_mapping( return TRUE; } if (strcmp(keyname, "Quit") == 0) { + process_keys(GLOBAL_QUIT, keys, &attachment_keys); process_keys(GLOBAL_QUIT, keys, &feed_post_process_keys); process_keys(GLOBAL_QUIT, keys, &feed_supersede_article_keys); process_keys(GLOBAL_QUIT, keys, &feed_type_keys); process_keys(GLOBAL_QUIT, keys, &filter_keys); process_keys(GLOBAL_QUIT, keys, &group_keys); process_keys(GLOBAL_QUIT, keys, &info_keys); - process_keys(GLOBAL_QUIT, keys, &mark_read_keys); process_keys(GLOBAL_QUIT, keys, &option_menu_keys); process_keys(GLOBAL_QUIT, keys, &page_keys); #ifdef HAVE_PGP_GPG @@ -1359,8 +1450,10 @@ process_mapping( process_keys(GLOBAL_QUIT, keys, &post_send_keys); process_keys(GLOBAL_QUIT, keys, &prompt_keys); process_keys(GLOBAL_QUIT, keys, &save_append_overwrite_keys); + process_keys(GLOBAL_QUIT, keys, &scope_keys); process_keys(GLOBAL_QUIT, keys, &select_keys); process_keys(GLOBAL_QUIT, keys, &thread_keys); + process_keys(GLOBAL_QUIT, keys, &url_keys); return TRUE; } @@ -1376,9 +1469,11 @@ process_mapping( case 'R': if (strcmp(keyname, "RedrawScr") == 0) { + process_keys(GLOBAL_REDRAW_SCREEN, keys, &attachment_keys); process_keys(GLOBAL_REDRAW_SCREEN, keys, &group_keys); process_keys(GLOBAL_REDRAW_SCREEN, keys, &option_menu_keys); process_keys(GLOBAL_REDRAW_SCREEN, keys, &page_keys); + process_keys(GLOBAL_REDRAW_SCREEN, keys, &scope_keys); process_keys(GLOBAL_REDRAW_SCREEN, keys, &select_keys); process_keys(GLOBAL_REDRAW_SCREEN, keys, &thread_keys); @@ -1397,19 +1492,55 @@ process_mapping( return TRUE; } + if (strcmp(keyname, "ScopeAdd") == 0) { + process_keys(SCOPE_ADD, keys, &scope_keys); + + return TRUE; + } + if (strcmp(keyname, "ScopeDelete") == 0) { + process_keys(SCOPE_DELETE, keys, &scope_keys); + + return TRUE; + } + if (strcmp(keyname, "ScopeEditAttributesFile") == 0) { + process_keys(SCOPE_EDIT_ATTRIBUTES_FILE, keys, &scope_keys); + + return TRUE; + } + if (strcmp(keyname, "ScopeMove") == 0) { + process_keys(SCOPE_MOVE, keys, &scope_keys); + + return TRUE; + } + if (strcmp(keyname, "ScopeRename") == 0) { + process_keys(SCOPE_RENAME, keys, &scope_keys); + + return TRUE; + } + if (strcmp(keyname, "ScopeSelect") == 0) { + process_keys(SCOPE_SELECT, keys, &scope_keys); + + return TRUE; + } if (strcmp(keyname, "ScrollDown") == 0) { + process_keys(GLOBAL_SCROLL_DOWN, keys, &attachment_keys); process_keys(GLOBAL_SCROLL_DOWN, keys, &group_keys); process_keys(GLOBAL_SCROLL_DOWN, keys, &option_menu_keys); + process_keys(GLOBAL_SCROLL_DOWN, keys, &scope_keys); process_keys(GLOBAL_SCROLL_DOWN, keys, &select_keys); process_keys(GLOBAL_SCROLL_DOWN, keys, &thread_keys); + process_keys(GLOBAL_SCROLL_DOWN, keys, &url_keys); return TRUE; } if (strcmp(keyname, "ScrollUp") == 0) { + process_keys(GLOBAL_SCROLL_UP, keys, &attachment_keys); process_keys(GLOBAL_SCROLL_UP, keys, &group_keys); process_keys(GLOBAL_SCROLL_UP, keys, &option_menu_keys); + process_keys(GLOBAL_SCROLL_UP, keys, &scope_keys); process_keys(GLOBAL_SCROLL_UP, keys, &select_keys); process_keys(GLOBAL_SCROLL_UP, keys, &thread_keys); + process_keys(GLOBAL_SCROLL_UP, keys, &url_keys); return TRUE; } @@ -1435,32 +1566,38 @@ process_mapping( return TRUE; } if (strcmp(keyname, "SearchRepeat") == 0) { + process_keys(GLOBAL_SEARCH_REPEAT, keys, &attachment_keys); process_keys(GLOBAL_SEARCH_REPEAT, keys, &group_keys); process_keys(GLOBAL_SEARCH_REPEAT, keys, &info_keys); process_keys(GLOBAL_SEARCH_REPEAT, keys, &option_menu_keys); process_keys(GLOBAL_SEARCH_REPEAT, keys, &page_keys); process_keys(GLOBAL_SEARCH_REPEAT, keys, &select_keys); process_keys(GLOBAL_SEARCH_REPEAT, keys, &thread_keys); + process_keys(GLOBAL_SEARCH_REPEAT, keys, &url_keys); return TRUE; } if (strcmp(keyname, "SearchSubjB") == 0) { + process_keys(GLOBAL_SEARCH_SUBJECT_BACKWARD, keys, &attachment_keys); process_keys(GLOBAL_SEARCH_SUBJECT_BACKWARD, keys, &group_keys); process_keys(GLOBAL_SEARCH_SUBJECT_BACKWARD, keys, &info_keys); process_keys(GLOBAL_SEARCH_SUBJECT_BACKWARD, keys, &option_menu_keys); process_keys(GLOBAL_SEARCH_SUBJECT_BACKWARD, keys, &page_keys); process_keys(GLOBAL_SEARCH_SUBJECT_BACKWARD, keys, &select_keys); process_keys(GLOBAL_SEARCH_SUBJECT_BACKWARD, keys, &thread_keys); + process_keys(GLOBAL_SEARCH_SUBJECT_BACKWARD, keys, &url_keys); return TRUE; } if (strcmp(keyname, "SearchSubjF") == 0) { + process_keys(GLOBAL_SEARCH_SUBJECT_FORWARD, keys, &attachment_keys); process_keys(GLOBAL_SEARCH_SUBJECT_FORWARD, keys, &group_keys); process_keys(GLOBAL_SEARCH_SUBJECT_FORWARD, keys, &info_keys); process_keys(GLOBAL_SEARCH_SUBJECT_FORWARD, keys, &option_menu_keys); process_keys(GLOBAL_SEARCH_SUBJECT_FORWARD, keys, &page_keys); process_keys(GLOBAL_SEARCH_SUBJECT_FORWARD, keys, &select_keys); process_keys(GLOBAL_SEARCH_SUBJECT_FORWARD, keys, &thread_keys); + process_keys(GLOBAL_SEARCH_SUBJECT_FORWARD, keys, &url_keys); return TRUE; } @@ -1558,10 +1695,14 @@ process_mapping( } if (strcmp(keyname, "ShellEscape") == 0) { #ifndef NO_SHELL_ESCAPE + process_keys(GLOBAL_SHELL_ESCAPE, keys, &attachment_keys); process_keys(GLOBAL_SHELL_ESCAPE, keys, &group_keys); + process_keys(GLOBAL_SHELL_ESCAPE, keys, &option_menu_keys); process_keys(GLOBAL_SHELL_ESCAPE, keys, &page_keys); + process_keys(GLOBAL_SHELL_ESCAPE, keys, &scope_keys); process_keys(GLOBAL_SHELL_ESCAPE, keys, &select_keys); process_keys(GLOBAL_SHELL_ESCAPE, keys, &thread_keys); + process_keys(GLOBAL_SHELL_ESCAPE, keys, &url_keys); #endif /* !NO_SHELL_ESCAPE */ return TRUE; @@ -1574,6 +1715,11 @@ process_mapping( return TRUE; } + if (strcmp(keyname, "ThreadCancel") == 0) { + process_keys(THREAD_CANCEL, keys, &thread_keys); + + return TRUE; + } if (strcmp(keyname, "ThreadMail") == 0) { process_keys(THREAD_MAIL, keys, &thread_keys); @@ -1645,15 +1791,18 @@ process_mapping( return TRUE; } if (strcmp(keyname, "ToggleHelpDisplay") == 0) { + process_keys(GLOBAL_TOGGLE_HELP_DISPLAY, keys, &attachment_keys); process_keys(GLOBAL_TOGGLE_HELP_DISPLAY, keys, &group_keys); process_keys(GLOBAL_TOGGLE_HELP_DISPLAY, keys, &info_keys); process_keys(GLOBAL_TOGGLE_HELP_DISPLAY, keys, &page_keys); + process_keys(GLOBAL_TOGGLE_HELP_DISPLAY, keys, &scope_keys); process_keys(GLOBAL_TOGGLE_HELP_DISPLAY, keys, &select_keys); process_keys(GLOBAL_TOGGLE_HELP_DISPLAY, keys, &thread_keys); return TRUE; } if (strcmp(keyname, "ToggleInfoLastLine") == 0) { + process_keys(GLOBAL_TOGGLE_INFO_LAST_LINE, keys, &attachment_keys); process_keys(GLOBAL_TOGGLE_INFO_LAST_LINE, keys, &group_keys); process_keys(GLOBAL_TOGGLE_INFO_LAST_LINE, keys, &page_keys); process_keys(GLOBAL_TOGGLE_INFO_LAST_LINE, keys, &select_keys); @@ -1673,12 +1822,20 @@ process_mapping( case 'U': if (strcmp(keyname, "Up") == 0) { + process_keys(GLOBAL_LINE_UP, keys, &attachment_keys); process_keys(GLOBAL_LINE_UP, keys, &group_keys); process_keys(GLOBAL_LINE_UP, keys, &info_keys); process_keys(GLOBAL_LINE_UP, keys, &option_menu_keys); process_keys(GLOBAL_LINE_UP, keys, &page_keys); + process_keys(GLOBAL_LINE_UP, keys, &scope_keys); process_keys(GLOBAL_LINE_UP, keys, &select_keys); process_keys(GLOBAL_LINE_UP, keys, &thread_keys); + process_keys(GLOBAL_LINE_UP, keys, &url_keys); + + return TRUE; + } + if (strcmp(keyname, "UrlSelect") == 0) { + process_keys(URL_SELECT, keys, &url_keys); return TRUE; } @@ -1713,7 +1870,7 @@ upgrade_keymap_file( FILE *oldfp, *newfp; char *line, *backup; const char *keyname, *keydef; - char new[NAME_LEN + 1], buf[LEN]; + char newk[NAME_LEN + 1], buf[LEN]; char *bugreport[3] = { NULL, NULL, NULL }; char *catchup[4] = { NULL, NULL, NULL, NULL }; char *catchup_next_unread[4] = { NULL, NULL, NULL, NULL }; @@ -1725,7 +1882,7 @@ upgrade_keymap_file( char *mark_thread_unread[3] = { NULL, NULL, NULL }; char *menu_filter_kill[3] = { NULL, NULL, NULL }; char *menu_filter_select[3] = { NULL, NULL, NULL }; - char *pagedown[2] = { NULL, NULL }; + char *pagedown[3] = { NULL, NULL, NULL }; char *pagenextthd[2] = { NULL, NULL }; char *pageup[3] = { NULL, NULL, NULL }; char *postponed[2] = { NULL, NULL }; @@ -1742,8 +1899,8 @@ upgrade_keymap_file( if ((oldfp = fopen(old, "r")) == NULL) return; - snprintf(new, sizeof(new), "%s.%d", old, (int) process_id); - if ((newfp = fopen(new, "w")) == NULL) { + snprintf(newk, sizeof(newk), "%s.%ld", old, (long) process_id); + if ((newfp = fopen(newk, "w")) == NULL) { fclose(oldfp); return; } @@ -1787,15 +1944,18 @@ upgrade_keymap_file( FreeAndNull(groupreadbasenote[0]); FreeAndNull(groupreadbasenote[1]); } - if (pagedown[0] || pagedown[1]) { + if (pagedown[0] || pagedown[1] || pagedown[2]) { fprintf(newfp, "PageDown\t\t"); if (pagedown[0]) fprintf(newfp, "\t%s", pagedown[0]); if (pagedown[1]) fprintf(newfp, "\t%s", pagedown[1]); + if (pagedown[2]) + fprintf(newfp, "\t%s", pagedown[2]); fprintf(newfp, "\n"); FreeAndNull(pagedown[0]); FreeAndNull(pagedown[1]); + FreeAndNull(pagedown[2]); } if (pagenextthd[0] || pagenextthd[1]) { fprintf(newfp, "PageNextThd\t\t"); @@ -2014,6 +2174,8 @@ upgrade_keymap_file( pagedown[0] = my_strdup(keydef); else if (strcmp(keyname, "PageDown2") == 0) pagedown[1] = my_strdup(keydef); + else if (strcmp(keyname, "PageDown3") == 0) + pagedown[2] = my_strdup(keydef); else if (strcmp(keyname, "PageEditFilter") == 0) edit_filter[1] = my_strdup(keydef); else if (strcmp(keyname, "PageNextThd") == 0) @@ -2048,9 +2210,11 @@ upgrade_keymap_file( catchup[1] = my_strdup(keydef); else if (strcmp(keyname, "PageCatchupNextUnread") == 0) catchup_next_unread[1] = my_strdup(keydef); + else if (strcmp(keyname, "PageToggleHeaders") == 0) + fprintf(newfp, "PageToggleRaw\t\t\t%s\n", keydef); else if (strcmp(keyname, "PromptNo") == 0 || strcmp(keyname, "PromptYes") == 0) { - if (strlen(keydef) == 1 && islower(keydef[0])) - fprintf(newfp, "%s\t\t\t%c\t%c\n", keyname, keydef[0], toupper(keydef[0])); + if (strlen(keydef) == 1 && islower((int)(unsigned char) keydef[0])) + fprintf(newfp, "%s\t\t\t%c\t%c\n", keyname, keydef[0], toupper((int)(unsigned char) keydef[0])); else fprintf(newfp, "%s", backup); } else @@ -2307,7 +2471,7 @@ upgrade_keymap_file( fclose(oldfp); fclose(newfp); - rename(new, old); + rename(newk, old); wait_message(0, _(txt_keymap_upgraded), KEYMAP_VERSION); prompt_continue(); @@ -2322,9 +2486,78 @@ void setup_default_keys( void) { + /* attachment level */ + add_default_key(&attachment_keys, "1", DIGIT_1); + add_default_key(&attachment_keys, "2", DIGIT_2); + add_default_key(&attachment_keys, "3", DIGIT_3); + add_default_key(&attachment_keys, "4", DIGIT_4); + add_default_key(&attachment_keys, "5", DIGIT_5); + add_default_key(&attachment_keys, "6", DIGIT_6); + add_default_key(&attachment_keys, "7", DIGIT_7); + add_default_key(&attachment_keys, "8", DIGIT_8); + add_default_key(&attachment_keys, "9", DIGIT_9); + add_default_key(&attachment_keys, "b", GLOBAL_PAGE_UP); + add_default_key(&attachment_keys, " ", GLOBAL_PAGE_DOWN); + add_default_key(&attachment_keys, "h", GLOBAL_HELP); + add_default_key(&attachment_keys, "\n\r", ATTACHMENT_SELECT); + add_default_key(&attachment_keys, "H", GLOBAL_TOGGLE_HELP_DISPLAY); + add_default_key(&attachment_keys, " ", GLOBAL_REDRAW_SCREEN); + add_default_key(&attachment_keys, "j", GLOBAL_LINE_DOWN); + add_default_key(&attachment_keys, "k", GLOBAL_LINE_UP); + add_default_key(&attachment_keys, "g^", GLOBAL_FIRST_PAGE); + add_default_key(&attachment_keys, "G$", GLOBAL_LAST_PAGE); + add_default_key(&attachment_keys, "i", GLOBAL_TOGGLE_INFO_LAST_LINE); + add_default_key(&attachment_keys, "p", ATTACHMENT_PIPE); + add_default_key(&attachment_keys, "q", GLOBAL_QUIT); + add_default_key(&attachment_keys, "s", ATTACHMENT_SAVE); + add_default_key(&attachment_keys, "t", ATTACHMENT_TAG); + add_default_key(&attachment_keys, "U", ATTACHMENT_UNTAG); + add_default_key(&attachment_keys, "=", ATTACHMENT_TAG_PATTERN); + add_default_key(&attachment_keys, "@", ATTACHMENT_TOGGLE_TAGGED); + add_default_key(&attachment_keys, "|", GLOBAL_PIPE); + add_default_key(&attachment_keys, ">", GLOBAL_SCROLL_DOWN); + add_default_key(&attachment_keys, "<", GLOBAL_SCROLL_UP); + add_default_key(&attachment_keys, "/", GLOBAL_SEARCH_SUBJECT_FORWARD); + add_default_key(&attachment_keys, "?", GLOBAL_SEARCH_SUBJECT_BACKWARD); + add_default_key(&attachment_keys, "\\", GLOBAL_SEARCH_REPEAT); +#ifndef NO_SHELL_ESCAPE + add_default_key(&attachment_keys, "!", GLOBAL_SHELL_ESCAPE); +#endif /* !NO_SHELL_ESCAPE */ + + /* scope level */ + add_default_key(&scope_keys, "1", DIGIT_1); + add_default_key(&scope_keys, "2", DIGIT_2); + add_default_key(&scope_keys, "3", DIGIT_3); + add_default_key(&scope_keys, "4", DIGIT_4); + add_default_key(&scope_keys, "5", DIGIT_5); + add_default_key(&scope_keys, "6", DIGIT_6); + add_default_key(&scope_keys, "7", DIGIT_7); + add_default_key(&scope_keys, "8", DIGIT_8); + add_default_key(&scope_keys, "9", DIGIT_9); + add_default_key(&scope_keys, "a", SCOPE_ADD); + add_default_key(&scope_keys, "b", GLOBAL_PAGE_UP); + add_default_key(&scope_keys, " ", GLOBAL_PAGE_DOWN); + add_default_key(&scope_keys, "d", SCOPE_DELETE); + add_default_key(&scope_keys, "h", GLOBAL_HELP); + add_default_key(&scope_keys, "\n\r", SCOPE_SELECT); + add_default_key(&scope_keys, "E", SCOPE_EDIT_ATTRIBUTES_FILE); + add_default_key(&scope_keys, "H", GLOBAL_TOGGLE_HELP_DISPLAY); + add_default_key(&scope_keys, " ", GLOBAL_REDRAW_SCREEN); + add_default_key(&scope_keys, "m", SCOPE_MOVE); + add_default_key(&scope_keys, "j", GLOBAL_LINE_DOWN); + add_default_key(&scope_keys, "k", GLOBAL_LINE_UP); + add_default_key(&scope_keys, "g^", GLOBAL_FIRST_PAGE); + add_default_key(&scope_keys, "G$", GLOBAL_LAST_PAGE); + add_default_key(&scope_keys, "q", GLOBAL_QUIT); + add_default_key(&scope_keys, "r", SCOPE_RENAME); + add_default_key(&scope_keys, ">", GLOBAL_SCROLL_DOWN); + add_default_key(&scope_keys, "<", GLOBAL_SCROLL_UP); +#ifndef NO_SHELL_ESCAPE + add_default_key(&scope_keys, "!", GLOBAL_SHELL_ESCAPE); +#endif /* !NO_SHELL_ESCAPE */ + /* select level */ add_global_keys(&select_keys); - add_default_key(&select_keys, " ", GLOBAL_PAGE_DOWN); add_default_key(&select_keys, "\n\r", SELECT_ENTER_GROUP); add_default_key(&select_keys, "", SELECT_RESET_NEWSRC); add_default_key(&select_keys, "c", CATCHUP); @@ -2351,10 +2584,11 @@ setup_default_keys( /* group level */ add_global_keys(&group_keys); - add_default_key(&group_keys, " ", GLOBAL_PAGE_DOWN); add_default_key(&group_keys, "", GLOBAL_MENU_FILTER_SELECT); add_default_key(&group_keys, "\n\r", GROUP_READ_BASENOTE); add_default_key(&group_keys, " ", GLOBAL_MENU_FILTER_KILL); + add_default_key(&group_keys, "", MARK_FEED_READ); + add_default_key(&group_keys, "", MARK_FEED_UNREAD); add_default_key(&group_keys, "a", GLOBAL_SEARCH_AUTHOR_FORWARD); add_default_key(&group_keys, "c", CATCHUP); add_default_key(&group_keys, "d", GROUP_TOGGLE_SUBJECT_DISPLAY); @@ -2375,6 +2609,7 @@ setup_default_keys( add_default_key(&group_keys, "A", GLOBAL_SEARCH_AUTHOR_BACKWARD); add_default_key(&group_keys, "B", GLOBAL_SEARCH_BODY); add_default_key(&group_keys, "C", CATCHUP_NEXT_UNREAD); + add_default_key(&group_keys, "D", GROUP_CANCEL); add_default_key(&group_keys, "E", GLOBAL_EDIT_FILTER); add_default_key(&group_keys, "G", GROUP_TOGGLE_GET_ARTICLES_LIMIT); add_default_key(&group_keys, "K", GROUP_MARK_THREAD_READ); @@ -2403,9 +2638,10 @@ setup_default_keys( /* thread keys */ add_global_keys(&thread_keys); - add_default_key(&thread_keys, " ", GLOBAL_PAGE_DOWN); add_default_key(&thread_keys, "", GLOBAL_MENU_FILTER_SELECT); add_default_key(&thread_keys, " ", GLOBAL_MENU_FILTER_KILL); + add_default_key(&thread_keys, "", MARK_FEED_READ); + add_default_key(&thread_keys, "", MARK_FEED_UNREAD); add_default_key(&thread_keys, "\n\r", THREAD_READ_ARTICLE); add_default_key(&thread_keys, "a", GLOBAL_SEARCH_AUTHOR_FORWARD); add_default_key(&thread_keys, "c", CATCHUP); @@ -2420,6 +2656,7 @@ setup_default_keys( add_default_key(&thread_keys, "A", GLOBAL_SEARCH_AUTHOR_BACKWARD); add_default_key(&thread_keys, "B", GLOBAL_SEARCH_BODY); add_default_key(&thread_keys, "C", CATCHUP_NEXT_UNREAD); + add_default_key(&thread_keys, "D", THREAD_CANCEL); add_default_key(&thread_keys, "E", GLOBAL_EDIT_FILTER); add_default_key(&thread_keys, "K", THREAD_MARK_ARTICLE_READ); add_default_key(&thread_keys, "L", GLOBAL_LOOKUP_MESSAGEID); @@ -2438,13 +2675,12 @@ setup_default_keys( /* page level */ add_global_keys(&page_keys); - add_default_key(&page_keys, "", GLOBAL_PAGE_DOWN); add_default_key(&page_keys, "", GLOBAL_MENU_FILTER_SELECT); add_default_key(&page_keys, "", PAGE_REPLY_QUOTE_HEADERS); #ifdef HAVE_PGP_GPG add_default_key(&page_keys, "", PAGE_PGP_CHECK_ARTICLE); #endif /* HAVE_PGP_GPG */ - add_default_key(&page_keys, "", PAGE_TOGGLE_HEADERS); + add_default_key(&page_keys, "", PAGE_TOGGLE_RAW); add_default_key(&page_keys, " ", GLOBAL_MENU_FILTER_KILL); add_default_key(&page_keys, "\n\r", PAGE_NEXT_THREAD); add_default_key(&page_keys, "", PAGE_TOGGLE_TABS); @@ -2485,7 +2721,6 @@ setup_default_keys( add_default_key(&page_keys, "V", PAGE_VIEW_ATTACHMENTS); add_default_key(&page_keys, "Z", MARK_THREAD_UNREAD); add_default_key(&page_keys, "\t", PAGE_NEXT_UNREAD); - add_default_key(&page_keys, " ", PAGE_PAGE_DOWN3); add_default_key(&page_keys, "-", GLOBAL_LAST_VIEWED); add_default_key(&page_keys, "|", GLOBAL_PIPE); add_default_key(&page_keys, "<", PAGE_TOP_THREAD); @@ -2496,6 +2731,7 @@ setup_default_keys( add_default_key(&page_keys, "[", GLOBAL_QUICK_FILTER_SELECT); add_default_key(&page_keys, "]", GLOBAL_QUICK_FILTER_KILL); add_default_key(&page_keys, "%", PAGE_TOGGLE_ROT13); + add_default_key(&page_keys, "*", PAGE_TOGGLE_HEADERS); add_default_key(&page_keys, ":", PAGE_SKIP_INCLUDED_TEXT); add_default_key(&page_keys, "_", PAGE_TOGGLE_HIGHLIGHTING); @@ -2526,19 +2762,26 @@ setup_default_keys( add_default_key(&option_menu_keys, "b", GLOBAL_PAGE_UP); add_default_key(&option_menu_keys, " ", GLOBAL_PAGE_DOWN); add_default_key(&option_menu_keys, "\n\r", CONFIG_SELECT); + add_default_key(&option_menu_keys, "\t", CONFIG_TOGGLE_ATTRIB); add_default_key(&option_menu_keys, " ", GLOBAL_REDRAW_SCREEN); add_default_key(&option_menu_keys, "j", GLOBAL_LINE_DOWN); add_default_key(&option_menu_keys, "k", GLOBAL_LINE_UP); add_default_key(&option_menu_keys, "g^", GLOBAL_FIRST_PAGE); add_default_key(&option_menu_keys, "G$", GLOBAL_LAST_PAGE); + add_default_key(&option_menu_keys, "h", GLOBAL_HELP); add_default_key(&option_menu_keys, "q", GLOBAL_QUIT); + add_default_key(&option_menu_keys, "r", CONFIG_RESET_ATTRIB); add_default_key(&option_menu_keys, "v", GLOBAL_VERSION); add_default_key(&option_menu_keys, "Q", CONFIG_NO_SAVE); + add_default_key(&option_menu_keys, "S", CONFIG_SCOPE_MENU); add_default_key(&option_menu_keys, ">", GLOBAL_SCROLL_DOWN); add_default_key(&option_menu_keys, "<", GLOBAL_SCROLL_UP); add_default_key(&option_menu_keys, "/", GLOBAL_SEARCH_SUBJECT_FORWARD); add_default_key(&option_menu_keys, "?", GLOBAL_SEARCH_SUBJECT_BACKWARD); add_default_key(&option_menu_keys, "\\", GLOBAL_SEARCH_REPEAT); +#ifndef NO_SHELL_ESCAPE + add_default_key(&option_menu_keys, "!", GLOBAL_SHELL_ESCAPE); +#endif /* !NO_SHELL_ESCAPE */ /* prompt keys */ add_default_key(&prompt_keys, "", GLOBAL_ABORT); @@ -2624,6 +2867,7 @@ setup_default_keys( add_default_key(&feed_type_keys, "a", FEED_ARTICLE); add_default_key(&feed_type_keys, "h", FEED_HOT); add_default_key(&feed_type_keys, "p", FEED_PATTERN); + add_default_key(&feed_type_keys, "r", FEED_RANGE); add_default_key(&feed_type_keys, "q", GLOBAL_QUIT); add_default_key(&feed_type_keys, "t", FEED_THREAD); add_default_key(&feed_type_keys, "T", FEED_TAGGED); @@ -2639,12 +2883,6 @@ setup_default_keys( add_default_key(&filter_keys, "q", GLOBAL_QUIT); add_default_key(&filter_keys, "s", FILTER_SAVE); - /* mark read */ - add_default_key(&mark_read_keys, "", GLOBAL_ABORT); - add_default_key(&mark_read_keys, "c", MARK_READ_CURRENT); - add_default_key(&mark_read_keys, "q", GLOBAL_QUIT); - add_default_key(&mark_read_keys, "t", MARK_READ_TAGGED); - #ifdef HAVE_PGP_GPG /* pgp mail */ add_default_key(&pgp_mail_keys, "", GLOBAL_ABORT); @@ -2665,6 +2903,38 @@ setup_default_keys( add_default_key(&save_append_overwrite_keys, "a", SAVE_APPEND_FILE); add_default_key(&save_append_overwrite_keys, "o", SAVE_OVERWRITE_FILE); add_default_key(&save_append_overwrite_keys, "q", GLOBAL_QUIT); + + /* url level */ + add_default_key(&url_keys, "", GLOBAL_ABORT); + add_default_key(&url_keys, "1", DIGIT_1); + add_default_key(&url_keys, "2", DIGIT_2); + add_default_key(&url_keys, "3", DIGIT_3); + add_default_key(&url_keys, "4", DIGIT_4); + add_default_key(&url_keys, "5", DIGIT_5); + add_default_key(&url_keys, "6", DIGIT_6); + add_default_key(&url_keys, "7", DIGIT_7); + add_default_key(&url_keys, "8", DIGIT_8); + add_default_key(&url_keys, "9", DIGIT_9); + add_default_key(&url_keys, "b", GLOBAL_PAGE_UP); + add_default_key(&url_keys, " ", GLOBAL_PAGE_DOWN); + add_default_key(&url_keys, "h", GLOBAL_HELP); + add_default_key(&url_keys, "\n\r", URL_SELECT); + add_default_key(&url_keys, "H", GLOBAL_TOGGLE_HELP_DISPLAY); + add_default_key(&url_keys, " ", GLOBAL_REDRAW_SCREEN); + add_default_key(&url_keys, "j", GLOBAL_LINE_DOWN); + add_default_key(&url_keys, "k", GLOBAL_LINE_UP); + add_default_key(&url_keys, "g^", GLOBAL_FIRST_PAGE); + add_default_key(&url_keys, "G$", GLOBAL_LAST_PAGE); + add_default_key(&url_keys, "i", GLOBAL_TOGGLE_INFO_LAST_LINE); + add_default_key(&url_keys, "q", GLOBAL_QUIT); + add_default_key(&url_keys, ">", GLOBAL_SCROLL_DOWN); + add_default_key(&url_keys, "<", GLOBAL_SCROLL_UP); + add_default_key(&url_keys, "/", GLOBAL_SEARCH_SUBJECT_FORWARD); + add_default_key(&url_keys, "?", GLOBAL_SEARCH_SUBJECT_BACKWARD); + add_default_key(&url_keys, "\\", GLOBAL_SEARCH_REPEAT); +#ifndef NO_SHELL_ESCAPE + add_default_key(&url_keys, "!", GLOBAL_SHELL_ESCAPE); +#endif /* !NO_SHELL_ESCAPE */ } @@ -2688,6 +2958,7 @@ add_global_keys( add_default_key(keys, "8", DIGIT_8); add_default_key(keys, "9", DIGIT_9); add_default_key(keys, "b", GLOBAL_PAGE_UP); + add_default_key(keys, " ", GLOBAL_PAGE_DOWN); add_default_key(keys, " ", GLOBAL_REDRAW_SCREEN); add_default_key(keys, "j", GLOBAL_LINE_DOWN); add_default_key(keys, "k", GLOBAL_LINE_UP); @@ -2711,7 +2982,7 @@ add_global_keys( add_default_key(keys, "#", GLOBAL_SET_RANGE); #ifndef NO_SHELL_ESCAPE add_default_key(keys, "!", GLOBAL_SHELL_ESCAPE); -#endif /* NO_SHELL_ESCAPE */ +#endif /* !NO_SHELL_ESCAPE */ #ifdef HAVE_COLOR add_default_key(keys, "&", GLOBAL_TOGGLE_COLOR); #endif /* HAVE COLOR */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/lang.c tin-2.0.0/src/lang.c --- tin-1.8.3/src/lang.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/lang.c 2011-05-29 01:44:57.694372223 +0200 @@ -3,10 +3,10 @@ * Module : lang.c * Author : I. Lea * Created : 1991-04-01 - * Updated : 2005-10-19 + * Updated : 2011-01-30 * Notes : * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -48,7 +48,9 @@ constext txt_all[] = N_("all "); constext txt_all_groups[] = N_("All groups"); constext txt_append_overwrite_quit[] = N_("File %s exists. %s=append, %s=overwrite, %s=quit: "); constext txt_art_cancel[] = N_("Article cancelled (deleted)."); -constext txt_art_cannot_cancel[] = N_("Article cannot be cancelled (deleted)."); +#ifndef FORGERY + constext txt_art_cannot_cancel[] = N_("Article cannot be cancelled (deleted)."); +#endif /* !FORGERY */ constext txt_art_deleted[] = N_("Article deleted."); constext txt_art_newsgroups[] = N_("\nYour article:\n \"%s\"\nwill be posted to the following %s:\n"); constext txt_art_not_posted[] = N_("Article not posted!"); @@ -59,9 +61,10 @@ constext txt_art_parent_killed[] = N_("P constext txt_art_parent_unavail[] = N_("Parent article is unavailable"); constext txt_art_posted[] = N_("Article posted: %s"); constext txt_art_rejected[] = N_("Article rejected (saved to %s)"); -constext txt_art_thread_regex_tag[] = N_("%s=article, %s=thread, %s=hot, %s=pattern, %s=tagged articles, %s=quit: "); +constext txt_art_thread_regex_tag[] = N_("%s=article, %s=thread, %s=range, %s=hot, %s=pattern, %s=tagged, %s=quit: "); constext txt_art_unavailable[] = N_("Article unavailable"); constext txt_art_undeleted[] = N_("Article undeleted."); +constext txt_art_x_of_n[] = N_("Article %4d of %4d"); constext txt_article_cancelled[] = "Article cancelled by author.\n"; constext txt_article_plural[] = N_("articles"); constext txt_article_reposted[] = N_("This is a repost of the following article:"); @@ -71,15 +74,30 @@ constext txt_articles_mailed[] = N_("-- constext txt_at_s[] = N_(" at %s"); constext txt_attach[] = N_("%*s[-- %s/%s, encoding %s%s%s, %d lines%s%s --]\n"); constext txt_attach_charset[] = N_(", charset: "); +constext txt_attach_unsup_charset[] = N_("%*s[-- charset %s not supported --]\n"); constext txt_attach_description[] = N_("%*s[-- Description: %s --]\n"); -constext txt_auth_failed[] = N_("%d Authentication failed"); -constext txt_auth_needed[] = N_("Server expects authentication.\n"); -constext txt_auth_pass[] = N_(" Please enter password: "); -constext txt_auth_user[] = N_(" Please enter username: "); +constext txt_attachment_lines[] = N_("%d lines"); +constext txt_attachment_menu[] = N_("Attachment Menu"); +constext txt_attachment_menu_com[] = N_("Attachment Menu Commands"); +constext txt_attachment_no_name[] = N_(""); +constext txt_attachment_saved[] = N_("Attachment saved successfully. (%s)"); +constext txt_attachments_saved[] = N_("%d of %d attachments saved successfully."); +constext txt_attachment_select[] = N_("Select attachment> "); +constext txt_attachment_tagged[] = N_("Tagged attachment"); +constext txt_attachments_tagged[] = N_("%d attachments tagged"); +constext txt_attachment_untagged[] = N_("Untagged attachment"); +constext txt_attrib_menu_com[] = N_("Attributes Menu Commands"); +#ifdef NNTP_ABLE + constext txt_auth_failed[] = N_("%d Authentication failed"); + constext txt_auth_failed_nopass[] = N_("NNTP authorization password not found for %s"); + constext txt_auth_needed[] = N_("Server expects authentication.\n"); + constext txt_auth_pass[] = N_(" Please enter password: "); + constext txt_auth_user[] = N_(" Please enter username: "); + constext txt_authorization_ok[] = N_("Authorized for user: %s\n"); + constext txt_authorization_fail[] = N_("Authorization failed for user: %s\n"); +#endif /* NNTP_ABLE */ constext txt_author_search_backwards[] = N_("Author search backwards [%s]> "); constext txt_author_search_forwards[] = N_("Author search forwards [%s]> "); -constext txt_authorization_ok[] = N_("Authorized for user: %s\n"); -constext txt_authorization_fail[] = N_("Authorization failed for user: %s\n"); constext txt_autosubscribed[] = N_("\nAutosubscribed to %s"); constext txt_autosubscribing_groups[] = N_("Autosubscribing groups...\n"); constext txt_autoselecting_articles[] = N_("Autoselecting articles (use '%s' to see all unread) ..."); @@ -93,6 +111,7 @@ constext txt_base_article[] = N_("Base a constext txt_base_article_range[] = N_("Base article range"); constext txt_batch_update_unavail[] = N_("%s: Updating of index files not supported\n"); constext txt_begin_of_art[] = N_("*** Beginning of article ***"); +constext txt_begin_of_page[] = N_("*** Beginning of page ***"); constext txt_cancel_article[] = N_("Cancel (delete) or supersede (overwrite) article [%%s]? (%s/%s/%s): "); constext txt_cancelling_art[] = N_("Cancelling article..."); @@ -103,7 +122,9 @@ constext txt_cannot_open[] = N_("Can't o constext txt_cannot_open_for_saving[] = N_("Couldn't open %s for saving"); constext txt_cannot_post[] = N_("*** Posting not allowed ***"); constext txt_cannot_post_group[] = N_("Posting is not allowed to %s"); -constext txt_cannot_retrieve[] = N_("Can't retrieve %s"); +#ifdef NNTP_ABLE + constext txt_cannot_retrieve[] = N_("Can't retrieve %s"); +#endif /* NNTP_ABLE */ constext txt_cannot_write_to_directory[] = N_("%s is a directory"); constext txt_catchup[] = N_("Catchup"); constext txt_catchup_group[] = N_("Catchup %s..."); @@ -121,7 +142,9 @@ constext txt_choose_post_process_type[] #endif /* HAVE_COLOR */ constext txt_command_failed[] = N_("Command failed: %s"); constext txt_confirm_select_on_exit[] = N_("Mark not selected articles read?"); -constext txt_connecting[] = N_("Connecting to %s..."); +#ifdef NNTP_ABLE + constext txt_connecting[] = N_("Connecting to %s..."); +#endif /* NNTP_ABLE */ constext txt_cr[] = N_(""); constext txt_creating_active[] = N_("Creating active file for saved groups...\n"); constext txt_creating_newsrc[] = N_("Creating newsrc file...\n"); @@ -132,11 +155,16 @@ constext txt_deleting[] = N_("Deleting t constext txt_end_of_art[] = N_("*** End of article ***"); constext txt_end_of_arts[] = N_("*** End of articles ***"); +constext txt_end_of_attachments[] = N_("*** End of attachments ***"); constext txt_end_of_groups[] = N_("*** End of groups ***"); +constext txt_end_of_page[] = N_("*** End of page ***"); +constext txt_end_of_scopes[] = N_("*** End of scopes ***"); constext txt_end_of_thread[] = N_("*** End of thread ***"); +constext txt_end_of_urls[] = N_("*** End of URLs ***"); constext txt_enter_getart_limit[] = N_("Enter limit of articles to get> "); constext txt_enter_message_id[] = N_("Enter Message-ID to go to> "); constext txt_enter_next_thread[] = N_(" and enter next unread thread"); +constext txt_enter_next_unread_art[] = N_(" and enter next unread article"); constext txt_enter_next_unread_group[] = N_(" and enter next unread group"); constext txt_enter_option_num[] = N_("Enter option number> "); constext txt_enter_range[] = N_("Enter range [%s]> "); @@ -146,12 +174,15 @@ constext txt_error_bad_approved[] = N_(" constext txt_error_bad_from[] = N_("\nError: Bad address in From: header.\n"); constext txt_error_bad_replyto[] = N_("\nError: Bad address in Reply-To: header.\n"); constext txt_error_bad_msgidfqdn[] = N_("\nError: Bad FQDN in Message-ID: header.\n"); -constext txt_error_cant_unlock[] = N_("Can't unlock %s"); +#ifndef NO_LOCKING + constext txt_error_cant_unlock[] = N_("Can't unlock %s"); + constext txt_error_couldnt_dotlock[] = N_("Couldn't dotlock %s - article not appended!"); + constext txt_error_couldnt_lock[] = N_("Couldn't lock %s - article not appended!"); +#endif /* !NO_LOCKING */ constext txt_error_copy_fp[] = "copy_fp() failed"; constext txt_error_corrupted_file[] = N_("Corrupted file %s"); -constext txt_error_couldnt_dotlock[] = N_("Couldn't dotlock %s - article not appended!"); -constext txt_error_couldnt_lock[] = N_("Couldn't lock %s - article not appended!"); constext txt_error_fseek[] = "fseek() error on [%s]"; +constext txt_error_followup_poster[] = N_("\nError: Followup-To \"poster\" and a newsgroup is not allowed!\n"); constext txt_error_gnksa_internal[] = N_("Internal error in GNKSA routine - send bug report.\n"); constext txt_error_gnksa_langle[] = N_("Left angle bracket missing in route address.\n"); constext txt_error_gnksa_lparen[] = N_("Left parenthesis missing in old-style address.\n"); @@ -179,6 +210,7 @@ constext txt_error_gnksa_rn_encsyn[] = N constext txt_error_gnksa_rn_paren[] = N_("Illegal character in realname.\nUnquoted words may not contain '()<>\\' in old-style addresses.\n"); constext txt_error_gnksa_rn_invalid[] = N_("Illegal character in realname.\nControl characters and unencoded 8bit characters > 127 are not allowed.\n"); constext txt_error_header_and_body_not_separate[] = N_("\nError: No blank line found after header.\n"); +constext txt_error_header_format[] = N_("\nError: Illegal formatted %s.\n"); /* TODO: fixme, US-ASCII is not the only 7bit charset we know about */ constext txt_error_header_line_bad_charset[] = N_("\n\ Error: Posting contains non-ASCII characters but MM_CHARSET is set to\n\ @@ -195,22 +227,32 @@ constext txt_error_header_line_blank[] = constext txt_error_header_line_colon[] = N_("\nError: Header on line %d does not have a colon after the header name:\n%s\n"); constext txt_error_header_line_empty[] = N_("\nError: The \"%s:\" line is empty.\n"); constext txt_error_header_line_missing[] = N_("\nError: The \"%s:\" line is missing from the article header.\n"); +constext txt_error_header_line_not_7bit[] = N_("\nError: %s contains non 7bit chars.\n"); constext txt_error_header_line_space[] = N_("\nError: Header on line %d does not have a space after the colon:\n%s\n"); constext txt_error_header_duplicate[] = N_("\nError: There are multiple (%d) \"%s:\" lines in the header.\n"); constext txt_error_insecure_permissions[] = N_("Insecure permissions of %s (%o)"); -constext txt_error_invalid_response_to_group[] = N_("Invalid response to GROUP command, %s"); -constext txt_error_locale[] = "Can't set the specified locale!"; +#ifdef NNTP_ABLE + constext txt_error_invalid_response_to_group[] = N_("Invalid response to GROUP command, %s"); +#endif /* NNTP_ABLE */ +#if defined(HAVE_SETLOCALE) && !defined(NO_LOCALE) + constext txt_error_locale[] = "Can't set the specified locale!"; +#endif /* HAVE_SETLOCALE && !NO_LOCALE */ constext txt_error_mime_end[] = N_("MIME parse error: Unexpected end of %s/%s article"); constext txt_error_mime_start[] = N_("MIME parse error: Start boundary whilst reading headers"); +constext txt_error_newsgroups_poster[] = N_("\nError: \"poster\" is not allowed in Newsgroups!\n"); constext txt_error_no_domain_name[] = N_("Can't get a (fully-qualified) domain-name!"); constext txt_error_no_enter_permission[] = N_("No permissions to go into %s\n"); -constext txt_error_no_from[] = N_("\nError: From: line missing.\n"); +#ifdef NNTP_INEWS + constext txt_error_no_from[] = N_("\nError: From: line missing.\n"); +#endif /* NNTP_INEWS */ constext txt_error_no_read_permission[] = N_("No read permissions for %s\n"); constext txt_error_no_such_file[] = N_("File %s does not exist\n"); constext txt_error_no_write_permission[] = N_("No write permissions for %s\n"); constext txt_error_passwd_missing[] = N_("Can't get user information (/etc/passwd missing?)"); constext txt_error_plural[] = N_("errors"); -constext txt_error_sender_in_header_not_allowed[] = N_("\nError on line %d: \"Sender:\" header not allowed (it will be added for you)\n"); +#ifndef FORGERY + constext txt_error_sender_in_header_not_allowed[] = N_("\nError on line %d: \"Sender:\" header not allowed (it will be added for you)\n"); +#endif /* !FORGERY */ constext txt_error_server_has_no_listed_groups[] = N_("Server has non of the groups listed in %s"); constext txt_error_singular[] = N_("error"); constext txt_error_unknown_dlevel[] = N_("Unknown display level"); @@ -256,8 +298,9 @@ constext txt_filter_comment[] = N_("Comm constext txt_filter_text_type[] = N_("Apply pattern to : "); constext txt_from_line_only[] = N_("From: line (ignore case) "); constext txt_from_line_only_case[] = N_("From: line (case sensitive) "); - -constext txt_gethostbyname[] = N_("%s%s: Unknown host.\n"); +#ifdef NNTP_ABLE + constext txt_gethostbyname[] = N_("%s%s: Unknown host.\n"); +#endif /* NNTP_ABLE */ constext txt_global[] = N_("global "); constext txt_group_aliased[] = N_("Please use %.100s instead"); constext txt_group_bogus[] = N_("%s is bogus"); @@ -282,13 +325,16 @@ constext txt_help_article_autokill[] = N constext txt_help_article_autoselect[] = N_("auto-select (hot) an article via a menu"); constext txt_help_article_browse_urls[] = N_("Browse URLs in article"); constext txt_help_article_by_num[] = N_("0 - 9\t display article by number in current thread"); -constext txt_help_article_cancel[] = N_("cancel (delete) or supersede (overwrite) current article"); +#ifndef NO_POSTING + constext txt_help_article_cancel[] = N_("cancel (delete) or supersede (overwrite) current article"); + constext txt_help_article_followup[] = N_("post followup to current article"); + constext txt_help_article_followup_no_quote[] = N_("post followup (don't copy text) to current article"); + constext txt_help_article_followup_with_header[] = N_("post followup to current article quoting complete headers"); + constext txt_help_article_repost[] = N_("repost chosen article to another group"); +#endif /* !NO_POSTING */ constext txt_help_article_edit[] = N_("edit article (mail-groups only)"); constext txt_help_article_first_in_thread[] = N_("display first article in current thread"); constext txt_help_article_first_page[] = N_("display first page of article"); -constext txt_help_article_followup[] = N_("post followup to current article"); -constext txt_help_article_followup_no_quote[] = N_("post followup (don't copy text) to current article"); -constext txt_help_article_followup_with_header[] = N_("post followup to current article quoting complete headers"); constext txt_help_article_last_in_thread[] = N_("display last article in current thread"); constext txt_help_article_last_page[] = N_("display last page of article"); constext txt_help_article_mark_thread_read[] = N_("mark rest of thread as read and advance to next unread"); @@ -304,19 +350,51 @@ constext txt_help_article_quit_to_select constext txt_help_article_reply[] = N_("reply through mail to author"); constext txt_help_article_reply_no_quote[] = N_("reply through mail (don't copy text) to author"); constext txt_help_article_reply_with_header[] = N_("reply through mail to author quoting complete headers"); -constext txt_help_article_repost[] = N_("repost chosen article to another group"); constext txt_help_article_search_backwards[] = N_("search backwards within this article"); constext txt_help_article_search_forwards[] = N_("search forwards within this article"); constext txt_help_article_show_raw[] = N_("show article in raw-mode (including all headers)"); constext txt_help_article_skip_quote[] = N_("skip next block of included text"); constext txt_help_article_toggle_formfeed[] = N_("toggle display of sections hidden by a form-feed (^L) on/off"); +constext txt_help_article_toggle_headers[] = N_("toggle display of all headers"); constext txt_help_article_toggle_highlight[] = N_("toggle word highlighting on/off"); constext txt_help_article_toggle_rot13[] = N_("toggle ROT-13 (basic decode) for current article"); constext txt_help_article_toggle_tabwidth[] = N_("toggle tabwidth 4 <-> 8"); constext txt_help_article_toggle_tex2iso[] = N_("toggle german TeX style decoding for current article"); constext txt_help_article_toggle_uue[] = N_("toggle display of uuencoded sections"); -constext txt_help_article_view_attachments[] = N_("View/save multimedia attachments"); +constext txt_help_article_view_attachments[] = N_("View/pipe/save multimedia attachments"); +constext txt_help_attachment_first[] = N_("choose first attachment in list"); +constext txt_help_attachment_goto[] = N_("0 - 9\t choose attachment by number"); +constext txt_help_attachment_last[] = N_("choose last attachment in list"); +#ifndef DONT_HAVE_PIPING +constext txt_help_attachment_pipe[] = N_("pipe attachment into command"); +constext txt_help_attachment_pipe_raw[] = N_("pipe raw attachment into command"); +#endif /* !DONT_HAVE_PIPING */ +constext txt_help_attachment_save[] = N_("save attachment to disk"); +constext txt_help_attachment_search_forwards[] = N_("search for attachments forwards"); +constext txt_help_attachment_search_backwards[] = N_("search for attachments backwards"); +constext txt_help_attachment_select[] = N_("view attachment"); +constext txt_help_attachment_tag[] = N_("tag attachment"); +constext txt_help_attachment_tag_pattern[] = N_("tag attachments that match user specified pattern"); +constext txt_help_attachment_toggle_tagged[] = N_("reverse tagging on all attachments (toggle)"); +constext txt_help_attachment_untag[] = N_("untag all tagged attachments"); +constext txt_help_attachment_toggle_info_line[] = N_("toggle info message in last line (name/description of attachment)"); +constext txt_help_attrib_first_opt[] = N_("choose first attribute in list"); +constext txt_help_attrib_goto_opt[] = N_("0 - 9\t choose attribute by number"); +constext txt_help_attrib_last_opt[] = N_("choose last attribute in list"); +constext txt_help_attrib_reset_attrib[] = N_("reset attribute to a default value"); +constext txt_help_attrib_search_opt_backwards[] = N_("search forwards for an attribute"); +constext txt_help_attrib_search_opt_forwards[] = N_("search backwards for an attribute"); +constext txt_help_attrib_select[] = N_("select attribute"); +constext txt_help_attrib_toggle_attrib[] = N_("toggle back to options menu when invoked from there"); constext txt_help_bug[] = N_("report bug or comment via mail to %s"); +constext txt_help_config_first_opt[] = N_("choose first option in list"); +constext txt_help_config_goto_opt[] = N_("0 - 9\t choose option by number"); +constext txt_help_config_last_opt[] = N_("choose last option in list"); +constext txt_help_config_scope_menu[] = N_("start scopes menu"); +constext txt_help_config_search_opt_backwards[] = N_("search forwards for an option"); +constext txt_help_config_search_opt_forwards[] = N_("search backwards for an option"); +constext txt_help_config_select[] = N_("select option"); +constext txt_help_config_toggle_attrib[] = N_("toggle to attributes menu"); constext txt_help_global_article_range[] = N_("choose range of articles to be affected by next command"); constext txt_help_global_esc[] = N_("escape from command prompt"); constext txt_help_global_edit_filter[] = N_("edit filter file"); @@ -329,8 +407,10 @@ constext txt_help_global_mail[] = N_("ma constext txt_help_global_option_menu[] = N_("menu of configurable options"); constext txt_help_global_page_down[] = N_("down one page"); constext txt_help_global_page_up[] = N_("up one page"); -constext txt_help_global_post[] = N_("post (write) article to current group"); -constext txt_help_global_post_postponed[] = N_("post postponed articles"); +#ifndef NO_POSTING + constext txt_help_global_post[] = N_("post (write) article to current group"); + constext txt_help_global_post_postponed[] = N_("post postponed articles"); +#endif /* !NO_POSTING */ constext txt_help_global_posting_history[] = N_("list articles posted by you (from posted file)"); constext txt_help_global_previous_menu[] = N_("return to previous menu"); constext txt_help_global_quit_tin[] = N_("quit tin immediately"); @@ -358,8 +438,10 @@ constext txt_help_group_first_thread[] = constext txt_help_group_last_thread[] = N_("choose last thread in list"); constext txt_help_group_list_thread[] = N_("list articles within current thread (bring up Thread sub-menu)"); constext txt_help_group_mark_article_unread[] = N_("mark article as unread"); -constext txt_help_group_mark_thread_read[] = N_("mark current thread or tagged threads as read"); -constext txt_help_group_mark_thread_unread[] = N_("mark thread as unread"); +constext txt_help_group_mark_thread_read[] = N_("mark current thread, range or tagged threads as read"); +constext txt_help_group_mark_thread_unread[] = N_("mark current thread, range or tagged threads as unread"); +constext txt_help_mark_feed_read[] = N_("mark current/range/selected/pattern/tagged as read after prompting"); +constext txt_help_mark_feed_unread[] = N_("mark current/range/selected/pattern/tagged as unread after prompting"); constext txt_help_group_mark_unsel_art_read[] = N_("toggle display of all/selected articles"); constext txt_help_group_next[] = N_("display next group"); constext txt_help_group_prev[] = N_("display previous group"); @@ -376,6 +458,15 @@ constext txt_help_group_toggle_thread_se constext txt_help_group_toggle_threading[] = N_("cycle through threading options available"); constext txt_help_group_undo_thread_selection[] = N_("undo all selections (all articles)"); constext txt_help_group_untag_thread[] = N_("untag all tagged threads"); +constext txt_help_scope_add[] = N_("add new scope"); +constext txt_help_scope_del[] = N_("delete scope"); +constext txt_help_scope_edit_attrib_file[] = N_("edit attributes file"); +constext txt_help_scope_first_scope[] = N_("choose first scope in list"); +constext txt_help_scope_goto_scope[] = N_("0 - 9\t choose scope by number"); +constext txt_help_scope_last_scope[] = N_("choose last scope in list"); +constext txt_help_scope_move[] = N_("move scope"); +constext txt_help_scope_rename[] = N_("rename scope"); +constext txt_help_scope_select[] = N_("select scope"); constext txt_help_select_catchup[] = N_("mark all articles in group as read"); constext txt_help_select_catchup_next_unread[] = N_("mark all articles in group as read and move to next unread group"); constext txt_help_select_first_group[] = N_("choose first group in list"); @@ -407,12 +498,26 @@ constext txt_help_thread_catchup[] = N_( constext txt_help_thread_catchup_next_unread[] = N_("mark thread as read and enter next unread thread or group"); constext txt_help_thread_first_article[] = N_("choose first article in list"); constext txt_help_thread_last_article[] = N_("choose last article in list"); -constext txt_help_thread_mark_article_read[] = N_("mark article or tagged articles as read and move cursor to next unread article"); +constext txt_help_thread_mark_article_read[] = N_("mark art, range or tagged arts as read; move crsr to next unread art"); +constext txt_help_thread_mark_article_unread[] = N_("mark article, range or tagged articles as unread"); +constext txt_help_thread_mark_thread_unread[] = N_("mark current thread as unread"); constext txt_help_thread_read_article[] = N_("read chosen article"); constext txt_help_title_disp[] = N_("Display properties\n------------------"); constext txt_help_title_misc[] = N_("Miscellaneous\n-------------"); constext txt_help_title_navi[] = N_("Moving around\n-------------"); constext txt_help_title_ops[] = N_("Group/thread/article operations\n-------------------------------"); +constext txt_help_title_attachment_ops[] = N_("Attachment operations\n---------------------"); +constext txt_help_title_attrib_ops[] = N_("Attribute operations\n--------------------"); +constext txt_help_title_config_ops[] = N_("Option operations\n-----------------"); +constext txt_help_title_scope_ops[] = N_("Scope operations\n----------------"); +constext txt_help_title_url_ops[] = N_("URL operations\n--------------"); +constext txt_help_url_first_url[] = N_("choose first URL in list"); +constext txt_help_url_goto_url[] = N_("0 - 9\t choose URL by number"); +constext txt_help_url_last_url[] = N_("choose last URL in list"); +constext txt_help_url_search_forwards[] = N_("search for URLs forwards"); +constext txt_help_url_search_backwards[] = N_("search for URLs backwards"); +constext txt_help_url_select[] = N_("Open URL in browser"); +constext txt_help_url_toggle_info_line[] = N_("toggle info message in last line (URL)"); constext txt_index_page_com[] = N_("Group Level Commands"); constext txt_info_add_kill[] = N_("Kill filter added"); @@ -454,7 +559,9 @@ constext txt_invalid_from[] = N_("Invali #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) constext txt_invalid_multibyte_sequence[] = N_("Invalid multibyte sequence found\n"); #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ -constext txt_invalid_sender[] = N_("Invalid Sender:-header %s"); +#if defined(NNTP_INEWS) && !defined(FORGERY) + constext txt_invalid_sender[] = N_("Invalid Sender:-header %s"); +#endif /* NNTP_INEWS && !FORGERY */ constext txt_inverse_off[] = N_("Inverse video disabled"); constext txt_inverse_on[] = N_("Inverse video enabled"); @@ -475,7 +582,6 @@ constext txt_last[] = N_("Last"); constext txt_last_resp[] = N_("-- Last response --"); constext txt_lines[] = N_("Lines %s "); -constext txt_msgid_line_only[] = N_("Message-ID: line "); constext txt_mail[] = N_("Mail"); constext txt_mailbox[] = N_("mailbox "); constext txt_mail_art_to[] = N_("Mail article(s) to [%.*s]> "); @@ -487,30 +593,46 @@ constext txt_mailing_to[] = N_("Mailing constext txt_mail_save_active_head[] = N_("# [Mail/Save] active file. Format is like news active file:\n\ # groupname max.artnum min.artnum /dir\n\ # The 4th field is the basedir (ie. ~/Mail or ~/News)\n#\n"); +constext txt_marked_as_read[] = N_("%s marked as read"); constext txt_marked_as_unread[] = N_("%s marked as unread"); -constext txt_marked_tagged_arts_as_read[] = N_("Marked %d of %d tagged %s as read"); +constext txt_marked_arts_as_read[] = N_("Marked %d of %d %s as read"); +constext txt_marked_arts_as_unread[] = N_("Marked %d of %d %s as unread"); +constext txt_mark[] = N_("Mark"); constext txt_mark_arts_read[] = N_("Mark all articles as read%s?"); -constext txt_mark_art_read_tagged_current[] = N_("Mark %s=tagged articles, %s=current article, %s=quit: "); +constext txt_mark_art_read[] = N_("Mark article as read%s?"); constext txt_mark_group_read[] = N_("Mark group %s as read?"); constext txt_mark_thread_read[] = N_("Mark thread as read%s?"); -constext txt_mark_thread_read_tagged_current[] = N_("Mark %s=tagged articles/threads, %s=current thread, %s=quit: "); constext txt_matching_cmd_line_groups[] = N_("Matching %s groups..."); +constext txt_mini_attachment_1[] = N_("=set current to n; %s=line down; %s=line up; %s=help; %s=quit"); +#ifndef DONT_HAVE_PIPING +constext txt_mini_attachment_2[] = N_("%s=view; %s=pipe; %s=pipe raw; %s=save; %s=tag; %s=tag pattern; %s=untag all"); +#else +constext txt_mini_attachment_2[] = N_("%s=view; %s=save; %s=tag; %s=tag pattern; %s=untag all"); +#endif /* !DONT_HAVE_PIPING */ +constext txt_mini_attachment_3[] = N_("%s=reverse tagging; %s=search forwards; %s=search backwards; %s=repeat search"); constext txt_mini_group_1[] = N_("=set current to n; %s=next unread; %s=search pattern; %s=kill/select"); constext txt_mini_group_2[] = N_("%s=author search; %s=catchup; %s=line down; %s=line up; %s=mark read; %s=list thread"); constext txt_mini_info_1[] = N_("%s=line up; %s=line down; %s=page up; %s=page down; %s=top; %s=bottom"); constext txt_mini_info_2[] = N_("%s=search forwards; %s=search backwards; %s=quit"); constext txt_mini_page_1[] = N_("=set current to n; %s=next unread; %s=search pattern; %s=kill/select"); constext txt_mini_page_2[] = N_("%s=author search; %s=body search; %s=catchup; %s=followup; %s=mark read"); +constext txt_mini_scope_1[] = N_("%s=add; %s=move; %s=rename; %s=delete"); +constext txt_mini_scope_2[] = N_("=set current to n; %s=line down; %s=line up; %s=help; %s=quit"); constext txt_mini_select_1[] = N_("=set current to n; %s=next unread; %s,%s=search pattern; %s=catchup"); constext txt_mini_select_2[] = N_("%s=line down; %s=line up; %s=help; %s=move; %s=quit; %s=toggle all/unread"); constext txt_mini_select_3[] = N_("%s=subscribe; %s=sub pattern; %s=unsubscribe; %s=unsub pattern; %s=yank in/out"); constext txt_mini_thread_1[] = N_("=set current to n; %s=next unread; %s=catchup; %s=display toggle"); constext txt_mini_thread_2[] = N_("%s=help; %s=line down; %s=line up; %s=quit; %s=tag; %s=mark unread"); +constext txt_mini_url_1[] = N_("=set current to n; %s=line down; %s=line up; %s=help; %s=quit"); +constext txt_mini_url_2[] = N_("%s=search forwards; %s=search backwards; %s=repeat search"); constext txt_more[] = N_("--More--"); constext txt_moving[] = N_("Moving %s..."); +constext txt_msgid_line_last[] = N_("Message-ID: & last Reference "); +constext txt_msgid_line_only[] = N_("Message-ID: line "); +constext txt_msgid_refs_line[] = N_("Message-ID: & References: line"); constext txt_name[] = N_(", name: "); -constext txt_newsgroup[] = N_("Goto newsgroup [%s]> "); +constext txt_newsgroup[] = N_("Go to newsgroup [%s]> "); constext txt_newsgroup_plural[] = N_("newsgroups"); constext txt_newsgroup_position[] = N_("Position %s in group list (1,2,..,$) [%d]> "); constext txt_newsgroup_singular[] = N_("newsgroup"); @@ -518,10 +640,10 @@ constext txt_newsrc_again[] = N_("Try an constext txt_newsrc_nogroups[] = N_("Warning: No newsgroups were written to your newsrc file. Save aborted."); constext txt_newsrc_saved[] = N_("newsrc file saved successfully.\n"); constext txt_next_resp[] = N_("-- Next response --"); -constext txt_nntp_authorization_failed[] = N_("NNTP authorization password not found for %s"); constext txt_no[] = N_("No "); constext txt_no_arts[] = N_("*** No articles ***"); constext txt_no_arts_posted[] = N_("No articles have been posted"); +constext txt_no_attachments[] = N_("*** No attachments ***"); constext txt_no_description[] = N_("*** No description ***"); constext txt_no_filename[] = N_("No filename"); constext txt_no_group[] = N_("No group"); @@ -535,9 +657,11 @@ constext txt_no_more_groups[] = N_("No m constext txt_no_newsgroups[] = N_("No newsgroups"); constext txt_no_next_unread_art[] = N_("No next unread article"); constext txt_no_prev_group[] = N_("No previous group"); +constext txt_no_prev_search[] = N_("No previous search, nothing to repeat"); constext txt_no_prev_unread_art[] = N_("No previous unread article"); constext txt_no_responses[] = N_("No responses"); constext txt_no_resps_in_thread[] = N_("No responses to list in current thread"); +constext txt_no_scopes[] = N_("*** No scopes ***"); constext txt_no_search_string[] = N_("No search string"); constext txt_no_subject[] = N_("No subject"); #ifndef USE_CURSES @@ -556,12 +680,13 @@ constext txt_nrctbl_info[] = N_("# NNTP- # shortname list for %s %s\n#\n# the format of this file is\n\ # ...\n#\n\ # if is given without path, $HOME is assumed as its location\n\ -#\n# examples:\n# news.tin.org .newsrc-tin.org tinorg\n\ -# news.ka.nu /tmp/nrc-nu kanu nu\n#\n"); +#\n# examples:\n# news.tin.org .newsrc-tin.org tinorg\n\ +# news.example.org /tmp/nrc-ex example ex\n#\n"); constext txt_only[] = N_("Only"); constext txt_option_not_enabled[] = N_("Option not enabled. Recompile with %s."); constext txt_options_menu[] = N_("Options Menu"); +constext txt_options_menu_com[] = N_("Options Menu Commands"); constext txt_out_of_memory[] = "%s: memory exhausted trying to allocate %d bytes in file %s line %d"; constext txt_pcre_error_at[] = N_("Error in regex: %s at pos. %d '%s'"); @@ -601,9 +726,10 @@ constext txt_quit_no_write[] = N_("Do yo constext txt_quoted_printable[] = "quoted-printable"; constext txt_range_invalid[] = N_("Invalid range - valid are '0-9.$' eg. 1-$"); -constext txt_read_abort[] = N_("Do you want to abort this operation?"); -constext txt_read_exit[] = N_("Do you want to exit tin immediately?"); -constext txt_read_resp[] = N_("Read response> "); +#ifdef NNTP_ABLE + constext txt_read_abort[] = N_("Do you want to abort this operation?"); + constext txt_read_exit[] = N_("Do you want to exit tin immediately?"); +#endif /* NNTP_ABLE */ constext txt_reading_article[] = N_("Reading ('q' to quit)..."); constext txt_reading_arts[] = N_("Reading %sarticles..."); constext txt_reading_attributes_file[] = N_("Reading %sattributes file...\n"); @@ -616,10 +742,12 @@ constext txt_reading_news_active_file[] constext txt_reading_news_newsrc_file[] = N_("Reading groups from newsrc file... "); constext txt_reading_newsgroups_file[] = N_("Reading newsgroups file... "); constext txt_reading_newsrc[] = N_("Reading newsrc file..."); +constext txt_refs_line_only[] = N_("References: line "); #ifdef HAVE_GETTIMEOFDAY constext txt_remaining[] = N_("(%d:%02d remaining)"); #endif /* HAVE_GETTIMEOFDAY */ constext txt_remove_bogus[] = N_("Bogus group %s removed."); +constext txt_removed_rule[] = N_("Removed from the previous rule: "); constext txt_rename_error[] = N_("Error: rename %s to %s"); constext txt_reply_to_author[] = N_("Reply to author..."); constext txt_repost[] = N_("Repost"); @@ -628,7 +756,7 @@ constext txt_repost_group[] = N_("Repost constext txt_reset_newsrc[] = N_("Reset newsrc?"); constext txt_resp_redirect[] = N_("Responses have been directed to the following newsgroups"); constext txt_resp_to_poster[] = N_("Responses have been directed to poster. %s=mail, %s=post, %s=quit: "); -constext txt_resp_x_of_n[] = N_("RespNo %4d of %4d"); + constext txt_return_key[] = N_("Press to continue..."); constext txt_select_from[] = N_("Select From [%s] (y/n): "); @@ -665,6 +793,15 @@ constext txt_screen_init_failed[] = N_(" constext txt_screen_too_small[] = N_("%s: screen is too small\n"); #endif /* !USE_CURSES */ constext txt_screen_too_small_exiting[] = N_("screen is too small, %s is exiting\n"); +constext txt_scope_delete[] = N_("Delete scope?"); +constext txt_scope_enter[] = N_("Enter scope> "); +constext txt_scope_new_position[] = N_("Select new position> "); +constext txt_scope_new_position_is_global[] = N_("New position cannot be a global scope"); +constext txt_scope_operation_not_allowed[] = N_("Global scope, operation not allowed"); +constext txt_scope_rename[] = N_("Rename scope> "); +constext txt_scope_select[] = N_("Select scope> "); +constext txt_scopes_menu[] = N_("Scopes Menu"); +constext txt_scopes_menu_com[] = N_("Scopes Menu Commands"); constext txt_search_backwards[] = N_("Search backwards [%s]> "); constext txt_search_body[] = N_("Search body [%s]> "); constext txt_search_forwards[] = N_("Search forwards [%s]> "); @@ -718,7 +855,6 @@ constext txt_thread_marked_as_selected[] #if 0 /* unused */ constext txt_thread_plural[] = N_("threads"); #endif /* 0 */ -constext txt_thread_range[] = N_("Thread range"); constext txt_thread_singular[] = N_("thread"); constext txt_thread_x_of_n[] = N_("Thread %4s of %4s"); constext txt_threading_arts[] = N_("Threading articles..."); @@ -726,9 +862,11 @@ constext txt_toggled_high[] = N_("Toggle constext txt_toggled_rot13[] = N_("Toggled rot13 encoding"); constext txt_toggled_tex2iso[] = N_("Toggled german TeX encoding %s"); constext txt_toggled_tabwidth[] = N_("Toggled tab-width to %d"); -constext txt_trying_dotlock[] = N_("%d Trying to dotlock %s"); -constext txt_trying_lock[] = N_("%d Trying to lock %s"); -constext txt_type_h_for_help[] = N_(" h=help\n"); +#ifndef NO_LOCKING + constext txt_trying_dotlock[] = N_("%d Trying to dotlock %s"); + constext txt_trying_lock[] = N_("%d Trying to lock %s"); +#endif /* !NO_LOCKING */ +constext txt_type_h_for_help[] = N_(" h=help"); constext txt_unlimited_time[] = N_("Unlimited"); constext txt_unsubscribe_pattern[] = N_("Enter wildcard unsubscribe pattern> "); @@ -742,9 +880,15 @@ constext txt_unsubscribed_to[] = N_("Uns constext txt_unsubscribing[] = N_("Unsubscribing... "); constext txt_unthreading_arts[] = N_("Unthreading articles..."); constext txt_updated[] = N_("Updated"); +#ifdef NNTP_ABLE + constext txt_unparseable_counts[] = N_("unparseable \"LIST COUNTS\" line: \"%s\""); +#endif /* NNTP_ABLE */ constext txt_updating[] = N_("Updating"); -constext txt_url_open[] = N_("Opening %s\n"); -constext txt_url_done[] = N_("No more URL's in this article"); +constext txt_url_menu[] = N_("URL Menu"); +constext txt_url_menu_com[] = N_("URL Menu Commands"); +constext txt_url_open[] = N_("Opening %s"); +constext txt_url_select[] = N_("Select URL> "); +constext txt_url_done[] = N_("No URLs in this article"); constext txt_use_mime[] = N_("Use MIME display program for this message?"); constext txt_usage_catchup[] = N_(" -c mark all news as read in subscribed newsgroups (batch mode)"); constext txt_usage_check_for_unread_news[] = N_(" -Z return status indicating if any unread news (batch mode)"); @@ -764,7 +908,6 @@ constext txt_usage_newsrc_file[] = N_(" constext txt_usage_no_posting[] = N_(" -x no posting mode"); constext txt_usage_post_article[] = N_(" -w post an article and exit"); constext txt_usage_post_postponed_arts[] = N_(" -o post all postponed articles and exit"); -constext txt_usage_read_news_remotely[] = N_(" -r read news remotely from default NNTP server"); constext txt_usage_read_saved_news[] = N_(" -R read news saved by -S option"); constext txt_usage_savedir[] = N_(" -s dir save news directory [default=%s]"); constext txt_usage_save_new_news[] = N_(" -S save new news for later reading (batch mode)"); @@ -774,6 +917,7 @@ constext txt_usage_verbose[] = N_(" -v constext txt_usage_version[] = N_(" -V print version & date information"); constext txt_useful_without_batch_mode[] = N_("%s only useful without batch mode operations\n"); constext txt_useful_with_batch_mode[] = N_("%s only useful for batch mode operations\n"); +constext txt_useless_combination[] = N_("Useless combination %s and %s. Ignoring %s.\n"); constext txt_value_out_of_range[] = N_("\n%s%d out of range (0 - %d). Reset to 0"); constext txt_view_attachment[] = N_("View '%s' (%s/%s)?"); @@ -795,6 +939,7 @@ Warning: You are using a non-plain trans quoted-printable) and an external inews program to submit your\n\ article. If a signature is appended by that inews program it will\n\ not be encoded properly.\n"); +constext txt_warn_example_hierarchy[]= N_("\nWarning: \"example\" is a reserved hierarchy!\n"); constext txt_warn_update[] = N_("\n\nYou are upgrading to tin %s from an earlier version.\n\ Some values in your %s file have changed!\nRead WHATSNEW, etc...\n"); constext txt_warn_downgrade[] = N_("\n\nYou are downgrading to tin %s from a more recent version!\n\ @@ -820,7 +965,7 @@ constext txt_yanked_groups[] = N_("Added constext txt_yanked_none[] = N_("No unsubscribed groups to show"); constext txt_yanked_sub_groups[] = N_("Showing subscribed to groups only"); constext txt_yes[] = N_("Yes "); -constext txt_you_have_mail[] = N_(" You have mail\n"); +constext txt_you_have_mail[] = N_(" You have mail"); /* TODO: cleanup */ @@ -836,7 +981,7 @@ Warning: Posting is in %s and contains c #endif /* CHARSET_CONVERSION */ #ifdef DEBUG - constext txt_usage_debug[] = N_(" -D debug mode 1=NNTP 2=ALL"); + constext txt_usage_debug[] = N_(" -D mode debug mode"); #endif /* DEBUG */ #ifdef FORGERY @@ -875,10 +1020,12 @@ Warning: Posting is in %s and contains c #ifdef HAVE_FASCIST_NEWSADMIN constext txt_error_followup_to_several_groups[] = N_("\nError: Followup-To set to more than one newsgroup!\n"); + constext txt_error_grp_renamed[] = N_("\nError: \"%s\" is renamed, use \"%s\" instead!\n"); constext txt_error_missing_followup_to[] = N_("\nError: cross-posting to %d newsgroups and no Followup-To line!\n"); constext txt_error_not_valid_newsgroup[] = N_("\nError: \"%s\" is not a valid newsgroup!\n"); #else constext txt_warn_followup_to_several_groups[] = N_("\nWarning: Followup-To set to more than one newsgroup!\n"); + constext txt_warn_grp_renamed[] = N_("\nWarning: \"%s\" is renamed, you should use \"%s\" instead!\n"); constext txt_warn_missing_followup_to[] = N_("\nWarning: cross-posting to %d newsgroups and no Followup-To line!\n"); constext txt_warn_not_in_newsrc[] = N_("\nWarning: \"%s\" is not in your newsrc, it may be invalid at this site!\n"); constext txt_warn_not_valid_newsgroup[] = N_("\nWarning: \"%s\" is not a valid newsgroup at this site!\n"); @@ -930,16 +1077,16 @@ Warning: Posting is in %s and contains c #endif /* HAVE_PGP_GPG */ #ifdef M_UNIX - constext txt_copyright_notice[] = "%s (c) Copyright 1991-2006 Iain Lea."; + constext txt_copyright_notice[] = "%s (c) Copyright 1991-2011 Iain Lea."; #endif /* M_UNIX */ #ifdef NNTP_ABLE constext txt_caching_off[] = N_("Try cache_overview_files to speed up things.\n"); constext txt_caching_on[] = N_("Tin will use local index files instead.\n"); constext txt_cannot_get_nntp_server_name[] = N_("Cannot find NNTP server name"); - constext txt_connecting_port[] = N_("Connecting to %s:%d..."); + constext txt_connecting_port[] = N_("Connecting to %s:%u..."); constext txt_disconnecting[] = N_("Disconnecting from server...\n"); - constext txt_error_wrong_newsgroupname_in_group_response[] = N_("Wrong newsgroup name in response of GROUP command, %s for %s"); + constext txt_error_wrong_newsgroupname_in_group_response[] = N_("Wrong newsgroup name (\"%s\") in response of \"GROUP %s\" command: \"%s\""); constext txt_failed_to_connect_to_server[] = N_("Failed to connect to NNTP server %s. Exiting..."); constext txt_nntp_ok_goodbye[] = N_("205 Closing connection"); constext txt_no_xover_support[] = N_("Your server does not support the NNTP XOVER or OVER command.\n"); @@ -949,16 +1096,19 @@ Warning: Posting is in %s and contains c constext txt_usage_newsserver[] = N_(" -g serv read news from NNTP server serv [default=%s]"); constext txt_usage_port[] = N_(" -p port use port as NNTP port [default=%d]"); constext txt_usage_quickstart[] = N_(" -Q quick start. Same as -nqd"); + constext txt_usage_read_news_remotely[] = N_(" -r read news remotely from default NNTP server"); constext txt_usage_read_only_active[] = N_(" -l use only LIST instead of GROUP (-n) command"); constext txt_usage_read_only_subscribed[] = N_(" -n only read subscribed .newsrc groups from NNTP server"); -# ifdef HAVE_GETSERVBYNAME - constext txt_error_unknown_service[] = N_("%s/tcp: Unknown service.\n"); -# endif /* HAVE_GETSERVBYNAME */ # ifdef INET6 + constext txt_usage_force_ipv4[] = N_(" -4 force connecting via IPv4"); + constext txt_usage_force_ipv6[] = N_(" -6 force connecting via IPv6"); constext txt_error_socket_or_connect_problem[] = N_("\nsocket or connect problem\n"); # else constext txt_connection_to[] = N_("\nConnection to %s: "); constext txt_giving_up[] = N_("Giving up...\n"); +# ifdef HAVE_GETSERVBYNAME + constext txt_error_unknown_service[] = N_("%s/tcp: Unknown service.\n"); +# endif /* HAVE_GETSERVBYNAME */ # endif /* INET6 */ # ifdef XHDR_XREF constext txt_warn_xref_not_supported[] = N_("Your server does not have Xref: in its XOVER information.\n\ @@ -981,10 +1131,6 @@ Tin will try to use XHDR XREF instead (s constext txt_post_via_builtin_inews_only[] = N_("It worked! Should I always use my built in inews from now on?"); #endif /* NNTP_INEWS */ -#ifdef VMS - constext txt_copyright_notice[] = "%s (c) Copyright 1991-2006 Iain Lea & Tod McQuillin & other."; -#endif /* VMS */ - #ifndef DISABLE_PRINTING constext txt_articles_printed[] = N_("%d %s printed"); constext txt_help_global_print[] = N_("output article/thread/hot/pattern/tagged articles to printer"); @@ -1079,9 +1225,9 @@ Warning: The \"%s:\" line has spaces in # endif /* USE_CURSES */ #endif /* HAVE_COLOR */ -#if defined(NNTP_ABLE) && defined(HAVE_INET_NTOA) +#if defined(NNTP_ABLE) && defined(HAVE_INET_NTOA) && !defined(INET6) constext txt_trying[] = N_("Trying %s"); -#endif /* NNTP_ABLE && HAVE_INET_NTOA */ +#endif /* NNTP_ABLE && HAVE_INET_NTOA && !INET6 */ /* @@ -1189,6 +1335,14 @@ constext *txt_attrs[] = { N_("Bold") }; +/* different options for auto_cc_bcc */ +constext *txt_auto_cc_bcc_options[] = { + N_("No"), + N_("Cc"), + N_("Bcc"), + N_("Cc and Bcc") +}; + /* different confirm choices */ constext *txt_confirm_choices[] = { N_("none"), @@ -1201,6 +1355,38 @@ constext *txt_confirm_choices[] = { N_("commands & quit & select") }; +/* different options for goto_next_unread */ +constext *txt_goto_next_unread_options[] = { + N_("none"), + N_("PageDown"), + N_("PageNextUnread"), + N_("PageDown or PageNextUnread"), +}; + +/* different options for quick_kill_header / quick_select_header */ +constext *txt_quick_ks_header_options[] = { + N_("Subject: (case sensitive)"), + N_("Subject: (ignore case)"), + N_("From: (case sensitive)"), + N_("From: (ignore case)"), + N_("Msg-ID: & full References: line"), + N_("Msg-ID: & last References: only"), + N_("Message-ID: entry only"), + N_("Lines:"), +}; + +/* different options for trim_article_body */ +constext *txt_trim_article_body_options[] = { + N_("Don't trim article body"), + N_("Skip leading blank lines"), + N_("Skip trailing blank lines"), + N_("Skip leading and trailing blank l."), + N_("Compact multiple between text"), + N_("Compact multiple and skip leading"), + N_("Compact multiple and skip trailing"), + N_("Compact mltpl., skip lead. & trai."), +}; + /* * MIME-Content-Transfer-Encodings. */ @@ -1221,7 +1407,7 @@ const char *content_types[] = { * Array of possible post processing descriptions and short-keys * This must match the ordering of the defines in tin.h */ -constext *txt_post_process_type[] = { +constext *txt_post_process_types[] = { N_("No"), N_("Shell archive"), N_("Yes") @@ -1244,7 +1430,9 @@ constext *txt_sort_a_type[] = { constext *txt_sort_t_type[] = { N_("Nothing"), N_("Score (descending)"), - N_("Score (ascending)") + N_("Score (ascending)"), + N_("Last posting date (descending)"), + N_("Last posting date (ascending)") }; /* Ways of handling bogus groups */ @@ -1471,12 +1659,14 @@ struct opttxt txt_sort_threads_type = { # Possible values are (the default is marked with *):\n\ # 0 = nothing\n\ # * 1 = Score descending\n\ -# 2 = Score ascending\n") +# 2 = Score ascending\n\ +# 3 = Last posting date descending\n\ +# 4 = Last posting date ascending\n") }; struct opttxt txt_pos_first_unread = { N_("Put cursor at first/last unread art in groups. toggles & sets."), - N_("Goto first unread article in group"), + N_("Go to first unread article in group"), N_("# If ON put cursor at first unread art in group otherwise last art\n") }; @@ -1502,24 +1692,33 @@ struct opttxt txt_kill_level = { # 2 = kill all articles and never show them\n") }; -struct opttxt txt_tab_goto_next_unread = { +struct opttxt txt_goto_next_unread = { N_(" toggles, sets, cancels."), - N_("Tab goes to next unread article"), - N_("# If ON the TAB command will go to next unread article at article viewer level\n") -}; - -struct opttxt txt_space_goto_next_unread = { - N_("Scrolling with past the end of an art. jumps to the next unread one."), - N_("Space goes to next unread article"), - N_("# If ON the SPACE command will go to next unread article at article viewer\n\ -# level when the end of the article is reached (rn-style pager)\n") + N_("Go to the next unread article with"), + N_("# Go to the unread article with following key(s)\n\ +# Possible values are (the default is marked with *):\n\ +# 0 = nothing\n\ +# 1 = PAGE DOWN\n\ +# * 2 = TAB\n\ +# 3 = PAGE DOWN or TAB\n") }; -struct opttxt txt_pgdn_goto_next = { - N_("Scrolling with / past the end of an art. jumps to the unread one."), - N_("PgDn goes to next unread article"), - N_("# If ON the PGDN or DOWN command will go to next unread article when\n\ -# pressed at end of message\n") +struct opttxt txt_trim_article_body = { + N_(" toggles, sets, cancels."), + N_("How to treat blank lines"), + N_("# Trim the article body, remove unnecessary blank lines.\n\ +# Possible values are (the default is marked with *):\n\ +# * 0 = Nothing special\n\ +# 1 = Skip leading blank lines\n\ +# 2 = Skip trailing blank lines\n\ +# 3 = Skip leading and trailing blank lines\n\ +# 4 = Compact multiple blank lines between text blocks\n\ +# 5 = Compact multiple blank lines between text blocks and skip\n\ +# leading blank lines\n\ +# 6 = Compact multiple blank lines between text blocks and skip\n\ +# trailing blank lines\n\ +# 7 = Compact multiple blank lines between text blocks and skip\n\ +# leading and trailing blank lines\n") }; struct opttxt txt_auto_list_thread = { @@ -1597,10 +1796,18 @@ struct opttxt txt_groupname_max_length = N_("# Maximum length of the names of newsgroups displayed\n") }; +struct opttxt txt_abbreviate_groupname = { + N_(" toggles, sets, cancels."), + N_("Abbreviate long newsgroup names"), + N_("# If ON abbreviate (if necessary) long newsgroup names at group selection\n\ +# level and article level like this:\n\ +# news.software.readers -> n.software.readers -> n.s.readers -> n.s.r.\n") +}; + struct opttxt txt_show_info = { N_(" toggles, sets, cancels."), N_("Show lines/score in listings"), - N_("# What informations should be displayed in article/thread listing\n\ + N_("# What information should be displayed in article/thread listing\n\ # Possible values are (the default is marked with *):\n\ # 0 = nothing\n\ # * 1 = lines\n\ @@ -1673,6 +1880,12 @@ struct opttxt txt_alternative_handling = N_("# If ON strip multipart/alternative messages automatically\n") }; +struct opttxt txt_verbatim_handling = { + N_("Enable detection of verbatim blocks? toggles & sets."), + N_("Detection of verbatim blocks"), + N_("# If ON detect verbatim blocks in articles\n") +}; + #ifdef HAVE_COLOR struct opttxt txt_quote_regex = { N_("A regex used to decide which lines to show in col_quote."), @@ -1745,6 +1958,20 @@ struct opttxt txt_strip_was_regex = { # which will be removed when replying or posting followup.\n") }; +struct opttxt txt_verbatim_begin_regex = { + N_("A regex used to find the begin of a verbatim block."), + N_("Regex for begin of a verbatim block"), + N_("# A regular expression that tin will use to find the begin of\n\ +# a verbatim block.\n") +}; + +struct opttxt txt_verbatim_end_regex = { + N_("A regex used to find the end of a verbatim block."), + N_("Regex for end of a verbatim block"), + N_("# A regular expression that tin will use to find the end of\n\ +# a verbatim block.\n") +}; + struct opttxt txt_metamail_prog = { N_("Enter name and options for external MIME viewer, --internal for built-in viewer"), N_("MIME binary content viewer"), @@ -1787,20 +2014,20 @@ struct opttxt txt_confirm_choice = { struct opttxt txt_mark_ignore_tags = { N_(" toggles, sets, cancels."), - N_("'Mark article read' ignores tags"), - N_("# If ON the 'Mark article read' function marks only the current article.\n") + N_("'Mark as (un)read' ignores tags"), + N_("# If ON the 'Mark as (un)read' function marks only the current article.\n") }; struct opttxt txt_url_handler = { - N_("Program to run to open URL's, sets, cancels."), - N_("Program that opens URL's"), - N_("# The program used to open URL's. The actual URL will be appended\n") + N_("Program to run to open URLs, sets, cancels."), + N_("Program that opens URLs"), + N_("# The program used to open URLs. The actual URL will be appended\n") }; struct opttxt txt_use_mouse = { N_(" toggles, sets, cancels."), N_("Use mouse in xterm"), - N_("# If ON enable mouse key support on xterm terminals\n") + N_("# If ON enable mouse button support on xterm terminals\n") }; #ifdef HAVE_KEYPAD @@ -2006,6 +2233,13 @@ struct opttxt txt_col_urls = { # Default: -1 (default color)\n") }; +struct opttxt txt_col_verbatim = { + N_(" toggles, sets, cancels."), + N_("Color of verbatim blocks"), + N_("# Color of verbatim blocks\n\ +# Default: 5 (pink)\n") +}; + struct opttxt txt_col_markstar = { N_(" toggles, sets, cancels."), N_("Color of highlighting with *stars*"), @@ -2123,9 +2357,9 @@ struct opttxt txt_sigfile = { N_("Enter path/! command/--none to create your default signature. sets."), N_("Create signature from path/command"), N_("# Signature path (random sigs)/file to be used when posting/replying\n\ -# default_sigfile=file appends file as signature\n\ -# default_sigfile=!command executes external command to generate a signature\n\ -# default_sigfile=--none don't append a signature\n") +# sigfile=file appends file as signature\n\ +# sigfile=!command executes external command to generate a signature\n\ +# sigfile=--none don't append a signature\n") }; struct opttxt txt_sigdashes = { @@ -2184,7 +2418,7 @@ struct opttxt txt_mail_quote_format = { struct opttxt txt_advertising = { N_("If ON, include User-Agent: header. toggles & sets."), - N_("Insert 'User-Agent:'-header"), + N_("Insert 'User-Agent:' header"), N_("# If ON include advertising User-Agent: header\n") }; @@ -2205,6 +2439,13 @@ struct opttxt txt_mm_network_charset = { N_("MM_NETWORK_CHARSET"), N_("# Charset used for MIME (Content-Type) header in postings.\n") }; +# ifdef NO_LOCALE +struct opttxt txt_mm_local_charset = { + N_("Enter local charset name (e.g. US-ASCII, ISO-8859-1, EUC-KR), to set."), + N_("MM_LOCAL_CHARSET"), + N_("# Charset supported locally.\n") +}; +# endif /* NO_LOCALE */ #endif /* !CHARSET_CONVERSION */ struct opttxt txt_mailbox_format = { @@ -2271,16 +2512,15 @@ struct opttxt txt_translit = { }; #endif /* HAVE_ICONV_OPEN_TRANSLIT */ -struct opttxt txt_auto_cc = { - N_("Send you a carbon copy automatically. toggles & sets."), - N_("Send you a cc automatically"), - N_("# If ON automatically put your name in the Cc: field when mailing an article\n") -}; - -struct opttxt txt_auto_bcc = { - N_("Send you a blind carbon copy automatically. toggles & sets."), - N_("Send you a blind cc automatically"), - N_("# If ON automatically put your name in the Bcc: field when mailing an article\n") +struct opttxt txt_auto_cc_bcc = { + N_(" toggles, sets, cancels."), + N_("Send you a Cc/Bcc automatically"), + N_("# Put your name in the Cc: and/or Bcc: field when mailing an article.\n\ +# Possible values are (the default is marked with *):\n\ +# * 0 = No\n\ +# 1 = Cc\n\ +# 2 = Bcc\n\ +# 3 = Cc and Bcc\n") }; struct opttxt txt_spamtrap_warning_addresses = { @@ -2334,7 +2574,7 @@ struct opttxt txt_mark_saved_read = { N_("# If ON mark articles that are saved as read\n") }; -struct opttxt txt_post_process = { +struct opttxt txt_post_process_type = { N_("Do post processing (eg. extract attachments) for saved articles."), N_("Post process saved articles"), N_("# Perform post processing (saving binary attachments) from saved articles.\n\ @@ -2415,6 +2655,14 @@ struct opttxt txt_unlink_article = { N_("# If ON remove ~/.article after posting.\n") }; +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) +struct opttxt txt_utf8_graphics = { + N_(" toggles, sets, cancels."), + N_("Use UTF-8 graphics (thrd tree etc.)"), + N_("# If ON use UTF-8 characters for indicator '->', tree and ellipsis '...'.\n") +}; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + struct opttxt txt_posted_articles_file = { N_("Filename for all posted articles, sets, no filename=do not save."), N_("Filename for posted articles"), @@ -2488,3 +2736,149 @@ struct opttxt txt_render_bidi = { N_("# If ON, bi-directional text is rendered by tin\n") }; #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */ + +/* + * structs for the attributes menu below, + * no need for *tinrc text + */ +struct opttxt txt_auto_select = { + N_(" toggles, sets, cancels."), + N_("Automatically GroupMarkUnselArtRead"), + NULL +}; + +struct opttxt txt_delete_tmp_files = { + N_(" toggles, sets, cancels."), + N_("Delete post-process files"), + NULL +}; + +struct opttxt txt_fcc = { + N_("Filename for all mailed articles, sets, no filename=do not save."), + N_("Mailbox to save sent mails"), + NULL +}; + +struct opttxt txt_followup_to = { + N_("Set Followup-To: header to this group(s). sets, cancels."), + N_("Followup-To: header"), + NULL +}; + +struct opttxt txt_from = { + N_("Enter default mail address (and fullname). sets, cancels."), + N_("Mail address (and fullname)"), + NULL +}; + +#ifdef HAVE_ISPELL +struct opttxt txt_ispell = { + N_("Path and options for ispell-like spell-checker. sets, cancels."), + N_("Ispell program"), + NULL +}; +#endif /* HAVE_ISPELL */ + +struct opttxt txt_mailing_list = { + N_("When group is a mailing list, send responses to this email address."), + N_("Mailing list address"), + NULL +}; + +struct opttxt txt_mime_forward = { + N_(" toggles, sets, cancels."), + N_("Forward articles as attachement"), + NULL +}; + +struct opttxt txt_mime_types_to_save = { + N_("A comma separated list of MIME major/minor Content-Types. cancels."), + N_("Which MIME types will be saved"), + NULL +}; + +struct opttxt txt_organization = { + N_("Value of the Organization: header. sets, cancels."), + N_("Organization: header"), + NULL +}; + +struct opttxt txt_savefile = { + N_("Filename for saved articles. sets, cancels."), + N_("savefile"), + NULL +}; + +struct opttxt txt_quick_select_scope = { + N_("Scope for the filter rule. sets, cancels."), + N_("Quick (1 key) select filter scope"), + NULL +}; + +struct opttxt txt_quick_select_header = { + N_("Header for filter rule. sets, cancels."), + N_("Quick (1 key) select filter header"), + NULL +}; + +struct opttxt txt_quick_select_case = { + N_("ON = case sensitive, OFF = ignore case. sets, cancels."), + N_("Quick (1 key) select filter case"), + NULL +}; + +struct opttxt txt_quick_select_expire = { + N_("ON = expire, OFF = don't ever expire. sets, cancels."), + N_("Quick (1 key) select filter expire"), + NULL +}; + +struct opttxt txt_quick_kill_scope = { + N_("Scope for the filter rule. sets, cancels."), + N_("Quick (1 key) kill filter scope"), + NULL +}; + +struct opttxt txt_quick_kill_header = { + N_("Header for filter rule. sets, cancels."), + N_("Quick (1 key) kill filter header"), + NULL +}; + +struct opttxt txt_quick_kill_case = { + N_("ON = case sensitive, OFF = ignore case. sets, cancels."), + N_("Quick (1 key) kill filter case"), + NULL +}; + +struct opttxt txt_quick_kill_expire = { + N_("ON = expire, OFF = don't ever expire. sets, cancels."), + N_("Quick (1 key) kill filter expire"), + NULL +}; + +#ifdef CHARSET_CONVERSION +struct opttxt txt_undeclared_charset = { + N_("Assume this charset if no charset declaration is present, to set."), + N_("UNDECLARED_CHARSET"), + NULL +}; +#endif /* CHARSET_CONVERSION */ + +struct opttxt txt_x_body = { + N_("Add this text at the start of the message body. sets, cancels."), + N_("X_Body"), + NULL +}; + +struct opttxt txt_x_headers = { + N_("Insert this header when posting. sets, cancels."), + N_("X_Headers"), + NULL +}; + +struct opttxt txt_x_comment_to = { + N_("Automatically insert an X-Comment-To: header? toggles & sets."), + N_("Insert 'X-Comment-To:' header"), + NULL +}; diff -Nurp --exclude='.bzr*' tin-1.8.3/src/list.c tin-2.0.0/src/list.c --- tin-1.8.3/src/list.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/list.c 2011-04-17 16:04:30.919144027 +0200 @@ -3,10 +3,10 @@ * Module : list.c * Author : I. Lea * Created : 1993-12-18 - * Updated : 2005-07-20 + * Updated : 2008-11-28 * Notes : Low level functions handling the active[] list and its group_hash index * - * Copyright (c) 1993-2006 Iain Lea + * Copyright (c) 1993-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -121,16 +121,24 @@ hash_groupname( */ int find_group_index( - const char *group) + const char *group, + t_bool ignore_case) { + char *group_lcase; int i; unsigned long h; - h = hash_groupname(group); + group_lcase = my_strdup(group); + str_lwr(group_lcase); + + h = hash_groupname(group_lcase); i = group_hash[h]; + free(group_lcase); + /* * hash linked list chaining + * first try to find group in original spelling only */ while (i >= 0) { if (STRCMPEQ(group, active[i].name)) @@ -139,6 +147,19 @@ find_group_index( i = active[i].next; } + /* + * group not found in original spelling, try to find not case sensitive + * if desired + */ + if (ignore_case) { + i = group_hash[h]; + while (i >= 0) { + if (0 == strcasecmp(group, active[i].name)) + return i; + i = active[i].next; + } + } + return -1; } @@ -148,11 +169,12 @@ find_group_index( */ struct t_group * group_find( - const char *group_name) + const char *group_name, + t_bool ignore_case) { int i; - if ((i = find_group_index(group_name)) != -1) + if ((i = find_group_index(group_name, ignore_case)) != -1) return &active[i]; return (struct t_group *) 0; @@ -168,7 +190,13 @@ group_add_to_hash( const char *groupname, int idx) { - unsigned long h = hash_groupname(groupname); + char *groupname_lcase; + unsigned long h; + + groupname_lcase = my_strdup(groupname); + str_lwr(groupname_lcase); + h = hash_groupname(groupname_lcase); + free(groupname_lcase); if (group_hash[h] == -1) group_hash[h] = idx; @@ -259,7 +287,8 @@ group_rehash( } #ifdef DEBUG - debug_print_active_hash(); + if (debug & DEBUG_MISC) + debug_print_active_hash(); #endif /* DEBUG */ } @@ -306,5 +335,6 @@ debug_print_active_hash( for (i = 0; i < 32; i++) fprintf(stderr, "%2d ", collisions[i]); fprintf(stderr, "\n"); + sleep(4); } #endif /* DEBUG */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/lock.c tin-2.0.0/src/lock.c --- tin-1.8.3/src/lock.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/lock.c 2011-04-17 16:04:30.943147682 +0200 @@ -3,10 +3,10 @@ * Module : lock.c * Author : Urs Janssen * Created : 1998-07-27 - * Updated : 2003-05-16 + * Updated : 2006-05-11 * Notes : * - * Copyright (c) 1998-2006 Urs Janssen + * Copyright (c) 1998-2011 Urs Janssen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -64,7 +64,7 @@ * * return codes: * 0 = file locked successfully - * -1 = some error occured + * -1 = some error occurred */ int fd_lock( @@ -108,7 +108,7 @@ fd_lock( * return codes: * 0 = file is not locked * 1 = file is locked - * -1 = some error occured + * -1 = some error occurred */ int test_fd_lock( @@ -126,7 +126,7 @@ test_fd_lock( flk.l_start = 0; flk.l_len = 0; if (fcntl(fd, F_GETLK, &flk) < 0) - return -1; /* some error occured */ + return -1; /* some error occurred */ else { if (flk.l_type != F_UNLCK) return 1; /* file is locked */ @@ -140,7 +140,7 @@ test_fd_lock( if (errno == EACCES) return 1; /* file is locked */ else - return -1; /* some error occured */ + return -1; /* some error occurred */ } else rval = 0; /* file is not lockf locked */ # else @@ -149,7 +149,7 @@ test_fd_lock( if (errno == EWOULDBLOCK) return 1; /* file is locked */ else - return -1; /* some error occured */ + return -1; /* some error occurred */ } else rval = 0; /* file is not flock locked */ @@ -169,7 +169,7 @@ test_fd_lock( * * return codes: * 0 = file unlocked successfully - * -1 = some error occured + * -1 = some error occurred */ int fd_unlock( @@ -211,7 +211,7 @@ fd_unlock( * * return codes: * TRUE = file locked successfully - * FALSE = some error occured + * FALSE = some error occurred */ t_bool dot_lock( const char *filename) @@ -232,7 +232,7 @@ t_bool dot_lock( #ifdef HAVE_LINK if (stat(lockfile, &statbuf)) { /* lockfile doesn't exist */ - if (!link(tempfile, lockfile)) { /* link succsessfull */ + if (!link(tempfile, lockfile)) { /* link successful */ if (!stat(tempfile, &statbuf)) { /* tempfile exist */ if (statbuf.st_nlink == 2) /* link count ok */ rval = TRUE; @@ -257,7 +257,7 @@ t_bool dot_lock( * * return codes: * TRUE = file unlocked successfully - * FALSE = some error occured + * FALSE = some error occurred */ t_bool dot_unlock( const char *filename) diff -Nurp --exclude='.bzr*' tin-1.8.3/src/mail.c tin-2.0.0/src/mail.c --- tin-1.8.3/src/mail.c 2006-01-19 23:40:13.000000000 +0100 +++ tin-2.0.0/src/mail.c 2011-04-18 00:14:00.557719523 +0200 @@ -3,10 +3,10 @@ * Module : mail.c * Author : I. Lea * Created : 1992-10-02 - * Updated : 2006-01-19 + * Updated : 2011-04-17 * Notes : Mail handling routines for creating pseudo newsgroups * - * Copyright (c) 1992-2006 Iain Lea + * Copyright (c) 1992-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,7 +41,11 @@ #ifndef TCURSES_H # include "tcurses.h" #endif /* !TCURSES_H */ - +#ifdef NNTP_ABLE +# ifndef TNNTP_H +# include "tnntp.h" +# endif /* !TNNTP_H */ +#endif /* NNTP_ABLE */ /* * local prototypes */ @@ -103,7 +107,7 @@ read_mail_active_file( my_fputc('\n', stderr); if (!created_rcdir) /* no error on first start */ - error_message(_(txt_cannot_open), mail_active_file); + error_message(2, _(txt_cannot_open), mail_active_file); /* * TODO: do an autoscan of maildir, create & reopen? */ @@ -118,10 +122,10 @@ read_mail_active_file( /* * Update mailgroup info */ - if ((ptr = group_find(buf)) != NULL) { + if ((ptr = group_find(buf, FALSE)) != NULL) { if (strcmp(ptr->spooldir, my_spooldir) != 0) { free(ptr->spooldir); - strfpath(my_spooldir, buf2, sizeof(buf2) - 1, ptr); + strfpath(my_spooldir, buf2, sizeof(buf2) - 1, ptr, FALSE); ptr->spooldir = my_strdup(buf2); } ptr->xmax = max; @@ -138,7 +142,7 @@ read_mail_active_file( /* * Load group info. TODO: integrate with active_add() */ - strfpath(my_spooldir, buf2, sizeof(buf2) - 1, ptr); + strfpath(my_spooldir, buf2, sizeof(buf2) - 1, ptr, FALSE); ptr->spooldir = my_strdup(buf2); group_get_art_info(ptr->spooldir, buf, GROUP_TYPE_MAIL, &ptr->count, &ptr->xmax, &ptr->xmin); ptr->aliasedto = NULL; @@ -184,7 +188,7 @@ write_mail_active_file( file_tmp = get_tmpfilename(mail_active_file); if (!backup_file(mail_active_file, file_tmp)) { - error_message(_(txt_filesystem_full_backup), mail_active_file); + error_message(2, _(txt_filesystem_full_backup), mail_active_file); /* free memory for tmp-filename */ free(file_tmp); return; @@ -196,14 +200,18 @@ write_mail_active_file( for_each_group(i) { group = &active[i]; if (group->type == GROUP_TYPE_MAIL) { - make_base_group_path(group->spooldir, group->name, group_path); + make_base_group_path(group->spooldir, group->name, group_path, sizeof(group_path)); find_art_max_min(group_path, &group->xmax, &group->xmin); print_group_line(fp, group->name, group->xmax, group->xmin, group->spooldir); } } - if (ferror(fp) || fclose(fp)) { - error_message(_(txt_filesystem_full), mail_active_file); + if ((i = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), mail_active_file); rename(file_tmp, mail_active_file); + if (i) { + clearerr(fp); + fclose(fp); + } } else unlink(file_tmp); } @@ -231,17 +239,24 @@ read_mailgroups_file( fclose(fp); - if (!batch_mode && verb) + if (!batch_mode && verb) { my_fputs("\n", stdout); + cursoroff(); + } } } #endif /* HAVE_MH_MAIL_HANDLING */ /* - * If reading via NNTP the newsgroups file will be saved to ~/.tin/newsgroups - * so that any subsequent rereads on the active file will not have to waste - * net bandwidth and the local copy of the newsgroups file can be accessed. + * If reading via NNTP the newsgroups file will be saved to + * ~/.tin/$NNTPSERVER/newsgroups so that any subsequent rereads on the + * active file will not have to waste net bandwidth and the local copy + * of the newsgroups file can be accessed. + * + * in the newsrc_active case (-n cmd-line switch) we use "LIST NEWSGROUPS grp" + * instead of "LIST NEWSGROUPS" if we have just a few groups in the newsrc, + * due to pipelining the code is a bit complex. */ static FILE * open_newsgroups_fp( @@ -249,6 +264,7 @@ open_newsgroups_fp( { #ifdef NNTP_ABLE FILE *result; + static int no_more_wildmat = 0; if (read_news_via_nntp && !read_saved_news) { if (read_local_newsgroups_file) { @@ -258,7 +274,8 @@ open_newsgroups_fp( if (buf.st_size > 0) { if ((result = fopen(local_newsgroups_file, "r")) != NULL) { # ifdef DEBUG - debug_nntp("open_newsgroups_fp", "Using local copy of newsgroups file"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "open_newsgroups_fp Using local copy of newsgroups file"); # endif /* DEBUG */ return result; } @@ -266,15 +283,109 @@ open_newsgroups_fp( unlink(local_newsgroups_file); } } -# if 0 /* TODO: */ - if (list_newsgroups_wildmat_supported && newsrc_active - && !list_active && num_active < some_useful_limit) { - for_each_group(i) { - snprintf(buff, sizeof(buff), "LIST NEWSGROUPS %s", active[i].name); - nntp_command(buff, OK_LIST, NULL, 0); + /* + * TODO: test me, find a useful limit, + * optimize more than n groups (e.g. 5) of the same + * subhierarchy to a wildmat? + */ + if (((nntp_caps.type == CAPABILITIES && nntp_caps.list_newsgroups) || nntp_caps.type != CAPABILITIES) && newsrc_active && !list_active && !no_more_wildmat && (PIPELINE_LIMIT > MAX(1, num_active))) { + char *ptr; + char buff[NNTP_STRLEN]; + char line[NNTP_STRLEN]; + char file[PATH_LEN]; + char serverdir[PATH_LEN]; + struct t_group *group; + int resp, i, j = 0; + + if (nntp_tcp_port != IPPORT_NNTP) + snprintf(file, sizeof(file), "%s:%u", nntp_server, nntp_tcp_port); + else + STRCPY(file, quote_space_to_dash(nntp_server)); + + joinpath(serverdir, sizeof(serverdir), rcdir, file); + joinpath(file, sizeof(file), serverdir, NEWSGROUPS_FILE".tmp"); + *buff = '\0'; + if ((result = fopen(file, "w")) != NULL) { + for_each_group(i) { + if ((group = group_find(active[i].name, FALSE)) != NULL) { + if (group->type == GROUP_TYPE_NEWS) { + if (nntp_caps.type == CAPABILITIES && nntp_caps.list_newsgroups) { + if (*buff) { + if (strlen(buff) + strlen(active[i].name) + 1 < NNTP_STRLEN) { + snprintf(buff + strlen(buff), sizeof(buff) - strlen(buff), ",%s", active[i].name); + continue; + } else { + put_server(buff); + *buff = '\0'; + j++; + } + } + if (!*buff) { + snprintf(buff, sizeof(buff), "LIST NEWSGROUPS %s", active[i].name); + continue; + } + } else + snprintf(buff, sizeof(buff), "LIST NEWSGROUPS %s", active[i].name); +# ifdef DISABLE_PIPELINING + if ((resp = new_nntp_command(buff, OK_GROUPS, line, sizeof(line))) != OK_GROUPS) { + no_more_wildmat = resp; + *buff = '\0'; + break; + } + while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) { +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); +# endif /* DEBUG */ + fprintf(result, "%s\n", str_trim(ptr)); + } +# else + put_server(buff); + *buff = '\0'; + j++; +# endif /* DISABLE_PIPELINING */ + } + } + } + if (*buff) { + put_server(buff); + j++; + } +# ifndef DISABLE_PIPELINING + while (j--) { + if ((resp = get_only_respcode(line, sizeof(line))) != OK_GROUPS) { + if (!no_more_wildmat) + no_more_wildmat = resp; + continue; + } + while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) { +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); +# endif /* DEBUG */ + fprintf(result, "%s\n", str_trim(ptr)); + } + } + /* TODO: add 483 (RFC 3977) support */ + if (no_more_wildmat == ERR_NOAUTH || no_more_wildmat == NEED_AUTHINFO) { + if (!authenticate(nntp_server, userid, FALSE)) { + error_message(2, _(txt_auth_failed), nntp_caps.type == CAPABILITIES ? ERR_AUTHFAIL : ERR_ACCESS); + tin_done(EXIT_FAILURE); + } + } +# endif /* !DISABLE_PIPELINING */ + fclose(result); + result = fopen(file, "r"); + unlink(file); /* unlink on close */ } - } else -# endif /* 0 */ + + if (result != NULL) { + if (!no_more_wildmat) + return result; + else /* AUTH request while pipeling or some error */ + fclose(result); + } + } return (nntp_command("LIST NEWSGROUPS", OK_GROUPS, NULL, 0)); } else #endif /* NNTP_ABLE */ @@ -301,7 +412,7 @@ read_newsgroups_file( struct stat buf; if (stat(local_newsgroups_file, &buf) || !read_local_newsgroups_file) - fp_save = fopen(local_newsgroups_file, "w" FOPEN_OPTS); + fp_save = fopen(local_newsgroups_file, "w"); } read_groups_descriptions(fp, fp_save); @@ -313,8 +424,10 @@ read_newsgroups_file( TIN_FCLOSE(fp); - if (!batch_mode && verb) + if (!batch_mode && verb) { my_fputs("\n", stdout); + cursoroff(); + } } } @@ -335,8 +448,7 @@ read_descriptions( /* * Read groups descriptions from opened file & make local backup copy - * of all groups that don't have a 'x' in the active file moderated - * field & if reading groups of type GROUP_TYPE_NEWS. + * of all groups if reading groups of type GROUP_TYPE_NEWS. * Aborting this early won't have any adverse affects, just some missing * descriptions. */ @@ -363,7 +475,7 @@ read_groups_descriptions( * with the "-q" option. */ if ((fp_save != NULL) && read_news_via_nntp) - fprintf(fp_save, "%s\n", ptr); + fprintf(fp_save, "%s\n", str_trim(ptr)); if (!space) { /* initial malloc */ space = strlen(ptr) + 1; @@ -383,11 +495,11 @@ read_groups_descriptions( while (*p == '\t' || *p == ' ') p++; - group = group_find(groupname); + group = group_find(groupname, FALSE); if (group != NULL && group->description == NULL) { char *r; - int r_len; + size_t r_len; q = p; while ((q = strchr(q, '\t')) != NULL) @@ -397,11 +509,9 @@ read_groups_descriptions( r_len = strlen(r); /* * Protect against invalid character sequences. - * - * TODO: change US-ASCII to UTF-8 when NNTP draft becomes RFC */ - process_charsets(&r, &r_len, "US-ASCII", tinrc.mm_local_charset, FALSE); - group->description = convert_to_printable(r); + process_charsets(&r, &r_len, "UTF-8", tinrc.mm_local_charset, FALSE); + group->description = convert_to_printable(r, FALSE); } if (++count % 100 == 0) @@ -421,7 +531,7 @@ print_active_head( return; if ((fp = fopen(active_file, "w")) != NULL) { - fprintf(fp, _(txt_mail_save_active_head)); + fprintf(fp, "%s", _(txt_mail_save_active_head)); fclose(fp); } } @@ -494,42 +604,28 @@ grp_del_mail_arts( char artnum[LEN]; int i; struct t_article *article; -#if 0 /* see comment below */ - t_bool update_index_file = FALSE; -#endif /* 0 */ if (group->type == GROUP_TYPE_MAIL || group->type == GROUP_TYPE_SAVE) { /* * at least for GROUP_TYPE_SAVE a wait is annoying - nuke the message? */ wait_message(0, (group->type == GROUP_TYPE_MAIL) ? _(txt_processing_mail_arts) : _(txt_processing_saved_arts)); - make_base_group_path(group->spooldir, group->name, group_path); + make_base_group_path(group->spooldir, group->name, group_path, sizeof(group_path)); for_each_art(i) { article = &arts[i]; if (article->delete_it) { snprintf(artnum, sizeof(artnum), "%ld", article->artnum); - joinpath(article_filename, group_path, artnum); + joinpath(article_filename, sizeof(article_filename), group_path, artnum); unlink(article_filename); article->thread = ART_EXPIRED; -#if 0 /* see comment below */ - update_index_file = TRUE; -#endif /* 0 */ } } -#if 0 -/* - * current tin's build_references() is changed to free msgid and refs, - * therefore we cannot call write_overview after it. I simply commented - * out this codes, NovFile will update at next time. - */ -/* - * MAYBE also check if min / max article was deleted. If so then update - * the active[] entry for the group and rewrite the mail.active file - */ - if (update_index_file) - write_overview(group); -#endif /* 0 */ + /* + * current tin's build_references() is changed to free msgid and + * refs, therefore we cannot call write_overview after it. NovFile + * will update at next time. + */ } } @@ -546,18 +642,18 @@ art_edit( /* * Check if news / mail group */ - if (group->type == GROUP_TYPE_NEWS) + if (group->type != GROUP_TYPE_MAIL) return FALSE; - make_base_group_path(group->spooldir, group->name, temp_filename); + make_base_group_path(group->spooldir, group->name, temp_filename, sizeof(temp_filename)); snprintf(buf, sizeof(buf), "%ld", article->artnum); - joinpath(article_filename, temp_filename, buf); - snprintf(temp_filename, sizeof(temp_filename), "%s%d.art", TMPDIR, (int) process_id); + joinpath(article_filename, sizeof(article_filename), temp_filename, buf); + snprintf(temp_filename, sizeof(temp_filename), "%s%ld.art", TMPDIR, (long) process_id); if (!backup_file(article_filename, temp_filename)) return FALSE; - if (!invoke_editor(temp_filename, 1)) { + if (!invoke_editor(temp_filename, 1, group)) { unlink(temp_filename); return FALSE; } else diff -Nurp --exclude='.bzr*' tin-1.8.3/src/main.c tin-2.0.0/src/main.c --- tin-1.8.3/src/main.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/main.c 2011-04-17 17:34:30.761380517 +0200 @@ -3,10 +3,10 @@ * Module : main.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-08-14 + * Updated : 2011-04-17 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -62,7 +62,7 @@ static t_bool start_any_unread = FALSE; /* * Local prototypes */ -static t_bool create_mail_save_dirs(void); +static void create_mail_save_dirs(void); static void read_cmd_line_options(int argc, char *argv[]); static void show_intro_page(void); static void update_index_files(void); @@ -78,7 +78,7 @@ main( char *argv[]) { int count; - int num_cmd_line_groups; + int num_cmd_line_groups = 0; int start_groupnum = 0; t_bool tmp_no_write; @@ -88,23 +88,37 @@ main( #if defined(HAVE_SETLOCALE) && !defined(NO_LOCALE) if (setlocale(LC_ALL, "")) { # ifdef ENABLE_NLS - bindtextdomain(PACKAGE, LOCALEDIR); - textdomain(PACKAGE); + bindtextdomain(NLS_TEXTDOMAIN, LOCALEDIR); + textdomain(NLS_TEXTDOMAIN); # endif /* ENABLE_NLS */ - } else { - error_message(txt_error_locale); - sleep(2); - } + } else + error_message(4, txt_error_locale); #endif /* HAVE_SETLOCALE && !NO_LOCALE */ + /* + * determine local charset + */ +#ifndef NO_LOCALE + { + const char *p; + + if ((p = tin_nl_langinfo(CODESET)) != NULL) { + if (!strcasecmp(p, "ANSI_X3.4-1968")) + STRCPY(tinrc.mm_local_charset, "US-ASCII"); + else + STRCPY(tinrc.mm_local_charset, p); + } + } +#endif /* !NO_LOCALE */ + /* always set a default value */ + if (!*tinrc.mm_local_charset) + STRCPY(tinrc.mm_local_charset, "US-ASCII"); + set_signal_handlers(); debug = 0; /* debug OFF */ base_name(argv[0], tin_progname); -#ifdef VMS - argv[0] = tin_progname; -#endif /* VMS */ #ifdef NNTP_ONLY read_news_via_nntp = TRUE; @@ -116,7 +130,7 @@ main( # ifdef NNTP_ABLE read_news_via_nntp = TRUE; # else - error_message(_(txt_option_not_enabled), "-DNNTP_ABLE"); + error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE"); giveup(); # endif /* NNTP_ABLE */ } @@ -132,18 +146,20 @@ main( setup_default_keys(); /* preinit keybindings */ /* + * Process envargs & command line options + * These override the configured in values + */ + read_cmd_line_options(argc, argv); + + /* * Read user local & global config files * These override the compiled in defaults + * + * must be called before setup_screen() */ read_config_file(global_config_file, TRUE); read_config_file(local_config_file, FALSE); - /* - * Process envargs & command line options - * These override the configured in values - */ - read_cmd_line_options(argc, argv); - tmp_no_write = no_write; /* keep no_write */ no_write = TRUE; /* don't allow any writing back during startup */ @@ -151,7 +167,7 @@ main( #ifdef M_UNIX # ifndef USE_CURSES if (!get_termcaps()) { - error_message(_(txt_screen_init_failed), tin_progname); + error_message(2, _(txt_screen_init_failed), tin_progname); giveup(); } # endif /* !USE_CURSES */ @@ -161,7 +177,7 @@ main( * Init curses emulation */ if (!InitScreen()) { - error_message(_(txt_screen_init_failed), tin_progname); + error_message(2, _(txt_screen_init_failed), tin_progname); giveup(); } @@ -179,7 +195,8 @@ main( /* * Connect to nntp server? */ - nntp_server = getserverbyfile(NNTP_SERVER_FILE); + if (!nntp_server || !*nntp_server) + nntp_server = getserverbyfile(NNTP_SERVER_FILE); if (read_news_via_nntp && !read_saved_news && nntp_open()) giveup(); @@ -188,30 +205,24 @@ main( /* * exit early - unfortunately we can't do that in read_cmd_line_options() * as nntp_caps.over_cmd is set in nntp_open() + * + * TODO: does the logic make sense? what + * if (update_index && !nntp_caps.over_cmd && !tinrc.cache_overview_files) + * no error message? why? */ if (update_index && nntp_caps.over_cmd && !tinrc.cache_overview_files) { - error_message(_(txt_batch_update_unavail), tin_progname); + error_message(2, _(txt_batch_update_unavail), tin_progname); giveup(); } /* * Check if overview indexes contain Xref: lines */ - if (nntp_caps.over_cmd) +#ifdef NNTP_ABLE + if ((read_news_via_nntp && nntp_caps.over_cmd) || !read_news_via_nntp) +#endif /* NNTP_ABLE */ xref_supported = overview_xref_support(); -#ifdef DEBUG_NEWSRC - { - char file[PATH_LEN]; - - joinpath(file, TMPDIR, "BITMAP"); - unlink(file); -# if 0 - newsrc_test_harness(); -# endif /* 0 */ - } -#endif /* DEBUG_NEWSRC */ - /* * avoid empty regexp, we also need to do this in batch_mode * as read_overview() calls eat_re() which uses a regexp to @@ -246,7 +257,7 @@ main( /* * Initialise active[] and add new newsgroups to start of my_group[] - * also reads attributes + * also reads global/local attributes */ selmenu.max = 0; /* @@ -254,7 +265,9 @@ main( * $AUTOSUBSCRIBE groups */ no_write = tmp_no_write; - read_news_active_file(); + read_attributes_file(TRUE); + read_attributes_file(FALSE); + start_groupnum = read_news_active_file(); #ifdef DEBUG debug_print_active(); #endif /* DEBUG */ @@ -263,7 +276,7 @@ main( * Read in users filter preferences file. This has to be done before * quick post because the filters might be updated. */ - filtered_articles = read_filter_file(filter_file); + read_filter_file(filter_file); no_write = TRUE; #ifdef DEBUG @@ -271,6 +284,13 @@ main( #endif /* DEBUG */ /* + * Preloads active[] with command line groups. They will follow any + * new newsgroups + */ + if (!post_postponed_and_exit) + num_cmd_line_groups = read_cmd_line_groups(); + + /* * Quick post an article and exit if -w or -o specified */ if (post_article_and_exit || post_postponed_and_exit) { @@ -294,19 +314,13 @@ main( no_write = TRUE; /* disable newsrc updates */ } - /* - * TODO: what has write_config_file() to do with create_mail_save_dirs () - */ - if (create_mail_save_dirs()) + /* what about "if (!no_write)" here? */ + create_mail_save_dirs(); + if (created_rcdir) /* first start */ write_config_file(local_config_file); - /* - * Preloads active[] with command line groups. They will follow any - * new newsgroups - */ - num_cmd_line_groups = read_cmd_line_groups(); - - backup_newsrc(); + if (!tmp_no_write) /* do not (over)write oldnewsrc with -X */ + backup_newsrc(); /* * Load my_groups[] from the .newsrc file. We append these groups to any @@ -350,7 +364,7 @@ main( * Save any new articles to savedir structure for later reading * * TODO: should we temporarely set - * getart_limit=-1,thread_arts=0,sort_art_type=0 + * getart_limit=-1,thread_articles=0,sort_article_type=0 * for speed reasons? */ if (mail_news || save_news) { @@ -404,7 +418,7 @@ main( /* * process command line options */ -#define OPTIONS "aAcdD:f:g:G:hHI:lm:M:nNop:qQrRs:SuvVwxXzZ" +#define OPTIONS "46aAcdD:f:g:G:hHI:lm:M:nNop:qQrRs:SuvVwxXzZ" static void read_cmd_line_options( @@ -418,11 +432,44 @@ read_cmd_line_options( while ((ch = getopt(argc, argv, OPTIONS)) != -1) { switch (ch) { + + case '4': +#if defined(NNTP_ABLE) && defined(INET6) + force_ipv4 = TRUE; + read_news_via_nntp = TRUE; +#else +# ifdef NNTP_ABLE + error_message(2, _(txt_option_not_enabled), "-DENABLE_IPV6"); +# else + error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE"); +# endif /* NNTP_ABLE*/ + giveup(); + /* keep lint quiet: */ + /* NOTREACHED */ +#endif /* NNTP_ABLE && INET6 */ + break; + + case '6': +#if defined(NNTP_ABLE) && defined(INET6) + force_ipv6 = TRUE; + read_news_via_nntp = TRUE; +# else +# ifdef NNTP_ABLE + error_message(2, _(txt_option_not_enabled), "-DENABLE_IPV6"); +# else + error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE"); +# endif /* NNTP_ABLE*/ + giveup(); + /* keep lint quiet: */ + /* NOTREACHED */ +#endif /* NNTP_ABLE && INET6 */ + break; + case 'a': #ifdef HAVE_COLOR - use_color = bool_not(use_color); + cmdline.args |= CMDLINE_USE_COLOR; #else - error_message(_(txt_option_not_enabled), "-DHAVE_COLOR"); + error_message(2, _(txt_option_not_enabled), "-DHAVE_COLOR"); giveup(); /* keep lint quiet: */ /* NOTREACHED */ @@ -432,8 +479,9 @@ read_cmd_line_options( case 'A': #ifdef NNTP_ABLE force_auth_on_conn_open = TRUE; + read_news_via_nntp = TRUE; #else - error_message(_(txt_option_not_enabled), "-DNNTP_ABLE"); + error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE"); giveup(); /* keep lint quiet: */ /* NOTREACHED */ @@ -449,12 +497,12 @@ read_cmd_line_options( show_description = FALSE; break; - case 'D': /* debug mode 1=NNTP, 2=ALL, 3=newsrc, 4=malloc */ + case 'D': /* debug mode */ #ifdef DEBUG debug = atoi(optarg); debug_delete_files(); #else - error_message(_(txt_option_not_enabled), "-DDEBUG"); + error_message(2, _(txt_option_not_enabled), "-DDEBUG"); giveup(); /* keep lint quiet: */ /* NOTREACHED */ @@ -467,15 +515,17 @@ read_cmd_line_options( break; case 'G': - tinrc.getart_limit = atoi(optarg); + cmdline.getart_limit = atoi(optarg); + cmdline.args |= CMDLINE_GETART_LIMIT; break; case 'g': /* select alternative NNTP-server, implies -r */ #ifdef NNTP_ABLE - my_strncpy(cmdline_nntpserver, optarg, sizeof(cmdline_nntpserver) - 1); + my_strncpy(cmdline.nntpserver, optarg, sizeof(cmdline.nntpserver) - 1); + cmdline.args |= CMDLINE_NNTPSERVER; read_news_via_nntp = TRUE; #else - error_message(_(txt_option_not_enabled), "-DNNTP_ABLE"); + error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE"); giveup(); /* keep lint quiet: */ /* NOTREACHED */ @@ -497,7 +547,8 @@ read_cmd_line_options( break; case 'm': - my_strncpy(tinrc.maildir, optarg, sizeof(tinrc.maildir) - 1); + my_strncpy(cmdline.maildir, optarg, sizeof(cmdline.maildir) - 1); + cmdline.args |= CMDLINE_MAILDIR; break; case 'M': /* mail new news to specified user */ @@ -525,7 +576,7 @@ read_cmd_line_options( post_postponed_and_exit = TRUE; check_for_new_newsgroups = FALSE; #else - error_message(_(txt_option_not_enabled), "-UNO_POSTING"); + error_message(2, _(txt_option_not_enabled), "-UNO_POSTING"); giveup(); /* keep lint quiet: */ /* NOTREACHED */ @@ -538,7 +589,7 @@ read_cmd_line_options( if (atoi(optarg) != 0) nntp_tcp_port = (unsigned short) atoi(optarg); #else - error_message(_(txt_option_not_enabled), "-DNNTP_ABLE"); + error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE"); giveup(); /* keep lint quiet: */ /* NOTREACHED */ @@ -559,7 +610,7 @@ read_cmd_line_options( #ifdef NNTP_ABLE read_news_via_nntp = TRUE; #else - error_message(_(txt_option_not_enabled), "-DNNTP_ABLE"); + error_message(2, _(txt_option_not_enabled), "-DNNTP_ABLE"); giveup(); /* keep lint quiet: */ /* NOTREACHED */ @@ -575,7 +626,8 @@ read_cmd_line_options( break; case 's': - my_strncpy(tinrc.savedir, optarg, sizeof(tinrc.savedir) - 1); + my_strncpy(cmdline.savedir, optarg, sizeof(cmdline.savedir) - 1); + cmdline.args |= CMDLINE_SAVEDIR; break; case 'S': /* save new news to dir structure */ @@ -603,7 +655,7 @@ read_cmd_line_options( post_article_and_exit = TRUE; check_for_new_newsgroups = FALSE; #else - error_message(_(txt_option_not_enabled), "-UNO_POSTING"); + error_message(2, _(txt_option_not_enabled), "-UNO_POSTING"); giveup(); /* keep lint quiet: */ /* NOTREACHED */ @@ -643,25 +695,26 @@ read_cmd_line_options( num_cmdargs = optind; max_cmdargs = argc; if (!newsrc_set) { - if (read_news_via_nntp) - get_newsrcname(newsrc, getserverbyfile(NNTP_SERVER_FILE)); - else { + if (read_news_via_nntp) { + nntp_server = getserverbyfile(NNTP_SERVER_FILE); + get_newsrcname(newsrc, sizeof(newsrc), nntp_server); + } else { #if defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME) struct utsname uts; (void) uname(&uts); - get_newsrcname(newsrc, uts.nodename); + get_newsrcname(newsrc, sizeof(newsrc), uts.nodename); #else char nodenamebuf[256]; /* SUSv2 limit; better use HOST_NAME_MAX */ #ifdef HAVE_GETHOSTNAME (void) gethostname(nodenamebuf, sizeof(nodenamebuf)); #endif /* HAVE_GETHOSTNAME */ - get_newsrcname(newsrc, nodenamebuf); + get_newsrcname(newsrc, sizeof(newsrc), nodenamebuf); #endif /* HAVE_SYS_UTSNAME_H && HAVE_UNAME */ } } /* - * Sort out conflicts of options.... + * Sort out option conflicts */ if (!batch_mode) { if (verbose) { @@ -678,6 +731,66 @@ read_cmd_line_options( read_saved_news = FALSE; } } + if (post_postponed_and_exit && force_no_post) { + wait_message(2, _(txt_useless_combination), "-o", "-x", "-x"); + force_no_post = FALSE; + } + if (post_article_and_exit && force_no_post) { + wait_message(2, _(txt_useless_combination), "-w", "-x", "-x"); + force_no_post = FALSE; + } + if (catchup && start_any_unread) { + wait_message(2, _(txt_useless_combination), "-c", "-z", "-c"); + catchup = FALSE; + } + if (catchup && no_write) { + wait_message(2, _(txt_useless_combination), "-c", "-X", "-c"); + catchup = FALSE; + } + if (catchup && check_any_unread) { + wait_message(2, _(txt_useless_combination), "-c", "-Z", "-c"); + catchup = FALSE; + } + if (newsrc_active && read_saved_news) { + wait_message(2, _(txt_useless_combination), "-n", "-R", "-n"); + newsrc_active = read_news_via_nntp = FALSE; + } + if (start_any_unread && save_news) { + wait_message(2, _(txt_useless_combination), "-z", "-S", "-z"); + start_any_unread = FALSE; + } + if (save_news && check_any_unread) { + wait_message(2, _(txt_useless_combination), "-S", "-Z", "-S"); + save_news = FALSE; + } + if (start_any_unread && check_any_unread) { + wait_message(2, _(txt_useless_combination), "-Z", "-z", "-Z"); + check_any_unread = FALSE; + } + +#if defined(NNTP_ABLE) && defined(INET6) + if (force_ipv4 && force_ipv6) { + wait_message(2, _(txt_useless_combination), "-4", "-6", "-6"); + force_ipv6 = FALSE; + } +#endif /* NNTP_ABLE && INET6 */ + + if (mail_news || save_news || update_index || check_any_unread || catchup) + batch_mode = TRUE; + else + batch_mode = FALSE; + if (batch_mode && (post_article_and_exit || post_postponed_and_exit)) + batch_mode = FALSE; + + /* + * When updating index files set getart_limit to 0 in order to get overview + * information for all article; this overwrites '-G limit' and disables + * tinrc.getart_limit temporary + */ + if (update_index) { + cmdline.getart_limit = 0; + cmdline.args |= CMDLINE_GETART_LIMIT; + } #ifdef NNTP_ABLE /* * If we're reading from an NNTP server and we've been asked not to look @@ -702,64 +815,73 @@ static void usage( char *theProgname) { - error_message(_(txt_usage_tin), theProgname); + error_message(2, _(txt_usage_tin), theProgname); + +#if defined(NNTP_ABLE) && defined(INET6) + error_message(2, _(txt_usage_force_ipv4)); + error_message(2, _(txt_usage_force_ipv6)); +#endif /* NNTP_ABLE && INET6 */ #ifdef HAVE_COLOR - error_message(_(txt_usage_toggle_color)); + error_message(2, _(txt_usage_toggle_color)); #endif /* HAVE_COLOR */ #ifdef NNTP_ABLE - error_message(_(txt_usage_force_authentication)); + error_message(2, _(txt_usage_force_authentication)); #endif /* NNTP_ABLE */ - error_message(_(txt_usage_catchup)); - error_message(_(txt_usage_dont_show_descriptions)); + error_message(2, _(txt_usage_catchup)); + error_message(2, _(txt_usage_dont_show_descriptions)); #ifdef DEBUG - error_message(_(txt_usage_debug)); + error_message(2, _(txt_usage_debug)); #endif /* DEBUG */ - error_message(_(txt_usage_newsrc_file), newsrc); - error_message(_(txt_usage_getart_limit)); + error_message(2, _(txt_usage_newsrc_file), newsrc); + error_message(2, _(txt_usage_getart_limit)); #ifdef NNTP_ABLE - error_message(_(txt_usage_newsserver), get_val("NNTPSERVER", NNTP_DEFAULT_SERVER)); +# ifdef NNTP_DEFAULT_SERVER + error_message(2, _(txt_usage_newsserver), get_val("NNTPSERVER", NNTP_DEFAULT_SERVER)); +# else + error_message(2, _(txt_usage_newsserver), get_val("NNTPSERVER", "news")); +# endif /* NNTP_DEFAULT_SERVER */ #endif /* NNTP_ABLE */ - error_message(_(txt_usage_help_message)); - error_message(_(txt_usage_help_information), theProgname); - error_message(_(txt_usage_index_newsdir), index_newsdir); - error_message(_(txt_usage_read_only_active)); - error_message(_(txt_usage_maildir), tinrc.maildir); - error_message(_(txt_usage_mail_new_news_to_user)); - error_message(_(txt_usage_read_only_subscribed)); - error_message(_(txt_usage_mail_new_news)); - error_message(_(txt_usage_post_postponed_arts)); + error_message(2, _(txt_usage_help_message)); + error_message(2, _(txt_usage_help_information), theProgname); + error_message(2, _(txt_usage_index_newsdir), index_newsdir); + error_message(2, _(txt_usage_read_only_active)); + error_message(2, _(txt_usage_maildir), tinrc.maildir); + error_message(2, _(txt_usage_mail_new_news_to_user)); + error_message(2, _(txt_usage_read_only_subscribed)); + error_message(2, _(txt_usage_mail_new_news)); + error_message(2, _(txt_usage_post_postponed_arts)); #ifdef NNTP_ABLE - error_message(_(txt_usage_port), nntp_tcp_port); + error_message(2, _(txt_usage_port), nntp_tcp_port); #endif /* NNTP_ABLE */ - error_message(_(txt_usage_dont_check_new_newsgroups)); - error_message(_(txt_usage_quickstart)); + error_message(2, _(txt_usage_dont_check_new_newsgroups)); + error_message(2, _(txt_usage_quickstart)); #ifdef NNTP_ABLE if (!read_news_via_nntp) - error_message(_(txt_usage_read_news_remotely)); + error_message(2, _(txt_usage_read_news_remotely)); #endif /* NNTP_ABLE */ - error_message(_(txt_usage_read_saved_news)); - error_message(_(txt_usage_savedir), tinrc.savedir); - error_message(_(txt_usage_save_new_news)); - error_message(_(txt_usage_update_index_files)); - error_message(_(txt_usage_verbose)); - error_message(_(txt_usage_version)); - error_message(_(txt_usage_post_article)); - error_message(_(txt_usage_no_posting)); - error_message(_(txt_usage_dont_save_files_on_quit)); - error_message(_(txt_usage_start_if_unread_news)); - error_message(_(txt_usage_check_for_unread_news)); + error_message(2, _(txt_usage_read_saved_news)); + error_message(2, _(txt_usage_savedir), tinrc.savedir); + error_message(2, _(txt_usage_save_new_news)); + error_message(2, _(txt_usage_update_index_files)); + error_message(2, _(txt_usage_verbose)); + error_message(2, _(txt_usage_version)); + error_message(2, _(txt_usage_post_article)); + error_message(2, _(txt_usage_no_posting)); + error_message(2, _(txt_usage_dont_save_files_on_quit)); + error_message(2, _(txt_usage_start_if_unread_news)); + error_message(2, _(txt_usage_check_for_unread_news)); - error_message(_(txt_usage_mail_bugreport), bug_addr); + error_message(2, _(txt_usage_mail_bugreport), bug_addr); } @@ -827,8 +949,14 @@ read_cmd_line_groups( for_each_group(i) { if (match_group_list(active[i].name, cmdargs[num])) { - if (my_group_add(active[i].name) != -1) + if (my_group_add(active[i].name, TRUE) != -1) { + if (post_article_and_exit) { + my_strncpy(tinrc.default_post_newsgroups, active[i].name, sizeof(tinrc.default_post_newsgroups) - 1); + matched++; + break; + } matched++; + } } } } @@ -839,33 +967,25 @@ read_cmd_line_groups( /* * Create default mail & save directories if they do not exist - * TODO: return code not meaningful ? */ -static t_bool +static void create_mail_save_dirs( void) { - t_bool created = FALSE; char path[PATH_LEN]; struct stat sb; - if (!strfpath(tinrc.maildir, path, sizeof(path), NULL)) - joinpath(path, homedir, DEFAULT_MAILDIR); + if (!strfpath(tinrc.maildir, path, sizeof(path), NULL, FALSE)) + joinpath(path, sizeof(path), homedir, DEFAULT_MAILDIR); - if (stat(path, &sb) == -1) { + if (stat(path, &sb) == -1) my_mkdir(path, (mode_t) (S_IRWXU)); - created = TRUE; - } - if (!strfpath(tinrc.savedir, path, sizeof(path), NULL)) - joinpath(path, homedir, DEFAULT_SAVEDIR); + if (!strfpath(tinrc.savedir, path, sizeof(path), NULL, FALSE)) + joinpath(path, sizeof(path), homedir, DEFAULT_SAVEDIR); - if (stat(path, &sb) == -1) { + if (stat(path, &sb) == -1) my_mkdir(path, (mode_t) (S_IRWXU)); - created = TRUE; - } - - return created; } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/makecfg.c tin-2.0.0/src/makecfg.c --- tin-1.8.3/src/makecfg.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/makecfg.c 2011-04-17 16:04:31.047163511 +0200 @@ -3,10 +3,10 @@ * Module : makecfg.c * Author : Thomas E. Dickey * Created : 1997-08-23 - * Updated : 2005-06-21 + * Updated : 2009-02-14 * Notes : #defines and structs for options_menu.c * - * Copyright (c) 1997-2006 Thomas E. Dickey + * Copyright (c) 1997-2011 Thomas E. Dickey * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,7 +44,7 @@ #define L_CURL '{' #define R_CURL '}' -#define MAXNAME 27 /* maximum name-length (just for readability formatting) */ +#define MAXNAME 36 /* maximum name-length (just for readability formatting) */ #define MAXTYPE 5 /* limits opt_type to keep names unique within 31 chars */ #define MYDATA struct mydata @@ -239,6 +239,8 @@ generate_tbl( /* shorten message-variable names */ if (!strncmp(dft_name, "default_", 8)) dft_name += 8; + else if (!strncmp(dft_name, "attrib_", 7)) + dft_name += 7; fprintf(ofp, "%s", prefix); sprintf(temp, "%s,", is_opt ? p->type : "OPT_LIST"); diff -Nurp --exclude='.bzr*' tin-1.8.3/src/memory.c tin-2.0.0/src/memory.c --- tin-1.8.3/src/memory.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/memory.c 2011-04-17 16:04:31.079168380 +0200 @@ -3,10 +3,10 @@ * Module : memory.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-07-02 + * Updated : 2010-05-16 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -51,6 +51,8 @@ int num_newnews = 0; int max_art; int max_save; int num_save = 0; +int max_scope; +int num_scope = -1; /* * Dynamic arrays @@ -58,6 +60,7 @@ int num_save = 0; int *my_group; /* .newsrc --> active[] */ long *base; /* base articles for each thread */ struct t_group *active; /* active newsgroups */ +struct t_scope *scopes = NULL; /* attributes stores in .tin/attributes */ struct t_newnews *newnews; /* active file sizes on differnet servers */ struct t_article *arts; /* articles headers in current group */ struct t_save *save; /* sorts articles before saving them */ @@ -66,9 +69,11 @@ struct t_save *save; /* sorts articles * Local prototypes */ static void free_active_arrays(void); +static void free_attributes(struct t_attribute *attributes); +static void free_scopes_arrays(void); static void free_newnews_array(void); +static void free_if_not_default(char **attrib, char *deflt); static void free_input_history(void); -static void free_global_arrays(void); /* @@ -97,9 +102,11 @@ init_alloc( */ max_art = DEFAULT_ARTICLE_NUM; - arts = my_malloc(sizeof(*arts) * max_art); + arts = my_calloc(1, sizeof(*arts) * max_art); base = my_malloc(sizeof(long) * max_art); + ofmt = my_calloc(1, sizeof(*ofmt) * 9); /* initial number of overview fields */ + /* * save file array */ @@ -107,6 +114,12 @@ init_alloc( save = my_malloc(sizeof(*save) * max_save); + /* + * scope array + */ + max_scope = DEFAULT_SCOPE_NUM; + expand_scope(); + #ifndef USE_CURSES screen = (struct t_screen *) 0; #endif /* !USE_CURSES */ @@ -117,9 +130,13 @@ void expand_art( void) { + int i = max_art; + max_art += max_art >> 1; /* increase by 50% */ arts = my_realloc(arts, sizeof(*arts) * max_art); base = my_realloc(base, sizeof(long) * max_art); + for (; i < max_art; i++) /* use memset() instead? */ + arts[i].subject = arts[i].from = arts[i].xref = arts[i].refs = arts[i].msgid = NULL; } @@ -148,6 +165,21 @@ expand_save( void +expand_scope( + void) +{ + if ((scopes == NULL) || (num_scope < 0)) { + if (scopes == NULL) + scopes = my_malloc(sizeof(*scopes) * max_scope); + num_scope = 0; + } else { + max_scope += max_scope >> 1; /* increase by 50 % */ + scopes = my_realloc(scopes, sizeof(*scopes) * max_scope); + } +} + + +void expand_newnews( void) { @@ -200,7 +232,7 @@ free_all_arrays( FreeAndNull(arts); free_filter_array(&glob_filter); free_active_arrays(); - free_global_arrays(); + free_scopes_arrays(); #ifdef HAVE_COLOR FreeIfNeeded(quote_regex.re); @@ -226,6 +258,10 @@ free_all_arrays( FreeIfNeeded(uubegin_regex.extra); FreeIfNeeded(uubody_regex.re); FreeIfNeeded(uubody_regex.extra); + FreeIfNeeded(verbatim_begin_regex.re); + FreeIfNeeded(verbatim_begin_regex.extra); + FreeIfNeeded(verbatim_end_regex.re); + FreeIfNeeded(verbatim_end_regex.extra); FreeIfNeeded(url_regex.re); FreeIfNeeded(url_regex.extra); FreeIfNeeded(mail_regex.re); @@ -254,6 +290,13 @@ free_all_arrays( FreeAndNull(nntp_caps.implementation); + if (ofmt) { /* ofmt might not be allocated yet on early abort */ + int i; + for (i = 0; ofmt[i].name; i++) + free(ofmt[i].name); + free(ofmt); + } + tin_fgets(NULL, FALSE); } @@ -292,7 +335,7 @@ free_art_array( * Use this only for attributes that have a fixed default of a static string * in tinrc */ -void +static void free_if_not_default( char **attrib, char *deflt) @@ -303,103 +346,79 @@ free_if_not_default( /* - * TODO: fix the leaks in the global case + * Free memory of one attributes struct only */ -void -free_attributes_array( - void) +static void +free_attributes( + struct t_attribute *attributes) { - int i; - struct t_group *group; - - for_each_group(i) { - group = &active[i]; - if (!group->bogus && group->attribute && !group->attribute->global) { - free_if_not_default(&group->attribute->maildir, tinrc.maildir); - free_if_not_default(&group->attribute->savedir, tinrc.savedir); - - FreeAndNull(group->attribute->savefile); - - free_if_not_default(&group->attribute->sigfile, tinrc.sigfile); - free_if_not_default(&group->attribute->organization, default_organization); - - FreeAndNull(group->attribute->followup_to); - - FreeAndNull(group->attribute->fcc); - - FreeAndNull(group->attribute->mailing_list); - FreeAndNull(group->attribute->x_headers); - FreeAndNull(group->attribute->x_body); - - free_if_not_default(&group->attribute->from, tinrc.mail_address); - free_if_not_default(&group->attribute->news_quote_format, tinrc.news_quote_format); - free_if_not_default(&group->attribute->quote_chars, tinrc.quote_chars); - - FreeAndNull(group->attribute->mime_types_to_save); - + free_if_not_default(&attributes->date_format, tinrc.date_format); + free_if_not_default(&attributes->editor_format, tinrc.editor_format); + FreeAndNull(attributes->fcc); + free_if_not_default(&attributes->from, tinrc.mail_address); + FreeAndNull(attributes->followup_to); #ifdef HAVE_ISPELL - FreeAndNull(group->attribute->ispell); + FreeAndNull(attributes->ispell); #endif /* HAVE_ISPELL */ - - FreeAndNull(group->attribute->quick_kill_scope); - FreeAndNull(group->attribute->quick_select_scope); - + free_if_not_default(&attributes->maildir, tinrc.maildir); + FreeAndNull(attributes->mailing_list); + FreeAndNull(attributes->mime_types_to_save); + free_if_not_default(&attributes->news_headers_to_display, tinrc.news_headers_to_display); + free_if_not_default(&attributes->news_headers_to_not_display, tinrc.news_headers_to_not_display); + if (attributes->headers_to_display) { + if (attributes->headers_to_display->header) + FreeIfNeeded(*attributes->headers_to_display->header); + FreeAndNull(attributes->headers_to_display->header); + free(attributes->headers_to_display); + attributes->headers_to_display = (struct t_newsheader *) 0; + } + if (attributes->headers_to_not_display) { + if (attributes->headers_to_not_display->header) + FreeIfNeeded(*attributes->headers_to_not_display->header); + FreeAndNull(attributes->headers_to_not_display->header); + free(attributes->headers_to_not_display); + attributes->headers_to_not_display = (struct t_newsheader *) 0; + } + free_if_not_default(&attributes->news_quote_format, tinrc.news_quote_format); + free_if_not_default(&attributes->organization, default_organization); + FreeAndNull(attributes->quick_kill_scope); + FreeAndNull(attributes->quick_select_scope); + free_if_not_default(&attributes->quote_chars, tinrc.quote_chars); + free_if_not_default(&attributes->savedir, tinrc.savedir); + FreeAndNull(attributes->savefile); + free_if_not_default(&attributes->sigfile, tinrc.sigfile); #ifdef CHARSET_CONVERSION - FreeAndNull(group->attribute->undeclared_charset); + FreeAndNull(attributes->undeclared_charset); #endif /* CHARSET_CONVERSION */ + FreeAndNull(attributes->x_headers); + FreeAndNull(attributes->x_body); +} - free(group->attribute); - } - group->attribute = (struct t_attribute *) 0; - } - - /* free the global attributes array */ - free_if_not_default(&glob_attributes.maildir, tinrc.maildir); - free_if_not_default(&glob_attributes.savedir, tinrc.savedir); - - FreeAndNull(glob_attributes.savefile); - - free_if_not_default(&glob_attributes.sigfile, tinrc.sigfile); - free_if_not_default(&glob_attributes.organization, default_organization); - - FreeAndNull(glob_attributes.followup_to); - - FreeAndNull(glob_attributes.fcc); - - FreeAndNull(glob_attributes.mailing_list); - FreeAndNull(glob_attributes.x_headers); - FreeAndNull(glob_attributes.x_body); - - free_if_not_default(&glob_attributes.from, tinrc.mail_address); - free_if_not_default(&glob_attributes.news_quote_format, tinrc.news_quote_format); - free_if_not_default(&glob_attributes.quote_chars, tinrc.quote_chars); - - FreeAndNull(glob_attributes.mime_types_to_save); - -#ifdef HAVE_ISPELL - FreeAndNull(glob_attributes.ispell); -#endif /* HAVE_ISPELL */ - FreeAndNull(glob_attributes.quick_kill_scope); - FreeAndNull(glob_attributes.quick_select_scope); +void +free_scope( + int num) +{ + struct t_scope *scope; -#ifdef CHARSET_CONVERSATION - FreeAndNull(glob_attributes.undeclared_charset); -#endif /* CHARSET_CONVERSATION */ + scope = &scopes[num]; + FreeAndNull(scope->scope); + free_attributes(scope->attribute); + free(scope->attribute); + scope->attribute = (struct t_attribute *) 0; + free(scope->state); + scope->state = (struct t_attribute_state *) 0; } static void -free_global_arrays( +free_scopes_arrays( void) { - if (news_headers_to_display_array) - FreeIfNeeded(*news_headers_to_display_array); - FreeAndNull(news_headers_to_display_array); - - if (news_headers_to_not_display_array) - FreeIfNeeded(*news_headers_to_not_display_array); - FreeAndNull(news_headers_to_not_display_array); + while (num_scope > 0) + free_scope(--num_scope); + FreeAndNull(scopes); + num_scope = -1; } @@ -407,21 +426,24 @@ static void free_active_arrays( void) { - int i; - FreeAndNull(my_group); /* my_group[] */ if (active != NULL) { /* active[] */ + int i; + for_each_group(i) { FreeAndNull(active[i].name); FreeAndNull(active[i].description); FreeAndNull(active[i].aliasedto); - if (active[i].type == GROUP_TYPE_MAIL) { + if (active[i].type == GROUP_TYPE_MAIL || active[i].type == GROUP_TYPE_SAVE) { FreeAndNull(active[i].spooldir); } FreeAndNull(active[i].newsrc.xbitmap); + if (active[i].attribute && !active[i].attribute->global) { + free(active[i].attribute); + active[i].attribute = (struct t_attribute *) 0; + } } - free_attributes_array(); FreeAndNull(active); } num_active = -1; @@ -484,7 +506,7 @@ my_malloc1( #endif /* DEBUG */ if ((p = malloc(size)) == NULL) { - error_message(txt_out_of_memory, tin_progname, size, file, line); + error_message(2, txt_out_of_memory, tin_progname, size, file, line); giveup(); } return p; @@ -508,7 +530,7 @@ my_calloc1( #endif /* DEBUG */ if ((p = calloc(nmemb, size)) == NULL) { - error_message(txt_out_of_memory, tin_progname, nmemb * size, file, line); + error_message(2, txt_out_of_memory, tin_progname, nmemb * size, file, line); giveup(); } return p; @@ -526,10 +548,17 @@ my_realloc1( debug_print_malloc(FALSE, file, line, size); #endif /* DEBUG */ - p = ((!p) ? (calloc(1, size)) : realloc(p, size)); + if (!size) { + if (p) + free(p); + + return NULL; + } + + p = ((!p) ? (malloc(size)) : realloc(p, size)); if (p == NULL) { - error_message(txt_out_of_memory, tin_progname, size, file, line); + error_message(2, txt_out_of_memory, tin_progname, size, file, line); giveup(); } return p; diff -Nurp --exclude='.bzr*' tin-1.8.3/src/mimetypes.c tin-2.0.0/src/mimetypes.c --- tin-1.8.3/src/mimetypes.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/mimetypes.c 2011-04-17 16:04:31.107172643 +0200 @@ -3,10 +3,10 @@ * Module : mimetypes.c * Author : J. Faultless * Created : 2000-03-31 - * Updated : 2003-08-26 + * Updated : 2007-12-30 * Notes : mime.types handling * - * Copyright (c) 2000-2006 Jason Faultless + * Copyright (c) 2000-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -70,17 +70,17 @@ _lookup_mimetype( if (buf[0] == '#' || buf[0] == '\n') /* Skip comments & blank lines */ continue; - strtok(buf, " \t\n"); - - while ((exts = strtok(NULL, " \t\n")) != NULL) { /* Work through list of extensions */ - if (strcasecmp(ext, exts) == 0) { - if ((i = content_type(strtok(buf, "/"))) != -1) { - if ((ptr = strtok(NULL, "\n")) != NULL) { - part->type = i; - FreeIfNeeded(part->subtype); - part->subtype = my_strdup(ptr); - fclose(fp); - return TRUE; + if (strtok(buf, " \t\n")) { + while ((exts = strtok(NULL, " \t\n")) != NULL) { /* Work through list of extensions */ + if (strcasecmp(ext, exts) == 0) { + if ((i = content_type(strtok(buf, "/"))) != -1) { + if ((ptr = strtok(NULL, "\n")) != NULL) { + part->type = i; + FreeIfNeeded(part->subtype); + part->subtype = my_strdup(ptr); + fclose(fp); + return TRUE; + } } } } @@ -105,17 +105,17 @@ lookup_mimetype( { char buf[PATH_LEN]; - joinpath(buf, homedir, ".mime.types"); + joinpath(buf, sizeof(buf), homedir, ".mime.types"); if (_lookup_mimetype(buf, ext, part)) return; -#ifdef M_UNIX /* TODO: what about VMS etc.pp? */ +#ifdef M_UNIX if (_lookup_mimetype("/etc/mime.types", ext, part)) return; #endif /* M_UNIX */ #ifdef TIN_DEFAULTS_DIR - joinpath(buf, TIN_DEFAULTS_DIR, "mime.types"); + joinpath(buf, sizeof(buf), TIN_DEFAULTS_DIR, "mime.types"); _lookup_mimetype(buf, ext, part); #endif /* TIN_DEFAULTS_DIR */ @@ -143,12 +143,14 @@ _lookup_extension( while ((fgets(buf, sizeof(buf), fp)) != NULL) { if (buf[0] == '#' || buf[0] == '\n' || strncmp(buf, type, strlen(type))) continue; - if (strlen((p = strtok(buf, " \t\n"))) != strlen(type)) - continue; - if ((p = strtok(NULL, " \t\n")) != NULL) { - my_strncpy(extension, p, ext_len - 1); - fclose(fp); - return TRUE; + if ((p = strtok(buf, " \t\n"))) { + if (strlen(p) != strlen(type)) + continue; + if ((p = strtok(NULL, " \t\n")) != NULL) { + my_strncpy(extension, p, ext_len - 1); + fclose(fp); + return TRUE; + } } } fclose(fp); @@ -184,13 +186,13 @@ lookup_extension( strcat(type, "/"); strcat(type, minor); - joinpath(buf, homedir, ".mime.types"); + joinpath(buf, sizeof(buf), homedir, ".mime.types"); if (_lookup_extension(extension, ext_len, buf, type)) { free(type); return TRUE; } -#ifdef M_UNIX /* TODO: what about VMS etc.pp? */ +#ifdef M_UNIX if (_lookup_extension(extension, ext_len, "/etc/mime.types", type)) { free(type); return TRUE; @@ -198,7 +200,7 @@ lookup_extension( #endif /* M_UNIX */ #ifdef TIN_DEFAULTS_DIR - joinpath(buf, TIN_DEFAULTS_DIR, "mime.types"); + joinpath(buf, sizeof(buf), TIN_DEFAULTS_DIR, "mime.types"); if (_lookup_extension(extension, ext_len, buf, type)) { free(type); return TRUE; diff -Nurp --exclude='.bzr*' tin-1.8.3/src/misc.c tin-2.0.0/src/misc.c --- tin-1.8.3/src/misc.c 2006-04-08 16:31:54.000000000 +0200 +++ tin-2.0.0/src/misc.c 2011-05-09 16:20:05.779378619 +0200 @@ -3,10 +3,10 @@ * Module : misc.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2006-04-06 + * Updated : 2011-04-30 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -56,7 +56,7 @@ #endif /* HAVE_IDNA_H && !_IDNA_H */ #if defined(HAVE_STRINGPREP_H) && !defined(_STRINGPREP_H) # include -#endif /* HAVE_STRINGPREP_H & !_STRINGPREP_H */ +#endif /* HAVE_STRINGPREP_H && !_STRINGPREP_H */ /* @@ -72,7 +72,7 @@ * Local prototypes */ static char *strfpath_cp(char *str, char *tbuf, char *endp); -static int _strfpath(const char *format, char *str, size_t maxsize, struct t_group *group); +static int _strfpath(const char *format, char *str, size_t maxsize, struct t_group *group, t_bool expand_all); static int gnksa_check_domain(char *domain); static int gnksa_check_domain_literal(char *domain); static int gnksa_check_localpart(const char *localpart); @@ -80,7 +80,7 @@ static int gnksa_dequote_plainphrase(cha static int strfeditor(char *editor, int linenum, const char *filename, char *s, size_t maxsize, char *format); static void write_input_history_file(void); #ifdef CHARSET_CONVERSION - static t_bool buffer_to_local(char **line, int *max_line_len, const char *network_charset, const char *local_charset); + static t_bool buffer_to_local(char **line, size_t *max_line_len, const char *network_charset, const char *local_charset); #endif /* CHARSET_CONVERSION */ #if 0 /* currently unused */ static t_bool stat_article(long art, const char *group_path); @@ -166,7 +166,7 @@ asfail( /* * Quick copying of files - * Returns FALSE if copy failed. Caller may wish to check for SIGPIPE + * Returns FALSE if copy failed. Caller may wish to check for errno == EPIPE. */ t_bool copy_fp( @@ -176,11 +176,13 @@ copy_fp( char buf[8192]; size_t have, sent; + errno = 0; /* To check errno after write, clear it here */ + while ((have = fread(buf, 1, sizeof(buf), fp_ip)) != 0) { sent = fwrite(buf, 1, have, fp_op); if (sent != have) { TRACE(("copy_fp wrote %d of %d:{%.*s}", sent, have, (int) sent, buf)); - if (!got_sig_pipe) /* !SIGPIPE => more serious error */ + if (errno && errno != EPIPE) /* not a broken pipe => more serious error */ perror_message(_(txt_error_copy_fp)); return FALSE; } @@ -269,7 +271,7 @@ copy_body( if (strlen(prefix) > 240) /* truncate and terminate */ prefix[240] = '\0'; - /* convert %S to %s, for compability reasons only */ + /* convert %S to %s, for compatibility reasons only */ if (strstr(prefix, "%S")) { status_char = FALSE; for (i = 0; prefix[i]; i++) { @@ -318,7 +320,7 @@ copy_body( } buf2[i] = '\0'; if (status_char) /* already quoted */ - retcode = fprintf(fp_op, "%s>%s", buf2, strchr(buf, '>')); + retcode = fprintf(fp_op, "%s>%s", buf2, BlankIfNull(strchr(buf, '>'))); else /* ... to be quoted ... */ retcode = fprintf(fp_op, "%s%s", prefixbuf, buf); } else /* line was not already quoted (no >) */ @@ -363,7 +365,8 @@ get_val( t_bool invoke_editor( const char *filename, - int lineno) /* return value is always ignored */ + int lineno, + struct t_group *group) /* return value is always ignored */ { char buf[PATH_LEN], fnameb[PATH_LEN]; char editor_format[PATH_LEN]; @@ -376,7 +379,10 @@ invoke_editor( first = FALSE; } - my_strncpy(editor_format, (*tinrc.editor_format ? tinrc.editor_format : (tinrc.start_editor_offset ? TIN_EDITOR_FMT_ON : TIN_EDITOR_FMT_OFF)), sizeof(editor_format) - 1); + if (group != NULL) + my_strncpy(editor_format, (*group->attribute->editor_format ? group->attribute->editor_format : (group->attribute->start_editor_offset ? TIN_EDITOR_FMT_ON : TIN_EDITOR_FMT_OFF)), sizeof(editor_format) - 1); + else + my_strncpy(editor_format, (*tinrc.editor_format ? tinrc.editor_format : (tinrc.start_editor_offset ? TIN_EDITOR_FMT_ON : TIN_EDITOR_FMT_OFF)), sizeof(editor_format) - 1); if (!strfeditor(editor, lineno, filename, buf, sizeof(buf), editor_format)) sh_format(buf, sizeof(buf), "%s %s", editor, filename); @@ -411,7 +417,7 @@ invoke_ispell( STRCPY(ispell, get_val("ISPELL", PATH_ISPELL)); /* - * Now seperating the header and body in two different files so that + * Now separating the header and body in two different files so that * the header is not checked by ispell */ #ifdef HAVE_LONG_FILE_NAMES @@ -444,10 +450,14 @@ invoke_ispell( fputs(buf, fp_head); if (buf[0] == '\n' || buf[0] == '\r') { fclose(fp_head); + fp_head = 0; break; } } + if (fp_head) + fclose(fp_head); + while (fgets(buf, (int) sizeof(buf), fp_all) != NULL) fputs(buf, fp_body); @@ -499,7 +509,15 @@ shell_escape( (void) invoke_cmd(p); +# ifndef USE_CURSES + EndWin(); + Raw(FALSE); +# endif /* !USE_CURSES */ prompt_continue(); +# ifndef USE_CURSES + Raw(TRUE); + InitWin(); +# endif /* !USE_CURSES */ if (tinrc.draw_arrow) ClearScreen(); @@ -570,9 +588,10 @@ tin_done( if (!no_write) { i = 3; /* max retries */ while (i--) { - if (((wrote_newsrc_lines = write_newsrc()) >= 0L) && (wrote_newsrc_lines >= read_newsrc_lines)) { + wrote_newsrc_lines = write_newsrc(); + if ((wrote_newsrc_lines >= 0L) && (wrote_newsrc_lines >= read_newsrc_lines)) { if (!batch_mode || verbose) - my_fputs(_(txt_newsrc_saved), stdout); + wait_message(0, _(txt_newsrc_saved)); break; } @@ -594,9 +613,6 @@ tin_done( } write_input_history_file(); -#if 0 - write_attributes_file(local_attributes_file); -#endif /* 0 */ #ifdef HAVE_MH_MAIL_HANDLING write_mail_active_file(); @@ -613,10 +629,14 @@ tin_done( free_all_arrays(); + /* TODO: why do we make this exception here? */ #ifdef SIGUSR1 if (ret != -SIGUSR1) { #endif /* SIGUSR1 */ #ifdef HAVE_COLOR +# ifndef USE_CURSES + reset_screen_attr(); +# endif /* !USE_CURSES */ use_color = FALSE; EndInverse(); #else @@ -633,6 +653,11 @@ tin_done( } else ret = SIGUSR1; #endif /* SIGUSR1 */ +#ifdef HAVE_COLOR +# ifdef USE_CURSES + free_color_pair_arrays(); +# endif /* USE_CURSES */ +#endif /* HAVE_COLOR */ cleanup_tmp_files(); #ifdef DOALLOC @@ -648,12 +673,6 @@ tin_done( } #endif /* USE_DBMALLOC */ -#ifdef VMS - if (!ret) - ret = 1; - vms_close_stdin(); /* free resources used by ReadCh */ -#endif /* VMS */ - exit(ret); } @@ -670,7 +689,11 @@ my_mkdir( snprintf(buf, sizeof(buf), "mkdir %s", path); /* redirect stderr to /dev/null? use invoke_cmd()? */ if (stat(path, &sb) == -1) { system(buf); +# ifdef HAVE_CHMOD return chmod(path, mode); +# else + return 0; +# endif /* HAVE_CHMOD */ } else return -1; #else @@ -745,31 +768,6 @@ rename_file( #endif /* M_UNIX */ -#ifdef VMS -void -rename_file( - char *old_filename, - char *new_filename) -{ - char new_filename_vms[1024]; - - if (!strchr(strchr(new_filename, ']') ? strchr(new_filename, ']') : new_filename, '.')) { - /* without final dot the new filename is not as tin expects */ - if (strlen(new_filename) >= sizeof(new_filename_vms)) { - perror_message("length of %s is too large", new_filename); - return; - } - strcpy(new_filename_vms, new_filename); - strcat(new_filename_vms, "."); - new_filename = &new_filename_vms[0]; - } - - if (rename(old_filename, new_filename)) - perror_message(_(txt_rename_error), old_filename, new_filename); -} -#endif /* VMS */ - - /* * Note that we exit screen/curses mode when invoking * external commands @@ -780,7 +778,9 @@ invoke_cmd( { int ret; t_bool save_cmd_line = cmd_line; +#ifndef IGNORE_SYSTEM_STATUS t_bool success; +#endif /* IGNORE_SYSTEM_STATUS */ if (!save_cmd_line) { EndWin(); @@ -790,13 +790,9 @@ invoke_cmd( TRACE(("called system(%s)", _nc_visbuf(nam))); ret = system(nam); -#ifdef VMS - system_status = 0; -#else -# ifndef USE_SYSTEM_STATUS +#ifndef USE_SYSTEM_STATUS system_status = (ret >= 0 && WIFEXITED(ret)) ? WEXITSTATUS(ret) : 0; -# endif /* !USE_SYSTEM_STATUS */ -#endif /* VMS */ +#endif /* !USE_SYSTEM_STATUS */ TRACE(("return %d (%d)", ret, system_status)); set_signal_catcher(TRUE); @@ -810,14 +806,10 @@ invoke_cmd( return TRUE; #else -# ifdef VMS - success = (ret != 0); -# else - success = (ret == 0); -# endif /* VMS */ + success = (ret == 0); if (!success || system_status != 0) - error_message(_(txt_command_failed), nam); + error_message(2, _(txt_command_failed), nam); return success; #endif /* IGNORE_SYSTEM_STATUS */ @@ -831,9 +823,6 @@ draw_percent_mark( { char buf[32]; /* should be big enough */ int len; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - wchar_t *wbuf; -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ if (NOTESLINES <= 0) return; @@ -843,18 +832,15 @@ draw_percent_mark( clear_message(); snprintf(buf, sizeof(buf), "%s(%d%%) [%ld/%ld]", _(txt_more), (int) (cur_num * 100 / max_num), cur_num, max_num); -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wbuf = char2wchar_t(buf)) != NULL) { - len = wcswidth(wbuf, wcslen(wbuf) + 1); - free(wbuf); - } else -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - len = (int) strlen(buf); + len = strwidth(buf); MoveCursor(cLINES, cCOLS - len - (1 + BLANK_PAGE_COLS)); +#ifdef HAVE_COLOR + fcol(tinrc.col_normal); +#endif /* HAVE_COLOR */ StartInverse(); my_fputs(buf, stdout); - my_flush(); EndInverse(); + my_flush(); } @@ -867,9 +853,6 @@ base_name( char *file) /* baz */ { size_t i; -#ifdef VMS - char *cp; -#endif /* VMS */ strcpy(file, fullpath); @@ -879,10 +862,6 @@ base_name( break; } } -#ifdef VMS - if ((cp = strrchr(file, '.')) != 0) - *cp = '\0'; -#endif /* VMS */ } @@ -926,14 +905,12 @@ mail_check( if ((int) (buf.st_mode & S_IFMT) == (int) S_IFDIR) { /* maildir setup */ DIR *dirp; char *maildir_box; + size_t maildir_box_len = strlen(mailbox_name) + strlen(MAILDIR_NEW) + 2; struct dirent *dp; - maildir_box = my_malloc(strlen(mailbox_name) + strlen(MAILDIR_NEW) + 2); -#ifdef VMS - joindir(maildir_box, mailbox_name, MAILDIR_NEW); -#else - joinpath(maildir_box, mailbox_name, MAILDIR_NEW); -#endif /* VMS */ + maildir_box = my_malloc(maildir_box_len); + joinpath(maildir_box, maildir_box_len, mailbox_name, MAILDIR_NEW); + if (!(dirp = opendir(maildir_box))) { free(maildir_box); return FALSE; @@ -980,26 +957,27 @@ eat_re( data = pcre_exec(strip_re_regex.re, strip_re_regex.extra, s, strlen(s), 0, 0, offsets, size_offsets); if (offsets[0] == 0) s += offsets[1]; - } while (data > 0); + } while (data >= 0); if (eat_was) do { data = pcre_exec(strip_was_regex.re, strip_was_regex.extra, s, strlen(s), 0, 0, offsets, size_offsets); if (offsets[0] > 0) s[offsets[0]] = '\0'; - } while (data > 0); + } while (data >= 0); return s; } +#if defined(NO_LOCALE) || !defined(MULTIBYTE_ABLE) int my_isprint( int c) { -#ifndef NO_LOCALE +# ifndef NO_LOCALE /* use locale */ return isprint(c); -#else +# else if (IS_LOCAL_CHARSET("ISO-8859")) return (isprint(c) || (c >= 0xa0 && c <= 0xff)); else if (IS_LOCAL_CHARSET("ISO-2022")) @@ -1010,8 +988,9 @@ my_isprint( return 1; else /* KOI8-* and UTF-8 */ return (isprint(c) || (c >= 0x80 && c <= 0xff)); -#endif /* !NO_LOCALE */ +# endif /* !NO_LOCALE */ } +#endif /* NO_LOCALE || !MULTIBYTE_ABLE */ /* @@ -1096,9 +1075,22 @@ toggle_color( use_color = FALSE; info_message(_(txt_no_colorterm)); return FALSE; - } else + } + if (use_color) + reset_color(); # endif /* USE_CURSES */ - use_color = bool_not(use_color); + use_color = bool_not(use_color); + + if (use_color) { +# ifdef USE_CURSES + fcol(tinrc.col_normal); +# endif /* USE_CURSES */ + bcol(tinrc.col_back); + } +# ifndef USE_CURSES + else + reset_screen_attr(); +# endif /* !USE_CURSES */ return TRUE; } @@ -1116,6 +1108,8 @@ show_color_status( /* * Check for lock file to stop multiple copies of tin -u running and if it * does not exist create it so this is the only copy running + * + * FIXME: get ridd of hardcoded pid-length as pid_t might be long */ void create_index_lock_file( @@ -1125,12 +1119,13 @@ create_index_lock_file( char buf[64]; struct stat sb; time_t epoch; + int err; if (stat(the_lock_file, &sb) == 0) { if ((fp = fopen(the_lock_file, "r")) != NULL) { fgets(buf, (int) sizeof(buf), fp); fclose(fp); - error_message("\n%s: Already started pid=[%d] on %s", tin_progname, atoi(buf), buf + 8); + error_message(2, "\n%s: Already started pid=[%d] on %s", tin_progname, atoi(buf), buf + 8); giveup(); } } else { @@ -1138,8 +1133,13 @@ create_index_lock_file( fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR)); (void) time(&epoch); fprintf(fp, "%6d %s\n", (int) process_id, ctime(&epoch)); - if (ferror(fp) || fclose(fp)) - error_message(_(txt_filesystem_full), the_lock_file); + if ((err = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), the_lock_file); + if (err) { + clearerr(fp); + fclose(fp); + } + } } } } @@ -1148,7 +1148,7 @@ create_index_lock_file( /* * strfquote() - produce formatted quote string * %A Articles Email address - * %D Articles Date + * %D Articles Date (uses tinrc.date_format) * %F Articles Address+Name * %G Groupname of Article * %M Articles MessageId @@ -1243,8 +1243,10 @@ strfquote( } break; - case 'D': /* Articles Date */ - STRCPY(tbuf, BlankIfNull(pgart.hdr.date)); + case 'D': /* Articles Date (reformatted as specified in attributes->date_format) */ + if (!my_strftime(tbuf, LEN - 1, curr_group->attribute->date_format, localtime(&arts[this_resp].date))) { + STRCPY(tbuf, BlankIfNull(pgart.hdr.date)); + } break; case 'F': /* Articles Address+Name */ @@ -1450,7 +1452,7 @@ strfpath_cp( * $var/News -> /env/var/News * =file -> $HOME/Mail/file * = -> $HOME/Mail/group.name - * +file -> tinrc.savedir/group.name/file + * +file -> savedir/group.name/file * * Interestingly, %G is not documented as such and apparently unused * ~/News/%G -> $HOME/News/group.name @@ -1460,6 +1462,7 @@ strfpath_cp( * str Return buffer * maxsize Size of str * group ptr to current group + * expand_all true if '+' and '=' should be expanded * Returns: * 0 on error * 1 if generated pathname is a mailbox @@ -1470,7 +1473,8 @@ _strfpath( const char *format, char *str, size_t maxsize, - struct t_group *group) + struct t_group *group, + t_bool expand_all) { char *endp = str + maxsize; const char *startp = format; @@ -1493,12 +1497,7 @@ _strfpath( /* * If just a normal part of the pathname copy it */ -#ifdef VMS - if (!strchr("~=+%", *format)) -#else - if (!strchr("~$=+%", *format)) -#endif /* VMS */ - { + if (!strchr("~$=+%", *format)) { *str++ = *format; continue; } @@ -1507,7 +1506,7 @@ _strfpath( case '~': /* Users or another users homedir */ switch (*++format) { case '/': /* users homedir */ - joinpath(tbuf, homedir, ""); + joinpath(tbuf, sizeof(tbuf), homedir, ""); break; default: /* some other users homedir */ @@ -1529,7 +1528,6 @@ _strfpath( return 0; break; -#ifndef VMS case '$': /* Read the envvar and use its value */ i = 0; format++; @@ -1567,7 +1565,6 @@ _strfpath( return 0; } break; -#endif /* !VMS */ case '=': /* @@ -1576,16 +1573,15 @@ _strfpath( * =dir expands to maildir/dir * = expands to maildir/groupname */ - is_mailbox = TRUE; - - if (startp == format && group != NULL) { + if (startp == format && group != NULL && expand_all) { char buf[PATH_LEN]; - if (strfpath(group->attribute->maildir, buf, sizeof(buf), group)) { + is_mailbox = TRUE; + if (strfpath(cmdline.args & CMDLINE_MAILDIR ? cmdline.maildir : group->attribute->maildir, buf, sizeof(buf), group, FALSE)) { if (*(format + 1) == '\0') /* Just an = */ - joinpath(tbuf, buf, group->name); + joinpath(tbuf, sizeof(tbuf), buf, group->name); else - joinpath(tbuf, buf, ""); + joinpath(tbuf, sizeof(tbuf), buf, ""); if ((str = strfpath_cp(str, tbuf, endp)) == NULL) return 0; } else { @@ -1600,22 +1596,24 @@ _strfpath( /* * Group name expansion * Only convert if 1st char in format + * +file expands to savedir/group.name/file */ - if (startp == format && group != NULL) { + + if (startp == format && group != NULL && expand_all) { char buf[PATH_LEN]; /* * Start with the savedir name */ - if (strfpath(group->attribute->savedir, buf, sizeof(buf), group)) { + if (strfpath(cmdline.args & CMDLINE_SAVEDIR ? cmdline.savedir : group->attribute->savedir, buf, sizeof(buf), group, FALSE)) { char tmp[PATH_LEN]; #ifdef HAVE_LONG_FILE_NAMES my_strncpy(tmp, group->name, sizeof(tmp) - 1); #else my_strncpy(tmp, group->name, 14); #endif /* HAVE_LONG_FILE_NAMES */ - JOINPATH(tbuf, buf, tmp); /* Add the group name */ - joinpath(tmp, tbuf, ""); + joinpath(tbuf, sizeof(tbuf), buf, tmp); /* Add the group name */ + joinpath(tmp, sizeof(tmp), tbuf, ""); if ((str = strfpath_cp(str, tmp, endp)) == NULL) return 0; } else { @@ -1669,7 +1667,8 @@ strfpath( const char *format, char *str, size_t maxsize, - struct t_group *group) + struct t_group *group, + t_bool expand_all) { /* * Expand any leading env vars first in case they themselves contain @@ -1678,11 +1677,11 @@ strfpath( if (format[0] == '$') { char buf[PATH_LEN]; - if (_strfpath(format, buf, sizeof(buf), group)) - return (_strfpath(buf, str, maxsize, group)); + if (_strfpath(format, buf, sizeof(buf), group, expand_all)) + return (_strfpath(buf, str, maxsize, group, expand_all)); } - return (_strfpath(format, str, maxsize, group)); + return (_strfpath(format, str, maxsize, group, expand_all)); } @@ -2010,9 +2009,6 @@ make_group_path( const char *name, char *path) { -#ifdef VMS - sprintf(path, "[%s]", name); -#else while (*name) { *path = ((*name == '.') ? '/' : *name); name++; @@ -2020,7 +2016,6 @@ make_group_path( } *path++ = '/'; *path = '\0'; -#endif /* VMS */ } @@ -2034,31 +2029,27 @@ void make_base_group_path( const char *base_dir, const char *group_name, - char *group_path) + char *group_path, + size_t group_path_len) { char buf[LEN]; make_group_path(group_name, buf); - joinpath(group_path, base_dir, buf); + joinpath(group_path, group_path_len, base_dir, buf); } /* - * Delete tmp index & local newsgroups file + * Delete index lock */ void cleanup_tmp_files( void) { -#if 0 - char acNovFile[PATH_LEN]; - - if (nntp_caps.over_cmd && !tinrc.cache_overview_files) { - snprintf(acNovFile, sizeof(acNovFile), "%s%d.idx", TMPDIR, (int) process_id); - unlink(acNovFile); - } -#endif /* 0 */ - + /* + * only required if update_index == TRUE, but update_index is + * unknown here + */ if (batch_mode) unlink(lock_file); } @@ -2228,7 +2219,7 @@ write_input_history_file( file_tmp = get_tmpfilename(local_input_history_file); if ((fp = fopen(file_tmp, "w")) == NULL) { - error_message(_(txt_filesystem_full_backup), local_input_history_file); + error_message(2, _(txt_filesystem_full_backup), local_input_history_file); /* free memory for tmp-filename */ free(file_tmp); umask(mask); @@ -2250,10 +2241,16 @@ write_input_history_file( fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR)); /* rename_file() preserves mode */ - if (ferror(fp) || fclose(fp)) { - error_message(_(txt_filesystem_full), local_input_history_file); + if ((his_w = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), local_input_history_file); /* fix modes for all pre 1.4.1 local_input_history_file files */ +#ifdef HAVE_CHMOD chmod(local_input_history_file, (mode_t) (S_IRUSR|S_IWUSR)); +#endif /* HAVE_CHMOD */ + if (his_w) { + clearerr(fp); + fclose(fp); + } } else rename_file(file_tmp, local_input_history_file); @@ -2344,7 +2341,7 @@ strip_name( static t_bool buffer_to_local( char **line, - int *max_line_len, + size_t *max_line_len, const char *network_charset, const char *local_charset) { @@ -2483,7 +2480,7 @@ buffer_to_local( } while (inbytesleft > 0); **&outbuf = '\0'; - if (*max_line_len < (int) strlen(obuf) + 1) { + if (*max_line_len < strlen(obuf) + 1) { *max_line_len = strlen(obuf) + 1; *line = my_realloc(*line, *max_line_len); } @@ -2593,7 +2590,7 @@ buffer_to_ascii( void process_charsets( char **line, - int *max_line_len, + size_t *max_line_len, const char *network_charset, const char *local_charset, t_bool conv_tex2iso) @@ -2645,7 +2642,7 @@ process_charsets( /* - * checking of mail adresses for GNKSA compliance + * checking of mail addresses for GNKSA compliance * * son of RFC 1036: * article = 1*header separator body @@ -3161,13 +3158,16 @@ gnksa_check_domain_literal( if ((255 < x1) || (255 < x2) || (255 < x3) || (255 < x4)) return GNKSA_BAD_DOMAIN_LITERAL; - /* check for private ip or localhost */ + /* check for private ip or localhost - see RFC 5735, RFC 5737 */ if ((!disable_gnksa_domain_check) && ((0 == x1) /* local network */ || (10 == x1) /* private class A */ - || ((172 == x1) && (16 == (x2 & 0xf0))) /* private class B */ - || ((192 == x1) && (168 == x2)) /* private class C */ - || (127 == x1))) /* localhost */ + || ((172 == x1) && (16 == (x2 & 0xf0))) /* private /12 */ + || ((192 == x1) && (168 == x2)) /* private class B */ + || ((192 == x1) && (0 == x2) && (2 == x3)) /* TEST NET-1 */ + || ((198 == x1) && (51 == x2) && (100 == x3)) /* TEST NET-2 */ + || ((203 == x1) && (0 == x2) && (113 == x3)) /* TEST NET-3 */ + || (127 == x1))) /* loopback */ return GNKSA_LOCAL_DOMAIN_LITERAL; return GNKSA_OK; @@ -3241,8 +3241,14 @@ gnksa_check_domain( } if (disable_gnksa_domain_check) result = GNKSA_OK; - if (GNKSA_OK != result) - return result; + if (GNKSA_OK != result) { +#if 0 /* valid IDN ccTLDs are checked via gnksa_domain_list[] */ + if (strlen(aux) >= 8 && !strncasecmp(aux, "xn--", 4)) /* hack for IDN ccTLDs like xn--wgbh1c (Egypt), xn--mgbaam7a8h (Emarat) or xn--mgberp4a5d4ar (AlSaudiah) */ + result = GNKSA_OK; + else +#endif /* 0 */ + return result; + } break; } @@ -3453,7 +3459,7 @@ gnksa_do_check_from( decoded[0] = '\0'; #ifdef DEBUG - if (debug == 2) + if (debug & DEBUG_MISC) wait_message(0, "From:=[%s]", from); #endif /* DEBUG */ @@ -3463,7 +3469,7 @@ gnksa_do_check_from( return code; #ifdef DEBUG - if (debug == 2) + if (debug & DEBUG_MISC) wait_message(0, "address=[%s]", address); #endif /* DEBUG */ @@ -3477,7 +3483,7 @@ gnksa_do_check_from( *addr_begin++ = '\0'; #ifdef DEBUG - if (debug == 2) + if (debug & DEBUG_MISC) wait_message(0, "FQDN=[%s]", addr_begin); #endif /* DEBUG */ @@ -3497,7 +3503,7 @@ gnksa_do_check_from( } #ifdef DEBUG - if (debug == 2) + if (debug & DEBUG_MISC) wait_message(0, "realname=[%s]", realname); #endif /* DEBUG */ @@ -3509,9 +3515,9 @@ gnksa_do_check_from( strcpy(realname, decoded); #ifdef DEBUG - if (debug == 2) { + if (debug & DEBUG_MISC) { /* TODO: dump to a file instead of wait_message() */ if (GNKSA_OK != code) - wait_message(3, "From:=[%s], GNKSA=[%d]", from, code); + wait_message(2, "From:=[%s], GNKSA=[%d]", from, code); else wait_message(0, "GNKSA=[%d]", code); } @@ -3607,11 +3613,9 @@ utf8_valid( numc++; } while ((d <<= 1) & 0x80); /* get sequence length */ - d = 1; - while (d < numc) { - if (*(c + d) == '\0' || *(c + d) == '\n') - illegal = TRUE; - d--; + if (c + numc > line + strlen(line)) { /* sequence runs past end of string */ + illegal = TRUE; + numc = line + strlen(line) - c; } if (!illegal) { @@ -3797,6 +3801,11 @@ tin_version_info( fprintf(fp, "Characteristics:\n\t" /* TODO: complete list and do some useful grouping */ +#ifdef DEBUG + "+DEBUG " +#else + "-DEBUG " +#endif /* DEBUG */ #ifdef NNTP_ONLY "+NNTP_ONLY " #else @@ -4004,24 +4013,26 @@ stat_article( long art, const char *group_path) { - char buf[NNTP_STRLEN]; struct t_group currgrp; currgrp = CURR_GROUP; # ifdef NNTP_ABLE if (read_news_via_nntp && currgrp.type == GROUP_TYPE_NEWS) { + char buf[NNTP_STRLEN]; + snprintf(buf, sizeof(buf), "STAT %ld", art); return (nntp_command(buf, OK_NOTEXT, NULL, 0) != NULL); } else # endif /* NNTP_ABLE */ { + char filename[PATH_LEN]; struct stat sb; - joinpath(buf, currgrp.spooldir, group_path); - snprintf(&buf[strlen(buf)], sizeof(buf), "/%ld", art); + joinpath(filename, sizeof(filename), currgrp.spooldir, group_path); + snprintf(&filename[strlen(filename)], sizeof(filename), "/%ld", art); - return (stat(buf, &sb) != -1); + return (stat(filename, &sb) != -1); } } #endif /* 0 */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/my_tmpfile.c tin-2.0.0/src/my_tmpfile.c --- tin-1.8.3/src/my_tmpfile.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/my_tmpfile.c 2011-04-17 16:04:31.779274922 +0200 @@ -3,10 +3,10 @@ * Module : my_tmpfile.c * Author : Urs Janssen * Created : 2001-03-11 - * Updated : 2004-06-30 + * Updated : 2009-02-12 * Notes : * - * Copyright (c) 2001-2006 Urs Janssen + * Copyright (c) 2001-2011 Urs Janssen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -49,7 +49,7 @@ * if need_name is set to true and/or we have to unlink the file * ourself filename is set to the name of the tmp file located in * base_dir - * -1 = some error occured + * -1 = some error occurred */ int my_tmpfile( @@ -60,7 +60,12 @@ my_tmpfile( { int fd = -1; char buf[PATH_LEN]; - +#if defined(HAVE_MKTEMP) && !defined(HAVE_MKSTEMP) + char *t; +#endif /* HAVE_MKTEMP && !HAVE_MKSTEMP */ +#ifdef DEBUG + int sverrno; +#endif /* DEBUG */ errno = 0; if (filename != NULL && name_size > 0) { @@ -70,39 +75,47 @@ my_tmpfile( if ((fp = tmpfile()) != NULL) fd = fileno(fp); #ifdef DEBUG - else - wait_message(5, "HAVE_TMPFILE %s", strerror(errno)); + else { + sverrno = errno; + wait_message(5, "HAVE_TMPFILE %s", strerror(sverrno)); + } #endif /* DEBUG */ *filename = '\0'; if (fd == -1) - error_message(_(txt_cannot_create_uniq_name)); + error_message(2, _(txt_cannot_create_uniq_name)); return fd; } if (base_dir) { - snprintf(buf, MIN(name_size, (sizeof(buf) - 1)), "tin-%s-%d-XXXXXX", get_host_name(), process_id); - joinpath(filename, base_dir, buf); + snprintf(buf, MIN(name_size, (sizeof(buf) - 1)), "tin-%s-%ld-XXXXXX", get_host_name(), (long) process_id); + joinpath(filename, name_size, base_dir, buf); } else { snprintf(buf, MIN(name_size, (sizeof(buf) - 1)), "tin_XXXXXX"); - joinpath(filename, TMPDIR, buf); + joinpath(filename, name_size, TMPDIR, buf); } +#ifdef DEBUG + errno = 0; +#endif /* DEBUG */ #ifdef HAVE_MKSTEMP fd = mkstemp(filename); # ifdef DEBUG - if (errno) - wait_message(5, "HAVE_MKSTEMP %s: %s", filename, strerror(errno)); + sverrno = errno; + if (fd == -1 && sverrno) + wait_message(5, "HAVE_MKSTEMP %s: %s", filename, strerror(sverrno)); # endif /* DEBUG */ #else # ifdef HAVE_MKTEMP - fd = open(mktemp(filename), (O_WRONLY|O_CREAT|O_EXCL), (mode_t) (S_IRUSR|S_IWUSR)); + if ((t = mktemp(filename)) != NULL) + fd = open(t, (O_WRONLY|O_CREAT|O_EXCL), (mode_t) (S_IRUSR|S_IWUSR)); # ifdef DEBUG - if (errno) - wait_message(5, "HAVE_MKTEMP %s: %s", filename, strerror(errno)); + sverrno = errno; + if (sverrno) + wait_message(5, "HAVE_MKTEMP %s: %s", filename, strerror(sverrno)); # endif /* DEBUG */ # endif /* HAVE_MKTEMP */ #endif /* HAVE_MKSTEMP */ } if (fd == -1) - error_message(_(txt_cannot_create_uniq_name)); + error_message(2, _(txt_cannot_create_uniq_name)); return fd; } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/newsrc.c tin-2.0.0/src/newsrc.c --- tin-1.8.3/src/newsrc.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/newsrc.c 2011-04-17 16:04:31.167181774 +0200 @@ -3,10 +3,10 @@ * Module : newsrc.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-05-04 + * Updated : 2011-04-16 * Notes : ArtCount = (ArtMax - ArtMin) + 1 [could have holes] * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -109,7 +109,7 @@ read_newsrc( line_count++; if (sub == SUBSCRIBED) { - if ((i = my_group_add(grp)) >= 0) { + if ((i = my_group_add(grp, FALSE)) >= 0) { if (!active[my_group[i]].bogus) { active[my_group[i]].subscribed = SUB_BOOL(sub); parse_bitmap_seq(&active[my_group[i]], seq); @@ -121,10 +121,11 @@ read_newsrc( fclose(fp); /* If you aborted with 'q', then you get what you get. */ - if (cmd_line) { + if (!batch_mode || verbose) my_fputc('\n', stdout); - my_flush(); - } + + if (!cmd_line && !batch_mode) + clear_message(); } return line_count; } @@ -159,10 +160,10 @@ write_newsrc_line( * are set to auto removal. Also check for bogus flag just in case * strip_bogus was changed since tin started */ - group = group_find(line); + group = group_find(line, FALSE); if (tinrc.strip_bogus == BOGUS_REMOVE) { - if (group == NULL || group->bogus) { /* group dosen't exist */ + if (group == NULL || group->bogus) { /* group doesn't exist */ wait_message(2, _(txt_remove_bogus), line); return 0; } @@ -199,6 +200,7 @@ write_newsrc( signed long int tot = 0L; struct stat note_stat_newsrc; t_bool write_ok = FALSE; + int err; if (no_write) return 0L; @@ -214,7 +216,7 @@ write_newsrc( return 0L; /* newsrc is empty */ } - if ((fp_op = fopen(newnewsrc, "w" FOPEN_OPTS)) != NULL) { + if ((fp_op = fopen(newnewsrc, "w")) != NULL) { if (newsrc_mode) fchmod(fileno(fp_op), newsrc_mode); @@ -224,9 +226,13 @@ write_newsrc( /* * Don't rename if either fclose() fails or ferror() is set */ - if (ferror(fp_op) || fclose(fp_op)) { - error_message(_(txt_filesystem_full), NEWSRC_FILE); + if ((err = ferror(fp_op)) || fclose(fp_op)) { + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); unlink(newnewsrc); + if (err) { + clearerr(fp_op); + fclose(fp_op); + } } else write_ok = TRUE; } @@ -234,7 +240,8 @@ write_newsrc( fclose(fp_ip); if (tot < 1) { - error_message(_(txt_newsrc_nogroups)); + error_message(2, _(txt_newsrc_nogroups)); + unlink(newnewsrc); return 0L; /* So we don't get prompted to try again */ } @@ -261,8 +268,12 @@ create_newsrc( for_each_group(i) fprintf(fp, "%s!\n", active[i].name); - if (ferror(fp) || fclose(fp)) { - error_message(_(txt_filesystem_full), NEWSRC_FILE); + if ((i = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); + if (i) { + clearerr(fp); + fclose(fp); + } return FALSE; } return TRUE; /* newsrc created */ @@ -281,9 +292,12 @@ open_subscription_fp( if (!read_saved_news) { #ifdef NNTP_ABLE if (read_news_via_nntp) { - /* if (nntp_caps.type = 2 && !nntp_caps.list_subscriptions) + /* + * draft-elie-nntp-list-additions-00.txt + */ + if (nntp_caps.type == CAPABILITIES && !nntp_caps.list_subscriptions) return NULL; - else */ + else return (nntp_command("LIST SUBSCRIPTIONS", OK_GROUPS, NULL, 0)); } else #endif /* NNTP_ABLE */ @@ -305,6 +319,7 @@ auto_subscribe_groups( FILE *fp_newsrc; FILE *fp_subs; char *ptr; + int err; /* * If subscription file exists then first unsubscribe to all groups @@ -316,8 +331,10 @@ auto_subscribe_groups( if (!batch_mode) wait_message(0, _(txt_autosubscribing_groups)); - if ((fp_newsrc = fopen(newsrc_file, "w" FOPEN_OPTS)) == NULL) + if ((fp_newsrc = fopen(newsrc_file, "w")) == NULL) { + TIN_FCLOSE(fp_subs); return; + } if (newsrc_mode) fchmod(fileno(fp_newsrc), newsrc_mode); @@ -325,15 +342,20 @@ auto_subscribe_groups( /* TODO: test me! */ while ((ptr = tin_fgets(fp_subs, FALSE)) != NULL) { if (ptr[0] != '#') { - if (group_find(ptr) != 0) + if (group_find(ptr, FALSE) != 0) fprintf(fp_newsrc, "%s:\n", ptr); } } /* We ignore user 'q'uits here. They will get them next time in any case */ - if (ferror(fp_newsrc) || fclose(fp_newsrc)) - error_message(_(txt_filesystem_full), NEWSRC_FILE); + if ((err = ferror(fp_newsrc)) || fclose(fp_newsrc)) { + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); + if (err) { + clearerr(fp_newsrc); + fclose(fp_newsrc); + } + } TIN_FCLOSE(fp_subs); } @@ -352,23 +374,23 @@ backup_newsrc( #ifdef NNTP_ABLE if (read_news_via_nntp && !read_saved_news && nntp_tcp_port != IPPORT_NNTP) - snprintf(filebuf, sizeof(filebuf), "%s:%d", nntp_server, nntp_tcp_port); + snprintf(filebuf, sizeof(filebuf), "%s:%u", nntp_server, nntp_tcp_port); else #endif /* NNTP_ABLE */ { STRCPY(filebuf, quote_space_to_dash(nntp_server)); } - JOINPATH(dirbuf, rcdir, filebuf); - joinpath(filebuf, dirbuf, OLDNEWSRC_FILE); + joinpath(dirbuf, sizeof(dirbuf), rcdir, filebuf); + joinpath(filebuf, sizeof(filebuf), dirbuf, OLDNEWSRC_FILE); if (-1 == stat(dirbuf, &statbuf)) { if (-1 == my_mkdir(dirbuf, (mode_t) (S_IRWXU))) /* Can't create directory: Fall back on Homedir */ - joinpath(filebuf, homedir, OLDNEWSRC_FILE); + joinpath(filebuf, sizeof(filebuf), homedir, OLDNEWSRC_FILE); } if (!backup_file(newsrc, filebuf)) - error_message(_(txt_filesystem_full_backup), NEWSRC_FILE); + error_message(2, _(txt_filesystem_full_backup), NEWSRC_FILE); } @@ -388,33 +410,33 @@ group_get_art_info( { DIR *dir; DIR_BUF *direntry; - char buf[NNTP_STRLEN]; long artnum; if (read_news_via_nntp && grouptype == GROUP_TYPE_NEWS) { #ifdef NNTP_ABLE char line[NNTP_STRLEN]; - snprintf(buf, sizeof(buf), "GROUP %s", groupname); + snprintf(line, sizeof(line), "GROUP %s", groupname); # ifdef DEBUG - debug_nntp("group_get_art_info", buf); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "group_get_art_info %s", line); # endif /* DEBUG */ - put_server(buf); + put_server(line); switch (get_respcode(line, sizeof(line))) { case OK_GROUP: if (sscanf(line, "%ld %ld %ld", art_count, art_min, art_max) != 3) - error_message(_(txt_error_invalid_response_to_group), line); + error_message(2, _(txt_error_invalid_response_to_group), line); break; case ERR_NOGROUP: - *art_count = 0; - *art_min = 1; - *art_max = 0; + *art_count = 0L; + *art_min = 1L; + *art_max = 0L; return -ERR_NOGROUP; case ERR_ACCESS: - error_message("%s%s", cCRLF, line); + error_message(2, "%s%s", cCRLF, line); tin_done(NNTP_ERROR_EXIT); /* keep lint quiet: */ /* NOTREACHED */ @@ -422,7 +444,8 @@ group_get_art_info( default: # ifdef DEBUG - debug_nntp("NOT_OK", line); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "NOT_OK %s", line); # endif /* DEBUG */ return -1; } @@ -431,19 +454,20 @@ group_get_art_info( return 0; #endif /* NNTP_ABLE */ } else { - *art_count = 0; - *art_min = 1; - *art_max = 0; + char group_path[PATH_LEN]; + *art_count = 0L; + *art_min = 0L; + *art_max = 0L; - make_base_group_path(tin_spooldir, groupname, buf); + make_base_group_path(tin_spooldir, groupname, group_path, sizeof(group_path)); - if ((dir = opendir(buf)) != NULL) { + if ((dir = opendir(group_path)) != NULL) { while ((direntry = readdir(dir)) != NULL) { artnum = atol(direntry->d_name); /* should be '\0' terminated... */ - if (artnum >= 1) { + if (artnum >= 1L) { if (artnum > *art_max) { *art_max = artnum; - if (*art_min == 0) + if (*art_min == 0L) *art_min = artnum; } else if (artnum < *art_min) *art_min = artnum; @@ -451,8 +475,12 @@ group_get_art_info( } } CLOSEDIR(dir); - } else + if (*art_min == 0L) + *art_min = 1L; + } else { + *art_min = 1L; return -1; + } } return 0; @@ -473,8 +501,10 @@ get_subscribe_info( if (grp->newsrc.num_unread > grp->count) { #ifdef DEBUG - my_printf(cCRLF "Unread WRONG %s unread=[%ld] count=[%ld]", grp->name, grp->newsrc.num_unread, grp->count); - my_flush(); + if (debug & DEBUG_NEWSRC) { /* TODO: is this the right debug-level? */ + my_printf(cCRLF "Unread WRONG %s unread=[%ld] count=[%ld]", grp->name, grp->newsrc.num_unread, grp->count); + my_flush(); + } #endif /* DEBUG */ grp->newsrc.num_unread = grp->count; } @@ -482,8 +512,10 @@ get_subscribe_info( if (grp->xmin != oldmin || grp->xmax != oldmax) { expand_bitmap(grp, 0); #ifdef DEBUG - my_printf(cCRLF "Min/Max DIFF %s old=[%ld-%ld] new=[%ld-%ld]", grp->name, oldmin, oldmax, grp->xmin, grp->xmax); - my_flush(); + if (debug & DEBUG_NEWSRC) { /* TODO: is this the right debug-level? */ + my_printf(cCRLF "Min/Max DIFF %s old=[%ld-%ld] new=[%ld-%ld]", grp->name, oldmin, oldmax, grp->xmin, grp->xmax); + my_flush(); + } #endif /* DEBUG */ } } @@ -510,7 +542,7 @@ subscribe( if (no_write) return; - if ((newfp = fopen(newnewsrc, "w" FOPEN_OPTS)) == NULL) + if ((newfp = fopen(newnewsrc, "w")) == NULL) return; if (newsrc_mode) @@ -518,18 +550,19 @@ subscribe( if ((fp = fopen(newsrc, "r")) != NULL) { while ((line = tin_fgets(fp, FALSE)) != NULL) { - seq = parse_newsrc_line(line, &sub); - if (STRCMPEQ(line, group->name)) { - fprintf(newfp, "%s%c %s\n", line, sub_state, seq); - group->subscribed = SUB_BOOL(sub_state); - - /* If previously subscribed to in .newsrc, load up any existing information */ - if (sub_state == SUBSCRIBED) - parse_bitmap_seq(group, seq); + if ((seq = parse_newsrc_line(line, &sub))) { + if (STRCMPEQ(line, group->name)) { + fprintf(newfp, "%s%c %s\n", line, sub_state, seq); + group->subscribed = SUB_BOOL(sub_state); + + /* If previously subscribed to in .newsrc, load up any existing information */ + if (sub_state == SUBSCRIBED) + parse_bitmap_seq(group, seq); - found = TRUE; - } else - fprintf(newfp, "%s%c %s\n", line, sub, seq); + found = TRUE; + } else + fprintf(newfp, "%s%c %s\n", line, sub, seq); + } } fclose(fp); @@ -549,8 +582,12 @@ subscribe( } } - if (ferror(newfp) || fclose(newfp)) { - error_message(_(txt_filesystem_full), NEWSRC_FILE); + if ((sub = ferror(newfp)) || fclose(newfp)) { + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); + if (sub) { + clearerr(newfp); + fclose(newfp); + } unlink(newnewsrc); } else rename_file(newnewsrc, newsrc); @@ -567,7 +604,7 @@ reset_newsrc( int sub; long i; - if (!no_write && (newfp = fopen(newnewsrc, "w" FOPEN_OPTS)) != NULL) { + if (!no_write && (newfp = fopen(newnewsrc, "w")) != NULL) { if (newsrc_mode) fchmod(fileno(newfp), newsrc_mode); @@ -578,8 +615,12 @@ reset_newsrc( } fclose(fp); } - if (ferror(newfp) || fclose(newfp)) { - error_message(_(txt_filesystem_full), NEWSRC_FILE); + if ((sub = ferror(newfp)) || fclose(newfp)) { + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); + if (sub) { + clearerr(newfp); + fclose(newfp); + } unlink(newnewsrc); } else rename_file(newnewsrc, newsrc); @@ -606,23 +647,26 @@ delete_group( if (no_write) return; - if ((newfp = fopen(newnewsrc, "w" FOPEN_OPTS)) != NULL) { + if ((newfp = fopen(newnewsrc, "w")) != NULL) { if (newsrc_mode) fchmod(fileno(newfp), newsrc_mode); if ((fp = fopen(newsrc, "r")) != NULL) { while ((line = tin_fgets(fp, FALSE)) != NULL) { - seq = parse_newsrc_line(line, &sub); - - if (!STRCMPEQ(line, group)) - fprintf(newfp, "%s%c %s\n", line, sub, seq); - + if ((seq = parse_newsrc_line(line, &sub))) { + if (!STRCMPEQ(line, group)) + fprintf(newfp, "%s%c %s\n", line, sub, seq); + } } fclose(fp); } - if (ferror(newfp) || fclose(newfp)) { - error_message(_(txt_filesystem_full), NEWSRC_FILE); + if ((sub = ferror(newfp)) || fclose(newfp)) { + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); + if (sub) { + clearerr(newfp); + fclose(newfp); + } unlink(newnewsrc); } else rename_file(newnewsrc, newsrc); @@ -643,21 +687,22 @@ grp_mark_read( { int i; -#ifdef DEBUG_NEWSRC - debug_print_comment("c/C command"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("c/C command"); +#endif /* DEBUG */ if (art != NULL) { for_each_art(i) art_mark(group, &art[i], ART_READ); + } else { + FreeAndNull(group->newsrc.xbitmap); + group->newsrc.xbitlen = 0; + if (group->xmax > group->newsrc.xmax) + group->newsrc.xmax = group->xmax; + group->newsrc.xmin = group->newsrc.xmax + 1; + group->newsrc.num_unread = 0; } - - FreeAndNull(group->newsrc.xbitmap); - group->newsrc.xbitlen = 0; - if (group->xmax > group->newsrc.xmax) - group->newsrc.xmax = group->xmax; - group->newsrc.xmin = group->newsrc.xmax + 1; - group->newsrc.num_unread = 0; } @@ -666,11 +711,12 @@ grp_mark_unread( struct t_group *group) { int bitlength; - t_bitmap *newbitmap = (t_bitmap *)0; + t_bitmap *newbitmap = (t_bitmap *) 0; -#ifdef DEBUG_NEWSRC - debug_print_comment("Z command"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("Z command"); +#endif /* DEBUG */ group_get_art_info(group->spooldir, group->name, group->type, &group->count, &group->xmax, &group->xmin); @@ -692,9 +738,10 @@ grp_mark_unread( if (bitlength) NSETRNG1(group->newsrc.xbitmap, 0L, bitlength - 1L); -#ifdef DEBUG_NEWSRC - debug_print_bitmap(group, NULL); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_bitmap(group, NULL); +#endif /* DEBUG */ } @@ -705,9 +752,10 @@ thd_mark_read( { int i; -#ifdef DEBUG_NEWSRC - debug_print_comment("Mark thread read K command"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("Mark thread read K command"); +#endif /* DEBUG */ for (i = (int) thread; i >= 0; i = arts[i].thread) art_mark(group, &arts[i], ART_READ); @@ -721,9 +769,10 @@ thd_mark_unread( { int i; -#ifdef DEBUG_NEWSRC - debug_print_comment("Mark thread unread Z command"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("Mark thread unread Z command"); +#endif /* DEBUG */ for (i = (int) thread; i >= 0; i = arts[i].thread) art_mark(group, &arts[i], ART_WILL_RETURN); @@ -752,15 +801,15 @@ parse_bitmap_seq( while (ptr && *ptr && (*ptr < '0' || *ptr > '9')) ptr++; -#ifdef DEBUG_NEWSRC - { +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) { char buf[NEWSRC_LINE]; snprintf(buf, sizeof(buf), "Parsing [%s%c %.*s]", group->name, SUB_CHAR(group->subscribed), (int) (NEWSRC_LINE - strlen(group->name) - 20), ptr); debug_print_comment(buf); debug_print_bitmap(group, NULL); } -#endif /* DEBUG_NEWSRC */ +#endif /* DEBUG */ if (ptr) { gotseq = TRUE; @@ -828,9 +877,10 @@ wait_message(2, "BITMAP Grp=[%s] MinMax= sum = (int) ((group->count >= 0) ? group->count : ((group->newsrc.xmax - group->newsrc.xmin) + 1)); group->newsrc.num_unread = sum; -#ifdef DEBUG_NEWSRC - debug_print_bitmap(group, NULL); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_bitmap(group, NULL); +#endif /* DEBUG */ } @@ -952,11 +1002,12 @@ parse_get_seq( /* - * Loop thru arts[] array marking state of each article READ/UNREAD + * Loop through arts[] array marking state of each article READ/UNREAD */ void parse_unread_arts( - struct t_group *group) + struct t_group *group, + long min) { int i; long unread = 0; @@ -981,6 +1032,24 @@ parse_unread_arts( NSETRNG0(newbitmap, 0L, group->newsrc.xmax - bitmin); } + /* + * if getart_limit > 0 preserve read/unread state + * of all articles below the new minimum + */ + if (min > 0 && newbitmap) { + long j, tmp_bitmax; + + tmp_bitmax = (bitmax < min) ? bitmax : min; + for (j = bitmin; j < tmp_bitmax; j++) { + if (NTEST(group->newsrc.xbitmap, j - bitmin) != ART_READ) + NSET1(newbitmap, j - bitmin); + } + while (j < min) { + NSET1(newbitmap, j - bitmin); + j++; + } + } + for_each_art(i) { if (arts[i].artnum < bitmin) arts[i].status = ART_READ; @@ -1024,13 +1093,15 @@ print_bitmap_seq( struct t_group *group) { long artnum; - long i, last; + long i; t_bool flag = FALSE; -#ifdef DEBUG_NEWSRC - debug_print_comment("print_bitmap_seq()"); - debug_print_bitmap(group, NULL); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) { + debug_print_comment("print_bitmap_seq()"); + debug_print_bitmap(group, NULL); + } +#endif /* DEBUG */ if (group->count == 0 || group->xmin > group->xmax) { if (group->newsrc.xmax > 1) @@ -1038,41 +1109,45 @@ print_bitmap_seq( fprintf(fp, "\n"); fflush(fp); -#ifdef DEBUG_NEWSRC - debug_print_comment("print_bitmap_seq(): group->count == 0"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("print_bitmap_seq(): group->count == 0"); +#endif /* DEBUG */ return; } - for (i = group->newsrc.xmin; i <= group->newsrc.xmax; i++) { - if (group->newsrc.xbitmap && NTEST(group->newsrc.xbitmap, i - group->newsrc.xmin) == ART_READ) { - if (flag) { - artnum = i; - fprintf(fp, ",%ld", i); - } else { - artnum = 1; - flag = TRUE; - fprintf(fp, "1"); - } - i++; - - while (i <= group->newsrc.xmax && NTEST(group->newsrc.xbitmap, i - group->newsrc.xmin) == ART_READ) - i++; - - last = i - 1; + i = group->newsrc.xmin; + if (i <= group->newsrc.xmax) { + forever { + if (group->newsrc.xbitmap && NTEST(group->newsrc.xbitmap, i - group->newsrc.xmin) == ART_READ) { + if (flag) { + artnum = i; + fprintf(fp, ",%ld", i); + } else { + artnum = 1; + flag = TRUE; + fprintf(fp, "1"); + } + while (i < group->newsrc.xmax && NTEST(group->newsrc.xbitmap, (i + 1) - group->newsrc.xmin) == ART_READ) + i++; - if (artnum != last) - fprintf(fp, "-%ld", last); + if (artnum != i) + fprintf(fp, "-%ld", i); - } else if (!flag) { - flag = TRUE; - if (group->newsrc.xmin > 1) { - fprintf(fp, "1"); + } else if (!flag) { + flag = TRUE; + if (group->newsrc.xmin > 1) { + fprintf(fp, "1"); - if (group->newsrc.xmin > 2) - fprintf(fp, "-%ld", group->newsrc.xmin - 1); + if (group->newsrc.xmin > 2) + fprintf(fp, "-%ld", group->newsrc.xmin - 1); + } } + if (group->newsrc.xmax == i) + break; + + i++; } } @@ -1082,9 +1157,10 @@ print_bitmap_seq( if (group->newsrc.xmin > 2) fprintf(fp, "-%ld", group->newsrc.xmin - 1); -#ifdef DEBUG_NEWSRC - debug_print_comment("print_bitmap_seq(): !flag && group->newsrc.xmin > 1"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("print_bitmap_seq(): !flag && group->newsrc.xmin > 1"); +#endif /* DEBUG */ } fprintf(fp, "\n"); @@ -1093,7 +1169,7 @@ print_bitmap_seq( /* - * rewrite .newsrc and position group at specifed position + * rewrite .newsrc and position group at specified position */ t_bool pos_group_in_newsrc( @@ -1104,10 +1180,11 @@ pos_group_in_newsrc( FILE *fp_sub = NULL, *fp_unsub = NULL; char *newsgroup = NULL; char *line; - char buf[HEADER_LEN]; - char sub[HEADER_LEN]; - char unsub[HEADER_LEN]; + char filename[PATH_LEN]; + char sub[PATH_LEN]; + char unsub[PATH_LEN]; int subscribed_pos = 1; + int err; size_t group_len; t_bool found = FALSE; t_bool newnewsrc_created = FALSE; @@ -1116,6 +1193,7 @@ pos_group_in_newsrc( t_bool ret_code = FALSE; t_bool sub_created = FALSE; t_bool unsub_created = FALSE; + t_bool fs_error = FALSE; if (no_write) goto rewrite_group_done; @@ -1123,7 +1201,7 @@ pos_group_in_newsrc( if ((fp_in = fopen(newsrc, "r")) == NULL) goto rewrite_group_done; - if ((fp_out = fopen(newnewsrc, "w" FOPEN_OPTS)) == NULL) + if ((fp_out = fopen(newnewsrc, "w")) == NULL) goto rewrite_group_done; newnewsrc_created = TRUE; @@ -1131,26 +1209,18 @@ pos_group_in_newsrc( if (newsrc_mode) fchmod(fileno(fp_out), newsrc_mode); -#ifdef VMS - joinpath(buf, TMPDIR, "subrc"); - snprintf(sub, sizeof(sub), "%s.%d", buf, (int) process_id); - - joinpath(buf, TMPDIR, "unsubrc"); - snprintf(unsub, sizeof(unsub), "%s.%d", buf, (int) process_id); -#else - joinpath(buf, TMPDIR, ".subrc"); - snprintf(sub, sizeof(sub), "%s.%d", buf, (int) process_id); + joinpath(filename, sizeof(filename), TMPDIR, ".subrc"); + snprintf(sub, sizeof(sub), "%s.%ld", filename, (long) process_id); - joinpath(buf, TMPDIR, ".unsubrc"); - snprintf(unsub, sizeof(unsub), "%s.%d", buf, (int) process_id); -#endif /* !VMS */ + joinpath(filename, sizeof(filename), TMPDIR, ".unsubrc"); + snprintf(unsub, sizeof(unsub), "%s.%ld", filename, (long) process_id); - if ((fp_sub = fopen(sub, "w" FOPEN_OPTS)) == NULL) + if ((fp_sub = fopen(sub, "w")) == NULL) goto rewrite_group_done; sub_created = TRUE; - if ((fp_unsub = fopen(unsub, "w" FOPEN_OPTS)) == NULL) + if ((fp_unsub = fopen(unsub, "w")) == NULL) goto rewrite_group_done; unsub_created = TRUE; @@ -1175,13 +1245,28 @@ pos_group_in_newsrc( } } - if (ferror(fp_sub) || fclose(fp_sub) || ferror(fp_unsub) || fclose(fp_unsub)) { - error_message(_(txt_filesystem_full), NEWSRC_FILE); - fp_sub = fp_unsub = NULL; - goto rewrite_group_done; + if ((err = ferror(fp_sub)) || fclose(fp_sub)) { + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); + if (err) { + clearerr(fp_sub); + fclose(fp_sub); + } + fs_error = TRUE; + } + if ((err = ferror(fp_unsub)) || fclose(fp_unsub)) { + if (!fs_error) /* avoid repeatd error message */ + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); + if (err) { + clearerr(fp_unsub); + fclose(fp_unsub); + } + fs_error = TRUE; } - fp_sub = fp_unsub = NULL; + + if (fs_error) + goto rewrite_group_done; + fclose(fp_in); fp_in = NULL; @@ -1233,9 +1318,13 @@ pos_group_in_newsrc( /* * Try and cleanly close out the newnewsrc file */ - if (ferror(fp_out) || fclose(fp_out)) - error_message(_(txt_filesystem_full), NEWSRC_FILE); - else { + if ((err = ferror(fp_out)) || fclose(fp_out)) { + error_message(2, _(txt_filesystem_full), NEWSRC_FILE); + if (err) { + clearerr(fp_out); + fclose(fp_out); + } + } else { if (repositioned) { rename_file(newnewsrc, newsrc); ret_code = TRUE; @@ -1375,18 +1464,20 @@ expand_bitmap( bitlen = 0; FreeIfNeeded(group->newsrc.xbitmap); group->newsrc.xbitmap = (t_bitmap *) 0; -#ifdef DEBUG_NEWSRC - debug_print_comment("expand_bitmap: group->newsrc.bitlen == 0"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("expand_bitmap: group->newsrc.bitlen == 0"); +#endif /* DEBUG */ } else if (group->newsrc.xbitmap == NULL) { group->newsrc.xbitmap = my_malloc(BITS_TO_BYTES(bitlen)); if (group->newsrc.xmin > first) NSETRNG0(group->newsrc.xbitmap, 0L, group->newsrc.xmin - first - 1L); if (bitlen > group->newsrc.xmin - first) NSETRNG1(group->newsrc.xbitmap, group->newsrc.xmin - first, bitlen - 1); -#ifdef DEBUG_NEWSRC - debug_print_comment("expand_bitmap: group->newsrc.xbitmap == NULL"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("expand_bitmap: group->newsrc.xbitmap == NULL"); +#endif /* DEBUG */ } else if (need_full_copy) { t_bitmap *newbitmap = my_malloc(BITS_TO_BYTES(bitlen)); @@ -1404,15 +1495,12 @@ expand_bitmap( if (first < group->newsrc.xmin) { NSETRNG0(newbitmap, 0L, group->newsrc.xmin - first - 1L); } - { - long i; - for (i = group->newsrc.xmin; i < min; i++) { - if (NTEST(newbitmap, i - first) != ART_READ) { - NSET0(newbitmap, i - first); - if (group->newsrc.num_unread) - group->newsrc.num_unread--; - } + for (tmp = group->newsrc.xmin; tmp < min; tmp++) { + if (NTEST(newbitmap, tmp - first) != ART_READ) { + NSET0(newbitmap, tmp - first); + if (group->newsrc.num_unread) + group->newsrc.num_unread--; } } @@ -1425,9 +1513,10 @@ expand_bitmap( free(group->newsrc.xbitmap); group->newsrc.xbitmap = newbitmap; -#ifdef DEBUG_NEWSRC - debug_print_comment("expand_bitmap: group->newsrc.bitlen != (group->max-group->min)+1 and need full copy"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("expand_bitmap: group->newsrc.bitlen != (group->max-group->min)+1 and need full copy"); +#endif /* DEBUG */ } else if (max != group->newsrc.xmax || first != group->newsrc.xmin) { t_bitmap *newbitmap; newbitmap = my_malloc(BITS_TO_BYTES(bitlen)); @@ -1443,15 +1532,12 @@ expand_bitmap( if (first < group->newsrc.xmin) { NSETRNG0(newbitmap, 0L, group->newsrc.xmin - first - 1L); } - { - long i; - for (i = group->newsrc.xmin; i < min; i++) { - if (NTEST(newbitmap, i - first) != ART_READ) { - NSET0(newbitmap, i - first); - if (group->newsrc.num_unread) - group->newsrc.num_unread--; - } + for (tmp = group->newsrc.xmin; tmp < min; tmp++) { + if (NTEST(newbitmap, tmp - first) != ART_READ) { + NSET0(newbitmap, tmp - first); + if (group->newsrc.num_unread) + group->newsrc.num_unread--; } } @@ -1464,9 +1550,10 @@ expand_bitmap( free(group->newsrc.xbitmap); group->newsrc.xbitmap = newbitmap; -#ifdef DEBUG_NEWSRC - debug_print_comment("expand_bitmap: group->newsrc.bitlen != (group->max-group->min)+1"); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("expand_bitmap: group->newsrc.bitlen != (group->max-group->min)+1"); +#endif /* DEBUG */ } group->newsrc.xmin = first; if (group->newsrc.xmax < max) @@ -1491,15 +1578,21 @@ art_mark( if (group != NULL) { if (art->artnum >= group->newsrc.xmin && art->artnum <= group->newsrc.xmax) NSET0(group->newsrc.xbitmap, art->artnum - group->newsrc.xmin); -#ifdef DEBUG_NEWSRC - debug_print_bitmap(group, art); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_bitmap(group, art); +#endif /* DEBUG */ } if ((art->status == ART_UNREAD) || (art->status == ART_WILL_RETURN)) { art_mark_xref_read(art); - if (group != NULL && group->newsrc.num_unread) - group->newsrc.num_unread--; + if (group != NULL) { + if (group->newsrc.num_unread) + group->newsrc.num_unread--; + + if (group->attribute->show_only_unread_arts) + art->keep_in_base = TRUE; + } art->status = ART_READ; } @@ -1508,9 +1601,13 @@ art_mark( case ART_UNREAD: case ART_WILL_RETURN: if (art->status == ART_READ) { - if (group != NULL) + if (group != NULL) { group->newsrc.num_unread++; + if (group->attribute->show_only_unread_arts) + art->keep_in_base = FALSE; + } + art->status = flag; } if (group != NULL) { @@ -1518,9 +1615,10 @@ art_mark( expand_bitmap(group, art->artnum); else { NSET1(group->newsrc.xbitmap, art->artnum - group->newsrc.xmin); -#ifdef DEBUG_NEWSRC - debug_print_bitmap(group, art); -#endif /* DEBUG_NEWSRC */ +#ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_bitmap(group, art); +#endif /* DEBUG */ } } break; @@ -1550,144 +1648,3 @@ set_default_bitmap( group->newsrc.xmax = group->newsrc.xmin - 1; } } - - -/* TEST harness */ -#ifdef DEBUG_NEWSRC -# if 0 -static void set_bitmap_range_read(struct t_newsrc *my_newsrc, long beg, long end); -static void set_bitmap_range_unread(struct t_newsrc *my_newsrc, long beg, long end); - -void -newsrc_test_harness( - void) -{ - FILE *fp = NULL; - char seq[20000]; - int i; - int retry = 10; /* max. retrys */ - long rng_min, rng_max; - struct t_group group; - - /* - * those env.-vars are not documented: - * $TIN_RNG_MIN, $TIN_RNG_MAX, $TIN_MIN, $TIN_MAX, $TIN_COUNT - * $TIN_SEQ - */ - rng_min = atoi(get_val("TIN_RNG_MIN", "1")); - rng_max = atoi(get_val("TIN_RNG_MAX", "1")); - - group.name = my_strdup("test.newsrc"); - group.xmin = atoi(get_val("TIN_MIN", "1")); - group.xmax = atoi(get_val("TIN_MAX", "0")); - group.count = atoi(get_val("TIN_COUNT", "-1")); - group.type = GROUP_TYPE_NEWS; - group.subscribed = TRUE; - group.newsrc.xbitmap = (t_bitmap *) 0; - set_default_bitmap(&group); - - strcpy(seq, get_val("TIN_SEQ", "")); - - fprintf(stderr, "\nENV Min=[%ld] Max=[%ld] Rng=[%ld-%ld] Count=[%ld] Seq=[%s]\n", - group.xmin, group.xmax, rng_min, rng_max, group.count, seq); - - for (i = 0; i < 3; i++) { - if (group.newsrc.xbitmap != NULL) { - free(group.newsrc.xbitmap); - group.newsrc.xbitmap = (t_bitmap *) 0; - group.newsrc.xbitlen = 0; - group.newsrc.num_unread = 0; - group.newsrc.xmin = 1; - group.newsrc.xmax = 0; - } - while (retry) { - /* FIXME - this is secure now, but doesn't write any debug output */ - /* (it didn't before too) */ - if ((fp = tmpfile()) != NULL) { - fprintf(stderr, "\n%d. PARSE Seq=[%s]\n", i + 1, seq); - parse_bitmap_seq(&group, seq); - debug_print_newsrc(&group.newsrc, stderr); - print_bitmap_seq(fp, &group); - fprintf(stderr, " PRINT Seq="); - print_bitmap_seq(stderr, &group); - rewind(fp); - break; - } else - retry--; - } - - debug_print_newsrc(&group.newsrc, stderr); - - if (!retry || !fp) - error_message(_(txt_cannot_create_uniq_name)); - else { - fgets(seq, (int) sizeof(seq), fp); - seq[strlen(seq) - 1] = '\0'; - fclose(fp); - } - } - set_bitmap_range_read(&group.newsrc, rng_min, rng_max); - debug_print_newsrc(&group.newsrc, stderr); - - set_bitmap_range_unread(&group.newsrc, rng_min, rng_max); - debug_print_newsrc(&group.newsrc, stderr); - - if (group.newsrc.xbitmap != NULL) - NSETBLK0(group.newsrc.xbitmap, group.newsrc.xbitlen); - debug_print_newsrc(&group.newsrc, stderr); - - if (group.newsrc.xbitmap != NULL) - NSETBLK1(group.newsrc.xbitmap, group.newsrc.xbitlen); - debug_print_newsrc(&group.newsrc, stderr); - my_printf("\n"); -} - - -static void -set_bitmap_range_read( - struct t_newsrc *my_newsrc, - long beg, - long end) -{ - long length, offset; - - if (beg >= my_newsrc->xmin && end <= my_newsrc->xmax) { - offset = beg - my_newsrc->xmin; - length = end - my_newsrc->xmin; - -fprintf(stderr, "\nRNG Min-Max=[%ld-%ld] Beg-End=[%ld-%ld] OFF=[%ld] LEN=[%ld]\n", -my_newsrc->xmin, my_newsrc->xmax, beg, end, offset, length); - - if (beg == end) { - NSET0(my_newsrc->xbitmap, offset); - } else { - NSETRNG0(my_newsrc->xbitmap, offset, length); - } - } -} - - -static void -set_bitmap_range_unread( - struct t_newsrc *my_newsrc, - long beg, - long end) -{ - long length, offset; - - if (beg >= my_newsrc->xmin && end <= my_newsrc->xmax) { - offset = beg - my_newsrc->xmin; - length = end - my_newsrc->xmin; - -fprintf(stderr, "\nRNG Min-Max=[%ld-%ld] Beg-End=[%ld-%ld] OFF=[%ld] LEN=[%ld]\n", -my_newsrc->xmin, my_newsrc->xmax, beg, end, offset, length); - - if (beg == end) { - NSET1(my_newsrc->xbitmap, offset); - } else { - NSETRNG1(my_newsrc->xbitmap, offset, length); - } - } -} -# endif /* 0 */ -#endif /* DEBUG_NEWSRC */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/nntplib.c tin-2.0.0/src/nntplib.c --- tin-1.8.3/src/nntplib.c 2007-01-09 13:48:33.000000000 +0100 +++ tin-2.0.0/src/nntplib.c 2011-05-27 17:32:17.478657812 +0200 @@ -3,7 +3,7 @@ * Module : nntplib.c * Author : S. Barber & I. Lea * Created : 1991-01-12 - * Updated : 2007-01-09 + * Updated : 2011-05-27 * Notes : NNTP client routines taken from clientlib.c 1.5.11 (1991-02-10) * Copyright : (c) Copyright 1991-99 by Stan Barber & Iain Lea * Permission is hereby granted to copy, reproduce, redistribute @@ -25,10 +25,6 @@ # include "tnntp.h" #endif /* !TNNTP_H */ -#ifdef VMS /* M.St. 15.01.98 */ -# undef VMS -#endif /* VMS */ - char *nntp_server = NULL; #ifdef NO_POSTING t_bool can_post = FALSE; @@ -36,20 +32,21 @@ char *nntp_server = NULL; t_bool can_post = TRUE; #endif /* NO_POSTING */ -/* Flag to show whether tin did reconnect in last get_server() */ -t_bool reconnected_in_last_get_server = FALSE; +#ifdef NNTP_ABLE + /* Flag to show whether tin did reconnect in last get_server() */ + t_bool reconnected_in_last_get_server = FALSE; + /* Flag used in LIST ACVTIVE loop */ + t_bool did_reconnect = FALSE; +#endif /* NNTP_ABLE */ static TCP *nntp_rd_fp = NULL; -static TCP *nntp_wr_fp = NULL; #ifdef NNTP_ABLE + static TCP *nntp_wr_fp = NULL; /* Copy of last NNTP command sent, so we can retry it if needed */ static char last_put[NNTP_STRLEN]; static constext *xover_cmds = "XOVER"; -# if 0 /* currently not used */ static constext *xhdr_cmds = "XHDR"; -# endif /* 0 */ - enum extension_type { NO, LIST_EXTENSIONS, CAPABILITIES }; /* Set so we don't reconnect just to QUIT */ static t_bool quitting = FALSE; #endif /* NNTP_ABLE */ @@ -59,10 +56,9 @@ static TCP *nntp_wr_fp = NULL; */ #ifdef NNTP_ABLE static int mode_reader(t_bool *sec); - static int new_nntp_command(const char *command, int success, char *message, size_t mlen); static int reconnect(int retry); - static int server_init(char *machine, const char *cservice, int port, char *text, size_t mlen); - static int check_extensions(t_bool *sec); + static int server_init(char *machine, const char *cservice, unsigned short port, char *text, size_t mlen); + static int check_extensions(void); static void close_server(void); static void list_motd(void); # ifdef INET6 @@ -88,13 +84,14 @@ get_nntp_fp( } +#if 0 /* unused */ FILE * get_nntp_wr_fp( FILE *fp) { return (fp == FAKE_NNTP_FP ? nntp_wr_fp : fp); } - +#endif /* 0 */ /* * getserverbyfile(file) @@ -125,17 +122,20 @@ getserverbyfile( static char *old_env = NULL; # endif /* !HAVE_SETENV && HAVE_PUTENV */ #endif /* NNTP_ABLE */ - if (!read_news_via_nntp) { - STRCPY(buf, "local"); /* what if a server is named "local"? */ - return buf; - } + if (read_saved_news) { STRCPY(buf, "reading saved news"); return buf; } + + if (!read_news_via_nntp) { + STRCPY(buf, "local"); /* what if a server is named "local"? */ + return buf; + } + #ifdef NNTP_ABLE - if (cmdline_nntpserver[0] != '\0') { - get_nntpserver(buf, cmdline_nntpserver); + if (cmdline.args & CMDLINE_NNTPSERVER) { + get_nntpserver(buf, sizeof(buf), cmdline.nntpserver); # ifdef HAVE_SETENV setenv("NNTPSERVER", buf, 1); # else @@ -151,7 +151,7 @@ getserverbyfile( } if ((cp = getenv("NNTPSERVER")) != NULL) { - get_nntpserver(buf, cp); + get_nntpserver(buf, sizeof(buf), cp); return buf; } @@ -174,18 +174,11 @@ getserverbyfile( (void) fclose(fp); if (cp != NULL) { - get_nntpserver(buf, cp); + get_nntpserver(buf, sizeof(buf), cp); return buf; } } -# ifdef USE_INN_NNTPLIB - if ((cp = GetConfigValue(_CONF_SERVER)) != NULL) { - (void) STRCPY(buf, cp); - return buf; - } -# endif /* USE_INN_NNTPLIB */ - # ifdef NNTP_DEFAULT_SERVER if (*(NNTP_DEFAULT_SERVER)) return strcpy(buf, NNTP_DEFAULT_SERVER); @@ -216,7 +209,7 @@ static int server_init( char *machine, const char *cservice, /* usually a literal */ - int port, + unsigned short port, char *text, size_t mlen) { @@ -224,9 +217,7 @@ server_init( char temp[256]; char *service = strncpy(temp, cservice, sizeof(temp) - 1); /* ...calls non-const funcs */ # endif /* !INET6 */ -# ifndef VMS int sockt_rd, sockt_wr; -# endif /* !VMS */ # ifdef DECNET char *cp; @@ -240,16 +231,15 @@ server_init( sockt_rd = get_tcp_socket(machine, service, port); # else # ifdef INET6 - sockt_rd = get_tcp6_socket(machine, (unsigned short) port); + sockt_rd = get_tcp6_socket(machine, port); # else - sockt_rd = get_tcp_socket(machine, service, (unsigned short) port); + sockt_rd = get_tcp_socket(machine, service, port); # endif /* INET6 */ # endif /* DECNET */ if (sockt_rd < 0) return sockt_rd; -# ifndef VMS /* * Now we'll make file pointers (i.e., buffered I/O) out of * the socket file descriptor. Note that we can't just @@ -267,23 +257,19 @@ server_init( return -errno; } -# ifdef TLI /* Transport Level Interface */ +# ifdef TLI /* Transport Level Interface */ if (t_sync(sockt_rd) < 0) { /* Sync up new fd with TLI */ t_error("server_init: t_sync()"); nntp_rd_fp = NULL; return -EPROTO; } -# else +# else if ((nntp_wr_fp = (TCP *) s_fdopen(sockt_wr, "w")) == NULL) { perror("server_init: fdopen() #2"); nntp_rd_fp = NULL; return -errno; } -# endif /* TLI */ - -# else - sockt_wr = sockt_rd; -# endif /* !VMS */ +# endif /* TLI */ last_put[0] = '\0'; /* no retries in get_respcode */ /* @@ -349,15 +335,15 @@ get_tcp_socket( sock_in.sin_family = AF_INET; sock_in.sin_port = htons(port); - if (!isdigit((unsigned char)*machine) || + if (!isdigit((unsigned char) *machine) # ifdef HAVE_INET_ATON - !inet_aton(machine, &sock_in) + || !inet_aton(machine, &sock_in) # else # ifdef HAVE_INET_ADDR - (long) (sock_in.sin_addr.s_addr = inet_addr(machine)) == INADDR_NONE) + || (long) (sock_in.sin_addr.s_addr = inet_addr(machine)) == INADDR_NONE # endif /* HAVE_INET_ADDR */ # endif /* HAVE_INET_ATON */ - { + ) { if ((hp = gethostbyname(machine)) == NULL) { my_fprintf(stderr, _(txt_gethostbyname), "gethostbyname() ", machine); t_close(s); @@ -423,8 +409,8 @@ get_tcp_socket( # ifdef h_addr int x = 0; char **cp; - static char *alist[2] = {0, 0}; # endif /* h_addr */ + static char *alist[2] = {0, 0}; static struct hostent def; static struct in_addr defaddr; static char namebuf[256]; @@ -455,9 +441,7 @@ get_tcp_socket( /* Raw ip address, fake */ STRCPY(namebuf, machine); def.h_name = (char *) namebuf; -# ifdef h_addr def.h_addr_list = alist; -# endif /* h_addr */ def.h_addr_list[0] = (char *) &defaddr; def.h_length = sizeof(struct in_addr); def.h_addrtype = AF_INET; @@ -538,7 +522,7 @@ get_tcp_socket( } if (x < 0) { - my_fprintf(stderr, _(txt_giving_up)); + my_fprintf(stderr, "%s", _(txt_giving_up)); return -save_errno; /* Return the last errno we got */ } # else @@ -631,12 +615,10 @@ get_tcp6_socket( # endif /* AF_UNSPEC */ memset(&hints, 0, sizeof(hints)); /* hints.ai_flags = AI_CANONNAME; */ - hints.ai_family = ADDRFAM; + hints.ai_family = (force_ipv4 ? AF_INET : (force_ipv6 ? AF_INET6 : ADDRFAM)); hints.ai_socktype = SOCK_STREAM; - res = (struct addrinfo *) 0; res0 = (struct addrinfo *) 0; - err = getaddrinfo(mymachine, myport, &hints, &res0); - if (err != 0) { + if ((err = getaddrinfo(mymachine, myport, &hints, &res0))) { my_fprintf(stderr, "\ngetaddrinfo: %s\n", gai_strerror(err)); return -1; } @@ -645,7 +627,7 @@ get_tcp6_socket( if ((s = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) < 0) continue; if (connect(s, res->ai_addr, res->ai_addrlen) != 0) - close(s); + s_close(s); else { err = 0; break; @@ -655,9 +637,9 @@ get_tcp6_socket( freeaddrinfo(res0); if (err < 0) { /* - * TODO: issue a more usefull error-message + * TODO: issue a more useful error-message */ - my_fprintf(stderr, _(txt_error_socket_or_connect_problem)); + my_fprintf(stderr, "%s", _(txt_error_socket_or_connect_problem)); return -1; } return s; @@ -729,7 +711,7 @@ get_dnet_socket( if (connect(s, (struct sockaddr *) &sdn, sizeof(sdn)) < 0) { nerror("connect"); - close(s); + s_close(s); return -1; } @@ -749,16 +731,18 @@ get_dnet_socket( /* * u_put_server -- send data to the server. Do not flush output. */ -#ifndef VMS -# ifdef NNTP_ABLE +#ifdef NNTP_ABLE void u_put_server( const char *string) { s_puts(string, nntp_wr_fp); -# ifdef DEBUG - debug_nntp(">>>", string); -# endif /* DEBUG */ +# ifdef DEBUG + if (debug & DEBUG_NNTP) { + if (strcmp(string, "\r\n")) + debug_print_file("NNTP", ">>> %s", string); + } +# endif /* DEBUG */ } @@ -784,15 +768,25 @@ put_server( DEBUG_IO((stderr, "put_server(%s)\n", string)); s_puts(string, nntp_wr_fp); s_puts("\r\n", nntp_wr_fp); -# ifdef DEBUG - debug_nntp(">>>", string); -# endif /* DEBUG */ +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", ">>> %s", string); +# endif /* DEBUG */ /* * remember the last command we wrote to be able to resend it after a * reconnect. reconnection is handled by get_server() + * + * don't cache "LIST ACTIVE something" as we would need to + * resend all of them but we remember just the last one. we cache + * "LIST" instead, this will slow down things, but that's ok on + * reconnect. */ - if (last_put != string) - STRCPY(last_put, string); + if (!strncmp(string, "LIST ACTIVE ", 12)) + STRCPY(last_put, "LIST"); + else { + if (last_put != string) + STRCPY(last_put, string); + } } (void) s_flush(nntp_wr_fp); } @@ -807,6 +801,7 @@ reconnect( int retry) { char buf[NNTP_STRLEN]; + int save_signal_context = signal_context; /* * Tear down current connection @@ -824,11 +819,29 @@ reconnect( DEBUG_IO((stderr, _("\nServer timed out, trying reconnect # %d\n"), retry)); /* + * set signal_context temporary to cReconnect to avoid trouble when receiving + * SIGWINCH while beeing in prompt_yn() + */ + signal_context = cReconnect; + + /* * Exit tin if the user says no to reconnect. The exit code stops tin from trying * to disconnect again - the connection is already dead */ - if (!tinrc.auto_reconnect && prompt_yn(_(txt_reconnect_to_news_server), TRUE) != 1) + if (!tinrc.auto_reconnect && prompt_yn(_(txt_reconnect_to_news_server), TRUE) != 1) { + if (!strncmp("POST", last_put, 4)) { + unlink(backup_article_name(article_name)); + rename_file(article_name, dead_article); + if (tinrc.keep_dead_articles) + append_file(dead_articles, dead_article); + } tin_done(NNTP_ERROR_EXIT); /* user said no to reconnect */ + } + + /* + * reset signal_context + */ + signal_context = save_signal_context; clear_message(); @@ -843,18 +856,27 @@ reconnect( snprintf(last_put, sizeof(last_put), "GROUP %s", curr_group->name); put_server(last_put); s_gets(last_put, NNTP_STRLEN, nntp_rd_fp); -# ifdef DEBUG - debug_nntp("<<<", last_put); -# endif /* DEBUG */ +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", last_put); +# endif /* DEBUG */ DEBUG_IO((stderr, _("Read (%s)\n"), last_put)); } DEBUG_IO((stderr, _("Resend last command (%s)\n"), buf)); put_server(buf); + did_reconnect = TRUE; return 0; } - if (--retry == 0) /* No more tries? */ + if (--retry == 0) { /* No more tries? */ + if (!strncmp("POST", buf, 4)) { + unlink(backup_article_name(article_name)); + rename_file(article_name, dead_article); + if (tinrc.keep_dead_articles) + append_file(dead_articles, dead_article); + } tin_done(NNTP_ERROR_EXIT); + } return retry; } @@ -885,16 +907,33 @@ get_server( /* * NULL socket reads indicates socket has closed. Try a few times more + * + * Leave the s_gets() after a timeout for these cases: + * -some servers do not close the connection but simply do not send any + * response data + * -the network connection went down */ +# if defined(HAVE_ALARM) && defined(SIGALRM) + alarm(NNTP_READ_TIMEOUT); +# endif /* HAVE_ALARM && SIGALRM */ while (nntp_rd_fp == NULL || s_gets(string, size, nntp_rd_fp) == NULL) { - + if (errno == EINTR) { + errno = 0; +# if defined(HAVE_ALARM) && defined(SIGALRM) + alarm(NNTP_READ_TIMEOUT); /* Restart the timer */ +# endif /* HAVE_ALARM && SIGALRM */ + continue; + } +# if defined(HAVE_ALARM) && defined(SIGALRM) + alarm(0); +# endif /* HAVE_ALARM && SIGALRM */ if (quitting) /* Don't bother to reconnect */ tin_done(NNTP_ERROR_EXIT); /* And don't try to disconnect again! */ -# ifdef DEBUG +# ifdef DEBUG if (errno != 0 && errno != EINTR) /* Will only confuse end users */ perror_message("get_server()"); -# endif /* DEBUG */ +# endif /* DEBUG */ /* * Reconnect only if command was not "QUIT" anyway (in which case a @@ -903,6 +942,15 @@ get_server( * when user is quitting tin if tinrc.auto_reconnect is false. */ if (strncmp(last_put, "QUIT", 4)) { + /* + * Typhoon v2.1.1.363 colses the connection right after an unknown + * command, (i.e. CAPABILITIES) so we avoid the reissue it on a + * reconnect if it was the last command. + */ + if (!strncmp(last_put, "CAPABILITIES", 12)) { + strcpy(last_put, "MODE READER"); + nntp_caps.type = BROKEN; + } retry = reconnect(retry); /* Will abort when out of tries */ reconnected_in_last_get_server = TRUE; } else { @@ -915,6 +963,9 @@ get_server( break; } } +# if defined(HAVE_ALARM) && defined(SIGALRM) + alarm(0); +# endif /* HAVE_ALARM && SIGALRM */ return string; } @@ -947,221 +998,255 @@ close_server( s_end(); nntp_wr_fp = nntp_rd_fp = NULL; } -# endif /* NNTP_ABLE */ -#endif /* !VMS */ +#endif /* NNTP_ABLE */ #ifdef NNTP_ABLE /* - * Try and use CAPABILITIES/LIST EXTENSIONS here. Get this list before - * issuing other NNTP commands because the correct methods may be mentioned - * in the list of extensions. + * Try and use CAPABILITIES here. Get this list before issuing other NNTP + * commands because the correct methods may be mentioned in the list of + * extensions. * * Sets up: t_capabilities nntp_caps */ static int -check_extensions( - t_bool *sec) +check_extensions(void) { + char *d; char *ptr; + char buf[NNTP_STRLEN]; + int i; int ret = 0; -# if 0 /* "CAPABILITIES" will replace "LIST EXTENSIONS" */ - FILE *fp; - char *d; - if ((fp = nntp_command("CAPABILITIES", INF_CAPABILITIES, NULL, 0)) != NULL) { - nntp_caps.type = CAPABILITIES; - while ((ptr = tin_fgets(fp, FALSE)) != NULL) { + buf[0] = '\0'; + i = new_nntp_command("CAPABILITIES", INF_CAPABILITIES, buf, sizeof(buf)); + switch (i) { + case INF_CAPABILITIES: + /* clear capabilities */ + nntp_caps.type = CAPABILITIES; + nntp_caps.version = 0; + nntp_caps.mode_reader = FALSE; + nntp_caps.reader = FALSE; + nntp_caps.post = FALSE; + nntp_caps.list_active = FALSE; + nntp_caps.list_active_times = FALSE; + nntp_caps.list_distrib_pats = FALSE; + nntp_caps.list_headers = FALSE; + nntp_caps.list_newsgroups = FALSE; + nntp_caps.list_overview_fmt = FALSE; + nntp_caps.list_motd = FALSE; + nntp_caps.list_subscriptions = FALSE; + nntp_caps.list_distributions = FALSE; + nntp_caps.list_moderators = FALSE; + nntp_caps.list_counts = FALSE; + nntp_caps.xpat = FALSE; + nntp_caps.hdr = FALSE; + nntp_caps.hdr_cmd = NULL; + nntp_caps.over = FALSE; + nntp_caps.over_msgid = FALSE; + nntp_caps.over_cmd = NULL; + nntp_caps.newnews = FALSE; + FreeAndNull(nntp_caps.implementation); + nntp_caps.starttls = FALSE; + nntp_caps.authinfo_user = FALSE; + nntp_caps.authinfo_sasl = FALSE; + nntp_caps.authinfo_state = FALSE; + nntp_caps.sasl = SASL_NONE; + nntp_caps.compress = FALSE; + nntp_caps.compress_algorithm = COMPRESS_NONE; +#if 0 + nntp_caps.streaming = FALSE; + nntp_caps.ihave = FALSE; +#endif /* 0 */ +#ifndef BROKEN_LISTGROUP + nntp_caps.broken_listgroup = FALSE; +#else + nntp_caps.broken_listgroup = TRUE; +#endif /* !BROKEN_LISTGROUP */ + + while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) { # ifdef DEBUG - debug_nntp("<<<", ptr); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); # endif /* DEBUG */ - /* look for version number(s) */ - if (!nntp_caps.version && nntp_caps.type == CAPABILITIES) { - if (!strcasecmp(ptr, "VERSION")) { - d = ptr + 7; - d = strpbrk(d, " \t"); - while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { - d++; - nntp_caps.version = MAX(nntp_caps.version, (unsigned int) atoi(d)); + /* look for version number(s) */ + if (!nntp_caps.version && nntp_caps.type == CAPABILITIES) { + if (!strncasecmp(ptr, "VERSION", 7)) { + d = ptr + 7; d = strpbrk(d, " \t"); + while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { + d++; + nntp_caps.version = (unsigned int) atoi(d); + d = strpbrk(d, " \t"); + } } } - } - /* we currently only support CAPABILITIES VERSION 2 */ - if (nntp_caps.version == 2) { - /* - * check for LIST variants - this code is untested - */ - if (!strcasecmp(ptr, "LIST")) { - d = ptr + 4; - d = strpbrk(d, " \t"); - while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { - d++; - if (!strcasecmp(d, "ACTIVE.TIMES")) - nntp_caps.list_active_times = TRUE; - else if (!strcasecmp(d, "ACTIVE")) - nntp_caps.list_active_times = TRUE; - else if (!strcasecmp(d, "DISTRIB.PATS")) - nntp_caps.list_distrib_pats = TRUE; - else if (!strcasecmp(d, "DISTRIBUTIONS")) /* LIST DISTRIBUTIONS, "private" extension, RFC 2980 */ - nntp_caps.list_distributions = TRUE; - else if (!strcasecmp(d, "HEADERS")) - nntp_caps.list_headers = TRUE; /* HDR requires LIST HEADERS, but not vice versa */ - else if (!strcasecmp(d, "NEWSGROUPS")) - nntp_caps.list_newsgroups = TRUE; - else if (!strcasecmp(d, "OVERVIEW.FMT")) /* OVER requires OVERVIEW.FMT, but not vice versa */ - nntp_caps.list_overview_fmt = TRUE; - else if (!strcasecmp(d, "MOTD")) /* "private" extension */ - nntp_caps.list_motd = TRUE; - else if (!strcasecmp(d, "SUBSCRIPTIONS")) /* "private" extension, RFC 2980 */ - nntp_caps.list_subscriptions = TRUE; - else if (!strcasecmp(d, "MODERATORS")) /* "private" extension */ - nntp_caps.list_moderators = TRUE; + /* we currently only support CAPABILITIES VERSION 2 */ + if (nntp_caps.version == 2) { + /* + * check for LIST variants + */ + if (!strncasecmp(ptr, "LIST", 4)) { + d = ptr + 4; d = strpbrk(d, " \t"); - } - } else if (!strcasecmp(ptr, "IMPLEMENTATION")) - nntp_caps.implementation = my_strdup(ptr + 14); - else if (!strcasecmp(ptr, "MODE-READER")) { - if (!nntp_caps.reader) - nntp_caps.mode_reader = TRUE; - } else if (!strcasecmp(ptr, "READER")) { - nntp_caps.reader = TRUE; - nntp_caps.mode_reader = FALSE; - } else if (!strcasecmp(d, "POST")) - nntp_caps.post = TRUE; - else if (!strcasecmp(ptr, "NEWNEWS")) - nntp_caps.newnews = TRUE; - else if (!strcasecmp(ptr, "XPAT")) /* extension, RFC 2980 */ - nntp_caps.xpat = TRUE; - else if (!strcasecmp(ptr, "STARTTLS")) - nntp_caps.starttls = TRUE; - /* - * NOTE: if we saw OVER, LIST OVERVIEW.FMT _must_ be implemented - */ - else if (!strcasecmp(ptr, &xover_cmds[1])) { - nntp_caps.over = TRUE; - nntp_caps.list_overview_fmt = TRUE; - nntp_caps.over_cmd = &xover_cmds[1]; - d = ptr + strlen(&xover_cmds[1]); - d = strpbrk(d, " \t"); - while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { - d++; - if (!strcasecmp(d, "MSGID")) - nntp_caps.over_msgid = TRUE; + while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { + d++; + if (!strncasecmp(d, "ACTIVE.TIMES", 12)) + nntp_caps.list_active_times = TRUE; + else if (!strncasecmp(d, "ACTIVE", 6)) + nntp_caps.list_active = TRUE; + else if (!strncasecmp(d, "DISTRIB.PATS", 12)) + nntp_caps.list_distrib_pats = TRUE; + else if (!strncasecmp(d, "DISTRIBUTIONS", 13)) /* RFC 6048 */ + nntp_caps.list_distributions = TRUE; + else if (!strncasecmp(d, "HEADERS", 7)) + nntp_caps.list_headers = TRUE; /* HDR requires LIST HEADERS, but not vice versa */ + else if (!strncasecmp(d, "NEWSGROUPS", 10)) + nntp_caps.list_newsgroups = TRUE; + else if (!strncasecmp(d, "OVERVIEW.FMT", 12)) /* OVER requires OVERVIEW.FMT, but not vice versa */ + nntp_caps.list_overview_fmt = TRUE; + else if (!strncasecmp(d, "MOTD", 4)) /* RFC 6048 */ + nntp_caps.list_motd = TRUE; + else if (!strncasecmp(d, "SUBSCRIPTIONS", 13)) /* RFC 6048 */ + nntp_caps.list_subscriptions = TRUE; + else if (!strncasecmp(d, "MODERATORS", 10)) /* RFC 6048 */ + nntp_caps.list_moderators = TRUE; + else if (!strncasecmp(d, "COUNTS", 6)) /* RFC 6048 */ + nntp_caps.list_counts = TRUE; + d = strpbrk(d, " \t"); + } + } else if (!strncasecmp(ptr, "IMPLEMENTATION", 14)) { + FreeIfNeeded(nntp_caps.implementation); + nntp_caps.implementation = my_strdup(ptr + 14); + str_trim(nntp_caps.implementation); + } else if (!strcasecmp(ptr, "MODE-READER")) { + if (!nntp_caps.reader) + nntp_caps.mode_reader = TRUE; + } else if (!strcasecmp(ptr, "READER")) { /* if we saw READER, "LIST ACTIVE" and "LIST NEWSGROUPS" must be implemented */ + nntp_caps.reader = TRUE; + nntp_caps.mode_reader = FALSE; + nntp_caps.list_newsgroups = TRUE; + nntp_caps.list_active = TRUE; + } else if (!strcasecmp(ptr, "POST")) + nntp_caps.post = TRUE; + else if (!strcasecmp(ptr, "NEWNEWS")) + nntp_caps.newnews = TRUE; + else if (!strcasecmp(ptr, "XPAT")) /* extension, RFC 2980 */ + nntp_caps.xpat = TRUE; + else if (!strcasecmp(ptr, "STARTTLS")) + nntp_caps.starttls = TRUE; + /* + * NOTE: if we saw OVER, LIST OVERVIEW.FMT _must_ be implemented + */ + else if (!strncasecmp(ptr, &xover_cmds[1], strlen(&xover_cmds[1]))) { + nntp_caps.list_overview_fmt = nntp_caps.over = TRUE; + nntp_caps.over_cmd = &xover_cmds[1]; + d = ptr + strlen(&xover_cmds[1]); d = strpbrk(d, " \t"); + while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { + d++; + if (!strcasecmp(d, "MSGID")) + nntp_caps.over_msgid = TRUE; + d = strpbrk(d, " \t"); + } } - } else if (!strcasecmp(ptr, "AUTHINFO")) { - d = ptr + 8; - d = strpbrk(d, " \t"); - while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { - d++; - if (!strcasecmp(d, "USER")) - nntp_caps.authinfo_user = TRUE; - if (!strcasecmp(d, "SASL")) - nntp_caps.authinfo_sasl = TRUE; + /* + * NOTE: if we saw HDR, LIST HEADERS _must_ be implemented + */ + else if (!strncasecmp(ptr, &xhdr_cmds[1], strlen(&xhdr_cmds[1]))) { + nntp_caps.hdr_cmd = &xhdr_cmds[1]; + nntp_caps.list_headers = nntp_caps.hdr = TRUE; + } else if (!strncasecmp(ptr, "AUTHINFO", 8)) { + d = ptr + 8; + d = strpbrk(d, " \t"); + if (d == NULL) /* AUTHINFO without args */ + nntp_caps.authinfo_state = TRUE; + while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { + d++; + if (!strncasecmp(d, "USER", 4)) + nntp_caps.authinfo_user = TRUE; + if (!strncasecmp(d, "SASL", 4)) + nntp_caps.authinfo_sasl = TRUE; + d = strpbrk(d, " \t"); + } + } else if (!strncasecmp(ptr, "SASL", 4)) { + d = ptr + 4; + d = strpbrk(d, " \t"); + while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { + d++; + if (!strncasecmp(d, "CRAM-MD5", 8)) { /* RFC 2195 */ + nntp_caps.authinfo_sasl = TRUE; + nntp_caps.sasl |= SASL_CRAM_MD5; + } + if (!strncasecmp(d, "DIGEST-MD5", 10)) { /* RFC 2831 */ + nntp_caps.authinfo_sasl = TRUE; + nntp_caps.sasl |= SASL_DIGEST_MD5; + } + if (!strncasecmp(d, "PLAIN", 5)) { /* RFC 4616 */ + nntp_caps.authinfo_sasl = TRUE; + nntp_caps.sasl |= SASL_PLAIN; + } + if (!strncasecmp(d, "GSSAPI", 6)) { /* RFC 4752 */ + nntp_caps.authinfo_sasl = TRUE; + nntp_caps.sasl |= SASL_GSSAPI; + } + if (!strncasecmp(d, "EXTERNAL", 8)) { /* RFC 4422 */ + nntp_caps.authinfo_sasl = TRUE; + nntp_caps.sasl |= SASL_EXTERNAL; + } + /* inn also can do these */ + if (!strncasecmp(d, "OTP", 3)) { /* RFC 2444 */ + nntp_caps.authinfo_sasl = TRUE; + nntp_caps.sasl |= SASL_OTP; + } + if (!strncasecmp(d, "NTLM", 4)) { /* Microsoft */ + nntp_caps.authinfo_sasl = TRUE; + nntp_caps.sasl |= SASL_NTLM; + } + if (!strncasecmp(d, "LOGIN", 5)) { /* Microsoft */ + nntp_caps.authinfo_sasl = TRUE; + nntp_caps.sasl |= SASL_LOGIN; + } + } + } else if (!strncasecmp(ptr, "COMPRESS", 8)) { /* draft-murchison-nntp-compress-01.txt */ + d = ptr + 8; d = strpbrk(d, " \t"); + while (d != NULL && (d + 1 < (ptr + strlen(ptr)))) { + d++; + if (!strncasecmp(d, "DEFLATE", 7)) { + nntp_caps.compress = TRUE; + nntp_caps.compress_algorithm |= COMPRESS_DEFLATE; + } + } } - } -# if 0 - /* - * NOTE: if we saw HDR, LIST HEADERS _must_ be implemented - */ - else if (!strcasecmp(ptr, &xhdr_cmds[1])) { - nntp_caps.hdr_cmd = &xhdr_cmds[1]; - nntp_caps.hdr = TRUE; - nntp_caps.list_headers = TRUE; - } - else if (!strcasecmp(ptr, "IHAVE")) +# if 0 /* we don't need these */ + else if (!strcasecmp(ptr, "IHAVE")) nntp_caps.ihave = TRUE; + else if (!strcasecmp(ptr, "STREAMING")) + nntp_caps.streaming = TRUE; # endif /* 0 */ - /* - * TODO: SASL, STREAMING - */ - } else - nntp_caps.type = NO; - } - } -# ifdef DEBUG - debug_print_nntp_extensions(); -# endif /* DEBUG */ - if (!*sec && !nntp_caps.reader) { - if (nntp_caps.type == CAPABILITIES && !nntp_caps.mode_reader) - return -1; /* no mode-switching and no reader mode, give up */ - if ((ret = mode_reader(&*sec)) != 0) - return ret; - else if (nntp_caps.type == CAPABILITIES) /* 2nd pass */ - ret = check_extensions(&*sec); - } - -# else - - /* - * "LIST EXTENSIONS" is somewhat troublesome as there are a lot - * of broken implementations out there and it is a multiline response - */ - if (nntp_caps.type == NO) { - char buf[NNTP_STRLEN]; - int i; - - buf[0] = '\0'; - i = new_nntp_command("LIST EXTENSIONS", OK_EXTENSIONS, buf, sizeof(buf)); - switch (i) { - case 215: /* Netscape-Collabra/3.52 (badly broken); NetWare-News-Server/5.1 */ -# ifdef DEBUG - debug_nntp("LIST EXTENSIONS", "skipping data"); -# endif /* DEBUG */ - while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) - ; - break; + } else + nntp_caps.type = NONE; + } + break; - case OK_EXTENSIONS: /* as defined draft-ietf-nntpext-base-27.txt */ - case 205: /* M$ Exchange 5.5 */ - nntp_caps.type = LIST_EXTENSIONS; - while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) { - if (nntp_caps.type == LIST_EXTENSIONS) { -# ifdef DEBUG - debug_nntp("<<<", ptr); -# endif /* DEBUG */ - /* - * some servers (e.g. Hamster 1.3) have leading spaces in - * the extension list - */ - str_trim(ptr); - /* - * Check for (X)OVER - * XOVER should not be listed in EXTENSIONS (but sometimes - * is) checking for it if OVER is not found does no harm. - */ - if (!nntp_caps.over_cmd) { - for (i = 1; i >= 0; i--) { - if (strcasecmp(ptr, &xover_cmds[i]) == 0) { - nntp_caps.over_cmd = &xover_cmds[i]; - break; - } - } - } - } - } - /* - * as the server did support LIST EXTENSIONS it's likely that it - * also can do LIST MOTD (we don't bother to parse the LIST - * EXTENSIONS output for MOTD as it never was standartizised; - * draft-ietf-nntpext-base-24.txt only described OVER, HDR and - * LISTGROUP). - */ - nntp_caps.list_motd = TRUE; - break; + /* + * XanaNewz 2 Server Version 2.0.0.3 doesn't know CAPABILITIES + * but respondes with 400 _without_ closing the connection. If + * you use tin on a XanaNewz 2 Server comment out the following + * case. + */ +# if 1 + case ERR_GOODBYE: + ret = i; + error_message(2, buf); + break; +# endif /* 1 */ - default: - break; - } -# ifdef DEBUG - debug_print_nntp_extensions(); -# endif /* DEBUG */ - if (!*sec) - ret = mode_reader(&*sec); + default: + break; } -# endif /* 0 */ + return ret; } @@ -1178,7 +1263,8 @@ mode_reader( if (!nntp_caps.reader) { char line[NNTP_STRLEN]; #ifdef DEBUG - debug_nntp("mode_reader", "mode reader"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "mode_reader() MODE READER"); #endif /* DEBUG */ DEBUG_IO((stderr, "nntp_command(MODE READER)\n")); put_server("MODE READER"); @@ -1189,26 +1275,23 @@ mode_reader( * * 200 (OK_CANPOST) Hello, you can post * 201 (OK_NOPOST) Hello, you can't post - * (202 (OK_NOIHAVE) discussed on the itef mailinglist; withdrawn) - * (203 (OK_NOPOSTIHAVE) discussed on the itef mailinglist; withdrawn) * 502 (ERR_ACCESS) Service unavailable * - * However, there may be old servers out there that do not implement this - * command and therefore return ERR_COMMAND (500). Unfortunately there - * are some new servers out there (i.e. INN 2.4.0 (20020220 prerelease) - * which do return ERR_COMMAND if they are feed only servers. + * However, there are servers out there (e.g. Delegate 9.8.x) that do + * not implement this command and therefore return ERR_COMMAND (500). + * Unfortunately there are some new servers out there (i.e. INN 2.4.0 + * (20020220 prerelease) which do return ERR_COMMAND if they are feed + * only servers. */ switch ((ret = get_respcode(line, sizeof(line)))) { case OK_CANPOST: - /* case OK_NOIHAVE: */ can_post = TRUE && !force_no_post; *sec = TRUE; ret = 0; break; case OK_NOPOST: - /* case OK_NOPOSTIHAVE: */ can_post = FALSE; *sec = TRUE; ret = 0; @@ -1216,10 +1299,15 @@ mode_reader( case ERR_GOODBYE: case ERR_ACCESS: - error_message(line); + error_message(2, line); return ret; case ERR_COMMAND: +#if 1 + ret = 0; + break; +#endif /* 1 */ + default: break; } @@ -1243,7 +1331,7 @@ nntp_open( #ifdef NNTP_ABLE char *linep; char line[NNTP_STRLEN]; - int i, ret; + int ret; t_bool sec = FALSE; /* It appears that is_reconnect guards code that should be run only once */ static t_bool is_reconnect = FALSE; @@ -1252,16 +1340,17 @@ nntp_open( return 0; # ifdef DEBUG - debug_nntp("nntp_open", "BEGIN"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() BEGIN"); # endif /* DEBUG */ if (nntp_server == NULL) { - error_message(_(txt_cannot_get_nntp_server_name)); - error_message(_(txt_server_name_in_file_env_var), NNTP_SERVER_FILE); + error_message(2, _(txt_cannot_get_nntp_server_name)); + error_message(2, _(txt_server_name_in_file_env_var), NNTP_SERVER_FILE); return -EHOSTUNREACH; } - if (!batch_mode) { + if (!batch_mode || verbose) { if (nntp_tcp_port != IPPORT_NNTP) wait_message(0, _(txt_connecting_port), nntp_server, nntp_tcp_port); else @@ -1269,17 +1358,19 @@ nntp_open( } # ifdef DEBUG - debug_nntp("nntp_open", nntp_server); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() %s", nntp_server); # endif /* DEBUG */ ret = server_init(nntp_server, NNTP_TCP_NAME, nntp_tcp_port, line, sizeof(line)); DEBUG_IO((stderr, "server_init returns %d,%s\n", ret, line)); - if (!batch_mode && ret >= 0 && cmd_line) + if ((!batch_mode || verbose) && ret >= 0) my_fputc('\n', stdout); # ifdef DEBUG - debug_nntp("nntp_open", line); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() %s", line); # endif /* DEBUG */ switch (ret) { @@ -1290,8 +1381,6 @@ nntp_open( * According to the ietf-nntp mailinglist: * 200 you may (try to) do anything * 201 you may not POST - * (202 you may not IHAVE) - * (203 you may not do EITHER) * All unrecognised 200 series codes should be assumed as success. * All unrecognised 300 series codes should be assumed as notice to continue. * All unrecognised 400 series codes should be assumed as temporary error. @@ -1299,12 +1388,10 @@ nntp_open( */ case OK_CANPOST: -/* case OK_NOIHAVE: */ can_post = TRUE && !force_no_post; break; case OK_NOPOST: -/* case OK_NOPOSTIHAVE: */ can_post = FALSE; break; @@ -1314,9 +1401,9 @@ nntp_open( break; } if (ret < 0) - error_message(_(txt_failed_to_connect_to_server), nntp_server); + error_message(2, _(txt_failed_to_connect_to_server), nntp_server); else - error_message(line); + error_message(2, line); return ret; } @@ -1331,12 +1418,17 @@ nntp_open( /* * Find out which NNTP extensions are available - * TODO: The authentication method required may be mentioned in the list of - * extensions. (For details about authentication methods, see - * draft-ietf-nntpext-authinfo-07.txt). + * - Typhoon v2.1.1.363 closes the connection after an unknown command + * (i.e. CAPABILITIES) but as we are not allowed to cache CAPABILITIES + * we reissue the command on reconnect. To prevent a loop we catch this + * case. + * + * TODO: The authentication method required may be mentioned in the list + * of extensions. (For details about authentication methods, see + * RFC 4643). */ - if ((ret = check_extensions(&sec))) - return ret; /* required "MODE READER" failed, exit */ + if (nntp_caps.type != BROKEN) + check_extensions(); /* * If the user wants us to authenticate on connection startup, do it now. @@ -1345,19 +1437,78 @@ nntp_open( * allowed to post after authentication issue a "MODE READER" again and * interpret the response code. */ - if (force_auth_on_conn_open) { + if (force_auth_on_conn_open || (nntp_caps.type == CAPABILITIES && !nntp_caps.reader && (nntp_caps.authinfo_user || (nntp_caps.authinfo_sasl & SASL_PLAIN)))) + { # ifdef DEBUG - debug_nntp("nntp_open", "authenticate"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() authenticate()"); # endif /* DEBUG */ - authenticate(nntp_server, userid, TRUE); - if ((ret = mode_reader(&sec))) - return ret; /* "MODE READER" failed, exit */ + + /* + * switch mode before auth so we do not auth as a feeder. + * don't use mode_reader() to prevent authenticaion to + * kick in on a 481 "auth required" response and thus lead + * to a 502 "already authenticated" error later on. + */ + if (nntp_caps.type == CAPABILITIES && nntp_caps.mode_reader) { + char buf[NNTP_STRLEN]; + +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() MODE READER"); +# endif /* DEBUG */ + put_server("MODE READER"); + switch (get_only_respcode(buf, sizeof(buf))) { + /* just honor ciritical errors */ + case ERR_GOODBYE: + case ERR_ACCESS: + error_message(2, buf); + return -1; + + default: + break; + } + check_extensions(); + } + + if (!authenticate(nntp_server, userid, FALSE)) /* 3rd parameter is FALSE as we need to get prompted for username password here */ + return -1; + + if (nntp_caps.type == CAPABILITIES) + check_extensions(); + } + + if ((nntp_caps.type == CAPABILITIES && nntp_caps.mode_reader) || nntp_caps.type != CAPABILITIES) { + if ((ret = mode_reader(&sec))) { + if (nntp_caps.type == CAPABILITIES) + can_post = nntp_caps.post && !force_no_post; + + return ret; + } + if (nntp_caps.type == CAPABILITIES) + check_extensions(); + } + + if (nntp_caps.type == CAPABILITIES) { + if (!nntp_caps.reader) { + error_message(2, _("CAPABILITIES did not announce READER")); /* TODO: -> lang.c */ + return -1; /* give up */ + } + can_post = nntp_caps.post && !force_no_post; } if (!is_reconnect) { +# if 0 + /* + * gives wrong results if RFC 3977 server requestes auth after + * CAPABILITIES is parsed (with no posting allowed) and after auth + * posting is allowed. as we will inform the user later on when he + * actually tries to post it should do no harm to skip this message + */ /* Inform user if he cannot post */ if (!can_post && !batch_mode) wait_message(0, "%s\n", _(txt_cannot_post)); +# endif /* 0 */ /* Remove leading white space and save server's second response */ linep = line; @@ -1396,12 +1547,11 @@ nntp_open( } /* - * If LIST EXTENSIONS failed, check if NNTP supports XOVER or OVER command - * (successor of XOVER as of latest NNTP Draft (Jan 2002) + * If CAPABILITIES failed, check if NNTP supports XOVER or OVER command * We have to check that we _don't_ get an ERR_COMMAND */ - if (nntp_caps.type == NO) { - int j = 0; + if (nntp_caps.type != CAPABILITIES) { + int i, j = 0; for (i = 0; i < 2 && j >= 0; i++) { j = new_nntp_command(&xover_cmds[i], ERR_NCING, line, sizeof(line)); @@ -1409,12 +1559,13 @@ nntp_open( case ERR_COMMAND: break; - case 224: /* unexpected multiline ok, e.g.: Synchronet 3.13 NNTP Service 1.92 */ + case OK_XOVER: /* unexpected multiline ok, e.g.: Synchronet 3.13 NNTP Service 1.92 or on reconnect if last cmd was GROUP */ nntp_caps.over_cmd = &xover_cmds[i]; # ifdef DEBUG - debug_nntp(&xover_cmds[i], "skipping data"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() %s skipping data", &xover_cmds[i]); # endif /* DEBUG */ - while ((linep = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) + while (tin_fgets(FAKE_NNTP_FP, FALSE)) ; j = -1; break; @@ -1425,24 +1576,47 @@ nntp_open( break; } } +# ifdef XHDR_XREF + for (i = 0, j = 0; i < 2 && j >= 0; i++) { + j = new_nntp_command(&xhdr_cmds[i], ERR_CMDSYN, line, sizeof(line)); + switch (j) { + case ERR_COMMAND: + break; + + case 221: /* unexpected multiline ok, e.g.: SoftVelocity Discussions 2.5q */ + nntp_caps.hdr_cmd = &xhdr_cmds[i]; +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() %s skipping data", &xhdr_cmds[i]); +# endif /* DEBUG */ + while (tin_fgets(FAKE_NNTP_FP, FALSE)) + ; + j = -1; + break; + + default: /* usually ERR_CMDSYN (args missing), Typhoon/Twister sends ERR_NCING */ + nntp_caps.hdr_cmd = &xhdr_cmds[i]; + j = -1; + break; + } + } +# endif /* XHDR_XREF */ } else { if (!nntp_caps.over_cmd) { /* - * CAPABILITIES/LIST EXTENSIONS didn't mention OVER or XOVER, try - * XOVER + * CAPABILITIES didn't mention OVER or XOVER, try XOVER */ - i = new_nntp_command(xover_cmds, ERR_NCING, line, sizeof(line)); - - switch (i) { + switch (new_nntp_command(xover_cmds, ERR_NCING, line, sizeof(line))) { case ERR_COMMAND: break; - case 224: /* unexpected multiline ok, e.g.: Synchronet 3.13 NNTP Service 1.92 */ + case OK_XOVER: /* unexpected multiline ok, e.g.: Synchronet 3.13 NNTP Service 1.92 or on reconnect if last cmd was GROUP */ nntp_caps.over_cmd = xover_cmds; # ifdef DEBUG - debug_nntp(xover_cmds, "skipping data"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() %s skipping data", xover_cmds); # endif /* DEBUG */ - while ((linep = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) + while (tin_fgets(FAKE_NNTP_FP, FALSE)) ; break; @@ -1451,16 +1625,31 @@ nntp_open( break; } } -# if 0 /* unused */ +# ifdef XHDR_XREF if (!nntp_caps.hdr_cmd) { /* - * LIST EXTENSIONS didn't mention HDR or XHDR, try - * XHDR + * CAPABILITIES didn't mention HDR or XHDR, try XHDR */ - if (!nntp_command(xhdr_cmds, ERR_COMMAND, NULL, 0)) - nntp_caps.hdr_cmd = xhdr_cmds; + switch (new_nntp_command(xhdr_cmds, ERR_NCING, line, sizeof(line))) { + case ERR_COMMAND: + break; + + case 221: /* unexpected multiline ok, e.g.: SoftVelocity Discussions 2.5q */ + nntp_caps.hdr_cmd = xhdr_cmds; +# ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_open() %s skipping data", xhdr_cmds); +# endif /* DEBUG */ + while (tin_fgets(FAKE_NNTP_FP, FALSE)) + ; + break; + + default: /* ERR_NCING or ERR_CMDSYN */ + nntp_caps.hdr_cmd = xhdr_cmds; + break; + } } -# endif /* 0 */ +# endif /* XHDR_XREF */ } if (!nntp_caps.over_cmd) { @@ -1472,22 +1661,13 @@ nntp_open( else wait_message(2, _(txt_caching_off)); } + } # if 0 - } else { + else { /* * TODO: issue warning if old index files found? * in index_newsdir? */ -# endif /* 0 */ - } - -# if 0 - /* - * TODO: if we're using -n, check for LIST NEWSGROUPS - * see also comments in open_newsgroups_fp() - */ - if (newsrc_active && !list_active) { /* -n */ - /* code goes here */ } # endif /* 0 */ @@ -1518,9 +1698,10 @@ nntp_close( void) { #ifdef NNTP_ABLE - if (read_news_via_nntp) { + if (read_news_via_nntp && !read_saved_news) { # ifdef DEBUG - debug_nntp("nntp_close", "END"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_close() END"); # endif /* DEBUG */ close_server(); } @@ -1528,6 +1709,7 @@ nntp_close( } +#ifdef NNTP_ABLE /* * Get a response code from the server. * Returns: @@ -1543,54 +1725,60 @@ get_only_respcode( char *message, size_t mlen) { - int respcode = 0; -#ifdef NNTP_ABLE - char *ptr, *end; + int respcode; + char *end, *ptr; ptr = tin_fgets(FAKE_NNTP_FP, FALSE); if (tin_errno || ptr == NULL) { # ifdef DEBUG - debug_nntp("<<<", "Error: tin_error<>0 or ptr==NULL in get_only_respcode()"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< Error: tin_error<>0 or ptr==NULL in get_only_respcode()"); # endif /* DEBUG */ return -1; } # ifdef DEBUG - debug_nntp("<<<", ptr); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); # endif /* DEBUG */ respcode = (int) strtol(ptr, &end, 10); DEBUG_IO((stderr, "get_only_respcode(%d)\n", respcode)); - /* TODO: reconnect on ERR_FAULT? */ - if ((respcode == ERR_FAULT || respcode == ERR_GOODBYE || respcode == OK_GOODBYE) && last_put[0] != '\0' && strcmp(last_put, "QUIT")) { + /* + * we also reconnect on ERR_FAULT if last_put was ARTICLE or LIST or POST + * as inn (2.2.3) sends ERR_FAULT on timeout + */ + if (last_put[0] != '\0' && ((respcode == ERR_FAULT && !strncmp(last_put, "ARTICLE", 7)) || (respcode == ERR_FAULT && !strcmp(last_put, "POST")) || (respcode == ERR_FAULT && !strcmp(last_put, "LIST")) || respcode == ERR_GOODBYE || respcode == OK_GOODBYE) && strcmp(last_put, "QUIT")) { /* * Maybe server timed out. * If so, retrying will force a reconnect. */ # ifdef DEBUG - debug_nntp("get_only_respcode", "timeout"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "get_only_respcode() timeout"); # endif /* DEBUG */ put_server(last_put); ptr = tin_fgets(FAKE_NNTP_FP, FALSE); if (tin_errno) { # ifdef DEBUG - debug_nntp("<<<", "Error: tin_errno <> 0"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< Error: tin_errno <> 0"); # endif /* DEBUG */ return -1; } # ifdef DEBUG - debug_nntp("<<<", ptr); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); # endif /* DEBUG */ respcode = (int) strtol(ptr, &end, 10); DEBUG_IO((stderr, "get_only_respcode(%d)\n", respcode)); } if (message != NULL && mlen > 1) /* Pass out the rest of the text */ - my_strncpy(message, end, mlen - 1); + my_strncpy(message, ++end, mlen - 1); -#endif /* NNTP_ABLE */ return respcode; } @@ -1604,14 +1792,18 @@ get_only_respcode( * code is copied into it. * Performs authentication if required and repeats the last command if * necessary after a timeout. + * + * TODO: make this handle 401 and 483 (RFC 3977) return codes. + * as 401 requires to examine the returned text besides the + * return value, we have to "fix" all nntp_command(..., NULL, 0) and + * get_only_respcode(NULL, 0) calls to do this properly. */ int get_respcode( char *message, size_t mlen) { - int respcode = 0; -#ifdef NNTP_ABLE + int respcode; char savebuf[NNTP_STRLEN]; char *ptr, *end; @@ -1621,52 +1813,55 @@ get_respcode( * Server requires authentication. */ # ifdef DEBUG - debug_nntp("get_respcode", "authentication"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "get_respcode() authentication"); # endif /* DEBUG */ - strncpy(savebuf, last_put, sizeof(savebuf) - 1); /* take copy */ + STRCPY(savebuf, last_put); - if (authenticate(nntp_server, userid, FALSE)) { - if (curr_group != NULL) { - DEBUG_IO((stderr, _("Rejoin current group\n"))); - snprintf(last_put, sizeof(last_put), "GROUP %s", curr_group->name); - put_server(last_put); - s_gets(last_put, NNTP_STRLEN, nntp_rd_fp); + if (!authenticate(nntp_server, userid, FALSE)) { + error_message(2, _(txt_auth_failed), nntp_caps.type == CAPABILITIES ? ERR_AUTHFAIL : ERR_ACCESS); + tin_done(EXIT_FAILURE); + } + if (nntp_caps.type == CAPABILITIES) { + check_extensions(); + can_post = nntp_caps.post && !force_no_post; + } + if (curr_group != NULL) { + DEBUG_IO((stderr, _("Rejoin current group\n"))); + snprintf(last_put, sizeof(last_put), "GROUP %s", curr_group->name); + put_server(last_put); + s_gets(last_put, NNTP_STRLEN, nntp_rd_fp); # ifdef DEBUG - debug_nntp("<<<", last_put); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", last_put); # endif /* DEBUG */ - DEBUG_IO((stderr, _("Read (%s)\n"), last_put)); - } - strcpy(last_put, savebuf); + DEBUG_IO((stderr, _("Read (%s)\n"), last_put)); + } + STRCPY(last_put, savebuf); - put_server(last_put); - ptr = tin_fgets(FAKE_NNTP_FP, FALSE); + put_server(last_put); + ptr = tin_fgets(FAKE_NNTP_FP, FALSE); - if (tin_errno) { + if (tin_errno) { # ifdef DEBUG - debug_nntp("<<<", "Error: tin_errno <> 0"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< Error: tin_errno <> 0"); # endif /* DEBUG */ return -1; - } + } # ifdef DEBUG - debug_nntp("<<<", ptr); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); # endif /* DEBUG */ - respcode = (int) strtol(ptr, &end, 10); - if (message != NULL && mlen > 1) /* Pass out the rest of the text */ - strncpy(message, end, mlen - 1); - - } else { - error_message(_(txt_auth_failed), ERR_ACCESS); - /* return -1; */ - tin_done(EXIT_FAILURE); - } + respcode = (int) strtol(ptr, &end, 10); + if (message != NULL && mlen > 1) /* Pass out the rest of the text */ + strncpy(message, end, mlen - 1); } -#endif /* NNTP_ABLE */ return respcode; } -#ifdef NNTP_ABLE /* * Do an NNTP command. Send command to server, and read the reply. * If the reply code matches success, then return an open file stream @@ -1683,32 +1878,35 @@ nntp_command( { DEBUG_IO((stderr, "nntp_command(%s)\n", command)); # ifdef DEBUG - debug_nntp("nntp command", command); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_command(%s)", command); # endif /* DEBUG */ put_server(command); if (!bool_equal(dangerous_signal_exit, TRUE)) { if (get_respcode(message, mlen) != success) { # ifdef DEBUG - debug_nntp(command, "NOT_OK"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_command(%s) NOT_OK", command); # endif /* DEBUG */ - /* error_message("%s", message); */ + /* error_message(2, "%s", message); */ return (FILE *) 0; } } # ifdef DEBUG - debug_nntp(command, "OK"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "nntp_command(%s) OK", command); # endif /* DEBUG */ return FAKE_NNTP_FP; } /* - * same as above, but with a slightly more usefull return code. + * same as above, but with a slightly more useful return code. * TODO: use it instead of nntp_command in the rest of the code - * (wherever it is more usefull). + * (wherever it is more useful). */ -static int +int new_nntp_command( const char *command, int success, @@ -1717,22 +1915,25 @@ new_nntp_command( { int respcode = 0; -DEBUG_IO((stderr, "nntp_command(%s)\n", command)); +DEBUG_IO((stderr, "new_nntp_command(%s)\n", command)); # ifdef DEBUG - debug_nntp("nntp command", command); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "new_nntp_command(%s)", command); # endif /* DEBUG */ put_server(command); if (!bool_equal(dangerous_signal_exit, TRUE)) { if ((respcode = get_respcode(message, mlen)) != success) { # ifdef DEBUG - debug_nntp(command, "NOT_OK - Expected: %d, got: %d", success, respcode); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "new_nntp_command(%s) NOT_OK - Expected: %d, got: %d", command, success, respcode); # endif /* DEBUG */ return respcode; } } # ifdef DEBUG - debug_nntp(command, "OK"); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "new_nntp_command(%s) OK", command); # endif /* DEBUG */ return respcode; } @@ -1743,8 +1944,10 @@ list_motd( void) { char *ptr; + char *p; char buf[NNTP_STRLEN]; int i; + size_t len; unsigned int l = 0; buf[0] = '\0'; @@ -1757,16 +1960,24 @@ list_motd( # endif /* HAVE_COLOR */ while ((ptr = tin_fgets(FAKE_NNTP_FP, FALSE)) != NULL) { # ifdef DEBUG - debug_nntp("<<<", ptr); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); # endif /* DEBUG */ /* + * according to draft-elie-nntp-list-additions-00.txt 2.4.2 + * the MOTD is in UTF-8 + * * TODO: - store a hash value of the entire motd in the server-rc * and only if it differs from the old value display the * motd? * - use some sort of pager? * - -> lang.c */ - my_printf("%s%s\n", _("MOTD: "), ptr); + p = my_strdup(ptr); + len = strlen(p); + process_charsets(&p, &len, "UTF-8", tinrc.mm_local_charset, FALSE); + my_printf("%s%s\n", _("MOTD: "), p); + free(p); l++; } # ifdef HAVE_COLOR diff -Nurp --exclude='.bzr*' tin-1.8.3/src/nrctbl.c tin-2.0.0/src/nrctbl.c --- tin-1.8.3/src/nrctbl.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/nrctbl.c 2011-04-17 16:04:31.195186037 +0200 @@ -3,13 +3,13 @@ * Module : nrctbl.c * Author : Sven Paulus * Created : 1996-10-06 - * Updated : 2005-07-02 + * Updated : 2009-07-17 * Notes : This module does the NNTP server name lookup in * ~/.tin/newsrctable and returns the real hostname * and the name of the newsrc file for a given * alias of the server. * - * Copyright (c) 1996-2006 Sven Paulus + * Copyright (c) 1996-2011 Sven Paulus * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -74,6 +74,7 @@ write_newsrctable_file( } +#ifdef NNTP_ABLE /* * get_nntpserver() * returns the FQDN of NNTP server by looking up a given @@ -84,6 +85,7 @@ write_newsrctable_file( void get_nntpserver( char *nntpserver_name, + size_t nntpserver_name_len, char *nick_name) { FILE *fp; @@ -102,7 +104,7 @@ get_nntpserver( line_entry_counter++; if (line_entry_counter == 1) - strcpy(name_found, line_entry); + STRCPY(name_found, line_entry); if ((line_entry_counter > 2) && (!strcasecmp(line_entry, nick_name))) found = TRUE; @@ -110,12 +112,14 @@ get_nntpserver( } } fclose(fp); - strcpy(nntpserver_name, (found ? name_found : nick_name)); + strncpy(nntpserver_name, (found ? name_found : nick_name), nntpserver_name_len); } else { write_newsrctable_file(); - strcpy(nntpserver_name, nick_name); + strncpy(nntpserver_name, nick_name, nntpserver_name_len); } + nntpserver_name[nntpserver_name_len - 1] = '\0'; } +#endif /* NNTP_ABLE */ /* @@ -123,9 +127,10 @@ get_nntpserver( * get name of newsrc file with given name of nntp server * returns TRUE if name was found, FALSE if the search failed */ -int +t_bool get_newsrcname( char *newsrc_name, + size_t newsrc_name_len, const char *nntpserver_name) /* return value is always ignored */ { FILE *fp; @@ -154,7 +159,7 @@ get_newsrcname( do_cpy = TRUE; } if (do_cpy && (line_entry_counter == 2)) { - strcpy(name_found, line_entry); + STRCPY(name_found, line_entry); do_cpy = FALSE; } } @@ -166,16 +171,17 @@ get_newsrcname( char tmp_newsrc[PATH_LEN]; int error = 0; - if (!strfpath(name_found, tmp_newsrc, sizeof(tmp_newsrc), NULL)) { + if (!strfpath(name_found, tmp_newsrc, sizeof(tmp_newsrc), NULL, FALSE)) { my_fprintf(stderr, _("couldn't expand %s\n"), name_found); /* TODO: -> lang.c */ error = 1; } else { - if (tmp_newsrc[0] == '/') - (void) strcpy(newsrc_name, tmp_newsrc); - else - joinpath(newsrc_name, homedir, tmp_newsrc); + if (tmp_newsrc[0] == '/') { + (void) strncpy(newsrc_name, tmp_newsrc, newsrc_name_len); + newsrc_name[newsrc_name_len - 1] = '\0'; + } else + joinpath(newsrc_name, newsrc_name_len, homedir, tmp_newsrc); } - (void) strcpy(dir, newsrc_name); + STRCPY(dir, newsrc_name); if (strchr(dir, '/')) *strrchr(dir, '/') = (char) 0; @@ -224,7 +230,7 @@ get_newsrcname( return TRUE; case 'd': - joinpath(newsrc_name, homedir, ".newsrc"); + joinpath(newsrc_name, newsrc_name_len, homedir, ".newsrc"); return TRUE; case 'a': @@ -233,7 +239,7 @@ get_newsrcname( * is not documented in the man page */ snprintf(name_found, sizeof(name_found), ".newsrc-%s", nntpserver_name); - joinpath(newsrc_name, homedir, name_found); + joinpath(newsrc_name, newsrc_name_len, homedir, name_found); return TRUE; case 'q': diff -Nurp --exclude='.bzr*' tin-1.8.3/src/options_menu.c tin-2.0.0/src/options_menu.c --- tin-1.8.3/src/options_menu.c 2005-12-02 12:07:36.000000000 +0100 +++ tin-2.0.0/src/options_menu.c 2011-05-14 13:29:41.579424908 +0200 @@ -3,10 +3,10 @@ * Module : options_menu.c * Author : Michael Bienia * Created : 2004-09-05 - * Updated : 2005-07-02 + * Updated : 2011-05-14 * Notes : Split from config.c * - * Copyright (c) 2004-2006 Michael Bienia + * Copyright (c) 2004-2011 Michael Bienia * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -48,34 +48,76 @@ #define option_lines_per_page (cLINES - INDEX_TOP - 3) -static enum option_enum first_option_on_screen, last_option_on_screen; +#define UPDATE_INT_ATTRIBUTES(option) do { \ + scopes[0].attribute->option = tinrc.option; \ + } while (0) + +#define CAO(A, O) A ## O +#define SET_NUM_ATTRIBUTE(option) do { \ + curr_scope->attribute->option = CAO(tinrc.attrib_, option); \ + curr_scope->state->option = TRUE; \ + } while (0) +#define SET_STRING_ATTRIBUTE(opt) do { \ + if (!strlen(CAO(tinrc.attrib_, opt))) { \ + reset_state(option); \ + redraw_screen(option); \ + } else { \ + FreeIfNeeded(curr_scope->attribute->opt); \ + curr_scope->state->opt = TRUE; \ + curr_scope->attribute->opt = my_strdup(CAO(tinrc.attrib_, opt)); \ + } \ + } while (0) + +static enum option_enum first_option_on_screen, last_option_on_screen, last_opt; /* * local prototypes */ +static enum option_enum get_first_opt(void); static enum option_enum move_cursor(enum option_enum cur_option, t_bool down); static enum option_enum next_option(enum option_enum option, t_bool incl_titles); static enum option_enum opt_scroll_down(enum option_enum option); static enum option_enum opt_scroll_up(enum option_enum option); static enum option_enum prev_option(enum option_enum option, t_bool incl_titles); static enum option_enum set_option_num(int num); +static int add_new_scope(void); +static int find_scope(const char *scope); static int get_option_num(enum option_enum option); +static int move_scope(int curr_pos); +static t_bool check_state(enum option_enum option); +static t_bool delete_scope(int curr_pos); static t_bool option_is_title(enum option_enum option); static t_bool option_on_page(enum option_enum option); +static t_bool rename_scope(struct t_scope *scope); +static t_bool scope_is_empty(void); static t_function option_left(void); static t_function option_right(void); +static t_function scope_left(void); +static t_function scope_right(void); +static void build_scope_line(int i); +static void do_delete_scope(int curr_pos); +static void do_move_scope(int from, int to); +static void draw_scope_arrow(void); +static void free_scopes_and_attributes(void); static void highlight_option(enum option_enum option); -static void print_any_option(enum option_enum the_option); +static void initialize_attributes(void); +static void print_any_option(enum option_enum option); static void redraw_screen(enum option_enum option); static void repaint_option(enum option_enum option); +static void reset_state(enum option_enum option); +static void scope_page(void); static void set_first_option_on_screen(enum option_enum last_option); +static void set_last_opt(void); static void set_last_option_on_screen(enum option_enum first_option); static void show_config_page(void); +static void show_scope_page(void); static void unhighlight_option(enum option_enum option); #ifdef USE_CURSES static void do_scroll(int jump); #endif /* USE_CURSES */ +static t_menu scopemenu = { 0, 0, 0, show_scope_page, draw_scope_arrow, build_scope_line }; +static struct t_scope *curr_scope = NULL; /* * returns the row on the screen of an option @@ -108,7 +150,7 @@ get_option_num( enum option_enum i; int result = 0; - for (i = 0; i < option && result < LAST_OPT; i = next_option(i, FALSE)) + for (i = 0; i < option && result < (int) last_opt; i = next_option(i, FALSE)) result++; return result; @@ -124,7 +166,7 @@ set_option_num( { enum option_enum result = 0; - while (num > 0 && result < LAST_OPT) { + while (num > 0 && result < last_opt) { result = next_option(result, FALSE); num--; } @@ -160,13 +202,19 @@ option_is_visible( case OPT_COL_TEXT: case OPT_COL_TITLE: case OPT_COL_URLS: - return tinrc.use_color; + case OPT_QUOTE_REGEX: + case OPT_QUOTE_REGEX2: + case OPT_QUOTE_REGEX3: + return curr_scope ? FALSE : tinrc.use_color; case OPT_COL_MARKSTAR: case OPT_COL_MARKDASH: case OPT_COL_MARKSLASH: case OPT_COL_MARKSTROKE: - return tinrc.word_highlight && tinrc.use_color; + return curr_scope ? FALSE : (tinrc.word_highlight && tinrc.use_color); + + case OPT_COL_VERBATIM: + return curr_scope ? FALSE : (tinrc.verbatim_handling && tinrc.use_color); #endif /* HAVE_COLOR */ case OPT_WORD_H_DISPLAY_MARKS: @@ -174,10 +222,114 @@ option_is_visible( case OPT_MONO_MARKDASH: case OPT_MONO_MARKSLASH: case OPT_MONO_MARKSTROKE: - return tinrc.word_highlight; + case OPT_SLASHES_REGEX: + case OPT_STARS_REGEX: + case OPT_STROKES_REGEX: + case OPT_UNDERSCORES_REGEX: + return curr_scope ? FALSE : tinrc.word_highlight; - default: +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + case OPT_UTF8_GRAPHICS: + return curr_scope ? FALSE : IS_LOCAL_CHARSET("UTF-8"); +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + + case OPT_VERBATIM_BEGIN_REGEX: + case OPT_VERBATIM_END_REGEX: + return curr_scope ? FALSE : tinrc.verbatim_handling; + + case OPT_GETART_LIMIT_OPTIONS: +#ifdef HAVE_COLOR + case OPT_COLOR_OPTIONS: +#endif /* HAVE_COLOR */ + return curr_scope ? FALSE : TRUE; + + case OPT_DISPLAY_OPTIONS: + case OPT_FILTERING_OPTIONS: + case OPT_SAVING_OPTIONS: + case OPT_POSTING_OPTIONS: + case OPT_EXPERT_OPTIONS: return TRUE; + + case OPT_ATTRIB_ADD_POSTED_TO_FILTER: + case OPT_ATTRIB_ADVERTISING: + case OPT_ATTRIB_ALTERNATIVE_HANDLING: + case OPT_ATTRIB_ASK_FOR_METAMAIL: + case OPT_ATTRIB_AUTO_CC_BCC: + case OPT_ATTRIB_AUTO_LIST_THREAD: + case OPT_ATTRIB_AUTO_SAVE: + case OPT_ATTRIB_AUTO_SELECT: + case OPT_ATTRIB_BATCH_SAVE: + case OPT_ATTRIB_DATE_FORMAT: + case OPT_ATTRIB_DELETE_TMP_FILES: + case OPT_ATTRIB_EDITOR_FORMAT: + case OPT_ATTRIB_FCC: + case OPT_ATTRIB_FOLLOWUP_TO: + case OPT_ATTRIB_FROM: + case OPT_ATTRIB_GROUP_CATCHUP_ON_EXIT: +#ifdef HAVE_ISPELL + case OPT_ATTRIB_ISPELL: +#endif /* HAVE_ISPELL */ + case OPT_ATTRIB_MAILDIR: + case OPT_ATTRIB_MAIL_8BIT_HEADER: + case OPT_ATTRIB_MAIL_MIME_ENCODING: + case OPT_ATTRIB_MAILING_LIST: + case OPT_ATTRIB_MARK_IGNORE_TAGS: + case OPT_ATTRIB_MARK_SAVED_READ: + case OPT_ATTRIB_MIME_FORWARD: + case OPT_ATTRIB_MIME_TYPES_TO_SAVE: + case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY: + case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY: + case OPT_ATTRIB_NEWS_QUOTE_FORMAT: + case OPT_ATTRIB_ORGANIZATION: + case OPT_ATTRIB_POST_8BIT_HEADER: + case OPT_ATTRIB_POST_MIME_ENCODING: + case OPT_ATTRIB_POST_PROCESS_VIEW: + case OPT_ATTRIB_POS_FIRST_UNREAD: + case OPT_ATTRIB_QUICK_KILL_HEADER: + case OPT_ATTRIB_QUICK_KILL_SCOPE: + case OPT_ATTRIB_QUICK_KILL_EXPIRE: + case OPT_ATTRIB_QUICK_KILL_CASE: + case OPT_ATTRIB_QUICK_SELECT_HEADER: + case OPT_ATTRIB_QUICK_SELECT_SCOPE: + case OPT_ATTRIB_QUICK_SELECT_EXPIRE: + case OPT_ATTRIB_QUICK_SELECT_CASE: +#ifndef DISABLE_PRINTING + case OPT_ATTRIB_PRINT_HEADER: +#endif /* !DISABLE_PRINTING */ + case OPT_ATTRIB_PROCESS_ONLY_UNREAD: + case OPT_ATTRIB_PROMPT_FOLLOWUPTO: + case OPT_ATTRIB_QUOTE_CHARS: + case OPT_ATTRIB_SAVEDIR: + case OPT_ATTRIB_SAVEFILE: + case OPT_ATTRIB_SHOW_AUTHOR: + case OPT_ATTRIB_SHOW_INFO: + case OPT_ATTRIB_SHOW_ONLY_UNREAD_ARTS: + case OPT_ATTRIB_SHOW_SIGNATURES: + case OPT_ATTRIB_SIGDASHES: + case OPT_ATTRIB_SIGFILE: + case OPT_ATTRIB_SIGNATURE_REPOST: + case OPT_ATTRIB_START_EDITOR_OFFSET: + case OPT_ATTRIB_THREAD_ARTICLES: + case OPT_ATTRIB_THREAD_CATCHUP_ON_EXIT: + case OPT_ATTRIB_THREAD_PERC: + case OPT_ATTRIB_TRIM_ARTICLE_BODY: + case OPT_ATTRIB_TEX2ISO_CONV: + case OPT_ATTRIB_SORT_THREADS_TYPE: +#ifdef CHARSET_CONVERSION + case OPT_ATTRIB_MM_NETWORK_CHARSET: + case OPT_ATTRIB_UNDECLARED_CHARSET: +#endif /* CHARSET_CONVERSION */ + case OPT_ATTRIB_VERBATIM_HANDLING: + case OPT_ATTRIB_WRAP_ON_NEXT_UNREAD: + case OPT_ATTRIB_SORT_ARTICLE_TYPE: + case OPT_ATTRIB_POST_PROCESS_TYPE: + case OPT_ATTRIB_X_BODY: + case OPT_ATTRIB_X_COMMENT_TO: + case OPT_ATTRIB_X_HEADERS: + return curr_scope ? TRUE : FALSE; + + default: + return curr_scope ? FALSE : TRUE; } } @@ -221,17 +373,19 @@ fmt_option_prompt( #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ if (!option_is_title(option)) { + char flag; int num = get_option_num(option); + flag = (curr_scope && check_state(option)) ? '+' : ' '; #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) if (wbuf != NULL) { wbuf2 = wstrunc(wbuf, option_width); if ((buf = wchar_t2char(wbuf2)) == NULL) { /* conversion failed, truncate original string */ buf = strunc(_(option_table[option].txt->opt), option_width); - snprintf(dst, len, "%s %3d. %-*.*s: ", editing ? "->" : " ", num, (int) option_width, (int) option_width, buf); + snprintf(dst, len, "%s %c%3d %-*.*s: ", editing ? "->" : " ", flag, num, (int) option_width, (int) option_width, buf); } else - snprintf(dst, len, "%s %3d. %-*.*s: ", editing ? "->" : " ", num, + snprintf(dst, len, "%s %c%3d %-*.*s: ", editing ? "->" : " ", flag, num, (int) (strlen(buf) + option_width - wcswidth(wbuf2, option_width + 1)), (int) (strlen(buf) + option_width - wcswidth(wbuf2, option_width + 1)), buf); free(wbuf2); @@ -240,7 +394,7 @@ fmt_option_prompt( { /* truncate original string */ buf = strunc(_(option_table[option].txt->opt), option_width); - snprintf(dst, len, "%s %3d. %-*.*s: ", editing ? "->" : " ", num, (int) option_width, (int) option_width, buf); + snprintf(dst, len, "%s %c%3d %-*.*s: ", editing ? "->" : " ", flag, num, (int) option_width, (int) option_width, buf); } } else { #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) @@ -271,6 +425,9 @@ print_any_option( char temp[LEN], *ptr, *ptr2; int row = option_row(option); size_t len = sizeof(temp) - 1; +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) && defined(USE_CURSES) + char *buf; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE && USE_CURSES */ MoveCursor(row, 0); @@ -287,12 +444,12 @@ print_any_option( case OPT_LIST: list = option_table[option].opt_list; ptr2 = my_strdup(list[*(option_table[option].variable) + ((strcasecmp(_(list[0]), _(txt_default)) == 0) ? 1 : 0)]); - snprintf(ptr, len, "%s", _(ptr2)); + strncpy(ptr, _(ptr2), len); free(ptr2); break; case OPT_STRING: - snprintf(ptr, len, "%s", OPT_STRING_list[option_table[option].var_index]); + strncpy(ptr, OPT_STRING_list[option_table[option].var_index], len); break; case OPT_NUM: @@ -307,7 +464,13 @@ print_any_option( break; } #ifdef USE_CURSES - my_printf("%.*s", cCOLS - 1, temp); +# if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + if ((buf = spart(temp, cCOLS - 1, FALSE)) != NULL) { + my_printf("%s", buf); + free(buf); + } else +# endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + my_printf("%.*s", cCOLS - 1, temp); { int y, x; @@ -384,7 +547,7 @@ move_cursor( if (cur_option < first_option_on_screen) { /* move the markers one option up */ first_option_on_screen = cur_option; - last_option_on_screen = prev_option(last_option_on_screen, TRUE); + set_last_option_on_screen(cur_option); #ifdef USE_CURSES do_scroll(-1); print_any_option(cur_option); @@ -411,7 +574,7 @@ static enum option_enum opt_scroll_down( enum option_enum option) { - if (last_option_on_screen < LAST_OPT) { + if (last_option_on_screen < last_opt) { first_option_on_screen = next_option(first_option_on_screen, TRUE); set_last_option_on_screen(first_option_on_screen); #ifdef USE_CURSES @@ -484,7 +647,7 @@ next_option( { do { option++; - if (option > LAST_OPT) + if (option > last_opt) option = 0; } while (!(option_is_visible(option) && (incl_titles || !option_is_title(option)))); @@ -503,7 +666,7 @@ prev_option( { do { if (option == 0) - option = LAST_OPT; + option = last_opt; else option--; } while (!(option_is_visible(option) && (incl_titles || !option_is_title(option)))); @@ -548,7 +711,7 @@ set_last_option_on_screen( /* * on last page, there need not be option_lines_per_page options */ - for (i = 1; i < option_lines_per_page && last_option_on_screen < LAST_OPT; i++) + for (i = 1; i < option_lines_per_page && last_option_on_screen < last_opt; i++) last_option_on_screen = next_option(last_option_on_screen, TRUE); } @@ -609,8 +772,6 @@ static void redraw_screen( enum option_enum option) { - my_retouch(); - set_xclick_off(); show_config_page(); highlight_option(option); } @@ -638,13 +799,15 @@ show_config_page( { enum option_enum i; + signal_context = curr_scope ? cAttrib : cConfig; + ClearScreen(); - center_line(0, TRUE, _(txt_options_menu)); + center_line(0, TRUE, curr_scope ? curr_scope->scope : _(txt_options_menu)); for (i = first_option_on_screen; i <= last_option_on_screen; i++) { while (!option_is_visible(i)) i++; - if (i > LAST_OPT) + if (i > last_opt) break; print_any_option(i); } @@ -687,38 +850,159 @@ option_right( /* + * set last_opt to the last visible option + */ +static void +set_last_opt( + void) +{ + enum option_enum i; + + for (i = 0; i <= LAST_OPT; i++) { + if (option_is_visible(i)) + last_opt = i; + } +} + + +/* + * returns the first visible option + */ +static enum option_enum +get_first_opt( + void) +{ + enum option_enum i; + + for (i = 0; i <= last_opt; i++) { + if (option_is_visible(i) && !option_is_title(i)) + break; + } + return i; +} + + +/* * options menu so that the user can dynamically change parameters - * - * TODO: - why do we use ret_code when we never modify it? what about calling - * code which checks the return value? - * - when we change something we need to update the related attributes - * as well (see line 2009). */ -int -change_config_file( - struct t_group *group) +void +config_page( + const char *grpname) { + char key[MAXKEYLEN]; enum option_enum option, old_option; - int ret_code = NO_FILTERING; - int mime_encoding = MIME_ENCODING_7BIT; + enum { + NO_CHANGES = 0, + DISPLAY_OPTS = 1, + SCORE_OPTS = 2, + THREAD_OPTS = 4, + THREAD_SCORE = 8, + SHOW_ONLY_UNREAD = 16 + } changed = NO_CHANGES; + int i, scope_idx = 0; t_bool change_option = FALSE; t_function func; +#ifdef CHARSET_CONVERSION + t_bool is_7bit; +#endif /* CHARSET_CONVERSION */ + unsigned old_sort_arts = 0, old_sort_threads = 0, old_show_unread = 0, old_thread_arts = 0; - signal_context = cConfig; - - option = 1; + if (curr_scope) + initialize_attributes(); + if (grpname && curr_group) { + old_sort_arts = curr_group->attribute->sort_article_type; + old_sort_threads = curr_group->attribute->sort_threads_type; + old_show_unread = curr_group->attribute->show_only_unread_arts; + old_thread_arts = curr_group->attribute->thread_articles; + } + set_last_opt(); + option = get_first_opt(); first_option_on_screen = 0; set_last_option_on_screen(0); redraw_screen(option); + set_xclick_off(); + forever { switch ((func = handle_keypad(option_left, option_right, NULL, option_menu_keys))) { case GLOBAL_QUIT: - write_config_file(local_config_file); + if (grpname) { + if (curr_scope && scope_is_empty()) { + do_delete_scope(scope_idx); + curr_scope = NULL; + } + /* + * TODO: write files only in case of changes + */ + write_config_file(local_config_file); + write_attributes_file(local_attributes_file); + } /* FALLTHROUGH */ case CONFIG_NO_SAVE: + if (grpname && curr_scope) { + if (scope_is_empty()) + do_delete_scope(scope_idx); + curr_scope = NULL; + } + assign_attributes_to_groups(); + if (grpname && curr_group) { + if (old_sort_arts != curr_group->attribute->sort_article_type + || old_sort_threads != curr_group->attribute->sort_threads_type + || old_thread_arts != curr_group->attribute->thread_articles) + changed |= THREAD_OPTS; + + if (old_show_unread != curr_group->attribute->show_only_unread_arts) + changed |= SHOW_ONLY_UNREAD; + + if (changed) { + t_bool filtered = FALSE; + + /* + * recook if in an article is open + */ + if (changed & DISPLAY_OPTS) { + if (pgart.raw) + resize_article(TRUE, &pgart); + } + /* + * Clear art->keep_in_base if switching to !show_only_unread_arts + */ + if ((changed & SHOW_ONLY_UNREAD) && !curr_group->attribute->show_only_unread_arts) { + for_each_art(i) + arts[i].keep_in_base = FALSE; + } + + if (changed & SCORE_OPTS) { + unfilter_articles(curr_group); + read_filter_file(filter_file); + filtered = filter_articles(curr_group); + } + /* + * If the sorting/threading strategy of threads or filter options have + * changed, fix things so that resorting will occur + * + * If show_only_unread_arts or the scoring of a thread has changed, + * resort base[] (find_base() is called inside make_threads() too, so + * do this only if make_threads() was not called before) + */ + if (changed & THREAD_OPTS) + make_threads(curr_group, TRUE); + else if (filtered) + make_threads(curr_group, FALSE); + else if (changed & (SHOW_ONLY_UNREAD | THREAD_SCORE)) + find_base(curr_group); + } + } clear_note_area(); - return ret_code; + return; + + case GLOBAL_HELP: + if (curr_scope) + show_help_page(ATTRIB_LEVEL, _(txt_attrib_menu_com)); + else + show_help_page(CONFIG_LEVEL, _(txt_options_menu_com)); + redraw_screen(option); + break; case GLOBAL_LINE_UP: unhighlight_option(option); @@ -734,7 +1018,7 @@ change_config_file( case GLOBAL_FIRST_PAGE: unhighlight_option(option); - option = 1; + option = get_first_opt(); first_option_on_screen = 0; set_last_option_on_screen(0); redraw_screen(option); @@ -743,34 +1027,34 @@ change_config_file( case GLOBAL_LAST_PAGE: unhighlight_option(option); - option = LAST_OPT; - last_option_on_screen = LAST_OPT; - set_first_option_on_screen(LAST_OPT); + option = last_opt; + last_option_on_screen = last_opt; + set_first_option_on_screen(last_opt); redraw_screen(option); /* highlight_option(option); is already done by redraw_screen() */ break; case GLOBAL_PAGE_UP: unhighlight_option(option); - if (option != first_option_on_screen && !(option_is_title(first_option_on_screen) && option == next_option(first_option_on_screen, FALSE))) { + if (option != first_option_on_screen && !(option_is_title(first_option_on_screen) && option == next_option(first_option_on_screen, FALSE))) { option = first_option_on_screen; if (option_is_title(option)) option = next_option(option, FALSE); highlight_option(option); break; } else if (tinrc.scroll_lines == -2 && first_option_on_screen != 0) { - int i = option_lines_per_page / 2; + i = option_lines_per_page / 2; for (; i > 0; i--) { last_option_on_screen = prev_option(last_option_on_screen, TRUE); - if (last_option_on_screen == LAST_OPT) /* end on wrap around */ + if (last_option_on_screen == last_opt) /* end on wrap around */ break; } } else last_option_on_screen = prev_option(first_option_on_screen, TRUE); set_first_option_on_screen(last_option_on_screen); - if (last_option_on_screen == LAST_OPT) + if (last_option_on_screen == last_opt) option = last_option_on_screen; else option = first_option_on_screen; @@ -782,7 +1066,7 @@ change_config_file( case GLOBAL_PAGE_DOWN: unhighlight_option(option); - if (option == LAST_OPT) { + if (option == last_opt) { /* wrap around */ first_option_on_screen = 0; option = 0; @@ -790,7 +1074,7 @@ change_config_file( enum option_enum old_first = first_option_on_screen; if (tinrc.scroll_lines == -2) { - int i = option_lines_per_page / 2; + i = option_lines_per_page / 2; for (; i > 0; i--) { first_option_on_screen = next_option(first_option_on_screen, TRUE); @@ -802,7 +1086,7 @@ change_config_file( if (first_option_on_screen == 0) { first_option_on_screen = old_first; - option = LAST_OPT; + option = last_opt; highlight_option(option); break; } else @@ -843,30 +1127,89 @@ change_config_file( highlight_option(option); break; +#ifndef NO_SHELL_ESCAPE + case GLOBAL_SHELL_ESCAPE: + shell_escape(); + redraw_screen(option); + break; +#endif /* !NO_SHELL_ESCAPE */ + case GLOBAL_SEARCH_SUBJECT_FORWARD: case GLOBAL_SEARCH_SUBJECT_BACKWARD: case GLOBAL_SEARCH_REPEAT: if (func == GLOBAL_SEARCH_REPEAT && last_search != GLOBAL_SEARCH_SUBJECT_FORWARD && last_search != GLOBAL_SEARCH_SUBJECT_BACKWARD) - break; + info_message(_(txt_no_prev_search)); + else { + old_option = option; + option = search_config((func == GLOBAL_SEARCH_SUBJECT_FORWARD), (func == GLOBAL_SEARCH_REPEAT), option, last_opt); + if (option != old_option) { + unhighlight_option(old_option); + if (!option_on_page(option)) { + first_option_on_screen = option; + set_last_option_on_screen(option); + redraw_screen(option); + } else + highlight_option(option); + } + } + break; + + case CONFIG_SCOPE_MENU: + if (!curr_scope) { + scope_page(); + set_last_opt(); + option = get_first_opt(); + first_option_on_screen = 0; + set_last_option_on_screen(0); + redraw_screen(option); + } + break; - old_option = option; - option = search_config((func == GLOBAL_SEARCH_SUBJECT_FORWARD), (func == GLOBAL_SEARCH_REPEAT), option, LAST_OPT); - if (option != old_option) { - unhighlight_option(old_option); - if (!option_on_page(option)) { - first_option_on_screen = option; - set_last_option_on_screen(option); + case CONFIG_RESET_ATTRIB: + if (curr_scope) { + if (curr_scope->global) + info_message(_(txt_scope_operation_not_allowed)); + else if (check_state(option)) { + reset_state(option); redraw_screen(option); - } else - highlight_option(option); + } } break; case CONFIG_SELECT: - change_option = TRUE; + if (curr_scope && curr_scope->global) + info_message(_(txt_scope_operation_not_allowed)); + else + change_option = TRUE; + break; + + case CONFIG_TOGGLE_ATTRIB: + if (grpname) { + if (curr_scope) { + if (scope_is_empty()) { + do_delete_scope(scope_idx); + scope_idx = 0; + } + curr_scope = NULL; + } else { + if (!(scope_idx = find_scope(grpname))) + scope_idx = add_scope(grpname); + if (scope_idx) { + curr_scope = &scopes[scope_idx]; + initialize_attributes(); + } + } + set_last_opt(); + option = get_first_opt(); + first_option_on_screen = 0; + set_last_option_on_screen(0); + redraw_screen(option); + } break; case GLOBAL_REDRAW_SCREEN: + my_retouch(); + set_xclick_off(); set_last_option_on_screen(first_option_on_screen); redraw_screen(option); break; @@ -876,6 +1219,7 @@ change_config_file( break; default: + info_message(_(txt_bad_command), printascii(key, func_to_key(GLOBAL_HELP, option_menu_keys))); break; } /* switch (ch) */ @@ -883,53 +1227,152 @@ change_config_file( switch (option_table[option].var_type) { case OPT_ON_OFF: switch (option) { + case OPT_ABBREVIATE_GROUPNAME: + case OPT_AUTO_RECONNECT: + case OPT_CACHE_OVERVIEW_FILES: + case OPT_CATCHUP_READ_GROUPS: + case OPT_FORCE_SCREEN_REDRAW: + case OPT_KEEP_DEAD_ARTICLES: + case OPT_SHOW_ONLY_UNREAD_GROUPS: + case OPT_STRIP_BLANKS: + case OPT_STRIP_NEWSRC: +#if defined(HAVE_ICONV_OPEN_TRANSLIT) && defined(CHARSET_CONVERSION) + case OPT_TRANSLIT: +#endif /* HAVE_ICONV_OPEN_TRANSLIT && CHARSET_CONVERSION */ + case OPT_UNLINK_ARTICLE: +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + case OPT_UTF8_GRAPHICS: +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + case OPT_URL_HIGHLIGHT: +#ifdef HAVE_KEYPAD + case OPT_USE_KEYPAD: +#endif /* HAVE_KEYPAD */ + case OPT_USE_MOUSE: + prompt_option_on_off(option); + break; + case OPT_ADD_POSTED_TO_FILTER: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(add_posted_to_filter); + break; + case OPT_ADVERTISING: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(advertising); + break; + case OPT_ALTERNATIVE_HANDLING: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(alternative_handling); + break; + case OPT_ASK_FOR_METAMAIL: - case OPT_AUTO_BCC: - case OPT_AUTO_CC: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(ask_for_metamail); + break; + case OPT_AUTO_LIST_THREAD: - case OPT_AUTO_RECONNECT: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(auto_list_thread); + break; + case OPT_AUTO_SAVE: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(auto_save); + break; + case OPT_BATCH_SAVE: - case OPT_CACHE_OVERVIEW_FILES: - case OPT_CATCHUP_READ_GROUPS: - case OPT_FORCE_SCREEN_REDRAW: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(batch_save); + break; + case OPT_GROUP_CATCHUP_ON_EXIT: - case OPT_KEEP_DEAD_ARTICLES: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(group_catchup_on_exit); + break; + case OPT_MARK_IGNORE_TAGS: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(mark_ignore_tags); + break; + case OPT_MARK_SAVED_READ: - case OPT_PGDN_GOTO_NEXT: - case OPT_POS_FIRST_UNREAD: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(mark_saved_read); + break; + case OPT_POST_PROCESS_VIEW: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(post_process_view); + break; + + case OPT_POS_FIRST_UNREAD: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(pos_first_unread); + break; + #ifndef DISABLE_PRINTING case OPT_PRINT_HEADER: -#endif /*! DISABLE_PRINTING */ + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(print_header); + break; +#endif /* !DISABLE_PRINTING */ + case OPT_PROCESS_ONLY_UNREAD: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(process_only_unread); + break; + case OPT_PROMPT_FOLLOWUPTO: - case OPT_SHOW_ONLY_UNREAD_GROUPS: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(prompt_followupto); + break; + case OPT_SHOW_SIGNATURES: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(show_signatures); + break; + case OPT_SIGDASHES: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(sigdashes); + break; + case OPT_SIGNATURE_REPOST: - case OPT_SPACE_GOTO_NEXT_UNREAD: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(signature_repost); + break; + case OPT_START_EDITOR_OFFSET: - case OPT_STRIP_BLANKS: - case OPT_STRIP_NEWSRC: - case OPT_TAB_GOTO_NEXT_UNREAD: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(start_editor_offset); + break; + case OPT_TEX2ISO_CONV: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(tex2iso_conv); + break; + case OPT_THREAD_CATCHUP_ON_EXIT: -#if defined(HAVE_ICONV_OPEN_TRANSLIT) && defined(CHARSET_CONVERSION) - case OPT_TRANSLIT: -#endif /* HAVE_ICONV_OPEN_TRANSLIT && CHARSET_CONVERSION */ - case OPT_UNLINK_ARTICLE: - case OPT_URL_HIGHLIGHT: -#ifdef HAVE_KEYPAD - case OPT_USE_KEYPAD: -#endif /* HAVE_KEYPAD */ - case OPT_USE_MOUSE: + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(thread_catchup_on_exit); + break; + case OPT_WRAP_ON_NEXT_UNREAD: - prompt_option_on_off(option); + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(wrap_on_next_unread); + break; + + case OPT_VERBATIM_HANDLING: + /* + * option toggles visibility of other + * options -> needs redraw_screen() + */ + if (prompt_option_on_off(option)) { + UPDATE_INT_ATTRIBUTES(verbatim_handling); + set_last_option_on_screen(first_option_on_screen); + redraw_screen(option); + } break; /* show mini help menu */ @@ -940,70 +1383,76 @@ change_config_file( /* show all arts or just new/unread arts */ case OPT_SHOW_ONLY_UNREAD_ARTS: - if (prompt_option_on_off(option) && group != NULL) { - make_threads(group, TRUE); - pos_first_unread_thread(); - } + if (prompt_option_on_off(option)) + UPDATE_INT_ATTRIBUTES(show_only_unread_arts); break; /* draw -> / highlighted bar */ case OPT_DRAW_ARROW: - prompt_option_on_off(option); - unhighlight_option(option); - if (!tinrc.draw_arrow && !tinrc.inverse_okay) { - tinrc.inverse_okay = TRUE; - repaint_option(OPT_INVERSE_OKAY); + if (prompt_option_on_off(option)) { + unhighlight_option(option); + if (!tinrc.draw_arrow && !tinrc.inverse_okay) { + tinrc.inverse_okay = TRUE; + repaint_option(OPT_INVERSE_OKAY); + } } break; /* draw inversed screen header lines */ /* draw inversed group/article/option line if draw_arrow is OFF */ case OPT_INVERSE_OKAY: - prompt_option_on_off(option); - unhighlight_option(option); - if (!tinrc.draw_arrow && !tinrc.inverse_okay) { - tinrc.draw_arrow = TRUE; /* we don't want to navigate blindly */ - repaint_option(OPT_DRAW_ARROW); + if (prompt_option_on_off(option)) { + unhighlight_option(option); + if (!tinrc.draw_arrow && !tinrc.inverse_okay) { + tinrc.draw_arrow = TRUE; /* we don't want to navigate blindly */ + repaint_option(OPT_DRAW_ARROW); + } } break; case OPT_MAIL_8BIT_HEADER: - prompt_option_on_off(option); - if (strcasecmp(txt_mime_encodings[tinrc.mail_mime_encoding], txt_8bit)) { - tinrc.mail_8bit_header = FALSE; - print_any_option(OPT_MAIL_8BIT_HEADER); + if (prompt_option_on_off(option)) { + if (tinrc.mail_mime_encoding != MIME_ENCODING_8BIT) { + tinrc.mail_8bit_header = FALSE; + print_any_option(OPT_MAIL_8BIT_HEADER); + } + UPDATE_INT_ATTRIBUTES(mail_8bit_header); } break; case OPT_POST_8BIT_HEADER: - prompt_option_on_off(option); - /* if post_mime_encoding != 8bit, post_8bit_header is disabled */ - if (strcasecmp(txt_mime_encodings[tinrc.post_mime_encoding], txt_8bit)) { - tinrc.post_8bit_header = FALSE; - print_any_option(OPT_POST_8BIT_HEADER); + if (prompt_option_on_off(option)) { + /* if post_mime_encoding != 8bit, post_8bit_header is disabled */ + if (tinrc.post_mime_encoding != MIME_ENCODING_8BIT) { + tinrc.post_8bit_header = FALSE; + print_any_option(OPT_POST_8BIT_HEADER); + } + UPDATE_INT_ATTRIBUTES(post_8bit_header); } break; /* show newsgroup description text next to newsgroups */ case OPT_SHOW_DESCRIPTION: - prompt_option_on_off(option); - show_description = tinrc.show_description; - if (show_description) /* force reread of newgroups file */ - read_descriptions(FALSE); + if (prompt_option_on_off(option)) { + show_description = tinrc.show_description; + if (show_description) /* force reread of newgroups file */ + read_descriptions(FALSE); + } break; #ifdef HAVE_COLOR /* use ANSI color */ case OPT_USE_COLOR: - prompt_option_on_off(option); + if (prompt_option_on_off(option)) { # ifdef USE_CURSES - if (!has_colors()) - use_color = FALSE; - else + if (!has_colors()) + use_color = FALSE; + else # endif /* USE_CURSES */ - use_color = tinrc.use_color; - set_last_option_on_screen(first_option_on_screen); - redraw_screen(option); + use_color = tinrc.use_color; + set_last_option_on_screen(first_option_on_screen); + redraw_screen(option); + } break; #endif /* HAVE_COLOR */ @@ -1021,10 +1470,11 @@ change_config_file( /* word_highlight */ case OPT_WORD_HIGHLIGHT: - prompt_option_on_off(option); - word_highlight = tinrc.word_highlight; - set_last_option_on_screen(first_option_on_screen); - redraw_screen(option); + if (prompt_option_on_off(option)) { + word_highlight = tinrc.word_highlight; + set_last_option_on_screen(first_option_on_screen); + redraw_screen(option); + } break; #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE) @@ -1033,24 +1483,194 @@ change_config_file( break; #endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && HAVE_UNICODE_UBIDI_H && !NO_LOCALE */ - default: + case OPT_ATTRIB_ADD_POSTED_TO_FILTER: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(add_posted_to_filter); break; - } /* switch (option) */ - break; - case OPT_LIST: - switch (option) { -#ifdef HAVE_COLOR - case OPT_COL_BACK: - case OPT_COL_FROM: - case OPT_COL_HEAD: - case OPT_COL_HELP: - case OPT_COL_INVERS_BG: + case OPT_ATTRIB_ADVERTISING: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(advertising); + break; + + case OPT_ATTRIB_ALTERNATIVE_HANDLING: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(alternative_handling); + break; + + case OPT_ATTRIB_ASK_FOR_METAMAIL: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(ask_for_metamail); + break; + + case OPT_ATTRIB_AUTO_LIST_THREAD: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(auto_list_thread); + break; + + case OPT_ATTRIB_AUTO_SAVE: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(auto_save); + break; + + case OPT_ATTRIB_AUTO_SELECT: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(auto_select); + break; + + case OPT_ATTRIB_BATCH_SAVE: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(batch_save); + break; + + case OPT_ATTRIB_DELETE_TMP_FILES: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(delete_tmp_files); + break; + + case OPT_ATTRIB_GROUP_CATCHUP_ON_EXIT: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(group_catchup_on_exit); + break; + + case OPT_ATTRIB_MAIL_8BIT_HEADER: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(mail_8bit_header); + break; + + case OPT_ATTRIB_MARK_IGNORE_TAGS: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(mark_ignore_tags); + break; + + case OPT_ATTRIB_MARK_SAVED_READ: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(mark_saved_read); + break; + + case OPT_ATTRIB_MIME_FORWARD: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(mime_forward); + break; + + case OPT_ATTRIB_POST_8BIT_HEADER: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(post_8bit_header); + break; + + case OPT_ATTRIB_POST_PROCESS_VIEW: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(post_process_view); + break; + + case OPT_ATTRIB_POS_FIRST_UNREAD: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(pos_first_unread); + break; + +#ifndef DISABLE_PRINTING + case OPT_ATTRIB_PRINT_HEADER: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(print_header); + break; +#endif /* !DISABLE_PRINTING */ + + case OPT_ATTRIB_PROCESS_ONLY_UNREAD: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(process_only_unread); + break; + + case OPT_ATTRIB_PROMPT_FOLLOWUPTO: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(prompt_followupto); + break; + + case OPT_ATTRIB_QUICK_KILL_CASE: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(quick_kill_case); + break; + + case OPT_ATTRIB_QUICK_KILL_EXPIRE: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(quick_kill_expire); + break; + + case OPT_ATTRIB_QUICK_SELECT_CASE: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(quick_select_case); + break; + + case OPT_ATTRIB_QUICK_SELECT_EXPIRE: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(quick_select_expire); + break; + + case OPT_ATTRIB_SHOW_ONLY_UNREAD_ARTS: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(show_only_unread_arts); + break; + + case OPT_ATTRIB_SHOW_SIGNATURES: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(show_signatures); + break; + + case OPT_ATTRIB_SIGDASHES: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(sigdashes); + break; + + case OPT_ATTRIB_SIGNATURE_REPOST: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(signature_repost); + break; + + case OPT_ATTRIB_START_EDITOR_OFFSET: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(start_editor_offset); + break; + + case OPT_ATTRIB_TEX2ISO_CONV: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(tex2iso_conv); + break; + + case OPT_ATTRIB_THREAD_CATCHUP_ON_EXIT: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(thread_catchup_on_exit); + break; + + case OPT_ATTRIB_VERBATIM_HANDLING: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(verbatim_handling); + break; + + case OPT_ATTRIB_WRAP_ON_NEXT_UNREAD: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(wrap_on_next_unread); + break; + + case OPT_ATTRIB_X_COMMENT_TO: + if (prompt_option_on_off(option)) + SET_NUM_ATTRIBUTE(x_comment_to); + break; + + default: + break; + } /* switch (option) */ + break; + + case OPT_LIST: + switch (option) { +#ifdef HAVE_COLOR + case OPT_COL_FROM: + case OPT_COL_HEAD: + case OPT_COL_HELP: + case OPT_COL_INVERS_BG: case OPT_COL_INVERS_FG: case OPT_COL_MESSAGE: case OPT_COL_MINIHELP: case OPT_COL_NEWSHEADERS: - case OPT_COL_NORMAL: case OPT_COL_QUOTE: case OPT_COL_QUOTE2: case OPT_COL_QUOTE3: @@ -1064,334 +1684,596 @@ change_config_file( case OPT_COL_MARKSLASH: case OPT_COL_MARKSTROKE: case OPT_COL_URLS: + case OPT_COL_VERBATIM: #endif /* HAVE_COLOR */ + case OPT_CONFIRM_CHOICE: + case OPT_GOTO_NEXT_UNREAD: case OPT_HIDE_UUE: case OPT_INTERACTIVE_MAILER: - case OPT_WORD_H_DISPLAY_MARKS: - case OPT_MONO_MARKSTAR: + case OPT_KILL_LEVEL: + case OPT_MAILBOX_FORMAT: case OPT_MONO_MARKDASH: case OPT_MONO_MARKSLASH: + case OPT_MONO_MARKSTAR: case OPT_MONO_MARKSTROKE: - case OPT_CONFIRM_CHOICE: - case OPT_KILL_LEVEL: - case OPT_MAILBOX_FORMAT: - case OPT_SHOW_INFO: - case OPT_SORT_ARTICLE_TYPE: - case OPT_STRIP_BOGUS: #ifdef HAVE_UNICODE_NORMALIZATION case OPT_NORMALIZATION_FORM: #endif /* HAVE_UNICODE_NORMALIZATION */ case OPT_QUOTE_STYLE: + case OPT_STRIP_BOGUS: case OPT_WILDCARD: + case OPT_WORD_H_DISPLAY_MARKS: prompt_option_list(option); break; +#ifdef HAVE_COLOR + case OPT_COL_BACK: + case OPT_COL_NORMAL: + if (prompt_option_list(option)) + redraw_screen(option); + break; +#endif /* HAVE_COLOR */ + + case OPT_AUTO_CC_BCC: + if (prompt_option_list(option)) + UPDATE_INT_ATTRIBUTES(auto_cc_bcc); + break; + case OPT_THREAD_ARTICLES: - /* - * If the threading strategy has changed, fix things - * so that rethreading will occur - */ - if (prompt_option_list(option) && group != NULL) { - int n, old_base_art = base[grpmenu.curr]; + if (prompt_option_list(option)) + UPDATE_INT_ATTRIBUTES(thread_articles); + break; - group->attribute->thread_arts = tinrc.thread_articles; - make_threads(group, TRUE); - /* in non-empty groups update cursor position */ - if (grpmenu.max > 0) { - if ((n = which_thread(old_base_art)) >= 0) - grpmenu.curr = n; - } - } - set_last_option_on_screen(first_option_on_screen); - redraw_screen(option); - clear_message(); + case OPT_SORT_ARTICLE_TYPE: + if (prompt_option_list(option)) + UPDATE_INT_ATTRIBUTES(sort_article_type); break; case OPT_SORT_THREADS_TYPE: - /* - * If the sorting strategy of threads has changed, fix things - * so that resorting will occur - */ - if (prompt_option_list(option) && group != NULL) { - group->attribute->sort_threads_type = tinrc.sort_threads_type; - make_threads(group, TRUE); - } - clear_message(); + if (prompt_option_list(option)) + UPDATE_INT_ATTRIBUTES(sort_threads_type); break; case OPT_THREAD_SCORE: - /* - * If the scoring of a thread has changed, - * resort base[] - */ - if (prompt_option_list(option) && group != NULL) - find_base(group); - clear_message(); + if (prompt_option_list(option)) + changed |= THREAD_SCORE; break; - case OPT_POST_PROCESS: - prompt_option_list(option); - glob_attributes.post_proc_type = tinrc.post_process; - if (group != NULL) - group->attribute->post_proc_type = tinrc.post_process; + case OPT_TRIM_ARTICLE_BODY: + if (prompt_option_list(option)) + UPDATE_INT_ATTRIBUTES(trim_article_body); + break; + + case OPT_POST_PROCESS_TYPE: + if (prompt_option_list(option)) + UPDATE_INT_ATTRIBUTES(post_process_type); break; case OPT_SHOW_AUTHOR: - prompt_option_list(option); - if (group != NULL) - group->attribute->show_author = tinrc.show_author; + if (prompt_option_list(option)) + UPDATE_INT_ATTRIBUTES(show_author); + break; + + case OPT_SHOW_INFO: + if (prompt_option_list(option)) + UPDATE_INT_ATTRIBUTES(show_info); break; case OPT_MAIL_MIME_ENCODING: - case OPT_POST_MIME_ENCODING: - prompt_option_list(option); - mime_encoding = *(option_table[option].variable); - /* do not use 8 bit headers if mime encoding is not 8bit */ - if (strcasecmp(txt_mime_encodings[mime_encoding], txt_8bit)) { - if (option == (int) OPT_POST_MIME_ENCODING) { - tinrc.post_8bit_header = FALSE; - repaint_option(OPT_POST_8BIT_HEADER); + if (prompt_option_list(option)) { +#ifdef CHARSET_CONVERSION + /* + * check if we have selected a !7bit encoding but a 7bit network charset + * or a !8bit encoding but a 8bit network charset, update encoding if needed + */ + is_7bit = FALSE; + for (i = 0; *txt_mime_7bit_charsets[i]; i++) { + if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) { + is_7bit = TRUE; + break; + } + } + if (is_7bit) { + if (tinrc.mail_mime_encoding != MIME_ENCODING_7BIT) { + tinrc.mail_mime_encoding = MIME_ENCODING_7BIT; + repaint_option(OPT_MAIL_MIME_ENCODING); + } } else { + if (tinrc.mail_mime_encoding == MIME_ENCODING_7BIT) { + tinrc.mail_mime_encoding = MIME_ENCODING_QP; + repaint_option(OPT_MAIL_MIME_ENCODING); + } + } +#endif /* CHARSET_CONVERSION */ + UPDATE_INT_ATTRIBUTES(mail_mime_encoding); + /* do not use 8 bit headers if mime encoding is not 8bit */ + if (tinrc.mail_mime_encoding != MIME_ENCODING_8BIT) { tinrc.mail_8bit_header = FALSE; repaint_option(OPT_MAIL_8BIT_HEADER); + UPDATE_INT_ATTRIBUTES(mail_8bit_header); } } break; -#ifdef CHARSET_CONVERSION - case OPT_MM_NETWORK_CHARSET: + case OPT_POST_MIME_ENCODING: if (prompt_option_list(option)) { - glob_attributes.mm_network_charset = tinrc.mm_network_charset; - if (group) - group->attribute->mm_network_charset = tinrc.mm_network_charset; -# ifdef NO_LOCALE - strcpy(tinrc.mm_local_charset, txt_mime_charsets[tinrc.mm_network_charset]); -# endif /* NO_LOCALE */ - } - /* - * check if we have selected a 7bit charset, otherwise - * update encoding - * we always do this (even if we did not change the - * charset) to fixup flaws in the tinrc - once we do - * the same while reading the tinrc this can go into - * the != original_list_value case. - */ - { - int i; - t_bool change; - - if (!strcasecmp(txt_mime_encodings[tinrc.post_mime_encoding], txt_7bit)) { - change = TRUE; - for (i = 0; *txt_mime_7bit_charsets[i]; i++) { - if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) { - change = FALSE; - break; - } +#ifdef CHARSET_CONVERSION + /* + * check if we have selected a !7bit encoding but a 7bit network charset + * or a !8bit encoding but a 8bit network charset, update encoding if needed + */ + is_7bit = FALSE; + for (i = 0; *txt_mime_7bit_charsets[i]; i++) { + if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) { + is_7bit = TRUE; + break; } - if (change) { - tinrc.post_mime_encoding = MIME_ENCODING_8BIT; + } + if (is_7bit) { + if (tinrc.post_mime_encoding != MIME_ENCODING_7BIT) { + tinrc.post_mime_encoding = MIME_ENCODING_7BIT; repaint_option(OPT_POST_MIME_ENCODING); } - } else { /* and vice versa, if we have a 7bit chaset but a !7bit encoding, fix that */ - for (i = 0; *txt_mime_7bit_charsets[i]; i++) { - if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) { - tinrc.mail_mime_encoding = tinrc.post_mime_encoding = MIME_ENCODING_7BIT; - tinrc.mail_8bit_header = tinrc.post_8bit_header = FALSE; - repaint_option(OPT_POST_MIME_ENCODING); - repaint_option(OPT_MAIL_MIME_ENCODING); - repaint_option(OPT_POST_8BIT_HEADER); - break; - } + } else { + if (tinrc.post_mime_encoding == MIME_ENCODING_7BIT) { + tinrc.post_mime_encoding = MIME_ENCODING_8BIT; + repaint_option(OPT_POST_MIME_ENCODING); } } +#endif /* CHARSET_CONVERSION */ + UPDATE_INT_ATTRIBUTES(post_mime_encoding); + /* do not use 8 bit headers if mime encoding is not 8bit */ + if (tinrc.post_mime_encoding != MIME_ENCODING_8BIT) { + tinrc.post_8bit_header = FALSE; + repaint_option(OPT_POST_8BIT_HEADER); + UPDATE_INT_ATTRIBUTES(post_8bit_header); + } + } + break; - if (!strcasecmp(txt_mime_encodings[tinrc.mail_mime_encoding], txt_7bit)) { - change = TRUE; - for (i = 0; *txt_mime_7bit_charsets[i]; i++) { - if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) { - change = FALSE; - break; - } +#ifdef CHARSET_CONVERSION + case OPT_MM_NETWORK_CHARSET: + if (prompt_option_list(option)) { + /* + * check if we have selected a 7bit charset but a !7bit encoding + * or a 8bit charset but a !8bit encoding, update encoding if needed + * + * if (mail|post)_mime_encoding != 8bit, disable (mail|post)_8bit_header + */ + is_7bit = FALSE; + UPDATE_INT_ATTRIBUTES(mm_network_charset); + for (i = 0; *txt_mime_7bit_charsets[i]; i++) { + if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) { + is_7bit = TRUE; + break; + } + } + if (is_7bit) { + if (tinrc.mail_mime_encoding != MIME_ENCODING_7BIT) { + tinrc.mail_mime_encoding = MIME_ENCODING_7BIT; + tinrc.mail_8bit_header = FALSE; + repaint_option(OPT_MAIL_MIME_ENCODING); + repaint_option(OPT_MAIL_8BIT_HEADER); + UPDATE_INT_ATTRIBUTES(mail_mime_encoding); + UPDATE_INT_ATTRIBUTES(mail_8bit_header); } - if (change) { + if (tinrc.post_mime_encoding != MIME_ENCODING_7BIT) { + tinrc.post_mime_encoding = MIME_ENCODING_7BIT; + tinrc.post_8bit_header = FALSE; + repaint_option(OPT_POST_MIME_ENCODING); + repaint_option(OPT_POST_8BIT_HEADER); + UPDATE_INT_ATTRIBUTES(post_mime_encoding); + UPDATE_INT_ATTRIBUTES(post_8bit_header); + } + } else { + if (tinrc.mail_mime_encoding == MIME_ENCODING_7BIT) { tinrc.mail_mime_encoding = MIME_ENCODING_QP; repaint_option(OPT_MAIL_MIME_ENCODING); + UPDATE_INT_ATTRIBUTES(mail_mime_encoding); } - } else { /* and vice versa, if we have a 7bit chaset but a !7bit encoding, fix that */ - for (i = 0; *txt_mime_7bit_charsets[i]; i++) { - if (!strcasecmp(txt_mime_charsets[tinrc.mm_network_charset], txt_mime_7bit_charsets[i])) { - tinrc.mail_mime_encoding = tinrc.post_mime_encoding = MIME_ENCODING_7BIT; - tinrc.mail_8bit_header = tinrc.post_8bit_header = FALSE; - repaint_option(OPT_POST_MIME_ENCODING); - repaint_option(OPT_MAIL_MIME_ENCODING); - repaint_option(OPT_POST_8BIT_HEADER); - break; - } + if (tinrc.post_mime_encoding == MIME_ENCODING_7BIT) { + tinrc.post_mime_encoding = MIME_ENCODING_8BIT; + repaint_option(OPT_POST_MIME_ENCODING); + UPDATE_INT_ATTRIBUTES(post_mime_encoding); } } } break; #endif /* CHARSET_CONVERSION */ - default: + case OPT_ATTRIB_AUTO_CC_BCC: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(auto_cc_bcc); break; - } /* switch (option) */ - break; - case OPT_STRING: - switch (option) { - case OPT_EDITOR_FORMAT: - case OPT_INEWS_PROG: - case OPT_MAILER_FORMAT: - case OPT_MAIL_ADDRESS: - case OPT_MAIL_QUOTE_FORMAT: - case OPT_METAMAIL_PROG: -#ifndef CHARSET_CONVERSION - case OPT_MM_CHARSET: -#endif /* !CHARSET_CONVERSION */ - case OPT_NEWS_QUOTE_FORMAT: - case OPT_QUOTE_CHARS: - case OPT_SPAMTRAP_WARNING_ADDRESSES: - case OPT_URL_HANDLER: - case OPT_XPOST_QUOTE_FORMAT: - prompt_option_string(option); + case OPT_ATTRIB_MAIL_MIME_ENCODING: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(mail_mime_encoding); break; - case OPT_NEWS_HEADERS_TO_DISPLAY: - prompt_option_string(option); - if (news_headers_to_display_array) - FreeIfNeeded(*news_headers_to_display_array); - FreeIfNeeded(news_headers_to_display_array); - news_headers_to_display_array = ulBuildArgv(tinrc.news_headers_to_display, &num_headers_to_display); +#ifdef CHARSET_CONVERSION + case OPT_ATTRIB_MM_NETWORK_CHARSET: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(mm_network_charset); break; +#endif /* CHARSET_CONVERSION */ - case OPT_NEWS_HEADERS_TO_NOT_DISPLAY: - prompt_option_string(option); - if (news_headers_to_not_display_array) - FreeIfNeeded(*news_headers_to_not_display_array); - FreeIfNeeded(news_headers_to_not_display_array); - news_headers_to_not_display_array = ulBuildArgv(tinrc.news_headers_to_not_display, &num_headers_to_not_display); + case OPT_ATTRIB_POST_MIME_ENCODING: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(post_mime_encoding); break; -#ifndef DISABLE_PRINTING - case OPT_PRINTER: -#endif /* !DISABLE_PRINTING */ - case OPT_MAILDIR: - case OPT_SAVEDIR: - case OPT_SIGFILE: - case OPT_POSTED_ARTICLES_FILE: - if (prompt_option_string(option)) { - char buf[PATH_LEN]; + case OPT_ATTRIB_POST_PROCESS_TYPE: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(post_process_type); + break; - strfpath(tinrc.posted_articles_file, buf, sizeof(buf), &CURR_GROUP); - STRCPY(tinrc.posted_articles_file, buf); - } + case OPT_ATTRIB_QUICK_KILL_HEADER: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(quick_kill_header); break; -#ifdef HAVE_COLOR - case OPT_QUOTE_REGEX: - prompt_option_string(option); - FreeIfNeeded(quote_regex.re); - FreeIfNeeded(quote_regex.extra); - if (!strlen(tinrc.quote_regex)) - STRCPY(tinrc.quote_regex, DEFAULT_QUOTE_REGEX); - compile_regex(tinrc.quote_regex, "e_regex, PCRE_CASELESS); + case OPT_ATTRIB_QUICK_SELECT_HEADER: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(quick_select_header); break; - case OPT_QUOTE_REGEX2: - prompt_option_string(option); - FreeIfNeeded(quote_regex2.re); - FreeIfNeeded(quote_regex2.extra); - if (!strlen(tinrc.quote_regex2)) - STRCPY(tinrc.quote_regex2, DEFAULT_QUOTE_REGEX2); - compile_regex(tinrc.quote_regex2, "e_regex2, PCRE_CASELESS); + case OPT_ATTRIB_SHOW_AUTHOR: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(show_author); break; - case OPT_QUOTE_REGEX3: - prompt_option_string(option); - FreeIfNeeded(quote_regex3.re); - FreeIfNeeded(quote_regex3.extra); - if (!strlen(tinrc.quote_regex3)) - STRCPY(tinrc.quote_regex3, DEFAULT_QUOTE_REGEX3); - compile_regex(tinrc.quote_regex3, "e_regex3, PCRE_CASELESS); + case OPT_ATTRIB_SHOW_INFO: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(show_info); break; -#endif /* HAVE_COLOR */ - case OPT_SLASHES_REGEX: - prompt_option_string(option); - FreeIfNeeded(slashes_regex.re); - FreeIfNeeded(slashes_regex.extra); - if (!strlen(tinrc.slashes_regex)) - STRCPY(tinrc.slashes_regex, DEFAULT_SLASHES_REGEX); - compile_regex(tinrc.slashes_regex, &slashes_regex, PCRE_CASELESS); + case OPT_ATTRIB_SORT_ARTICLE_TYPE: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(sort_article_type); break; - case OPT_STARS_REGEX: - prompt_option_string(option); - FreeIfNeeded(stars_regex.re); - FreeIfNeeded(stars_regex.extra); - if (!strlen(tinrc.stars_regex)) - STRCPY(tinrc.stars_regex, DEFAULT_STARS_REGEX); - compile_regex(tinrc.stars_regex, &stars_regex, PCRE_CASELESS); + case OPT_ATTRIB_SORT_THREADS_TYPE: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(sort_threads_type); break; - case OPT_STROKES_REGEX: - prompt_option_string(option); - FreeIfNeeded(strokes_regex.re); - FreeIfNeeded(strokes_regex.extra); - if (!strlen(tinrc.strokes_regex)) - STRCPY(tinrc.strokes_regex, DEFAULT_STROKES_REGEX); - compile_regex(tinrc.strokes_regex, &strokes_regex, PCRE_CASELESS); + case OPT_ATTRIB_THREAD_ARTICLES: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(thread_articles); break; - case OPT_UNDERSCORES_REGEX: - prompt_option_string(option); - FreeIfNeeded(underscores_regex.re); - FreeIfNeeded(underscores_regex.extra); - if (!strlen(tinrc.underscores_regex)) - STRCPY(tinrc.underscores_regex, DEFAULT_UNDERSCORES_REGEX); - compile_regex(tinrc.underscores_regex, &underscores_regex, PCRE_CASELESS); + case OPT_ATTRIB_TRIM_ARTICLE_BODY: + if (prompt_option_list(option)) + SET_NUM_ATTRIBUTE(trim_article_body); break; - case OPT_STRIP_RE_REGEX: + default: + break; + } /* switch (option) */ + break; + + case OPT_STRING: + switch (option) { + case OPT_INEWS_PROG: + case OPT_MAILDIR: + case OPT_MAILER_FORMAT: + case OPT_MAIL_ADDRESS: + case OPT_MAIL_QUOTE_FORMAT: + case OPT_METAMAIL_PROG: + case OPT_NEWS_QUOTE_FORMAT: + case OPT_SAVEDIR: + case OPT_SIGFILE: +#ifndef DISABLE_PRINTING + case OPT_PRINTER: +#endif /* !DISABLE_PRINTING */ + case OPT_QUOTE_CHARS: + case OPT_SPAMTRAP_WARNING_ADDRESSES: + case OPT_URL_HANDLER: + case OPT_XPOST_QUOTE_FORMAT: prompt_option_string(option); - FreeIfNeeded(strip_re_regex.re); - FreeIfNeeded(strip_re_regex.extra); - if (!strlen(tinrc.strip_re_regex)) - STRCPY(tinrc.strip_re_regex, DEFAULT_STRIP_RE_REGEX); - compile_regex(tinrc.strip_re_regex, &strip_re_regex, PCRE_ANCHORED); break; - case OPT_STRIP_WAS_REGEX: + case OPT_EDITOR_FORMAT: + if (prompt_option_string(option)) { + if (!strlen(tinrc.editor_format)) + STRCPY(tinrc.editor_format, TIN_EDITOR_FMT_ON); + } + break; + +#ifndef CHARSET_CONVERSION + case OPT_MM_CHARSET: + if (prompt_option_string(option)) { + /* + * No charset conversion available, assume local charset + * to be network charset. + */ + STRCPY(tinrc.mm_local_charset, tinrc.mm_charset); + } + break; +#else +# ifdef NO_LOCALE + case OPT_MM_LOCAL_CHARSET: prompt_option_string(option); - FreeIfNeeded(strip_was_regex.re); - FreeIfNeeded(strip_was_regex.extra); - if (!strlen(tinrc.strip_was_regex)) { -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if (IS_LOCAL_CHARSET("UTF-8")) { -# if (defined(PCRE_MAJOR) && PCRE_MAJOR >= 4) - int i; + /* no locales -> can't guess local charset */ + break; + +# endif /* NO_LOCALE */ +#endif /* !CHARSET_CONVERSION */ + + case OPT_NEWS_HEADERS_TO_DISPLAY: + if (prompt_option_string(option)) { + build_news_headers_array(scopes[0].attribute, TRUE); + } + break; + + case OPT_NEWS_HEADERS_TO_NOT_DISPLAY: + if (prompt_option_string(option)) { + build_news_headers_array(scopes[0].attribute, FALSE); + } + break; + + case OPT_POSTED_ARTICLES_FILE: + if (prompt_option_string(option)) { + char buf[PATH_LEN]; + + strfpath(tinrc.posted_articles_file, buf, sizeof(buf), &CURR_GROUP, TRUE); + STRCPY(tinrc.posted_articles_file, buf); + } + break; + +#ifdef HAVE_COLOR + case OPT_QUOTE_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(quote_regex.re); + FreeIfNeeded(quote_regex.extra); + if (!strlen(tinrc.quote_regex)) + STRCPY(tinrc.quote_regex, DEFAULT_QUOTE_REGEX); + compile_regex(tinrc.quote_regex, "e_regex, PCRE_CASELESS); + changed |= DISPLAY_OPTS; + } + break; + + case OPT_QUOTE_REGEX2: + if (prompt_option_string(option)) { + FreeIfNeeded(quote_regex2.re); + FreeIfNeeded(quote_regex2.extra); + if (!strlen(tinrc.quote_regex2)) + STRCPY(tinrc.quote_regex2, DEFAULT_QUOTE_REGEX2); + compile_regex(tinrc.quote_regex2, "e_regex2, PCRE_CASELESS); + changed |= DISPLAY_OPTS; + } + break; + + case OPT_QUOTE_REGEX3: + if (prompt_option_string(option)) { + FreeIfNeeded(quote_regex3.re); + FreeIfNeeded(quote_regex3.extra); + if (!strlen(tinrc.quote_regex3)) + STRCPY(tinrc.quote_regex3, DEFAULT_QUOTE_REGEX3); + compile_regex(tinrc.quote_regex3, "e_regex3, PCRE_CASELESS); + changed |= DISPLAY_OPTS; + } + break; +#endif /* HAVE_COLOR */ + + case OPT_SLASHES_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(slashes_regex.re); + FreeIfNeeded(slashes_regex.extra); + if (!strlen(tinrc.slashes_regex)) + STRCPY(tinrc.slashes_regex, DEFAULT_SLASHES_REGEX); + compile_regex(tinrc.slashes_regex, &slashes_regex, PCRE_CASELESS); + changed |= DISPLAY_OPTS; + } + break; + + case OPT_STARS_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(stars_regex.re); + FreeIfNeeded(stars_regex.extra); + if (!strlen(tinrc.stars_regex)) + STRCPY(tinrc.stars_regex, DEFAULT_STARS_REGEX); + compile_regex(tinrc.stars_regex, &stars_regex, PCRE_CASELESS); + changed |= DISPLAY_OPTS; + } + break; + + case OPT_STROKES_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(strokes_regex.re); + FreeIfNeeded(strokes_regex.extra); + if (!strlen(tinrc.strokes_regex)) + STRCPY(tinrc.strokes_regex, DEFAULT_STROKES_REGEX); + compile_regex(tinrc.strokes_regex, &strokes_regex, PCRE_CASELESS); + changed |= DISPLAY_OPTS; + } + break; + + case OPT_UNDERSCORES_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(underscores_regex.re); + FreeIfNeeded(underscores_regex.extra); + if (!strlen(tinrc.underscores_regex)) + STRCPY(tinrc.underscores_regex, DEFAULT_UNDERSCORES_REGEX); + compile_regex(tinrc.underscores_regex, &underscores_regex, PCRE_CASELESS); + changed |= DISPLAY_OPTS; + } + break; - pcre_config(PCRE_CONFIG_UTF8, &i); - if (i) + case OPT_STRIP_RE_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(strip_re_regex.re); + FreeIfNeeded(strip_re_regex.extra); + if (!strlen(tinrc.strip_re_regex)) + STRCPY(tinrc.strip_re_regex, DEFAULT_STRIP_RE_REGEX); + compile_regex(tinrc.strip_re_regex, &strip_re_regex, PCRE_ANCHORED); + } + break; + + case OPT_STRIP_WAS_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(strip_was_regex.re); + FreeIfNeeded(strip_was_regex.extra); + if (!strlen(tinrc.strip_was_regex)) { +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + if (IS_LOCAL_CHARSET("UTF-8") && utf8_pcre()) STRCPY(tinrc.strip_was_regex, DEFAULT_U8_STRIP_WAS_REGEX); else -# endif /* PCRE_MAJOR && PCRE_MAJOR >= 4 */ - STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX); - } else #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX); + STRCPY(tinrc.strip_was_regex, DEFAULT_STRIP_WAS_REGEX); + } + compile_regex(tinrc.strip_was_regex, &strip_was_regex, 0); + } + break; + + case OPT_VERBATIM_BEGIN_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(verbatim_begin_regex.re); + FreeIfNeeded(verbatim_begin_regex.extra); + if (!strlen(tinrc.verbatim_begin_regex)) + STRCPY(tinrc.verbatim_begin_regex, DEFAULT_VERBATIM_BEGIN_REGEX); + compile_regex(tinrc.verbatim_begin_regex, &verbatim_begin_regex, PCRE_ANCHORED); + changed |= DISPLAY_OPTS; + } + break; + + case OPT_VERBATIM_END_REGEX: + if (prompt_option_string(option)) { + FreeIfNeeded(verbatim_end_regex.re); + FreeIfNeeded(verbatim_end_regex.extra); + if (!strlen(tinrc.verbatim_end_regex)) + STRCPY(tinrc.verbatim_end_regex, DEFAULT_VERBATIM_END_REGEX); + compile_regex(tinrc.verbatim_end_regex, &verbatim_end_regex, PCRE_ANCHORED); + changed |= DISPLAY_OPTS; } - compile_regex(tinrc.strip_was_regex, &strip_was_regex, 0); break; case OPT_DATE_FORMAT: - prompt_option_string(option); - if (!strlen(tinrc.date_format)) { - STRCPY(tinrc.date_format, DEFAULT_DATE_FORMAT); + if (prompt_option_string(option)) { + if (!strlen(tinrc.date_format)) + STRCPY(tinrc.date_format, DEFAULT_DATE_FORMAT); + } + break; + + case OPT_ATTRIB_DATE_FORMAT: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(date_format); + break; + + case OPT_ATTRIB_EDITOR_FORMAT: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(editor_format); + break; + + case OPT_ATTRIB_FCC: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(fcc); + break; + + case OPT_ATTRIB_FOLLOWUP_TO: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(followup_to); + break; + + case OPT_ATTRIB_FROM: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(from); + break; + +#ifdef HAVE_ISPELL + case OPT_ATTRIB_ISPELL: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(ispell); + break; +#endif /* HAVE_ISPELL */ + + case OPT_ATTRIB_MAILDIR: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(maildir); + break; + + case OPT_ATTRIB_MAILING_LIST: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(mailing_list); + break; + + case OPT_ATTRIB_MIME_TYPES_TO_SAVE: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(mime_types_to_save); + break; + + case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY: + if (prompt_option_string(option)) { + SET_STRING_ATTRIBUTE(news_headers_to_display); + build_news_headers_array(curr_scope->attribute, TRUE); + } + break; + + case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY: + if (prompt_option_string(option)) { + SET_STRING_ATTRIBUTE(news_headers_to_not_display); + build_news_headers_array(curr_scope->attribute, FALSE); } break; + case OPT_ATTRIB_NEWS_QUOTE_FORMAT: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(news_quote_format); + break; + + case OPT_ATTRIB_ORGANIZATION: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(organization); + break; + + case OPT_ATTRIB_QUICK_KILL_SCOPE: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(quick_kill_scope); + break; + + case OPT_ATTRIB_QUICK_SELECT_SCOPE: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(quick_select_scope); + break; + + case OPT_ATTRIB_QUOTE_CHARS: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(quote_chars); + break; + + case OPT_ATTRIB_SAVEDIR: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(savedir); + break; + + case OPT_ATTRIB_SAVEFILE: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(savefile); + break; + + case OPT_ATTRIB_SIGFILE: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(sigfile); + break; + +#ifdef CHARSET_CONVERSION + case OPT_ATTRIB_UNDECLARED_CHARSET: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(undeclared_charset); + break; + +#endif /* CHARSET_CONVERSION */ + case OPT_ATTRIB_X_BODY: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(x_body); + break; + + case OPT_ATTRIB_X_HEADERS: + if (prompt_option_string(option)) + SET_STRING_ATTRIBUTE(x_headers); + break; + default: break; } /* switch (option) */ @@ -1406,55 +2288,60 @@ change_config_file( break; case OPT_REREAD_ACTIVE_FILE_SECS: - prompt_option_num(option); - if (tinrc.reread_active_file_secs < 0) - tinrc.reread_active_file_secs = 0; + if (prompt_option_num(option)) { + if (tinrc.reread_active_file_secs < 0) + tinrc.reread_active_file_secs = 0; + } break; case OPT_RECENT_TIME: - prompt_option_num(option); - if (tinrc.recent_time < 0) - tinrc.recent_time = 0; + if (prompt_option_num(option)) { + if (tinrc.recent_time < 0) + tinrc.recent_time = 0; + } break; case OPT_GROUPNAME_MAX_LENGTH: - prompt_option_num(option); - if (tinrc.groupname_max_length < 0) - tinrc.groupname_max_length = 0; + if (prompt_option_num(option)) { + if (tinrc.groupname_max_length < 0) + tinrc.groupname_max_length = 0; + } break; case OPT_FILTER_DAYS: - prompt_option_num(option); - if (tinrc.filter_days <= 0) - tinrc.filter_days = 1; + if (prompt_option_num(option)) { + if (tinrc.filter_days <= 0) + tinrc.filter_days = 1; + } break; case OPT_SCORE_LIMIT_KILL: case OPT_SCORE_KILL: case OPT_SCORE_LIMIT_SELECT: case OPT_SCORE_SELECT: - prompt_option_num(option); - check_score_defaults(); - if (group != NULL) { - unfilter_articles(); - read_filter_file(filter_file); - if (filter_articles(group)) - make_threads(group, FALSE); + if (prompt_option_num(option)) { + check_score_defaults(); + redraw_screen(option); + changed |= SCORE_OPTS; } - redraw_screen(option); break; case OPT_THREAD_PERC: - prompt_option_num(option); - if (tinrc.thread_perc < 0 || tinrc.thread_perc > 100) - tinrc.thread_perc = THREAD_PERC_DEFAULT; + if (prompt_option_num(option)) { + if (tinrc.thread_perc < 0 || tinrc.thread_perc > 100) + tinrc.thread_perc = THREAD_PERC_DEFAULT; + UPDATE_INT_ATTRIBUTES(thread_perc); + } break; case OPT_WRAP_COLUMN: - prompt_option_num(option); - /* recook if in an article is open */ - if (pgart.raw) - resize_article(TRUE, &pgart); + if (prompt_option_num(option)) + changed |= DISPLAY_OPTS; + break; + + case OPT_ATTRIB_THREAD_PERC: + if (prompt_option_num(option)) + SET_NUM_ATTRIBUTE(thread_perc); break; default: @@ -1494,5 +2381,1034 @@ change_config_file( } /* if (change_option) */ } /* forever */ /* NOTREACHED */ - return ret_code; + return; +} + + +/* + * scopes and attributes menu + */ + +static t_function +scope_left( + void) +{ + return GLOBAL_QUIT; +} + + +static t_function +scope_right( + void) +{ + return SCOPE_SELECT; +} + + +static void +show_scope_page( + void) +{ + int i; + + signal_context = cScope; + currmenu = &scopemenu; + + if (scopemenu.curr < 0) + scopemenu.curr = 0; + + scopemenu.max = num_scope - 1; + + ClearScreen(); + set_first_screen_item(); + center_line(0, TRUE, _(txt_scopes_menu)); + + for (i = scopemenu.first; i < scopemenu.first + NOTESLINES && i < scopemenu.max; ++i) + build_scope_line(i); + + show_mini_help(SCOPE_LEVEL); + + if (scopemenu.max <= 0) { + info_message(_(txt_no_scopes)); + return; + } + + draw_scope_arrow(); +} + + +static void +scope_page( + void) +{ + char key[MAXKEYLEN]; + int i; + t_bool changed = FALSE; + t_function func; + t_menu *oldmenu = NULL; + + if (currmenu) + oldmenu = currmenu; + scopemenu.curr = 0; + clear_note_area(); + show_scope_page(); + set_xclick_off(); + + forever { + switch ((func = handle_keypad(scope_left, scope_right, NULL, scope_keys))) { + case GLOBAL_QUIT: + if (changed) + write_attributes_file(local_attributes_file); + clear_note_area(); + if (oldmenu) + currmenu = oldmenu; + return; + + case DIGIT_1: + case DIGIT_2: + case DIGIT_3: + case DIGIT_4: + case DIGIT_5: + case DIGIT_6: + case DIGIT_7: + case DIGIT_8: + case DIGIT_9: + if (scopemenu.max) + prompt_item_num(func_to_key(func, scope_keys), _(txt_scope_select)); + break; + +#ifndef NO_SHELL_ESCAPE + case GLOBAL_SHELL_ESCAPE: + do_shell_escape(); + break; +#endif /* !NO_SHELL_ESCAPE */ + + case GLOBAL_HELP: + show_help_page(SCOPE_LEVEL, _(txt_scopes_menu_com)); + show_scope_page(); + break; + + case GLOBAL_FIRST_PAGE: + top_of_list(); + break; + + case GLOBAL_LAST_PAGE: + end_of_list(); + break; + + case GLOBAL_REDRAW_SCREEN: + my_retouch(); + set_xclick_off(); + show_scope_page(); + break; + + case GLOBAL_LINE_DOWN: + move_down(); + break; + + case GLOBAL_LINE_UP: + move_up(); + break; + + case GLOBAL_PAGE_DOWN: + page_down(); + break; + + case GLOBAL_PAGE_UP: + page_up(); + break; + + case GLOBAL_SCROLL_DOWN: + scroll_down(); + break; + + case GLOBAL_SCROLL_UP: + scroll_up(); + break; + + case GLOBAL_TOGGLE_HELP_DISPLAY: + toggle_mini_help(SCOPE_LEVEL); + show_scope_page(); + break; + + case SCOPE_ADD: + if ((i = add_new_scope())) { + changed = TRUE; + scopemenu.curr = i; + show_scope_page(); + } + break; + + case SCOPE_DELETE: + if (scopemenu.max) { + if (scopes[scopemenu.curr + 1].global) + info_message(_(txt_scope_operation_not_allowed)); + else if (delete_scope(scopemenu.curr + 1)) { + changed = TRUE; + show_scope_page(); + } + } + break; + + case SCOPE_EDIT_ATTRIBUTES_FILE: + if (changed) + write_attributes_file(local_attributes_file); + if (!invoke_editor(local_attributes_file, attrib_file_offset, NULL)) + break; + free_scopes_and_attributes(); + read_attributes_file(FALSE); + assign_attributes_to_groups(); + changed = FALSE; + scopemenu.curr = 0; + show_scope_page(); + break; + + case SCOPE_MOVE: + if (scopemenu.max > 1) { + if (scopes[scopemenu.curr + 1].global) + info_message(_(txt_scope_operation_not_allowed)); + else if ((i = move_scope(scopemenu.curr + 1))) { + changed = TRUE; + scopemenu.curr = i - 1; + show_scope_page(); + } + } + break; + + case SCOPE_RENAME: + if (scopemenu.max) { + if (scopes[scopemenu.curr + 1].global) + info_message(_(txt_scope_operation_not_allowed)); + else if (rename_scope(&scopes[scopemenu.curr + 1])) { + changed = TRUE; + show_scope_page(); + } + } + break; + + case SCOPE_SELECT: + if (scopemenu.max) { + curr_scope = &scopes[scopemenu.curr + 1]; + config_page(NULL); + if (!curr_scope->global && scope_is_empty()) + do_delete_scope(scopemenu.curr + 1); + curr_scope = NULL; + changed = TRUE; + show_scope_page(); + } + break; + + default: + info_message(_(txt_bad_command), printascii(key, func_to_key(GLOBAL_HELP, scope_keys))); + break; + } + } +} + + +static void +draw_scope_arrow( + void) +{ + draw_arrow_mark(INDEX_TOP + scopemenu.curr - scopemenu.first); + if (scopemenu.curr == scopemenu.max - 1) + info_message(_(txt_end_of_scopes)); +} + + +static void +build_scope_line( + int i) +{ + char *sptr; + int len = cCOLS - 11; + +#ifdef USE_CURSES + /* + * Allocate line buffer + * make it the same size like in !USE_CURSES case to simplify some code + */ + sptr = my_malloc(cCOLS + 2); +#else + sptr = screen[INDEX2SNUM(i)].col; +#endif /* USE_CURSES */ + + snprintf(sptr, cCOLS, " %c %s %-*.*s%s", (scopes[i + 1].global ? '!' : ' '), tin_ltoa(i + 1, 4), len, len, scopes[i + 1].scope, cCRLF); + WriteLine(INDEX2LNUM(i), sptr); + +#ifdef USE_CURSES + free(sptr); +#endif /* USE_CURSES */ +} + + +/* + * add a new scope and return the index + */ +static int +add_new_scope( + void) +{ + char buf[LEN]; + int new_pos = 0; + + if (prompt_default_string(_(txt_scope_enter), buf, sizeof(buf), (char *) NULL, HIST_OTHER)) + new_pos = add_scope(buf); + + return new_pos; +} + + +/* + * returns TRUE if the given scope was deleted + */ +static t_bool +delete_scope( + int curr_pos) +{ + if (prompt_yn(_(txt_scope_delete), FALSE) == 1) { + do_delete_scope(curr_pos); + return TRUE; + } + + return FALSE; +} + + +static void +do_delete_scope( + int curr_pos) +{ + do_move_scope(curr_pos, num_scope - 1); + free_scope(--num_scope); +} + + +/* + * returns TRUE if scope was renamed + */ +static t_bool +rename_scope( + struct t_scope *scope) +{ + char buf[LEN]; + + if (prompt_default_string(_(txt_scope_rename), buf, sizeof(buf), scope->scope, HIST_OTHER)) { + if (buf[0] == '\0') + return FALSE; + FreeIfNeeded(scope->scope); + scope->scope = my_strdup(buf); + return TRUE; + } + + return FALSE; +} + + +/* + * look if an entry with the given scope exists and return the index + */ +static int +find_scope( + const char *scope) +{ + int i; + + if (!scope || !*scope) + return 0; + + for (i = 1; i < num_scope; i++) { + if ((!scopes[i].global && strcasecmp(scope, scopes[i].scope) == 0)) + return i; + } + + return 0; +} + + +/* + * returns the new position of the moved scope or 0 if repositioning + * is not possible + */ +static int +move_scope( + int curr_pos) +{ + char *p; + int new_pos; + + clear_message(); + if ((p = tin_getline(_(txt_scope_new_position), 1, 0, 0, FALSE, HIST_OTHER)) != NULL) + new_pos = atoi(p); + else + new_pos = curr_pos; + clear_message(); + + if (new_pos == curr_pos || new_pos == 0) + return 0; + + if (new_pos >= num_scope) + new_pos = num_scope - 1; + + if (scopes[new_pos].global) { + info_message(_(txt_scope_new_position_is_global)); + return 0; + } + + do_move_scope(curr_pos, new_pos); + + return new_pos; +} + + +/* + * repositions a scope into scopes[] + */ +static void +do_move_scope( + int from, + int to) +{ + struct t_scope tmp; + + if (from == to) + return; + + tmp = scopes[from]; + + if (from > to) { + while (from-- > to) + scopes[from + 1] = scopes[from]; + } else { + while (from++ < to) + scopes[from - 1] = scopes[from]; + } + scopes[to] = tmp; +} + + +/* + * free all group->attribute arrays and all scopes which are + * not marked as global + */ +static void +free_scopes_and_attributes( + void) +{ + int i; + + for_each_group(i) { + if (active[i].attribute && !active[i].attribute->global) { + free(active[i].attribute); + active[i].attribute = (struct t_attribute *) 0; + } + } + + while (num_scope > 1 && !scopes[num_scope - 1].global) + free_scope(--num_scope); +} + + +/* + * returns TRUE if no attribute in curr_scope has state == TRUE + */ +static t_bool +scope_is_empty( + void) +{ + enum option_enum i; + + for (i = 0; i <= last_opt; i++) { + if (option_is_visible(i) && !option_is_title(i) && check_state(i)) + return FALSE; + } + + return TRUE; +} + + +/* + * returns the state of the given attribute + */ +static t_bool +check_state( + enum option_enum option) +{ + switch (option) { + case OPT_ATTRIB_ADD_POSTED_TO_FILTER: + return curr_scope->state->add_posted_to_filter; + case OPT_ATTRIB_ADVERTISING: + return curr_scope->state->advertising; + case OPT_ATTRIB_ALTERNATIVE_HANDLING: + return curr_scope->state->alternative_handling; + case OPT_ATTRIB_ASK_FOR_METAMAIL: + return curr_scope->state->ask_for_metamail; + case OPT_ATTRIB_AUTO_CC_BCC: + return curr_scope->state->auto_cc_bcc; + case OPT_ATTRIB_AUTO_LIST_THREAD: + return curr_scope->state->auto_list_thread; + case OPT_ATTRIB_AUTO_SAVE: + return curr_scope->state->auto_save; + case OPT_ATTRIB_AUTO_SELECT: + return curr_scope->state->auto_select; + case OPT_ATTRIB_BATCH_SAVE: + return curr_scope->state->batch_save; + case OPT_ATTRIB_DATE_FORMAT: + return curr_scope->state->date_format; + case OPT_ATTRIB_DELETE_TMP_FILES: + return curr_scope->state->delete_tmp_files; + case OPT_ATTRIB_EDITOR_FORMAT: + return curr_scope->state->editor_format; + case OPT_ATTRIB_FCC: + return curr_scope->state->fcc; + case OPT_ATTRIB_FOLLOWUP_TO: + return curr_scope->state->followup_to; + case OPT_ATTRIB_FROM: + return curr_scope->state->from; + case OPT_ATTRIB_GROUP_CATCHUP_ON_EXIT: + return curr_scope->state->group_catchup_on_exit; +#ifdef HAVE_ISPELL + case OPT_ATTRIB_ISPELL: + return curr_scope->state->ispell; +#endif /* HAVE_ISPELL */ + case OPT_ATTRIB_MAILDIR: + return curr_scope->state->maildir; + case OPT_ATTRIB_MAIL_8BIT_HEADER: + return curr_scope->state->mail_8bit_header; + case OPT_ATTRIB_MAIL_MIME_ENCODING: + return curr_scope->state->mail_mime_encoding; + case OPT_ATTRIB_MAILING_LIST: + return curr_scope->state->mailing_list; + case OPT_ATTRIB_MARK_IGNORE_TAGS: + return curr_scope->state->mark_ignore_tags; + case OPT_ATTRIB_MARK_SAVED_READ: + return curr_scope->state->mark_saved_read; + case OPT_ATTRIB_MIME_FORWARD: + return curr_scope->state->mime_forward; + case OPT_ATTRIB_MIME_TYPES_TO_SAVE: + return curr_scope->state->mime_types_to_save; + case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY: + return curr_scope->state->news_headers_to_display; + case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY: + return curr_scope->state->news_headers_to_not_display; + case OPT_ATTRIB_NEWS_QUOTE_FORMAT: + return curr_scope->state->news_quote_format; + case OPT_ATTRIB_ORGANIZATION: + return curr_scope->state->organization; + case OPT_ATTRIB_POST_8BIT_HEADER: + return curr_scope->state->post_8bit_header; + case OPT_ATTRIB_POST_MIME_ENCODING: + return curr_scope->state->post_mime_encoding; + case OPT_ATTRIB_POST_PROCESS_VIEW: + return curr_scope->state->post_process_view; + case OPT_ATTRIB_POS_FIRST_UNREAD: + return curr_scope->state->pos_first_unread; +#ifndef DISABLE_PRINTING + case OPT_ATTRIB_PRINT_HEADER: + return curr_scope->state->print_header; +#endif /* !DISABLE_PRINTING */ + case OPT_ATTRIB_PROCESS_ONLY_UNREAD: + return curr_scope->state->process_only_unread; + case OPT_ATTRIB_PROMPT_FOLLOWUPTO: + return curr_scope->state->prompt_followupto; + case OPT_ATTRIB_QUICK_KILL_SCOPE: + return curr_scope->state->quick_kill_scope; + case OPT_ATTRIB_QUICK_KILL_HEADER: + return curr_scope->state->quick_kill_header; + case OPT_ATTRIB_QUICK_KILL_CASE: + return curr_scope->state->quick_kill_case; + case OPT_ATTRIB_QUICK_KILL_EXPIRE: + return curr_scope->state->quick_kill_expire; + case OPT_ATTRIB_QUICK_SELECT_SCOPE: + return curr_scope->state->quick_select_scope; + case OPT_ATTRIB_QUICK_SELECT_HEADER: + return curr_scope->state->quick_select_header; + case OPT_ATTRIB_QUICK_SELECT_CASE: + return curr_scope->state->quick_select_case; + case OPT_ATTRIB_QUICK_SELECT_EXPIRE: + return curr_scope->state->quick_select_expire; + case OPT_ATTRIB_QUOTE_CHARS: + return curr_scope->state->quote_chars; + case OPT_ATTRIB_SAVEDIR: + return curr_scope->state->savedir; + case OPT_ATTRIB_SAVEFILE: + return curr_scope->state->savefile; + case OPT_ATTRIB_SHOW_AUTHOR: + return curr_scope->state->show_author; + case OPT_ATTRIB_SHOW_INFO: + return curr_scope->state->show_info; + case OPT_ATTRIB_SHOW_ONLY_UNREAD_ARTS: + return curr_scope->state->show_only_unread_arts; + case OPT_ATTRIB_SHOW_SIGNATURES: + return curr_scope->state->show_signatures; + case OPT_ATTRIB_SIGDASHES: + return curr_scope->state->sigdashes; + case OPT_ATTRIB_SIGFILE: + return curr_scope->state->sigfile; + case OPT_ATTRIB_SIGNATURE_REPOST: + return curr_scope->state->signature_repost; + case OPT_ATTRIB_START_EDITOR_OFFSET: + return curr_scope->state->start_editor_offset; + case OPT_ATTRIB_THREAD_ARTICLES: + return curr_scope->state->thread_articles; + case OPT_ATTRIB_THREAD_CATCHUP_ON_EXIT: + return curr_scope->state->thread_catchup_on_exit; + case OPT_ATTRIB_THREAD_PERC: + return curr_scope->state->thread_perc; + case OPT_ATTRIB_TRIM_ARTICLE_BODY: + return curr_scope->state->trim_article_body; + case OPT_ATTRIB_TEX2ISO_CONV: + return curr_scope->state->tex2iso_conv; + case OPT_ATTRIB_SORT_THREADS_TYPE: + return curr_scope->state->sort_threads_type; +#ifdef CHARSET_CONVERSION + case OPT_ATTRIB_MM_NETWORK_CHARSET: + return curr_scope->state->mm_network_charset; + case OPT_ATTRIB_UNDECLARED_CHARSET: + return curr_scope->state->undeclared_charset; +#endif /* CHARSET_CONVERSION */ + case OPT_ATTRIB_VERBATIM_HANDLING: + return curr_scope->state->verbatim_handling; + case OPT_ATTRIB_WRAP_ON_NEXT_UNREAD: + return curr_scope->state->wrap_on_next_unread; + case OPT_ATTRIB_SORT_ARTICLE_TYPE: + return curr_scope->state->sort_article_type; + case OPT_ATTRIB_POST_PROCESS_TYPE: + return curr_scope->state->post_process_type; + case OPT_ATTRIB_X_BODY: + return curr_scope->state->x_body; + case OPT_ATTRIB_X_COMMENT_TO: + return curr_scope->state->x_comment_to; + case OPT_ATTRIB_X_HEADERS: + return curr_scope->state->x_headers; + + default: + return FALSE; + } +} + + +/* + * set the state of the given attribute to FALSE and the corresponding + * tinrc.attrib_* to a default value + */ +static void +reset_state( + enum option_enum option) +{ + struct t_scope *default_scope = &scopes[0]; + + switch (option) { + case OPT_ATTRIB_ADD_POSTED_TO_FILTER: + curr_scope->state->add_posted_to_filter = FALSE; + tinrc.attrib_add_posted_to_filter = default_scope->attribute->add_posted_to_filter; + break; + case OPT_ATTRIB_ADVERTISING: + curr_scope->state->advertising = FALSE; + tinrc.attrib_advertising = default_scope->attribute->advertising; + break; + case OPT_ATTRIB_ALTERNATIVE_HANDLING: + curr_scope->state->alternative_handling = FALSE; + tinrc.attrib_alternative_handling = default_scope->attribute->alternative_handling; + break; + case OPT_ATTRIB_ASK_FOR_METAMAIL: + curr_scope->state->ask_for_metamail = FALSE; + tinrc.attrib_ask_for_metamail = default_scope->attribute->ask_for_metamail; + break; + case OPT_ATTRIB_AUTO_CC_BCC: + curr_scope->state->auto_cc_bcc = FALSE; + tinrc.attrib_auto_cc_bcc = default_scope->attribute->auto_cc_bcc; + break; + case OPT_ATTRIB_AUTO_LIST_THREAD: + curr_scope->state->auto_list_thread = FALSE; + tinrc.attrib_auto_list_thread = default_scope->attribute->auto_list_thread; + break; + case OPT_ATTRIB_AUTO_SAVE: + curr_scope->state->auto_save = FALSE; + tinrc.attrib_auto_save = default_scope->attribute->auto_save; + break; + case OPT_ATTRIB_AUTO_SELECT: + curr_scope->state->auto_select = FALSE; + tinrc.attrib_auto_select = default_scope->attribute->auto_select; + break; + case OPT_ATTRIB_BATCH_SAVE: + curr_scope->state->batch_save = FALSE; + tinrc.attrib_batch_save = default_scope->attribute->batch_save; + break; + case OPT_ATTRIB_DATE_FORMAT: + FreeAndNull(curr_scope->attribute->date_format); + curr_scope->state->date_format = FALSE; + snprintf(tinrc.attrib_date_format, sizeof(tinrc.attrib_date_format), "%s", BlankIfNull(default_scope->attribute->date_format)); + break; + case OPT_ATTRIB_DELETE_TMP_FILES: + curr_scope->state->delete_tmp_files = FALSE; + tinrc.attrib_delete_tmp_files = default_scope->attribute->delete_tmp_files; + break; + case OPT_ATTRIB_EDITOR_FORMAT: + FreeAndNull(curr_scope->attribute->editor_format); + curr_scope->state->editor_format = FALSE; + snprintf(tinrc.attrib_editor_format, sizeof(tinrc.attrib_editor_format), "%s", BlankIfNull(default_scope->attribute->editor_format)); + break; + case OPT_ATTRIB_FCC: + FreeAndNull(curr_scope->attribute->fcc); + curr_scope->state->fcc = FALSE; + snprintf(tinrc.attrib_fcc, sizeof(tinrc.attrib_fcc), "%s", BlankIfNull(default_scope->attribute->fcc)); + break; + case OPT_ATTRIB_FOLLOWUP_TO: + FreeAndNull(curr_scope->attribute->followup_to); + curr_scope->state->followup_to = FALSE; + snprintf(tinrc.attrib_followup_to, sizeof(tinrc.attrib_followup_to), "%s", BlankIfNull(default_scope->attribute->followup_to)); + break; + case OPT_ATTRIB_FROM: + FreeAndNull(curr_scope->attribute->from); + curr_scope->state->from = FALSE; + snprintf(tinrc.attrib_from, sizeof(tinrc.attrib_from), "%s", BlankIfNull(default_scope->attribute->from)); + break; + case OPT_ATTRIB_GROUP_CATCHUP_ON_EXIT: + curr_scope->state->group_catchup_on_exit = FALSE; + tinrc.attrib_group_catchup_on_exit = default_scope->attribute->group_catchup_on_exit; + break; +#ifdef HAVE_ISPELL + case OPT_ATTRIB_ISPELL: + FreeAndNull(curr_scope->attribute->ispell); + curr_scope->state->ispell = FALSE; + snprintf(tinrc.attrib_ispell, sizeof(tinrc.attrib_ispell), "%s", BlankIfNull(default_scope->attribute->ispell)); + break; +#endif /* HAVE_ISPELL */ + case OPT_ATTRIB_MAILDIR: + FreeAndNull(curr_scope->attribute->maildir); + curr_scope->state->maildir = FALSE; + snprintf(tinrc.attrib_maildir, sizeof(tinrc.attrib_maildir), "%s", BlankIfNull(default_scope->attribute->maildir)); + break; + case OPT_ATTRIB_MAIL_8BIT_HEADER: + curr_scope->state->mail_8bit_header = FALSE; + tinrc.attrib_mail_8bit_header = default_scope->attribute->mail_8bit_header; + break; + case OPT_ATTRIB_MAIL_MIME_ENCODING: + curr_scope->state->mail_mime_encoding = FALSE; + tinrc.attrib_mail_mime_encoding = default_scope->attribute->mail_mime_encoding; + break; + case OPT_ATTRIB_MAILING_LIST: + FreeAndNull(curr_scope->attribute->mailing_list); + curr_scope->state->mailing_list = FALSE; + snprintf(tinrc.attrib_mailing_list, sizeof(tinrc.attrib_mailing_list), "%s", BlankIfNull(default_scope->attribute->mailing_list)); + break; + case OPT_ATTRIB_MARK_IGNORE_TAGS: + curr_scope->state->mark_ignore_tags = FALSE; + tinrc.attrib_mark_ignore_tags = default_scope->attribute->mark_ignore_tags; + break; + case OPT_ATTRIB_MARK_SAVED_READ: + curr_scope->state->mark_saved_read = FALSE; + tinrc.attrib_mark_saved_read = default_scope->attribute->mark_saved_read; + break; + case OPT_ATTRIB_MIME_FORWARD: + curr_scope->state->mime_forward = FALSE; + tinrc.attrib_mime_forward = default_scope->attribute->mime_forward; + break; + case OPT_ATTRIB_MIME_TYPES_TO_SAVE: + FreeAndNull(curr_scope->attribute->mime_types_to_save); + curr_scope->state->mime_types_to_save = FALSE; + snprintf(tinrc.attrib_mime_types_to_save, sizeof(tinrc.attrib_mime_types_to_save), "%s", BlankIfNull(default_scope->attribute->mime_types_to_save)); + break; + case OPT_ATTRIB_NEWS_HEADERS_TO_DISPLAY: + FreeAndNull(curr_scope->attribute->news_headers_to_display); + build_news_headers_array(curr_scope->attribute, TRUE); + curr_scope->state->news_headers_to_display = FALSE; + snprintf(tinrc.attrib_news_headers_to_display, sizeof(tinrc.attrib_news_headers_to_display), "%s", BlankIfNull(default_scope->attribute->news_headers_to_display)); + break; + case OPT_ATTRIB_NEWS_HEADERS_TO_NOT_DISPLAY: + FreeAndNull(curr_scope->attribute->news_headers_to_not_display); + build_news_headers_array(curr_scope->attribute, FALSE); + curr_scope->state->news_headers_to_not_display = FALSE; + snprintf(tinrc.attrib_news_headers_to_not_display, sizeof(tinrc.attrib_news_headers_to_not_display), "%s", BlankIfNull(default_scope->attribute->news_headers_to_not_display)); + break; + case OPT_ATTRIB_QUICK_KILL_SCOPE: + FreeAndNull(curr_scope->attribute->quick_kill_scope); + curr_scope->state->quick_kill_scope = FALSE; + snprintf(tinrc.attrib_quick_kill_scope, sizeof(tinrc.attrib_quick_kill_scope), "%s", BlankIfNull(default_scope->attribute->quick_kill_scope)); + break; + case OPT_ATTRIB_QUICK_KILL_HEADER: + curr_scope->state->quick_kill_header = FALSE; + tinrc.attrib_quick_kill_header = default_scope->attribute->quick_kill_header; + break; + case OPT_ATTRIB_QUICK_KILL_CASE: + curr_scope->state->quick_kill_case = FALSE; + tinrc.attrib_quick_kill_case = default_scope->attribute->quick_kill_case; + break; + case OPT_ATTRIB_QUICK_KILL_EXPIRE: + curr_scope->state->quick_kill_expire = FALSE; + tinrc.attrib_quick_kill_expire = default_scope->attribute->quick_kill_expire; + break; + case OPT_ATTRIB_QUICK_SELECT_SCOPE: + FreeAndNull(curr_scope->attribute->quick_select_scope); + curr_scope->state->quick_select_scope = FALSE; + snprintf(tinrc.attrib_quick_select_scope, sizeof(tinrc.attrib_quick_select_scope), "%s", BlankIfNull(default_scope->attribute->quick_select_scope)); + break; + case OPT_ATTRIB_QUICK_SELECT_HEADER: + curr_scope->state->quick_select_header = FALSE; + tinrc.attrib_quick_select_header = default_scope->attribute->quick_select_header; + break; + case OPT_ATTRIB_QUICK_SELECT_CASE: + curr_scope->state->quick_select_case = FALSE; + tinrc.attrib_quick_select_case = default_scope->attribute->quick_select_case; + break; + case OPT_ATTRIB_QUICK_SELECT_EXPIRE: + curr_scope->state->quick_select_expire = FALSE; + tinrc.attrib_quick_select_expire = default_scope->attribute->quick_select_expire; + break; + case OPT_ATTRIB_NEWS_QUOTE_FORMAT: + FreeAndNull(curr_scope->attribute->news_quote_format); + curr_scope->state->news_quote_format = FALSE; + snprintf(tinrc.attrib_news_quote_format, sizeof(tinrc.attrib_news_quote_format), "%s", BlankIfNull(default_scope->attribute->news_quote_format)); + break; + case OPT_ATTRIB_ORGANIZATION: + FreeAndNull(curr_scope->attribute->organization); + curr_scope->state->organization = FALSE; + snprintf(tinrc.attrib_organization, sizeof(tinrc.attrib_organization), "%s", BlankIfNull(default_scope->attribute->organization)); + break; + case OPT_ATTRIB_POST_8BIT_HEADER: + curr_scope->state->post_8bit_header = FALSE; + tinrc.attrib_post_8bit_header = default_scope->attribute->post_8bit_header; + break; + case OPT_ATTRIB_POST_MIME_ENCODING: + curr_scope->state->post_mime_encoding = FALSE; + tinrc.attrib_post_mime_encoding = default_scope->attribute->post_mime_encoding; + break; + case OPT_ATTRIB_POST_PROCESS_VIEW: + curr_scope->state->post_process_view = FALSE; + tinrc.attrib_post_process_view = default_scope->attribute->post_process_view; + break; + case OPT_ATTRIB_POS_FIRST_UNREAD: + curr_scope->state->pos_first_unread = FALSE; + tinrc.attrib_pos_first_unread = default_scope->attribute->pos_first_unread; + break; +#ifndef DISABLE_PRINTING + case OPT_ATTRIB_PRINT_HEADER: + curr_scope->state->print_header = FALSE; + tinrc.attrib_print_header = default_scope->attribute->print_header; + break; +#endif /* !DISABLE_PRINTING */ + case OPT_ATTRIB_PROCESS_ONLY_UNREAD: + curr_scope->state->process_only_unread = FALSE; + tinrc.attrib_process_only_unread = default_scope->attribute->process_only_unread; + break; + case OPT_ATTRIB_PROMPT_FOLLOWUPTO: + curr_scope->state->prompt_followupto = FALSE; + tinrc.attrib_prompt_followupto = default_scope->attribute->prompt_followupto; + break; + case OPT_ATTRIB_QUOTE_CHARS: + FreeAndNull(curr_scope->attribute->quote_chars); + curr_scope->state->quote_chars = FALSE; + snprintf(tinrc.attrib_quote_chars, sizeof(tinrc.attrib_quote_chars), "%s", BlankIfNull(default_scope->attribute->quote_chars)); + break; + case OPT_ATTRIB_SAVEDIR: + FreeAndNull(curr_scope->attribute->savedir); + curr_scope->state->savedir = FALSE; + snprintf(tinrc.attrib_savedir, sizeof(tinrc.attrib_savedir), "%s", BlankIfNull(default_scope->attribute->savedir)); + break; + case OPT_ATTRIB_SAVEFILE: + FreeAndNull(curr_scope->attribute->savefile); + curr_scope->state->savefile = FALSE; + snprintf(tinrc.attrib_savefile, sizeof(tinrc.attrib_savefile), "%s", BlankIfNull(default_scope->attribute->savefile)); + break; + case OPT_ATTRIB_SHOW_AUTHOR: + curr_scope->state->show_author = FALSE; + tinrc.attrib_show_author = default_scope->attribute->show_author; + break; + case OPT_ATTRIB_SHOW_INFO: + curr_scope->state->show_info = FALSE; + tinrc.attrib_show_info = default_scope->attribute->show_info; + break; + case OPT_ATTRIB_SHOW_ONLY_UNREAD_ARTS: + curr_scope->state->show_only_unread_arts = FALSE; + tinrc.attrib_show_only_unread_arts = default_scope->attribute->show_only_unread_arts; + break; + case OPT_ATTRIB_SHOW_SIGNATURES: + curr_scope->state->show_signatures = FALSE; + tinrc.attrib_show_signatures = default_scope->attribute->show_signatures; + break; + case OPT_ATTRIB_SIGDASHES: + curr_scope->state->sigdashes = FALSE; + tinrc.attrib_sigdashes = default_scope->attribute->sigdashes; + break; + case OPT_ATTRIB_SIGFILE: + FreeAndNull(curr_scope->attribute->sigfile); + curr_scope->state->sigfile = FALSE; + snprintf(tinrc.attrib_sigfile, sizeof(tinrc.attrib_sigfile), "%s", BlankIfNull(default_scope->attribute->sigfile)); + break; + case OPT_ATTRIB_SIGNATURE_REPOST: + curr_scope->state->signature_repost = FALSE; + tinrc.attrib_signature_repost = default_scope->attribute->signature_repost; + break; + case OPT_ATTRIB_START_EDITOR_OFFSET: + curr_scope->state->start_editor_offset = FALSE; + tinrc.attrib_start_editor_offset = default_scope->attribute->start_editor_offset; + break; + case OPT_ATTRIB_THREAD_ARTICLES: + curr_scope->state->thread_articles = FALSE; + tinrc.attrib_thread_articles = default_scope->attribute->thread_articles; + break; + case OPT_ATTRIB_THREAD_CATCHUP_ON_EXIT: + curr_scope->state->thread_catchup_on_exit = FALSE; + tinrc.attrib_thread_catchup_on_exit = default_scope->attribute->thread_catchup_on_exit; + break; + case OPT_ATTRIB_THREAD_PERC: + curr_scope->state->thread_perc = FALSE; + tinrc.attrib_thread_perc = default_scope->attribute->thread_perc; + break; + case OPT_ATTRIB_TRIM_ARTICLE_BODY: + curr_scope->state->trim_article_body = FALSE; + tinrc.attrib_trim_article_body = default_scope->attribute->trim_article_body; + break; + case OPT_ATTRIB_TEX2ISO_CONV: + curr_scope->state->tex2iso_conv = FALSE; + tinrc.attrib_tex2iso_conv = default_scope->attribute->tex2iso_conv; + break; + case OPT_ATTRIB_SORT_THREADS_TYPE: + curr_scope->state->sort_threads_type = FALSE; + tinrc.attrib_sort_threads_type = default_scope->attribute->sort_threads_type; + break; +#ifdef CHARSET_CONVERSION + case OPT_ATTRIB_MM_NETWORK_CHARSET: + curr_scope->state->mm_network_charset = FALSE; + tinrc.attrib_mm_network_charset = default_scope->attribute->mm_network_charset; + break; + case OPT_ATTRIB_UNDECLARED_CHARSET: + FreeAndNull(curr_scope->attribute->undeclared_charset); + curr_scope->state->undeclared_charset = FALSE; + snprintf(tinrc.attrib_undeclared_charset, sizeof(tinrc.attrib_undeclared_charset), "%s", BlankIfNull(default_scope->attribute->undeclared_charset)); + break; +#endif /* CHARSET_CONVERSION */ + case OPT_ATTRIB_VERBATIM_HANDLING: + curr_scope->state->verbatim_handling = FALSE; + tinrc.attrib_verbatim_handling = default_scope->attribute->verbatim_handling; + break; + case OPT_ATTRIB_WRAP_ON_NEXT_UNREAD: + curr_scope->state->wrap_on_next_unread = FALSE; + tinrc.attrib_wrap_on_next_unread = default_scope->attribute->wrap_on_next_unread; + break; + case OPT_ATTRIB_SORT_ARTICLE_TYPE: + curr_scope->state->sort_article_type = FALSE; + tinrc.attrib_sort_article_type = default_scope->attribute->sort_article_type; + break; + case OPT_ATTRIB_POST_PROCESS_TYPE: + curr_scope->state->post_process_type = FALSE; + tinrc.attrib_post_process_type = default_scope->attribute->post_process_type; + break; + case OPT_ATTRIB_X_BODY: + FreeAndNull(curr_scope->attribute->x_body); + curr_scope->state->x_body = FALSE; + snprintf(tinrc.attrib_x_body, sizeof(tinrc.attrib_x_body), "%s", BlankIfNull(default_scope->attribute->x_body)); + break; + case OPT_ATTRIB_X_COMMENT_TO: + curr_scope->state->x_comment_to = FALSE; + tinrc.attrib_x_comment_to = default_scope->attribute->x_comment_to; + break; + case OPT_ATTRIB_X_HEADERS: + FreeAndNull(curr_scope->attribute->x_headers); + curr_scope->state->x_headers = FALSE; + snprintf(tinrc.attrib_x_headers, sizeof(tinrc.attrib_x_headers), "%s", BlankIfNull(default_scope->attribute->x_headers)); + break; + + default: + break; + } +} + + +#define INITIALIZE_STRING_ATTRIBUTE(option) do { \ + if (curr_scope->state->option) \ + snprintf(CAO(tinrc.attrib_, option), sizeof(CAO(tinrc.attrib_, option)), "%s", curr_scope->attribute->option); \ + else \ + snprintf(CAO(tinrc.attrib_, option), sizeof(CAO(tinrc.attrib_, option)), "%s", BlankIfNull(default_scope->attribute->option)); \ + } while (0) +#define INITIALIZE_NUM_ATTRIBUTE(option) do { \ + if (curr_scope->state->option) \ + CAO(tinrc.attrib_, option) = curr_scope->attribute->option; \ + else \ + CAO(tinrc.attrib_, option) = default_scope->attribute->option; \ + } while (0) + +static void +initialize_attributes( + void) +{ + struct t_scope *default_scope = &scopes[0]; + + INITIALIZE_NUM_ATTRIBUTE(add_posted_to_filter); + INITIALIZE_NUM_ATTRIBUTE(advertising); + INITIALIZE_NUM_ATTRIBUTE(alternative_handling); + INITIALIZE_NUM_ATTRIBUTE(ask_for_metamail); + INITIALIZE_NUM_ATTRIBUTE(auto_cc_bcc); + INITIALIZE_NUM_ATTRIBUTE(auto_list_thread); + INITIALIZE_NUM_ATTRIBUTE(auto_save); + INITIALIZE_NUM_ATTRIBUTE(auto_select); + INITIALIZE_NUM_ATTRIBUTE(batch_save); + INITIALIZE_NUM_ATTRIBUTE(delete_tmp_files); + INITIALIZE_NUM_ATTRIBUTE(group_catchup_on_exit); + INITIALIZE_NUM_ATTRIBUTE(mail_8bit_header); + INITIALIZE_NUM_ATTRIBUTE(mail_mime_encoding); + INITIALIZE_NUM_ATTRIBUTE(mark_ignore_tags); + INITIALIZE_NUM_ATTRIBUTE(mark_saved_read); + INITIALIZE_NUM_ATTRIBUTE(mime_forward); + INITIALIZE_NUM_ATTRIBUTE(pos_first_unread); + INITIALIZE_NUM_ATTRIBUTE(post_8bit_header); + INITIALIZE_NUM_ATTRIBUTE(post_mime_encoding); + INITIALIZE_NUM_ATTRIBUTE(post_process_view); +#ifndef DISABLE_PRINTING + INITIALIZE_NUM_ATTRIBUTE(print_header); +#endif /* !DISABLE_PRINTING */ + INITIALIZE_NUM_ATTRIBUTE(process_only_unread); + INITIALIZE_NUM_ATTRIBUTE(prompt_followupto); + INITIALIZE_NUM_ATTRIBUTE(quick_kill_header); + INITIALIZE_NUM_ATTRIBUTE(quick_kill_case); + INITIALIZE_NUM_ATTRIBUTE(quick_kill_expire); + INITIALIZE_NUM_ATTRIBUTE(quick_select_header); + INITIALIZE_NUM_ATTRIBUTE(quick_select_case); + INITIALIZE_NUM_ATTRIBUTE(quick_select_expire); + INITIALIZE_NUM_ATTRIBUTE(show_author); + INITIALIZE_NUM_ATTRIBUTE(show_info); + INITIALIZE_NUM_ATTRIBUTE(show_only_unread_arts); + INITIALIZE_NUM_ATTRIBUTE(show_signatures); + INITIALIZE_NUM_ATTRIBUTE(sigdashes); + INITIALIZE_NUM_ATTRIBUTE(signature_repost); + INITIALIZE_NUM_ATTRIBUTE(start_editor_offset); + INITIALIZE_NUM_ATTRIBUTE(thread_articles); + INITIALIZE_NUM_ATTRIBUTE(thread_catchup_on_exit); + INITIALIZE_NUM_ATTRIBUTE(thread_perc); + INITIALIZE_NUM_ATTRIBUTE(trim_article_body); + INITIALIZE_NUM_ATTRIBUTE(tex2iso_conv); + INITIALIZE_NUM_ATTRIBUTE(verbatim_handling); + INITIALIZE_NUM_ATTRIBUTE(wrap_on_next_unread); + INITIALIZE_NUM_ATTRIBUTE(sort_article_type); + INITIALIZE_NUM_ATTRIBUTE(sort_threads_type); + INITIALIZE_NUM_ATTRIBUTE(post_process_type); + INITIALIZE_NUM_ATTRIBUTE(x_comment_to); + INITIALIZE_STRING_ATTRIBUTE(date_format); + INITIALIZE_STRING_ATTRIBUTE(editor_format); + INITIALIZE_STRING_ATTRIBUTE(fcc); + INITIALIZE_STRING_ATTRIBUTE(followup_to); + INITIALIZE_STRING_ATTRIBUTE(from); +#ifdef HAVE_ISPELL + INITIALIZE_STRING_ATTRIBUTE(ispell); +#endif /* HAVE_ISPELL */ + INITIALIZE_STRING_ATTRIBUTE(maildir); + INITIALIZE_STRING_ATTRIBUTE(mailing_list); + INITIALIZE_STRING_ATTRIBUTE(mime_types_to_save); + INITIALIZE_STRING_ATTRIBUTE(news_headers_to_display); + INITIALIZE_STRING_ATTRIBUTE(news_headers_to_not_display); + INITIALIZE_STRING_ATTRIBUTE(news_quote_format); + INITIALIZE_STRING_ATTRIBUTE(organization); + INITIALIZE_STRING_ATTRIBUTE(quick_kill_scope); + INITIALIZE_STRING_ATTRIBUTE(quick_select_scope); + INITIALIZE_STRING_ATTRIBUTE(quote_chars); + INITIALIZE_STRING_ATTRIBUTE(savedir); + INITIALIZE_STRING_ATTRIBUTE(savefile); + INITIALIZE_STRING_ATTRIBUTE(sigfile); +#ifdef CHARSET_CONVERSION + INITIALIZE_NUM_ATTRIBUTE(mm_network_charset); + INITIALIZE_STRING_ATTRIBUTE(undeclared_charset); +#endif /* CHARSET_CONVERSION */ + INITIALIZE_STRING_ATTRIBUTE(x_body); + INITIALIZE_STRING_ATTRIBUTE(x_headers); } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/page.c tin-2.0.0/src/page.c --- tin-1.8.3/src/page.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/page.c 2011-05-10 15:46:13.408057217 +0200 @@ -3,10 +3,10 @@ * Module : page.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-10-19 + * Updated : 2011-04-17 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,13 +42,14 @@ # include "tcurses.h" #endif /* !TCURSES_H */ - +#if 0 #if defined(HAVE_IDNA_H) && !defined(_IDNA_H) # include #endif /* HAVE_IDNA_H && !_IDNA_H */ #if defined(HAVE_STRINGPREP_H) && !defined(_STRINGPREP_H) # include -#endif /* HAVE_STRINGPREP_H & !_STRINGPREP_H */ +#endif /* HAVE_STRINGPREP_H && !_STRINGPREP_H */ +#endif /* 0 */ /* * PAGE_HEADER is the size in lines of the article page header @@ -62,6 +63,8 @@ static FILE *note_fp; /* active stream static int artlines; /* active # of lines in pager */ static t_lineinfo *artline; /* active 'lineinfo' data */ +static t_url *url_list; + t_openartinfo pgart = /* Global context of article open in the pager */ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, FALSE, 0 }, @@ -72,6 +75,8 @@ t_openartinfo pgart = /* Global context int last_resp; /* previous & current article # in arts[] for '-' command */ int this_resp; +size_t tabwidth = 8; + static struct t_header *note_h = &pgart.hdr; /* Easy access to article headers */ static FILE *info_file; @@ -81,39 +86,49 @@ static int hide_uue; /* set when uuenc static int num_info_lines; static int reveal_ctrl_l_lines; /* number of lines (from top) with de-activated ^L */ static int rotate; /* 0=normal, 13=rot13 decode */ -static int tabwidth = 8; static int scroll_region_top; /* first screen line for displayed message */ static int search_line; /* Line to commence next search from */ static t_lineinfo *infoline = (t_lineinfo *) 0; -static t_bool show_all_headers; /* CTRL-H with headers specified */ +static t_bool show_all_headers; /* all headers <-> headers in news_headers_to[_not]_display */ +static t_bool show_raw_article; /* CTRL-H raw <-> cooked article */ static t_bool reveal_ctrl_l; /* set when ^L hiding is off */ /* * Local prototypes */ +static int build_url_list(void); static int load_article(int new_respnum, struct t_group *group); static int prompt_response(int ch, int curr_respnum); static int scroll_page(int dir); static t_bool deactivate_next_ctrl_l(void); static t_bool activate_last_ctrl_l(void); +static t_bool process_url(int n); +static t_bool url_page(void); static t_function page_left(void); static t_function page_right(void); static t_function page_mouse_action(t_function (*left_action) (void), t_function (*right_action) (void)); +static t_function url_left(void); +static t_function url_right(void); +static void build_url_line(int i); static void draw_page_header(const char *group); +static void draw_url_arrow(void); +static void free_url_list(void); static void preprocess_info_message(FILE *info_fh); static void print_message_page(FILE *file, t_lineinfo *messageline, size_t messagelines, size_t base_line, size_t begin, size_t end, int help_level); static void process_search(int *lcurr_line, size_t message_lines, size_t screen_lines, int help_level); -static void process_url(void); +static void show_url_page(void); static void invoke_metamail(FILE *fp); +static t_menu urlmenu = { 0, 0, 0, show_url_page, draw_url_arrow, build_url_line }; + #ifdef XFACE_ABLE # define XFACE_SHOW() if (tinrc.use_slrnface) \ slrnface_show_xface() # define XFACE_CLEAR() if (tinrc.use_slrnface) \ slrnface_clear_xface() # define XFACE_SUPPRESS() if (tinrc.use_slrnface) \ - slrnface_suppress_xface() + slrnface_suppress_xface() #else # define XFACE_SHOW() /*nothing*/ # define XFACE_CLEAR() /*nothing*/ @@ -299,16 +314,13 @@ show_page( { char buf[LEN]; char key[MAXKEYLEN]; - int i, n = 0; - int filter_state = NO_FILTERING; - int old_sort_art_type = tinrc.sort_article_type; + int i, j, n = 0; int art_type = GROUP_TYPE_NEWS; + long old_artnum = 0L; t_bool mouse_click_on = TRUE; t_bool repeat_search; t_function func; - filtered_articles = FALSE; /* used in thread level */ - if (group->attribute->mailing_list != NULL) art_type = GROUP_TYPE_MAIL; @@ -325,8 +337,6 @@ show_page( if (srch_lineno != -1) process_search(&curr_line, artlines, ARTLINES, PAGE_LEVEL); - resize_article(TRUE, &pgart); - forever { if ((func = handle_keypad(page_left, page_right, page_mouse_action, page_keys)) == GLOBAL_SEARCH_REPEAT) { func = last_search; @@ -335,10 +345,9 @@ show_page( repeat_search = FALSE; switch (func) { - case GLOBAL_ABORT: /* Abort */ + case GLOBAL_ABORT: /* Abort */ break; - case DIGIT_0: case DIGIT_1: case DIGIT_2: case DIGIT_3: @@ -382,7 +391,7 @@ show_page( if (curr_line == 0) info_message(_(txt_begin_of_art)); else { - curr_line -= (tinrc.scroll_lines == -2) ? ARTLINES / 2 : ARTLINES; + curr_line -= ((tinrc.scroll_lines == -2) ? ARTLINES / 2 : ARTLINES); draw_page(group->name, 0); } } @@ -390,8 +399,7 @@ show_page( case GLOBAL_PAGE_DOWN: /* page down or next response */ case PAGE_NEXT_UNREAD: - case PAGE_PAGE_DOWN3: - if (!((func == PAGE_NEXT_UNREAD) && tinrc.tab_goto_next_unread) && deactivate_next_ctrl_l()) + if (!((func == PAGE_NEXT_UNREAD) && (tinrc.goto_next_unread & GOTO_NEXT_UNREAD_TAB)) && deactivate_next_ctrl_l()) draw_page(group->name, 0); else { if (curr_line + ARTLINES >= artlines) { /* End is already on screen */ @@ -400,12 +408,7 @@ show_page( goto page_goto_next_unread; case GLOBAL_PAGE_DOWN: - if (tinrc.pgdn_goto_next) - goto page_goto_next_unread; - break; - - case PAGE_PAGE_DOWN3: /* */ - if (tinrc.space_goto_next_unread) + if (tinrc.goto_next_unread & GOTO_NEXT_UNREAD_PGDN) goto page_goto_next_unread; break; @@ -414,10 +417,10 @@ show_page( } info_message(_(txt_end_of_art)); } else { - if ((func == PAGE_NEXT_UNREAD) && tinrc.tab_goto_next_unread) + if ((func == PAGE_NEXT_UNREAD) && (tinrc.goto_next_unread & GOTO_NEXT_UNREAD_TAB)) goto page_goto_next_unread; - curr_line += (tinrc.scroll_lines == -2) ? ARTLINES / 2 : ARTLINES; + curr_line += ((tinrc.scroll_lines == -2) ? ARTLINES / 2 : ARTLINES); if (tinrc.scroll_lines == -1) /* formerly show_last_line_prev_page */ curr_line--; @@ -530,47 +533,54 @@ page_goto_next_unread: case GLOBAL_PIPE: /* pipe article/thread/tagged arts to command */ XFACE_SUPPRESS(); - feed_articles(FEED_PIPE, PAGE_LEVEL, group, this_resp); + feed_articles(FEED_PIPE, PAGE_LEVEL, NOT_ASSIGNED, group, this_resp); XFACE_SHOW(); break; case PAGE_MAIL: /* mail article/thread/tagged articles to somebody */ XFACE_SUPPRESS(); - feed_articles(FEED_MAIL, PAGE_LEVEL, group, this_resp); + feed_articles(FEED_MAIL, PAGE_LEVEL, NOT_ASSIGNED, group, this_resp); XFACE_SHOW(); break; #ifndef DISABLE_PRINTING case GLOBAL_PRINT: /* output art/thread/tagged arts to printer */ XFACE_SUPPRESS(); - feed_articles(FEED_PRINT, PAGE_LEVEL, group, this_resp); + feed_articles(FEED_PRINT, PAGE_LEVEL, NOT_ASSIGNED, group, this_resp); XFACE_SHOW(); break; #endif /* !DISABLE_PRINTING */ case PAGE_REPOST: /* repost current article */ - XFACE_SUPPRESS(); - feed_articles(FEED_REPOST, PAGE_LEVEL, group, this_resp); - XFACE_SHOW(); + if (can_post) { + XFACE_SUPPRESS(); + feed_articles(FEED_REPOST, PAGE_LEVEL, NOT_ASSIGNED, group, this_resp); + XFACE_SHOW(); + } else + info_message(_(txt_cannot_post)); break; case PAGE_SAVE: /* save article/thread/tagged articles */ XFACE_SUPPRESS(); - feed_articles(FEED_SAVE, PAGE_LEVEL, group, this_resp); + feed_articles(FEED_SAVE, PAGE_LEVEL, NOT_ASSIGNED, group, this_resp); XFACE_SHOW(); break; case PAGE_AUTOSAVE: /* Auto-save articles without prompting */ if (grpmenu.curr >= 0) { XFACE_SUPPRESS(); - feed_articles(FEED_AUTOSAVE, PAGE_LEVEL, group, (int) base[grpmenu.curr]); + feed_articles(FEED_AUTOSAVE, PAGE_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); XFACE_SHOW(); } break; + case GLOBAL_SEARCH_REPEAT: + info_message(_(txt_no_prev_search)); + break; + case GLOBAL_SEARCH_SUBJECT_FORWARD: /* search in article */ case GLOBAL_SEARCH_SUBJECT_BACKWARD: - if ((i = search_article((func == GLOBAL_SEARCH_SUBJECT_FORWARD), repeat_search, search_line, artlines, artline, reveal_ctrl_l_lines, note_fp)) == -1) + if (search_article((func == GLOBAL_SEARCH_SUBJECT_FORWARD), repeat_search, search_line, artlines, artline, reveal_ctrl_l_lines, note_fp) == -1) break; if (func == GLOBAL_SEARCH_SUBJECT_BACKWARD && !reveal_ctrl_l) { @@ -632,7 +642,15 @@ page_goto_next_unread: break; #endif /* HAVE_PGP_GPG */ - case PAGE_TOGGLE_HEADERS: /* toggle display of whole 'raw' article */ + case PAGE_TOGGLE_HEADERS: /* toggle display of all headers */ + XFACE_CLEAR(); + show_all_headers = bool_not(show_all_headers); + resize_article(TRUE, &pgart); /* Also recooks it.. */ + curr_line = 0; + draw_page(group->name, 0); + break; + + case PAGE_TOGGLE_RAW: /* toggle display of whole 'raw' article */ XFACE_CLEAR(); toggle_raw(group); break; @@ -681,30 +699,46 @@ page_goto_next_unread: case GLOBAL_QUICK_FILTER_SELECT: /* quickly auto-select article */ case GLOBAL_QUICK_FILTER_KILL: /* quickly kill article */ - if ((filtered_articles = quick_filter(func, group, &arts[this_resp]))) - goto return_to_index; - - draw_page(group->name, 0); + if (quick_filter(func, group, &arts[this_resp])) { + old_artnum = arts[this_resp].artnum; + unfilter_articles(group); + filter_articles(group); + make_threads(group, FALSE); + if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) /* We have lost the thread */ + return GRP_KILLED; + this_resp = n; + draw_page(group->name, 0); + info_message((func == GLOBAL_QUICK_FILTER_KILL) ? _(txt_info_add_kill) : _(txt_info_add_select)); + } break; case GLOBAL_MENU_FILTER_SELECT: /* auto-select article menu */ case GLOBAL_MENU_FILTER_KILL: /* kill article menu */ XFACE_CLEAR(); if (filter_menu(func, group, &arts[this_resp])) { - if ((filtered_articles = filter_articles(group))) - goto return_to_index; + old_artnum = arts[this_resp].artnum; + unfilter_articles(group); + filter_articles(group); + make_threads(group, FALSE); + if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) /* We have lost the thread */ + return GRP_KILLED; + this_resp = n; } draw_page(group->name, 0); break; case GLOBAL_EDIT_FILTER: XFACE_CLEAR(); - if (!invoke_editor(filter_file, FILTER_FILE_OFFSET)) - break; - unfilter_articles(); - (void) read_filter_file(filter_file); - if ((filtered_articles = filter_articles(group))) - goto return_to_index; + if (invoke_editor(filter_file, filter_file_offset, NULL)) { + old_artnum = arts[this_resp].artnum; + unfilter_articles(group); + (void) read_filter_file(filter_file); + filter_articles(group); + make_threads(group, FALSE); + if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) /* We have lost the thread */ + return GRP_KILLED; + this_resp = n; + } draw_page(group->name, 0); break; @@ -731,12 +765,10 @@ page_goto_next_unread: case CATCHUP: /* catchup - mark read, goto next */ case CATCHUP_NEXT_UNREAD: /* goto next unread */ - /* - * TODO: if (group->attribute->thread_arts == THREAD_NONE) - * snprintf(buf, sizeof(buf), _("Mark article as read%s?"), (func == CATCHUP_NEXT_UNREAD) ? _(" and enter next unread article") : ""); - * else - */ - snprintf(buf, sizeof(buf), _(txt_mark_thread_read), (func == CATCHUP_NEXT_UNREAD) ? _(txt_enter_next_thread) : ""); + if (group->attribute->thread_articles == THREAD_NONE) + snprintf(buf, sizeof(buf), _(txt_mark_art_read), (func == CATCHUP_NEXT_UNREAD) ? _(txt_enter_next_unread_art) : ""); + else + snprintf(buf, sizeof(buf), _(txt_mark_thread_read), (func == CATCHUP_NEXT_UNREAD) ? _(txt_enter_next_thread) : ""); if ((!TINRC_CONFIRM_ACTION) || prompt_yn(buf, TRUE) == 1) { thd_mark_read(group, base[which_thread(this_resp)]); XFACE_CLEAR(); @@ -746,7 +778,7 @@ page_goto_next_unread: case MARK_THREAD_UNREAD: thd_mark_unread(group, base[which_thread(this_resp)]); - if (group->attribute->thread_arts != THREAD_NONE) + if (group->attribute->thread_articles != THREAD_NONE) info_message(_(txt_marked_as_unread), _(txt_thread_upper)); else info_message(_(txt_marked_as_unread), _(txt_article_upper)); @@ -779,7 +811,7 @@ page_goto_next_unread: XFACE_CLEAR(); (void) post_response(group->name, this_resp, (func == PAGE_FOLLOWUP_QUOTE || func == PAGE_FOLLOWUP_QUOTE_HEADERS) ? TRUE : FALSE, - func == PAGE_FOLLOWUP_QUOTE_HEADERS ? TRUE : FALSE, show_all_headers); + func == PAGE_FOLLOWUP_QUOTE_HEADERS ? TRUE : FALSE, show_raw_article); draw_page(group->name, 0); break; @@ -797,21 +829,10 @@ page_goto_next_unread: case GLOBAL_QUIT: /* return to index page */ return_to_index: XFACE_CLEAR(); - if (filter_state == NO_FILTERING && tinrc.sort_article_type != old_sort_art_type) - make_threads(group, TRUE); - i = which_thread(this_resp); if (threadnum) *threadnum = which_response(this_resp); - if (filter_state == FILTERING || filtered_articles) { - int old_top = top_art; - long old_artnum = arts[this_resp].artnum; - - filter_articles(group); - make_threads(group, FALSE); - i = find_new_pos(old_top, old_artnum, i); - } return i; case GLOBAL_TOGGLE_INVERSE_VIDEO: /* toggle inverse video */ @@ -836,8 +857,13 @@ return_to_index: case GLOBAL_OPTION_MENU: /* option menu */ XFACE_CLEAR(); - if (change_config_file(group) == FILTERING) - filter_state = FILTERING; + old_artnum = arts[this_resp].artnum; + config_page(group->name); + if ((this_resp = find_artnum(old_artnum)) == -1 || which_thread(this_resp) == -1) { /* We have lost the thread */ + pos_first_unread_thread(); + return GRP_EXIT; + } + fixup_thread(this_resp, FALSE); draw_page(group->name, 0); break; @@ -891,7 +917,7 @@ return_to_index: case PAGE_REPLY_QUOTE_HEADERS: case PAGE_REPLY: XFACE_CLEAR(); - mail_to_author(group->name, this_resp, (func == PAGE_REPLY_QUOTE || func == PAGE_REPLY_QUOTE_HEADERS) ? TRUE : FALSE, func == PAGE_REPLY_QUOTE_HEADERS ? TRUE : FALSE, show_all_headers); + mail_to_author(group->name, this_resp, (func == PAGE_REPLY_QUOTE || func == PAGE_REPLY_QUOTE_HEADERS) ? TRUE : FALSE, func == PAGE_REPLY_QUOTE_HEADERS ? TRUE : FALSE, show_raw_article); draw_page(group->name, 0); break; @@ -900,10 +926,13 @@ return_to_index: break; case PAGE_GROUP_SELECT: /* return to group selection page */ +#if 0 + /* Hasn't been used since tin 1.1 PL4 */ if (filter_state == FILTERING) { filter_articles(group); make_threads(group, FALSE); } +#endif /* 0 */ XFACE_CLEAR(); return GRP_RETSELECT; @@ -941,13 +970,20 @@ return_to_index: break; case PAGE_SKIP_INCLUDED_TEXT: /* skip included text */ - for (i = curr_line; i < artlines; i++) { - if (!(artline[i].flags & (C_QUOTE1 | C_QUOTE2 | C_QUOTE3))) + for (i = j = curr_line; i < artlines; i++) { + if (artline[i].flags & (C_QUOTE1 | C_QUOTE2 | C_QUOTE3)) { + j = i; + break; + } + } + + for (; j < artlines; j++) { + if (!(artline[j].flags & (C_QUOTE1 | C_QUOTE2 | C_QUOTE3))) break; } - if (i != curr_line) { - curr_line = i; + if (j != curr_line) { + curr_line = j; draw_page(group->name, 0); } break; @@ -964,18 +1000,22 @@ return_to_index: case PAGE_VIEW_ATTACHMENTS: XFACE_SUPPRESS(); - decode_save_mime(&pgart, FALSE); + attachment_page(&pgart); draw_page(group->name, 0); XFACE_SHOW(); break; case PAGE_VIEW_URL: - if (!show_all_headers) { /* cooked mode? */ + if (!show_raw_article) { /* cooked mode? */ + t_bool success; + XFACE_SUPPRESS(); - resize_article(FALSE, &pgart); /* umbreak long lines */ - process_url(); + resize_article(FALSE, &pgart); /* unbreak long lines */ + success = url_page(); resize_article(TRUE, &pgart); /* rebreak long lines */ draw_page(group->name, 0); + if (!success) + info_message(_(txt_url_done)); XFACE_SHOW(); } break; @@ -1027,7 +1067,7 @@ print_message_page( /* * rotN encoding on body and sig data only */ - if ((rotate != 0) && (curr->flags & (C_BODY | C_SIG))) { + if ((rotate != 0) && ((curr->flags & (C_BODY | C_SIG)) || show_raw_article)) { for (p = line; *p; p++) { if (*p >= 'A' && *p <= 'Z') *p = (*p - 'A' + rotate) % 26 + 'A'; @@ -1043,7 +1083,7 @@ print_message_page( #endif /* !USE_CURSES */ MoveCursor(i + scroll_region_top, 0); - draw_pager_line(line, curr->flags, show_all_headers); + draw_pager_line(line, curr->flags, show_raw_article); /* * Highlight URL's and mail addresses @@ -1164,30 +1204,23 @@ draw_page( if (curr_line + ARTLINES >= artlines) { char buf[LEN]; int len; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - wchar_t *wbuf; -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ STRCPY(buf, (arts[this_resp].thread != -1) ? _(txt_next_resp) : _(txt_last_resp)); -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wbuf = char2wchar_t(buf)) != NULL) { - len = wcswidth(wbuf, wcslen(wbuf) + 1); - free(wbuf); - } else -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - len = (int) strlen(buf); - + len = strwidth(buf); clear_message(); MoveCursor(cLINES, cCOLS - len - (1 + BLANK_PAGE_COLS)); +#ifdef HAVE_COLOR + fcol(tinrc.col_normal); +#endif /* HAVE_COLOR */ StartInverse(); my_fputs(buf, stdout); - my_flush(); EndInverse(); + my_flush(); } else draw_percent_mark(curr_line + ARTLINES, artlines); #ifdef XFACE_ABLE - if (tinrc.use_slrnface && !show_all_headers) + if (tinrc.use_slrnface && !show_raw_article) slrnface_display_xface(note_h->xface); #endif /* XFACE_ABLE */ @@ -1231,18 +1264,18 @@ invoke_metamail( #endif /* !DONT_HAVE_PIPING */ perror_message(_(txt_command_failed), ptr); +#ifdef USE_CURSES Raw(TRUE); InitWin(); +#endif /* USE_CURSES */ prompt_continue(); +#ifndef USE_CURSES + Raw(TRUE); + InitWin(); +#endif /* !USE_CURSES */ /* This is needed if we are viewing the raw art */ fseek(fp, offset, SEEK_SET); /* goto old position */ - - /* FIXME: values do differ for different languages */ - MoveCursor(cLINES, cCOLS - 20 - BLANK_PAGE_COLS); - StartInverse(); - my_flush(); - EndInverse(); } @@ -1259,9 +1292,9 @@ draw_page_header( int len, right_len, center_pos, cur_pos; size_t line_len; #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - wchar_t *fmt_resp, *fmt_thread, *wtmp, *wtmp2; + wchar_t *fmt_resp, *fmt_thread, *wtmp, *wtmp2, *wbuf; #else - char *tmp; + char *tmp, *tmp2; #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ whichresp = which_response(this_resp); @@ -1270,7 +1303,7 @@ draw_page_header( line_len = LEN + 1; buf = my_malloc(line_len); - if (!my_strftime(buf, line_len, tinrc.date_format, localtime(&arts[this_resp].date))) { + if (!my_strftime(buf, line_len, curr_group->attribute->date_format, localtime(&arts[this_resp].date))) { strncpy(buf, BlankIfNull(note_h->date), line_len); buf[line_len - 1] = '\0'; } @@ -1278,7 +1311,7 @@ draw_page_header( #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) /* convert to wide-char format strings */ fmt_thread = char2wchar_t(_(txt_thread_x_of_n)); - fmt_resp = char2wchar_t(_(txt_resp_x_of_n)); + fmt_resp = char2wchar_t(_(txt_art_x_of_n)); /* * determine the needed space for the text at the right hand margin @@ -1320,8 +1353,13 @@ draw_page_header( /* group name */ if ((wtmp = char2wchar_t(group)) != NULL) { - /* wconvert_to_printable(wtmp); */ - if ((i = wcswidth(wtmp, wcslen(wtmp))) < len) + /* wconvert_to_printable(wtmp, FALSE); */ + if (tinrc.abbreviate_groupname) + wtmp2 = abbr_wcsgroupname(wtmp, len); + else + wtmp2 = wstrunc(wtmp, len); + + if ((i = wcswidth(wtmp2, wcslen(wtmp2))) < len) len = i; center_pos = (cCOLS - len) / 2; @@ -1330,7 +1368,6 @@ draw_page_header( for (; cur_pos < center_pos; cur_pos++) my_fputc(' ', stdout); - wtmp2 = wstrunc(wtmp, len); my_fputws(wtmp2, stdout); cur_pos += wcswidth(wtmp2, wcslen(wtmp2)); free(wtmp2); @@ -1402,8 +1439,8 @@ draw_page_header( strncpy(buf, (note_h->subj ? note_h->subj : arts[this_resp].subject), line_len); buf[line_len - 1] = '\0'; if ((wtmp = char2wchar_t(buf)) != NULL) { - wtmp2 = wstrunc(wtmp, cCOLS - 2 * right_len - 3); - + wbuf = wexpand_tab(wtmp, tabwidth); + wtmp2 = wstrunc(wbuf, cCOLS - 2 * right_len - 3); center_pos = (cCOLS - wcswidth(wtmp2, wcslen(wtmp2))) / 2; /* pad out to left */ @@ -1416,6 +1453,7 @@ draw_page_header( cur_pos += wcswidth(wtmp2, wcslen(wtmp2)); free(wtmp2); free(wtmp); + free(wbuf); } # ifdef HAVE_COLOR @@ -1427,12 +1465,12 @@ draw_page_header( my_fputc(' ', stdout); if (whichresp) - my_printf(_(txt_resp_x_of_n), whichresp, x_resp); + my_printf(_(txt_art_x_of_n), whichresp + 1, x_resp + 1); else { if (!x_resp) - my_printf(_(txt_no_responses)); + my_printf("%s", _(txt_no_responses)); else if (x_resp == 1) - my_printf(_(txt_1_resp)); + my_printf("%s", _(txt_1_resp)); else my_printf(_(txt_x_resp), x_resp); } @@ -1483,8 +1521,8 @@ draw_page_header( snprintf(buf, line_len, _(txt_at_s), note_h->org); if ((wtmp = char2wchar_t(buf)) != NULL) { - wconvert_to_printable(wtmp); - wtmp2 = wstrunc(wtmp, cCOLS - cur_pos - 1); + wbuf = wexpand_tab(wtmp, tabwidth); + wtmp2 = wstrunc(wbuf, cCOLS - cur_pos - 1); i = cCOLS - wcswidth(wtmp2, wcslen(wtmp2)) - 1; for (; cur_pos < i; cur_pos++) @@ -1493,6 +1531,7 @@ draw_page_header( my_fputws(wtmp2, stdout); free(wtmp2); free(wtmp); + free(wbuf); } } @@ -1505,7 +1544,7 @@ draw_page_header( * the formating info (%4s) needs 3 positions but we need 4 positions * on the screen for each counter */ - right_len = MAX((strlen(_(txt_thread_x_of_n)) - 6 + 8), (strlen(_(txt_resp_x_of_n)) - 6 + 8)); + right_len = MAX((strlen(_(txt_thread_x_of_n)) - 6 + 8), (strlen(_(txt_art_x_of_n)) - 6 + 8)); /* * first line @@ -1527,7 +1566,12 @@ draw_page_header( len = cCOLS - 2 * MAX(cur_pos, right_len) - 3; /* group name */ - if ((i = strlen(group)) < len) + if (tinrc.abbreviate_groupname) + tmp = abbr_groupname(group, len); + else + tmp = strunc(group, len); + + if ((i = strlen(tmp)) < len) len = i; center_pos = (cCOLS - len) / 2; @@ -1536,7 +1580,6 @@ draw_page_header( for (; cur_pos < center_pos; cur_pos++) my_fputc(' ', stdout); - tmp = strunc(group, len); my_fputs(tmp, stdout); cur_pos += strlen(tmp); free(tmp); @@ -1598,7 +1641,8 @@ draw_page_header( strncpy(buf, (note_h->subj ? note_h->subj : arts[this_resp].subject), line_len); buf[line_len - 1] = '\0'; - tmp = strunc(buf, cCOLS - 2 * right_len - 3); + tmp2 = expand_tab(buf, tabwidth); + tmp = strunc(tmp2, cCOLS - 2 * right_len - 3); center_pos = (cCOLS - strlen(tmp)) / 2; @@ -1611,6 +1655,7 @@ draw_page_header( EndInverse(); cur_pos += strlen(tmp); free(tmp); + free(tmp2); # ifdef HAVE_COLOR fcol(tinrc.col_response); @@ -1621,7 +1666,7 @@ draw_page_header( my_fputc(' ', stdout); if (whichresp) - my_printf(_(txt_resp_x_of_n), whichresp, x_resp); + my_printf(_(txt_art_x_of_n), whichresp + 1, x_resp + 1); else { if (!x_resp) my_printf(_(txt_no_responses)); @@ -1662,12 +1707,14 @@ draw_page_header( /* we have enough space to print at least " at ..." */ snprintf(buf, line_len, _(txt_at_s), note_h->org); - tmp = strunc(buf, cCOLS - cur_pos - 1); + tmp2 = expand_tab(buf, tabwidth); + tmp = strunc(tmp2, cCOLS - cur_pos - 1); len = cCOLS - (int) strlen(tmp) - 1; for (; cur_pos < len; cur_pos++) my_fputc(' ', stdout); my_fputs(tmp, stdout); free(tmp); + free(tmp2); } my_fputs(cCRLF, stdout); @@ -1692,12 +1739,14 @@ load_article( int new_respnum, struct t_group *group) { + static t_bool art_closed = FALSE; + #ifdef DEBUG - if (debug == 2) - fprintf(stderr, "load_art %s(new=%d, curr=%d)\n", (new_respnum == this_resp) ? "ALREADY OPEN!" : "", new_respnum, this_resp); + if (debug & DEBUG_MISC) + fprintf(stderr, "load_art %s(new=%d, curr=%d)\n", (new_respnum == this_resp && !art_closed) ? "ALREADY OPEN!" : "", new_respnum, this_resp); #endif /* DEBUG */ - if (new_respnum != this_resp) { + if (new_respnum != this_resp || art_closed) { char *progress_mesg = my_strdup(_(txt_reading_article)); int ret; @@ -1709,32 +1758,56 @@ load_article( switch (ret) { case ART_UNAVAILABLE: art_mark(group, &arts[new_respnum], ART_READ); + /* prevent retagging as unread in unfilter_articles() */ + if (arts[new_respnum].killed == ART_KILLED_UNREAD) + arts[new_respnum].killed = ART_KILLED; + art_closed = TRUE; wait_message(1, _(txt_art_unavailable)); return GRP_ARTUNAVAIL; case ART_ABORT: art_close(&pgart); + art_closed = TRUE; return GRP_ARTABORT; /* special retcode to stop redrawing screen */ default: /* Normal case */ #if 0 /* Very useful debugging tool */ - if (prompt_yn(cLINES, "Fake art unavailable? ", FALSE) == 1) { + if (prompt_yn("Fake art unavailable? ", FALSE) == 1) { art_close(&pgart); art_mark(group, &arts[new_respnum], ART_READ); + art_closed = TRUE; return GRP_ARTUNAVAIL; } #endif /* 0 */ - /* - * Remember current & previous articles for '-' command - */ - last_resp = this_resp; - this_resp = new_respnum; /* Set new art globally */ + if (art_closed) + art_closed = FALSE; + if (new_respnum != this_resp) { + /* + * Remember current & previous articles for '-' command + */ + last_resp = this_resp; + this_resp = new_respnum; /* Set new art globally */ + } break; } + } else if (show_all_headers) { + /* + * article is already opened with show_all_headers ON + * -> re-cook it + */ + show_all_headers = FALSE; + resize_article(TRUE, &pgart); } art_mark(group, &arts[this_resp], ART_READ); + /* + * Change status if art was unread before killing to + * prevent retagging as unread in unfilter_articles() + */ + if (arts[this_resp].killed == ART_KILLED_UNREAD) + arts[this_resp].killed = ART_KILLED; + if (pgart.cooked == NULL) { /* harmony corruption */ wait_message(1, _(txt_art_unavailable)); return GRP_ARTUNAVAIL; @@ -1743,13 +1816,19 @@ load_article( /* * Setup to start viewing cooked version */ + show_raw_article = FALSE; show_all_headers = FALSE; curr_line = 0; note_fp = pgart.cooked; artline = pgart.cookl; artlines = pgart.cooked_lines; search_line = 0; - reset_srch_offsets(); + /* + * Reset offsets only if not invoked during 'body search' (srch_lineno != -1) + * otherwise the found string will not be highlighted + */ + if (srch_lineno == -1) + reset_srch_offsets(); rotate = 0; /* normal mode, not rot13 */ reveal_ctrl_l = FALSE; reveal_ctrl_l_lines = -1; /* all ^L's active */ @@ -1766,7 +1845,7 @@ load_article( if (*tinrc.metamail_prog == '\0' || getenv("NOMETAMAIL") != NULL) /* Viewer turned off */ return 0; - if (tinrc.ask_for_metamail) { + if (group->attribute->ask_for_metamail) { if (prompt_yn(_(txt_use_mime), TRUE) != 1) return 0; } @@ -1790,7 +1869,7 @@ prompt_response( clear_message(); - if ((num = prompt_num(ch, _(txt_read_resp))) == -1) { + if ((num = (prompt_num(ch, _(txt_select_art)) - 1)) == -1) { clear_message(); return -1; } @@ -1856,7 +1935,7 @@ void toggle_raw( struct t_group *group) { - if (show_all_headers) { + if (show_raw_article) { artline = pgart.cookl; artlines = pgart.cooked_lines; note_fp = pgart.cooked; @@ -1906,7 +1985,7 @@ toggle_raw( offset += num_bytes; } #else - if (my_isprint((int) *p)) { + if (my_isprint((unsigned char) *p)) { space--; p++; offset++; @@ -1962,63 +2041,11 @@ toggle_raw( note_fp = pgart.raw; } curr_line = 0; - show_all_headers = bool_not(show_all_headers); + show_raw_article = bool_not(show_raw_article); draw_page(group->name, 0); } -static void -process_url( - void) -{ - char *ptr; - char buf[LEN]; - char ubuf[LEN]; - char url[LEN]; - int i; - int offsets[6]; - int offsets_size = ARRAY_SIZE(offsets); - - /* - * TODO: handle mailto: and news: (not NNTP) URLs internally - */ - for (i = curr_line; i < artlines; ++i) { - if (!(artline[i].flags & (C_URL | C_NEWS | C_MAIL))) - continue; - - /* - * Line contains a URL, so read it in - */ - fseek(pgart.cooked, artline[i].offset, SEEK_SET); - ptr = fgets(buf, sizeof(buf), pgart.cooked); - - /* - * Step through, finding URL's - */ - forever { - /* any matches left? */ - if (pcre_exec(url_regex.re, url_regex.extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) == PCRE_ERROR_NOMATCH) - if (pcre_exec(mail_regex.re, mail_regex.extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) == PCRE_ERROR_NOMATCH) - if (pcre_exec(news_regex.re, news_regex.extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) == PCRE_ERROR_NOMATCH) - break; - - *(ptr + offsets[1]) = '\0'; - - if (prompt_default_string("URL:", url, sizeof(url), ptr + offsets[0], HIST_URL)) { - if (!*url) /* Don't try and open nothing */ - break; - - wait_message(2, _(txt_url_open), url); - snprintf(ubuf, sizeof(ubuf), "%s %s", tinrc.url_handler, escape_shell_meta(url, 0)); - invoke_cmd(ubuf); - } - ptr += offsets[1] + 1; - } - } - info_message(_(txt_url_done)); -} - - /* * Re-cook an article * @@ -2033,9 +2060,9 @@ resize_article( if (artinfo->cooked) fclose(artinfo->cooked); - cook_article(wrap_lines, artinfo, tabwidth, hide_uue); + cook_article(wrap_lines, artinfo, hide_uue, show_all_headers); - show_all_headers = FALSE; + show_raw_article = FALSE; artline = pgart.cookl; artlines = pgart.cooked_lines; note_fp = pgart.cooked; @@ -2060,6 +2087,8 @@ info_pager( info_title = title; curr_info_line = 0; preprocess_info_message(info_fh); + if (!info_fh) + return; set_xclick_off(); display_info_page(0); @@ -2070,12 +2099,12 @@ info_pager( case GLOBAL_LINE_UP: if (num_info_lines <= NOTESLINES) { - info_message(_(txt_begin_of_art)); + info_message(_(txt_begin_of_page)); break; } if (curr_info_line == 0) { if (!wrap_at_ends) { - info_message(_(txt_begin_of_art)); + info_message(_(txt_begin_of_page)); break; } curr_info_line = num_info_lines - NOTESLINES; @@ -2089,12 +2118,12 @@ info_pager( case GLOBAL_LINE_DOWN: if (num_info_lines <= NOTESLINES) { - info_message(_(txt_end_of_art)); + info_message(_(txt_end_of_page)); break; } if (curr_info_line + NOTESLINES >= num_info_lines) { if (!wrap_at_ends) { - info_message(_(txt_end_of_art)); + info_message(_(txt_end_of_page)); break; } curr_info_line = 0; @@ -2108,37 +2137,37 @@ info_pager( case GLOBAL_PAGE_DOWN: if (num_info_lines <= NOTESLINES) { - info_message(_(txt_end_of_art)); + info_message(_(txt_end_of_page)); break; } if (curr_info_line + NOTESLINES >= num_info_lines) { /* End is already on screen */ if (!wrap_at_ends) { - info_message(_(txt_end_of_art)); + info_message(_(txt_end_of_page)); break; } curr_info_line = 0; display_info_page(0); break; } - curr_info_line += (tinrc.scroll_lines == -2) ? NOTESLINES / 2 : NOTESLINES; + curr_info_line += ((tinrc.scroll_lines == -2) ? NOTESLINES / 2 : NOTESLINES); display_info_page(0); break; case GLOBAL_PAGE_UP: if (num_info_lines <= NOTESLINES) { - info_message(_(txt_begin_of_art)); + info_message(_(txt_begin_of_page)); break; } if (curr_info_line == 0) { if (!wrap_at_ends) { - info_message(_(txt_begin_of_art)); + info_message(_(txt_begin_of_page)); break; } curr_info_line = num_info_lines - NOTESLINES; display_info_page(0); break; } - curr_info_line -= (tinrc.scroll_lines == -2) ? NOTESLINES / 2 : NOTESLINES; + curr_info_line -= ((tinrc.scroll_lines == -2) ? NOTESLINES / 2 : NOTESLINES); display_info_page(0); break; @@ -2232,17 +2261,17 @@ display_info_page( } -/* - * TODO: plug mem leak: malloced mem is not freed on exit - */ static void preprocess_info_message( FILE *info_fh) { int chunk = 50; + FreeAndNull(infoline); + if (!info_fh) + return; + rewind(info_fh); - FreeIfNeeded(infoline); infoline = my_malloc(sizeof(t_lineinfo) * chunk); num_info_lines = 0; @@ -2259,3 +2288,329 @@ preprocess_info_message( num_info_lines--; infoline = my_realloc(infoline, sizeof(t_lineinfo) * num_info_lines); } + + +/* + * URL menu + */ +static t_function +url_left( + void) +{ + return GLOBAL_QUIT; +} + + +static t_function +url_right( + void) +{ + return URL_SELECT; +} + + +static void +show_url_page( + void) +{ + int i; + + signal_context = cURL; + currmenu = &urlmenu; + + if (urlmenu.curr < 0) + urlmenu.curr = 0; + + ClearScreen(); + set_first_screen_item(); + center_line(0, TRUE, _(txt_url_menu)); + + for (i = urlmenu.first; i < urlmenu.first + NOTESLINES && i < urlmenu.max; ++i) + build_url_line(i); + + show_mini_help(URL_LEVEL); + + draw_url_arrow(); +} + + +static t_bool +url_page( + void) +{ + char key[MAXKEYLEN]; + t_function func; + t_menu *oldmenu = NULL; + + if (currmenu) + oldmenu = currmenu; + urlmenu.curr = 0; + urlmenu.max = build_url_list(); + if (urlmenu.max == 0) + return FALSE; + + clear_note_area(); + show_url_page(); + set_xclick_off(); + + forever { + switch ((func = handle_keypad(url_left, url_right, NULL, url_keys))) { + case GLOBAL_QUIT: + free_url_list(); + if (oldmenu) + currmenu = oldmenu; + return TRUE; + + case DIGIT_1: + case DIGIT_2: + case DIGIT_3: + case DIGIT_4: + case DIGIT_5: + case DIGIT_6: + case DIGIT_7: + case DIGIT_8: + case DIGIT_9: + if (urlmenu.max) + prompt_item_num(func_to_key(func, url_keys), _(txt_url_select)); + break; + +#ifndef NO_SHELL_ESCAPE + case GLOBAL_SHELL_ESCAPE: + do_shell_escape(); + break; +#endif /* !NO_SHELL_ESCAPE */ + + case GLOBAL_HELP: + show_help_page(URL_LEVEL, _(txt_url_menu_com)); + show_url_page(); + break; + + case GLOBAL_FIRST_PAGE: + top_of_list(); + break; + + case GLOBAL_LAST_PAGE: + end_of_list(); + break; + + case GLOBAL_REDRAW_SCREEN: + my_retouch(); + show_url_page(); + break; + + case GLOBAL_LINE_DOWN: + move_down(); + break; + + case GLOBAL_LINE_UP: + move_up(); + break; + + case GLOBAL_PAGE_DOWN: + page_down(); + break; + + case GLOBAL_PAGE_UP: + page_up(); + break; + + case GLOBAL_SCROLL_DOWN: + scroll_down(); + break; + + case GLOBAL_SCROLL_UP: + scroll_up(); + break; + + case GLOBAL_TOGGLE_HELP_DISPLAY: + toggle_mini_help(URL_LEVEL); + show_url_page(); + break; + + case GLOBAL_TOGGLE_INFO_LAST_LINE: + tinrc.info_in_last_line = bool_not(tinrc.info_in_last_line); + show_url_page(); + break; + + case URL_SELECT: + if (urlmenu.max) { + if (process_url(urlmenu.curr)) + show_url_page(); + else + draw_url_arrow(); + } + break; + + case GLOBAL_SEARCH_SUBJECT_FORWARD: + case GLOBAL_SEARCH_SUBJECT_BACKWARD: + case GLOBAL_SEARCH_REPEAT: + if (func == GLOBAL_SEARCH_REPEAT && last_search != GLOBAL_SEARCH_SUBJECT_FORWARD && last_search != GLOBAL_SEARCH_SUBJECT_BACKWARD) + info_message(_(txt_no_prev_search)); + else if (urlmenu.max) { + int new_pos, old_pos = urlmenu.curr; + + new_pos = generic_search((func == GLOBAL_SEARCH_SUBJECT_FORWARD), (func == GLOBAL_SEARCH_REPEAT), urlmenu.curr, urlmenu.max - 1, URL_LEVEL); + if (new_pos != old_pos) + move_to_item(new_pos); + } + break; + + default: + info_message(_(txt_bad_command), printascii(key, func_to_key(GLOBAL_HELP, url_keys))); + break; + } + } +} + + +static void +draw_url_arrow( + void) +{ + draw_arrow_mark(INDEX_TOP + urlmenu.curr - urlmenu.first); + if (tinrc.info_in_last_line) { + t_url *lptr; + + lptr = find_url(urlmenu.curr); + info_message("%s", lptr->url); + } else if (urlmenu.curr == urlmenu.max - 1) + info_message(_(txt_end_of_urls)); +} + + +t_url * +find_url( + int n) +{ + t_url *lptr; + + lptr = url_list; + while (n-- > 0 && lptr->next) + lptr = lptr->next; + + return lptr; +} + + +static void +build_url_line( + int i) +{ + char *sptr; + int len = cCOLS - 9; + t_url *lptr; + +#ifdef USE_CURSES + /* + * Allocate line buffer + * make it the same size like in !USE_CURSES case to simplify some code + */ + sptr = my_malloc(cCOLS + 2); +#else + sptr = screen[INDEX2SNUM(i)].col; +#endif /* USE_CURSES */ + + lptr = find_url(i); + snprintf(sptr, cCOLS, " %s %-*.*s%s", tin_ltoa(i + 1, 4), len, len, lptr->url, cCRLF); + WriteLine(INDEX2LNUM(i), sptr); + +#ifdef USE_CURSES + free(sptr); +#endif /* USE_CURSES */ +} + + +static t_bool +process_url( + int n) +{ + char *url, *url_esc; + size_t len; + t_url *lptr; + + lptr = find_url(n); + len = strlen(lptr->url); + url = my_malloc(len + 1); + if (prompt_default_string("URL:", url, len, lptr->url, HIST_URL)) { + if (!*url) { /* Don't try and open nothing */ + free(url); + return FALSE; + } + wait_message(2, _(txt_url_open), url); + url_esc = escape_shell_meta(url, no_quote); + len = strlen(url_esc) + strlen(tinrc.url_handler) + 2; + url = my_realloc(url, len); + snprintf(url, len, "%s %s", tinrc.url_handler, url_esc); + invoke_cmd(url); + free(url); + cursoroff(); + return TRUE; + } + free(url); + return FALSE; +} + + +static int +build_url_list( + void) +{ + char *ptr; + int i, count = 0; + int offsets[6]; + int offsets_size = ARRAY_SIZE(offsets); + t_url *lptr = NULL; + + for (i = 0; i < artlines; ++i) { + if (!(artline[i].flags & (C_URL | C_NEWS | C_MAIL))) + continue; + + /* + * Line contains a URL, so read it in + */ + fseek(pgart.cooked, artline[i].offset, SEEK_SET); + if ((ptr = tin_fgets(pgart.cooked, FALSE)) == NULL) + continue; + + /* + * Step through, finding URL's + */ + forever { + /* any matches left? */ + if (pcre_exec(url_regex.re, url_regex.extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) == PCRE_ERROR_NOMATCH) + if (pcre_exec(mail_regex.re, mail_regex.extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) == PCRE_ERROR_NOMATCH) + if (pcre_exec(news_regex.re, news_regex.extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) == PCRE_ERROR_NOMATCH) + break; + + *(ptr + offsets[1]) = '\0'; + + if (!lptr) + lptr = url_list = my_malloc(sizeof(t_url)); + else { + lptr->next = my_malloc(sizeof(t_url)); + lptr = lptr->next; + } + lptr->url = my_strdup(ptr + offsets[0]); + lptr->next = NULL; + ++count; + + ptr += offsets[1] + 1; + } + } + return count; +} + + +static void +free_url_list( + void) +{ + t_url *p, *q; + + for (p = url_list; p != NULL; p = q) { + q = p->next; + free(p->url); + free(p); + } + url_list = NULL; +} diff -Nurp --exclude='.bzr*' tin-1.8.3/src/pgp.c tin-2.0.0/src/pgp.c --- tin-1.8.3/src/pgp.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/pgp.c 2011-04-17 16:04:30.839131852 +0200 @@ -3,10 +3,10 @@ * Module : pgp.c * Author : Steven J. Madsen * Created : 1995-05-12 - * Updated : 2005-07-02 + * Updated : 2011-03-25 * Notes : PGP support * - * Copyright (c) 1995-2006 Steven J. Madsen + * Copyright (c) 1995-2011 Steven J. Madsen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -82,10 +82,13 @@ # define PGPNAME PATH_GPG # define PGPDIR ".gnupg" # define PGP_PUBRING "pubring.gpg" -# define CHECK_SIGN "%s %s --no-batch --decrypt <%s %s" +# if 0 /* gpg 1.4.11 doesn't like this */ +# define CHECK_SIGN "%s %s --no-batch --decrypt <%s %s" +# else +# define CHECK_SIGN "%s %s < %s %s" +# endif /* 0 */ # define ADD_KEY "%s %s --no-batch --import %s" # define APPEND_KEY "%s %s --no-batch --armor --output %s --export %s", PGPNAME, pgpopts, keyfile, buf -/* # define LOCAL_USER "--local-user %s" */ # define DO_ENCRYPT \ "%s %s --textmode --armor --no-batch --output %s.asc --recipient %s --encrypt %s", \ PGPNAME, pgpopts, pt, mailto, pt @@ -106,15 +109,15 @@ PGPNAME, pgpopts, pt, mailto, mailfrom, # define PGP_SIG_TAG "-----BEGIN PGP SIGNED MESSAGE-----\n" # define PGP_KEY_TAG "-----BEGIN PGP PUBLIC KEY BLOCK-----\n" -# define HEADERS "%stin-%d.h" +# define HEADERS "%stin-%ld.h" # ifdef HAVE_LONG_FILE_NAMES -# define PLAINTEXT "%stin-%d.pt" -# define CIPHERTEXT "%stin-%d.pt.asc" -# define KEYFILE "%stin-%d.k.asc" +# define PLAINTEXT "%stin-%ld.pt" +# define CIPHERTEXT "%stin-%ld.pt.asc" +# define KEYFILE "%stin-%ld.k.asc" # else -# define PLAINTEXT "%stn-%d.p" -# define CIPHERTEXT "%stn-%d.p.asc" -# define KEYFILE "%stn-%d.k.asc" +# define PLAINTEXT "%stn-%ld.p" +# define CIPHERTEXT "%stn-%ld.p.asc" +# define KEYFILE "%stn-%ld.k.asc" # endif /* HAVE_LONG_FILE_NAMES */ @@ -149,7 +152,7 @@ init_pgp( if ((ptr = getenv("PGPPATH")) != NULL) my_strncpy(pgp_data, ptr, sizeof(pgp_data) - 1); else - joinpath(pgp_data, homedir, PGPDIR); + joinpath(pgp_data, sizeof(pgp_data), homedir, PGPDIR); } } @@ -194,9 +197,9 @@ split_file( char buf[LEN]; mode_t mask; - snprintf(hdr, sizeof(hdr), HEADERS, TMPDIR, process_id); - snprintf(pt, sizeof(pt), PLAINTEXT, TMPDIR, process_id); - snprintf(ct, sizeof(ct), CIPHERTEXT, TMPDIR, process_id); + snprintf(hdr, sizeof(hdr), HEADERS, TMPDIR, (long) process_id); + snprintf(pt, sizeof(pt), PLAINTEXT, TMPDIR, (long) process_id); + snprintf(ct, sizeof(ct), CIPHERTEXT, TMPDIR, (long) process_id); if ((art = fopen(file, "r")) == NULL) return; @@ -288,7 +291,7 @@ pgp_append_public_key( else snprintf(buf, sizeof(buf), "%s@%s", userid, BlankIfNull(get_host_name())); - snprintf(keyfile, sizeof(keyfile), KEYFILE, TMPDIR, process_id); + snprintf(keyfile, sizeof(keyfile), KEYFILE, TMPDIR, (long) process_id); /* * TODO: I'm guessing the pgp append key command creates 'keyfile' and that @@ -320,7 +323,7 @@ pgp_available( FILE *fp; char keyring[PATH_LEN]; - joinpath(keyring, pgp_data, PGP_PUBRING); + joinpath(keyring, sizeof(keyring), pgp_data, PGP_PUBRING); if ((fp = fopen(keyring, "r")) == NULL) { wait_message(2, _(txt_pgp_not_avail), keyring); return FALSE; @@ -433,9 +436,9 @@ pgp_check_article( if (!pgp_available()) return FALSE; - joinpath(artfile, homedir, TIN_ARTICLE_NAME); + joinpath(artfile, sizeof(artfile), homedir, TIN_ARTICLE_NAME); # ifdef APPEND_PID - snprintf(artfile + strlen(artfile), sizeof(artfile) - strlen(artfile), ".%d", (int) process_id); + snprintf(artfile + strlen(artfile), sizeof(artfile) - strlen(artfile), ".%ld", (long) process_id); # endif /* APPEND_PID */ if ((art = fopen(artfile, "w")) == NULL) { info_message(_(txt_cannot_open), artfile); @@ -471,8 +474,15 @@ pgp_check_article( my_printf("\n"); Raw(TRUE); } - +# ifndef USE_CURSES + EndWin(); + Raw(FALSE); +# endif /* !USE_CURSES */ prompt_continue(); +# ifndef USE_CURSES + Raw(TRUE); + InitWin(); +# endif /* !USE_CURSES */ if (pgp_key) { if (prompt_yn(_(txt_pgp_add), FALSE) == 1) { Raw(FALSE); diff -Nurp --exclude='.bzr*' tin-1.8.3/src/plp_snprintf.c tin-2.0.0/src/plp_snprintf.c --- tin-1.8.3/src/plp_snprintf.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/plp_snprintf.c 2011-04-17 16:04:31.299201864 +0200 @@ -118,7 +118,7 @@ static const char *_id = "plp_snprintf V1999.02.20 Copyright Patrick Powell 1988-1999 \ $Id: plp_snprintf.c,v 1.4 1999/02/20 17:44:16 papowell Exp papowell $\ - LOCAL REVISIONS: tin 1.5.2-01"; + LOCAL REVISIONS: tin 1.9.5-01"; /* varargs declarations: */ @@ -272,7 +272,13 @@ static void dopr( char *buffer, const ch return; case '-': ljust = 1; goto nextch; case '.': set_precision = 1; precision = 0; goto nextch; - case '*': len = va_arg( args, int ); goto nextch; + case '*': + if( set_precision ){ + precision = va_arg( args, int ); + } else { + len = va_arg( args, int ); + } + goto nextch; case '0': /* set zero padding if len not set */ if(len==0 && set_precision == 0 ) zpad = '0'; /* FALLTHROUGH */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/post.c tin-2.0.0/src/post.c --- tin-1.8.3/src/post.c 2005-12-23 18:22:18.000000000 +0100 +++ tin-2.0.0/src/post.c 2011-05-10 15:46:23.665625554 +0200 @@ -3,10 +3,10 @@ * Module : post.c * Author : I. Lea * Created : 1991-04-01 - * Updated : 2005-12-23 + * Updated : 2011-04-22 * Notes : mail/post/replyto/followup/repost & cancel articles * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -49,10 +49,11 @@ #ifdef USE_CANLOCK # define ADD_CAN_KEY(id) { \ char key[1024]; \ - const char *kptr = (const char *) 0; \ + char *kptr; \ key[0] = '\0'; \ if ((kptr = build_cankey(id, get_secret())) != NULL) { \ STRCPY(key, kptr); \ + free(kptr); \ msg_add_header("Cancel-Key", key); \ } \ } @@ -66,10 +67,11 @@ # ifdef EVIL_INSIDE # define ADD_CAN_LOCK(id) { \ char lock[1024]; \ - const char *lptr = (const char *) 0; \ + char *lptr = (char *) 0; \ lock[0] = '\0'; \ if ((lptr = build_canlock(id, get_secret())) != NULL) { \ STRCPY(lock, lptr); \ + free(lptr); \ msg_add_header("Cancel-Lock", lock); \ } \ } @@ -124,11 +126,11 @@ static struct msg_header { /* * Local prototypes */ -static FILE *create_mail_headers(char *filename, const char *suffix, const char *to, const char *subject, struct t_header *extra_hdrs); +static FILE *create_mail_headers(char *filename, size_t filename_len, const char *suffix, const char *to, const char *subject, struct t_header *extra_hdrs); +static char **build_nglist(char *ngs_list, int *ngcnt); static char **split_address_list(const char *addresses, unsigned int *cnt); -static char *backup_article_name(const char *the_article); static int add_mail_quote(FILE *fp, int respnum); -static int check_article_to_be_posted(const char *the_article, int art_type, struct t_group **group, t_bool art_unchanged); +static int check_article_to_be_posted(const char *the_article, int art_type, struct t_group **group, t_bool art_unchanged, t_bool use_cache); static int mail_loop(const char *filename, t_function func, char *subject, const char *groupname, const char *prompt, FILE *articlefp); static int msg_add_x_body(FILE *fp_out, const char *body); static int msg_write_headers(FILE *fp); @@ -147,6 +149,7 @@ static t_bool insert_from_header(const c static t_bool is_crosspost(const char *xref); static t_bool must_include(const char *id); static t_bool repair_article(t_function *result, struct t_group *group); +static t_bool stripped_double_ngs(char **newsgroups, int *ngcnt); static t_bool submit_mail_file(const char *file, struct t_group *group, FILE *articlefp, t_bool include_text); static t_function prompt_rejected(void); static t_function prompt_to_send(const char *subject); @@ -161,18 +164,22 @@ static void msg_init_headers(void); static void post_postponed_article(int ask, const char *subject, const char *newsgroups); static void postpone_article(const char *the_article); static void setup_check_article_screen(int *init); +static void show_followup_info(void); static void strip_double_ngs(char *ngs_list); static void update_active_after_posting(char *newsgroups); static void update_posted_info_file(const char *group, int action, const char *subj, const char *a_message_id); #ifdef FORGERY static void make_path_header(char *line); + static void show_cancel_info(t_bool author, t_bool use_cache); +#else + static void show_cancel_info(void); #endif /* FORGERY */ #ifdef EVIL_INSIDE static const char *build_messageid(void); static char *radix32(unsigned long int num); #endif /* EVIL_INSIDE */ #ifdef USE_CANLOCK - static const char *build_cankey(const char *messageid, const char *secret); + static char *build_cankey(const char *messageid, const char *secret); #endif /* USE_CANLOCK */ @@ -193,16 +200,35 @@ prompt_to_send( #endif /* HAVE_PGP_GPG */ t_function func; +#if defined(HAVE_ISPELL) && defined(HAVE_PGP_GPG) snprintf(buf, sizeof(buf), _(txt_quit_edit_send), printascii(keyquit, func_to_key(GLOBAL_QUIT, post_send_keys)), printascii(keyedit, func_to_key(POST_EDIT, post_send_keys)), -#ifdef HAVE_ISPELL printascii(keyispell, func_to_key(POST_ISPELL, post_send_keys)), -#endif /* HAVE_ISPELL */ -#ifdef HAVE_PGP_GPG printascii(keypgp, func_to_key(POST_PGP, post_send_keys)), -#endif /* HAVE_PGP_GPG */ printascii(keysend, func_to_key(POST_SEND, post_send_keys))); +#else +# ifdef HAVE_ISPELL + snprintf(buf, sizeof(buf), _(txt_quit_edit_send), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_send_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_send_keys)), + printascii(keyispell, func_to_key(POST_ISPELL, post_send_keys)), + printascii(keysend, func_to_key(POST_SEND, post_send_keys))); +# else +# ifdef HAVE_PGP_GPG + snprintf(buf, sizeof(buf), _(txt_quit_edit_send), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_send_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_send_keys)), + printascii(keypgp, func_to_key(POST_PGP, post_send_keys)), + printascii(keysend, func_to_key(POST_SEND, post_send_keys))); +# else + snprintf(buf, sizeof(buf), _(txt_quit_edit_send), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_send_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_send_keys)), + printascii(keysend, func_to_key(POST_SEND, post_send_keys))); +# endif /* HAVE_PGP_GPG */ +# endif /* HAVE_ISPELL */ +#endif /* HAVE_ISPELL && HAVE_PGP_GPG */ func = prompt_slk_response(POST_SEND, post_send_keys, "%s", sized_message(&smsg, buf, subject)); @@ -242,14 +268,14 @@ init_postinfo( char *ptr; /* - * check enviroment for REPLYTO + * check environment for REPLYTO */ reply_to[0] = '\0'; if ((ptr = getenv("REPLYTO")) != NULL) my_strncpy(reply_to, ptr, sizeof(reply_to) - 1); /* - * check enviroment for DISTRIBUTION + * check environment for DISTRIBUTION */ my_distribution[0] = '\0'; if ((ptr = getenv("DISTRIBUTION")) != NULL) @@ -276,10 +302,10 @@ repair_article( *result = func; if (func == POST_EDIT) { - if (invoke_editor(article_name, start_line_offset)) + if (invoke_editor(article_name, start_line_offset, group)) return TRUE; } else if (func == GLOBAL_OPTION_MENU) { - (void) change_config_file(group); /*OD:*/ + config_page(group->name); return TRUE; } return FALSE; @@ -291,7 +317,7 @@ repair_article( * submit_news_file adds headers, does q-p conversion etc * TODO: why not use BACKUP_FILE_EXT like in misc.c? */ -static char * +char * backup_article_name( const char *the_article) { @@ -410,11 +436,13 @@ msg_write_headers( for (i = 0; i < MAX_MSG_HEADERS; i++) { if (msg_headers[i].name) { fprintf(fp, "%s: %s\n", msg_headers[i].name, BlankIfNull(msg_headers[i].text)); - p = msg_headers[i].text; - do { - wrote++; - p = strchr(++p, '\n'); - } while (p); + wrote++; + if ((p = msg_headers[i].text)) { + while ((p = strchr(p, '\n'))) { + p++; + wrote++; + } + } } } fputc('\n', fp); @@ -459,11 +487,10 @@ user_posted_messages( posted[i].date[k++] = buf[j]; /* posted date */ if (buf[j] == '\n') { - error_message(_(txt_error_corrupted_file), posted_info_file); - (void) sleep(1); + error_message(3, _(txt_error_corrupted_file), posted_info_file); fclose(fp); clear_message(); - FreeAndNull(posted); + free(posted); return FALSE; } posted[i].date[k] = '\0'; @@ -503,7 +530,7 @@ user_posted_messages( fclose(fp); if (!(fp = tmpfile())) { - FreeAndNull(posted); + free(posted); return FALSE; } for (; i > 0; i--) { @@ -513,14 +540,20 @@ user_posted_messages( buf[cCOLS - 2] = '\0'; fprintf(fp, "%s%s", buf, cCRLF); } - FreeAndNull(posted); + free(posted); info_pager(fp, _(txt_post_history_menu), TRUE); fclose(fp); + info_pager(NULL, NULL, TRUE); /* free mem */ return TRUE; } +/* + * TODO: + * - mime-encode subject so we get the right charset (it may be different + * in subsequent sessions); update user_posted_messages accordingly. + */ static void update_posted_info_file( const char *group, @@ -538,21 +571,31 @@ update_posted_info_file( file_tmp = get_tmpfilename(posted_info_file); if (!backup_file(posted_info_file, file_tmp)) { - error_message(_(txt_filesystem_full_backup), posted_info_file); + error_message(2, _(txt_filesystem_full_backup), posted_info_file); free(file_tmp); return; } if ((fp = fopen(posted_info_file, "a+")) != NULL) { + int err; + (void) time(&epoch); pitm = localtime(&epoch); - if (*a_message_id) - fprintf(fp, "%02d-%02d-%02d|%c|%s|%s|%s\n", pitm->tm_mday, pitm->tm_mon + 1, pitm->tm_year % 100, action, BlankIfNull(group), BlankIfNull(subj), a_message_id); - else + if (*a_message_id) { + char *mid = my_strdup(a_message_id); + + fprintf(fp, "%02d-%02d-%02d|%c|%s|%s|%s\n", pitm->tm_mday, pitm->tm_mon + 1, pitm->tm_year % 100, action, BlankIfNull(group), BlankIfNull(subj), BlankIfNull(str_trim(mid))); + free(mid); + } else fprintf(fp, "%02d-%02d-%02d|%c|%s|%s\n", pitm->tm_mday, pitm->tm_mon + 1, pitm->tm_year % 100, action, BlankIfNull(group), BlankIfNull(subj)); - if (ferror(fp) || fclose(fp)) { - error_message(_(txt_filesystem_full), posted_info_file); + + if ((err = ferror(fp)) || fclose(fp)) { + error_message(2, _(txt_filesystem_full), posted_info_file); rename_file(file_tmp, posted_info_file); + if (err) { + clearerr(fp); + fclose(fp); + } } else unlink(file_tmp); } else @@ -575,11 +618,13 @@ append_mail( FILE *fp_in, *fp_out; char *bufp; char buf[LEN]; - int fd; - int retrys = 10; /* maximum lock retrys */ time_t epoch; t_bool mmdf = FALSE; t_bool rval = FALSE; +#ifndef NO_LOCKING + int fd; + unsigned int retrys = 11; /* maximum lock retrys + 1 */ +#endif /* NO_LOCKING */ if (!strcasecmp(txt_mailbox_formats[tinrc.mailbox_format], "MMDF") && the_mailbox != postponed_articles_file) mmdf = TRUE; @@ -588,25 +633,28 @@ append_mail( return rval; if ((fp_out = fopen(the_mailbox, "a+")) != NULL) { +#ifndef NO_LOCKING fd = fileno(fp_out); /* TODO: move the retry/error stuff into a function? */ - while (retrys-- && fd_lock(fd, FALSE)) + while (--retrys && fd_lock(fd, FALSE)) wait_message(1, _(txt_trying_lock), retrys, the_mailbox); - if (retrys < 0) { + if (!retrys) { wait_message(5, _(txt_error_couldnt_lock), the_mailbox); fclose(fp_out); fclose(fp_in); return rval; } - while (retrys-- && !dot_lock(the_mailbox)) + retrys++; + while (--retrys && !dot_lock(the_mailbox)) wait_message(1, _(txt_trying_dotlock), retrys, the_mailbox); - if (retrys < 0) { + if (!retrys) { wait_message(5, _(txt_error_couldnt_dotlock), the_mailbox); fd_unlock(fd); fclose(fp_out); fclose(fp_in); return rval; } +#endif /* !NO_LOCKING */ if (mmdf) fprintf(fp_out, "%s", MMDFHDRTXT); @@ -634,11 +682,13 @@ append_mail( } fputs(buf, fp_out); } - print_art_seperator_line(fp_out, mmdf); + print_art_separator_line(fp_out, mmdf); fflush(fp_out); +#ifndef NO_LOCKING if (fd_unlock(fd) || !dot_unlock(the_mailbox)) wait_message(4, _(txt_error_cant_unlock), the_mailbox); +#endif /* !NO_LOCKING */ fclose(fp_out); rval = TRUE; @@ -649,6 +699,18 @@ append_mail( /* + * TODO: + * - cleanup!! + * - check for illegal (8bit) chars in References, X-Face, MIME-Version, + * Content-Type, Content-Transfer-Encoding, Content-Disposition, Supersedes + * - check for 'illegal' headers: Xref, Injection-Info, (NNTP-Posting-Host, + * NNTP-Posting-Date, X-Trace, X-Complaints-To), Date-Received, + * Posting-Version, Relay-Version, Also-Control, Article-Names, + * Article-Updates, See-Also + * - check for special newsgroups: to, ctl, all, control, junk + * [RFC 5536 3.1.4] + * - check for 'illegal' distribultion: all [RFC 5536 3.2.4] + * * Check the article file for correct header syntax and if there * is a blank between the header information and the text. * @@ -672,24 +734,32 @@ append_mail( * headers are uniq * 13. Display an 'are you sure' message before posting article */ -#define CA_ERROR_HEADER_LINE_BLANK 0x000001 -#define CA_ERROR_MISSING_BODY_SEPERATOT 0x000002 -#define CA_ERROR_MISSING_FROM 0x000004 -#define CA_ERROR_DUPLICATED_FROM 0x000008 -#define CA_ERROR_MISSING_SUBJECT 0x000010 -#define CA_ERROR_DUPLICATED_SUBJECT 0x000020 -#define CA_ERROR_EMPTY_SUBJECT 0x000040 -#define CA_ERROR_MISSING_NEWSGROUPS 0x000080 -#define CA_ERROR_DUPLICATED_NEWSGROUPS 0x000100 -#define CA_ERROR_EMPTY_NEWSGROUPS 0x000200 -#define CA_ERROR_DUPLICATED_FOLLOWUP_TO 0x000400 -#define CA_ERROR_BAD_CHARSET 0x000800 -#define CA_ERROR_BAD_ENCODING 0x001000 +#define CA_ERROR_HEADER_LINE_BLANK 0x0000001 +#define CA_ERROR_MISSING_BODY_SEPERATOT 0x0000002 +#define CA_ERROR_MISSING_FROM 0x0000004 +#define CA_ERROR_DUPLICATED_FROM 0x0000008 +#define CA_ERROR_MISSING_SUBJECT 0x0000010 +#define CA_ERROR_DUPLICATED_SUBJECT 0x0000020 +#define CA_ERROR_EMPTY_SUBJECT 0x0000040 +#define CA_ERROR_MISSING_NEWSGROUPS 0x0000080 +#define CA_ERROR_DUPLICATED_NEWSGROUPS 0x0000100 +#define CA_ERROR_EMPTY_NEWSGROUPS 0x0000200 +#define CA_ERROR_DUPLICATED_FOLLOWUP_TO 0x0000400 +#define CA_ERROR_BAD_CHARSET 0x0000800 +#define CA_ERROR_BAD_ENCODING 0x0001000 +#define CA_ERROR_BAD_MESSAGE_ID 0x0002000 +#define CA_ERROR_BAD_DATE 0x0004000 +#define CA_ERROR_BAD_EXPIRES 0x0008000 +#define CA_ERROR_NEWSGROUPS_NOT_7BIT 0x0010000 +#define CA_ERROR_FOLLOWUP_TO_NOT_7BIT 0x0020000 +#define CA_ERROR_DISTRIBUTIOIN_NOT_7BIT 0x0040000 +#define CA_ERROR_NEWSGROUPS_POSTER 0x0080000 +#define CA_ERROR_FOLLOWUP_TO_POSTER 0x0100000 #ifndef FOLLOW_USEFOR_DRAFT -# define CA_ERROR_SPACE_IN_NEWSGROUPS 0x002000 -# define CA_ERROR_NEWLINE_IN_NEWSGROUPS 0x004000 -# define CA_ERROR_SPACE_IN_FOLLOWUP_TO 0x008000 -# define CA_ERROR_NEWLINE_IN_FOLLOWUP_TO 0x010000 +# define CA_ERROR_SPACE_IN_NEWSGROUPS 0x0200000 +# define CA_ERROR_NEWLINE_IN_NEWSGROUPS 0x0400000 +# define CA_ERROR_SPACE_IN_FOLLOWUP_TO 0x0800000 +# define CA_ERROR_NEWLINE_IN_FOLLOWUP_TO 0x1000000 #endif /* !FOLLOW_USEFOR_DRAFT */ #define CA_WARNING_SPACES_ONLY_SUBJECT 0x000001 #define CA_WARNING_RE_WITHOUT_REFERENCES 0x000002 @@ -698,18 +768,20 @@ append_mail( #define CA_WARNING_WRONG_SIGDASHES 0x000010 #define CA_WARNING_LONG_SIGNATURE 0x000020 #define CA_WARNING_ENCODING_EXTERNAL_INEWS 0x000040 +#define CA_WARNING_NEWSGROUPS_EXAMPLE 0x000080 +#define CA_WARNING_FOLLOWUP_TO_EXAMPLE 0x000100 #ifdef CHARSET_CONVERSION -# define CA_WARNING_CHARSET_CONVERSION 0x000080 +# define CA_WARNING_CHARSET_CONVERSION 0x000200 #endif /* CHARSET_CONVERSION */ #ifdef FOLLOW_USEFOR_DRAFT -# define CA_WARNING_SPACE_IN_NEWSGROUPS 0x000100 -# define CA_WARNING_NEWLINE_IN_NEWSGROUPS 0x000200 -# define CA_WARNING_SPACE_IN_FOLLOWUP_TO 0x000400 -# define CA_WARNING_NEWLINE_IN_FOLLOWUP_TO 0x000800 +# define CA_WARNING_SPACE_IN_NEWSGROUPS 0x000400 +# define CA_WARNING_NEWLINE_IN_NEWSGROUPS 0x000800 +# define CA_WARNING_SPACE_IN_FOLLOWUP_TO 0x001000 +# define CA_WARNING_NEWLINE_IN_FOLLOWUP_TO 0x002000 #endif /* FOLLOW_USEFOR_DRAFT */ /* - * TODO: cleanup + * TODO: cleanup! * * return values: * 0 article ok @@ -721,10 +793,12 @@ check_article_to_be_posted( const char *the_article, int art_type, struct t_group **group, - t_bool art_unchanged) + t_bool art_unchanged, + t_bool use_cache) { FILE *fp; - char *ngptrs[NGLIMIT], *ftngptrs[NGLIMIT]; + char **newsgroups = NULL; + char **followupto = NULL; char *line, *cp, *cp2; char references[HEADER_LEN]; char subject[HEADER_LEN]; @@ -743,7 +817,7 @@ check_article_to_be_posted( int found_subject_lines = 0; int errors_catbp = 0; /* sum of error-codes */ int warnings_catbp = 0; /* sum of warning-codes */ - size_t nglens[NGLIMIT], ftnglens[NGLIMIT]; + int must_break_line = 0; struct t_group *psGrp; t_bool end_of_header = FALSE; t_bool got_long_line = FALSE; @@ -752,17 +826,36 @@ check_article_to_be_posted( t_bool mime_7bit = TRUE; t_bool mime_usascii = FALSE; t_bool contains_8bit = FALSE; - int must_break_line = 0; #ifdef CHARSET_CONVERSION t_bool charset_conversion_fails = FALSE; - int mmnwcharset = *group ? (*group)->attribute->mm_network_charset : tinrc.mm_network_charset; + int mmnwcharset; #endif /* CHARSET_CONVERSION */ + static const char *c_article; + static int c_art_type; + static struct t_group **c_group; + static t_bool c_art_unchanged; - if ((fp = fopen(the_article, "r")) == NULL) { - perror_message(_(txt_cannot_open), the_article); + /* + * Cache values for the case when called + * from refresh_post_screen() + */ + if (!use_cache) { + c_article = the_article; + c_art_type = art_type; + c_group = group; + c_art_unchanged = art_unchanged; + } + +#ifdef CHARSET_CONVERSION + mmnwcharset = *c_group ? (*c_group)->attribute->mm_network_charset : tinrc.mm_network_charset; +#endif /* CHARSET_CONVERSION */ + + if ((fp = fopen(c_article, "r")) == NULL) { + perror_message(_(txt_cannot_open), c_article); return 0; } oldraw = RawState(); /* save state */ + subject[0] = '\0'; /* check the header of the article */ while ((line = tin_fgets(fp, TRUE)) != NULL) { @@ -774,12 +867,10 @@ check_article_to_be_posted( break; } - if (!contains_8bit) { - for (cp = line; *cp; cp++) { - if (!isascii(*cp)) { - contains_8bit = TRUE; - break; - } + for (cp = line; *cp && !contains_8bit; cp++) { + if (!isascii(*cp)) { + contains_8bit = TRUE; + break; } } #ifdef CHARSET_CONVERSION @@ -796,8 +887,8 @@ check_article_to_be_posted( setup_check_article_screen(&init); StartInverse(); my_fprintf(stderr, _(txt_error_header_line_colon), cnt, line); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); errors++; continue; } @@ -805,8 +896,8 @@ check_article_to_be_posted( setup_check_article_screen(&init); StartInverse(); my_fprintf(stderr, _(txt_error_header_line_space), cnt, line); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); errors++; } @@ -821,8 +912,8 @@ check_article_to_be_posted( setup_check_article_screen(&init); StartInverse(); my_fprintf(stderr, _(txt_error_sender_in_header_not_allowed), cnt); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); errors++; } #endif /* !FORGERY */ @@ -831,9 +922,9 @@ check_article_to_be_posted( if (tinrc.beginner_level) { setup_check_article_screen(&init); /* StartInverse(); */ - my_fprintf(stderr, _(txt_error_approved)); /* this is only a Warning: */ - my_fflush(stderr); + my_fprintf(stderr, "%s", _(txt_error_approved)); /* this is only a Warning: */ /* EndInverse(); */ + my_fflush(stderr); #ifdef HAVE_FASCIST_NEWSADMIN errors++; #else @@ -850,8 +941,8 @@ check_article_to_be_posted( StartInverse(); my_fprintf(stderr, _(txt_error_bad_approved), i); my_fprintf(stderr, gnksa_strerror(i), i); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); #ifndef FORGERY errors++; #endif /* !FORGERY */ @@ -871,8 +962,8 @@ check_article_to_be_posted( StartInverse(); my_fprintf(stderr, _(txt_error_bad_from), i); my_fprintf(stderr, gnksa_strerror(i), i); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); #ifndef FORGERY errors++; #endif /* !FORGERY */ @@ -891,8 +982,8 @@ check_article_to_be_posted( StartInverse(); my_fprintf(stderr, _(txt_error_bad_replyto), i); my_fprintf(stderr, gnksa_strerror(i), i); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); #ifndef FORGERY errors++; #endif /* !FORGERY */ @@ -905,23 +996,26 @@ check_article_to_be_posted( char addr[HEADER_LEN], name[HEADER_LEN]; int type; - i = gnksa_check_from(cp + 1); - gnksa_split_from(cp + 1, addr, name, &type); - if (((GNKSA_OK != i) && (GNKSA_LOCALPART_MISSING > i)) || !*addr) { + i = gnksa_check_from(++cp); + gnksa_split_from(cp, addr, name, &type); + if (((GNKSA_OK != i) && (GNKSA_LOCALPART_MISSING > i)) || !*addr) #else - i = gnksa_check_from(cp + 1); - if ((GNKSA_OK != i) && (GNKSA_LOCALPART_MISSING > i)) { + i = gnksa_check_from(++cp); + if ((GNKSA_OK != i) && (GNKSA_LOCALPART_MISSING > i)) #endif /* 0 */ + { setup_check_article_screen(&init); StartInverse(); my_fprintf(stderr, _(txt_error_bad_msgidfqdn), i); my_fprintf(stderr, gnksa_strerror(i), i); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); #ifndef FORGERY errors++; #endif /* !FORGERY */ } + if (damaged_id(cp)) + errors_catbp |= CA_ERROR_BAD_MESSAGE_ID; } if (cp - line == 10 && !strncasecmp(line, "References", 10)) { @@ -932,6 +1026,24 @@ check_article_to_be_posted( saw_references = TRUE; } + if (cp - line == 4 && !strncasecmp(line, "Date", 4)) { + if ((cp2 = parse_header(line, "Date", FALSE, FALSE, FALSE))) { + if (parsedate(cp2, (struct _TIMEINFO *) 0) <= 0) + errors_catbp |= CA_ERROR_BAD_DATE; + } else { + errors_catbp |= CA_ERROR_BAD_DATE; + } + } + + if (cp - line == 7 && !strncasecmp(line, "Expires", 7)) { + if ((cp2 = parse_header(line, "Expires", FALSE, FALSE, FALSE))) { + if (parsedate(cp2, (struct _TIMEINFO *) 0) <= 0) + errors_catbp |= CA_ERROR_BAD_EXPIRES; + } else { + errors_catbp |= CA_ERROR_BAD_EXPIRES; + } + } + /* * TODO: also check for other illegal chars? * a 'common' error is to use a semicolon instead of a comma. @@ -956,30 +1068,48 @@ check_article_to_be_posted( unfold_header(line); } - strip_double_ngs(cp); - while (*cp) { - if (!(cp2 = strchr(cp, ','))) - cp2 = cp + strlen(cp); - else - *cp2++ = '\0'; - if (ngcnt < NGLIMIT) { - nglens[ngcnt] = strlen(cp); - ngptrs[ngcnt] = my_malloc(nglens[ngcnt] + 1); - if (!ngptrs[ngcnt]) { - for (i = 0; i < ngcnt; i++) - FreeIfNeeded(ngptrs[i]); - for (i = 0; i < ftngcnt; i++) - FreeIfNeeded(ftngptrs[i]); - Raw(oldraw); - return 1; + newsgroups = build_nglist(cp, &ngcnt); + if (newsgroups && ngcnt) + (void) stripped_double_ngs(newsgroups, &ngcnt); + + if (!ngcnt) + errors_catbp |= CA_ERROR_EMPTY_NEWSGROUPS; + else { + for (cp = line + 11; *cp; cp++) { + if (!isascii(*cp)) { + errors_catbp |= CA_ERROR_NEWSGROUPS_NOT_7BIT; + break; } - strcpy(ngptrs[ngcnt], cp); - ngcnt++; } - cp = cp2; } - if (!ngcnt) - errors_catbp |= CA_ERROR_EMPTY_NEWSGROUPS; + { /* check for poster, example, example.* */ + char *groups; + + for (cp = line + 11; *cp == ' '; cp++) + ; + cp2 = groups = my_strdup(cp); + + cp = strtok(groups, ","); + do { + if (!strcmp(cp, "poster")) + errors_catbp |= CA_ERROR_NEWSGROUPS_POSTER; + if (!strcmp(cp, "example")) + warnings_catbp |= CA_WARNING_NEWSGROUPS_EXAMPLE; + if (!strncmp(cp, "example.", 8)) + warnings_catbp |= CA_WARNING_NEWSGROUPS_EXAMPLE; + /* TODO: also check for to, ctl, all, control, junk */ + } while ((cp = strtok(NULL, ",")) != NULL); + free(cp2); + } + } + + if (cp - line == 12 && !strncasecmp(line, "Distribution", 12)) { + for (cp = line + 13; *cp; cp++) { + if (!isascii(*cp)) { + errors_catbp |= CA_ERROR_DISTRIBUTIOIN_NOT_7BIT; + break; + } + } } if (cp - line == 11 && !strncasecmp(line, "Followup-To", 11)) { @@ -987,7 +1117,6 @@ check_article_to_be_posted( ; if (strlen(cp)) /* Followup-To not empty */ found_followup_to_lines++; - strip_double_ngs(cp); if (strchr(cp, ' ') || strchr(cp, '\t')) { #ifdef FOLLOW_USEFOR_DRAFT warnings_catbp |= CA_WARNING_SPACE_IN_FOLLOWUP_TO; @@ -1003,27 +1132,34 @@ check_article_to_be_posted( #endif /* FOLLOW_USEFOR_DRAFT */ unfold_header(line); } - while (*cp) { - if (!(cp2 = strchr(cp, ','))) - cp2 = cp + strlen(cp); - else - *cp2++ = '\0'; - if (ftngcnt < NGLIMIT) { - ftnglens[ftngcnt] = strlen(cp); - ftngptrs[ftngcnt] = my_malloc(ftnglens[ftngcnt] + 1); - if (!ftngptrs[ftngcnt]) { - /* out of memory? */ - for (i = 0; i < ftngcnt; i++) - FreeIfNeeded(ftngptrs[i]); - for (i = 0; i < ngcnt; i++) - FreeIfNeeded(ngptrs[i]); - Raw(oldraw); - return 1; + + followupto = build_nglist(cp, &ftngcnt); + if (followupto && ftngcnt) { + char *groups; + + (void) stripped_double_ngs(followupto, &ftngcnt); + for (cp = line + 12; *cp; cp++) { + if (!isascii(*cp)) { + errors_catbp |= CA_ERROR_FOLLOWUP_TO_NOT_7BIT; + break; } - strcpy(ftngptrs[ftngcnt], cp); - ftngcnt++; } - cp = cp2; + + for (cp = line + 12; *cp == ' '; cp++) + ; + cp2 = groups = my_strdup(cp); + + cp = strtok(groups, ","); + do { + if (!strcmp(cp, "poster") && ftngcnt > 1) + errors_catbp |= CA_ERROR_FOLLOWUP_TO_POSTER; + if (!strcmp(cp, "example")) + warnings_catbp |= CA_WARNING_FOLLOWUP_TO_EXAMPLE; + if (!strncmp(cp, "example.", 8)) + warnings_catbp |= CA_WARNING_FOLLOWUP_TO_EXAMPLE; + /* TODO: also check for to, ctl, all, control, junk */ + } while ((cp = strtok(NULL, ",")) != NULL); + free(cp2); } } } @@ -1064,7 +1200,7 @@ check_article_to_be_posted( errors_catbp |= CA_ERROR_DUPLICATED_FROM; } - if (!found_newsgroups_lines && art_type == GROUP_TYPE_NEWS) + if (!found_newsgroups_lines && c_art_type == GROUP_TYPE_NEWS) errors_catbp |= CA_ERROR_MISSING_NEWSGROUPS; if (found_newsgroups_lines > 1) @@ -1144,7 +1280,7 @@ check_article_to_be_posted( contains_8bit = TRUE; cp++; col++; -#endif /* MULTIBYTE_ABLE && ! NO_LOCALE */ +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ } } } @@ -1163,19 +1299,19 @@ check_article_to_be_posted( /* * TODO: cleanup, test me, move to the right location, strings -> lang.c, ... */ - if (must_break_line && strcasecmp(txt_mime_encodings[tinrc.post_mime_encoding], txt_base64)) { + if (must_break_line && ((*c_group ? (*c_group)->attribute->post_mime_encoding : tinrc.post_mime_encoding) != MIME_ENCODING_BASE64)) { setup_check_article_screen(&init); # ifdef MIME_BREAK_LONG_LINES if (contains_8bit) { - if (strcasecmp(txt_mime_encodings[tinrc.post_mime_encoding], txt_quoted_printable)) + if ((*c_group ? (*c_group)->attribute->post_mime_encoding : tinrc.post_mime_encoding) != MIME_ENCODING_QP) my_fprintf(stderr, _("Line %d is longer than 998 octets and should be folded, but\nencoding is neither set to %s nor to %s\n"), must_break_line, txt_quoted_printable, txt_base64); } else # endif /* MIME_BREAK_LONG_LINES */ { - if (!strcasecmp(txt_mime_encodings[tinrc.post_mime_encoding], txt_quoted_printable)) - my_fprintf(stderr, _("Line %d is longer than 998 octets, and should be folded, but\nencoding is set to %s without enabling MIME_BREAK_LONG_LINES or\nposting doesn't contain any 8bit chars and thus folding won't happen\n"), must_break_line, txt_quoted_printable); + if ((*c_group ? (*c_group)->attribute->post_mime_encoding : tinrc.post_mime_encoding) == MIME_ENCODING_QP) + my_fprintf(stderr, _("Line %d is longer than 998 octets and should be folded, but\nencoding is set to %s without enabling MIME_BREAK_LONG_LINES or\nposting doesn't contain any 8bit chars and thus folding won't happen\n"), must_break_line, txt_quoted_printable); else - my_fprintf(stderr, _("Line %d is longer than 998 octets, and should be folded, but\nencoding is not set to %s\n"), must_break_line, txt_base64); + my_fprintf(stderr, _("Line %d is longer than 998 octets and should be folded, but\nencoding is not set to %s\n"), must_break_line, txt_base64); } my_fflush(stderr); warnings++; @@ -1215,7 +1351,7 @@ check_article_to_be_posted( * Is this correct for crosspostings? */ if (ngcnt) - *group = group_find(ngptrs[0]); + *c_group = group_find(newsgroups[0], FALSE); /* * check for known 7bit charsets @@ -1231,7 +1367,7 @@ check_article_to_be_posted( break; } } - if (strcasecmp(txt_mime_encodings[tinrc.post_mime_encoding], "7bit")) + if ((*c_group ? (*c_group)->attribute->post_mime_encoding : tinrc.post_mime_encoding) != MIME_ENCODING_7BIT) mime_7bit = FALSE; if (contains_8bit && mime_usascii) #ifndef CHARSET_CONVERSION @@ -1249,7 +1385,7 @@ check_article_to_be_posted( * signature it will not be encoded. We might additionally check if there's * a file named ~/.signature and skip the warning if it is not present. */ - if (((tinrc.post_mime_encoding == MIME_ENCODING_QP) || (tinrc.post_mime_encoding == MIME_ENCODING_BASE64)) && 0 != strcasecmp(tinrc.inews_prog, INTERNAL_CMD)) + if ((((*c_group ? (*c_group)->attribute->post_mime_encoding : tinrc.post_mime_encoding) == MIME_ENCODING_QP) || ((*c_group ? (*c_group)->attribute->post_mime_encoding : tinrc.post_mime_encoding) == MIME_ENCODING_BASE64)) && 0 != strcasecmp(tinrc.inews_prog, INTERNAL_CMD)) warnings_catbp |= CA_WARNING_ENCODING_EXTERNAL_INEWS; /* give most error messages */ @@ -1259,9 +1395,9 @@ check_article_to_be_posted( /* missing headers */ if (errors_catbp & CA_ERROR_HEADER_LINE_BLANK) - my_fprintf(stderr, _(txt_error_header_line_blank)); + my_fprintf(stderr, "%s", _(txt_error_header_line_blank)); if (errors_catbp & CA_ERROR_MISSING_BODY_SEPERATOT) - my_fprintf(stderr, _(txt_error_header_and_body_not_separate)); + my_fprintf(stderr, "%s", _(txt_error_header_and_body_not_separate)); if (errors_catbp & CA_ERROR_MISSING_FROM) my_fprintf(stderr, _(txt_error_header_line_missing), "From"); if (errors_catbp & CA_ERROR_MISSING_SUBJECT) @@ -1269,7 +1405,7 @@ check_article_to_be_posted( if (errors_catbp & CA_ERROR_MISSING_NEWSGROUPS) my_fprintf(stderr, _(txt_error_header_line_missing), "Newsgroups"); - /* dublicated headers */ + /* duplicated headers */ if (errors_catbp & CA_ERROR_DUPLICATED_FROM) my_fprintf(stderr, _(txt_error_header_duplicate), found_from_lines, "From"); if (errors_catbp & CA_ERROR_DUPLICATED_SUBJECT) @@ -1299,14 +1435,34 @@ check_article_to_be_posted( my_fprintf(stderr, _(txt_error_header_line_groups_contd), "Followup-To"); #endif /* !FOLLOW_USEFOR_DRAFT */ + /* illegal group names / combinations */ + if (errors_catbp & CA_ERROR_NEWSGROUPS_POSTER) + my_fprintf(stderr, "%s", _(txt_error_newsgroups_poster)); + if (errors_catbp & CA_ERROR_FOLLOWUP_TO_POSTER) + my_fprintf(stderr, "%s", _(txt_error_followup_poster)); + /* encoding/charset trouble */ if (errors_catbp & CA_ERROR_BAD_CHARSET) - my_fprintf(stderr, _(txt_error_header_line_bad_charset)); + my_fprintf(stderr, "%s", _(txt_error_header_line_bad_charset)); if (errors_catbp & CA_ERROR_BAD_ENCODING) - my_fprintf(stderr, _(txt_error_header_line_bad_encoding)); + my_fprintf(stderr, "%s", _(txt_error_header_line_bad_encoding)); + + if (errors_catbp & CA_ERROR_DISTRIBUTIOIN_NOT_7BIT) + my_fprintf(stderr, _(txt_error_header_line_not_7bit), "Distribution"); + if (errors_catbp & CA_ERROR_NEWSGROUPS_NOT_7BIT) + my_fprintf(stderr, _(txt_error_header_line_not_7bit), "Newsgroups"); + if (errors_catbp & CA_ERROR_FOLLOWUP_TO_NOT_7BIT) + my_fprintf(stderr, _(txt_error_header_line_not_7bit), "Followup-To"); + + if (errors_catbp & CA_ERROR_BAD_MESSAGE_ID) + my_fprintf(stderr, _(txt_error_header_format), "Message-ID"); + if (errors_catbp & CA_ERROR_BAD_DATE) + my_fprintf(stderr, _(txt_error_header_format), "Date"); + if (errors_catbp & CA_ERROR_BAD_EXPIRES) + my_fprintf(stderr, _(txt_error_header_format), "Expires"); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); errors += errors_catbp; } @@ -1315,11 +1471,14 @@ check_article_to_be_posted( setup_check_article_screen(&init); if (warnings_catbp & CA_WARNING_SPACES_ONLY_SUBJECT) - my_fprintf(stderr, _(txt_warn_blank_subject)); + my_fprintf(stderr, "%s", _(txt_warn_blank_subject)); if (warnings_catbp & CA_WARNING_RE_WITHOUT_REFERENCES) - my_fprintf(stderr, _(txt_warn_re_but_no_references)); + my_fprintf(stderr, "%s", _(txt_warn_re_but_no_references)); if (warnings_catbp & CA_WARNING_REFERENCES_WITHOUT_RE) - my_fprintf(stderr, _(txt_warn_references_but_no_re)); + my_fprintf(stderr, "%s", _(txt_warn_references_but_no_re)); + + if ((warnings_catbp & CA_WARNING_NEWSGROUPS_EXAMPLE) || (warnings_catbp & CA_WARNING_FOLLOWUP_TO_EXAMPLE)) + my_fprintf(stderr, "%s", _(txt_warn_example_hierarchy)); #ifdef FOLLOW_USEFOR_DRAFT /* TODO: give useful warning */ if (warnings_catbp & CA_WARNING_SPACE_IN_NEWSGROUPS) @@ -1335,12 +1494,12 @@ check_article_to_be_posted( if (warnings_catbp & CA_WARNING_MULTIPLE_SIGDASHES) my_fprintf(stderr, _(txt_warn_multiple_sigs), saw_sig_dashes); if (warnings_catbp & CA_WARNING_WRONG_SIGDASHES) - my_fprintf(stderr, _(txt_warn_wrong_sig_format)); + my_fprintf(stderr, "%s", _(txt_warn_wrong_sig_format)); if (warnings_catbp & CA_WARNING_LONG_SIGNATURE) my_fprintf(stderr, _(txt_warn_sig_too_long), MAX_SIG_LINES); if (warnings_catbp & CA_WARNING_ENCODING_EXTERNAL_INEWS) - my_fprintf(stderr, _(txt_warn_encoding_and_external_inews)); + my_fprintf(stderr, "%s", _(txt_warn_encoding_and_external_inews)); #ifdef CHARSET_CONVERSION if (warnings_catbp & CA_WARNING_CHARSET_CONVERSION) @@ -1356,21 +1515,33 @@ check_article_to_be_posted( * Print a note about each newsgroup */ setup_check_article_screen(&init); - if (art_unchanged) - my_fprintf(stderr, _(txt_warn_article_unchanged)); + if (c_art_unchanged) + my_fprintf(stderr, "%s", _(txt_warn_article_unchanged)); my_fprintf(stderr, _(txt_art_newsgroups), subject, PLURAL(ngcnt, txt_newsgroup)); for (i = 0; i < ngcnt; i++) { - if ((psGrp = group_find(ngptrs[i]))) - my_fprintf(stderr, " %s\t %s\n", ngptrs[i], BlankIfNull(psGrp->description)); - else { + if ((psGrp = group_find(newsgroups[i], FALSE))) { + if (psGrp->aliasedto) { +#ifdef HAVE_FASCIST_NEWSADMIN + StartInverse(); + errors++; + my_fprintf(stderr, N_(txt_error_grp_renamed), newsgroups[i], psGrp->aliasedto); + EndInverse(); + my_fflush(stderr); +#else + my_fprintf(stderr, N_(txt_warn_grp_renamed), newsgroups[i], psGrp->aliasedto); + warnings++; +#endif /* HAVE_FASCIST_NEWSADMIN */ + } else + my_fprintf(stderr, " %s\t %s\n", newsgroups[i], BlankIfNull(psGrp->description)); + } else { #ifdef HAVE_FASCIST_NEWSADMIN StartInverse(); errors++; - my_fprintf(stderr, _(txt_error_not_valid_newsgroup), ngptrs[i]); - my_fflush(stderr); + my_fprintf(stderr, _(txt_error_not_valid_newsgroup), newsgroups[i]); EndInverse(); + my_fflush(stderr); #else - my_fprintf(stderr, (!list_active ? /* did we read the whole active file? */ _(txt_warn_not_in_newsrc) : _(txt_warn_not_valid_newsgroup)), ngptrs[i]); + my_fprintf(stderr, (!list_active ? /* did we read the whole active file? */ _(txt_warn_not_in_newsrc) : _(txt_warn_not_valid_newsgroup)), newsgroups[i]); warnings++; #endif /* HAVE_FASCIST_NEWSADMIN */ } @@ -1379,8 +1550,8 @@ check_article_to_be_posted( #ifdef HAVE_FASCIST_NEWSADMIN StartInverse(); my_fprintf(stderr, _(txt_error_missing_followup_to), ngcnt); - my_fflush(stderr); EndInverse(); + my_fflush(stderr); errors++; #else my_fprintf(stderr, _(txt_warn_missing_followup_to), ngcnt); @@ -1392,12 +1563,12 @@ check_article_to_be_posted( if (ftngcnt > 1) { #ifdef HAVE_FASCIST_NEWSADMIN StartInverse(); - my_fprintf(stderr, _(txt_error_followup_to_several_groups)); - my_fflush(stderr); + my_fprintf(stderr, "%s", _(txt_error_followup_to_several_groups)); EndInverse(); + my_fflush(stderr); errors++; #else - my_fprintf(stderr, _(txt_warn_followup_to_several_groups)); + my_fprintf(stderr, "%s", _(txt_warn_followup_to_several_groups)); warnings++; #endif /* HAVE_FASCIST_NEWSADMIN */ } @@ -1406,20 +1577,32 @@ check_article_to_be_posted( #endif /* HAVE_FASCIST_NEWSADMIN */ my_fprintf(stderr, _(txt_followup_newsgroups), PLURAL(ftngcnt, txt_newsgroup)); for (i = 0; i < ftngcnt; i++) { - if ((psGrp = group_find(ftngptrs[i]))) - my_fprintf(stderr, " %s\t %s\n", ftngptrs[i], BlankIfNull(psGrp->description)); - else { - if (STRCMPEQ("poster", ftngptrs[i])) - my_fprintf(stderr, _(txt_followup_poster), ftngptrs[i]); - else { + if ((psGrp = group_find(followupto[i], FALSE))) { + if (psGrp->aliasedto) { #ifdef HAVE_FASCIST_NEWSADMIN StartInverse(); - my_fprintf(stderr, _(txt_error_not_valid_newsgroup), ftngptrs[i]); + errors++; + my_fprintf(stderr, N_(txt_error_grp_renamed), followupto[i], psGrp->aliasedto); + EndInverse(); my_fflush(stderr); +#else + my_fprintf(stderr, N_(txt_warn_grp_renamed), followupto[i], psGrp->aliasedto); + warnings++; +#endif /* HAVE_FASCIST_NEWSADMIN */ + } else + my_fprintf(stderr, " %s\t %s\n", followupto[i], BlankIfNull(psGrp->description)); + } else { + if (STRCMPEQ("poster", followupto[i])) + my_fprintf(stderr, _(txt_followup_poster), followupto[i]); + else { +#ifdef HAVE_FASCIST_NEWSADMIN + StartInverse(); + my_fprintf(stderr, _(txt_error_not_valid_newsgroup), followupto[i]); EndInverse(); + my_fflush(stderr); errors++; #else - my_fprintf(stderr, (!list_active ? /* did we read the whole active file? */ _(txt_warn_not_in_newsrc) : _(txt_warn_not_valid_newsgroup)), ftngptrs[i]); + my_fprintf(stderr, (!list_active ? /* did we read the whole active file? */ _(txt_warn_not_in_newsrc) : _(txt_warn_not_valid_newsgroup)), followupto[i]); warnings++; #endif /* HAVE_FASCIST_NEWSADMIN */ } @@ -1432,7 +1615,7 @@ check_article_to_be_posted( #ifndef NO_ETIQUETTE if (tinrc.beginner_level) - my_fprintf(stderr, _(txt_warn_posting_etiquette)); + my_fprintf(stderr, "%s", _(txt_warn_posting_etiquette)); #endif /* !NO_ETIQUETTE */ my_fflush(stderr); } @@ -1441,10 +1624,14 @@ check_article_to_be_posted( Raw(oldraw); /* restore raw/unraw state */ /* free memory */ - for (i = 0; i < ngcnt; i++) - FreeIfNeeded(ngptrs[i]); - for (i = 0; i < ftngcnt; i++) - FreeIfNeeded(ftngptrs[i]); + if (newsgroups && ngcnt) { + FreeIfNeeded(*newsgroups); + FreeIfNeeded(newsgroups); + } + if (followupto && ftngcnt) { + FreeIfNeeded(*followupto); + FreeIfNeeded(followupto); + } return (errors ? 1 : warnings ? 2 : 0); } @@ -1464,6 +1651,45 @@ setup_check_article_screen( } +void +refresh_post_screen( + int context) +{ + switch (context) { + case cPost: + ClearScreen(); + center_line(0, TRUE, _(txt_check_article)); + MoveCursor(INDEX_TOP, 0); + check_article_to_be_posted(NULL, 0, NULL, FALSE, TRUE); + break; + + case cPostCancel: + { + int oldraw = RawState(); + + ClearScreen(); + center_line(0, TRUE, _(txt_check_article)); + MoveCursor(INDEX_TOP, 0); + Raw(FALSE); +#ifdef FORGERY + show_cancel_info(FALSE, TRUE); +#else + show_cancel_info(); +#endif /* FORGERY */ + Raw(oldraw); + } + break; + + case cPostFup: + show_followup_info(); + break; + + default: + break; + } +} + + /* * edit/present an article, perform spell/PGP etc., operations if required * submit the article and perform all necessary backend processing @@ -1480,6 +1706,7 @@ post_loop( char a_message_id[HEADER_LEN]; /* Message-ID of the article if known */ int ret_code = POSTED_NONE; int i = 1; + int save_signal_context = signal_context; long artchanged; /* artchanged work was not done in post_postponed_article */ struct t_group *ogroup = curr_group; t_bool art_unchanged; @@ -1496,7 +1723,7 @@ post_article_loop: * recheck subject and restart editor, but is not enabled */ artchanged = file_mtime(article_name); - if (!invoke_editor(article_name, offset)) { + if (!invoke_editor(article_name, offset, group)) { if (file_size(article_name) > 0L) { if (artchanged != file_mtime(article_name)) { unlink(backup_article_name(article_name)); @@ -1513,7 +1740,7 @@ post_article_loop: if (file_size(article_name) > 0L) { if (artchanged == file_mtime(article_name)) art_unchanged = TRUE; - while ((i = check_article_to_be_posted(article_name, art_type, &group, art_unchanged)) == 1 && repair_article(&func, group)) + while ((i = check_article_to_be_posted(article_name, art_type, &group, art_unchanged, FALSE)) == 1 && repair_article(&func, group)) ; if (func == POST_EDIT || func == GLOBAL_OPTION_MENU) break; @@ -1523,7 +1750,7 @@ post_article_loop: case GLOBAL_QUIT: case GLOBAL_ABORT: if (tinrc.unlink_article) { -#if 0 /* usefull? */ +#if 0 /* useful? */ if (tinrc.keep_dead_articles) append_file(dead_articles, dead_article); #endif /* 0 */ @@ -1533,8 +1760,8 @@ post_article_loop: return ret_code; case GLOBAL_OPTION_MENU: - (void) change_config_file(group); - while ((i = check_article_to_be_posted(article_name, art_type, &group, art_unchanged) == 1) && repair_article(&func, group)) + config_page(group->name); + while ((i = check_article_to_be_posted(article_name, art_type, &group, art_unchanged, FALSE)) == 1 && repair_article(&func, group)) ; break; @@ -1593,6 +1820,7 @@ post_article_loop: default: break; } + signal_context = cPost; if (type != POST_REPOST) { char keyedit[MAXKEYLEN], keypost[MAXKEYLEN]; char keypostpone[MAXKEYLEN], keyquit[MAXKEYLEN]; @@ -1604,19 +1832,47 @@ post_article_loop: char keypgp[MAXKEYLEN]; #endif /* HAVE_PGP_GPG */ +#if defined(HAVE_ISPELL) && defined(HAVE_PGP_GPG) func = prompt_slk_response((i ? POST_EDIT : art_unchanged ? POST_POSTPONE : GLOBAL_POST), post_post_keys, _(txt_quit_edit_post), printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), -#ifdef HAVE_ISPELL printascii(keyispell, func_to_key(POST_ISPELL, post_post_keys)), -#endif /* HAVE_ISPELL */ -#ifdef HAVE_PGP_GPG printascii(keypgp, func_to_key(POST_PGP, post_post_keys)), -#endif /* HAVE_PGP_GPG */ printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +#else +# ifdef HAVE_ISPELL + func = prompt_slk_response((i ? POST_EDIT : art_unchanged ? POST_POSTPONE : GLOBAL_POST), + post_post_keys, _(txt_quit_edit_post), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keyispell, func_to_key(POST_ISPELL, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# else +# ifdef HAVE_PGP_GPG + func = prompt_slk_response((i ? POST_EDIT : art_unchanged ? POST_POSTPONE : GLOBAL_POST), + post_post_keys, _(txt_quit_edit_post), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keypgp, func_to_key(POST_PGP, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# else + func = prompt_slk_response((i ? POST_EDIT : art_unchanged ? POST_POSTPONE : GLOBAL_POST), + post_post_keys, _(txt_quit_edit_post), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# endif /* HAVE_PGP_GPG */ +# endif /* HAVE_ISPELL */ +#endif /* HAVE_ISPELL && HAVE_PGP_GPG */ } else { char *smsg; char buf[LEN]; @@ -1630,18 +1886,43 @@ post_article_loop: char keypgp[MAXKEYLEN]; #endif /* HAVE_PGP_GPG */ +#if defined(HAVE_ISPELL) && defined(HAVE_PGP_GPG) snprintf(buf, sizeof(buf), _(txt_quit_edit_xpost), printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), -#ifdef HAVE_ISPELL printascii(keyispell, func_to_key(POST_ISPELL, post_post_keys)), -#endif /* HAVE_ISPELL */ -#ifdef HAVE_PGP_GPG printascii(keypgp, func_to_key(POST_PGP, post_post_keys)), -#endif /* HAVE_PGP_GPG */ printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +#else +# ifdef HAVE_ISPELL + snprintf(buf, sizeof(buf), _(txt_quit_edit_xpost), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keyispell, func_to_key(POST_ISPELL, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# else +# ifdef HAVE_PGP_GPG + snprintf(buf, sizeof(buf), _(txt_quit_edit_xpost), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keypgp, func_to_key(POST_PGP, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# else + snprintf(buf, sizeof(buf), _(txt_quit_edit_xpost), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# endif /* HAVE_PGP_GPG */ +# endif /* HAVE_ISPELL */ +#endif /* HAVE_ISPELL && HAVE_PGP_GPG */ /* Superfluous force_command stuff not used in current code */ func = ( /* force_command ? ch_default : */ prompt_slk_response(func, @@ -1649,6 +1930,7 @@ post_article_loop: "" /* TODO: was note_h.subj */ ))); free(smsg); } + signal_context = save_signal_context; } post_article_done: @@ -1682,11 +1964,13 @@ post_article_done: * actually in * FIXME: This logic is faithful to the original, but awful */ - if (art_type == GROUP_TYPE_NEWS && tinrc.add_posted_to_filter && (type == POST_QUICK || type == POST_POSTPONED || type == POST_NORMAL)) { - if ((group = group_find(header.newsgroups)) && (type != POST_POSTPONED || (type == POST_POSTPONED && !strchr(header.newsgroups, ',')))) { - quick_filter_select_posted_art(group, header.subj, a_message_id); - if (type == POST_QUICK || (type == POST_POSTPONED && post_postponed_and_exit)) - write_filter_file(filter_file); + if (group) { /* we might be (x-)posting to an unavailable group */ + if (art_type == GROUP_TYPE_NEWS && group->attribute->add_posted_to_filter && (type == POST_QUICK || type == POST_POSTPONED || type == POST_NORMAL)) { + if ((group = group_find(header.newsgroups, FALSE)) && (type != POST_POSTPONED || (type == POST_POSTPONED && !strchr(header.newsgroups, ',')))) { + quick_filter_select_posted_art(group, header.subj, a_message_id); + if (type == POST_QUICK || (type == POST_POSTPONED && post_postponed_and_exit)) + write_filter_file(filter_file); + } } } @@ -1730,16 +2014,16 @@ post_article_done: char a_mailbox[LEN]; char posted_msgs_file[PATH_LEN]; - joinpath(posted_msgs_file, tinrc.maildir, tinrc.posted_articles_file); + joinpath(posted_msgs_file, sizeof(posted_msgs_file), cmdline.args & CMDLINE_MAILDIR ? cmdline.maildir : (group ? group->attribute->maildir : tinrc.maildir), tinrc.posted_articles_file); /* * log Message-ID if given in a_message_id, * add Date:, remove empty headers */ add_headers(article_name, a_message_id); - if (!strfpath(posted_msgs_file, a_mailbox, sizeof(a_mailbox), group)) + if (!strfpath(posted_msgs_file, a_mailbox, sizeof(a_mailbox), group, TRUE)) STRCPY(a_mailbox, posted_msgs_file); if (!append_mail(article_name, userid, a_mailbox)) { - /* TODO: error message */ + /* TODO: error handling */ } } free_and_init_header(&header); @@ -1780,7 +2064,7 @@ check_moderated( do { vnum++; /* number of newsgroups */ - if (!(group = group_find(groupname))) { + if (!(group = group_find(groupname, FALSE))) { bnum++; /* number of bogus groups */ continue; } @@ -1793,7 +2077,7 @@ check_moderated( * Generally only bogus groups should have no attributes */ if (group->bogus) { - error_message(_(txt_group_bogus), groupname); + error_message(2, _(txt_group_bogus), groupname); return NULL; } @@ -1805,16 +2089,15 @@ check_moderated( return NULL; } - if (group->moderated == 'x' || group->moderated == 'n') { - error_message(_(txt_cannot_post_group), group->name); + if (group->moderated == 'x' || group->moderated == 'n' || group->moderated == 'j') { + error_message(2, _(txt_cannot_post_group), group->name); return NULL; } if (group->moderated == 'm') { char *prompt = fmt_string(_(txt_group_is_moderated), groupname); if (prompt_yn(prompt, TRUE) != 1) { -/* Raw(FALSE); */ - error_message(failmsg); + error_message(*failmsg ? 2 : 0, failmsg); free(prompt); return NULL; } @@ -1825,7 +2108,7 @@ check_moderated( if (vnum > bnum) return first_group; else { - error_message(_(txt_not_in_active_file), groupname); + error_message(2, _(txt_not_in_active_file), groupname); return NULL; } } @@ -1884,11 +2167,13 @@ create_normal_article_headers( ADD_MSG_ID_HEADER(); } - if (group->attribute->followup_to != NULL && art_type == GROUP_TYPE_NEWS) - msg_add_header("Followup-To", group->attribute->followup_to); - else { - if (tinrc.prompt_followupto) - msg_add_header("Followup-To", ""); + if (art_type == GROUP_TYPE_NEWS) { + if (group->attribute->followup_to != NULL) + msg_add_header("Followup-To", group->attribute->followup_to); + else { + if (group->attribute->prompt_followupto) + msg_add_header("Followup-To", ""); + } } if (*reply_to) @@ -1991,7 +2276,7 @@ post_postponed_article( *p = '\0'; snprintf(buf, sizeof(buf), _("Posting: %.*s ..."), cCOLS - 14, subject); /* TODO: -> lang.c, use strunc() */ - post_loop(POST_POSTPONED, group_find(ng), (ask ? POST_EDIT : GLOBAL_POST), buf, GROUP_TYPE_NEWS, 0); + post_loop(POST_POSTPONED, group_find(ng, FALSE), (ask ? POST_EDIT : GLOBAL_POST), buf, GROUP_TYPE_NEWS, 0); free(ng); return; } @@ -2191,7 +2476,7 @@ pickup_postponed_articles( case GLOBAL_QUIT: case GLOBAL_ABORT: if (!append_mail(article_name, userid, postponed_articles_file)) { - /* TODO: : error -message */ + /* TODO: error handling */ } unlink(article_name); if (func != PROMPT_NO) @@ -2212,7 +2497,7 @@ postpone_article( { wait_message(3, _(txt_info_do_postpone)); if (!append_mail(the_article, userid, postponed_articles_file)) { - /* TODO: error-message */ + /* TODO: error handling */ } } @@ -2308,19 +2593,27 @@ skip_id( return skipped; } - +/* + * Checks if Message-ID has valid format + * Returns FALSE if it does, TRUE if it does not + * TODO: combine with refs.c:valid_msgid() (return values swapped) + */ static t_bool damaged_id( const char *id) { while (*id && isspace((unsigned char) *id)) id++; + if (*id != '<') - return 1; + return TRUE; + while (isascii((unsigned char) *id) && isgraph((unsigned char) *id) && !iscntrl((unsigned char) *id) && *id != '>') id++; + if (*id != '>') return TRUE; + return FALSE; } @@ -2349,7 +2642,11 @@ is_crosspost( * several newsservers out there which do have some length limit, so * shortening to 998 is a good idea. */ -#define MAXREFSIZE 998 +#ifdef NNTP_ONLY +# define MAXREFSIZE 998 +#else /* some extern inews (required for posting right into the spool) can't handle 1k-lines */ +# define MAXREFSIZE 512 +#endif /* NNTP_ONLY */ /* @@ -2462,6 +2759,43 @@ join_references( } +static void +show_followup_info( + void) +{ + char *ptr; + struct t_header note_h = pgart.hdr; + + /* + * note that comparing newsgroups and followup-to isn't + * really correct, since the order of the newsgroups may be + * different, but testing that also isn't really worth + * it. The main culprit for the duplication is tin <=1.22, BTW. + */ + MoveCursor(cLINES / 2, 0); + CleartoEOS(); + center_line((cLINES / 2) + 2, TRUE, _(txt_resp_redirect)); + MoveCursor((cLINES / 2) + 4, 0); + + my_fputs(" ", stdout); + /* + * TODO: check if any valid groups are in the Followup-To:-line + * and if not inform the user and use Newsgroups: instead + */ + ptr = note_h.followup; + while (*ptr) { + if (*ptr != ',') + my_fputc(*ptr, stdout); + else { + my_fputs(cCRLF, stdout); + my_fputs(" ", stdout); + } + ptr++; + } + my_flush(); +} + + int /* return code is currently ignored! */ post_response( const char *groupname, @@ -2522,40 +2856,16 @@ post_response( } else if (note_h.followup && strcmp(note_h.followup, groupname) != 0 && strcmp(note_h.followup, note_h.newsgroups) != 0) { char keyignore[MAXKEYLEN], keypost[MAXKEYLEN], keyquit[MAXKEYLEN]; + int save_signal_context = signal_context; - /* - * note that comparing newsgroups and followup-to isn't - * really correct, since the order of the newsgroups may be - * different, but testing that also isn't really worth - * it. The main culprit for the duplication is tin <=1.22, BTW. - */ - MoveCursor(cLINES / 2, 0); - CleartoEOS(); - center_line((cLINES / 2) + 2, TRUE, _(txt_resp_redirect)); - MoveCursor((cLINES / 2) + 4, 0); - - my_fputs(" ", stdout); - /* - * TODO: check if any valid groups are in the Followup-To:-line - * and if not inform the user and use Newsgroups: instead - */ - ptr = note_h.followup; - while (*ptr) { - if (*ptr != ',') - my_fputc(*ptr, stdout); - else { - my_fputs(cCRLF, stdout); - my_fputs(" ", stdout); - } - ptr++; - } - my_flush(); - + show_followup_info(); + signal_context = cPostFup; func = prompt_slk_response(GLOBAL_POST, post_ignore_fupto_keys, _(txt_prompt_fup_ignore), printascii(keypost, func_to_key(GLOBAL_POST, post_ignore_fupto_keys)), printascii(keyignore, func_to_key(POST_IGNORE_FUPTO, post_ignore_fupto_keys)), printascii(keyquit, func_to_key(GLOBAL_QUIT, post_ignore_fupto_keys))); + signal_context = save_signal_context; switch (func) { case GLOBAL_QUIT: case GLOBAL_ABORT: @@ -2578,7 +2888,7 @@ post_response( fchmod(fileno(fp), (mode_t) (S_IRUSR|S_IWUSR)); - group = group_find(groupname); + group = group_find(groupname, FALSE); get_from_name(from_name, group); #ifdef FORGERY make_path_header(line); @@ -2595,7 +2905,7 @@ post_response( msg_add_header("X-Comment-To", note_h.from); if (note_h.followup && use_followup_to) { msg_add_header("Newsgroups", note_h.followup); - if (tinrc.prompt_followupto) + if (group && group->attribute->prompt_followupto) msg_add_header("Followup-To", (strchr(note_h.followup, ',') != NULL) ? note_h.followup : ""); } else { if (group && group->attribute->mailing_list) { @@ -2603,12 +2913,12 @@ post_response( art_type = GROUP_TYPE_MAIL; } else { msg_add_header("Newsgroups", note_h.newsgroups); - if (tinrc.prompt_followupto) + if (group && group->attribute->prompt_followupto) msg_add_header("Followup-To", (strchr(note_h.newsgroups, ',') != NULL) ? note_h.newsgroups : ""); if (group && group->attribute->followup_to != NULL) msg_add_header("Followup-To", group->attribute->followup_to); else { - if ((ptr = strchr(note_h.newsgroups, ','))) + if (strchr(note_h.newsgroups, ',')) msg_add_header("Followup-To", note_h.newsgroups); } } @@ -2637,15 +2947,17 @@ post_response( msg_add_header("Distribution", my_distribution); } - msg_add_x_headers(group->attribute->x_headers); + if (group && group->attribute->x_headers) + msg_add_x_headers(group->attribute->x_headers); start_line_offset = msg_write_headers(fp) + 1; msg_free_headers(); - start_line_offset += msg_add_x_body(fp, group->attribute->x_body); + if (group && group->attribute->x_body) + start_line_offset += msg_add_x_body(fp, group->attribute->x_body); if (copy_text) { if (arts[respnum].xref && is_crosspost(arts[respnum].xref)) { - if (strfquote(group->name, respnum, buf, sizeof(buf), tinrc.xpost_quote_format)) + if (strfquote(group ? group->name : groupname, respnum, buf, sizeof(buf), tinrc.xpost_quote_format)) fprintf(fp, "%s\n", buf); } else if (strfquote(groupname, respnum, buf, sizeof(buf), (group && group->attribute->news_quote_format != NULL) ? group->attribute->news_quote_format : tinrc.news_quote_format)) fprintf(fp, "%s\n", buf); @@ -2695,7 +3007,7 @@ post_response( while (pgart.cookl[i].flags & C_HEADER) /* skip headers in cooked art if any */ i++; - if (i) /* cooked art contained any headers, so skip also the header/body seperator */ + if (i) /* cooked art contained any headers, so skip also the header/body separator */ i++; fseek(pgart.cooked, pgart.cookl[i].offset, SEEK_SET); /* skip headers and header/body separator */ @@ -2726,6 +3038,7 @@ post_response( static FILE * create_mail_headers( char *filename, + size_t filename_len, const char *suffix, const char *to, const char *subject, @@ -2734,12 +3047,11 @@ create_mail_headers( FILE *fp; msg_init_headers(); - joinpath(filename, homedir, suffix); + joinpath(filename, filename_len, homedir, suffix); - /* TODO: why do we exclude VMS here but nowhere else? */ -#if defined(APPEND_PID) && !defined(VMS) - snprintf(filename + strlen(filename), PATH_LEN - strlen(filename), ".%d", (int) process_id); -#endif /* APPEND_PID && !VMS */ +#ifdef APPEND_PID + snprintf(filename + strlen(filename), filename_len - strlen(filename), ".%ld", (long) process_id); +#endif /* APPEND_PID */ if ((fp = fopen(filename, "w")) == NULL) { perror_message(_(txt_cannot_open), filename); @@ -2779,10 +3091,10 @@ create_mail_headers( * put in the file in the first place, so we don't do it. */ if (!address_in_list(to, strlen(from_address) ? from_address : userid)) { - if (tinrc.auto_cc) + if ((curr_group && curr_group->attribute && (curr_group->attribute->auto_cc_bcc & AUTO_CC)) || (!curr_group && (tinrc.auto_cc_bcc & AUTO_CC))) msg_add_header("Cc", strlen(from_address) ? from_address : userid); - if (tinrc.auto_bcc) + if ((curr_group && curr_group->attribute && (curr_group->attribute->auto_cc_bcc & AUTO_BCC)) || (!curr_group && (tinrc.auto_cc_bcc & AUTO_BCC))) msg_add_header("Bcc", strlen(from_address) ? from_address : userid); } @@ -2840,14 +3152,14 @@ mail_loop( #endif /* HAVE_PGP_GPG */ if (groupname) - group = group_find(groupname); + group = group_find(groupname, FALSE); forever { switch (func) { case POST_EDIT: artchanged = file_mtime(filename); - if (!(invoke_editor(filename, start_line_offset))) + if (!(invoke_editor(filename, start_line_offset, group))) return ret; ret = POSTED_REDRAW; @@ -2869,9 +3181,10 @@ mail_loop( strncpy(subject, hdr.subj, HEADER_LEN - 1); subject[HEADER_LEN - 1] = '\0'; } else - error_message(_(txt_error_header_line_missing), "Subject"); + error_message(2, _(txt_error_header_line_missing), "Subject"); if (!hdr.to && !hdr.cc && !hdr.bcc) - error_message(_(txt_error_header_line_missing), "To"); + error_message(2, _(txt_error_header_line_missing), "To"); + free_and_init_header(&hdr); break; #ifdef HAVE_ISPELL @@ -2892,7 +3205,8 @@ mail_loop( if (get_recipients(&hdr, mail_to, sizeof(mail_to) - 1)) invoke_pgp_mail(filename, mail_to); else - error_message(_(txt_error_header_line_missing), "To"); + error_message(2, _(txt_error_header_line_missing), "To"); + free_and_init_header(&hdr); break; #endif /* HAVE_PGP_GPG */ @@ -2968,7 +3282,7 @@ mail_to_someone( const struct t_group *group) { FILE *fp; - char nam[HEADER_LEN]; + char nam[PATH_LEN]; char subject[HEADER_LEN]; int ret_code = POSTED_NONE; struct t_header note_h = artinfo->hdr; @@ -2983,14 +3297,51 @@ mail_to_someone( * the full original headers in either the body of the mail or a separate * message/rfc822 MIME part. */ - if ((fp = create_mail_headers(nam, TIN_LETTER_NAME, address, subject, NULL)) == NULL) + if ((fp = create_mail_headers(nam, sizeof(nam), TIN_LETTER_NAME, address, subject, NULL)) == NULL) return ret_code; + /* + * TODO: This is a undocumented hack! + * in the !mime_forward case we should get the charset of each part + * and convert it to the local one (as this is also needed for the + * interactive_mailer case). + */ + if (note_h.ext->type == TYPE_MULTIPART) + mime_forward = TRUE; /* force mime_forward for multipart articles */ + if (!mime_forward || INTERACTIVE_NONE != tinrc.interactive_mailer) { rewind(artinfo->raw); - fprintf(fp, _(txt_forwarded)); - copy_fp(artinfo->raw, fp); - fprintf(fp, _(txt_forwarded_end)); + fprintf(fp, "%s", _(txt_forwarded)); + + if (!note_h.mime) + copy_fp(artinfo->raw, fp); + else { + const char *charset; + char *line, *buff = my_malloc(LEN); + size_t l, last = LEN; + t_bool in_head = TRUE; + + /* intentionally no undeclared_charset support here! */ + if (!(charset = get_param(note_h.ext->params, "charset"))) + charset = "US-ASCII"; + + while ((line = tin_fgets(artinfo->raw, FALSE)) != NULL) { + if (*line == '\0') + in_head = FALSE; + l = strlen(line) * 4 + 4; /* should suffice for -> UTF-8 */ + if (l > last) { /* realloc if needed */ + buff = my_realloc(buff, l); + last = l; + } + strcpy(buff, line); + if (!in_head) /* just convert body */ + process_charsets(&buff, &l, charset, tinrc.mm_local_charset, FALSE); + strcat(buff, "\n"); + fwrite(buff, 1, strlen(buff), fp); + } + free(buff); + } + fprintf(fp, "%s", _(txt_forwarded_end)); } if (INTERACTIVE_NONE == tinrc.interactive_mailer) @@ -3036,7 +3387,7 @@ mail_bug_report( wait_message(0, _(txt_mail_bug_report)); snprintf(subject, sizeof(subject), "BUG REPORT %s\n", page_header); - if ((fp = create_mail_headers(nam, ".bugreport", bug_addr, subject, NULL)) == NULL) + if ((fp = create_mail_headers(nam, sizeof(nam), TIN_BUGREPORT_NAME, bug_addr, subject, NULL)) == NULL) return FALSE; start_line_offset += tin_version_info(fp); @@ -3044,11 +3395,18 @@ mail_bug_report( # ifdef _AIX fprintf(fp, "BOX1 : %s %s.%s", system_info.sysname, system_info.version, system_info.release); # else -# ifdef SEIUX +# if defined(SEIUX) || defined(__riscos) +/* + * #if defined(host_mips) && defined(MIPSEB) + * #if defined(SYSTYPE_SYSV) || defined(SYSTYPE_SVR4) || defined(SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + * RISC/os + * #endif + * #endif + */ fprintf(fp, "BOX1 : %s %s", system_info.version, system_info.release); # else fprintf(fp, "BOX1 : %s %s (%s)", system_info.sysname, system_info.release, system_info.machine); -# endif /* SEIUX */ +# endif /* SEIUX || __riscos */ # endif /* _AIX */ #else fprintf(fp, "BOX1 : Please enter the following information: Machine+OS"); @@ -3064,23 +3422,28 @@ mail_bug_report( DEFAULT_ACTIVE_NUM, DEFAULT_ARTICLE_NUM, tinrc.reread_active_file_secs, - bool_unparse(nntp_caps.over_cmd != NULL)); + BlankIfNull(nntp_caps.over_cmd)); fprintf(fp, "CFG2 : debug=%d, threading=%d\n", debug, tinrc.thread_articles); fprintf(fp, "CFG3 : domain=[%s]\n", BlankIfNull(domain)); start_line_offset += 4; - if (*bug_nntpserver1) { - fprintf(fp, "NNTP1: %s\n", bug_nntpserver1); - start_line_offset++; - } - if (*bug_nntpserver2) { - fprintf(fp, "NNTP2: %s\n", bug_nntpserver2); - start_line_offset++; - } - if (nntp_caps.implementation){ - fprintf(fp, "IMPLE: %s\n", nntp_caps.implementation); - start_line_offset++; +#ifdef NNTP_ABLE + if (read_news_via_nntp) { + if (*bug_nntpserver1) { + fprintf(fp, "NNTP1: %s\n", bug_nntpserver1); + start_line_offset++; + } + if (*bug_nntpserver2) { + fprintf(fp, "NNTP2: %s\n", bug_nntpserver2); + start_line_offset++; + } + if (nntp_caps.implementation){ + fprintf(fp, "IMPLE: %s\n", nntp_caps.implementation); + start_line_offset++; + } } +#endif /* NNTP_ABLE */ + fprintf(fp, "\nPlease enter _detailed_ bug report, gripe or comment:\n\n"); start_line_offset += 2; @@ -3115,7 +3478,7 @@ mail_to_author( FILE *fp; char *p, *q; char from_addr[HEADER_LEN]; - char nam[100]; + char nam[PATH_LEN]; char subject[HEADER_LEN]; char initials[64]; int ret_code = POSTED_NONE; @@ -3159,7 +3522,7 @@ mail_to_author( * add extra headers in the mail_to_author() case as we don't include the * full original headers in the body of the mail */ - if ((fp = create_mail_headers(nam, TIN_LETTER_NAME, from_addr, subject, ¬e_h)) == NULL) + if ((fp = create_mail_headers(nam, sizeof(nam), TIN_LETTER_NAME, from_addr, subject, ¬e_h)) == NULL) return ret_code; if (copy_text) { @@ -3197,7 +3560,7 @@ mail_to_author( i = 0; while (pgart.cookl[i].flags & C_HEADER) /* skip headers in cooked art if any */ i++; - if (i) /* cooked art contained any headers, so skip also the header/body seperator */ + if (i) /* cooked art contained any headers, so skip also the header/body separator */ i++; fseek(pgart.cooked, pgart.cookl[i].offset, SEEK_SET); } @@ -3247,7 +3610,7 @@ mail_to_author( resize_article(TRUE, &pgart); /* rebreak long lines */ if (raw_data) /* we've been in raw mode */ - toggle_raw(group_find(group)); + toggle_raw(group_find(group, FALSE)); return ret_code; } @@ -3287,6 +3650,40 @@ check_for_spamtrap( } +static void +show_cancel_info( +#ifdef FORGERY + t_bool author, + t_bool use_cache) +#else + void) +#endif /* FORGERY */ +{ + struct t_header note_h = pgart.hdr; +#ifdef FORGERY + static t_bool c_author; + + /* + * Cache value for the case when called + * from refresh_post_screen() + */ + if (!use_cache) + c_author = author; + + if (!c_author) { + my_fprintf(stderr, "%s", _(txt_warn_cancel_forgery)); + my_fprintf(stderr, "From: %s\n", BlankIfNull(note_h.from)); + } else +#endif /* FORGERY */ + my_fprintf(stderr, "%s", _(txt_warn_cancel)); + + my_fprintf(stderr, "Subject: %s\n", BlankIfNull(note_h.subj)); + my_fprintf(stderr, "Date: %s\n", BlankIfNull(note_h.date)); + my_fprintf(stderr, "Message-ID: %s\n", BlankIfNull(note_h.messageid)); + my_fprintf(stderr, "Newsgroups: %s\n", BlankIfNull(note_h.newsgroups)); +} + + t_bool cancel_article( struct t_group *group, @@ -3295,7 +3692,7 @@ cancel_article( { FILE *fp; char buf[HEADER_LEN]; - char cancel[HEADER_LEN]; + char cancel[PATH_LEN]; char from_name[HEADER_LEN]; char a_message_id[HEADER_LEN]; #ifdef FORGERY @@ -3329,18 +3726,22 @@ cancel_article( #endif /* FORGERY */ #ifdef DEBUG - if (debug == 2) - error_message("From=[%s] Cancel=[%s]", art->from, from_name); + if (debug & DEBUG_MISC) + error_message(2, "From=[%s] Cancel=[%s]", art->from, from_name); #endif /* DEBUG */ + /* + * superseding foreign articles is allowed via 'x'repost + * (in the FORGERY case), so there is no need to disallow it + * with 'D' here (in the FORGERY case). + */ +#ifndef FORGERY if (!strcasestr(from_name, art->from)) { -#ifdef FORGERY - author = FALSE; -#else wait_message(3, _(txt_art_cannot_cancel)); return redraw_screen; -#endif /* FORGERY */ - } else { + } else +#endif /* !FORGERY */ + { char *smsg; char buff[LEN]; char keycancel[MAXKEYLEN], keyquit[MAXKEYLEN], keysupersede[MAXKEYLEN]; @@ -3369,9 +3770,9 @@ cancel_article( clear_message(); - joinpath(cancel, homedir, TIN_CANCEL_NAME); + joinpath(cancel, sizeof(cancel), homedir, TIN_CANCEL_NAME); #ifdef APPEND_PID - snprintf(cancel + strlen(cancel), sizeof(cancel) - strlen(cancel), ".%d", (int) process_id); + snprintf(cancel + strlen(cancel), sizeof(cancel) - strlen(cancel), ".%ld", (long) process_id); #endif /* APPEND_PID */ if ((fp = fopen(cancel, "w")) == NULL) { perror_message(_(txt_cannot_open), cancel); @@ -3403,6 +3804,7 @@ cancel_article( else snprintf(line, sizeof(line), "<%s>", art->from); msg_add_header("From", line); + ADD_MSG_ID_HEADER(); ADD_CAN_KEY(note_h.messageid); } #else @@ -3418,7 +3820,7 @@ cancel_article( */ strip_double_ngs(note_h.newsgroups); msg_add_header("Newsgroups", note_h.newsgroups); - if (tinrc.prompt_followupto) + if (group->attribute->prompt_followupto) msg_add_header("Followup-To", ""); snprintf(buf, sizeof(buf), "cancel %s", note_h.messageid); msg_add_header("Control", buf); @@ -3427,7 +3829,7 @@ cancel_article( if (group->moderated == 'm') msg_add_header("Approved", from_name); - if (group && group->attribute->organization != NULL) + if (group->attribute->organization != NULL) msg_add_header("Organization", random_organization(group->attribute->organization)); if (note_h.distrib) @@ -3438,39 +3840,34 @@ cancel_article( /* some ppl. like X-Headers: in cancels */ msg_add_x_headers(group->attribute->x_headers); - start_line_offset = msg_write_headers(fp); + start_line_offset = msg_write_headers(fp) + 1; msg_free_headers(); #ifdef FORGERY - if (author) - fprintf(fp, txt_article_cancelled); - else { + if (author) { + fprintf(fp, "%s", txt_article_cancelled); + start_line_offset++; + } else { rewind(pgart.raw); copy_fp(pgart.raw, fp); } fclose(fp); - invoke_editor(cancel, start_line_offset); - redraw_screen = TRUE; + invoke_editor(cancel, start_line_offset, group); #else - fprintf(fp, txt_article_cancelled); + fprintf(fp, "%s", txt_article_cancelled); + start_line_offset++; fclose(fp); #endif /* FORGERY */ + redraw_screen = TRUE; oldraw = RawState(); setup_check_article_screen(&init); #ifdef FORGERY - if (!author) { - my_fprintf(stderr, _(txt_warn_cancel_forgery)); - my_fprintf(stderr, "From: %s\n", BlankIfNull(note_h.from)); - } else + show_cancel_info(author, FALSE); +#else + show_cancel_info(); #endif /* FORGERY */ - my_fprintf(stderr, _(txt_warn_cancel)); - - my_fprintf(stderr, "Subject: %s\n", BlankIfNull(note_h.subj)); - my_fprintf(stderr, "Date: %s\n", BlankIfNull(note_h.date)); - my_fprintf(stderr, "Message-ID: %s\n", BlankIfNull(note_h.messageid)); - my_fprintf(stderr, "Newsgroups: %s\n", BlankIfNull(note_h.newsgroups)); Raw(oldraw); if (!(fp = fopen(cancel, "r"))) { @@ -3487,19 +3884,23 @@ cancel_article( char *smsg; char buff[LEN]; char keycancel[MAXKEYLEN], keyedit[MAXKEYLEN], keyquit[MAXKEYLEN]; + int save_signal_context = signal_context; snprintf(buff, sizeof(buff), _(txt_quit_cancel), printascii(keyedit, func_to_key(POST_EDIT, post_cancel_keys)), printascii(keyquit, func_to_key(GLOBAL_QUIT, post_cancel_keys)), printascii(keycancel, func_to_key(POST_CANCEL, post_cancel_keys))); + signal_context = cPostCancel; func = prompt_slk_response(default_func, post_cancel_keys, "%s", sized_message(&smsg, buff, note_h.subj)); + signal_context = save_signal_context; free(smsg); } switch (func) { case POST_EDIT: - invoke_editor(cancel, start_line_offset); + free_and_init_header(&hdr); + invoke_editor(cancel, start_line_offset, group); if (!(fp = fopen(cancel, "r"))) { /* Oops */ unlink(cancel); @@ -3517,8 +3918,9 @@ cancel_article( if (hdr.subj) update_posted_info_file(group->name, 'd', hdr.subj, a_message_id); else - error_message(_(txt_error_header_line_missing), "Subject"); + error_message(2, _(txt_error_header_line_missing), "Subject"); unlink(cancel); + free_and_init_header(&hdr); return redraw_screen; } break; @@ -3527,6 +3929,7 @@ cancel_article( case GLOBAL_ABORT: unlink(cancel); clear_message(); + free_and_init_header(&hdr); return redraw_screen; /* NOTREACHED */ break; @@ -3539,9 +3942,8 @@ cancel_article( return redraw_screen; } - +#define FromSameUser (strcasestr(from_name, arts[respnum].from)) #ifndef FORGERY -# define FromSameUser (strcasestr(from_name, arts[respnum].from)) # define NotSuperseding (!supersede || (!FromSameUser)) # define Superseding (supersede && FromSameUser) #else @@ -3617,7 +4019,9 @@ repost_article( snprintf(line, sizeof(line), "cookl[i].flags & C_HEADER) /* skip headers in cooked art if any */ i++; - if (i) /* cooked art contained any headers, so skip also the header/body seperator */ + if (i) /* cooked art contained any headers, so skip also the header/body separator */ i++; fseek(artinfo->cooked, artinfo->cookl[i].offset, SEEK_SET); copy_fp(artinfo->cooked, fp); } /* only append signature when NOT superseding own articles */ - if (NotSuperseding && tinrc.signature_repost) + if (NotSuperseding && group->attribute->signature_repost) msg_write_signature(fp, FALSE, group); fclose(fp); @@ -3727,6 +4133,8 @@ repost_article( if (Superseding) { default_func = POST_EDIT; force_command = TRUE; + /* rebreak long-lines that we don't grabble screen if user aborts posting ... */ + resize_article(TRUE, artinfo); } func = default_func; @@ -3743,18 +4151,43 @@ repost_article( char keypgp[MAXKEYLEN]; #endif /* HAVE_PGP_GPG */ +#if defined(HAVE_ISPELL) && defined(HAVE_PGP_GPG) snprintf(buff, sizeof(buff), _(txt_quit_edit_xpost), printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), -#ifdef HAVE_ISPELL printascii(keyispell, func_to_key(POST_ISPELL, post_post_keys)), -#endif /* HAVE_ISPELL */ -#ifdef HAVE_PGP_GPG printascii(keypgp, func_to_key(POST_PGP, post_post_keys)), -#endif /* HAVE_PGP_GPG */ printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +#else +# ifdef HAVE_ISPELL + snprintf(buff, sizeof(buff), _(txt_quit_edit_xpost), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keyispell, func_to_key(POST_ISPELL, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# else +# ifdef HAVE_PGP_GPG + snprintf(buff, sizeof(buff), _(txt_quit_edit_xpost), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keypgp, func_to_key(POST_PGP, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# else + snprintf(buff, sizeof(buff), _(txt_quit_edit_xpost), + printascii(keyquit, func_to_key(GLOBAL_QUIT, post_post_keys)), + printascii(keyedit, func_to_key(POST_EDIT, post_post_keys)), + printascii(keymenu, func_to_key(GLOBAL_OPTION_MENU, post_post_keys)), + printascii(keypost, func_to_key(GLOBAL_POST, post_post_keys)), + printascii(keypostpone, func_to_key(POST_POSTPONE, post_post_keys))); +# endif /* HAVE_PGP_GPG */ +# endif /* HAVE_ISPELL */ +#endif /* HAVE_ISPELL && HAVE_PGP_GPG */ func = prompt_slk_response(default_func, post_post_keys, "%s", sized_message(&smsg, buff, note_h.subj)); @@ -3770,11 +4203,10 @@ msg_add_x_headers( { FILE *fp = NULL; char *ptr; + char **x_hdrs = NULL; char file[PATH_LEN]; char line[HEADER_LEN]; - char **x_hdrs = NULL; int num_x_hdrs = 0; - t_bool a_pipe = FALSE; int i; if (!headers) @@ -3794,18 +4226,16 @@ msg_add_x_headers( * without this else a "x_headers=name" without a ':' would be * treated as a filename in the current dir - IMHO not very useful */ - if (!strfpath(headers, file, sizeof(file), &CURR_GROUP)) + if (!strfpath(headers, file, sizeof(file), &CURR_GROUP, FALSE)) strcpy(file, headers); #ifndef DONT_HAVE_PIPING if (file[0] == '!') { if ((fp = popen(file + 1, "r")) == NULL) return; - else - a_pipe = TRUE; } #endif /* !DONT_HAVE_PIPING */ - if (!a_pipe && ((fp = fopen(file, "r")) == NULL)) + if (!fp && ((fp = fopen(file, "r")) == NULL)) return; while (fgets(line, (int) sizeof(line), fp) != NULL) { @@ -3835,9 +4265,11 @@ msg_add_x_headers( free(x_hdrs); } - if (a_pipe) +#ifndef DONT_HAVE_PIPING + if (file[0] == '!') pclose(fp); else +#endif /* !DONT_HAVE_PIPING */ fclose(fp); } } @@ -3863,14 +4295,14 @@ msg_add_x_body( return 0; if (body[0] != '/' && body[0] != '~') { /* FIXME: Unix'ism */ - strncpy(line, body, sizeof(line) - 1); + STRCPY(line, body); if ((ptr = strrchr(line, '\n')) != NULL) *ptr = '\0'; fprintf(fp_out, "%s\n", line); wrote++; } else { - if (!strfpath(body, file, sizeof(file), &CURR_GROUP)) + if (!strfpath(body, file, sizeof(file), &CURR_GROUP, FALSE)) strcpy(file, body); if ((fp = fopen(file, "r")) != NULL) { @@ -3898,7 +4330,8 @@ msg_add_x_body( */ char * checknadd_headers( - const char *infile) + const char *infile, + struct t_group *group) { FILE *fp_in, *fp_out; char *fcc = NULL; @@ -3913,11 +4346,7 @@ checknadd_headers( if ((fp_in = fopen(infile, "r")) == NULL) return NULL; -#ifdef VMS - snprintf(outfile, sizeof(outfile), "%s-%d", infile, (int) process_id); -#else - snprintf(outfile, sizeof(outfile), "%s.%d", infile, (int) process_id); -#endif /* VMS */ + snprintf(outfile, sizeof(outfile), "%s.%ld", infile, (long) process_id); if ((fp_out = fopen(outfile, "w")) == NULL) { fclose(fp_in); @@ -3928,12 +4357,12 @@ checknadd_headers( if (l[0] == '\0') /* end of headers */ break; - if ((ptr = parse_header(l, "Newsgroups", FALSE, FALSE))) { + if ((ptr = parse_header(l, "Newsgroups", FALSE, FALSE, FALSE))) { strip_double_ngs(ptr); STRCPY(newsgroups, ptr); snprintf(line, sizeof(line), "Newsgroups: %s\n", newsgroups); fputs(line, fp_out); - } else if ((ptr = parse_header(l, "Followup-To", FALSE, FALSE))) { + } else if ((ptr = parse_header(l, "Followup-To", FALSE, FALSE, FALSE))) { strip_double_ngs(ptr); /* * Only write followup header if not blank or followups != newsgroups @@ -3942,15 +4371,15 @@ checknadd_headers( snprintf(line, sizeof(line), "Followup-To: %s\n", ptr); fputs(line, fp_out); } - } else if ((ptr = parse_header(l, "Fcc", FALSE, FALSE))) { + } else if ((ptr = parse_header(l, "Fcc", FALSE, FALSE, FALSE))) { fcc = my_strdup(ptr); } else if ((ptr = strchr(l, ':')) != NULL) { /* valid header? */ - if (strlen(ptr) > 3) /* skip empty headers ": \n\0" */ + if (strlen(ptr) > 2) /* skip empty headers ": \0" */ fprintf(fp_out, "%s\n", l); } } /* end of headers */ - if (tinrc.advertising) { /* Add after other headers */ + if ((group && group->attribute->advertising) || (!group && tinrc.advertising)) { /* Add after other headers */ char suffix[HEADER_LEN]; suffix[0] = '\0'; @@ -3960,31 +4389,30 @@ checknadd_headers( snprintf(suffix, sizeof(suffix), " (%s/%s.%s)", system_info.sysname, system_info.version, system_info.release); # else -# ifdef SEIUX +# if defined(SEIUX) || defined(__riscos) snprintf(suffix, sizeof(suffix), " (%s/%s)", system_info.version, system_info.release); # else snprintf(suffix, sizeof(suffix), " (%s/%s (%s))", system_info.sysname, system_info.release, system_info.machine); -# endif /* SEIUX */ +# endif /* SEIUX || __riscos */ # endif /* _AIX */ } #endif /* HAVE_SYS_UTSNAME_H && HAVE_UNAME */ #ifdef SYSTEM_NAME - if (!*suffix) { - if (strlen(SYSTEM_NAME)) + if (!*suffix && strlen(SYSTEM_NAME)) snprintf(suffix, sizeof(suffix), " (%s)", SYSTEM_NAME); - } #endif /* SYSTEM_NAME */ fprintf(fp_out, "User-Agent: %s/%s-%s (\"%s\") (%s)%s\n", PRODUCT, VERSION, RELEASEDATE, RELEASENAME, OSNAME, suffix); } - fputs("\n", fp_out); /* header/body seperator */ + fputs("\n", fp_out); /* header/body separator */ while ((l = tin_fgets(fp_in, FALSE)) != NULL) fprintf(fp_out, "%s\n", l); + fclose(fp_out); fclose(fp_in); rename_file(outfile, infile); @@ -4005,11 +4433,7 @@ insert_from_header( t_bool in_header = TRUE; if ((fp_in = fopen(infile, "r")) != NULL) { -# ifdef VMS - snprintf(outfile, sizeof(outfile), "%s-%d", infile, (int) process_id); -# else - snprintf(outfile, sizeof(outfile), "%s.%d", infile, (int) process_id); -# endif /* VMS */ + snprintf(outfile, sizeof(outfile), "%s.%ld", infile, (long) process_id); if ((fp_out = fopen(outfile, "w")) != NULL) { strcpy(from_name, "From: "); if (*tinrc.mail_address) @@ -4018,7 +4442,7 @@ insert_from_header( get_from_name(from_name + 6, (struct t_group *) 0); # ifdef DEBUG - if (debug == 2) + if (debug & DEBUG_MISC) wait_message(2, "insert_from_header [%s]", from_name + 6); # endif /* DEBUG */ @@ -4042,7 +4466,7 @@ insert_from_header( p = rfc1522_encode(from_buff, tinrc.mm_charset, FALSE); # endif /* CHARSET_CONVERSION */ if (GNKSA_OK != gnksa_check_from(p)) { /* error in address */ - error_message(_(txt_invalid_from), from_buff); + error_message(2, _(txt_invalid_from), from_buff); free(p); unlink(outfile); fclose(fp_out); @@ -4060,7 +4484,7 @@ insert_from_header( p = rfc1522_encode(from_name, tinrc.mm_charset, FALSE); # endif /* CHARSET_CONVERSION */ if (GNKSA_OK != gnksa_check_from(p + 6)) { /* error in address */ - error_message(_(txt_invalid_from), from_name + 6); + error_message(2, _(txt_invalid_from), from_name + 6); free(p); unlink(outfile); fclose(fp_out); @@ -4080,7 +4504,8 @@ insert_from_header( rename_file(outfile, infile); return TRUE; - } + } else + fclose(fp_in); } return FALSE; } @@ -4154,17 +4579,21 @@ reread_active_after_posting( if (group->newsrc.num_unread > group->count) { #ifdef DEBUG - my_printf(cCRLF "Unread WRONG grp=[%s] unread=[%ld] count=[%ld]", - group->name, group->newsrc.num_unread, group->count); - my_flush(); + if (debug & DEBUG_NEWSRC) { /* TODO: is this the right debug-level? */ + my_printf(cCRLF "Unread WRONG grp=[%s] unread=[%ld] count=[%ld]", + group->name, group->newsrc.num_unread, group->count); + my_flush(); + } #endif /* DEBUG */ group->newsrc.num_unread = group->count; } if (group->xmin != old_min || group->xmax != old_max) { #ifdef DEBUG - my_printf(cCRLF "Min/Max DIFF grp=[%s] old=[%ld-%ld] new=[%ld-%ld]", - group->name, old_min, old_max, group->xmin, group->xmax); - my_flush(); + if (debug & DEBUG_NEWSRC) { /* TODO: is this the right debug-level? */ + my_printf(cCRLF "Min/Max DIFF grp=[%s] old=[%ld-%ld] new=[%ld-%ld]", + group->name, old_min, old_max, group->xmin, group->xmax); + my_flush(); + } #endif /* DEBUG */ expand_bitmap(group, 0); modified = TRUE; @@ -4205,7 +4634,7 @@ update_active_after_posting( src++; if (*dst == ',' || *dst == '\0') { *dst = '\0'; - group = group_find(groupname); + group = group_find(groupname, FALSE); if (group != NULL && group->subscribed) { reread_active_for_posted_arts = TRUE; group->art_was_posted = TRUE; @@ -4230,11 +4659,8 @@ submit_mail_file( char mail_to[HEADER_LEN]; struct t_header hdr; t_bool mailed = FALSE; -#ifdef VMS - char subject[HEADER_LEN]; -#endif /* VMS */ - fcc = checknadd_headers(file); + fcc = checknadd_headers(file, group); if (insert_from_header(file)) { if ((fp = fopen(file, "r"))) { @@ -4252,26 +4678,18 @@ submit_mail_file( strfmailer(mailer, hdr.subj, mail_to, file, buf, sizeof(buf), tinrc.mailer_format); -#ifdef VMS /* quick hack! M.St. 29.01.98 */ - { - char *transport; - - /* TODO: document env var */ - transport = getenv("MAIL$INTERNET_TRANSPORT"); - snprintf(buf, sizeof(buf), "mail/subject=\"%s\" %s %s%%\"%s\"", subject, file, *transport ? transport : "smtp", mail_to); - } -#endif /* VMS */ if (invoke_cmd(buf)) mailed = TRUE; } else - error_message(_(txt_error_header_line_missing), "To"); + error_message(2, _(txt_error_header_line_missing), "To"); + free_and_init_header(&hdr); } } if (NULL != fcc) { if (mailed && strlen(fcc)) { char a_mailbox[PATH_LEN]; - if (0 == strfpath(fcc, a_mailbox, sizeof(a_mailbox), group)) + if (0 == strfpath(fcc, a_mailbox, sizeof(a_mailbox), group, TRUE)) STRCPY(a_mailbox, fcc); if (!append_mail(file, userid, a_mailbox)) { /* TODO: error handling */ @@ -4315,7 +4733,7 @@ split_address_list( char **argv = NULL; char *addr; const char *start, *end, *curr; - size_t len = 0, addr_len = 0; + size_t len, addr_len; unsigned int argc = 0, dquotes = 0, parens = 0; if (!addresses) { @@ -4581,6 +4999,7 @@ build_messageid( void) { int i; + size_t j; static char buf[1024]; /* Message-IDs are limited to 998-12+CRLF octets */ static unsigned long int seqnum = 0; /* we'd use a counter in tinrc */ time_t t = time(NULL); @@ -4588,12 +5007,12 @@ build_messageid( if (t >= 1041379200) /* 2003-01-01 00:00:00 GMT */ t -= 1041379200; else - return '\0'; + return NULL; snprintf(buf, sizeof(buf), "<%sT", radix32(seqnum++)); strcat(buf, radix32(t)); strcat(buf, "I"); - strcat(buf, radix32(process_id)); + strcat(buf, radix32((unsigned long) process_id)); # ifndef FORGERY { @@ -4616,9 +5035,27 @@ build_messageid( snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "N%s@%s>", radix32(getuid()), get_fqdn(get_host_name())); # endif /* !FORGERY */ + /* + * disallow .invalid TLD (gnksa_check_from() allows it) + * and Message-IDs > 250 octects (RFC 3977, 3.6) + */ + if ((j = strlen(buf) - 9) > 0) { /* strlen(".invalid>") */ + if (!strcasecmp(".invalid>", buf + j) || j > 241) /* 250 - 9 */ + return NULL; + } + i = gnksa_check_from(buf); if ((GNKSA_OK != i) && (GNKSA_LOCALPART_MISSING > i)) - buf[0] = '\0'; + return NULL; + + /* + * I've seen passwd->pw_name with spaces in it (cygwin) and we use + * that in the !FROGERY case -> disallow 'common' junk which is not + * catched by the gnksa_check_from() + */ + if (damaged_id(buf)) + return NULL; + return buf; } #endif /* EVIL_INSIDE */ @@ -4630,22 +5067,15 @@ build_messageid( * build_canlock(messageid, secret) * returns *(cancel-lock) or NULL */ -const char * +char * build_canlock( const char *messageid, const char *secret) { if ((messageid == NULL) || (secret == NULL)) - return ((const char *) 0); + return ((char *) 0); else - /* - * sha_lock should be - * const char *sha_lock(const char *, size_t, const char *, size_t) - * but unfortunately is - * unsigned char *sha_lock(char *, size_t, char *, size_t) - * -> cast as cast can - */ - return (const char *) (sha_lock((char *) secret, strlen(secret), (char *) messageid, strlen(messageid))); + return (char *) (sha_lock((const unsigned char *) secret, strlen(secret), (const unsigned char *) messageid, strlen(messageid))); } @@ -4653,22 +5083,15 @@ build_canlock( * build_cankey(messageid, secret) * returns *(cancel-key) or NULL */ -static const char * +static char * build_cankey( const char *messageid, const char *secret) { if ((messageid == NULL) || (secret == NULL)) - return ((const char *) 0); + return ((char *) 0); else - /* - * sha_key should be - * const char *sha_key(const char *, size_t, const char *, size_t) - * but unfortunately is - * unsigned char *sha_key(char *, size_t, char *, size_t) - * -> cast as cast can - */ - return (const char *) (sha_key((char *) secret, strlen(secret), (char *) messageid, strlen(messageid))); + return (sha_key((const unsigned char *) secret, strlen(secret), (const unsigned char *) messageid, strlen(messageid))); } @@ -4676,11 +5099,7 @@ build_cankey( * get_secret() * returns *(secret) or NULL */ -# ifdef VMS -# define SECRET_FILE "cancelsecret." -# else -# define SECRET_FILE ".cancelsecret" -# endif /* VMS */ +# define SECRET_FILE ".cancelsecret" char * get_secret( void) @@ -4689,18 +5108,35 @@ get_secret( char *ptr; char path_secret[PATH_LEN]; static char cancel_secret[HEADER_LEN]; + int fd; + struct stat statbuf; cancel_secret[0] = '\0'; - joinpath(path_secret, homedir, SECRET_FILE); + joinpath(path_secret, sizeof(path_secret), homedir, SECRET_FILE); if ((fp_secret = fopen(path_secret, "r")) == NULL) { # ifdef DEBUG /* TODO: prompt for secret manually here? */ - my_fprintf(stderr, _(txt_cannot_open), path_secret); - my_fflush(stderr); - sleep(2); + error_message(2, _(txt_cannot_open), path_secret); # endif /* DEBUG */ return NULL; } else { + if ((fd = fileno(fp_secret)) == -1) { + fclose(fp_secret); + return NULL; + } + if (fstat(fd, &statbuf) == -1) { + fclose(fp_secret); + return NULL; + } +# ifndef FILE_MODE_BROKEN + if (S_ISREG(statbuf.st_mode) && (statbuf.st_mode|S_IRUSR|S_IWUSR) != (S_IRUSR|S_IWUSR|S_IFREG)) { +# ifdef DEBUG + error_message(4, _(txt_error_insecure_permissions), path_secret, statbuf.st_mode); +# else + fchmod(fd, S_IRUSR|S_IWUSR); +# endif /* DEBUG */ + } +# endif /* !FILE_MODE_BROKEN */ (void) fread(cancel_secret, HEADER_LEN - 1, 1, fp_secret); fclose(fp_secret); } @@ -4774,7 +5210,10 @@ add_headers( (void) time(&epoch); gmdate = gmtime(&epoch); /* my_strftime has no %z or %Z */ - my_strftime(dateheader, sizeof(dateheader) - 1, "Date: %a, %d %b %Y %H:%M:%S -0000\n", gmdate); + if (!my_strftime(dateheader, sizeof(dateheader) - 1, "Date: %a, %d %b %Y %H:%M:%S -0000\n", gmdate)) { + writesuccess = FALSE; + break; + } #if defined(HAVE_SETLOCALE) && !defined(NO_LOCALE) /* change back LC_* */ @@ -4821,7 +5260,9 @@ add_headers( break; } } - +#ifdef HAVE_FSYNC + fsync(fd_out); +#endif /* HAVE_FSYNC */ close(fd_out); fclose(fp_in); if (writesuccess) @@ -4852,72 +5293,93 @@ radix32( #endif /* EVIL_INSIDE */ -/* - * Strip duplicate newsgroups from within a given list of comma separated - * groups - * 14-Jun-'96 Sven Paulus - */ +static char ** +build_nglist( + char *ngs_list, + int *ngcnt) +{ + char **newsgroups; + char *dst; + char *my_list; + char *src; + char cp; + + /* ulBuildArgv likes to have spaces, not commas */ + my_list = my_malloc(strlen(ngs_list) + 1); + src = ngs_list; + dst = my_list; + while ((cp = *src++)) { + if (cp == ',') cp = ' '; + *dst++ = cp; + } + *dst = cp; + + /* now build the list of newsgroups */ + newsgroups = ulBuildArgv(my_list, ngcnt); + free(my_list); + return newsgroups; +} + + +static t_bool +stripped_double_ngs( + char **newsgroups, + int *ngcnt) +{ + char *that_group; + char *this_group; + unsigned int i = 0; + unsigned int j; + unsigned int k; + t_bool changed = FALSE; + + if (*ngcnt < 2) /* no need to do anything with no or just one group */ + return FALSE; + + while ((this_group = newsgroups[i++])) { + j = i; + while ((that_group = newsgroups[j])) { + if (strcasecmp(this_group, that_group) == 0) { + /* Double newsgroup. Move all following newsgroups downwards */ + k = j + 1; + do { + newsgroups[k-1] = newsgroups[k]; + } while (newsgroups[k++]); + changed = TRUE; + (*ngcnt)--; + } else + j++; + } + } + return changed; +} + + static void strip_double_ngs( char *ngs_list) { - char *ptr; /* start of next (outer) newsgroup */ - char *ptr2; /* temporary pointer */ - char ngroup1[HEADER_LEN]; /* outer newsgroup to compare */ - char ngroup2[HEADER_LEN]; /* inner newsgroup to compare */ - char cmplist[HEADER_LEN]; /* last loops output */ - char newlist[HEADER_LEN]; /* the newly generated list without */ - /* any duplicates of the first nwsg */ - int ncnt1; /* counter for the first newsgroup */ - int ncnt2; /* counter for the second newsgroup */ - t_bool over1; /* TRUE when the outer loop is over */ - t_bool over2; /* TRUE when the inner loop is over */ - - /* shortcut, check if there is only 1 group */ - if (strchr(ngs_list, ',') != NULL) { - over1 = FALSE; - ncnt1 = 0; - strcpy(newlist, ngs_list); /* make a "working copy" */ - ptr = newlist; /* the next outer newsg. is the 1st */ - - while (!over1) { - ncnt1++; /* inc. outer counter */ - strcpy(cmplist, newlist); /* duplicate groups for inner loop */ - ptr2 = strchr(ptr, ','); /* search "," ... */ - if (ptr2 != NULL) { /* if found ... */ - *ptr2 = '\0'; - strcpy(ngroup1, ptr); /* chop off first outer newsgroup */ - ptr = ptr2 + 1; /* pointer points to next newsgr. */ - } else { /* ... if not: last group */ - over1 = TRUE; /* wow, everything is done after . */ - strcpy(ngroup1, ptr); /* ... this last outer newsgroup */ - } + char **newsgroups; + int ngcnt; - over2 = FALSE; - ncnt2 = 0; + if (strchr(ngs_list, ',') == NULL) /* shortcut, only one newsgroup */ + return; - /* - * now compare with each inner newsgroup on the list, - * which is behind the momentary outer newsgroup - * if it is different from the outer newsgroup, append - * to list, strip double-commas - */ - while (!over2) { - ncnt2++; - strcpy(ngroup2, cmplist); - ptr2 = strchr(ngroup2, ','); - if (ptr2 != NULL) { - strcpy(cmplist, ptr2 + 1); - *ptr2 = '\0'; - } else - over2 = TRUE; + if ((newsgroups = build_nglist(ngs_list, &ngcnt)) == NULL) /* something went wrong */ + return; - if ((ncnt2 > ncnt1) && (strcasecmp(ngroup1, ngroup2)) && (strlen(ngroup2) != 0)) { - strcat(newlist, ","); - strcat(newlist, ngroup2); - } - } + if (stripped_double_ngs(newsgroups, &ngcnt)) { + /* something has changed, rebuild newsgroups list */ + char *this_group; + unsigned int i = 0; + + this_group = newsgroups[i++]; + strcpy(ngs_list, this_group); + while ((this_group = newsgroups[i++])) { + strcat(ngs_list, ","); + strcat(ngs_list, this_group); } - strcpy(ngs_list, newlist); /* move string to its real location */ } + free(*newsgroups); + free(newsgroups); } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/prompt.c tin-2.0.0/src/prompt.c --- tin-1.8.3/src/prompt.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/prompt.c 2011-04-17 16:04:31.007157421 +0200 @@ -3,10 +3,10 @@ * Module : prompt.c * Author : I. Lea * Created : 1991-04-01 - * Updated : 2005-10-19 + * Updated : 2011-03-25 * Notes : * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,6 +44,8 @@ static char *prompt_slk_message; /* prompt message for prompt_slk_redraw */ +static char *prompt_yn_message; +static char *prompt_yn_choice; /* * Local prototypes @@ -139,7 +141,7 @@ prompt_menu_string( * connection right before a resync_active() call * would lead to a 'n' answer to the reconnect prompt */ - fflush(stdin); + /* fflush(stdin); */ MoveCursor(line, 0); if ((p = tin_getline(prompt, FALSE, var, 0, FALSE, HIST_OTHER)) == NULL) return FALSE; @@ -163,11 +165,10 @@ prompt_yn( { char *keyprompt; char keyno[MAXKEYLEN], keyyes[MAXKEYLEN]; - int keyyes_len = 0, keyno_len = 0, maxlen; + int keyyes_len = 0, keyno_len = 0, maxlen, prompt_len; t_function func; -#if defined (MULTIBYTE_ABLE) && !defined(NO_LOCALE) +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) wint_t yes, no, prompt_ch, ch; - wchar_t *wtmp; #else char yes, no, prompt_ch; int ch; @@ -178,41 +179,30 @@ prompt_yn( yes = func_to_key(PROMPT_YES, prompt_keys); no = func_to_key(PROMPT_NO, prompt_keys); -#if defined (MULTIBYTE_ABLE) && !defined(NO_LOCALE) +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) printascii(keyyes, (default_answer ? towupper(yes) : yes)); - if ((wtmp = char2wchar_t(keyyes))) { - keyyes_len = wcswidth(wtmp, wcslen(wtmp)); - free(wtmp); - } printascii(keyno, (!default_answer ? towupper(no) : no)); - if ((wtmp = char2wchar_t(keyno))) { - keyno_len = wcswidth(wtmp, wcslen(wtmp)); - free(wtmp); - } #else printascii(keyyes, (default_answer ? toupper(yes) : yes)); printascii(keyno, (!default_answer ? toupper(no) : no)); - keyyes_len = (int) strlen(keyyes); - keyno_len = (int) strlen(keyno); #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + keyyes_len = strwidth(keyyes); + keyno_len = strwidth(keyno); maxlen = MAX(keyyes_len, keyno_len); + prompt_len = keyyes_len + keyno_len + maxlen + 6; + prompt_yn_message = my_strdup(prompt); + prompt_yn_choice = my_malloc(prompt_len + 1); + + input_context = cPromptYN; do { prompt_ch = (default_answer ? yes : no); keyprompt = (default_answer ? keyyes : keyno); - if (!cmd_line) { - MoveCursor(cLINES, 0); - CleartoEOLN(); - } - my_printf("%s (%s/%s) %-*s", prompt, keyyes, keyno, maxlen, keyprompt); - if (!cmd_line) - cursoron(); - my_flush(); - if (!cmd_line) - MoveCursor(cLINES, (int) strlen(prompt) + keyyes_len + keyno_len + 5); + snprintf(prompt_yn_choice, prompt_len, " (%s/%s) %-*s", keyyes, keyno, maxlen, keyprompt); + prompt_yn_redraw(); -#if defined (MULTIBYTE_ABLE) && !defined(NO_LOCALE) +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) if (((ch = ReadWch()) == '\n') || (ch == '\r')) #else if (((ch = (char) ReadCh()) == '\n') || (ch == '\r')) @@ -250,6 +240,10 @@ prompt_yn( func = key_to_func(ch, prompt_keys); } while (func == NOT_ASSIGNED); + input_context = cNone; + FreeAndNull(prompt_yn_message); + FreeAndNull(prompt_yn_choice); + if (!cmd_line) { clear_message(); my_flush(); @@ -259,6 +253,37 @@ prompt_yn( /* + * (Re)draws and resize the prompt message for prompt_yn() + */ +void +prompt_yn_redraw( + void) +{ + char *buf; + int choice_len = strwidth(prompt_yn_choice); + int message_len = strwidth(prompt_yn_message); + + if (!cmd_line) { + MoveCursor(cLINES, 0); + CleartoEOLN(); + } + if (message_len + choice_len > cCOLS - 1) { + buf = strunc(prompt_yn_message, cCOLS - choice_len - 1); + message_len = strwidth(buf); + my_printf("%s%s", buf, prompt_yn_choice); + free(buf); + } else + my_printf("%s%s", prompt_yn_message, prompt_yn_choice); + + if (!cmd_line) + cursoron(); + my_flush(); + if (!cmd_line) + MoveCursor(cLINES, (message_len + choice_len) - 1); +} + + +/* * help_text is displayed near the bottom of the screen. * var is an index into a list containing size elements. * The text from list is shown at row, col + len(prompt_text) @@ -277,12 +302,11 @@ prompt_list( int size) { int ch, var_orig; - int i, offset; + int i, offset, width = 0; int change; int adjust = (strcasecmp(_(list[0]), _(txt_default)) == 0); - size_t width = 0; #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - wchar_t *wbuf; + char *buf; #endif /* MULTIBYTE_ABLE && !NO_LOCALE */ var += adjust; @@ -293,19 +317,18 @@ prompt_list( * Find the length of longest printable text */ for (i = 0; i < size; i++) - width = MAX(width, strlen(_(list[i]))); + width = MAX(width, strwidth(_(list[i]))); show_menu_help(help_text); cursoron(); -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wbuf = char2wchar_t(_(prompt_text))) != NULL) { - if ((offset = wcswidth(wbuf, wcslen(wbuf) + 1)) == -1) /* something went wrong, use wcslen as fallback */ - offset = (int) wcslen(wbuf); - free(wbuf); - } else -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - offset = (int) strlen(_(prompt_text)); + offset = strwidth(_(prompt_text)); + + /* + * Make sure to not exceed cCOLS + */ + if (offset + width >= cCOLS) + width = cCOLS - offset - 1; do { MoveCursor(row, col + offset); @@ -317,7 +340,7 @@ prompt_list( * 0 = do nothing * -1 = move to the previous list element * - * if an arrow key was pressed change ch to an other value + * if an arrow key was pressed change ch to another value * otherwise we will exit the while loop */ switch (ch) { @@ -359,16 +382,28 @@ prompt_list( if (var < 0) var = size - 1; else - var %= size; + var %= (size ? size : 1); - my_printf("%-*s", (int) width, _(list[var])); +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + if ((buf = spart(_(list[var]), width, TRUE)) != NULL) { + my_printf("%s", buf); + free(buf); + } else +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + my_printf("%-*s", width, _(list[var])); my_flush(); } } while (ch != '\r' && ch != '\n' && ch != ESC); if (ch == ESC) { var = var_orig; - my_printf("%-*s", (int) width, _(list[var])); +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + if ((buf = spart(_(list[var]), width, TRUE)) != NULL) { + my_printf("%s", buf); + free(buf); + } else +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + my_printf("%-*s", width, _(list[var])); my_flush(); } @@ -390,7 +425,7 @@ prompt_option_on_off( t_bool old_value = *variable; fmt_option_prompt(prompt, sizeof(prompt), TRUE, option); - *variable = prompt_list(option_row(option), 0, *variable, option_table[option].txt->help, prompt, txt_onoff, 2) ? TRUE: FALSE; + *variable = prompt_list(option_row(option), 0, *variable, option_table[option].txt->help, prompt, txt_onoff, 2) ? TRUE : FALSE; return *variable != old_value; } @@ -426,10 +461,15 @@ prompt_option_string( { char *variable = OPT_STRING_list[option_table[option].var_index]; char prompt[LEN]; + char old_value[LEN]; + STRCPY(old_value, variable); show_menu_help(option_table[option].txt->help); fmt_option_prompt(prompt, sizeof(prompt) - 1, TRUE, option); - return prompt_menu_string(option_row(option), prompt, variable); + if (prompt_menu_string(option_row(option), prompt, variable)) + return strcmp(old_value, variable) ? TRUE : FALSE; + else + return FALSE; } @@ -529,7 +569,7 @@ prompt_string_default( my_strncpy(def, pattern, LEN); else { if (def[0] == '\0') { /* no default - give up */ - error_message(failtext); + error_message(2, failtext); return NULL; } } @@ -605,16 +645,8 @@ sized_message( { char *buf; int max_len; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - wchar_t *wformat; - if ((wformat = char2wchar_t(format)) != NULL) { - /* The formatting info (%s) wastes 2 chars, but our prompt needs 1 char */ - max_len = cCOLS - wcswidth(wformat, wcslen(wformat) + 1) + 2 - 1; - free(wformat); - } else -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - max_len = cCOLS - strlen(format) + 2 - 1; /* The formatting info (%s) wastes 2 chars, but our prompt needs 1 char */ + max_len = cCOLS - strwidth(format) + 2 - 1; /* The formatting info (%s) wastes 2 chars, but our prompt needs 1 char */ buf = strunc(subject, max_len); @@ -678,12 +710,11 @@ prompt_slk_response( else func = key_to_func(ch, keys); +#if 1 /* - * TODO: ignore special-keys which are represented as a - * multibyte ESC-seq to avoid interpreting them as 'ESC' only - * like it's done in the ugly code below. + * ignore special-keys which are represented as a multibyte ESC-seq + * to avoid interpreting them as 'ESC' only */ -#if 0 if (ch == ESC) { switch (get_arrow_key(ch)) { case KEYMAP_UP: @@ -695,13 +726,14 @@ prompt_slk_response( case KEYMAP_HOME: case KEYMAP_END: ch = '\0'; + func = NOT_ASSIGNED; break; default: break; } } -#endif /* 0 */ +#endif /* 1 */ } while (func == NOT_ASSIGNED); input_context = cNone; @@ -718,20 +750,11 @@ prompt_slk_redraw( void) { int column; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - wchar_t *wtmp; -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ wait_message(0, "%s", prompt_slk_message); /* get the cursor _just_ right */ -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wtmp = char2wchar_t(prompt_slk_message)) != NULL) { - column = wcswidth(wtmp, wcslen(wtmp) + 1) - 1; - free(wtmp); - } else -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - column = (int) strlen(prompt_slk_message) - 1; + column = strwidth(prompt_slk_message) - 1; MoveCursor(cLINES, column); } @@ -747,11 +770,12 @@ prompt_continue( void) { int ch; + int save_signal_context = signal_context; -#ifdef USE_CURSES cmd_line = TRUE; -#endif /* USE_CURSES */ info_message(_(txt_return_key)); + signal_context = cMain; + input_context = cPromptCONT; switch ((ch = ReadCh())) { case ESC: @@ -765,8 +789,14 @@ prompt_continue( break; } + input_context = cNone; + signal_context = save_signal_context; + #ifdef USE_CURSES + my_fputc('\n', stdout); +#endif /* USE_CURSES */ cmd_line = FALSE; +#ifdef USE_CURSES my_retouch(); #endif /* USE_CURSES */ } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/read.c tin-2.0.0/src/read.c --- tin-1.8.3/src/read.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/read.c 2011-05-06 14:04:33.193106784 +0200 @@ -3,9 +3,9 @@ * Module : read.c * Author : Jason Faultless * Created : 1997-04-10 - * Updated : 2005-07-02 + * Updated : 2011-05-06 * - * Copyright (c) 1997-2006 Jason Faultless + * Copyright (c) 1997-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -60,36 +60,23 @@ static int offset = 0; * local prototypes */ static char *tin_read(char *buffer, size_t len, FILE *fp, t_bool header); -#ifdef NNTP_ABLE +#if defined(NNTP_ABLE) && defined(HAVE_SELECT) static t_bool wait_for_input(void); -#endif /* NNTP_ABLE */ +#endif /* NNTP_ABLE && HAVE_SELECT */ -#ifdef NNTP_ABLE +#if defined(NNTP_ABLE) && defined(HAVE_SELECT) /* * Used by the I/O read routine to look for keyboard input * Returns TRUE if user aborted with 'q' or 'z' (lynx-style) * FALSE otherwise * TODO: document 'z' (, and allow it's remapping?) and 'Q' + * add a !HAVE_SELECT code path */ static t_bool wait_for_input( void) { -# ifndef HAVE_SELECT -# ifdef VMS - int ch = ReadChNowait(); - - if (ch == iKeyQuit || ch == 'z' || ch == iKeyAbort) { - if (prompt_yn(cLINES, _(txt_read_abort), FALSE) == 1) - return TRUE; - } - if (ch == iKeyQuitTin) { - if (prompt_yn(cLINES, _(txt_read_exit), FALSE) == 1) - tin_done(EXIT_SUCCESS); - } -# endif /* VMS */ -# else int nfds, ch; fd_set readfds; struct timeval tv; @@ -105,8 +92,13 @@ wait_for_input( tv.tv_sec = 0; /* NNTP_READ_TIMEOUT; */ tv.tv_usec = 0; -/*DEBUG_IO((stderr, "waiting on %d and %d...", STDIN_FILENO, fileno(fd)));*/ +/* DEBUG_IO((stderr, "waiting on %d and %d...", STDIN_FILENO, fileno(fd))); */ +# ifdef HAVE_SELECT_INTP + if ((nfds = select(STDIN_FILENO + 1, (int *) &readfds, NULL, NULL, &tv)) == -1) { +# else if ((nfds = select(STDIN_FILENO + 1, &readfds, NULL, NULL, &tv)) == -1) { +# endif /* HAVE_SELECT_INTP */ + if (errno != EINTR) { perror_message("select() failed"); giveup(); @@ -122,7 +114,6 @@ wait_for_input( * Something is waiting. See what's cooking... */ if (nfds > 0) { - /* * User pressed something. If 'q'uit, then handle this. Process * user input 1st so they get chance to quit on busy (or stalled) @@ -157,24 +148,18 @@ wait_for_input( } -# if 0 +# if 0 /* * Our file has something for us to read */ if (FD_ISSET(fileno(NEED_NNTP_FD_HERE), &readfds)) return TRUE; -# endif /* 0 */ +# endif /* 0 */ } } -# endif /* !HAVE_SELECT */ -/* - * FIXME: insert !HAVE_SELECT code here - NB: we already have VMS specific - * code at the top of this function - */ - return FALSE; } -#endif /* NNTP_ABLE */ +#endif /* NNTP_ABLE && HAVE_SELECT */ /* @@ -207,14 +192,16 @@ tin_read( partial_read = FALSE; #ifdef NNTP_ABLE +# ifdef HAVE_SELECT if (wait_for_input()) { /* Check if okay to read */ info_message(_("Aborting read, please wait...")); drain_buffer(fp); clear_message(); tin_errno = TIN_ABORT; - fflush(stdin); + /* fflush(stdin); */ return NULL; } +# endif /* HAVE_SELECT */ errno = 0; /* To check errno after read, clear it here */ @@ -233,8 +220,8 @@ tin_read( /* TODO: develop this next line? */ #ifdef DEBUG - if (errno) - fprintf(stderr, "errno in tin_read %d\n", errno); + if (errno && (debug & DEBUG_MISC)) + fprintf(stderr, "tin_read(%s)", strerror(errno)); #endif /* DEBUG */ if (ptr == 0) /* End of data? */ @@ -327,7 +314,6 @@ tin_fgets( static char *dynbuf = NULL; static int size = 0; - char *temp, *ptr; int next; tin_errno = 0; /* Clear errors */ @@ -351,8 +337,8 @@ tin_fgets( size = INIT; #endif /* 1 */ - if ((ptr = tin_read(dynbuf, size, fp, header)) == NULL) - return ptr; + if (tin_read(dynbuf, size, fp, header) == NULL) + return NULL; if (tin_errno != 0) { DEBUG_IO((stderr, _("Aborted read\n"))); @@ -364,9 +350,8 @@ tin_fgets( while (partial_read) { if (next + RCHUNK > size) size = next + RCHUNK; - temp = my_realloc(dynbuf, size * sizeof(*dynbuf)); - dynbuf = temp; - temp = tin_read(dynbuf + next, size - next, fp, header); /* What if == 0? */ + dynbuf = my_realloc(dynbuf, size * sizeof(*dynbuf)); + (void) tin_read(dynbuf + next, size - next, fp, header); /* What if == NULL? */ next += offset; if (tin_errno != 0) diff -Nurp --exclude='.bzr*' tin-1.8.3/src/refs.c tin-2.0.0/src/refs.c --- tin-1.8.3/src/refs.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/refs.c 2011-05-28 16:36:31.615493995 +0200 @@ -3,12 +3,12 @@ * Module : refs.c * Author : Jason Faultless * Created : 1996-05-09 - * Updated : 2005-07-20 + * Updated : 2010-01-10 * Notes : Cacheing of message ids / References based threading * Credits : Richard Hodson * hash_msgid, free_msgid * - * Copyright (c) 1996-2006 Jason Faultless + * Copyright (c) 1996-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,15 +44,10 @@ #define MAX_REFS 100 /* Limit recursion depth */ #define REF_SEP " \t" /* Separator chars in ref headers */ -/* Produce disgusting amounts of output to help me tame this thing */ -#undef DEBUG_REFS - -#ifdef DEBUG_REFS +#ifdef DEBUG # define DEBUG_PRINT(x) fprintf x -FILE *dbgfd; -#else -# define DEBUG_PRINT(x) -#endif /* DEBUG_REFS */ +static FILE *dbgfd; +#endif /* DEBUG */ /* * local prototypes @@ -61,25 +56,21 @@ static char *_get_references(struct t_ms static struct t_msgid *add_msgid(int key, const char *msgid, struct t_msgid *newparent); static struct t_msgid *find_next(struct t_msgid *ptr); static struct t_msgid *parse_references(char *r); -static t_bool valid_msgid(const char *msgid); +static t_bool valid_msgid(char *msgid); static unsigned int hash_msgid(const char *key); static void add_to_parent(struct t_msgid *ptr); static void build_thread(struct t_msgid *ptr); -#ifdef DEBUG_REFS - static void dump_thread(FILE *fp, struct t_msgid *msgid, int level); +static void rearrange_siblings(void); +#ifdef DEBUG static void dump_msgid_thread(struct t_msgid *ptr, int level); static void dump_msgid_threads(void); -#endif /* DEBUG_REFS */ +#endif /* DEBUG */ #if 0 static void dump_msgids(void); + static void dump_thread(FILE *fp, struct t_msgid *msgid, int level); #endif /* 0 */ /* - * Set if the sorting algorithm goes 'upwards' - */ -static t_bool sort_ascend; - -/* * The msgids are all hashed into a big array, with overspill */ static struct t_msgid *msgids[MSGID_HASH_SIZE] = {0}; @@ -153,27 +144,14 @@ add_to_parent( /* * Add this followup to the sibling chain of our parent. - * arts[] has been sorted by build_references and we add at the start or end - * of the chain depending on whether the sort method is ASCEND or DESCEND - * Unavailable articles go at the start of the chain if ASCEND (because - * we presume unavailable arts (ie REF_REF links) have expired), otherwise at the end. - * ie: if ASCEND && REF - * add_to_start - * else - * add_to_end - */ - if (sort_ascend && (ptr->article == ART_UNAVAILABLE)) { - /* Add to start */ - ptr->sibling = ptr->parent->child; - ptr->parent->child = ptr; - } else { - /* Add to end */ - for (p = ptr->parent->child; p->sibling != NULL; p = p->sibling) - ; + * We add at the end of the chain, rearrange_siblings() will + * sort it later. + */ + for (p = ptr->parent->child; p->sibling != NULL; p = p->sibling) + ; -/* ptr->sibling is already NULL */ - p->sibling = ptr; - } +/* ptr->sibling is already NULL */ + p->sibling = ptr; } @@ -181,15 +159,16 @@ add_to_parent( * Checks if Message-ID has valid format * Returns TRUE if it does, FALSE if it does not * - * TODO: combine with post.c:damaged_id()? + * TODO: combine with post.c:damaged_id() */ static t_bool valid_msgid( - const char *msgid) + char *msgid) { size_t mlen = 0; - t_bool at_present = 0; + t_bool at_present = FALSE; + str_trim(msgid); if (!msgid || *msgid != '<') return FALSE; @@ -242,13 +221,16 @@ add_msgid( unsigned int h; if (!msgid) { - error_message("add_msgid: NULL msgid\n"); + error_message(2, "add_msgid: NULL msgid\n"); giveup(); } h = hash_msgid(msgid + 1); /* Don't hash the initial '<' */ - DEBUG_PRINT((dbgfd, "---------------- Add %s %s with parent %s\n", (key == MSGID_REF) ? "MSG" : "REF", msgid, (newparent == NULL) ? _("unchanged") : newparent->txt)); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "---------------- Add %s %s with parent %s\n", (key == MSGID_REF) ? "MSG" : "REF", msgid, (newparent == NULL) ? _("unchanged") : newparent->txt)); +#endif /* DEBUG */ /* * Look for this message id in the cache. @@ -262,7 +244,10 @@ add_msgid( * CASE 1a - No parent specified, do nothing */ if (newparent == NULL) { - DEBUG_PRINT((dbgfd, "nop: %s No parent specified\n", i->txt)); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "nop: %s No parent specified\n", i->txt)); +#endif /* DEBUG */ return i; } @@ -270,7 +255,10 @@ add_msgid( * CASE 1b - Parent not changed, do nothing */ if (newparent == i->parent) { - DEBUG_PRINT((dbgfd, "dup: %s -> %s (no change)\n", i->txt, i->parent ? i->parent->txt : "NULL")); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "dup: %s -> %s (no change)\n", i->txt, i->parent ? i->parent->txt : "NULL")); +#endif /* DEBUG */ return i; } @@ -285,15 +273,20 @@ add_msgid( */ for (ptr = newparent; ptr != NULL; ptr = ptr->parent) { if (ptr == i) { - DEBUG_PRINT((dbgfd, "Avoiding circular reference! (%s)\n", (key == MSGID_REF) ? "MSG" : "REF")); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "Avoiding circular reference! (%s)\n", (key == MSGID_REF) ? "MSG" : "REF")); +#endif /* DEBUG */ return i; } } i->parent = newparent; add_to_parent(i); - - DEBUG_PRINT((dbgfd, "set: %s -> %s\n", i->txt, newparent ? newparent->txt : _("None"))); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "set: %s -> %s\n", i->txt, newparent ? newparent->txt : _("None"))); +#endif /* DEBUG */ return i; } @@ -305,18 +298,24 @@ add_msgid( * All we can do is ignore the error */ if (i->parent != newparent) { - DEBUG_PRINT((dbgfd, "Warning: (%s) Ignoring %s -> %s (already %s)\n", - (key == MSGID_REF) ? "MSG" : "REF", i->txt, - newparent ? newparent->txt : "None", i->parent->txt)); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "Warning: (%s) Ignoring %s -> %s (already %s)\n", + (key == MSGID_REF) ? "MSG" : "REF", i->txt, + newparent ? newparent->txt : "None", i->parent->txt)); +#endif /* DEBUG */ return i; } - error_message("Error: Impossible combination of conditions !\n"); + error_message(2, "Error: Impossible combination of conditions !\n"); return i; } - DEBUG_PRINT((dbgfd, "new: %s -> %s\n", msgid, (newparent)?newparent->txt:"None")); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "new: %s -> %s\n", msgid, (newparent) ? newparent->txt : "None")); +#endif /* DEBUG */ /* * This is a new node, so build a structure for it @@ -385,7 +384,10 @@ parse_references( if (!r) return NULL; - DEBUG_PRINT((dbgfd, "parse_references: %s\n", r)); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "parse_references: %s\n", r)); +#endif /* DEBUG */ /* * Break the refs down, using REF_SEP as delimiters @@ -394,13 +396,25 @@ parse_references( return NULL; /* - * By definition, the head of the thread has no parent + * As per RFC 5536, a leading comment is allowed -> skip unknown + * token until we find a valid msgid + * + * TODO: parse these tokens to be sure it is a comment and not + * a damaged header */ - parent = NULL; + if (!valid_msgid(ptr)) { + while ((ptr = strtok(NULL, REF_SEP)) != NULL && !valid_msgid(ptr)) + ; + } - if (!valid_msgid(ptr)) + if (ptr == NULL) return NULL; + /* + * By definition, the head of the thread has no parent + */ + parent = NULL; + current = add_msgid(REF_REF, ptr, parent); while ((ptr = strtok(NULL, REF_SEP)) != NULL) { @@ -414,6 +428,60 @@ parse_references( } +static void +rearrange_siblings( + void) +{ + int i; + struct t_msgid *current, *p1, *p2; + + for_each_art(i) { + current = arts[i].refptr; + + if (!current) + continue; + + for (; current->sibling == NULL && current->parent != NULL; current = current->parent) + ; + + if (current->sibling != NULL) { + for (p1 = current; p1->article == ART_UNAVAILABLE && p1->child != NULL; p1 = p1->child) + ; + + for (p2 = current->sibling; p2->article == ART_UNAVAILABLE && p2->child != NULL; p2 = p2->child) + ; + + if (p1->article != ART_UNAVAILABLE && p2->article != ART_UNAVAILABLE && p1->article > p2->article) { + if (current->parent->child == current) { + /* + * current is the first followup + * adjust parent->child pointer + */ + current->parent->child = current->sibling; + p1 = current->parent->child; + } else { + /* + * current is not the first followup + * find the sibling above current + * adjust the sibling pointer there + */ + for (p1 = current->parent->child; p1->sibling != current; p1 = p1->sibling) + ; + + p1->sibling = current->sibling; + p1 = p1->sibling; + } + /* + * swap current <-> sibling + */ + current->sibling = p1->sibling; + p1->sibling = current; + } + } + } +} + + /* * Reconstruct the References: field from the parent pointers * NB: In deep threads this can lead to a very long line. If you want to use @@ -435,10 +503,12 @@ _get_references( len += strlen(refptr->txt) + 1; /* msgid + space */ if (refptr->parent == NULL || depth > MAX_REFS) { -#ifdef DEBUG_REFS - if (depth > MAX_REFS) - error_message("Warning: Too many refs near to %s. Truncated\n", refptr->txt); -#endif /* DEBUG_REFS */ +#ifdef DEBUG + if (debug & DEBUG_REFS) { + if (depth > MAX_REFS) + error_message(2, "Warning: Too many refs near to %s. Truncated\n", refptr->txt); + } +#endif /* DEBUG */ refs = my_malloc(len + 1); /* total length + nullbyte */ pos = 0; } else @@ -501,6 +571,45 @@ free_msgids( #if 0 /* But please don't remove it */ +/* + * Function to dump an ASCII tree map of a thread rooted at msgid. + * Output goes to fp, level is the current depth of the tree. + */ +static void +dump_thread( + FILE *fp, + struct t_msgid *msgid, + int level) +{ + char buff[120]; /* This is _probably_ enough */ + char *ptr = buff; + int i, len; + + /* + * Dump the current article + */ + sprintf(ptr, "%3d %*s", msgid->article, 2*level, " "); + + len = strlen(ptr); + i = cCOLS - len - 20; + + if (msgid->article >= 0) + sprintf(ptr + len, "%-*.*s %-17.17s", i, i, arts[msgid->article].subject, (arts[msgid->article].name) ? arts[msgid->article].name : arts[msgid->article].from); + else + sprintf(ptr + len, "%-*.*s", i, i, _("[- Unavailable -]")); + + fprintf(fp, "%s\n", ptr); + + if (msgid->child != NULL) + dump_thread(fp, msgid->child, level + 1); + + if (msgid->sibling != NULL) + dump_thread(fp, msgid->sibling, level); + + return; +} + + static void dump_msgids( void) @@ -580,46 +689,7 @@ clear_art_ptrs( } -/* - * Function to dump an ASCII tree map of a thread rooted at msgid. - * Output goes to fp, level is the current depth of the tree. - */ -#ifdef DEBUG_REFS -static void -dump_thread( - FILE *fp, - struct t_msgid *msgid, - int level) -{ - char buff[120]; /* This is _probably_ enough */ - char *ptr = buff; - int i, len; - - /* - * Dump the current article - */ - sprintf(ptr, "%3d %*s", msgid->article, 2*level, " "); - - len = strlen(ptr); - i = cCOLS - len - 20; - - if (msgid->article >= 0) - sprintf(ptr + len, "%-*.*s %-17.17s", i, i, arts[msgid->article].subject, (arts[msgid->article].name) ? arts[msgid->article].name : arts[msgid->article].from); - else - sprintf(ptr + len, "%-*.*s", i, i, _("[- Unavailable -]")); - - fprintf(fp, "%s\n", ptr); - - if (msgid->child != NULL) - dump_thread(fp, msgid->child, level + 1); - - if (msgid->sibling != NULL) - dump_thread(fp, msgid->sibling, level); - - return; -} - - +#ifdef DEBUG /* * Dump out all the threads from the msgid point of view, show the * related article index in arts[] where possible @@ -666,7 +736,7 @@ dump_msgid_threads( fprintf(dbgfd, "Dump complete.\n\n"); } -#endif /* DEBUG_REFS */ +#endif /* DEBUG */ /* @@ -787,10 +857,15 @@ thread_by_reference( int i; struct t_msgid *ptr; -#ifdef DEBUG_REFS - dbgfd = fopen("Refs.info", "w"); - dump_msgid_threads(); -#endif /* DEBUG_REFS */ +#ifdef DEBUG + if (debug & DEBUG_REFS) { + char file[PATH_LEN]; + + joinpath(file, sizeof(file), TMPDIR, "REFS.info"); + dbgfd = fopen(file, "w"); + dump_msgid_threads(); + } +#endif /* DEBUG */ /* * Build threads starting from root msgids (ie without parent) @@ -804,20 +879,22 @@ thread_by_reference( } } -#ifdef DEBUG_REFS - fprintf(dbgfd, "Full dump of threading info...\n"); - fprintf(dbgfd, "%3s %3s %3s %3s : %3s %3s\n", "#", "Par", "Sib", "Chd", "In", "Thd"); +#ifdef DEBUG + if (debug & DEBUG_REFS) { + fprintf(dbgfd, "Full dump of threading info...\n"); + fprintf(dbgfd, "%3s %3s %3s %3s : %3s %3s\n", "#", "Par", "Sib", "Chd", "In", "Thd"); + + for_each_art(i) { + fprintf(dbgfd, "%3d %3d %3d %3d : %3d %3d : %.50s %s\n", i, + (arts[i].refptr->parent) ? arts[i].refptr->parent->article : -2, + (arts[i].refptr->sibling) ? arts[i].refptr->sibling->article : -2, + (arts[i].refptr->child) ? arts[i].refptr->child->article : -2, + arts[i].prev, arts[i].thread, arts[i].refptr->txt, arts[i].subject); + } - for_each_art(i) { - fprintf(dbgfd, "%3d %3d %3d %3d : %3d %3d : %.50s %s\n", i, - (arts[i].refptr->parent) ? arts[i].refptr->parent->article : -2, - (arts[i].refptr->sibling) ? arts[i].refptr->sibling->article : -2, - (arts[i].refptr->child) ? arts[i].refptr->child->article : -2, - arts[i].prev, arts[i].thread, arts[i].refptr->txt, arts[i].subject); + fclose(dbgfd); } - - fclose(dbgfd); -#endif /* DEBUG_REFS */ +#endif /* DEBUG */ return; } @@ -863,12 +940,14 @@ collate_subjects( * is that we have to add later threads onto the end of the * previous thread */ - if ( - (arts[i].subject == arts[j].subject) /* || - (arts[i].archive && arts[j].archive && (arts[i].archive->name == arts[j].archive->name)) */ - ) { -/*DEBUG_PRINT((dbgfd, "RES: %d is now previous, at end of %d\n", i, j));*/ - +#if 1 + if (arts[i].subject == arts[j].subject) +#else + /* see also art.c:thread_by_subject() */ + if ((arts[i].subject == arts[j].subject) || (arts[i].archive && arts[j].archive && (arts[i].archive->name == arts[j].archive->name))) +#endif /* 1 */ + { + /* DEBUG_PRINT((dbgfd, "RES: %d is now previous, at end of %d\n", i, j)); */ for (art = j; arts[art].thread >= 0; art = arts[art].thread) ; @@ -914,20 +993,19 @@ build_references( /* * The articles are currently unsorted, and are as they were put by setup_hard_base() */ - if (group->attribute->sort_art_type != SORT_ARTICLES_BY_NOTHING) - sort_arts(group->attribute->sort_art_type); + if (group->attribute->sort_article_type != SORT_ARTICLES_BY_NOTHING) + sort_arts(group->attribute->sort_article_type); - sort_ascend = (group->attribute->sort_art_type == SORT_ARTICLES_BY_SUBJ_ASCEND || - group->attribute->sort_art_type == SORT_ARTICLES_BY_FROM_ASCEND || - group->attribute->sort_art_type == SORT_ARTICLES_BY_DATE_ASCEND || - group->attribute->sort_art_type == SORT_ARTICLES_BY_SCORE_ASCEND || - group->attribute->sort_art_type == SORT_ARTICLES_BY_LINES_ASCEND); - -#ifdef DEBUG_REFS - dbgfd = fopen("Refs.dump", "w"); - SETVBUF(dbgfd, NULL, _IONBF, 0); - fprintf(dbgfd, "MSGID phase\n"); -#endif /* DEBUG_REFS */ +#ifdef DEBUG + if (debug & DEBUG_REFS) { + char file[PATH_LEN]; + + joinpath(file, sizeof(file), TMPDIR, "REFS.dump"); + dbgfd = fopen(file, "w"); + SETVBUF(dbgfd, NULL, _IONBF, 0); + fprintf(dbgfd, "MSGID phase\n"); + } +#endif /* DEBUG */ /* * Add the Message-ID headers to the cache, using the last Reference @@ -936,6 +1014,7 @@ build_references( for_each_art(i) { art = &arts[i]; + art->refptr = add_msgid(MSGID_REF, art->msgid, NULL); /* preset art->refptr */ if (art->refs) { strip_line(art->refs); @@ -947,30 +1026,46 @@ build_references( * TODO: do this in a single pass */ if ((s = strrchr(art->refs, '<')) != NULL) { - if (!strcmp(art->msgid, s)) { + char *ptr; + + /* + * A comment can occur after another REF_SEP, remove it + * + * TODO: parse it to be sure it is a comment + */ + if ((ptr = strpbrk(s, REF_SEP)) != NULL) + *ptr = '\0'; + + if (valid_msgid(s) && !strcmp(art->msgid, s)) { /* * Remove circular reference to current article */ - DEBUG_PRINT((dbgfd, "removing circular reference to: %s\n", s)); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "removing circular reference to: %s\n", s)); +#endif /* DEBUG */ *s = '\0'; } - } - if (s != NULL) { - if (valid_msgid(art->msgid)) + if (valid_msgid(art->msgid) && valid_msgid(s)) art->refptr = add_msgid(MSGID_REF, art->msgid, add_msgid(REF_REF, s, NULL)); *s = '\0'; - } else { - if (valid_msgid(art->msgid)) - art->refptr = add_msgid(MSGID_REF, art->msgid, add_msgid(REF_REF, art->refs, NULL)); + } else FreeAndNull(art->refs); - } - } else - if (valid_msgid(art->msgid)) - art->refptr = add_msgid(MSGID_REF, art->msgid, NULL); + } + + /* + * set art->refptr->article - rearrange_siblings() needs this + */ + if (art->refptr != NULL) + art->refptr->article = i; + FreeAndNull(art->msgid); /* Now cached - discard this */ } - DEBUG_PRINT((dbgfd, "REFS phase\n")); +#ifdef DEBUG + if (debug & DEBUG_REFS) + DEBUG_PRINT((dbgfd, "REFS phase\n")); +#endif /* DEBUG */ /* * Add the References data to the cache */ @@ -993,7 +1088,14 @@ build_references( FreeAndNull(art->refs); } -#ifdef DEBUG_REFS - fclose(dbgfd); -#endif /* DEBUG_REFS */ +#ifdef DEBUG + if (debug & DEBUG_REFS) + fclose(dbgfd); +#endif /* DEBUG */ + + /* + * all msgids are cached now + * change order of siblings if needed + */ + rearrange_siblings(); } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/regex.c tin-2.0.0/src/regex.c --- tin-1.8.3/src/regex.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/regex.c 2011-04-17 16:04:31.435222565 +0200 @@ -3,11 +3,11 @@ * Module : regex.c * Author : Jason Faultless * Created : 1997-02-21 - * Updated : 2003-12-17 + * Updated : 2008-11-22 * Notes : Regular expression subroutines * Credits : * - * Copyright (c) 1997-2006 Jason Faultless + * Copyright (c) 1997-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -77,8 +77,10 @@ match_regex( } if ((error = pcre_exec(ptr_cache->re, ptr_cache->extra, string, strlen(string), 0, 0, NULL, 0)) >= 0) { - FreeIfNeeded(tmp_cache.re); - FreeIfNeeded(tmp_cache.extra); + if (ptr_cache == &tmp_cache) { + FreeIfNeeded(tmp_cache.re); + FreeIfNeeded(tmp_cache.extra); + } return TRUE; } @@ -89,7 +91,7 @@ match_regex( * an error message on each call */ if (error != PCRE_ERROR_NOMATCH) - error_message(_(txt_pcre_error_num), error); + error_message(2, _(txt_pcre_error_num), error); #endif /* 0 */ FreeIfNeeded(tmp_cache.re); @@ -122,13 +124,13 @@ compile_regex( #endif /* MULTIBYTE_ABLE && !NO_LOCALE && PCRE_MAJOR && PCRE_MAJOR >= 4*/ if ((cache->re = pcre_compile(regex, my_options, ®ex_errmsg, ®ex_errpos, NULL)) == NULL) - error_message(_(txt_pcre_error_at), regex_errmsg, regex_errpos, regex); + error_message(2, _(txt_pcre_error_at), regex_errmsg, regex_errpos, regex); else { cache->extra = pcre_study(cache->re, 0, ®ex_errmsg); if (regex_errmsg != NULL) { /* we failed, clean up */ FreeAndNull(cache->re); - error_message(_(txt_pcre_error_text), regex_errmsg); + error_message(2, _(txt_pcre_error_text), regex_errmsg); } else return TRUE; } @@ -146,7 +148,7 @@ highlight_regexes( int color) { char *ptr; - int offsets[6]; + int offsets[6]; /* we are not interrested in any supatterns, so 6 is sufficient */ int offsets_size = ARRAY_SIZE(offsets); #ifdef USE_CURSES char buf[LEN]; @@ -162,7 +164,8 @@ highlight_regexes( #endif /* USE_CURSES */ ptr = buf; - while (pcre_exec(regex->re, regex->extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) > 0) { + /* also check for 0 as offsets[] might be too small to hold all captured subpatterns */ + while (pcre_exec(regex->re, regex->extra, ptr, strlen(ptr), 0, 0, offsets, offsets_size) >= 0) { /* we have a match */ if (color >= 0) /* color the matching text */ word_highlight_string(row, (ptr - buf) + offsets[0], offsets[1] - offsets[0], color); diff -Nurp --exclude='.bzr*' tin-1.8.3/src/rfc1524.c tin-2.0.0/src/rfc1524.c --- tin-1.8.3/src/rfc1524.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/rfc1524.c 2011-04-17 16:04:31.459226217 +0200 @@ -3,10 +3,10 @@ * Module : rfc1524.c * Author : Urs Janssen , Jason Faultless * Created : 2000-05-15 - * Updated : 2005-07-02 + * Updated : 2009-07-17 * Notes : mailcap parsing as defined in RFC 1524 * - * Copyright (c) 2000-2006 Urs Janssen , Jason Faultless + * Copyright (c) 2000-2011 Urs Janssen , Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -90,7 +90,7 @@ get_mailcap_entry( nptr = strtok(mailcaps, ":"); while (nptr != NULL) { /* expand ~ and/or $HOME etc. */ - if (strfpath(nptr, filename, sizeof(filename) - 1, &CURR_GROUP)) { + if (strfpath(nptr, filename, sizeof(filename) - 1, &CURR_GROUP, FALSE)) { if ((fp = fopen(filename, "r")) != NULL) { while ((fgets(ptr, sizeof(buf) - strlen(buf), fp)) != NULL) { if (*ptr == '#' || *ptr == '\n') /* skip comments & blank lines */ @@ -113,7 +113,7 @@ get_mailcap_entry( STRCPY(mailcap, ptr); foo = parse_mailcap_line(mailcap, part, path); if (foo != NULL) { - fclose(fp); /* perfect match with test succeded (if given) */ + fclose(fp); /* perfect match with test succeeded (if given) */ free(mailcaps); return foo; } @@ -125,7 +125,7 @@ get_mailcap_entry( if (foo == NULL) /* test failed */ wildcap[0] = '\0'; /* ignore match */ } - } /* else subtype missmatch, no action required */ + } /* else subtype mismatch, no action required */ } } /* else no match, no action required */ } /* else invalid mailcap line (no /), no action required */ @@ -306,7 +306,7 @@ get_mailcap_field( break; case ';': - if (!backquote && !doublequote) { /* field seperator (plain ;) */ + if (!backquote && !doublequote) { /* field separator (plain ;) */ *ptr = '\0'; return mailcap; } @@ -395,7 +395,7 @@ expand_mailcap_meta( const char *value; parameter = my_calloc(1, end - ptr + 1); - strncpy(parameter, ptr + 1, end - ptr - 1); /* extract paramter name */ + strncpy(parameter, ptr + 1, end - ptr - 1); /* extract parameter name */ if ((value = get_param(part->params, parameter)) != NULL) { /* match? */ const char *nptr = escape_shell_meta_chars ? escape_shell_meta(value, quote) : value; diff -Nurp --exclude='.bzr*' tin-1.8.3/src/rfc2045.c tin-2.0.0/src/rfc2045.c --- tin-1.8.3/src/rfc2045.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/rfc2045.c 2011-04-17 16:04:31.491231088 +0200 @@ -3,10 +3,10 @@ * Module : rfc2045.c * Author : Chris Blum * Created : 1995-09-01 - * Updated : 2005-05-10 + * Updated : 2007-11-27 * Notes : RFC 2045/2047 encoding * - * Copyright (c) 1995-2006 Chris Blum + * Copyright (c) 1995-2011 Chris Blum * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -42,7 +42,7 @@ /* * local prototypes */ -static int put_rest(char **rest, char **line, int *max_line_len, const int offset); +static int put_rest(char **rest, char **line, size_t *max_line_len, const int offset); static unsigned char bin2hex(unsigned int x); static void set_rest(char **rest, const char *ptr); @@ -251,7 +251,7 @@ static int put_rest( char **rest, char **line, - int *max_line_len, + size_t *max_line_len, const int offset) { char *my_rest = *rest; @@ -272,7 +272,7 @@ put_rest( /* * Resize line if necessary. Keep in mind that we add LF and \0 later. */ - if (put_chars >= *max_line_len - 2) { + if (put_chars >= (int) *max_line_len - 2) { if (*max_line_len == 0) *max_line_len = LEN; else @@ -303,7 +303,7 @@ put_rest( /* * Read a logical base64 encoded line into the specified line buffer. * Logical lines can be split over several physical base64 encoded lines and - * a single physical base64 encoded line can contain serveral logical lines. + * a single physical base64 encoded line can contain several logical lines. * This function keeps track of all these cases and always copies only one * decoded line to the line buffer. * @@ -317,7 +317,7 @@ int read_decoded_base64_line( FILE *file, char **line, - int *max_line_len, + size_t *max_line_len, const int max_lines_to_read, char **rest) { @@ -379,7 +379,7 @@ read_decoded_base64_line( * newline is expected at the end of a line by some other code in * cook.c. */ - if (put_chars > *max_line_len - 2) { + if (put_chars > (int) *max_line_len - 2) { *max_line_len <<= 1; *line = my_realloc(*line, *max_line_len); } @@ -403,7 +403,7 @@ read_decoded_base64_line( * newline is expected at the end of a line by some other code in * cook.c. */ - if (put_chars > *max_line_len - 2) { + if (put_chars > (int) *max_line_len - 2) { *max_line_len <<= 1; *line = my_realloc(*line, *max_line_len); } @@ -430,7 +430,7 @@ int read_decoded_qp_line( FILE *file, char **line, /* where to copy the decoded line */ - int *max_line_len, /* (maximum) line length */ + size_t *max_line_len, /* (maximum) line length */ const int max_lines_to_read) /* don't read more physical lines than told here */ { char *buf, *buf2; @@ -447,7 +447,7 @@ read_decoded_qp_line( if ((buf2 = tin_fgets(file, FALSE)) == NULL) { /* * Premature end of file (or file error, leave loop. To prevent - * re-invokation of this function, set the numbers of read lines + * re-invocation of this function, set the numbers of read lines * to the expected maximum that should be read at most. */ lines_read = max_lines_to_read; @@ -512,7 +512,7 @@ read_decoded_qp_line( } else /* error in encoding: copy raw line */ ptr = buf; - if (*max_line_len < (int) strlen(ptr) + 1) { + if (*max_line_len < strlen(ptr) + 1) { *max_line_len = strlen(ptr) + 1; *line = my_realloc(*line, *max_line_len); } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/rfc2046.c tin-2.0.0/src/rfc2046.c --- tin-1.8.3/src/rfc2046.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/rfc2046.c 2011-04-17 16:04:36.187945828 +0200 @@ -3,10 +3,10 @@ * Module : rfc2046.c * Author : Jason Faultless * Created : 2000-02-18 - * Updated : 2005-07-02 + * Updated : 2011-01-29 * Notes : RFC 2046 MIME article parsing * - * Copyright (c) 2000-2006 Jason Faultless + * Copyright (c) 2000-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -80,7 +80,7 @@ static void progress( int line_count) { - if (progress_mesg != NULL && line_count && line_count % MODULO_COUNT_NUM == 0) + if (progress_mesg != NULL && art_lines > 0 && line_count && line_count % MODULO_COUNT_NUM == 0) show_progress(progress_mesg, line_count, art_lines); } @@ -225,7 +225,7 @@ get_quoted_string( } *ptr = '\0'; *dest = my_realloc(*dest, strlen(*dest) + 1); - return *source ? source++ : source; + return *source ? source + 1 : source; } @@ -585,7 +585,8 @@ parse_header( char *buf, const char *pat, t_bool decode, - t_bool structured) + t_bool structured, + t_bool keep_tab) { size_t plen = strlen(pat); char *ptr = buf + plen; @@ -606,7 +607,7 @@ parse_header( str_trim(ptr); if (!*ptr) - return ptr; + return NULL; if (decode) { if (structured) { @@ -619,15 +620,15 @@ parse_header( if (*name) { if (type == GNKSA_ADDRTYPE_OLDSTYLE) - sprintf(ptr, "%s (%s)", addr, convert_to_printable(rfc1522_decode(name))); + sprintf(ptr, "%s (%s)", addr, convert_to_printable(rfc1522_decode(name), keep_tab)); else - sprintf(ptr, "%s <%s>", convert_to_printable(rfc1522_decode(name)), addr); + sprintf(ptr, "%s <%s>", convert_to_printable(rfc1522_decode(name), keep_tab), addr); } else - sprintf(ptr, "%s", addr); + strcpy(ptr, addr); } else - return convert_to_printable(ptr); + return convert_to_printable(ptr, keep_tab); } else - return (convert_to_printable(rfc1522_decode(ptr))); + return (convert_to_printable(rfc1522_decode(ptr), keep_tab)); } return ptr; @@ -636,7 +637,7 @@ parse_header( /* * Read main article headers into a blank header structure. - * Pass the data 'from' -> 'to' + * Pass the data 'from' -> 'to' when reading via NNTP * Return tin_errno (basically will be !=0 if reading was 'q'uit) * We have to guard against 'to' here since this function is exported */ @@ -654,7 +655,7 @@ parse_rfc822_headers( hdr->ext = new_part(NULL); /* Initialise MIME data */ while ((line = tin_fgets(from, TRUE)) != NULL) { - if (to) + if (read_news_via_nntp && to) fprintf(to, "%s\n", line); /* Put raw data */ /* @@ -671,112 +672,112 @@ parse_rfc822_headers( * loss (multiple Cc: lines are allowed, for example) */ unfold_header(line); - if ((ptr = parse_header(line, "From", TRUE, TRUE))) { + if ((ptr = parse_header(line, "From", TRUE, TRUE, FALSE))) { FreeIfNeeded(hdr->from); hdr->from = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "To", TRUE, TRUE))) { + if ((ptr = parse_header(line, "To", TRUE, TRUE, FALSE))) { FreeIfNeeded(hdr->to); hdr->to = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Cc", TRUE, TRUE))) { + if ((ptr = parse_header(line, "Cc", TRUE, TRUE, FALSE))) { FreeIfNeeded(hdr->cc); hdr->cc = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Bcc", TRUE, TRUE))) { + if ((ptr = parse_header(line, "Bcc", TRUE, TRUE, FALSE))) { FreeIfNeeded(hdr->bcc); hdr->bcc = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Date", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Date", FALSE, FALSE, FALSE))) { FreeIfNeeded(hdr->date); hdr->date = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Subject", TRUE, FALSE))) { + if ((ptr = parse_header(line, "Subject", TRUE, FALSE, TRUE))) { FreeIfNeeded(hdr->subj); hdr->subj = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Organization", TRUE, FALSE))) { + if ((ptr = parse_header(line, "Organization", TRUE, FALSE, TRUE))) { FreeIfNeeded(hdr->org); hdr->org = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Reply-To", TRUE, TRUE))) { + if ((ptr = parse_header(line, "Reply-To", TRUE, TRUE, FALSE))) { FreeIfNeeded(hdr->replyto); hdr->replyto = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Newsgroups", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Newsgroups", FALSE, FALSE, FALSE))) { FreeIfNeeded(hdr->newsgroups); hdr->newsgroups = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Message-ID", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Message-ID", FALSE, FALSE, FALSE))) { FreeIfNeeded(hdr->messageid); hdr->messageid = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "References", FALSE, FALSE))) { + if ((ptr = parse_header(line, "References", FALSE, FALSE, FALSE))) { FreeIfNeeded(hdr->references); hdr->references = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Distribution", TRUE, FALSE))) { + if ((ptr = parse_header(line, "Distribution", FALSE, FALSE, FALSE))) { FreeIfNeeded(hdr->distrib); hdr->distrib = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Keywords", TRUE, FALSE))) { + if ((ptr = parse_header(line, "Keywords", TRUE, FALSE, FALSE))) { FreeIfNeeded(hdr->keywords); hdr->keywords = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Summary", TRUE, FALSE))) { + if ((ptr = parse_header(line, "Summary", TRUE, FALSE, FALSE))) { FreeIfNeeded(hdr->summary); hdr->summary = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Followup-To", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Followup-To", FALSE, FALSE, FALSE))) { FreeIfNeeded(hdr->followup); hdr->followup = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "X-Comment-To", TRUE, TRUE))) { + if ((ptr = parse_header(line, "X-Comment-To", TRUE, TRUE, FALSE))) { FreeIfNeeded(hdr->ftnto); hdr->ftnto = my_strdup(ptr); continue; } #ifdef XFACE_ABLE - if ((ptr = parse_header(line, "X-Face", FALSE, FALSE))) { + if ((ptr = parse_header(line, "X-Face", FALSE, FALSE, FALSE))) { FreeIfNeeded(hdr->xface); hdr->xface = my_strdup(ptr); continue; } #endif /* XFACE_ABLE */ /* TODO: check version */ - if (parse_header(line, "MIME-Version", FALSE, FALSE)) { + if (parse_header(line, "MIME-Version", FALSE, FALSE, FALSE)) { hdr->mime = TRUE; continue; } - if ((ptr = parse_header(line, "Content-Type", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Content-Type", FALSE, FALSE, FALSE))) { parse_content_type(ptr, hdr->ext); continue; } - if ((ptr = parse_header(line, "Content-Transfer-Encoding", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Content-Transfer-Encoding", FALSE, FALSE, FALSE))) { hdr->ext->encoding = parse_content_encoding(ptr); continue; } - if ((ptr = parse_header(line, "Content-Description", TRUE, FALSE))) { + if ((ptr = parse_header(line, "Content-Description", TRUE, FALSE, FALSE))) { FreeIfNeeded(hdr->ext->description); hdr->ext->description = my_strdup(ptr); continue; } - if ((ptr = parse_header(line, "Content-Disposition", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Content-Disposition", FALSE, FALSE, FALSE))) { parse_content_disposition(ptr, hdr->ext); continue; } @@ -817,8 +818,10 @@ unfold_header( char *src = line, *dst = line; char c; - while ((c = *src++)) - if (c != '\n') *dst++ = c; + while ((c = *src++)) { + if (c != '\n') + *dst++ = c; + } *dst = c; } @@ -830,7 +833,7 @@ unfold_header( #define TIN_EOF 0xf00 /* Used internally for error recovery */ /* - * Handles multipart/ article types, write data to a raw stream + * Handles multipart/ article types, write data to a raw stream when reading via NNTP * artinfo is used for generic article pointers * part contains content info about the attachment we're parsing * depth is the number of levels by which the current part is embedded @@ -849,7 +852,8 @@ parse_multipart_article( char *ptr; int bnd; int state = M_SEARCHING; - t_part *curr_part = 0; + t_bool is_rfc822 = FALSE; + t_part *curr_part = NULL, *rfc822_part = NULL; while ((line = tin_fgets(infile, (state == M_HDR))) != NULL) { /* fprintf(stderr, "%d---:%s\n", depth, line); */ @@ -859,20 +863,41 @@ parse_multipart_article( */ bnd = boundary_check(line, artinfo->hdr.ext); - fprintf(artinfo->raw, "%s\n", line); + if (read_news_via_nntp) + fprintf(artinfo->raw, "%s\n", line); artinfo->hdr.ext->line_count += count_lines(line); if (show_progress_meter) progress(artinfo->hdr.ext->line_count); /* Overall line count */ + if (part && part != artinfo->hdr.ext) + part->line_count += count_lines(line); + + if (is_rfc822 && rfc822_part) + rfc822_part->line_count += count_lines(line); + if (bnd == BOUND_END) { /* End of this part detected */ + if (is_rfc822 && rfc822_part) + rfc822_part->line_count -= count_lines(line); /* * When we have reached the end boundary of the outermost envelope * just log any trailing data for the raw article format. */ - if (depth == 0) + if (boundary_cmp(line, get_param(artinfo->hdr.ext->params, "boundary")) == BOUND_END) + depth = 0; +#if 0 /* doesn't count tailing lines after envelop mime part - correct but confusing */ + if (read_news_via_nntp && depth == 0) while ((line = tin_fgets(infile, FALSE)) != NULL) fprintf(artinfo->raw, "%s\n", line); +#else + if (depth == 0) { + while ((line = tin_fgets(infile, FALSE)) != NULL) { + if (read_news_via_nntp) + fprintf(artinfo->raw, "%s\n", line); + artinfo->hdr.ext->line_count++; + } + } +#endif /* 0 */ return tin_errno; } @@ -892,8 +917,8 @@ parse_multipart_article( case M_HDR: switch (bnd) { - case BOUND_START: - error_message(_(txt_error_mime_start)); + case BOUND_START: /* TODO: skip error message if not -DDEBUG? */ + error_message(2, _(txt_error_mime_start)); continue; case BOUND_NONE: @@ -905,10 +930,21 @@ parse_multipart_article( curr_part->offset = ftell(artinfo->raw); if (curr_part->type == TYPE_MULTIPART) { /* Complex multipart article */ - int ret; + int ret, old_line_count; + old_line_count = curr_part->line_count; if ((ret = parse_multipart_article(infile, artinfo, curr_part, depth + 1, show_progress_meter)) != 0) return ret; /* User abort or EOF reached */ + if (part && part != artinfo->hdr.ext) + part->line_count += curr_part->line_count - old_line_count; + if (is_rfc822 && rfc822_part) + rfc822_part->line_count += curr_part->line_count - old_line_count; + } else if (curr_part->type == TYPE_MESSAGE && !strcasecmp("RFC822", curr_part->subtype)) { + is_rfc822 = TRUE; + rfc822_part = curr_part; + state = M_HDR; + curr_part = new_part(part); + curr_part->depth = ++depth; } break; } @@ -916,21 +952,21 @@ parse_multipart_article( /* * Keep headers that interest us */ -/*fprintf(stderr, "HDR:%s\n", line);*/ +/* fprintf(stderr, "HDR:%s\n", line); */ unfold_header(line); - if ((ptr = parse_header(line, "Content-Type", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Content-Type", FALSE, FALSE, FALSE))) { parse_content_type(ptr, curr_part); break; } - if ((ptr = parse_header(line, "Content-Transfer-Encoding", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Content-Transfer-Encoding", FALSE, FALSE, FALSE))) { curr_part->encoding = parse_content_encoding(ptr); break; } - if ((ptr = parse_header(line, "Content-Disposition", FALSE, FALSE))) { + if ((ptr = parse_header(line, "Content-Disposition", FALSE, FALSE, FALSE))) { parse_content_disposition(ptr, curr_part); break; } - if ((ptr = parse_header(line, "Content-Description", TRUE, FALSE))) { + if ((ptr = parse_header(line, "Content-Description", TRUE, FALSE, FALSE))) { FreeIfNeeded(curr_part->description); curr_part->description = my_strdup(ptr); break; @@ -940,11 +976,17 @@ parse_multipart_article( case M_BODY: switch (bnd) { case BOUND_NONE: -/*fprintf(stderr, "BOD:%s\n", line);*/ +/* fprintf(stderr, "BOD:%s\n", line); */ curr_part->line_count++; break; case BOUND_START: /* Start new attchment */ + if (is_rfc822) { + --depth; + rfc822_part->line_count--; + rfc822_part = NULL; + is_rfc822 = FALSE; + } state = M_HDR; curr_part = new_part(part); curr_part->depth = depth; @@ -974,7 +1016,8 @@ parse_normal_article( char *line; while ((line = tin_fgets(in, FALSE)) != NULL) { - fprintf(artinfo->raw, "%s\n", line); + if (read_news_via_nntp) + fprintf(artinfo->raw, "%s\n", line); ++artinfo->hdr.ext->line_count; if (show_progress_meter) progress(artinfo->hdr.ext->line_count); @@ -1049,7 +1092,9 @@ dump_art( /* * Core parser for all article types - * Return NULL if we couldn't open an output stream + * Return NULL if we couldn't open an output stream when reading via NNTP + * When reading from local spool we assign the filehandle of the on-spool + * article directly to artinfo->raw */ static int parse_rfc2045_article( @@ -1060,9 +1105,12 @@ parse_rfc2045_article( { int ret; - if (!infile || !(artinfo->raw = tmpfile())) + if (!infile || (read_news_via_nntp && !(artinfo->raw = tmpfile()))) return ART_ABORT; + if (!read_news_via_nntp) + artinfo->raw = infile; + art_lines = line_count; if ((ret = parse_rfc822_headers(&artinfo->hdr, infile, artinfo->raw)) != 0) @@ -1073,11 +1121,12 @@ parse_rfc2045_article( * We don't bother to parse all plain text articles */ if (artinfo->hdr.mime && artinfo->hdr.ext->type == TYPE_MULTIPART) { - if ((ret = parse_multipart_article(infile, artinfo, artinfo->hdr.ext, 0, show_progress_meter)) != 0) { + if ((ret = parse_multipart_article(infile, artinfo, artinfo->hdr.ext, 1, show_progress_meter)) != 0) { /* Strip off EOF condition if present */ if (ret & TIN_EOF) { ret ^= TIN_EOF; - error_message(_(txt_error_mime_end), content_types[artinfo->hdr.ext->type], artinfo->hdr.ext->subtype); + /* TODO: skip error message if not -DDEBUG? */ + error_message(2, _(txt_error_mime_end), content_types[artinfo->hdr.ext->type], artinfo->hdr.ext->subtype); if (ret != 0) goto error; } else @@ -1088,12 +1137,14 @@ parse_rfc2045_article( goto error; } - TIN_FCLOSE(infile); + if (read_news_via_nntp) + TIN_FCLOSE(infile); return 0; error: - TIN_FCLOSE(infile); + if (read_news_via_nntp) + TIN_FCLOSE(infile); art_close(artinfo); return ret; } @@ -1112,22 +1163,23 @@ open_art_fp( long art) { FILE *art_fp; - char buf[NNTP_STRLEN]; #ifdef NNTP_ABLE if (read_news_via_nntp && group->type == GROUP_TYPE_NEWS) { + char buf[NNTP_STRLEN]; snprintf(buf, sizeof(buf), "ARTICLE %ld", art); art_fp = nntp_command(buf, OK_ARTICLE, NULL, 0); } else { #endif /* NNTP_ABLE */ + char buf[PATH_LEN]; char pbuf[PATH_LEN]; char fbuf[NAME_LEN + 1]; char group_path[PATH_LEN]; make_group_path(group->name, group_path); - joinpath(buf, group->spooldir, group_path); + joinpath(buf, sizeof(buf), group->spooldir, group_path); snprintf(fbuf, sizeof(fbuf), "%ld", art); - joinpath(pbuf, buf, fbuf); + joinpath(pbuf, sizeof(pbuf), buf, fbuf); art_fp = fopen(pbuf, "r"); #ifdef NNTP_ABLE @@ -1138,8 +1190,8 @@ open_art_fp( } -/*----------- art_open() and art_close() are the only interface ---------*/ -/*------------------------for accessing articles -------------------*/ +/* ----------- art_open() and art_close() are the only interface --------- */ +/* ------------------------for accessing articles ------------------- */ /* * Open's and postprocesses and article @@ -1186,7 +1238,7 @@ art_open( wait_message(0, _(txt_is_tex_encoded)); /* Maybe fix it so if this fails, we default to raw? */ - if (!cook_article(wrap_lines, artinfo, 8, tinrc.hide_uue)) + if (!cook_article(wrap_lines, artinfo, tinrc.hide_uue, FALSE)) return ART_ABORT; #ifdef DEBUG_ART diff -Nurp --exclude='.bzr*' tin-1.8.3/src/rfc2047.c tin-2.0.0/src/rfc2047.c --- tin-1.8.3/src/rfc2047.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/rfc2047.c 2011-06-28 13:29:40.846084983 +0200 @@ -3,10 +3,10 @@ * Module : rfc2047.c * Author : Chris Blum * Created : 1995-09-01 - * Updated : 2005-07-02 + * Updated : 2010-09-15 * Notes : MIME header encoding/decoding stuff * - * Copyright (c) 1995-2006 Chris Blum + * Copyright (c) 1995-2011 Chris Blum * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -49,8 +49,17 @@ * in unstructured headers like Subject, Keyword and Summary * c.f. RFC 2047 */ -#define isbetween(c, s) (isspace((unsigned char) c) || ((s) && ((c) == '(' || (c) == ')' || (c) == '"'))) - +/* + * On some systems isspace(0xa0) returns TRUE (UTF-8 locale). + * 0xa0 can be the second byte of a UTF-8 character and must not be + * treated as whitespace, otherwise Q and B encoding fails. + */ +#if 0 +# define isbetween(c, s) (isspace((unsigned char) c) || ((s) && ((c) == '(' || (c) == ')' || (c) == '"'))) +#else +# define my_isspace(c) ((c) == '\t' || (c) == '\n' || (c) == '\v' || (c) == '\f' || (c) == '\r' || (c) == ' ') +# define isbetween(c, s) (my_isspace(c) || ((s) && ((c) == '(' || (c) == ')' || (c) == '"'))) +#endif /* 0 */ #define NOT_RANKED 255 #if 0 @@ -82,7 +91,7 @@ enum { */ static FILE *compose_message_rfc822(FILE *articlefp, t_bool *is_8bit); static FILE *compose_multipart_mixed(FILE *textfp, FILE *articlefp); -static int do_b_encode(char *w, char *b, int max_ewsize, t_bool isstruct_head); +static int do_b_encode(char *w, char *b, size_t max_ewsize, t_bool isstruct_head); static int sizeofnextword(char *w); static int which_encoding(char *w); static t_bool contains_8bit_characters(FILE *fp); @@ -224,7 +233,7 @@ rfc1522_decode( char *t; #define BUFFER_LEN 2048 static char buffer[BUFFER_LEN]; - int max_len; + size_t max_len; char charset[1024]; char encoding; t_bool adjacentflag = FALSE; @@ -355,7 +364,7 @@ static int do_b_encode( char *w, char *b, - int max_ewsize, + size_t max_ewsize, t_bool isstruct_head) { char tmp[60]; /* strings to be B encoded */ @@ -369,7 +378,7 @@ do_b_encode( t_bool isleading_between = TRUE; /* are we still processing leading space */ while (count-- > 0 && (!isbetween(*w, isstruct_head) || isleading_between) && *w) { - len8 += is_EIGHT_BIT(w) ? 1 : (-len8); + len8 += (is_EIGHT_BIT(w) ? 1 : -len8); if (!isbetween(*w, isstruct_head)) isleading_between = FALSE; *(t++) = *(w++); @@ -509,18 +518,16 @@ rfc1522_do_encode( * (just checking that they don get longer than 76 characters), * then, in a second pass, we replace all SPACEs inside encoded * words by '_', break long lines, etc. - * - * *group is passed for evaluation of group-attributes, - * set to NULL for e-mails */ + char *buffer; /* buffer for encoded stuff */ char *c; char *t; - char buf[2048]; /* buffer for encoded stuff */ - char buf2[80]; /* buffer for this and that */ - int encoding; /* which encoding to use ('B' or 'Q') */ - int ew_taken_len; - int column = 0; /* current column */ + char buf2[80]; /* buffer for this and that */ + int encoding; /* which encoding to use ('B' or 'Q') */ + size_t ew_taken_len; int word_cnt = 0; + int offset; + size_t bufferlen = 2048; /* size of buffer */ size_t ewsize = 0; /* size of current encoded-word */ t_bool quoting = FALSE; /* currently inside quote block? */ t_bool any_quoting_done = FALSE; @@ -544,21 +551,28 @@ rfc1522_do_encode( } } while (*(++strptr) != 0); - t = buf; + t = buffer = my_malloc(bufferlen); encoding = which_encoding(what); ew_taken_len = strlen(charset) + 7 /* =?c?E?d?= */; while (*what) { if (break_long_line) word_cnt++; -/* - * if a word with 8bit chars is broken in the middle, whatever follows - * after the point where it's split should be encoded (i.e. even if - * they are made of only 7bit chars) - */ + /* + * if a word with 8bit chars is broken in the middle, whatever + * follows after the point where it's split should be encoded (i.e. + * even if they are made of only 7bit chars) + */ if (contains_nonprintables(what, isstruct_head) || isbroken_within) { if (encoding == 'Q') { if (!quoting) { snprintf(buf2, sizeof(buf2), "=?%s?%c?", charset, encoding); + while (t - buffer + strlen(buf2) >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } ewsize = mystrcat(&t, buf2); if (break_long_line) { if (word_cnt == 2) { @@ -568,7 +582,7 @@ rfc1522_do_encode( * since we cannot break the line * directly after the keyword. */ - ewsize = t - buf; + ewsize = t - buffer; } } quoting = TRUE; @@ -583,11 +597,25 @@ rfc1522_do_encode( #endif /* 0 */ { snprintf(buf2, sizeof(buf2), "=%2.2X", *EIGHT_BIT(what)); + if ((size_t)(t - buffer + 3) >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } *t++ = buf2[0]; *t++ = buf2[1]; *t++ = buf2[2]; ewsize += 3; } else { + if ((size_t) (t - buffer + 1) >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } *t++ = *what; ewsize++; } @@ -607,15 +635,26 @@ rfc1522_do_encode( } if (!contains_nonprintables(what, isstruct_head) || ewsize >= 70 - strlen(charset)) { /* next word is 'clean', close encoding */ + if ((size_t) (t - buffer + 2) >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } *t++ = '?'; *t++ = '='; ewsize += 2; -/* - * if a word with 8bit chars is broken in the middle, whatever follows - * after the point where it's split should be encoded (i.e. even if - * they are made of only 7bit chars) - */ + /* + */ if (ewsize >= 70 - strlen(charset) && (contains_nonprintables(what, isstruct_head) || isbroken_within)) { + if ((size_t) (t - buffer + 1) >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } *t++ = ' '; ewsize++; } @@ -623,6 +662,13 @@ rfc1522_do_encode( } else { /* process whitespace in-between by quoting it properly */ while (*what && isspace((unsigned char) *what)) { + if ((size_t) (t - buffer + 3) >= bufferlen) { + /* buffer probably too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } if (*what == 32 /* not ' ', compare chapter 4! */ ) { *t++ = '_'; ewsize++; @@ -646,11 +692,25 @@ rfc1522_do_encode( */ while (*what && (!isbetween(*what, isstruct_head) || rightafter_ew)) { snprintf(buf2, sizeof(buf2), "=?%s?%c?", charset, encoding); + while (t - buffer + strlen(buf2) >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } ewsize = mystrcat(&t, buf2); if (word_cnt == 2) - ewsize = t - buf; + ewsize = t - buffer; what += do_b_encode(what, buf2, 75 - ew_taken_len, isstruct_head); + while (t - buffer + strlen(buf2) + 3 >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } ewsize += mystrcat(&t, buf2); *t++ = '?'; *t++ = '='; @@ -673,60 +733,77 @@ rfc1522_do_encode( } } /* end of B encoding */ } else { - while (*what && !isbetween(*what, isstruct_head)) + while (*what && !isbetween(*what, isstruct_head)) { + if ((size_t) (t - buffer + 1) >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } *t++ = *what++; /* output word unencoded */ - while (*what && isbetween(*what, isstruct_head)) + } + while (*what && isbetween(*what, isstruct_head)) { + if ((size_t) (t - buffer + 1) >= bufferlen) { + /* buffer too small, double its size */ + offset = t - buffer; + bufferlen <<= 1; + buffer = my_realloc(buffer, bufferlen * sizeof(*buffer)); + t = buffer + offset; + } *t++ = *what++; /* output trailing whitespace unencoded */ + } rightafter_ew = FALSE; } } /* end of pass 1 while loop */ *t = 0; + /* Pass 2: break long lines if there are MIME-sequences in the result */ - c = buf; - if (break_long_line) { - column = 0; - if (any_quoting_done) { - word_cnt = 1; /* - * note, if the user has typed a continuation - * line, we will consider the initial - * whitespace to be delimiting word one (well, - * just assume an empty word). - */ - while (*c) { - if (isspace((unsigned char) *c)) { - /* - * According to rfc1522, header lines containing encoded - * words are limited to 76 chars, but if the first line is - * too long (due to a long header keyword), we cannot stick - * to that, since we would break the line directly after the - * keyword's colon, which is not allowed. The same is - * necessary for a continuation line with an unencoded word - * that is too long. - */ - if (sizeofnextword(c) + column > 76 && word_cnt != 1) { - *((*where)++) = '\n'; - column = 0; - } - if (c > buf && !isspace((unsigned char) *(c - 1))) - word_cnt++; - *((*where)++) = *c++; + c = buffer; + if (break_long_line && any_quoting_done) { + char *new_buffer; + size_t new_bufferlen = strlen(buffer) * 2 + 1; /* maximum length if +every "word" were a space ... */ + int column = 0; /* current column */ + + new_buffer = my_malloc(new_bufferlen); + t = new_buffer; + word_cnt = 1; /* + * note, if the user has typed a continuation + * line, we will consider the initial + * whitespace to be delimiting word one (well, + * just assume an empty word). + */ + while (*c) { + if (isspace((unsigned char) *c)) { + /* + * According to rfc1522, header lines containing encoded + * words are limited to 76 chars, but if the first line is + * too long (due to a long header keyword), we cannot stick + * to that, since we would break the line directly after the + * keyword's colon, which is not allowed. The same is + * necessary for a continuation line with an unencoded word + * that is too long. + */ + if (sizeofnextword(c) + column > 76 && word_cnt != 1) { + *t++ = '\n'; + column = 0; + } + if (c > buffer && !isspace((unsigned char) *(c - 1))) + word_cnt++; + *t++ = *c++; + column++; + } else + while (*c && !isspace((unsigned char) *c)) { + *t++ = *c++; column++; - } else - while (*c && !isspace((unsigned char) *c)) { - *((*where)++) = *c++; - column++; - } - } - } else { - while (*c) - *((*where)++) = *c++; + } } - } else { /* !break_long_line */ - while (*c) - *((*where)++) = *c++; + FreeAndNull(buffer); + buffer = new_buffer; } - - **where = 0; + *t = 0; + *where = buffer; return any_quoting_done; } @@ -740,26 +817,27 @@ rfc1522_encode( const char *charset, t_bool ismail) { - char *b, *buf; + char *buf; t_bool x; -/* - * break_long_line is FALSE for news posting unless MIME_BREAK_LONG_LINES is - * defined, but it's TRUE for mail messages regardless of whether or not - * MIME_BREAK_LONG_LINES is defined - */ + + /* + * break_long_line is FALSE for news posting unless + * MIME_BREAK_LONG_LINES is defined, but it's TRUE for mail messages + * regardless of whether or not MIME_BREAK_LONG_LINES is defined + */ #ifdef MIME_BREAK_LONG_LINES t_bool break_long_line = TRUE; #else -/* - * Even if MIME_BREAK_LONG_LINES is NOT defined, long headers in mail - * messages should be broken up in accordance with RFC 2047(1522) - */ + /* + * Even if MIME_BREAK_LONG_LINES is NOT defined, long headers in mail + * messages should be broken up in accordance with RFC 2047(1522) + */ t_bool break_long_line = ismail; #endif /* MIME_BREAK_LONG_LINES */ - b = buf = my_malloc(2048); - x = rfc1522_do_encode(s, &b, charset, break_long_line); + x = rfc1522_do_encode(s, &buf, charset, break_long_line); quoteflag = quoteflag || x; + return buf; } @@ -807,7 +885,12 @@ do_rfc15211522_encode( if (*header == '\0') break; - if (allow_8bit_header) + /* + * TODO: - what about 8bit chars in the mentioned headers + * when !allow_8bit_header? + * - what about lines longer 998 octets? + */ + if (allow_8bit_header || (!strncasecmp(header, "References: ", 12) || !strncasecmp(header, "Message-ID: ", 12) || !strncasecmp(header, "Date: ", 6) || !strncasecmp(header, "Newsgroups: ", 12) || !strncasecmp(header, "Distribution: ", 14) || !strncasecmp(header, "Followup-To: ", 13) || !strncasecmp(header, "X-Face: ", 8) || !strncasecmp(header, "Cancel-Lock: ", 13) || !strncasecmp(header, "Cancel-Key: ", 12))) fputs(header, g); else { char *p; @@ -845,7 +928,7 @@ do_rfc15211522_encode( rewind(g); rewind(f); #ifdef HAVE_FTRUNCATE - ftruncate(fileno(f), 0); + (void) ftruncate(fileno(f), 0); #endif /* HAVE_FTRUNCATE */ /* copy header */ @@ -1059,7 +1142,7 @@ compose_mail_text_plain( const char *filename, struct t_group *group) { - rfc15211522_encode(filename, txt_mime_encodings[tinrc.mail_mime_encoding], group, tinrc.mail_8bit_header, TRUE); + rfc15211522_encode(filename, txt_mime_encodings[(group ? group->attribute->mail_mime_encoding : tinrc.mail_mime_encoding)], group, (group ? group->attribute->mail_8bit_header : tinrc.mail_8bit_header), TRUE); } @@ -1083,8 +1166,8 @@ compose_mail_mime_forwarded( FILE *textfp = NULL; FILE *entityfp; char *line; - constext* encoding = txt_mime_encodings[tinrc.mail_mime_encoding]; - t_bool allow_8bit_header = tinrc.mail_8bit_header; + constext* encoding = txt_mime_encodings[(group ? group->attribute->mail_mime_encoding : tinrc.mail_mime_encoding)]; + t_bool allow_8bit_header = (group ? group->attribute->mail_8bit_header : tinrc.mail_8bit_header); t_bool _8bit; /* Split mail into headers and text */ @@ -1114,8 +1197,11 @@ compose_mail_mime_forwarded( } /* Put it all together */ - if ((fp = fopen(filename, "w")) == NULL) + if ((fp = fopen(filename, "w")) == NULL) { + fclose(headerfp); + fclose(entityfp); return; + } rewind(headerfp); while ((line = tin_fgets(headerfp, TRUE))) { @@ -1236,7 +1322,7 @@ contains_8bit_characters( rewind(fp); while ((line = tin_fgets(fp, FALSE))) { - for ( ; *line != '\0'; line++) { + for (; *line != '\0'; line++) { if (is_EIGHT_BIT(line)) return TRUE; } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/save.c tin-2.0.0/src/save.c --- tin-1.8.3/src/save.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/save.c 2011-04-18 00:05:52.027218072 +0200 @@ -3,10 +3,10 @@ * Module : save.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-07-02 + * Updated : 2011-04-17 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -48,27 +48,62 @@ # endif /* !__UUDEVIEW_H__ */ #endif /* HAVE_UUDEVIEW_H */ +#ifndef HAVE_LIBUU #undef OFF - enum state { INITIAL, MIDDLE, OFF, END }; +#endif /* !HAVE_LIBUU */ + +enum action { + VIEW, + SAVE, + SAVE_TAGGED +#ifndef DONT_HAVE_PIPING + , PIPE_RAW + , PIPE +#endif /* !DONT_HAVE_PIPING */ +}; /* * Local prototypes */ static FILE *open_save_filename(const char *path, t_bool mbox); +static char *build_tree(int depth, int maxlen, int i); +static char *generate_savepath(t_part *part); +static int build_part_list(t_openartinfo *art); +static int get_tagged(int n); static int match_content_type(t_part *part, char *type); static t_bool check_save_mime_type(t_part *part, const char *mime_types); static t_bool decode_save_one(t_part *part, FILE *rawfp, t_bool postproc); +static t_bool expand_save_filename(char *outpath, size_t outpath_len, const char *path); +static t_bool tag_part(int n); +static t_function attachment_left(void); +static t_function attachment_right(void); +static t_partl *find_part(int n); +static void build_attachment_line(int i); +static void draw_attachment_arrow(void); +static void free_part_list(t_partl *list); static void generate_filename(char *buf, int buflen, const char *suffix); +#ifndef DONT_HAVE_PIPING + static void pipe_part(const char *savepath); +#endif /* !DONT_HAVE_PIPING */ static void post_process_uud(void); static void post_process_sh(void); +static void process_part(t_part *part, FILE *rawfp, FILE *outfile, const char *savepath, enum action what); +static void process_parts(t_part *part, FILE *rawfp, enum action what); +static void show_attachment_page(void); static void start_viewer(t_part *part, const char *path); +static void tag_pattern(void); +static void untag_all_parts(void); +static void untag_part(int n); static void uudecode_line(const char *buf, FILE *fp); static void view_file(const char *path, const char *file); #ifndef HAVE_LIBUU static void sum_file(const char *path, const char *file); #endif /* !HAVE_LIBUU */ +static int num_of_tagged_parts, info_len; +static t_menu attmenu = { 0, 0, 0, show_attachment_page, draw_attachment_arrow, build_attachment_line }; +static t_partl *part_list; /* * Check for articles and say how many new/unread in each group. @@ -117,16 +152,16 @@ check_start_save_any_news( break; case MAIL_ANY_NEWS: - joinpath(savefile, TMPDIR, "tin"); + joinpath(savefile, sizeof(savefile), TMPDIR, "tin"); #ifdef APPEND_PID - snprintf(savefile + strlen(savefile), sizeof(savefile) - strlen(savefile), ".%d", (int) process_id); + snprintf(savefile + strlen(savefile), sizeof(savefile) - strlen(savefile), ".%ld", (long) process_id); #endif /* APPEND_PID */ /* FALLTHROUGH */ case SAVE_ANY_NEWS: - joinpath(logfile, rcdir, "log"); + joinpath(logfile, sizeof(logfile), rcdir, "log"); - if (no_write || (fp_log = fopen(logfile, "w" FOPEN_OPTS)) == NULL) { + if (no_write || (fp_log = fopen(logfile, "w")) == NULL) { perror_message(_(txt_cannot_open), logfile); fp_log = stdout; verbose = FALSE; @@ -159,31 +194,31 @@ check_start_save_any_news( if (group->bogus || !group->subscribed) continue; - if (!index_group(group)) - continue; - if (function == MAIL_ANY_NEWS || function == SAVE_ANY_NEWS) { if (!group->attribute->batch_save) continue; group_count++; snprintf(buf, sizeof(buf), _(txt_saved_groupname), group->name); - fprintf(fp_log, buf); + fprintf(fp_log, "%s", buf); if (verbose) wait_message(0, buf); if (function == SAVE_ANY_NEWS) { char tmp[PATH_LEN]; - if (!strfpath(group->attribute->savedir, tmp, sizeof(tmp), group)) - joinpath(tmp, homedir, DEFAULT_SAVEDIR); + if (!strfpath(cmdline.args & CMDLINE_SAVEDIR ? cmdline.savedir : tinrc.savedir, tmp, sizeof(tmp), group, FALSE)) + joinpath(tmp, sizeof(tmp), homedir, DEFAULT_SAVEDIR); make_group_path(group->name, group_path); - joinpath(path, tmp, group_path); + joinpath(path, sizeof(path), tmp, group_path); create_path(path); /* TODO error handling */ } } + if (!index_group(group)) + continue; + /* * For each article in this group... */ @@ -198,7 +233,7 @@ check_start_save_any_news( print_first = FALSE; } if (!verbose && !catchup) /* we don't need details */ - return 2; + return NEWS_AVAIL_EXIT; art_count++; if (arts[j].score >= tinrc.score_select) hot_count++; @@ -217,10 +252,10 @@ check_start_save_any_news( if (function == SAVE_ANY_NEWS) { snprintf(buf, sizeof(buf), "%ld", arts[j].artnum); - joinpath(savefile, path, buf); + joinpath(savefile, sizeof(savefile), path, buf); } - if ((savefp = fopen(savefile, "w" FOPEN_OPTS)) == NULL) { + if ((savefp = fopen(savefile, "w")) == NULL) { fprintf(fp_log, _(txt_cannot_open), savefile); if (verbose) perror_message(_(txt_cannot_open), savefile); @@ -250,7 +285,7 @@ check_start_save_any_news( } snprintf(buf, sizeof(buf), "[%5ld] %s\n", arts[j].artnum, arts[j].subject); - fprintf(fp_log, "%s", buf); /* buf may contain % */ + fprintf(fp_log, "%s", buf); /* buf may contain % */ if (verbose) wait_message(0, buf); @@ -289,11 +324,11 @@ check_start_save_any_news( * TODO: shall we return 2 or 0 in the -cZ case? */ if (unread_news && !catchup) - return 2; + return NEWS_AVAIL_EXIT; else { if (verbose) wait_message(1, _(txt_there_is_no_news)); - return 0; + return EXIT_SUCCESS; } /* NOTREACHED */ @@ -436,7 +471,7 @@ save_and_process_art( /* The first task is to fixup the filename to be saved too. This is context dependent */ strncpy(path, inpath, sizeof(path) - 1); -/*fprintf(stderr, "save_and_process_art max=%d num_save=%d starting path=(%s) postproc=%s\n", max, num_save, path, bool_unparse(post_process));*/ +/* fprintf(stderr, "save_and_process_art max=%d num_save=%d starting path=(%s) postproc=%s\n", max, num_save, path, bool_unparse(post_process)); */ /* * If using the auto-save feature on an article with Archive-Name, @@ -464,11 +499,11 @@ save_and_process_art( /* Add on the archive name as a directory */ /* TODO: maybe a s!/!.! on archive-name would be better */ - joinpath(archpath, path, artptr->archive->name); + joinpath(archpath, sizeof(archpath), path, artptr->archive->name); /* Generate the filename part and append it */ snprintf(filename, sizeof(filename), "%s%s", partprefix, artptr->archive->partnum); - joinpath(path, archpath, filename); + joinpath(path, sizeof(path), archpath, filename); /*fprintf(stderr, "save_and_process_art archive-name mangled path=(%s)\n", path);*/ if (!create_path(path)) return FALSE; @@ -479,17 +514,13 @@ save_and_process_art( * This is backward-contemptibility with older versions of tin */ if (!is_mailbox && max > 1) { -#ifdef VMS - const char suffixsep = '-'; /* Suffix seperator for .001 type extensions */ -#else const char suffixsep = '.'; -#endif /* VMS */ sprintf(&path[strlen(path)], "%c%03d", suffixsep, num_save + 1); } } -/*fprintf(stderr, "save_and_process_art expanded path now=(%s)\n", path);*/ +/* fprintf(stderr, "save_and_process_art expanded path now=(%s)\n", path); */ if ((fp = open_save_filename(path, is_mailbox)) == NULL) return FALSE; @@ -507,8 +538,8 @@ save_and_process_art( */ } - if (copy_fp(artinfo->raw, fp)) /* Write tailing newline or MMDF-mailbox seperator */ - print_art_seperator_line(fp, is_mailbox); + if (copy_fp(artinfo->raw, fp)) /* Write tailing newline or MMDF-mailbox separator */ + print_art_separator_line(fp, is_mailbox); else { fclose(fp); unlink(path); @@ -525,7 +556,7 @@ save_and_process_art( save[num_save].path = my_strdup(path); save[num_save].file = strrchr(save[num_save].path, DIRSEP) + 1; /* ptr to filename portion */ save[num_save].mailbox = is_mailbox; -/*fprintf(stderr, "SAPA (%s) (%s) mbox=%s\n", save[num_save].path, save[num_save].file, bool_unparse(save[num_save].mailbox));*/ +/* fprintf(stderr, "SAPA (%s) (%s) mbox=%s\n", save[num_save].path, save[num_save].file, bool_unparse(save[num_save].mailbox)); */ num_save++; /* NB: num_save is bumped here only */ /* @@ -558,7 +589,6 @@ t_bool create_path( const char *path) { -#ifndef VMS char buf[PATH_LEN]; int i, j, len; struct stat st; @@ -579,15 +609,6 @@ create_path( } } } -#else - if (my_mkdir(path, (mode_t) (S_IRWXU|S_IRUGO|S_IXUGO)) == -1) { - if (errno != EEXIST) { - perror_message(_(txt_cannot_create), buf); - return FALSE; - } - } -#endif /* !VMS */ - return TRUE; } @@ -607,6 +628,52 @@ generate_filename( snprintf(buf, buflen, "%s-%03d.%s", SAVEFILE_PREFIX, seqno++, suffix); } +/* + * Generate /save/to/path name. + * + * Return pointer to allocated memory which the caller must free or + * NULL if something went wrong. + */ +static char * +generate_savepath( + t_part *part) +{ + char buf[2048]; + char *savepath; + const char *name; + t_bool mbox; + + savepath = my_malloc(PATH_LEN + 1); + /* + * Get the filename to save to in 'savepath' + */ + if ((name = get_filename(part->params)) == NULL) { + char extension[NAME_LEN + 1]; + + lookup_extension(extension, sizeof(extension), content_types[part->type], part->subtype); + generate_filename(buf, sizeof(buf), extension); + mbox = expand_save_filename(savepath, PATH_LEN, buf); + } else + mbox = expand_save_filename(savepath, PATH_LEN, name); + + /* + * Not a good idea to dump attachments over a mailbox + */ + if (mbox) { + wait_message(2, _(txt_is_mailbox), content_types[part->type], part->subtype); + free(savepath); + return NULL; + } + + if (!(create_path(savepath))) { + error_message(2, _(txt_cannot_open_for_saving), savepath); + free(savepath); + return NULL; + } + + return savepath; +} + /* * Generate a path/filename to save to, using 'path' as input. @@ -614,26 +681,32 @@ generate_filename( * Expand metacharacters and use defaults as needed. * Return TRUE if the path is a mailbox, or FALSE otherwise. */ -t_bool +static t_bool expand_save_filename( char *outpath, + size_t outpath_len, const char *path) { - int ret = strfpath(path, outpath, PATH_LEN, curr_group); + char base_filename[PATH_LEN]; + char buf[PATH_LEN]; + char buf_path[PATH_LEN]; + int ret; /* - * If no path exists or the above failed in some way, use sensible defaults - * Put the generic path into 'outpath' + * Make sure that externally supplied filename is a filename only and fits + * into buffer */ - if ((ret == 0) || !(strrchr(outpath, DIRSEP))) { - char buf[PATH_LEN]; + STRCPY(buf_path, path); + base_name(buf_path, base_filename); - if (!strfpath(curr_group->attribute->savedir, buf, sizeof(buf), curr_group)) - joinpath(buf, homedir, DEFAULT_SAVEDIR); - joinpath(outpath, buf, path); - return FALSE; - } else - return (ret == 1); + /* Build default path to save to */ + if (!(ret = strfpath(cmdline.args & CMDLINE_SAVEDIR ? cmdline.savedir : curr_group->attribute->savedir, buf, sizeof(buf), curr_group, FALSE))) + joinpath(buf, sizeof(buf), homedir, DEFAULT_SAVEDIR); + + /* Join path and filename */ + joinpath(outpath, outpath_len, buf, base_filename); + + return (ret == 1); /* should now always evaluate to FALSE */ } @@ -652,10 +725,8 @@ post_process_files( if (num_save < 1) return FALSE; - clear_message(); -#ifdef USE_CURSES - scrollok(stdscr, TRUE); -#endif /* USE_CURSES */ + EndWin(); + Raw(FALSE); my_printf("%s%s", _(txt_post_processing), cCRLF); switch (proc_type_func) { @@ -672,22 +743,24 @@ post_process_files( my_printf("%s%s%s", _(txt_post_processing_finished), cCRLF, cCRLF); my_flush(); - prompt_continue(); #ifdef USE_CURSES - scrollok(stdscr, FALSE); + Raw(TRUE); + InitWin(); #endif /* USE_CURSES */ + prompt_continue(); +#ifndef USE_CURSES + Raw(TRUE); + InitWin(); +#endif /* !USE_CURSES */ /* * Remove the post-processed files if required */ - my_printf(cCRLF); - my_flush(); - if (auto_delete) { int i; - my_printf("%s%s", _(txt_deleting), cCRLF); - my_flush(); + wait_message((tinrc.beginner_level) ? 2 : 1, "%s", _(txt_deleting)); + cursoroff(); for (i = 0; i < num_save; i++) unlink(save[i].path); @@ -760,8 +833,8 @@ post_process_uud( my_printf(cCRLF); /* item->mimetype seems not to be available for uudecoded files etc */ - if (tinrc.post_process_view) { - joinpath(path, file_out_dir, item->filename); + if (curr_group->attribute->post_process_view) { + joinpath(path, sizeof(path), file_out_dir, item->filename); view_file(path, strrchr(path, DIRSEP) + 1); } } else { @@ -852,7 +925,7 @@ post_process_uud( generate_filename(name, sizeof(name), "uue"); filename = name; - expand_save_filename(path, filename); + expand_save_filename(path, sizeof(path), filename); filename = strrchr(path, DIRSEP) + 1; /* ptr to filename portion */ if ((fp_out = fopen(path, "w")) == NULL) { perror_message(_(txt_cannot_open), path); @@ -876,8 +949,8 @@ post_process_uud( uudecode_line(u, fp_out); if (t[0] != 'M') uudecode_line(t, fp_out); - } else /* end */ - state = OFF; /* OFF => a break in the uuencoded data */ + } else /* end */ + state = OFF; /* OFF => a break in the uuencoded data */ break; case OFF: @@ -885,7 +958,7 @@ post_process_uud( uudecode_line(u, fp_out); uudecode_line(t, fp_out); uudecode_line(s, fp_out); - state = MIDDLE; /* Continue output of previously suspended data */ + state = MIDDLE; /* Continue output of previously suspended data */ } else if (STRNCMPEQ("end", s, 3)) { state = END; if (u[0] != 'M') @@ -913,7 +986,7 @@ post_process_uud( my_printf(_(txt_uu_success), filename); my_printf(cCRLF); sum_file(path, filename); - if (tinrc.post_process_view) + if (curr_group->attribute->post_process_view) view_file(path, filename); state = INITIAL; continue; @@ -1056,7 +1129,7 @@ uudecode_line( /* * Unpack /bin/sh archives * There is no end-of-shar marker so the code reads everything after - * the start marker. This is why shar is handled seperately. + * the start marker. This is why shar is handled separately. * The code assumes shar archives do not span articles */ static void @@ -1073,12 +1146,7 @@ post_process_sh( * Grab the dirname portion */ my_strncpy(file_out_dir, save[0].path, save[0].file - save[0].path); - -#ifdef VMS - snprintf(file_out, sizeof(file_out), "%ssh.%05d", file_out_dir, (int) process_id); -#else - snprintf(file_out, sizeof(file_out), "%ssh%05d", file_out_dir, (int) process_id); -#endif /* VMS */ + snprintf(file_out, sizeof(file_out), "%ssh%ld", file_out_dir, (long) process_id); for (i = 0; i < num_save; i++) { if ((fp_in = fopen(save[i].path, "r")) == NULL) @@ -1089,7 +1157,7 @@ post_process_sh( while (fgets(buf, (int) sizeof(buf), fp_in) != NULL) { /* find #!/bin/sh style patterns */ if ((fp_out == NULL) && pcre_exec(shar_regex.re, shar_regex.extra, buf, strlen(buf), 0, 0, NULL, 0) >= 0) - fp_out = fopen(file_out, "w" FOPEN_OPTS); + fp_out = fopen(file_out, "w"); /* write to temp file */ if (fp_out != NULL) @@ -1117,16 +1185,16 @@ post_process_sh( /* - * write tailing (MMDF)-mailbox seperator + * write tailing (MMDF)-mailbox separator */ void -print_art_seperator_line( +print_art_separator_line( FILE *fp, t_bool is_mailbox) { #ifdef DEBUG - if (debug == 2) - error_message("Mailbox=[%d], mailbox_format=[%s]", is_mailbox, txt_mailbox_formats[tinrc.mailbox_format]); + if (debug & DEBUG_MISC) + error_message(2, "Mailbox=[%d], mailbox_format=[%s]", is_mailbox, txt_mailbox_formats[tinrc.mailbox_format]); #endif /* DEBUG */ fprintf(fp, "%s", (is_mailbox && !strcasecmp(txt_mailbox_formats[tinrc.mailbox_format], "MMDF")) ? MMDFHDRTXT : "\n"); @@ -1145,19 +1213,12 @@ start_viewer( t_mailcap *foo; if ((foo = get_mailcap_entry(part, path)) != NULL) { - char buff[LEN]; - if (foo->nametemplate) /* honor nametemplate */ rename_file(path, foo->nametemplate); wait_message(0, _(txt_starting_command), foo->command); - - /* are the () needed if foo->command holds more than one cmd? */ - snprintf(buff, sizeof(buff), "(%s)", foo->command); if (foo->needsterminal) { set_xclick_off(); - EndWin(); - Raw(FALSE); fflush(stdout); } else { if (foo->description) @@ -1165,9 +1226,15 @@ start_viewer( } invoke_cmd(foo->command); if (foo->needsterminal) { +#ifndef USE_CURSES + EndWin(); + Raw(FALSE); +#endif /* !USE_CURSES */ + prompt_continue(); +#ifndef USE_CURSES Raw(TRUE); InitWin(); - prompt_continue(); +#endif /* !USE_CURSES */ } if (foo->nametemplate) /* undo nametemplate, needed as 'save'-prompt is done outside start_viewer */ rename_file(foo->nametemplate, path); @@ -1191,10 +1258,8 @@ decode_save_one( { FILE *fp; char buf[2048], buf2[2048]; - char savepath[PATH_LEN]; - const char *name; + char *savepath; int i; - t_bool mbox; /* * Decode this message part if appropriate @@ -1205,36 +1270,15 @@ decode_save_one( return TRUE; } - /* - * Get the filename to save to in 'savepath' - */ - if ((name = get_filename(part->params)) == NULL) { - char extension[NAME_LEN + 1]; - - lookup_extension(extension, sizeof(extension), content_types[part->type], part->subtype); - generate_filename(buf, sizeof(buf), extension); - mbox = expand_save_filename(savepath, buf); - } else - mbox = expand_save_filename(savepath, name); - - /* - * Not a good idea to dump attachments over a mailbox - */ - if (mbox) { - wait_message(2, _(txt_is_mailbox), content_types[part->type], part->subtype); - return FALSE; - } - - if (!(create_path(savepath))) { - error_message(_(txt_cannot_open_for_saving), savepath); + if ((savepath = generate_savepath(part)) == NULL) return FALSE; - } /* * Decode/save the attachment */ if ((fp = open_save_filename(savepath, FALSE)) == NULL) { - error_message(_(txt_cannot_open_for_saving), savepath); + error_message(2, _(txt_cannot_open_for_saving), savepath); + free(savepath); return FALSE; } @@ -1278,17 +1322,16 @@ decode_save_one( /* * View the attachment */ - if (postproc) { - if (tinrc.post_process_view) { + if ((postproc && curr_group->attribute->post_process_view) || !curr_group->attribute->ask_for_metamail) { start_viewer(part, savepath); my_printf(cCRLF); - } } else { snprintf(buf, sizeof(buf), _(txt_view_attachment), savepath, content_types[part->type], part->subtype); if ((i = prompt_yn(buf, TRUE)) == 1) start_viewer(part, savepath); else if (i == -1) { /* Skip rest of attachments */ unlink(savepath); + free(savepath); return FALSE; } } @@ -1296,7 +1339,7 @@ decode_save_one( /* * Save the attachment */ - if (postproc && tinrc.post_process_view) { + if (postproc && curr_group->attribute->post_process_view) { my_printf(_(txt_uu_success), savepath); my_printf(cCRLF); } @@ -1304,10 +1347,13 @@ decode_save_one( snprintf(buf, sizeof(buf), _(txt_save_attachment), savepath, content_types[part->type], part->subtype); if ((i = prompt_yn(buf, FALSE)) != 1) { unlink(savepath); - if (i == -1) /* Skip rest of attachments */ + if (i == -1) { /* Skip rest of attachments */ + free(savepath); return FALSE; + } } } + free(savepath); return TRUE; } @@ -1451,10 +1497,851 @@ decode_save_mime( * the role of a multipart part. Check to see if we want to * save text and if not, skip this part. */ - if ((ptr->type == TYPE_MULTIPART || ((NULL != ptr->uue) && (!check_save_mime_type(ptr, curr_group->attribute->mime_types_to_save))))) + /* check_save_mime_type() is done in decode_save_one() and the check for ptr->uue must be done unconditionally */ + if (ptr->type == TYPE_MULTIPART || (NULL != ptr->uue /* && !check_save_mime_type(ptr, curr_group->attribute->mime_types_to_save) */ )) continue; if (!(decode_save_one(ptr, art->raw, postproc))) break; } } + + +/* + * Attachment menu + */ +static void +show_attachment_page( + void) +{ + char buf[BUFSIZ]; + const char *charset; + int i, tmp_len, max_depth; + t_part *part; + + signal_context = cAttachment; + currmenu = &attmenu; + + if (attmenu.curr < 0) + attmenu.curr = 0; + + info_len = max_depth = 0; + for (i = 0; i < attmenu.max; ++i) { + part = get_part(i); + snprintf(buf, sizeof(buf), _(txt_attachment_lines), part->line_count); + tmp_len = strwidth(buf); + charset = get_param(part->params, "charset"); + snprintf(buf, sizeof(buf), " %s/%s, %s, %s%s", content_types[part->type], part->subtype, content_encodings[part->encoding], charset ? charset : "", charset ? ", " : ""); + tmp_len += strwidth(buf); + if (tmp_len > info_len) + info_len = tmp_len; + + tmp_len = part->depth; + if (tmp_len > max_depth) + max_depth = tmp_len; + } + tmp_len = cCOLS - 13 - MIN((cCOLS - 13) / 2 + 10, max_depth * 2 + 1 + strwidth(_(txt_attachment_no_name))); + if (info_len > tmp_len) + info_len = tmp_len; + + ClearScreen(); + set_first_screen_item(); + center_line(0, TRUE, _(txt_attachment_menu)); + + for (i = attmenu.first; i < attmenu.first + NOTESLINES && i < attmenu.max; ++i) + build_attachment_line(i); + + show_mini_help(ATTACHMENT_LEVEL); + + if (attmenu.max <= 0) { + info_message(_(txt_no_attachments)); + return; + } + + draw_attachment_arrow(); +} + + +void +attachment_page( + t_openartinfo *art) +{ + char key[MAXKEYLEN]; + t_function func; + t_menu *oldmenu = NULL; + t_part *part; + + if (currmenu) + oldmenu = currmenu; + num_of_tagged_parts = 0; + attmenu.curr = 0; + attmenu.max = build_part_list(art); + clear_note_area(); + show_attachment_page(); + set_xclick_off(); + + forever { + switch ((func = handle_keypad(attachment_left, attachment_right, NULL, attachment_keys))) { + case GLOBAL_QUIT: + free_part_list(part_list); + if (oldmenu) + currmenu = oldmenu; + return; + + case DIGIT_1: + case DIGIT_2: + case DIGIT_3: + case DIGIT_4: + case DIGIT_5: + case DIGIT_6: + case DIGIT_7: + case DIGIT_8: + case DIGIT_9: + if (attmenu.max) + prompt_item_num(func_to_key(func, attachment_keys), _(txt_attachment_select)); + break; + +#ifndef NO_SHELL_ESCAPE + case GLOBAL_SHELL_ESCAPE: + do_shell_escape(); + break; +#endif /* !NO_SHELL_ESCAPE */ + + case GLOBAL_HELP: + show_help_page(ATTACHMENT_LEVEL, _(txt_attachment_menu_com)); + show_attachment_page(); + break; + + case GLOBAL_FIRST_PAGE: + top_of_list(); + break; + + case GLOBAL_LAST_PAGE: + end_of_list(); + break; + + case GLOBAL_REDRAW_SCREEN: + my_retouch(); + show_attachment_page(); + break; + + case GLOBAL_LINE_DOWN: + move_down(); + break; + + case GLOBAL_LINE_UP: + move_up(); + break; + + case GLOBAL_PAGE_DOWN: + page_down(); + break; + + case GLOBAL_PAGE_UP: + page_up(); + break; + + case GLOBAL_SCROLL_DOWN: + scroll_down(); + break; + + case GLOBAL_SCROLL_UP: + scroll_up(); + break; + + case GLOBAL_TOGGLE_HELP_DISPLAY: + toggle_mini_help(ATTACHMENT_LEVEL); + show_attachment_page(); + break; + + case GLOBAL_TOGGLE_INFO_LAST_LINE: + tinrc.info_in_last_line = bool_not(tinrc.info_in_last_line); + show_attachment_page(); + break; + + case ATTACHMENT_SAVE: + if (attmenu.max) { + part = get_part(attmenu.curr); + process_parts(part, art->raw, num_of_tagged_parts ? SAVE_TAGGED : SAVE); + show_attachment_page(); + } + break; + + case ATTACHMENT_SELECT: + if (attmenu.max) { + part = get_part(attmenu.curr); + process_parts(part, art->raw, VIEW); + show_attachment_page(); + } + break; + + case ATTACHMENT_TAG: + if (attmenu.max) { + t_bool tagged; + + tagged = tag_part(attmenu.curr); + show_attachment_page(); + if (attmenu.curr + 1 < attmenu.max) + move_down(); + info_message(tagged ? _(txt_attachment_tagged) : _(txt_attachment_untagged)); + } + break; + + case ATTACHMENT_UNTAG: + if (attmenu.max && num_of_tagged_parts) { + untag_all_parts(); + show_attachment_page(); + } + break; + + case ATTACHMENT_TAG_PATTERN: + if (attmenu.max) { + tag_pattern(); + show_attachment_page(); + info_message(_(txt_attachments_tagged), num_of_tagged_parts); + } + break; + + case ATTACHMENT_TOGGLE_TAGGED: + if (attmenu.max) { + int i; + + for (i = attmenu.first; i < attmenu.max; ++i) + tag_part(i); + show_attachment_page(); + info_message(_(txt_attachments_tagged), num_of_tagged_parts); + } + break; + + case GLOBAL_SEARCH_SUBJECT_FORWARD: + case GLOBAL_SEARCH_SUBJECT_BACKWARD: + case GLOBAL_SEARCH_REPEAT: + if (func == GLOBAL_SEARCH_REPEAT && last_search != GLOBAL_SEARCH_SUBJECT_FORWARD && last_search != GLOBAL_SEARCH_SUBJECT_BACKWARD) + info_message(_(txt_no_prev_search)); + else if (attmenu.max) { + int new_pos, old_pos = attmenu.curr; + + new_pos = generic_search((func == GLOBAL_SEARCH_SUBJECT_FORWARD), (func == GLOBAL_SEARCH_REPEAT), attmenu.curr, attmenu.max - 1, ATTACHMENT_LEVEL); + if (new_pos != old_pos) + move_to_item(new_pos); + } + break; + +#ifndef DONT_HAVE_PIPING + case ATTACHMENT_PIPE: + case GLOBAL_PIPE: + if (attmenu.max) { + part = get_part(attmenu.curr); + process_parts(part, art->raw, func == GLOBAL_PIPE ? PIPE_RAW : PIPE); + show_attachment_page(); + } + break; +#endif /* !DONT_HAVE_PIPING */ + + default: + info_message(_(txt_bad_command), printascii(key, func_to_key(GLOBAL_HELP, attachment_keys))); + break; + } + } +} + + +static t_function +attachment_left( + void) +{ + return GLOBAL_QUIT; +} + + +static t_function +attachment_right( + void) +{ + return ATTACHMENT_SELECT; +} + + +static void +draw_attachment_arrow( + void) +{ + draw_arrow_mark(INDEX_TOP + attmenu.curr - attmenu.first); + if (tinrc.info_in_last_line) { + const char *name; + t_part *part; + + part = get_part(attmenu.curr); + name = get_filename(part->params); + info_message("%s %s", name ? name : _(txt_attachment_no_name), BlankIfNull(part->description)); + } else if (attmenu.curr == attmenu.max - 1) + info_message(_(txt_end_of_attachments)); +} + + +static void +build_attachment_line( + int i) +{ + char *sptr; + const char *name; + const char *charset; +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + char *tmpname; + char *tmpbuf; +#endif /* MULTIBYTE_ABLE && !NOLOCALE */ + char buf[BUFSIZ]; + char buf2[BUFSIZ]; + char *tree = NULL; + int len, namelen, tagged; + int treelen = 0; + t_part *part; + +#ifdef USE_CURSES + /* + * Allocate line buffer + * make it the same size like in !USE_CURSES case to simplify some code + */ +# if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + sptr = my_malloc(cCOLS * MB_CUR_MAX + 2); +# else + sptr = my_malloc(cCOLS + 2); +# endif /* MULTIBYTE_ABLE && !NO_LOCALE */ +#else + sptr = screen[INDEX2SNUM(i)].col; +#endif /* USE_CURSES */ + + part = get_part(i); + namelen = strwidth(_(txt_attachment_no_name)); + tagged = get_tagged(i); + + if (!(name = get_filename(part->params))) { + if (!(name = part->description)) + name = _(txt_attachment_no_name); + } + + charset = get_param(part->params, "charset"); + snprintf(buf2, sizeof(buf2), _(txt_attachment_lines), part->line_count); + snprintf(buf, sizeof(buf), " %s/%s, %s, %s%s%s", content_types[part->type], part->subtype, content_encodings[part->encoding], charset ? charset : "", charset ? ", " : "", buf2); + if (part->depth > 0) { + treelen = cCOLS - 13 - info_len - namelen; + tree = build_tree(part->depth, treelen, i); + } + snprintf(buf2, sizeof(buf2), "%s %s", tagged ? tin_ltoa(tagged, 3) : " ", BlankIfNull(tree)); + FreeIfNeeded(tree); + len = strwidth(buf2); + if (namelen + len + info_len + 8 <= cCOLS) + namelen = cCOLS - 8 - info_len - len; + +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + tmpname = spart(name, namelen, TRUE); + tmpbuf = spart(buf, info_len, TRUE); + snprintf(sptr, cCOLS * MB_CUR_MAX, " %s %s%*s%*s%s", tin_ltoa(i + 1, 4), buf2, namelen, BlankIfNull(tmpname), info_len, BlankIfNull(tmpbuf), cCRLF); + FreeIfNeeded(tmpname); + FreeIfNeeded(tmpbuf); +#else + snprintf(sptr, cCOLS, " %s %s%-*.*s%*.*s%s", tin_ltoa(i + 1, 4), buf2, namelen, namelen, name, info_len, info_len, buf, cCRLF); +#endif /* MULTIBYTE_ABLE && !NOLOCALE */ + + WriteLine(INDEX2LNUM(i), sptr); + +#ifdef USE_CURSES + free(sptr); +#endif /* USE_CURSES */ +} + + +/* + * Build attachment tree. Code adopted + * from thread.c:make_prefix(). + */ +static char * +build_tree( + int depth, + int maxlen, + int i) +{ +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + char *result; + wchar_t *tree; +#else + char *tree; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + int prefix_ptr, tmpdepth; + int depth_level = 0; + t_bool found = FALSE; + t_partl *lptr, *lptr2; + + lptr2 = find_part(i); + prefix_ptr = depth * 2 - 1; + if (prefix_ptr > maxlen - 1 - !(maxlen % 2)) { + int odd = ((maxlen % 2) ? 0 : 1); + + prefix_ptr -= maxlen - ++depth_level - 2 - odd; + while (prefix_ptr > maxlen - 2 - odd) { + if (depth_level < maxlen / 5) + depth_level++; + + prefix_ptr -= maxlen - depth_level - 2 - odd; + odd = (odd ? 0 : 1); + } + } +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + tree = my_malloc(sizeof(wchar_t) * prefix_ptr + 3 * sizeof(wchar_t)); + tree[prefix_ptr + 2] = (wchar_t) '\0'; +#else + tree = my_malloc(prefix_ptr + 3); + tree[prefix_ptr + 2] = '\0'; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + tree[prefix_ptr + 1] = TREE_ARROW; + tree[prefix_ptr] = TREE_HORIZ; + for (lptr = lptr2->next; lptr != NULL; lptr = lptr->next) { + if (lptr->part->depth == depth) { + found = TRUE; + break; + } + if (lptr->part->depth < depth) + break; + } + tree[--prefix_ptr] = found ? TREE_VERT_RIGHT : TREE_UP_RIGHT; + found = FALSE; + for (tmpdepth = depth - 1; prefix_ptr > 1; --tmpdepth) { + for (lptr = lptr2->next; lptr != NULL; lptr = lptr->next) { + if (lptr->part->depth == tmpdepth) { + found = TRUE; + break; + } + if (lptr->part->depth < tmpdepth) + break; + } + tree[--prefix_ptr] = TREE_BLANK; + tree[--prefix_ptr] = found ? TREE_VERT : TREE_BLANK; + found = FALSE; + } + while (depth_level) + tree[--depth_level] = TREE_ARROW_WRAP; + +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + result = wchar_t2char(tree); + free(tree); + return result; +#else + return tree; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ +} + + +/* + * Find nth attachment in part_list. + * Return pointer to that part. + */ +static t_partl * +find_part( + int n) +{ + t_partl *lptr; + + lptr = part_list; + if (attmenu.max >= 1) + lptr = lptr->next; + + while (n-- > 0 && lptr->next) + lptr = lptr->next; + + return lptr; +} + + +t_part * +get_part( + int n) +{ + t_partl *lptr; + + lptr = find_part(n); + return lptr->part; +} + + +static void +tag_pattern( + void) +{ + char buf[BUFSIZ]; + char pat[128]; + char *prompt; + const char *name; + const char *charset; + struct regex_cache cache = { NULL, NULL }; + t_part *part; + t_partl *lptr; + +#if 0 + if (num_of_tagged_parts) + untag_all_parts(); +#endif /* 0 */ + + prompt = fmt_string(_(txt_select_pattern), tinrc.default_select_pattern); + if (!(prompt_string_default(prompt, tinrc.default_select_pattern, _(txt_info_no_previous_expression), HIST_SELECT_PATTERN))) { + free(prompt); + return; + } + free(prompt); + + if (STRCMPEQ(tinrc.default_select_pattern, "*")) { /* all */ + if (tinrc.wildcard) + STRCPY(pat, ".*"); + else + STRCPY(pat, tinrc.default_select_pattern); + } else + snprintf(pat, sizeof(pat), REGEX_FMT, tinrc.default_select_pattern); + + if (tinrc.wildcard && !(compile_regex(pat, &cache, PCRE_CASELESS))) + return; + + lptr = find_part(0); + + for (; lptr != NULL; lptr = lptr->next) { + part = lptr->part; + if (!(name = get_filename(part->params))) { + if (!(name = part->description)) + name = _(txt_attachment_no_name); + } + charset = get_param(part->params, "charset"); + + snprintf(buf, sizeof(buf), "%s %s/%s %s, %s", name, content_types[part->type], part->subtype, content_encodings[part->encoding], charset ? charset : ""); + + if (!match_regex(buf, pat, &cache, TRUE)) { + continue; + } + if (!lptr->tagged) + lptr->tagged = ++num_of_tagged_parts; + } + + if (tinrc.wildcard) { + FreeIfNeeded(cache.re); + FreeIfNeeded(cache.extra); + } + return; +} + +static int +get_tagged( + int n) +{ + t_partl *lptr; + + lptr = find_part(n); + return lptr->tagged; +} + + +static t_bool +tag_part( + int n) +{ + t_partl *lptr; + + lptr = find_part(n); + if (lptr->tagged) { + untag_part(n); + return FALSE; + } else { + lptr->tagged = ++num_of_tagged_parts; + return TRUE; + } +} + + +static void +untag_part( + int n) +{ + int i; + t_partl *curr_part, *lptr; + + lptr = find_part(0); + curr_part = find_part(n); + i = attmenu.max; + + while (i-- > 0 && lptr) { + if (lptr->tagged > curr_part->tagged) + --lptr->tagged; + lptr = lptr->next; + } + + curr_part->tagged = 0; + --num_of_tagged_parts; +} + + +static void +untag_all_parts( + void) +{ + t_partl *lptr = part_list; + + while (lptr) { + if (lptr->tagged) { + lptr->tagged = 0; + } + lptr = lptr->next; + } + num_of_tagged_parts = 0; +} + + +/* + * Build a linked list which holds pointers to the parts we want deal with. + */ +static int +build_part_list( + t_openartinfo *art) +{ + int i = 0; + t_part *ptr, *uueptr; + t_partl *lptr; + + part_list = my_malloc(sizeof(t_partl)); + lptr = part_list; + lptr->part = art->hdr.ext; + lptr->next = NULL; + lptr->tagged = 0; + for (ptr = art->hdr.ext; ptr != NULL; ptr = ptr->next) { + if ((uueptr = ptr->uue) != NULL) { + lptr->next = my_malloc(sizeof(t_partl)); + lptr->next->part = ptr; + lptr->next->next = NULL; + lptr->next->tagged = 0; + lptr = lptr->next; + ++i; + for (; uueptr != NULL; uueptr = uueptr->next) { + lptr->next = my_malloc(sizeof(t_partl)); + lptr->next->part = uueptr; + lptr->next->next = NULL; + lptr->next->tagged = 0; + lptr = lptr->next; + ++i; + } + } + + if (ptr->uue) + continue; + + lptr->next = my_malloc(sizeof(t_partl)); + lptr->next->part = ptr; + lptr->next->next = NULL; + lptr->next->tagged = 0; + lptr = lptr->next; + ++i; + } + return i; +} + + +static void +free_part_list( + t_partl *list) +{ + while (list->next != NULL) { + free_part_list(list->next); + list->next = NULL; + } + free(list); +} + + +static void +process_parts( + t_part *part, + FILE *rawfp, + enum action what) +{ + FILE *fp; + char *savepath, *tmppath; + int i, saved_parts = 0; + t_partl *lptr; + + switch (what) { + case SAVE_TAGGED: + for (i = 1; i <= num_of_tagged_parts; i++) { + lptr = part_list; + + while (lptr) { + if (lptr->tagged == i) { + if ((savepath = generate_savepath(lptr->part)) == NULL) + return; + + if ((fp = open_save_filename(savepath, FALSE)) == NULL) { + error_message(2, _(txt_cannot_open_for_saving), savepath); + free(savepath); + return; + } + process_part(lptr->part, rawfp, fp, NULL, SAVE); + free(savepath); + ++saved_parts; + } + lptr = lptr->next; + } + } + break; + + default: + if ((tmppath = generate_savepath(part)) == NULL) + return; + + if (what == SAVE) + savepath = tmppath; + else { + savepath = get_tmpfilename(tmppath); + free(tmppath); + } + if ((fp = open_save_filename(savepath, FALSE)) == NULL) { + error_message(2, _(txt_cannot_open_for_saving), savepath); + free(savepath); + return; + } + process_part(part, rawfp, fp, savepath, what); + break; + } + switch (what) { + case SAVE_TAGGED: + wait_message(2, _(txt_attachments_saved), saved_parts, num_of_tagged_parts); + break; + + case SAVE: + wait_message(2, _(txt_attachment_saved), savepath); + free(savepath); + break; + + default: + unlink(savepath); + free(savepath); + break; + } + cursoroff(); +} + + +/* + * VIEW/PIPE/SAVE the given part. + * + * PIPE_RAW uses the raw part, otherwise the part is decoded first. + */ +static void +process_part( + t_part *part, + FILE *rawfp, + FILE *outfile, + const char *savepath, + enum action what) +{ + char buf[2048], buf2[2048]; + int i; + + if (what != PIPE_RAW && part->encoding == ENCODING_BASE64) + mmdecode(NULL, 'b', 0, NULL); /* flush */ + + fseek(rawfp, part->offset, SEEK_SET); + + for (i = 0; i < part->line_count; i++) { + if ((fgets(buf, sizeof(buf), rawfp)) == NULL) + break; + + /* This should catch cases where people illegally append text etc */ + if (buf[0] == '\0') + break; + + if (what != PIPE_RAW) { + switch (part->encoding) { + int count; + + case ENCODING_QP: + case ENCODING_BASE64: + count = mmdecode(buf, part->encoding == ENCODING_QP ? 'q' : 'b', '\0', buf2); + fwrite(buf2, count, 1, outfile); + break; + + case ENCODING_UUE: + /* TODO: if postproc, don't decode these since the traditional uudecoder will get them */ + /* + * x-uuencode attachments have all the header info etc which we must ignore + */ + if (strncmp(buf, "begin ", 6) != 0 && strncmp(buf, "end\n", 4) != 0 && buf[0] != '\n') + uudecode_line(buf, outfile); + break; + + default: + fputs(buf, outfile); + } + } else + fputs(buf, outfile); + } + + fclose(outfile); + + switch (what) { + case VIEW: + start_viewer(part, savepath); + break; + +#ifndef DONT_HAVE_PIPING + case PIPE: + case PIPE_RAW: + pipe_part(savepath); + break; +#endif /* !DONT_HAVE_PIPING */ + + default: + break; + } +} + + +#ifndef DONT_HAVE_PIPING +static void +pipe_part( + const char *savepath) +{ + FILE *fp, *pipe_fp = (FILE *) 0; + char *prompt; + + prompt = fmt_string(_(txt_pipe_to_command), cCOLS - (strlen(_(txt_pipe_to_command)) + 30), tinrc.default_pipe_command); + if (!(prompt_string_default(prompt, tinrc.default_pipe_command, _(txt_no_command), HIST_PIPE_COMMAND))) { + free(prompt); + return; + } + free(prompt); + if ((fp = fopen(savepath, "r")) == NULL) + /* TODO: error message? */ + return; + EndWin(); + Raw(FALSE); + fflush(stdout); + set_signal_catcher(FALSE); + if ((pipe_fp = popen(tinrc.default_pipe_command, "w")) == NULL) { + perror_message(_(txt_command_failed), tinrc.default_pipe_command); + set_signal_catcher(TRUE); + Raw(TRUE); + InitWin(); + fclose(fp); + return; + } + copy_fp(fp, pipe_fp); + if (errno == EPIPE) + perror_message(_(txt_command_failed), tinrc.default_pipe_command); + fflush(pipe_fp); + (void) pclose(pipe_fp); + set_signal_catcher(TRUE); + fclose(fp); +# ifdef USE_CURSES + Raw(TRUE); + InitWin(); +# endif /* USE_CURSES */ + prompt_continue(); +# ifndef USE_CURSES + Raw(TRUE); + InitWin(); +# endif /* !USE_CURSES */ +} +#endif /* !DONT_HAVE_PIPING */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/screen.c tin-2.0.0/src/screen.c --- tin-1.8.3/src/screen.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/screen.c 2011-04-17 16:04:31.551240219 +0200 @@ -3,10 +3,10 @@ * Module : screen.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-02-11 + * Updated : 2011-01-29 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -61,7 +61,7 @@ stow_cursor( /* * helper for the varius *_message() functions - * returns a pointer to an allocated buffer with the formated message + * returns a pointer to an allocated buffer with the formatted message * must be freed if not needed anymore */ char * @@ -158,6 +158,7 @@ wait_message( */ void error_message( + unsigned int sdelay, const char *fmt, ...) { @@ -179,7 +180,7 @@ error_message( fflush(stderr); } else { stow_cursor(); - (void) sleep(2); + (void) sleep(sdelay); clear_message(); } @@ -206,7 +207,7 @@ perror_message( clear_message(); if ((buf = fmt_message(fmt, ap)) != NULL) { - error_message("%s: Error: %s", buf, strerror(err)); + error_message(2, "%s: Error: %s", buf, strerror(err)); free(buf); } @@ -239,19 +240,8 @@ center_line( { int pos; int len; -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - int width; - wchar_t *wbuffer; -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - len = strlen(str); -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wbuffer = char2wchar_t(str)) != NULL) { - if ((width = wcswidth(wbuffer, wcslen(wbuffer) + 1)) > 0) - len = width; - free(wbuffer); - } -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + len = strwidth(str); if (!cmd_line) { if (cCOLS >= len) @@ -290,9 +280,15 @@ draw_arrow_mark( { MoveCursor(line, 0); - if (tinrc.draw_arrow) - my_fputs("->", stdout); - else { + if (tinrc.draw_arrow) { +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + if (tinrc.utf8_graphics) { + my_fputwc(CURSOR_HORIZ, stdout); + my_fputwc(CURSOR_ARROW, stdout); + } else +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + my_fputs("->", stdout); + } else { #ifdef USE_CURSES char buffer[BUFSIZ]; char *s = screen_contents(line, 0, buffer); @@ -355,8 +351,8 @@ show_title( { int col; - col = (cCOLS - (int) strlen(_(txt_type_h_for_help))) + 1; - if (col) { + col = cCOLS - strwidth(_(txt_type_h_for_help)); + if (col > 0) { MoveCursor(0, col); #ifdef HAVE_COLOR fcol(tinrc.col_title); @@ -444,7 +440,7 @@ show_progress( long count_diff; #endif /* HAVE_GETTIMEOFDAY */ - if (batch_mode || count <= 0 || total == 0) + if (batch_mode || count <= 0 || total <= 0) return; /* If this is a new progress meter, start recalculating */ @@ -492,7 +488,7 @@ show_progress( * From the 20th sample on use only the last 20 samples to calculate * the running averave. To make things easier we don't want to store * and keep track of all of them, so we assume that the first sample - * was close to the current average and substract it from sum. Then, + * was close to the current average and subtract it from sum. Then, * the new sample is added to the sum and the sum is divided by 20 to * get the new average. */ diff -Nurp --exclude='.bzr*' tin-1.8.3/src/search.c tin-2.0.0/src/search.c --- tin-1.8.3/src/search.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/search.c 2011-04-17 16:04:31.579244482 +0200 @@ -3,10 +3,10 @@ * Module : search.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-07-02 + * Updated : 2010-10-01 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -94,7 +94,7 @@ get_search_pattern( last_forward = *forward; my_strncpy(last_pattern, def, LEN); - /* HIST_BODY_SEARCH doesn't exist, hence i_key_search_last is set directly in search_body() */ + /* HIST_BODY_SEARCH doesn't exist, hence last_search is set directly in search_body() */ if (which_hist == HIST_AUTHOR_SEARCH) last_search = *forward ? GLOBAL_SEARCH_AUTHOR_FORWARD : GLOBAL_SEARCH_AUTHOR_BACKWARD; else @@ -157,7 +157,7 @@ search_config( if (n == last && forward) n = 0; else - n += forward ? 1 : -1; + n += (forward ? 1 : -1); } /* search only visible options */ if (option_is_visible(n)) { @@ -187,6 +187,80 @@ search_config( /* + * called by save.c (search for attachment) and page.c (search for URL) + */ +int +generic_search( + t_bool forward, + t_bool repeat, + int current, + int last, + int level) +{ + char *pattern; + char buf[BUFSIZ]; + const char *name, *charset; + int n = current; + int result = current; + t_bool found = FALSE; + t_part *part; + t_url *urlptr; + + if (!(pattern = get_search_pattern(&forward, repeat, _(txt_search_forwards), _(txt_search_backwards), tinrc.default_search_config, HIST_CONFIG_SEARCH))) + return result; + + if (tinrc.wildcard && !(compile_regex(pattern, &search_regex, PCRE_CASELESS))) + return result; + + do { + if (n == 0 && !forward) + n = last; + else { + if (n == last && forward) + n = 0; + else + n += (forward ? 1 : -1); + } + switch (level) { + case ATTACHMENT_LEVEL: + part = get_part(n); + if (!(name = get_filename(part->params))) { + if (!(name = part->description)) + name = _(txt_attachment_no_name); + } + charset = get_param(part->params, "charset"); + snprintf(buf, sizeof(buf), "%s %s/%s %s, %s", name, content_types[part->type], part->subtype, content_encodings[part->encoding], charset ? charset : ""); + break; + + case URL_LEVEL: + urlptr = find_url(n); + snprintf(buf, sizeof(buf), "%s", urlptr->url); + break; + + default: + buf[0] = '\0'; + break; + } + if (match_regex(buf, pattern, &search_regex, TRUE)) { + result = n; + found = TRUE; + break; + } + } while (n != current); + + clear_message(); + if (tinrc.wildcard) { + FreeAndNull(search_regex.re); + FreeAndNull(search_regex.extra); + } + if (!found) + info_message(_(txt_no_match)); + + return result; +} + + +/* * Search active[] looking for a groupname * Called by select.c * Return index into active of matching groupname or -1 @@ -303,7 +377,7 @@ body_search( art_close(&pgart); /* Switch the pager over to matched art */ pgart = artinfo; #ifdef DEBUG - if (debug == 2) + if (debug & DEBUG_MISC) fprintf(stderr, "art_switch(%p = %p)\n", (void *) &pgart, (void *) &artinfo); #endif /* DEBUG */ free(line); @@ -435,7 +509,7 @@ search_group( } /* Only search displayed articles */ - if (curr_group->attribute->show_only_unread && arts[i].status != ART_UNREAD) + if (curr_group->attribute->show_only_unread_arts && arts[i].status != ART_UNREAD) continue; ret = search_func(i, searchbuff); @@ -519,7 +593,7 @@ search_article( { char *pattern, *ptr, *tmp; int i = start_line; - int tmp_srch_offsets[2]; + int tmp_srch_offsets[2] = {0, 0}; t_bool wrap = FALSE; t_bool match = FALSE; @@ -648,7 +722,7 @@ search_body( /* * Count up the articles to be processed for the progress meter */ - if (group->attribute->show_only_unread) { + if (group->attribute->show_only_unread_arts) { for (i = 0; i < grpmenu.max; i++) total_cnt += new_responses(i); } else { diff -Nurp --exclude='.bzr*' tin-1.8.3/src/select.c tin-2.0.0/src/select.c --- tin-1.8.3/src/select.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/select.c 2011-04-17 16:04:36.071928173 +0200 @@ -3,10 +3,10 @@ * Module : select.c * Author : I. Lea & R. Skrenta * Created : 1991-04-01 - * Updated : 2005-07-02 + * Updated : 2011-03-25 * Notes : * - * Copyright (c) 1991-2006 Iain Lea , Rich Skrenta + * Copyright (c) 1991-2011 Iain Lea , Rich Skrenta * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -205,7 +205,7 @@ selection_page( case GLOBAL_SEARCH_SUBJECT_BACKWARD: case GLOBAL_SEARCH_REPEAT: if (func == GLOBAL_SEARCH_REPEAT && last_search != GLOBAL_SEARCH_SUBJECT_FORWARD && last_search != GLOBAL_SEARCH_SUBJECT_BACKWARD) - info_message(_(txt_bad_command), printascii(key, key_to_func(GLOBAL_HELP, select_keys))); + info_message(_(txt_no_prev_search)); else { if ((i = search_active((func == GLOBAL_SEARCH_SUBJECT_FORWARD), (func == GLOBAL_SEARCH_REPEAT))) != -1) { move_to_item(i); @@ -251,9 +251,9 @@ selection_page( break; case GLOBAL_EDIT_FILTER: - if (!invoke_editor(filter_file, FILTER_FILE_OFFSET)) - break; - (void) read_filter_file(filter_file); + if (invoke_editor(filter_file, filter_file_offset, NULL)) + (void) read_filter_file(filter_file); + show_selection_page(); break; case SELECT_TOGGLE_DESCRIPTIONS: /* toggle newsgroup descriptions */ @@ -342,8 +342,7 @@ selection_page( break; case GLOBAL_OPTION_MENU: - (void) change_config_file(NULL); - read_attributes_files(); + config_page(CURR_GROUP.name); show_selection_page(); break; @@ -382,6 +381,8 @@ selection_page( show_selection_page(); if (tinrc.show_only_unread_groups) info_message(_(txt_show_unread)); + else + clear_message(); break; case GLOBAL_BUGREPORT: @@ -455,11 +456,15 @@ selection_page( case GLOBAL_POST: /* post a basenote */ if (!selmenu.max) { + if (!can_post) { + info_message(_(txt_cannot_post)); + break; + } snprintf(buf, sizeof(buf), _(txt_post_newsgroups), tinrc.default_post_newsgroups); if (!prompt_string_default(buf, tinrc.default_post_newsgroups, _(txt_no_newsgroups), HIST_POST_NEWSGROUPS)) break; - if (group_find(tinrc.default_post_newsgroups) == NULL) { - error_message(_(txt_not_in_active_file), tinrc.default_post_newsgroups); + if (group_find(tinrc.default_post_newsgroups, FALSE) == NULL) { + error_message(2, _(txt_not_in_active_file), tinrc.default_post_newsgroups); break; } else { strcpy(buf, tinrc.default_post_newsgroups); @@ -469,7 +474,7 @@ selection_page( * CHARSET_CONVERSION conversion case in new_part() * which relies currently relies on CURR_GROUP */ - selmenu.curr = my_group_add(buf); + selmenu.curr = my_group_add(buf, FALSE); /* * and the next hack to avoid a grabbled selection * screen after the posting @@ -564,7 +569,7 @@ show_selection_page( */ if (yanked_out) { for (i = 0; i < selmenu.max; i++) { - if ((len = strlen(active[my_group[i]].name)) > groupname_len) + if ((len = strwidth(active[my_group[i]].name)) > groupname_len) groupname_len = len; if (show_description && groupname_len > tinrc.groupname_max_length) { /* no need to search further, we have reached max length */ @@ -574,7 +579,7 @@ show_selection_page( } } else { for_each_group(i) { - if ((len = strlen(active[i].name)) > groupname_len) + if ((len = strwidth(active[i].name)) > groupname_len) groupname_len = len; if (show_description && groupname_len > tinrc.groupname_max_length) { /* no need to search further, we have reached max length */ @@ -606,23 +611,41 @@ static void build_gline( int i) { - char tmp[10]; - char active_name[255]; - char group_descript[255]; char subs; + char tmp[10]; + int n, blank_len; +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + char *name_buf = NULL; + char *desc_buf = NULL; + int name_len = groupname_len; + wchar_t *active_name = NULL; + wchar_t *active_name2 = NULL; + wchar_t *active_desc = NULL; + wchar_t *active_desc2 = NULL; +#else + char *active_name; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ #ifdef USE_CURSES char sptr[BUFSIZ]; #else char *sptr = screen[INDEX2SNUM(i)].col; #endif /* USE_CURSES */ - int n, blank_len; - blank_len = (MIN(cCOLS, (int) sizeof(group_descript)) - (groupname_len + SELECT_MISC_COLS)) + (show_description ? 2 : 4); +#define DESCRIPTION_LENGTH 255 + + blank_len = (MIN(cCOLS, DESCRIPTION_LENGTH) - (groupname_len + SELECT_MISC_COLS)) + (show_description ? 2 : 4); if (active[my_group[i]].inrange) strcpy(tmp, " #"); else if (active[my_group[i]].newsrc.num_unread) { - strcpy(tmp, tin_ltoa(active[my_group[i]].newsrc.num_unread, 5)); + int getart_limit; + long num_unread; + + getart_limit = cmdline.args & CMDLINE_GETART_LIMIT ? cmdline.getart_limit : tinrc.getart_limit; + num_unread = active[my_group[i]].newsrc.num_unread; + if (getart_limit > 0 && getart_limit < num_unread) + num_unread = getart_limit; + strcpy(tmp, tin_ltoa(num_unread, 5)); } else strcpy(tmp, " "); @@ -638,33 +661,94 @@ build_gline( */ if (active[n].bogus) /* Group is not in active list */ subs = 'D'; - else if (active[n].subscribed) /* Important that this preceeds Newgroup */ + else if (active[n].subscribed) /* Important that this precedes Newgroup */ subs = group_flag(active[n].moderated); else subs = ((active[n].newgroup) ? 'N' : 'u'); /* New (but unsubscribed) group or unsubscribed group */ - strncpy(active_name, active[n].name, groupname_len); - active_name[groupname_len] = '\0'; +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + if ((active_name = char2wchar_t(active[n].name)) == NULL) /* If char2wchar_t() fails try again after replacing unprintable characters */ + active_name = char2wchar_t(convert_to_printable(active[n].name, FALSE)); + + if (show_description && active[n].description) + active_desc = char2wchar_t(active[n].description); + + if (active_name && tinrc.abbreviate_groupname) { + if (show_description && !active_desc) + active_name2 = abbr_wcsgroupname(active_name, (size_t) (groupname_len + blank_len)); + else + active_name2 = abbr_wcsgroupname(active_name, (size_t) groupname_len); + + free(active_name); + } else + active_name2 = active_name; + + if (active_name2 && (active_name = wcspart(active_name2, groupname_len, TRUE)) != NULL) { + free(active_name2); + if ((name_buf = wchar_t2char(active_name)) != NULL) { + free(active_name); + name_len = (int) strlen(name_buf); + } + } + + if (show_description) { + if (active_desc) { + if ((active_desc2 = wcspart(active_desc, blank_len, TRUE)) != NULL) { + if ((desc_buf = wchar_t2char(active_desc2)) != NULL) + blank_len = strlen(desc_buf); + free(active_desc); + free(active_desc2); + } + } + if (desc_buf) { + sprintf(sptr, " %c %s %s %-*.*s %-*.*s%s", + subs, tin_ltoa(i + 1, 4), tmp, + name_len, name_len, BlankIfNull(name_buf), + blank_len, blank_len, desc_buf, cCRLF); + free(desc_buf); + } else + sprintf(sptr, " %c %s %s %-*.*s %s", + subs, tin_ltoa(i + 1, 4), tmp, + (name_len + blank_len), + (name_len + blank_len), BlankIfNull(name_buf), cCRLF); + } else { + if (tinrc.draw_arrow) + sprintf(sptr, " %c %s %s %-*.*s%s", subs, tin_ltoa(i + 1, 4), tmp, name_len, name_len, BlankIfNull(name_buf), cCRLF); + else + sprintf(sptr, " %c %s %s %-*.*s%*s%s", subs, tin_ltoa(i + 1, 4), tmp, name_len, name_len, BlankIfNull(name_buf), blank_len, " ", cCRLF); + } + + FreeIfNeeded(name_buf); +#else + if (tinrc.abbreviate_groupname) { + if (show_description && !active[n].description) + active_name = abbr_groupname(active[n].name, (size_t) (groupname_len + blank_len)); + else + active_name = abbr_groupname(active[n].name, (size_t) groupname_len); + } else + active_name = my_strdup(active[n].name); if (show_description) { - if (active[n].description) { - strncpy(group_descript, active[n].description, blank_len); - group_descript[blank_len] = '\0'; + if (active[n].description) sprintf(sptr, " %c %s %s %-*.*s %-*.*s%s", subs, tin_ltoa(i + 1, 4), tmp, groupname_len, groupname_len, active_name, - blank_len, blank_len, group_descript, cCRLF); - } else + blank_len, blank_len, active[n].description, cCRLF); + else sprintf(sptr, " %c %s %s %-*.*s %s", subs, tin_ltoa(i + 1, 4), tmp, (groupname_len + blank_len), - (groupname_len + blank_len), active[n].name, cCRLF); + (groupname_len + blank_len), active_name, cCRLF); } else { if (tinrc.draw_arrow) sprintf(sptr, " %c %s %s %-*.*s%s", subs, tin_ltoa(i + 1, 4), tmp, groupname_len, groupname_len, active_name, cCRLF); else sprintf(sptr, " %c %s %s %-*.*s%*s%s", subs, tin_ltoa(i + 1, 4), tmp, groupname_len, groupname_len, active_name, blank_len, " ", cCRLF); } + + free(active_name); +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + if (tinrc.strip_blanks) strcat(strip_line(sptr), cCRLF); @@ -743,8 +827,8 @@ active_comp( t_comptype p1, t_comptype p2) { - const struct t_group *s1 = (const struct t_group *)p1; - const struct t_group *s2 = (const struct t_group *)p2; + const struct t_group *s1 = (const struct t_group *) p1; + const struct t_group *s2 = (const struct t_group *) p2; return strcasecmp(s1->name, s2->name); } @@ -760,7 +844,7 @@ save_restore_curr_group( t_bool saving) { static char *oldgroup; - static int oldmax; + static int oldmax = 0; int ret; /* @@ -830,7 +914,7 @@ choose_new_group( clear_message(); - if ((idx = my_group_add(tinrc.default_goto_group)) == -1) + if ((idx = my_group_add(tinrc.default_goto_group, TRUE)) == -1) info_message(_(txt_not_in_active_file), tinrc.default_goto_group); return idx; @@ -867,11 +951,12 @@ skip_newgroups( int add_my_group( const char *group, - t_bool add) + t_bool add, + t_bool ignore_case) { int i, j; - if ((i = find_group_index(group)) < 0) + if ((i = find_group_index(group, ignore_case)) < 0) return -1; for (j = 0; j < selmenu.max; j++) { @@ -906,7 +991,7 @@ reposition_group( return default_num; if (strlen(pos)) - pos_num = ((pos[0] == '$') ? selmenu.max: atoi(pos)); + pos_num = ((pos[0] == '$') ? selmenu.max : atoi(pos)); else { if (tinrc.default_move_group) pos_num = tinrc.default_move_group; @@ -925,7 +1010,7 @@ reposition_group( * Can't move into newgroups, they aren't in .newsrc */ if (pos_num <= newgroups) { - error_message(_(txt_skipping_newgroups)); + error_message(2, _(txt_skipping_newgroups)); return default_num; } @@ -1122,6 +1207,7 @@ toggle_my_groups( } } #else + /* preserv group ordering based on newsrc */ if ((fp = fopen(newsrc, "r")) == NULL) return; @@ -1129,14 +1215,14 @@ toggle_my_groups( if ((ptr = strchr(buf, SUBSCRIBED)) != NULL) { *ptr = '\0'; - if ((i = find_group_index(buf)) < 0) + if ((i = find_group_index(buf, FALSE)) < 0) continue; if (tinrc.show_only_unread_groups) { if (active[i].newsrc.num_unread || (active[i].bogus && tinrc.strip_bogus == BOGUS_SHOW)) - my_group_add(buf); + my_group_add(buf, FALSE); } else - my_group_add(buf); + my_group_add(buf, FALSE); } } fclose(fp); @@ -1146,8 +1232,8 @@ toggle_my_groups( /* - * Subscribe or unsubscribe from a list of groups. List can be full list as supported - * by match_group_list() + * Subscribe or unsubscribe from a list of groups. List can be full list as + * supported by match_group_list() */ static void subscribe_pattern( @@ -1169,37 +1255,17 @@ subscribe_pattern( wait_message(0, message); - /* - * TODO: why do we do a pass over my_group[] before another one - * over active[]? AFAICS the first loop can go away. - */ - for (i = 0; i < selmenu.max; i++) { - if (match_group_list(active[my_group[i]].name, buf)) { - if (active[my_group[i]].subscribed != (state != FALSE)) { + for_each_group(i) { + if (match_group_list(active[i].name, buf)) { + if (active[i].subscribed != (state != FALSE)) { spin_cursor(); - subscribe(&active[my_group[i]], SUB_CHAR(state), TRUE); - subscribe_num++; - } - } - } - - if (num_active > selmenu.max) { /* ie, there are groups yanked out */ - for_each_group(i) { - if (match_group_list(active[i].name, buf)) { - if (active[i].subscribed != (state != FALSE)) { - spin_cursor(); - /* If found and group is not subscribed add it to end of my_group[]. */ - subscribe(&active[i], SUB_CHAR(state), TRUE); - if (state) { - my_group_add(active[i].name); - /* - * TODO: grp_mark_unread() or something needs to do a - * group_get_art_info() to get initial count right - */ - grp_mark_unread(&active[i]); - } - subscribe_num++; + /* If found and group is not subscribed add it to end of my_group[]. */ + subscribe(&active[i], SUB_CHAR(state), TRUE); + if (state) { + my_group_add(active[i].name, FALSE); + grp_mark_unread(&active[i]); } + subscribe_num++; } } } @@ -1221,6 +1287,7 @@ select_quit( void) { write_config_file(local_config_file); + ClearScreen(); tin_done(EXIT_SUCCESS); /* Tin END */ } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/sigfile.c tin-2.0.0/src/sigfile.c --- tin-1.8.3/src/sigfile.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/sigfile.c 2011-04-17 16:04:31.607248742 +0200 @@ -3,10 +3,10 @@ * Module : sigfile.c * Author : M. Gleason & I. Lea * Created : 1992-10-17 - * Updated : 2003-09-19 + * Updated : 2010-11-13 * Notes : Generate random signature for posting/mailing etc. * - * Copyright (c) 1992-2006 Mike Gleason + * Copyright (c) 1992-2011 Mike Gleason * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -77,7 +77,7 @@ msg_write_signature( char *sigcmd; char cmd[PATH_LEN]; - fprintf(fp, "\n%s", tinrc.sigdashes ? SIGDASHES : "\n"); + fprintf(fp, "\n%s", thisgroup->attribute->sigdashes ? SIGDASHES : "\n"); sigcmd = my_malloc(strlen(thisgroup->attribute->sigfile + 1) + strlen(thisgroup->name) + 4); sprintf(sigcmd, "%s \"%s\"", thisgroup->attribute->sigfile + 1, thisgroup->name); @@ -93,9 +93,9 @@ msg_write_signature( #endif /* !DONT_HAVE_PIPING */ get_cwd(cwd); - if (!strfpath(thisgroup->attribute->sigfile, path, sizeof(path), thisgroup)) { - if (!strfpath(tinrc.sigfile, path, sizeof(path), thisgroup)) - joinpath(path, homedir, ".Sig"); + if (!strfpath(thisgroup->attribute->sigfile, path, sizeof(path), thisgroup, FALSE)) { + if (!strfpath(tinrc.sigfile, path, sizeof(path), thisgroup, FALSE)) + joinpath(path, sizeof(path), homedir, ".Sig"); } /* @@ -107,23 +107,23 @@ msg_write_signature( */ if ((sigfp = open_random_sig(path)) != NULL) { #ifdef DEBUG - if (debug == 2) - error_message("USING random sig=[%s]", sigfile); + if (debug & DEBUG_MISC) + error_message(2, "USING random sig=[%s]", sigfile); #endif /* DEBUG */ - fprintf(fp, "\n%s", tinrc.sigdashes ? SIGDASHES : "\n"); - joinpath(pathfixed, path, ".sigfixed"); + fprintf(fp, "\n%s", thisgroup->attribute->sigdashes ? SIGDASHES : "\n"); + joinpath(pathfixed, sizeof(pathfixed), path, ".sigfixed"); #ifdef DEBUG - if (debug == 2) - error_message("TRYING fixed sig=[%s]", pathfixed); + if (debug & DEBUG_MISC) + error_message(2, "TRYING fixed sig=[%s]", pathfixed); #endif /* DEBUG */ if ((fixfp = fopen(pathfixed, "r")) != NULL) { copy_fp(fixfp, fp); fclose(fixfp); } else { - joinpath(pathfixed, homedir, ".sigfixed"); + joinpath(pathfixed, sizeof(pathfixed), homedir, ".sigfixed"); #ifdef DEBUG - if (debug == 2) - error_message("TRYING fixed sig=[%s]", pathfixed); + if (debug & DEBUG_MISC) + error_message(2, "TRYING fixed sig=[%s]", pathfixed); #endif /* DEBUG */ if ((fixfp = fopen(pathfixed, "r")) != NULL) { copy_fp(fixfp, fp); @@ -135,25 +135,25 @@ msg_write_signature( my_chdir(cwd); return; } - } - - if ((sigfp = fopen(path, "r")) != NULL) { - fprintf(fp, "\n%s", tinrc.sigdashes ? SIGDASHES : "\n"); - copy_fp(sigfp, fp); - fclose(sigfp); - return; - } - /* - * Use ~/.signature as a last resort, but only if mailing or - * using internal inews (external inews appends it automagically). - */ - if ((sigfp = fopen(default_signature, "r")) != NULL) { - if (include_dot_signature) { - fprintf(fp, "\n%s", tinrc.sigdashes ? SIGDASHES : "\n"); + if ((sigfp = fopen(path, "r")) != NULL) { + fprintf(fp, "\n%s", thisgroup->attribute->sigdashes ? SIGDASHES : "\n"); copy_fp(sigfp, fp); + fclose(sigfp); + return; + } + + /* + * Use ~/.signature as a last resort, but only if mailing or + * using internal inews (external inews appends it automagically). + */ + if ((sigfp = fopen(default_signature, "r")) != NULL) { + if (include_dot_signature) { + fprintf(fp, "\n%s", thisgroup->attribute->sigdashes ? SIGDASHES : "\n"); + copy_fp(sigfp, fp); + } + fclose(sigfp); } - fclose(sigfp); } } @@ -171,14 +171,14 @@ open_random_sig( if (thrashdir(sigdir) || !*sigfile) { #ifdef DEBUG - if (debug == 2) - error_message("NO sigfile=[%s]", sigfile); + if (debug & DEBUG_MISC) + error_message(2, "NO sigfile=[%s]", sigfile); #endif /* DEBUG */ return (FILE *) 0; } else { #ifdef DEBUG - if (debug == 2) - error_message("sigfile=[%s]", sigfile); + if (debug & DEBUG_MISC) + error_message(2, "sigfile=[%s]", sigfile); #endif /* DEBUG */ return fopen(sigfile, "r"); } @@ -197,7 +197,7 @@ thrashdir( DIR_BUF *dp; char *cwd; int safeguard, recurse; - int c = 0, numentries, pick; + int c = 0, numentries = 0, pick; struct stat st; sigfile[0] = '\0'; @@ -205,8 +205,7 @@ thrashdir( if ((dirp = opendir(CURRENTDIR)) == NULL) return 1; - numentries = 0; - while ((dp = readdir(dirp)) != NULL) + while (readdir(dirp) != NULL) numentries++; /* @@ -229,8 +228,8 @@ thrashdir( */ for (safeguard = 0, dp = NULL; safeguard < MAXLOOPS && dp == NULL; safeguard++) { #ifdef DEBUG - if (debug == 2) - error_message("sig loop=[%d] recurse=[%d]", safeguard, recurse); + if (debug & DEBUG_MISC) + error_message(2, "sig loop=[%d] recurse=[%d]", safeguard, recurse); #endif /* DEBUG */ #ifdef HAVE_REWINDDIR rewinddir(dirp); @@ -276,8 +275,8 @@ thrashdir( strcat(sigfile, "/"); strcat(sigfile, dp->d_name); #ifdef DEBUG - if (debug == 2) - error_message("Found a file=[%s]", sigfile); + if (debug & DEBUG_MISC) + error_message(2, "Found a file=[%s]", sigfile); #endif /* DEBUG */ } } @@ -285,8 +284,8 @@ thrashdir( } free(cwd); #ifdef DEBUG - if (debug == 2) - error_message("return 0: sigfile=[%s]", sigfile); + if (debug & DEBUG_MISC) + error_message(2, "return 0: sigfile=[%s]", sigfile); #endif /* DEBUG */ CLOSEDIR(dirp); diff -Nurp --exclude='.bzr*' tin-1.8.3/src/signal.c tin-2.0.0/src/signal.c --- tin-1.8.3/src/signal.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/signal.c 2011-04-17 16:04:31.635253005 +0200 @@ -3,10 +3,10 @@ * Module : signal.c * Author : I.Lea * Created : 1991-04-01 - * Updated : 2004-06-21 + * Updated : 2010-09-16 * Notes : signal handlers for different modes and window resizing * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -48,15 +48,6 @@ # include "version.h" #endif /* !VERSION_H */ - -#if defined(VMS) && defined(SIGBUS) - /* - * SIGBUS works on VMS, but many useful information will be hidden - * if catched by signal handler. - */ -# undef SIGBUS -#endif /* VMS && SIGBUS */ - /* * Needed for resizing under an xterm */ @@ -104,6 +95,9 @@ static void _CDECL signal_handler(SIG_AR #ifdef SIGTSTP static t_bool do_sigtstp = FALSE; #endif /* SIGTSTP */ +#if defined(SIGWINCH) || defined(SIGTSTP) + static t_bool redraw_after_suspend; +#endif /* SIGWINCH || SIGTSTP */ int signal_context = cMain; int input_context = cNone; @@ -123,7 +117,7 @@ static const struct { { SIGINT, "SIGINT" }, /* ctrl-C */ # endif /* SIGINT */ # ifdef SIGQUIT - { SIGQUIT, "SIGQUIT " }, /* ctrl-\ */ + { SIGQUIT, "SIGQUIT" }, /* ctrl-\ */ # endif /* SIGQUIT */ # ifdef SIGILL { SIGILL, "SIGILL" }, /* illegal instruction */ @@ -140,6 +134,9 @@ static const struct { # ifdef SIGPIPE { SIGPIPE, "SIGPIPE" }, /* broken pipe */ # endif /* SIGPIPE */ +# ifdef SIGALRM + { SIGALRM, "SIGALRM" }, /* real-time timer expired */ +# endif /* SIGALRM */ # ifdef SIGCHLD { SIGCHLD, "SIGCHLD" }, /* death of a child process */ # endif /* SIGCHLD */ @@ -155,6 +152,9 @@ static const struct { # ifdef SIGUSR1 { SIGUSR1, "SIGUSR1" }, /* User-defined signal 1 */ # endif /* SIGUSR1 */ +# ifdef SIGUSR2 + { SIGUSR2, "SIGUSR2" }, /* User-defined signal 2 */ +# endif /* SIGUSR2 */ # ifdef SIGTERM { SIGTERM, "SIGTERM" }, /* termination */ # endif /* SIGTERM */ @@ -274,9 +274,10 @@ handle_resize( switch (signal_context) { case cArt: ClearScreen(); - show_art_msg(curr_group->name); + show_art_msg(CURR_GROUP.name); break; + case cAttrib: case cConfig: refresh_config_page(SIGNAL_HANDLER); break; @@ -289,9 +290,12 @@ handle_resize( display_info_page(0); break; + case cAttachment: case cGroup: + case cScope: case cSelect: case cThread: + case cURL: ClearScreen(); currmenu->redraw(); break; @@ -301,6 +305,27 @@ handle_resize( draw_page(curr_group->name, 0); break; + case cPost: + case cPostCancel: + refresh_post_screen(signal_context); + break; + + case cPostFup: + resize_article(TRUE, &pgart); + draw_page(curr_group->name, 0); + /* + * Reset signal_context because draw_page() + * sets signal_context to cPage. + */ + signal_context = cPostFup; + refresh_post_screen(signal_context); + break; + + case cReconnect: + ClearScreen(); + show_title(tin_progname); + break; + case cMain: break; } @@ -309,14 +334,24 @@ handle_resize( gl_redraw(); break; + case cPromptCONT: + if (redraw_after_suspend) + info_message(_(txt_return_key)); + break; + case cPromptSLK: prompt_slk_redraw(); break; + case cPromptYN: + prompt_yn_redraw(); + break; + default: break; } my_fflush(stdout); + redraw_after_suspend = FALSE; #endif /* SIGWINCH || SIGTSTP */ } @@ -326,22 +361,34 @@ static void handle_suspend( void) { + t_bool save_cmd_line = cmd_line; + t_bool save_state = (!batch_mode || !cmd_line); + TRACE(("handle_suspend(%d)", signal_context)); set_keypad_off(); if (!cmd_line) set_xclick_off(); - Raw(FALSE); + if (save_state) { + EndWin(); + Raw(FALSE); + } + wait_message(0, _(txt_suspended_message), tin_progname); kill(0, SIGSTOP); /* Put ourselves to sleep */ RESTORE_HANDLER(SIGTSTP, signal_handler); - if (!batch_mode) { + if (save_state) { Raw(TRUE); + InitWin(); + cmd_line = save_cmd_line; + if (!cmd_line) + my_retouch(); need_resize = cRedraw; /* Flag a redraw */ + redraw_after_suspend = TRUE; } set_keypad_on(); if (!cmd_line) @@ -366,13 +413,21 @@ signal_handler( switch (sig) { #ifdef SIGINT case SIGINT: - if (!batch_mode) { - RESTORE_HANDLER(sig, signal_handler); - return; - } - break; + RESTORE_HANDLER(sig, signal_handler); + return; #endif /* SIGINT */ +/* + * fatal error but we don't want the "signal handler caught signal" + * message here + */ +#ifdef SIGALRM + case SIGALRM: + error_message(2, "NNTP connection error. Exiting..."); + tin_done(NNTP_ERROR_EXIT); + return; +#endif /* SIGALRM */ + #ifdef SIGCHLD case SIGCHLD: wait(&wait_status); @@ -381,13 +436,6 @@ signal_handler( return; #endif /* SIGCHLD */ -#ifdef SIGPIPE - case SIGPIPE: - got_sig_pipe = TRUE; - RESTORE_HANDLER(sig, signal_handler); - return; -#endif /* SIGPIPE */ - #ifdef SIGTSTP case SIGTSTP: handle_suspend(); @@ -397,10 +445,18 @@ signal_handler( #ifdef SIGWINCH case SIGWINCH: need_resize = cYes; - RESTORE_HANDLER(SIGWINCH, signal_handler); + RESTORE_HANDLER(sig, signal_handler); return; #endif /* SIGWINCH */ +#ifdef SIGUSR2 + case SIGUSR2: + if (!no_write) /* TODO: add more config-files to be saved */ + write_newsrc(); + RESTORE_HANDLER(sig, signal_handler); + return; +#endif /* SIGUSR2 */ + default: break; } @@ -424,12 +480,17 @@ signal_handler( break; #endif /* SIGHUP || SIGUSR1 || SIGTERM */ -#ifdef SIGBUS - case SIGBUS: -#endif /* SIGBUS */ #ifdef SIGSEGV case SIGSEGV: +# if defined(SIGBUS) && (SIGSEGV != SIGBUS) /* on Haiku SIGSEGV == SIGBUS */ + case SIGBUS: +# endif /* SIGBUS && SIGSEGV != SIGBUS */ +#else +# ifdef SIGBUS + case SIGBUS: +# endif /* SIGBUS */ #endif /* SIGSEGV */ + #if defined(SIGBUS) || defined(SIGSEGV) my_fprintf(stderr, _(txt_send_bugreport), tin_progname, VERSION, RELEASEDATE, RELEASENAME, OSNAME, bug_addr); my_fflush(stderr); @@ -483,6 +544,11 @@ set_signal_handlers( for (n = 0; n < ARRAY_SIZE(signal_list); n++) { switch ((code = signal_list[n].code)) { +#ifdef SIGPIPE + case SIGPIPE: + sigdisp(code, SIG_IGN); + break; +#endif /* SIGPIPE */ #ifdef SIGTSTP case SIGTSTP: ptr = sigdisp(code, SIG_DFL); diff -Nurp --exclude='.bzr*' tin-1.8.3/src/strftime.c tin-2.0.0/src/strftime.c --- tin-1.8.3/src/strftime.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/strftime.c 2011-04-17 16:04:31.683260311 +0200 @@ -12,7 +12,7 @@ * tm = localtime(&secs); * num = strftime(buf, sizeof(buf), "%a %d-%m-%y %H:%M:%S", tm); * - * Copyright (c) 1991-2006 Arnold Robbins + * Copyright (c) 1991-2011 Arnold Robbins * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff -Nurp --exclude='.bzr*' tin-1.8.3/src/string.c tin-2.0.0/src/string.c --- tin-1.8.3/src/string.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/string.c 2011-04-17 16:04:36.107933653 +0200 @@ -3,10 +3,10 @@ * Module : string.c * Author : Urs Janssen * Created : 1997-01-20 - * Updated : 2005-11-04 + * Updated : 2011-01-30 * Notes : * - * Copyright (c) 1997-2006 Urs Janssen + * Copyright (c) 1997-2011 Urs Janssen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -65,15 +65,18 @@ /* * local prototypes */ -#if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - static UChar *char2UChar(const char *str); - static char *UChar2char(const UChar *ustr); -#endif /* HAVE_LIBICUUC && MULTIBYTE_ABLE && !NO_LOCALE */ +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + static wchar_t *my_wcsdup(const wchar_t *wstr); +# if defined(HAVE_LIBICUUC) + static UChar *char2UChar(const char *str); + static char *UChar2char(const UChar *ustr); +# endif /* HAVE_LIBICUUC */ +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ /* * special ltoa() - * converts value into a string with a maxlen of digits (usualy should be + * converts value into a string with a maxlen of digits (usually should be * >=4), last char may be one of the following: * 'K'ilo, 'M'ega, 'G'iga, 'T'erra, 'P'eta, 'E'xa, 'Z'etta, 'Y'otta, * 'X'ona, 'W'eka, 'V'unda, 'U'da (these last 4 are no official SI-prefixes) @@ -125,6 +128,7 @@ tin_ltoa( } +#if !defined(USE_DMALLOC) || (defined(USE_DMALLOC) && !defined(HAVE_STRDUP)) /* * Handrolled version of strdup(), presumably to take advantage of * the enhanced error detection in my_malloc @@ -138,15 +142,15 @@ my_strdup( size_t len = strlen(str) + 1; void *ptr = my_malloc(len); -#if 0 /* as my_malloc exits on error, ptr can't be NULL */ +# if 0 /* as my_malloc exits on error, ptr can't be NULL */ if (ptr == NULL) return NULL; -#endif /* 0 */ +# endif /* 0 */ memcpy(ptr, str, len); return (char *) ptr; } - +#endif /* !USE_DMALLOC || (USE_DMALLOC && !HAVE_STRDUP) */ /* * strtok that understands empty tokens @@ -422,7 +426,7 @@ OUT: return (sign * (-val)); } -# undef DIGIT(x) +# undef DIGIT # undef MBASE #endif /* !HAVE_STRTOL */ @@ -556,6 +560,67 @@ eat_tab( } +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) +wchar_t * +wexpand_tab( + wchar_t *wstr, + size_t tab_width) +{ + size_t cur_len = LEN, i = 0, tw; + wchar_t *wbuf = my_malloc(cur_len * sizeof(wchar_t)); + wchar_t *wc = wstr; + + while (*wc) { + if (i > cur_len - (tab_width + 1)) { + cur_len <<= 1; + wbuf = my_realloc(wbuf, cur_len * sizeof(wchar_t)); + } + if (*wc == (wchar_t) '\t') { + tw = tab_width; + for (; tw > 0; --tw) + wbuf[i++] = (wchar_t) ' '; + } else + wbuf[i++] = *wc; + wc++; + } + wbuf[i] = '\0'; + + return wbuf; +} + + +#else /* !MULTIBYTE_ABLE || NO_LOCALE */ + + +char * +expand_tab( + char *str, + size_t tab_width) +{ + size_t cur_len = LEN, i = 0, tw; + char *buf = my_malloc(cur_len); + char *c = str; + + while (*c) { + if (i > cur_len - (tab_width + 1)) { + cur_len <<= 1; + buf = my_realloc(buf, cur_len); + } + if (*c == '\t') { + tw = tab_width; + for (; tw > 0; --tw) + buf[i++] = ' '; + } else + buf[i++] = *c; + c++; + } + buf[i] = '\0'; + + return buf; +} +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + + /* * Format a shell command, escaping blanks and other awkward characters that * appear in the string arguments. Replaces sprintf, except that we pass in @@ -670,6 +735,9 @@ sh_format( # ifdef HAVE_SYS_ERRLIST extern int sys_nerr; # endif /* HAVE_SYS_ERRLIST */ +# ifdef DECL_SYS_ERRLIST + extern char *sys_errlist[]; +# endif /* DECL_SYS_ERRLIST */ char * my_strerror( int n) @@ -756,6 +824,29 @@ wchar_t2char( /* + * Interface to wcspart for non wide character strings + */ +char * +spart( + const char *str, + int columns, + t_bool pad) +{ + char *buf = NULL; + wchar_t *wbuf, *wbuf2; + + if ((wbuf = char2wchar_t(str)) != NULL) { + wbuf2 = wcspart(wbuf, columns, pad); + free(wbuf); + buf = wchar_t2char(wbuf2); + FreeIfNeeded(wbuf2); + } + + return buf; +} + + +/* * returns a new string fitting into 'columns' columns * if pad is TRUE the resulting string will be filled with spaces if necessary */ @@ -770,7 +861,7 @@ wcspart( wbuf = my_wcsdup(wstr); /* make sure all characters in wbuf are printable */ - ptr = wconvert_to_printable(wbuf); + ptr = wconvert_to_printable(wbuf, FALSE); /* terminate wbuf after 'columns' columns */ while (*ptr && used + wcwidth(*ptr) <= columns) @@ -795,9 +886,141 @@ wcspart( return wbuf; } + + +/* + * wcs version of abbr_groupname() + */ +wchar_t * +abbr_wcsgroupname( + const wchar_t *grpname, + int len) +{ + wchar_t *src, *dest, *tail, *new_grpname; + int tmplen, newlen; + + dest = new_grpname = my_wcsdup(grpname); + + if (wcswidth(grpname, wcslen(grpname)) > len) { + if ((src = wcschr(grpname, (wchar_t) '.')) != NULL) { + tmplen = wcwidth(*dest++); + + do { + *dest++ = *src; + tmplen += wcwidth(*src++); + *dest++ = *src; + tmplen += wcwidth(*src++); + tail = src; + newlen = wcswidth(tail, wcslen(tail)) + tmplen; + } while ((src = wcschr(src, (wchar_t) '.')) != NULL && newlen > len); + + if (newlen > len) + *dest++ = (wchar_t) '.'; + else { + while (*tail) + *dest++ = *tail++; + } + + *dest = (wchar_t) '\0'; + new_grpname = my_realloc(new_grpname, sizeof(wchar_t) * (wcslen(new_grpname) + 1)); + + if (wcswidth(new_grpname, wcslen(new_grpname)) > len) { + dest = wstrunc(new_grpname, len); + free(new_grpname); + new_grpname = dest; + } + } else { + dest = wstrunc(new_grpname, len); + free(new_grpname); + new_grpname = dest; + } + } + + return new_grpname; +} + +#else /* !MULTIBYTE_ABLE || NO_LOCALE */ + +/* + * Abbreviate a groupname like this: + * foo.bar.baz + * f.bar.baz + * f.b.baz + * f.b.b. + * depending on the given length + */ +char * +abbr_groupname( + const char *grpname, + size_t len) +{ + char *src, *dest, *tail, *new_grpname; + size_t tmplen, newlen; + + dest = new_grpname = my_strdup(grpname); + + if (strlen(grpname) > len) { + if ((src = strchr(grpname, '.')) != NULL) { + dest++; + tmplen = 1; + + do { + *dest++ = *src++; + *dest++ = *src++; + tmplen += 2; + tail = src; + newlen = strlen(tail) + tmplen; + } while ((src = strchr(src, '.')) != NULL && newlen > len); + + if (newlen > len) + *dest++ = '.'; + else { + while (*tail) + *dest++ = *tail++; + } + + *dest = '\0'; + new_grpname = my_realloc(new_grpname, strlen(new_grpname) + 1); + + if (strlen(new_grpname) > len) { + dest = strunc(new_grpname, len); + free(new_grpname); + new_grpname = dest; + } + } else { + dest = strunc(new_grpname, len); + free(new_grpname); + new_grpname = dest; + } + } + + return new_grpname; +} #endif /* MULTIBYTE_ABLE && !NOLOCALE */ +/* + * Returns the number of screen positions a string occupies + */ +int +strwidth( + const char *str) +{ + int columns = (int) strlen(str); +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + int width; + wchar_t *wbuf; + + if ((wbuf = char2wchar_t(str)) != NULL) { + if ((width = wcswidth(wbuf, wcslen(wbuf) + 1)) > 0) + columns = width; + free(wbuf); + } +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + return columns; +} + + #define TRUNC_TAIL "..." /* * shortens 'mesg' that it occupies at most 'len' screen positions. @@ -839,13 +1062,6 @@ strunc( } -/* - * if you use UTF-8 as local charset and want to use - * U+2026 (HORIZONTAL_ELLIPSIS) instead of "..." uncomment - * the following define - */ -/* #define USE_UTF8_HORIZONTAL_ELLIPSIS 1 */ - #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) /* the wide-char equivalent of strunc() */ wchar_t * @@ -857,14 +1073,13 @@ wstrunc( /* make sure all characters are printable */ wtmp = my_wcsdup(wmessage); - wconvert_to_printable(wtmp); + wconvert_to_printable(wtmp, FALSE); if (wcswidth(wtmp, wcslen(wtmp)) > len) { /* wtmp must be truncated */ wchar_t *wtmp2, *tail; -# ifdef USE_UTF8_HORIZONTAL_ELLIPSIS - if (IS_LOCAL_CHARSET("UTF-8")) { + if (tinrc.utf8_graphics) { /* * use U+2026 (HORIZONTAL ELLIPSIS) instead of "..." * we gain two additional screen positions @@ -873,7 +1088,6 @@ wstrunc( tail[0] = 8230; /* U+2026 */ tail[1] = 0; /* \0 */ } else -# endif /* USE_UTF8_HORIZONTAL_ELLIPSIS */ tail = char2wchar_t(TRUNC_TAIL); wtmp2 = wcspart(wtmp, len - wcslen(tail), FALSE); @@ -890,7 +1104,7 @@ wstrunc( /* * duplicates a wide-char string */ -wchar_t * +static wchar_t * my_wcsdup( const wchar_t *wstr) { @@ -1008,11 +1222,11 @@ normalize( if ((ustr = char2UChar(tmp)) == NULL) /* something went wrong, return the original string (as valid UTF8) */ return tmp; - needed = unorm_normalize(ustr, -1, mode, 0 , NULL, 0, &status); + needed = unorm_normalize(ustr, -1, mode, 0, NULL, 0, &status); status = U_ZERO_ERROR; /* reset status */ norm_len = needed + 1; norm = my_malloc(sizeof(UChar) * norm_len); - needed = unorm_normalize(ustr, -1, mode, 0 , norm, norm_len, &status); + (void) unorm_normalize(ustr, -1, mode, 0, norm, norm_len, &status); if (U_FAILURE(status)) { /* something went wrong, return the original string (as valid UTF8) */ free(ustr); @@ -1023,6 +1237,8 @@ normalize( /* convert back to UTF-8 */ if ((buf = UChar2char(norm)) == NULL) /* something went wrong, return the original string (as valid UTF8) */ buf = tmp; + else + free(tmp); free(ustr); free(norm); @@ -1044,7 +1260,7 @@ normalize( /* - * returns a pointer to allocated buffer containing the formated string + * returns a pointer to allocated buffer containing the formatted string * must be freed if not needed anymore */ char * diff -Nurp --exclude='.bzr*' tin-1.8.3/src/tags.c tin-2.0.0/src/tags.c --- tin-1.8.3/src/tags.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/tags.c 2011-04-17 16:04:31.719265791 +0200 @@ -3,10 +3,10 @@ * Module : tags.c * Author : Jason Faultless * Created : 1999-12-06 - * Updated : 2005-05-10 + * Updated : 2010-04-02 * Notes : Split out from other modules * - * Copyright (c) 1999-2006 Jason Faultless + * Copyright (c) 1999-2011 Jason Faultless * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -136,7 +136,7 @@ get_multiparts( MultiPartInfo **malloc_and_setme_info) { MultiPartInfo tmp, tmp2; - MultiPartInfo *info = 0; + MultiPartInfo *info = NULL; int i; int part_index; @@ -207,7 +207,7 @@ int tag_multipart( int base_index) { - MultiPartInfo *info = 0; + MultiPartInfo *info = NULL; int i; const int qty = get_multiparts(base_index, &info); @@ -253,7 +253,7 @@ line_is_tagged( { int code = 0; - if (curr_group->attribute->thread_arts) { + if (curr_group->attribute->thread_articles) { int i; for (i = n; i >= 0; i = arts[i].thread) { if (arts[i].tagged > code) @@ -341,10 +341,10 @@ untag_all_articles( * Return TRUE if a range was successfully read, parsed and set * * Allowed syntax is 0123456789-.$ (blanks are ignored): - * 1-23 mark grp/art 1 thru 23 - * 1-. mark grp/art 1 thru current - * 1-$ mark grp/art 1 thru last - * .-$ mark grp/art current thru last + * 1-23 mark grp/art 1 through 23 + * 1-. mark grp/art 1 through current + * 1-$ mark grp/art 1 through last + * .-$ mark grp/art current through last */ t_bool set_range( @@ -374,12 +374,12 @@ set_range( range = tinrc.default_range_thread; break; - default: + default: /* should no happen */ return FALSE; } #if 0 - error_message("Min=[%d] Max=[%d] Cur=[%d] DefRng=[%s]", min, max, curr, range); + error_message(2, "Min=[%d] Max=[%d] Cur=[%d] DefRng=[%s]", min, max, curr, range); #endif /* 0 */ prompt = fmt_string(_(txt_enter_range), range); @@ -523,14 +523,17 @@ do_auto_select_arts( for_each_art(i) { if (arts[i].status == ART_UNREAD && !arts[i].selected) { -# ifdef DEBUG_NEWSRC - debug_print_comment("group.c: X command"); -# endif /* DEBUG_NEWSRC */ +# ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("group.c: X command"); +# endif /* DEBUG */ art_mark(curr_group, &arts[i], ART_READ); arts[i].zombie = TRUE; } + if (curr_group->attribute->show_only_unread_arts) + arts[i].keep_in_base = FALSE; } - if (curr_group->attribute->show_only_unread) + if (curr_group->attribute->show_only_unread_arts) find_base(curr_group); grpmenu.curr = 0; @@ -547,14 +550,15 @@ undo_auto_select_arts( for_each_art(i) { if (arts[i].status == ART_READ && arts[i].zombie) { -# ifdef DEBUG_NEWSRC - debug_print_comment("group.c: + command"); -# endif /* DEBUG_NEWSRC */ +# ifdef DEBUG + if (debug & DEBUG_NEWSRC) + debug_print_comment("group.c: + command"); +# endif /* DEBUG */ art_mark(curr_group, &arts[i], ART_UNREAD); arts[i].zombie = FALSE; } } - if (curr_group->attribute->show_only_unread) + if (curr_group->attribute->show_only_unread_arts) find_base(curr_group); grpmenu.curr = 0; /* do we want this? */ @@ -591,45 +595,3 @@ arts_selected( return FALSE; } - - -/* - * Mark all tagged articles as read. - * Return number of articles that have been marked. - */ -int -mark_tagged_read( - struct t_group *group) -{ - int i, cnt = 0; - - for_each_art(i) { - if (arts[i].tagged && (arts[i].status == ART_UNREAD || arts[i].status == ART_WILL_RETURN)) { - art_mark(group, &arts[i], ART_READ); - cnt++; - } - } - untag_all_articles(); - - return cnt; -} - - -/* - * Check if there is at least one tagged _and_ unread article. - */ -t_bool -got_tagged_unread_arts( - void) -{ - int i; - - if (num_of_tagged_arts > 0) { - for_each_art(i) { - if (arts[i].tagged && (arts[i].status == ART_UNREAD || arts[i].status == ART_WILL_RETURN)) - return TRUE; - } - } - - return FALSE; -} diff -Nurp --exclude='.bzr*' tin-1.8.3/src/tcurses.c tin-2.0.0/src/tcurses.c --- tin-1.8.3/src/tcurses.c 2007-01-25 20:28:18.000000000 +0100 +++ tin-2.0.0/src/tcurses.c 2011-04-17 17:41:30.205324227 +0200 @@ -3,11 +3,11 @@ * Module : tcurses.c * Author : Thomas Dickey * Created : 1997-03-02 - * Updated : 2007-01-25 + * Updated : 2011-04-17 * Notes : This is a set of wrapper functions adapting the termcap * interface of tin to use SVr4 curses (e.g., ncurses). * - * Copyright (c) 1997-2006 Thomas Dickey + * Copyright (c) 1997-2011 Thomas Dickey * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -139,11 +139,12 @@ InitScreen( bcol(default_bcol = -1); } # endif /* HAVE_USE_DEFAULT_COLORS */ + postinit_colors(MAX(COLORS, MAX_COLOR + 1)); /* postinit_colors(COLORS) would be correct */ } else { use_color = FALSE; + postinit_colors(MAX_COLOR + 1); } - postinit_colors(); # endif /* HAVE_COLOR */ set_xclick_on(); return TRUE; @@ -396,8 +397,8 @@ highlight_string( tmp[size] = '\0'; StartInverse(); my_fputs(tmp, stdout); - my_flush(); EndInverse(); + my_flush(); stow_cursor(); } @@ -512,7 +513,9 @@ ReadCh( if (cmd_line) ch = cmdReadCh(); else { +# if defined(KEY_RESIZE) && defined(USE_CURSES) again: +# endif /* KEY_RESIZE && USE_CURSES */ allow_resize(TRUE); # if defined(KEY_RESIZE) && defined(USE_CURSES) if ((ch = getch()) == KEY_RESIZE) @@ -826,6 +829,10 @@ my_retouch( TRACE(("my_retouch")); if (!cmd_line) { wrefresh(curscr); +# ifdef HAVE_COLOR + fcol(tinrc.col_normal); + bcol(tinrc.col_back); +# endif /* HAVE_COLOR */ } } @@ -894,72 +901,77 @@ get_arrow_key( # ifdef NCURSES_MOUSE_VERSION MEVENT my_event; # endif /* NCURSES_MOUSE_VERSION */ - int ch = getch(); + int ch; int code = KEYMAP_UNKNOWN; - switch (ch) { - case KEY_DC: - code = KEYMAP_DEL; - break; - - case KEY_IC: - code = KEYMAP_INS; - break; - - case KEY_UP: - code = KEYMAP_UP; - break; - - case KEY_DOWN: - code = KEYMAP_DOWN; - break; - - case KEY_LEFT: - code = KEYMAP_LEFT; - break; - - case KEY_RIGHT: - code = KEYMAP_RIGHT; - break; - - case KEY_NPAGE: - code = KEYMAP_PAGE_DOWN; - break; - - case KEY_PPAGE: - code = KEYMAP_PAGE_UP; - break; - - case KEY_HOME: - code = KEYMAP_HOME; - break; - - case KEY_END: - code = KEYMAP_END; - break; + if (cmd_line) + code = cmd_get_arrow_key(prech); + else { + ch = getch(); + switch (ch) { + case KEY_DC: + code = KEYMAP_DEL; + break; + + case KEY_IC: + code = KEYMAP_INS; + break; + + case KEY_UP: + code = KEYMAP_UP; + break; + + case KEY_DOWN: + code = KEYMAP_DOWN; + break; + + case KEY_LEFT: + code = KEYMAP_LEFT; + break; + + case KEY_RIGHT: + code = KEYMAP_RIGHT; + break; + + case KEY_NPAGE: + code = KEYMAP_PAGE_DOWN; + break; + + case KEY_PPAGE: + code = KEYMAP_PAGE_UP; + break; + + case KEY_HOME: + code = KEYMAP_HOME; + break; + + case KEY_END: + code = KEYMAP_END; + break; # ifdef NCURSES_MOUSE_VERSION - case KEY_MOUSE: - if (getmouse(&my_event) != ERR) { - switch ((int) my_event.bstate) { - case BUTTON1_CLICKED: - xmouse = MOUSE_BUTTON_1; - break; - - case BUTTON2_CLICKED: - xmouse = MOUSE_BUTTON_2; - break; - - case BUTTON3_CLICKED: - xmouse = MOUSE_BUTTON_3; - break; + case KEY_MOUSE: + if (getmouse(&my_event) != ERR) { + switch ((int) my_event.bstate) { + case BUTTON1_CLICKED: + xmouse = MOUSE_BUTTON_1; + break; + + case BUTTON2_CLICKED: + xmouse = MOUSE_BUTTON_2; + break; + + case BUTTON3_CLICKED: + xmouse = MOUSE_BUTTON_3; + break; + } + xcol = my_event.x; /* column */ + xrow = my_event.y; /* row */ + code = KEYMAP_MOUSE; } - xcol = my_event.x; /* column */ - xrow = my_event.y; /* row */ - code = KEYMAP_MOUSE; - } - break; + break; # endif /* NCURSES_MOUSE_VERSION */ + } } return code; } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/thread.c tin-2.0.0/src/thread.c --- tin-1.8.3/src/thread.c 2006-07-20 17:09:14.000000000 +0200 +++ tin-2.0.0/src/thread.c 2011-04-17 16:04:30.975152553 +0200 @@ -3,10 +3,10 @@ * Module : thread.c * Author : I. Lea * Created : 1991-04-01 - * Updated : 2006-07-20 + * Updated : 2011-01-29 * Notes : * - * Copyright (c) 1991-2006 Iain Lea + * Copyright (c) 1991-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -54,8 +54,7 @@ t_bool show_subject; */ static char get_art_mark(struct t_article *art); static int enter_pager(int art, t_bool ignore_unavail, int level); -static int mark_art_read(struct t_group *group); -static int thread_catchup(t_function func); +static int thread_catchup(t_function func, struct t_group *group); static int thread_tab_pressed(void); static t_bool find_unexpired(struct t_msgid *ptr); static t_bool has_sibling(struct t_msgid *ptr); @@ -89,7 +88,7 @@ get_art_mark( if (art->inrange) { return tinrc.art_marked_inrange; } else if (art->status == ART_UNREAD) { - return (art->selected ? tinrc.art_marked_selected : (tinrc.recent_time && ((time((time_t) 0) - art->date) < (tinrc.recent_time * DAY))) ? tinrc.art_marked_recent : tinrc.art_marked_unread); + return (art->selected ? tinrc.art_marked_selected : (tinrc.recent_time && ((time((time_t *) 0) - art->date) < (tinrc.recent_time * DAY))) ? tinrc.art_marked_recent : tinrc.art_marked_unread); } else if (art->status == ART_WILL_RETURN) { return tinrc.art_marked_return; } else if (art->killed && tinrc.kill_level != KILL_NOTHREAD) { @@ -147,7 +146,7 @@ build_tline( * Start with 2 spaces for -> * then index number of the message and whitespace (2+4+1 chars) */ -#if 0 /* usefull? see also group.c:build_sline() */ +#if 0 /* useful? see also group.c:build_sline() */ if (!tinrc.draw_arrow) sprintf(buffer, "%s ", tin_ltoa(l + 1, 6)); else @@ -233,7 +232,7 @@ build_tline( /* * Copy in the subject up to where the author (if any) starts */ - gap = cCOLS - strlen(buffer) - len_from; /* gap = gap (no. of chars) between tree and author/border of window */ + gap = cCOLS - strwidth(buffer) - len_from; /* gap = gap (no. of chars) between tree and author/border of window */ if (len_from) /* Leave gap before author */ gap -= 2; @@ -247,6 +246,7 @@ build_tline( for (ptr = art->refptr->parent; ptr && IS_EXPIRED(ptr); ptr = ptr->parent) ; + if (!(ptr && arts[ptr->article].subject == art->subject)) { #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) if ((wtmp = char2wchar_t(art->subject)) != NULL) { @@ -269,14 +269,7 @@ build_tline( * If we need to show the author, pad out to the start of the author field, */ if (len_from) { -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wtmp = char2wchar_t(buffer)) != NULL) { - fill = cCOLS - len_from - wcswidth(wtmp, wcslen(wtmp) + 1); - free(wtmp); - } else -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - fill = cCOLS - len_from - strlen(buffer); - + fill = cCOLS - len_from - strwidth(buffer); gap = strlen(buffer); for (i = 0; i < fill; i++) buffer[gap + i] = ' '; @@ -319,20 +312,11 @@ build_tline( } /* protect display from non-displayable characters (e.g., form-feed) */ - convert_to_printable(buffer); + convert_to_printable(buffer, FALSE); if (!tinrc.strip_blanks) { - /* - * Pad to end of line so that inverse bar looks 'good' - */ -#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) - if ((wtmp = char2wchar_t(buffer)) != NULL) { - fill = cCOLS - wcswidth(wtmp, wcslen(wtmp) + 1); - free(wtmp); - } else -#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ - fill = cCOLS - strlen(buffer); - + /* Pad to end of line so that inverse bar looks 'good' */ + fill = cCOLS - strwidth(buffer); gap = strlen(buffer); for (i = 0; i < fill; i++) buffer[gap + i] = ' '; @@ -364,7 +348,7 @@ static t_function thread_left( void) { - if (tinrc.thread_catchup_on_exit) + if (curr_group->attribute->thread_catchup_on_exit) return SPECIAL_CATCHUP_LEFT; /* ie, not via 'c' or 'C' */ else return GLOBAL_QUIT; @@ -403,6 +387,7 @@ thread_page( char key[MAXKEYLEN]; char mark[] = { '\0', '\0' }; int i, n; + long old_artnum = 0L; t_bool repeat_search; t_function func; @@ -426,8 +411,8 @@ thread_page( if (thread_depth) thdmenu.curr = thread_depth; else { - if (tinrc.pos_first_unread) { - if ((i = new_responses(thread_basenote))) { + if (group->attribute->pos_first_unread) { + if (new_responses(thread_basenote)) { for (n = 0, i = (int) base[thread_basenote]; i >= 0; i = arts[i].thread, n++) { if (arts[i].status == ART_UNREAD || arts[i].status == ART_WILL_RETURN) { if (arts[i].thread == ART_EXPIRED) @@ -508,49 +493,59 @@ thread_page( break; case GLOBAL_SET_RANGE: /* set range */ - if (set_range(THREAD_LEVEL, 1, thdmenu.max, thdmenu.curr + 1)) + if (set_range(THREAD_LEVEL, 1, thdmenu.max, thdmenu.curr + 1)) { + range_active = TRUE; show_thread_page(); + } break; case GLOBAL_PIPE: /* pipe article(s) to command */ if (thread_basenote >= 0) - feed_articles(FEED_PIPE, THREAD_LEVEL, group, find_response(thread_basenote, thdmenu.curr)); + feed_articles(FEED_PIPE, THREAD_LEVEL, NOT_ASSIGNED, group, find_response(thread_basenote, thdmenu.curr)); break; #ifndef DISABLE_PRINTING case GLOBAL_PRINT: /* print article(s) */ if (thread_basenote >= 0) - feed_articles(FEED_PRINT, THREAD_LEVEL, group, find_response(thread_basenote, thdmenu.curr)); + feed_articles(FEED_PRINT, THREAD_LEVEL, NOT_ASSIGNED, group, find_response(thread_basenote, thdmenu.curr)); break; #endif /* !DISABLE_PRINTING */ case THREAD_MAIL: /* mail article(s) to somebody */ if (thread_basenote >= 0) - feed_articles(FEED_MAIL, THREAD_LEVEL, group, find_response(thread_basenote, thdmenu.curr)); + feed_articles(FEED_MAIL, THREAD_LEVEL, NOT_ASSIGNED, group, find_response(thread_basenote, thdmenu.curr)); break; case THREAD_SAVE: /* save articles with prompting */ if (thread_basenote >= 0) - feed_articles(FEED_SAVE, THREAD_LEVEL, group, find_response(thread_basenote, thdmenu.curr)); + feed_articles(FEED_SAVE, THREAD_LEVEL, NOT_ASSIGNED, group, find_response(thread_basenote, thdmenu.curr)); break; case THREAD_AUTOSAVE: /* Auto-save articles without prompting */ if (thread_basenote >= 0) - feed_articles(FEED_AUTOSAVE, THREAD_LEVEL, group, (int) base[grpmenu.curr]); + feed_articles(FEED_AUTOSAVE, THREAD_LEVEL, NOT_ASSIGNED, group, (int) base[grpmenu.curr]); + break; + + case MARK_FEED_READ: /* mark selected articles as read */ + if (thread_basenote >= 0) + ret_code = feed_articles(FEED_MARK_READ, THREAD_LEVEL, NOT_ASSIGNED, group, find_response(thread_basenote, thdmenu.curr)); + break; + + case MARK_FEED_UNREAD: /* mark selected articles as unread */ + if (thread_basenote >= 0) + feed_articles(FEED_MARK_UNREAD, THREAD_LEVEL, NOT_ASSIGNED, group, find_response(thread_basenote, thdmenu.curr)); break; case GLOBAL_MENU_FILTER_SELECT: case GLOBAL_MENU_FILTER_KILL: - /* - * FIXME: a filter which kills all remaining messages in a thread - * is 'troublesome' - */ n = find_response(thread_basenote, thdmenu.curr); - filter_menu(func, group, &arts[n]); - if (filter_articles(group)) { + if (filter_menu(func, group, &arts[n])) { + old_artnum = arts[n].artnum; + unfilter_articles(group); + filter_articles(group); make_threads(group, FALSE); - if ((n = next_unread(n)) == -1) { - ret_code = GRP_EXIT; + if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) { /* We have lost the thread */ + ret_code = GRP_KILLED; break; } fixup_thread(n, TRUE); @@ -559,14 +554,14 @@ thread_page( break; case GLOBAL_EDIT_FILTER: - if (!invoke_editor(filter_file, FILTER_FILE_OFFSET)) - break; - unfilter_articles(); - (void) read_filter_file(filter_file); - if (filter_articles(group)) { + if (invoke_editor(filter_file, filter_file_offset, NULL)) { + old_artnum = arts[find_response(thread_basenote, thdmenu.curr)].artnum; + unfilter_articles(group); + (void) read_filter_file(filter_file); + filter_articles(group); make_threads(group, FALSE); - if ((n = next_unread(n)) == -1) { - ret_code = GRP_EXIT; + if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) { /* We have lost the thread */ + ret_code = GRP_KILLED; break; } fixup_thread(n, TRUE); @@ -582,6 +577,21 @@ thread_page( ret_code = thread_tab_pressed(); break; + case THREAD_CANCEL: /* cancel current article */ + if (can_post || group->attribute->mailing_list != NULL) { + char *progress_msg = my_strdup(_(txt_reading_article)); + int ret; + + n = find_response(thread_basenote, thdmenu.curr); + ret = art_open(TRUE, &arts[n], group, &pgart, TRUE, progress_msg); + free(progress_msg); + if (ret != ART_UNAVAILABLE && ret != ART_ABORT && cancel_article(group, &arts[n], n)) + show_thread_page(); + art_close(&pgart); + } else + info_message(_(txt_cannot_post)); + break; + case GLOBAL_POST: /* post a basenote */ if (post_article(group->name)) show_thread_page(); @@ -620,11 +630,19 @@ thread_page( case SPECIAL_CATCHUP_LEFT: /* come here when exiting thread via <- */ case CATCHUP: /* catchup thread, move to next one */ case CATCHUP_NEXT_UNREAD: /* -> next with unread arts */ - ret_code = thread_catchup(func); + ret_code = thread_catchup(func, group); break; - case THREAD_MARK_ARTICLE_READ: /* mark article as read */ - ret_code = mark_art_read(group); + case THREAD_MARK_ARTICLE_READ: /* mark current article/range/tagged articles as read */ + case MARK_ARTICLE_UNREAD: /* or unread */ + if (thread_basenote >= 0) { + t_function function, type; + + function = func == THREAD_MARK_ARTICLE_READ ? (t_function) FEED_MARK_READ : (t_function) FEED_MARK_UNREAD; + type = range_active ? FEED_RANGE : (num_of_tagged_arts && !group->attribute->mark_ignore_tags) ? NOT_ASSIGNED : FEED_ARTICLE; + if (feed_articles(function, THREAD_LEVEL, type, group, find_response(thread_basenote, thdmenu.curr)) == 1) + ret_code = GRP_EXIT; + } break; case THREAD_TOGGLE_SUBJECT_DISPLAY: /* toggle display of subject & subj/author */ @@ -636,11 +654,13 @@ thread_page( break; case GLOBAL_OPTION_MENU: - change_config_file(group); n = find_response(thread_basenote, thdmenu.curr); - if (which_thread(n) == -1) /* We have lost the thread */ + old_artnum = arts[n].artnum; + config_page(group->name); + if ((n = find_artnum(old_artnum)) == -1 || which_thread(n) == -1) { /* We have lost the thread */ + pos_first_unread_thread(); ret_code = GRP_EXIT; - else { + } else { fixup_thread(n, FALSE); thdmenu.curr = which_response(n); show_thread_page(); @@ -657,6 +677,10 @@ thread_page( ret_code = enter_pager(n, FALSE, THREAD_LEVEL); break; + case GLOBAL_SEARCH_REPEAT: + info_message(_(txt_no_prev_search)); + break; + case GLOBAL_SEARCH_BODY: /* search article body */ if ((n = search_body(group, find_response(thread_basenote, thdmenu.curr), repeat_search)) != -1) { fixup_thread(n, FALSE); @@ -735,15 +759,6 @@ thread_page( info_message(cvers); break; - case MARK_ARTICLE_UNREAD: /* mark article as unread */ - n = find_response(thread_basenote, thdmenu.curr); - art_mark(group, &arts[n], ART_WILL_RETURN); - mark[0] = get_art_mark(&arts[n]); - mark_screen(thdmenu.curr, MARK_OFFSET, mark); - draw_thread_arrow(); - info_message(_(txt_marked_as_unread), _(txt_article_upper)); - break; - case MARK_THREAD_UNREAD: /* mark thread as unread */ thd_mark_unread(group, base[thread_basenote]); update_thread_page(); @@ -822,7 +837,7 @@ show_thread_page( /* * If threading by Refs, it helps to see the subject line */ - show_subject = ((arts[thread_respnum].archive != NULL) || (curr_group->attribute->thread_arts == THREAD_REFS) || (curr_group->attribute->thread_arts == THREAD_BOTH)); + show_subject = ((arts[thread_respnum].archive != NULL) || (curr_group->attribute->thread_articles == THREAD_REFS) || (curr_group->attribute->thread_articles == THREAD_BOTH)); if (show_subject) title = fmt_string(_(txt_stp_list_thread), grpmenu.curr + 1, grpmenu.max); @@ -955,7 +970,9 @@ which_thread( return j; } - error_message(_(txt_cannot_find_base_art), n); +#ifdef DEBUG + error_message(2, _(txt_cannot_find_base_art), n); +#endif /* DEBUG */ return -1; } @@ -1103,7 +1120,7 @@ stat_thread( if (arts[i].killed) ++sbuf->killed; - if ((curr_group->attribute->thread_arts == THREAD_MULTI) && global_get_multipart_info(i, &minfo) && (minfo.total >= 1)) { + if ((curr_group->attribute->thread_articles == THREAD_MULTI) && global_get_multipart_info(i, &minfo) && (minfo.total >= 1)) { sbuf->multipart_compare_len = minfo.subject_compare_len; sbuf->multipart_total = minfo.total; sbuf->multipart_have++; @@ -1119,7 +1136,7 @@ stat_thread( else if (sbuf->selected_unread) sbuf->art_mark = tinrc.art_marked_selected; else if (sbuf->unread) { - if (tinrc.recent_time && (time((time_t) 0) - sbuf->time) < (tinrc.recent_time * DAY)) + if (tinrc.recent_time && (time((time_t *) 0) - sbuf->time) < (tinrc.recent_time * DAY)) sbuf->art_mark = tinrc.art_marked_recent; else sbuf->art_mark = tinrc.art_marked_unread; @@ -1236,7 +1253,7 @@ next_unread( n = next_response(n); } - if (tinrc.wrap_on_next_unread) { + if (curr_group->attribute->wrap_on_next_unread) { n = base[0]; while (n != cur_base_art) { if (((arts[n].status == ART_UNREAD) || (arts[n].status == ART_WILL_RETURN)) && arts[n].thread != ART_EXPIRED) @@ -1302,7 +1319,12 @@ make_prefix( char *prefix, int maxlen) { +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + char *result; + wchar_t *buf, *buf2; +#else char *buf; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ int prefix_ptr; int depth = 0; int depth_level = 0; @@ -1331,23 +1353,39 @@ make_prefix( } } +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + buf = my_malloc(sizeof(wchar_t) * prefix_ptr + 3 * sizeof(wchar_t)); + buf[prefix_ptr + 2] = (wchar_t) '\0'; +#else buf = my_malloc(prefix_ptr + 3); - strcpy(&buf[prefix_ptr], "->"); - buf[--prefix_ptr] = (has_sibling(art) ? '+' : '`'); + buf[prefix_ptr + 2] = '\0'; +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ + buf[prefix_ptr + 1] = TREE_ARROW; + buf[prefix_ptr] = TREE_HORIZ; + buf[--prefix_ptr] = (has_sibling(art) ? TREE_VERT_RIGHT : TREE_UP_RIGHT); for (ptr = art->parent; prefix_ptr > 1; ptr = ptr->parent) { if (IS_EXPIRED(ptr)) continue; - buf[--prefix_ptr] = ' '; - buf[--prefix_ptr] = (has_sibling(ptr) ? '|' : ' '); + buf[--prefix_ptr] = TREE_BLANK; + buf[--prefix_ptr] = (has_sibling(ptr) ? TREE_VERT : TREE_BLANK); } while (depth_level) - buf[--depth_level] = '>'; + buf[--depth_level] = TREE_ARROW_WRAP; +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + buf2 = wcspart(buf, maxlen, FALSE); + result = wchar_t2char(buf2); + strcpy(prefix, result); + free(buf); + FreeIfNeeded(buf2); + FreeIfNeeded(result); +#else strncpy(prefix, buf, maxlen); prefix[maxlen] = '\0'; /* just in case strlen(buf) > maxlen */ free(buf); +#endif /* MULTIBYTE_ABLE && !NO_LOCALE */ return; } @@ -1361,7 +1399,8 @@ make_prefix( */ static int thread_catchup( - t_function func) + t_function func, + struct t_group *group) { char buf[LEN]; int i, n; @@ -1375,12 +1414,10 @@ thread_catchup( } if (i != -1) { /* still unread arts in this thread */ - /* - * TODO: if (group->attribute->thread_arts == THREAD_NONE) - * snprintf(buf, sizeof(buf), _("Mark article as read%s?"), (func == CATCHUP_NEXT_UNREAD) ? _(" and enter next unread article") : ""); - * else - */ - snprintf(buf, sizeof(buf), _(txt_mark_thread_read), (func == CATCHUP_NEXT_UNREAD) ? _(txt_enter_next_thread) : ""); + if (group->attribute->thread_articles == THREAD_NONE) + snprintf(buf, sizeof(buf), _(txt_mark_art_read), (func == CATCHUP_NEXT_UNREAD) ? _(txt_enter_next_unread_art) : ""); + else + snprintf(buf, sizeof(buf), _(txt_mark_thread_read), (func == CATCHUP_NEXT_UNREAD) ? _(txt_enter_next_thread) : ""); if ((!TINRC_CONFIRM_ACTION) || (pyn = prompt_yn(buf, TRUE)) == 1) thd_mark_read(curr_group, base[thread_basenote]); } @@ -1442,9 +1479,11 @@ again: switch ((i = show_page(curr_group, art, &thdmenu.curr))) { /* These exit to previous menu level */ case GRP_QUIT: /* 'Q' all the way out */ + case GRP_EXIT: /* back to group menu */ case GRP_RETSELECT: /* 'T' back to select menu */ case GRP_NEXT: /* 'c' Move to next thread on group menu */ case GRP_NEXTUNREAD: /* 'C' */ + case GRP_KILLED: /* article/thread was killed at page level */ break; case GRP_ARTABORT: /* user 'q'uit load of article */ @@ -1471,8 +1510,6 @@ again: return 0; default: /* >=0 normal exit, new basenote */ - if (filtered_articles) - return GRP_KILLED; /* ? set group cursor back to 0 and do nothing */ fixup_thread(this_resp, FALSE); if (currmenu != &grpmenu) /* group menu will redraw itself */ @@ -1516,65 +1553,45 @@ thread_tab_pressed( /* - * If there are any tagged and unread articles, prompt user to mark either - * all tagged arts as read, or only current article, or cancel operation. - * Otherwise, use current article. - * Finally move to next unread article. + * Redraw all necessary parts of the screen after FEED_MARK_(UN)READ + * Move cursor to next unread item if needed * - * Return GRP_EXIT if there are no more unread articles in this group, - * else return 0. + * Returns TRUE when no next unread art, FALSE otherwise */ -static int -mark_art_read( - struct t_group *group) +t_bool +thread_mark_postprocess( + int function, + t_function feed_type, + int respnum) { - char keytagged[MAXKEYLEN], keycurrent[MAXKEYLEN], keyquit[MAXKEYLEN]; - int n, cnt = 0; - int tmp_num_of_tagged_arts = num_of_tagged_arts; - t_function func = MARK_READ_CURRENT; - - if (!tinrc.mark_ignore_tags && got_tagged_unread_arts()) { - func = prompt_slk_response(MARK_READ_TAGGED, - mark_read_keys, - _(txt_mark_art_read_tagged_current), - printascii(keytagged, func_to_key(MARK_READ_TAGGED, mark_read_keys)), - printascii(keycurrent, func_to_key(MARK_READ_CURRENT, mark_read_keys)), - printascii(keyquit, func_to_key(GLOBAL_QUIT, mark_read_keys))); - } + char mark[] = { '\0', '\0' }; + int n; - switch (func) { - case MARK_READ_TAGGED: /* mark tagged unread articles as read */ - cnt = mark_tagged_read(group); - show_thread_page(); - n = find_response(thread_basenote, thdmenu.curr); - break; + switch (function) { + case (FEED_MARK_READ): + if (feed_type == FEED_ARTICLE) { + mark[0] = get_art_mark(&arts[respnum]); + mark_screen(thdmenu.curr, MARK_OFFSET, mark); + } else + show_thread_page(); - case MARK_READ_CURRENT: /* mark current article as read */ - n = find_response(thread_basenote, thdmenu.curr); - if ((arts[n].status == ART_UNREAD) || (arts[n].status == ART_WILL_RETURN)) { - char mark[] = { '\0', '\0' }; + if ((n = next_unread(respnum)) == -1) /* no more unread articles */ + return TRUE; + else + fixup_thread(n, TRUE); /* We may be in the next thread now */ + break; - art_mark(group, &arts[n], ART_READ); - mark[0] = get_art_mark(&arts[n]); + case (FEED_MARK_UNREAD): + if (feed_type == FEED_ARTICLE) { + mark[0] = get_art_mark(&arts[respnum]); mark_screen(thdmenu.curr, MARK_OFFSET, mark); - } + draw_thread_arrow(); + } else + show_thread_page(); break; - case GLOBAL_QUIT: /* cancel operation */ - case GLOBAL_ABORT: default: - return 0; - /* NOTREACHED */ break; } - - if ((n = next_unread(n)) == -1) /* no more unread articles */ - return GRP_EXIT; - else - fixup_thread(n, TRUE); /* We may be in the next thread now */ - - if (func == MARK_READ_TAGGED) - info_message(_(txt_marked_tagged_arts_as_read), cnt, tmp_num_of_tagged_arts, PLURAL(tmp_num_of_tagged_arts, txt_article)); - - return 0; + return FALSE; } diff -Nurp --exclude='.bzr*' tin-1.8.3/src/tincfg.tbl tin-2.0.0/src/tincfg.tbl --- tin-1.8.3/src/tincfg.tbl 2005-06-28 10:31:24.000000000 +0200 +++ tin-2.0.0/src/tincfg.tbl 2011-05-10 23:40:37.798783248 +0200 @@ -2,10 +2,10 @@ ; Module : tincfg.tbl ; Author : Thomas E. Dickey ; Created : 1996-11-01 -; Updated : 2005-06-20 +; Updated : 2011-04-16 ; Notes : #defines and structs for config.c ; -; Copyright (c) 1996-2005 Thomas E. Dickey +; Copyright (c) 1996-2011 Thomas E. Dickey ; All rights reserved. ; ; Redistribution and use in source and binary forms, with or without @@ -45,16 +45,17 @@ thread_articles txt_threading THREAD_MAX+1 thread_perc OPT_NUM sort_article_type txt_sort_a_type SORT_ARTICLES_BY_LINES_ASCEND+1 - sort_threads_type txt_sort_t_type SORT_THREADS_BY_SCORE_ASCEND+1 + sort_threads_type txt_sort_t_type SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND+1 pos_first_unread OPT_ON_OFF show_only_unread_arts OPT_ON_OFF show_only_unread_groups OPT_ON_OFF kill_level txt_kill_level_type KILL_NOTHREAD+1 - tab_goto_next_unread OPT_ON_OFF - space_goto_next_unread OPT_ON_OFF - pgdn_goto_next OPT_ON_OFF + goto_next_unread txt_goto_next_unread_options NUM_GOTO_NEXT_UNREAD auto_list_thread OPT_ON_OFF wrap_on_next_unread OPT_ON_OFF +#if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) + utf8_graphics OPT_ON_OFF +#endif art_marked_deleted OPT_CHAR art_marked_inrange OPT_CHAR art_marked_return OPT_CHAR @@ -65,6 +66,7 @@ art_marked_killed OPT_CHAR art_marked_read_selected OPT_CHAR groupname_max_length OPT_NUM + abbreviate_groupname OPT_ON_OFF show_info txt_show_info_type SHOW_INFO_BOTH+1 thread_score txt_thread_score_type THREAD_SCORE_WEIGHT+1 scroll_lines OPT_NUM @@ -73,6 +75,7 @@ news_headers_to_not_display OPT_STRING alternative_handling OPT_ON_OFF hide_uue txt_hide_uue_type UUE_ALL+1 + verbatim_handling OPT_ON_OFF tex2iso_conv OPT_ON_OFF metamail_prog OPT_STRING ask_for_metamail OPT_ON_OFF @@ -86,6 +89,29 @@ use_keypad OPT_ON_OFF #endif wrap_column OPT_NUM + trim_article_body txt_trim_article_body_options NUM_TRIM_ARTICLE_BODY + attrib_show_author txt_show_from SHOW_FROM_BOTH+1 + attrib_thread_articles txt_threading THREAD_MAX+1 + attrib_thread_perc OPT_NUM + attrib_sort_article_type txt_sort_a_type SORT_ARTICLES_BY_LINES_ASCEND+1 + attrib_sort_threads_type txt_sort_t_type SORT_THREADS_BY_LAST_POSTING_DATE_ASCEND+1 + attrib_pos_first_unread OPT_ON_OFF + attrib_show_only_unread_arts OPT_ON_OFF + attrib_auto_list_thread OPT_ON_OFF + attrib_auto_select OPT_ON_OFF + attrib_wrap_on_next_unread OPT_ON_OFF + attrib_show_info txt_show_info_type SHOW_INFO_BOTH+1 + attrib_show_signatures OPT_ON_OFF + attrib_news_headers_to_display OPT_STRING + attrib_news_headers_to_not_display OPT_STRING + attrib_alternative_handling OPT_ON_OFF + attrib_verbatim_handling OPT_ON_OFF + attrib_tex2iso_conv OPT_ON_OFF + attrib_ask_for_metamail OPT_ON_OFF + attrib_group_catchup_on_exit OPT_ON_OFF + attrib_thread_catchup_on_exit OPT_ON_OFF + attrib_mark_ignore_tags OPT_ON_OFF + attrib_trim_article_body txt_trim_article_body_options NUM_TRIM_ARTICLE_BODY ; getart_limit options getart_limit_options OPT_TITLE @@ -101,14 +127,23 @@ score_select OPT_NUM filter_days OPT_NUM add_posted_to_filter OPT_ON_OFF + attrib_add_posted_to_filter OPT_ON_OFF + attrib_quick_kill_scope OPT_STRING + attrib_quick_kill_header txt_quick_ks_header_options FILTER_LINES + attrib_quick_kill_case OPT_ON_OFF + attrib_quick_kill_expire OPT_ON_OFF + attrib_quick_select_scope OPT_STRING + attrib_quick_select_header txt_quick_ks_header_options FILTER_LINES + attrib_quick_select_case OPT_ON_OFF + attrib_quick_select_expire OPT_ON_OFF ; colour options #ifdef HAVE_COLOR color_options OPT_TITLE use_color OPT_ON_OFF col_normal txt_colors MAX_COLOR+1 - col_back txt_colors MAX_COLOR+1 - col_invers_bg txt_colors MAX_COLOR+1 + col_back txt_colors MAX_BACKCOLOR+1 + col_invers_bg txt_colors MAX_BACKCOLOR+1 col_invers_fg txt_colors MAX_COLOR+1 col_text txt_colors MAX_COLOR+1 col_minihelp txt_colors MAX_COLOR+1 @@ -125,6 +160,7 @@ col_title txt_colors MAX_COLOR+1 col_signature txt_colors MAX_COLOR+1 col_urls txt_colors MAX_COLOR+1 + col_verbatim txt_colors MAX_COLOR+1 #endif url_highlight OPT_ON_OFF word_highlight OPT_ON_OFF @@ -156,18 +192,42 @@ #if defined(HAVE_ICONV_OPEN_TRANSLIT) && defined(CHARSET_CONVERSION) translit OPT_ON_OFF #endif + attrib_from OPT_STRING + attrib_organization OPT_STRING + attrib_prompt_followupto OPT_ON_OFF + attrib_followup_to OPT_STRING + attrib_sigfile OPT_STRING + attrib_sigdashes OPT_ON_OFF + attrib_signature_repost OPT_ON_OFF + attrib_quote_chars OPT_STRING + attrib_news_quote_format OPT_STRING + attrib_advertising OPT_ON_OFF #ifndef CHARSET_CONVERSION mm_charset OPT_STRING -#endif -#ifdef CHARSET_CONVERSION +#else mm_network_charset txt_mime_charsets NUM_MIME_CHARSETS + attrib_mm_network_charset txt_mime_charsets NUM_MIME_CHARSETS + attrib_undeclared_charset OPT_STRING +#endif + attrib_post_mime_encoding txt_mime_encodings NUM_MIME_ENCODINGS + attrib_post_8bit_header OPT_ON_OFF + attrib_mail_mime_encoding txt_mime_encodings NUM_MIME_ENCODINGS + attrib_mail_8bit_header OPT_ON_OFF + attrib_mime_forward OPT_ON_OFF + attrib_mailing_list OPT_STRING + attrib_auto_cc_bcc txt_auto_cc_bcc_options AUTO_CC_BCC+1 + attrib_fcc OPT_STRING + attrib_x_body OPT_STRING + attrib_x_comment_to OPT_ON_OFF + attrib_x_headers OPT_STRING +#if defined(NO_LOCALE) && defined(CHARSET_CONVERSION) + mm_local_charset OPT_STRING #endif post_mime_encoding txt_mime_encodings NUM_MIME_ENCODINGS post_8bit_header OPT_ON_OFF mail_mime_encoding txt_mime_encodings NUM_MIME_ENCODINGS mail_8bit_header OPT_ON_OFF - auto_cc OPT_ON_OFF - auto_bcc OPT_ON_OFF + auto_cc_bcc txt_auto_cc_bcc_options AUTO_CC_BCC+1 spamtrap_warning_addresses OPT_STRING ; saving/printing options @@ -178,11 +238,23 @@ savedir OPT_STRING auto_save OPT_ON_OFF mark_saved_read OPT_ON_OFF - post_process txt_post_process_type POST_PROC_YES+1 + post_process_type txt_post_process_types POST_PROC_YES+1 post_process_view OPT_ON_OFF process_only_unread OPT_ON_OFF + attrib_maildir OPT_STRING + attrib_batch_save OPT_ON_OFF + attrib_savedir OPT_STRING + attrib_savefile OPT_STRING + attrib_auto_save OPT_ON_OFF + attrib_delete_tmp_files OPT_ON_OFF + attrib_mark_saved_read OPT_ON_OFF + attrib_post_process_type txt_post_process_types POST_PROC_YES+1 + attrib_post_process_view OPT_ON_OFF + attrib_process_only_unread OPT_ON_OFF + attrib_mime_types_to_save OPT_STRING #ifndef DISABLE_PRINTING print_header OPT_ON_OFF + attrib_print_header OPT_ON_OFF printer OPT_STRING #endif @@ -199,6 +271,8 @@ underscores_regex OPT_STRING strip_re_regex OPT_STRING strip_was_regex OPT_STRING + verbatim_begin_regex OPT_STRING + verbatim_end_regex OPT_STRING force_screen_redraw OPT_ON_OFF start_editor_offset OPT_ON_OFF editor_format OPT_STRING @@ -230,3 +304,9 @@ #if defined(HAVE_LIBICUUC) && defined(MULTIBYTE_ABLE) && defined(HAVE_UNICODE_UBIDI_H) && !defined(NO_LOCALE) render_bidi OPT_ON_OFF #endif + attrib_start_editor_offset OPT_ON_OFF + attrib_editor_format OPT_STRING +#ifdef HAVE_ISPELL + attrib_ispell OPT_STRING +#endif + attrib_date_format OPT_STRING diff -Nurp --exclude='.bzr*' tin-1.8.3/src/tmpfile.c tin-2.0.0/src/tmpfile.c --- tin-1.8.3/src/tmpfile.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/tmpfile.c 2011-04-17 16:04:31.751270659 +0200 @@ -1,4 +1,4 @@ -/*- +/* * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * diff -Nurp --exclude='.bzr*' tin-1.8.3/src/trace.c tin-2.0.0/src/trace.c --- tin-1.8.3/src/trace.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/trace.c 2011-04-17 16:04:31.807279185 +0200 @@ -6,7 +6,7 @@ * Updated : 2001-07-22 * Notes : debugging support via TRACE macro. * - * Copyright (c) 1997-2006 Thomas Dickey + * Copyright (c) 1997-2011 Thomas Dickey * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff -Nurp --exclude='.bzr*' tin-1.8.3/src/version.c tin-2.0.0/src/version.c --- tin-1.8.3/src/version.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/version.c 2011-04-17 16:04:31.835283445 +0200 @@ -3,10 +3,10 @@ * Module : version.c * Author : U. Janssen * Created : 2003-05-11 - * Updated : 2005-07-02 + * Updated : 2008-11-22 * Notes : * - * Copyright (c) 2003-2006 Urs Janssen + * Copyright (c) 2003-2011 Urs Janssen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,9 +38,6 @@ #ifndef TIN_H # include "tin.h" #endif /* !TIN_H */ -#ifndef VERSION_H -# include "version.h" -#endif /* !VERSION_H */ /* @@ -57,7 +54,7 @@ * Don't make the arguments to sscanf() consts, as some old systems require * them to writable (but do not change them) */ -int +enum rc_state check_upgrade( char *line, const char *skip, @@ -101,20 +98,20 @@ check_upgrade( void upgrade_prompt_quit( - int reason, + enum rc_state reason, const char *file) { switch (reason) { case RC_UPGRADE: - error_message(_(txt_warn_update), VERSION, file); + error_message(2, _(txt_warn_update), VERSION, file); break; case RC_DOWNGRADE: - error_message(_(txt_warn_downgrade), VERSION, file); + error_message(2, _(txt_warn_downgrade), VERSION, file); break; case RC_ERROR: /* can't parse internal version string, should not happen */ - error_message(txt_warn_unrecognized_version); + error_message(2, txt_warn_unrecognized_version); giveup(); /* NOTREACHED */ break; @@ -123,7 +120,7 @@ upgrade_prompt_quit( return; } - error_message(_(txt_return_key)); + error_message(2, _(txt_return_key)); /* * TODO: document, use something unbuffered here diff -Nurp --exclude='.bzr*' tin-1.8.3/src/xface.c tin-2.0.0/src/xface.c --- tin-1.8.3/src/xface.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/xface.c 2011-04-17 16:04:31.891291968 +0200 @@ -3,10 +3,10 @@ * Module : xface.c * Author : Joshua Crawford & Drazen Kacar * Created : 2003-04-27 - * Updated : 2004-07-27 + * Updated : 2009-08-14 * Notes : * - * Copyright (c) 2003-2006 Joshua Crawford & Drazen Kacar + * Copyright (c) 2003-2011 Joshua Crawford & Drazen Kacar * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,9 +36,7 @@ /* - * TODO: - add configure check option for use_slrnface - * (see comments include/autoconf.hin) - * - document the used vars/files/dir in the mapage + * TODO: - document the used vars/files/dir in the mapage * - move strings to lang.c */ @@ -57,24 +55,32 @@ slrnface_start( { char *fifo; char *ptr; - int pathlen, status; + int status; pid_t pid, pidst; + size_t pathlen; struct utsname u; - if (!tinrc.use_slrnface) + if (tinrc.use_slrnface == FALSE) return; #ifdef HAVE_IS_XTERM - if (!is_xterm()) - /* error_message(_("Can't run slrnface: Not running in a xterm.")); */ + if (!is_xterm()) { +# ifdef DEBUG + if (debug & DEBUG_MISC) + error_message(2, _("Can't run slrnface: Not running in a xterm.")); +# endif /* DEBUG */ return; + } #endif /* HAVE_IS_XTERM */ /* * $DISPLAY holds the (default) display name */ if (!getenv("DISPLAY")) { - /* error_message(_("Can't run slrnface: Environment variable %s not found."), "DISPLAY"); */ +# ifdef DEBUG + if (debug & DEBUG_MISC) + error_message(2, _("Can't run slrnface: Environment variable %s not found."), "DISPLAY"); +# endif /* DEBUG */ return; } @@ -82,19 +88,25 @@ slrnface_start( * $WINDOWID holds the X window id number of the xterm window */ if (!getenv("WINDOWID")) { - /* error_message(_("Can't run slrnface: Environment variable %s not found."), "WINDOWID"); */ +# ifdef DEBUG + if (debug & DEBUG_MISC) + error_message(2, _("Can't run slrnface: Environment variable %s not found."), "WINDOWID"); +# endif /* DEBUG */ return; } uname(&u); if (!(ptr = getenv("HOME"))) { /* TODO: use tin global 'homedir' instead? or even rcdir? */ - error_message(_("Can't run slrnface: Environment variable %s not found."), "HOME"); +# ifdef DEBUG + if (debug & DEBUG_MISC) + error_message(2, _("Can't run slrnface: Environment variable %s not found."), "HOME"); +# endif /* DEBUG */ return; } pathlen = strlen(ptr) + strlen("/.slrnfaces/") + strlen(u.nodename) + 30; fifo = my_malloc(pathlen); - sprintf(fifo, "%s/.slrnfaces", ptr); - if (mkdir(fifo, 0700)) { /* TODO: use my_mkdir() */ + snprintf(fifo, pathlen, "%s/.slrnfaces", ptr); + if (my_mkdir(fifo, (mode_t) S_IRWXU)) { if (errno != EEXIST) { perror_message(_("Can't run slrnface: failed to create %s"), fifo); free(fifo); @@ -103,8 +115,8 @@ slrnface_start( } else { FILE *fp; - /* We'll abuse fifo filename memory here. It's long enough. */ - sprintf(fifo, "%s/.slrnfaces/README", ptr); + /* We abuse fifo filename memory here. It is long enough. */ + snprintf(fifo, pathlen, "%s/.slrnfaces/README", ptr); if ((fp = fopen(fifo, "w")) != NULL) { fputs(_("This directory is used to create named pipes for communication between\n" "slrnface and its parent process. It should normally be empty because\n" @@ -118,9 +130,9 @@ slrnface_start( } } - snprintf(fifo, pathlen, "%s/.slrnfaces/%s.%ld", ptr, u.nodename, (long) getpid()); - if (!(status = strlen(fifo))) { - error_message(_("Can't run slrnface: couldn't construct fifo name.")); + status = snprintf(fifo, pathlen, "%s/.slrnfaces/%s.%ld", ptr, u.nodename, (long) getpid()); + if (status <= 0 || status >= pathlen) { + error_message(2, _("Can't run slrnface: couldn't construct fifo name.")); unlink(fifo); free(fifo); return; @@ -159,7 +171,7 @@ slrnface_start( pidst = waitpid(pid, &status, 0); } while (pidst == -1 && errno == EINTR); if (!WIFEXITED(status)) - error_message(_("Slrnface abnormally exited, code %d."), status); + error_message(2, _("Slrnface abnormally exited, code %d."), status); else { const char *message; @@ -203,7 +215,7 @@ slrnface_start( message = "unknown error"; } if (message) - error_message(_("Slrnface failed: %s."), message); + error_message(2, _("Slrnface failed: %s."), message); } } unlink(fifo); @@ -274,7 +286,7 @@ slrnface_show_xface( } #else -static void no_xface(void); /* proto-type */ +static void no_xface(void); /* proto-type */ static void no_xface( /* ANSI C requires non-empty source file */ void) diff -Nurp --exclude='.bzr*' tin-1.8.3/src/xref.c tin-2.0.0/src/xref.c --- tin-1.8.3/src/xref.c 2005-12-02 12:07:37.000000000 +0100 +++ tin-2.0.0/src/xref.c 2011-04-17 16:04:31.915295622 +0200 @@ -3,10 +3,10 @@ * Module : xref.c * Author : I. Lea & H. Brugge * Created : 1993-07-01 - * Updated : 2005-05-04 + * Updated : 2009-04-09 * Notes : * - * Copyright (c) 1993-2006 Iain Lea + * Copyright (c) 1993-2011 Iain Lea * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -45,11 +45,10 @@ /* * local prototypes */ -#if defined(NNTP_ABLE) && defined(XHDR_XREF) - static void read_xref_header(struct t_article *art); -#endif /* NNTP_ABLE && XHDR_XREF */ static FILE *open_overview_fmt_fp(void); +struct t_overview_fmt *ofmt; +t_bool expensive_over_parse = FALSE; /* * Open the NEWSLIBDIR/overview.fmt file locally or send LIST OVERVIEW.FMT @@ -58,27 +57,22 @@ static FILE * open_overview_fmt_fp( void) { - char line[NNTP_STRLEN]; - #ifdef NNTP_ABLE if (read_news_via_nntp && !read_saved_news) { - if (!nntp_caps.over_cmd) + if (!*nntp_caps.over_cmd) return (FILE *) 0; - - snprintf(line, sizeof(line), "LIST %s", OVERVIEW_FMT); - return (nntp_command(line, OK_GROUPS, NULL, 0)); - } else { -#endif /* NNTP_ABLE */ - joinpath(line, libdir, OVERVIEW_FMT); - return (fopen(line, "r")); -#ifdef NNTP_ABLE - } + if ((nntp_caps.type == CAPABILITIES && nntp_caps.list_overview_fmt) || nntp_caps.type != CAPABILITIES) + return (nntp_command("LIST OVERVIEW.FMT", OK_GROUPS, NULL, 0)); + else + return (FILE *) 0; + } else #endif /* NNTP_ABLE */ + return (fopen(overviewfmt_file, "r")); } /* - * Read NEWSLIBDIR/overview.fmt file to check if Xref:full is enabled/disabled + * Read overview.fmt file to check if Xref:full is enabled/disabled */ t_bool overview_xref_support( @@ -86,73 +80,237 @@ overview_xref_support( { FILE *fp; char *ptr; + char *p, *q; t_bool supported = FALSE; + size_t res_fields = 9; /* initial number of overview fields */ + size_t fields = 0; + size_t i; + + ofmt[0].type = OVER_T_INT; + ofmt[0].name = my_strdup("Artnum:"); if ((fp = open_overview_fmt_fp()) != NULL) { while ((ptr = tin_fgets(fp, FALSE)) != NULL) { + if (*ptr == '#' || *ptr == '\n') /* skip comments and empty lines */ + continue; + #if defined(DEBUG) && defined(NNTP_ABLE) - debug_nntp("<<<", ptr); + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "<<< %s", ptr); #endif /* DEBUG && NNTP_ABLE */ - if (!supported && STRNCASECMPEQ(ptr, "Xref:full", 9)) - supported = TRUE; - } - TIN_FCLOSE(fp); - /* - * If user aborted with 'q', then we continue regardless. If Xref was - * found, then fair enough. If not, tough. No real harm done - */ - } - if (!supported) - wait_message(2, _(txt_warn_xref_not_supported)); + fields++; - return supported; -} + /* expand overview fmt array */ + if (fields >= res_fields) { + res_fields <<= 1; + ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * res_fields); + } + if ((p = strchr(ptr, ':'))) { + if (p == ptr) { /* metadata items start with : */ + /* currently there is only :lines ands :bytes reserved */ + if (!strcasecmp(ptr, ":lines")) { + ofmt[fields].type = OVER_T_INT; + ofmt[fields].name = my_strdup("Lines:"); + if (fields != 7) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 7); +#endif /* DEBUG */ + } + continue; + } -/* - * read xref reference for current article - * This enables crosspost marking even if the xref records are not - * part of the xover record. - */ -#if defined(NNTP_ABLE) && defined(XHDR_XREF) -static void -read_xref_header( - struct t_article *art) -{ - FILE *fp; - char *ptr, *q; - char buf[HEADER_LEN]; - long artnum; + if (!strcasecmp(ptr, ":bytes")) { + ofmt[fields].type = OVER_T_INT; + ofmt[fields].name = my_strdup("Bytes:"); + if (fields != 6) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 6); +#endif /* DEBUG */ + } + continue; + } + /* unknown metadata item */ + } - snprintf(buf, sizeof(buf), "XHDR XREF %ld", art->artnum); - if ((fp = nntp_command(buf, OK_HEAD, NULL, 0)) == NULL) - return; + /* non metadata items end with : or :full */ + /* optional items require :full */ + if (!strcasecmp(p, ":full")) { + ofmt[fields].type = OVER_T_FSTRING; + q = strchr(p, ':'); + *(++q) = '\0'; + ofmt[fields].name = my_strdup(ptr); + if (fields < 7) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected > %d", ptr, fields, 7); +#endif /* DEBUG */ + } + continue; + } - while ((ptr = tin_fgets(fp, FALSE)) != NULL) { - while (*ptr && isspace((int) *ptr)) - ptr++; - if (*ptr == '.') - break; - /* - * read the article number - */ - artnum = atol(ptr); - if ((artnum == art->artnum) && !art->xref && !strstr(ptr, "(none)")) { - if ((q = strchr(ptr, ' ')) == NULL) /* skip article number */ - continue; - ptr = q; - while (*ptr && isspace((int) *ptr)) - ptr++; - q = strchr(ptr, '\n'); - if (q) - *q = '\0'; - art->xref = my_strdup(ptr); + /* madatory items */ + if (!strcasecmp(ptr, "Subject:")) { + ofmt[fields].type = OVER_T_STRING; + ofmt[fields].name = my_strdup(ptr); + if (fields != 1) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 1); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ptr, "From:")) { + ofmt[fields].type = OVER_T_STRING; + ofmt[fields].name = my_strdup(ptr); + if (fields != 2) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 2); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ptr, "Date:")) { + ofmt[fields].type = OVER_T_STRING; + ofmt[fields].name = my_strdup(ptr); + if (fields != 3) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 3); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ptr, "Message-ID:")) { + ofmt[fields].type = OVER_T_STRING; + ofmt[fields].name = my_strdup(ptr); + if (fields != 4) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 4); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ptr, "References:")) { + ofmt[fields].type = OVER_T_STRING; + ofmt[fields].name = my_strdup(ptr); + if (fields != 5) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 5); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ptr, "Bytes:")) { + ofmt[fields].type = OVER_T_INT; + ofmt[fields].name = my_strdup(ptr); + if (fields != 6) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 6); +#endif /* DEBUG */ + } + continue; + } + + if (!strcasecmp(ptr, "Lines:")) { + ofmt[fields].type = OVER_T_INT; + ofmt[fields].name = my_strdup(ptr); + if (fields != 7) { + expensive_over_parse = TRUE; +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: %s at position %d expected %d", ptr, fields, 7); +#endif /* DEBUG */ + } + continue; + } + } + /* bogus entry */ + ofmt[fields].type = OVER_T_ERROR; + ofmt[fields].name = my_strdup(ptr); + } + TIN_FCLOSE(fp); + } + + fields++; + /* resize */ + ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (fields + 1)); + + /* end marker */ + ofmt[fields].type = OVER_T_ERROR; + ofmt[fields].name = NULL; + + if (fields < 2) { +#ifdef DEBUG + if (debug & DEBUG_NNTP) + debug_print_file("NNTP", "OVERVIEW.FTM: Empty response - using safe defaults"); +#endif /* DEBUG */ + ofmt = my_realloc(ofmt, sizeof(struct t_overview_fmt) * (8 + 1)); + ofmt[1].type = OVER_T_STRING; + ofmt[1].name = my_strdup("Subject:"); + ofmt[2].type = OVER_T_STRING; + ofmt[2].name = my_strdup("From:"); + ofmt[3].type = OVER_T_STRING; + ofmt[3].name = my_strdup("Date:"); + ofmt[4].type = OVER_T_STRING; + ofmt[4].name = my_strdup("Message-ID:"); + ofmt[5].type = OVER_T_STRING; + ofmt[5].name = my_strdup("References:"); + ofmt[6].type = OVER_T_INT; + ofmt[6].name = my_strdup("Bytes:"); + ofmt[7].type = OVER_T_INT; + ofmt[7].name = my_strdup("Lines:"); + ofmt[8].type = OVER_T_ERROR; + ofmt[8].name = NULL; + fields = 8; + } + + for (i = 0; i <= fields; i++) { + if (ofmt[i].type == OVER_T_FSTRING) { + if (!strcasecmp(ofmt[i].name, "Xref:")) + supported = TRUE; } } - return; + + /* + * If user aborted with 'q', then we continue regardless. If Xref was + * found, then fair enough. If not, tough. No real harm done + */ + /* + * TODO: warning message is not correct + * - in the NNTP_ABLE but !read_news_via_nntp case when + * OVERVIEW.FMT-file wasn't found or didn't mention Xref: + * - if the used command is OVER instead of XOVER + * - if the used command is HDR XREF instead of XHDR XREF + * - if server doesn't mention XREF in LIST HEADERS + */ + if (read_news_via_nntp && !supported) + wait_message(2, _(txt_warn_xref_not_supported)); + + return supported; } -#endif /* NNTP_ABLE && XHDR_XREF */ /* @@ -172,12 +330,6 @@ art_mark_xref_read( char *debug_mesg; #endif /* DEBUG */ -#if defined(NNTP_ABLE) && defined(XHDR_XREF) - /* xref_supported => xref info was already read in xover record */ - if (!xref_supported && read_news_via_nntp && art && !art->xref) - read_xref_header(art); -#endif /* NNTP_ABLE && XHDR_XREF */ - if (art->xref == NULL) return; @@ -213,19 +365,17 @@ art_mark_xref_read( c = *ptr; *ptr = '\0'; - group = group_find(groupname); + group = group_find(groupname, FALSE); #ifdef DEBUG - if (debug == 3) { + if (debug & DEBUG_NEWSRC) { debug_mesg = fmt_string("LOOKUP Xref: [%s:%ld] active=[%s] num_unread=[%ld]", groupname, artnum, (group ? group->name : ""), (group ? group->newsrc.num_unread : 0)); -# ifdef DEBUG_NEWSRC debug_print_comment(debug_mesg); debug_print_bitmap(group, NULL); -# endif /* DEBUG_NEWSRC */ - error_message(debug_mesg); +/* error_message(2, debug_mesg); */ free(debug_mesg); } #endif /* DEBUG */ @@ -237,14 +387,12 @@ art_mark_xref_read( if (group->newsrc.num_unread > 0) group->newsrc.num_unread--; #ifdef DEBUG - if (debug == 3) { + if (debug & DEBUG_NEWSRC) { debug_mesg = fmt_string("FOUND!Xref: [%s:%ld] marked READ num_unread=[%ld]", groupname, artnum, group->newsrc.num_unread); -# ifdef DEBUG_NEWSRC - debug_print_comment(debug_mesg); - debug_print_bitmap(group, NULL); -# endif /* DEBUG_NEWSRC */ - wait_message(2, debug_mesg); + debug_print_comment(debug_mesg); + debug_print_bitmap(group, NULL); +/* error_message(2, debug_mesg); */ free(debug_mesg); } #endif /* DEBUG */ @@ -268,7 +416,9 @@ NSETRNG1( long i; if (bitmap == NULL) { - error_message("NSETRNG1() failed. Bitmap == NULL"); +#ifdef DEBUG + error_message(2, "NSETRNG1() failed. Bitmap == NULL"); +#endif /* DEBUG */ return; } @@ -300,7 +450,7 @@ NSETRNG0( long i; if (bitmap == NULL) { - error_message("NSETRNG0() failed. Bitmap == NULL"); + error_message(2, "NSETRNG0() failed. Bitmap == NULL"); return; } diff -Nurp --exclude='.bzr*' tin-1.8.3/tin.spec tin-2.0.0/tin.spec --- tin-1.8.3/tin.spec 2006-04-25 14:39:24.000000000 +0200 +++ tin-2.0.0/tin.spec 2011-05-29 01:32:12.553089380 +0200 @@ -1,15 +1,15 @@ Name: tin -Summary: tin - an easy-to-use USENET news reader -Version: 1.8.3 +Summary: easy-to-use USENET news reader +Version: 2.0.0 Release: 1 Copyright: BSD Group: Applications/News -Source: ftp://ftp.tin.org/pub/news/clients/tin/v1.8/%{name}-%{version}.tar.bz2 +Source: ftp://ftp.tin.org/pub/news/clients/tin/v2.0/%{name}-%{version}.tar.bz2 Buildroot: /var/tmp/%{name}-%{version}-%{release} Packager: Dirk Nimmich %description -tin is an easy-to-use USENET news reader for the console using NNTP. +An easy-to-use USENET news reader for the console using NNTP. It supports threading, scoring, different charsets, and many other useful things. It has also support for different languages. @@ -54,4 +54,3 @@ rm -rf $RPM_BUILD_ROOT %changelog * Tue Jul 22 2003 Dirk Nimmich Specfile created for tin 1.6.0. - diff -Nurp --exclude='.bzr*' tin-1.8.3/tools/metamutt tin-2.0.0/tools/metamutt --- tin-1.8.3/tools/metamutt 2005-06-28 10:31:20.000000000 +0200 +++ tin-2.0.0/tools/metamutt 2011-04-17 16:04:28.946843886 +0200 @@ -17,7 +17,7 @@ # Pressing "g" allows you to post a Followup to a newsgroup. # # Options: -# -D allows splits a digest into seperate mails by using formail +# -D allows splits a digest into separate mails by using formail # (Feature added by Martin Ramsch ) # # This script tries to find a working muttrc (which is sourced first) diff -Nurp --exclude='.bzr*' tin-1.8.3/tools/opt-case.pl tin-2.0.0/tools/opt-case.pl --- tin-1.8.3/tools/opt-case.pl 2005-06-28 10:31:20.000000000 +0200 +++ tin-2.0.0/tools/opt-case.pl 2011-04-17 16:04:29.018854844 +0200 @@ -56,7 +56,7 @@ while (defined($line = <>)) { # that won't hurt, it just doesn't optimize'em if ($line =~ m/^(subj|from|msgid(?:|_last|_only)|refs_only|xref)=(.*[^\W\d_].*)$/o) { print "# rule rewritten, it might be possible that it can be further otpimized\n"; - print "# check lines with (?i) if they realy need to be case insensitve and if\n"; + print "# check lines with (?i) if they really need to be case insensitve and if\n"; print "# not remove leading (?i) manualy\n"; print "$1=$mod$2\n"; next; diff -Nurp --exclude='.bzr*' tin-1.8.3/tools/tinews.pl tin-2.0.0/tools/tinews.pl --- tin-1.8.3/tools/tinews.pl 2006-03-04 12:57:03.000000000 +0100 +++ tin-2.0.0/tools/tinews.pl 2011-08-10 09:47:46.083357625 +0200 @@ -4,7 +4,7 @@ # signs the article and posts it. # # -# Copyright (c) 2002-2006 Urs Janssen , +# Copyright (c) 2002-2011 Urs Janssen , # Marc Brockschmidt # # Redistribution and use in source and binary forms, with or without @@ -32,82 +32,103 @@ # POSSIBILITY OF SUCH DAMAGE. # # -# TODO: - FIXME add debug mode which doesn't delete tmp-files and is verbose -# (e.g. warns about missing mime-headers if body contains 8bit -# chars) +# TODO: - add debug mode which doesn't delete tmp-files and is verbose # - add pgp6 support -# - check for ~/.newsauth (and ~/.nntpauth?) and use username/password -# if found # - check for /etc/nntpserver (and /etc/news/server) -# - allow config in ~/.tinewsrc +# - also check for ~/.nntpauth? # - add $PGPOPTS, $PGPPATH, $GNUPGHOME support -# - cleanup, remove duplicated code +# - add pid to pgptmpf to allow multiple simultaneous instances +# - cleanup and remove duplicated code # + +use strict; +use warnings; + # version Number -my $version = "1.1.10"; +my $version = "1.1.29"; my %config; -$config{'NNTPServer'} = 'news'; # your NNTP servers name -$config{'NNTPPort'} = 119; # NNTP-port -$config{'NNTPUser'} = ''; -$config{'NNTPPass'} = ''; +# configuration, may be overwritten via ~/.tinewsrc +$config{'NNTPServer'} = 'news'; # your NNTP servers name, may be set via $NNTPSERVER +$config{'NNTPPort'} = 119; # NNTP-port, may be set via $NNTPPORT +$config{'NNTPUser'} = ''; # username for nntp-auth, may be set via ~/.newsauth +$config{'NNTPPass'} = ''; # password for nntp-auth, may be set via ~/.newsauth + +$config{'PGPSigner'} = ''; # sign as who? +$config{'PGPPass'} = ''; # pgp2 only +$config{'PathtoPGPPass'}= ''; # pgp2, pgp5 and gpg +$config{'PGPPassFD'} = 9; # file descriptor used for input redirection of PathtoPGPPass, GPG and PGP5 only + +$config{'pgp'} = '/usr/bin/pgp'; # path to pgp +$config{'PGPVersion'} = '2'; # Use 2 for 2.X, 5 for PGP > 2.X and GPG for GPG +$config{'digest-algo'} = 'MD5';# Digest Algorithm for GPG. Must be supported by your installation + +$config{'Interactive'} = 'yes';# allow interactive usage + +$config{'sig_path'} = glob('~/.signature'); # path to signature +$config{'add_signature'}= 'yes';# Add $config{'sig_path'} to posting if there is no sig +$config{'sig_max_lines'}= 4; # max number of signatures lines -$config{'PGPSigner'} = ''; # sign as who? -$config{'PGPPass'} = ''; # pgp2 only -$config{'PathtoPGPPass'}= ''; # pgp2, pgp5 and gpg +$config{'sendmail'} = '| /usr/sbin/sendmail -i -t'; # set to '' to disable mail-actions -$config{'pgp'} = '/usr/bin/pgp';# path to pgp -$config{'PGPVersion'} = '2'; # Use 2 for 2.X, 5 for PGP > 2.X and GPG for GPG -$config{'digest-algo'} = 'MD5'; # Digest Algorithm for GPG -- Must be supported by your installation +$config{'pgptmpf'} = 'pgptmp'; # temporary file for PGP. -$config{'Interactive'} = "yes"; # allow interactive usage - -$config{'add_signature'}= "yes"; # Add ~/.signature to posting if there is no sig +$config{'pgpheader'} = 'X-PGP-Sig'; +$config{'pgpbegin'} = '-----BEGIN PGP SIGNATURE-----'; # Begin of PGP-Signature +$config{'pgpend'} = '-----END PGP SIGNATURE-----'; # End of PGP-Signature -$config{'sendmail'} = '| /usr/sbin/sendmail -i -t'; # set to '' to disable mail-actions +# $config{'canlock_secret'} = '~/.cancelsecret'; # Path to canlock secret file $config{'PGPSignHeaders'} = ['From', 'Newsgroups', 'Subject', 'Control', - 'Supersedes', 'Followup-To', 'Date', 'Sender', 'Approved', + 'Supersedes', 'Followup-To', 'Date', 'Injection-Date', 'Sender', 'Approved', 'Message-ID', 'Reply-To', 'Cancel-Key', 'Also-Control', 'Distribution']; $config{'PGPorderheaders'} = ['from', 'newsgroups', 'subject', 'control', - 'supersedes', 'followup-To', 'date', 'organization', 'lines', - 'sender', 'approved', 'distribution', 'message-id', + 'supersedes', 'followup-To', 'date', 'injection-date', 'organization', + 'lines', 'sender', 'approved', 'distribution', 'message-id', 'references', 'reply-to', 'mime-version', 'content-type', 'content-transfer-encoding', 'summary', 'keywords', 'cancel-lock', 'cancel-key', 'also-control', 'x-pgp', 'user-agent']; -$config{'pgptmpf'} = 'pgptmp'; # temporary file for PGP. - -$config{'pgpheader'} = 'X-PGP-Sig'; -$config{'pgpbegin'} = '-----BEGIN PGP SIGNATURE-----'; # Begin of PGP-Signature -$config{'pgpend'} = '-----END PGP SIGNATURE-----'; # End of PGP-Signature - ################################################################################ -use strict; use Getopt::Long qw(GetOptions); use Net::NNTP; use Time::Local; use Term::ReadLine; -my $pname = $0; -$pname =~ s#^.*/##; +(my $pname = $0) =~ s#^.*/##; my %cli_headers; +# read config file ~/.tinewsrc if present +if (open(my $TINEWSRC, '<', (glob('~/.tinewsrc'))[0])) { + while (defined($_ = <$TINEWSRC>)) { + if (m/^([^#\s=]+)\s*=\s*(\S[^#]+)/io) { + chomp($config{$1} = $2); + } + } + close($TINEWSRC); +} + +# digest-algo is case sensitive and should be all uppercase +$config{'digest-algo'} = uc($config{'digest-algo'}); + +# these env-vars have higher priority $config{'NNTPServer'} = $ENV{'NNTPSERVER'} if ($ENV{'NNTPSERVER'}); $config{'NNTPPort'} = $ENV{'NNTPPORT'} if ($ENV{'NNTPPORT'}); # Get options: $Getopt::Long::ignorecase=0; -GetOptions('A|V|W|O|no-organization|h|headers' => [], #do nothing - 'debug|D|N' => \$config{'debug'}, #XXX +GetOptions('A|V|W|O|no-organization|h|headers' => [], # do nothing + 'debug|D|N' => \$config{'debug'}, 'port|p=i' => \$config{'NNTPPort'}, 'no-sign|X' => \$config{'no_sign'}, 'no-control|R' => \$config{'no_control'}, 'no-signature|S' => \$config{'no_signature'}, + 'no-canlock|L' => \$config{'no_canlock'}, + 'force-auth|Y' => \$config{'force_auth'}, 'approved|a=s' => \$config{'approved'}, 'control|c=s' => \$config{'control'}, 'distribution|d=s' => \$config{'distribution'}, @@ -116,6 +137,7 @@ GetOptions('A|V|W|O|no-organization|h|he 'followupto|w=s' => \$config{'followup-to'}, 'newsgroups|n=s' => \$config{'newsgroups'}, 'replyto|r=s' => \$config{'reply-to'}, + 'savedir|s=s' => \$config{'savedir'}, 'subject|t=s' => \$config{'subject'}, 'references|F=s' => \$config{'references'}, 'organization|o=s' => \$config{'organization'}, @@ -128,7 +150,19 @@ foreach (@ARGV) { usage(); } -usage() if($config{'help'}); +usage() if ($config{'help'}); + +# Cancel-Locks require some more modules +if ($config{'canlock_secret'} && !$config{'no_canlock'}) { + foreach ('MIME::Base64()', 'Digest::SHA1()', 'Digest::HMAC_SHA1()') { + eval "use $_"; + if ($@) { + $config{'no_canlock'} = 1; + warn "Cancel-Locks disabled: Can't locate ".$_."\n" if $config{'debug'}; + last; + } + } +} my $term = new Term::ReadLine 'tinews'; my $attribs = $term->Attribs; @@ -137,16 +171,15 @@ my (@Header, %Header, @Body, $PGPCommand if (! $config{'no_sign'}) { $config{'PGPSigner'} = $ENV{'SIGNER'} if ($ENV{'SIGNER'}); - $config{'PathtoPGPPass'} = $ENV{'PGPPASSFILE'} if ($ENV{'PGPPASSFILE'}); if ($config{'PathtoPGPPass'}) { - open (PGPPass, $config{'PathtoPGPPass'}) or - $config{'Interactive'} && die ("$0: Can't open ".$config{'PathtoPGPPass'}.": $!"); - chomp ($config{'PGPPass'} = ); - close(PGPPass); + open(my $PGPPass, '<', (glob($config{'PathtoPGPPass'}))[0]) or + $config{'Interactive'} && die("$0: Can't open ".$config{'PathtoPGPPass'}.": $!"); + chomp($config{'PGPPass'} = <$PGPPass>); + close($PGPPass); } - if ($config{'PGPVersion'} eq '2') { - $config{'PGPPass'} = $ENV{'PGPPASS'} if ($ENV{'PGPPASS'}); + if ($config{'PGPVersion'} eq '2' && $ENV{'PGPPASS'}) { + $config{'PGPPass'} = $ENV{'PGPPASS'}; } } @@ -156,18 +189,20 @@ readarticle(\%Header, \@Body); # Add signature if there is none if (!$config{'no_signature'}) { - if ($config{'add_signature'} && !grep /^-- /, @Body) { - if (-r (glob("~/.signature"))[0]) { + if ($config{'add_signature'} && !grep {/^-- /} @Body) { + if (-r $config{'sig_path'}) { my $l = 0; push @Body, "-- \n"; - open SIGNATURE, (glob("~/.signature"))[0] or die "Can't open ~/.signature: $!"; - while (){ - die "~/.signature longer than 4 lines!" if (++$l > 4); + open(my $SIGNATURE, '<', $config{'sig_path'}) or die("Can't open " . $config{'sig_path'} . ": $!"); + while (<$SIGNATURE>){ + die $config{'sig_path'} . " longer than " . $config{'sig_max_lines'}. " lines!" if (++$l > $config{'sig_max_lines'}); push @Body, $_; } - close SIGNATURE; + close($SIGNATURE); } else { - warn "Tried to add ~/.signature, but ~/.signature is not readable"; + if ($config{'debug'}) { + warn "Tried to add " . $config{'sig_path'} . ", but it is unreadable"; + } } } } @@ -175,13 +210,13 @@ if (!$config{'no_signature'}) { # import headers set in the environment if (!defined($Header{'reply-to'})) { if ($ENV{'REPLYTO'}) { - chomp ($Header{'reply-to'} = "Reply-To: " . $ENV{'REPLYTO'}); + chomp($Header{'reply-to'} = "Reply-To: " . $ENV{'REPLYTO'}); $Header{'reply-to'} .= "\n"; } } foreach ('DISTRIBUTION', 'ORGANIZATION') { if (!defined($Header{lc($_)}) && $ENV{$_}) { - chomp ($Header{lc($_)} = ucfirst($_).": " . $ENV{$_}); + chomp($Header{lc($_)} = ucfirst($_).": " . $ENV{$_}); $Header{lc($_)} .= "\n"; } } @@ -191,16 +226,17 @@ foreach ('Approved', 'Control', 'Distrib 'From', 'Followup-To', 'Newsgroups',' Reply-To', 'Subject', 'References', 'Organization', 'Path') { next if (!defined($config{lc($_)})); - chomp ($Header{lc($_)} = $_ . ": " . $config{lc($_)}); + chomp($Header{lc($_)} = $_ . ": " . $config{lc($_)}); $Header{lc($_)} .= "\n"; } # verify/add/remove headers foreach ('From', 'Subject') { - die "$0: No $_:-header defined." if (!defined($Header{lc($_)})); + die("$0: No $_:-header defined.") if (!defined($Header{lc($_)})); } $Header{'date'} = "Date: ".getdate()."\n" if (!defined($Header{'date'}) || $Header{'date'} !~ m/^[^\s:]+: .+/o); +$Header{'injection-date'} = "Injection-Date: ".getdate()."\n"; if (defined($Header{'user-agent'})) { chomp $Header{'user-agent'}; @@ -216,7 +252,36 @@ if ($config{'no_control'} and $Header{co exit 1; } -if (defined($Header{'newsgroups'}) && !defined($Header{'message-id'})) { +# various checks +if ($config{'debug'}) { + foreach (keys %Header) { + warn "Raw 8-bit data in the following header:\n$Header{$_}" if ($Header{$_} =~ m/[\x80-\xff]/o); + } + if (!defined($Header{'mime-version'}) || !defined($Header{'content-type'}) || !defined($Header{'content-transfer-encoding'})) { + warn "8bit body without MIME-headers\n" if (grep {/[\x80-\xff]/} @Body); + } +} + +# try ~/.newsauth if no $config{'NNTPPass'} was set +if (!$config{'NNTPPass'}) { + if (-r (glob("~/.newsauth"))[0]) { + my ($l, $server, $pass, $user); + open (my $NEWSAUTH, '<', (glob("~/.newsauth"))[0]) or die("Can't open ~/.newsauth: $!"); + while ($l = <$NEWSAUTH>) { + chomp $l; + next if ($l =~ m/^[#\s]/); + ($server, $pass, $user) = split(/\s+\b/, $l); + last if ($server =~ m/\Q$config{'NNTPServer'}\E/); + } + close($NEWSAUTH); + if ($pass) { + $config{'NNTPPass'} = $pass; + $config{'NNTPUser'} = $user || getlogin || getpwuid($<) || $ENV{USER}; + } + } +} + +if (! $config{'savedir'} && defined($Header{'newsgroups'}) && !defined($Header{'message-id'})) { my $Server = AuthonNNTP(); my $ServerMsg = $Server->message(); $Server->datasend('.'); @@ -226,9 +291,61 @@ if (defined($Header{'newsgroups'}) && !d } if (!defined($Header{'message-id'})) { - chomp (my $hname = `hostname`); + my $hname; + eval "use Sys::Hostname"; + if ($@) { + chomp($hname = `hostname`); + } else { + $hname = hostname(); + } my ($hostname,) = gethostbyname($hname); - $Header{'message-id'} = "Message-ID: " . sprintf ("\n", $>, timelocal(localtime), $$, $hostname); + if (defined($hostname) && $hostname =~ m/\./io) { + $Header{'message-id'} = "Message-ID: " . sprintf("\n", $>, timelocal(localtime), $$, $hostname); + } +} + +# add Cancel-Lock (and Cancel-Key) header(s) if requested +if ($config{'canlock_secret'} && defined($Header{'message-id'}) && !$config{'no_canlock'}) { + open(my $CANLock, '<', (glob($config{'canlock_secret'}))[0]) or die("$0: Can't open " . $config{'canlock_secret'} . ": $!"); + chomp(my $key = <$CANLock>); + close($CANLock); + (my $data = $Header{'message-id'}) =~ s#^Message-ID: ##i; + chomp $data; + my $digest = Digest::HMAC_SHA1::hmac_sha1($data, $key); + my $cancel_key = MIME::Base64::encode($digest, ''); + my $cancel_lock = MIME::Base64::encode(Digest::SHA1::sha1($cancel_key, '')); + if (defined($Header{'cancel-lock'})) { + chomp $Header{'cancel-lock'}; + $Header{'cancel-lock'} .= " sha1:" . $cancel_lock; + } else { + $Header{'cancel-lock'} = "Cancel-Lock: sha1:" . $cancel_lock; + } + + if ((defined($Header{'supersedes'}) && $Header{'supersedes'} =~ m/^Supersedes:\s+<\S+>\s*$/i) || (defined($Header{'control'}) && $Header{'control'} =~ m/^Control:\s+cancel\s+<\S+>\s*$/i) ||(defined($Header{'also-control'}) && $Header{'also-control'} =~ m/^Also-Control:\s+cancel\s+<\S+>\s*$/i)) { + if (defined($Header{'also-control'}) && $Header{'also-control'} =~ m/^Also-Control:\s+cancel\s+/i) { + ($data = $Header{'also-control'}) =~ s#^Also-Control:\s+cancel\s+##i; + chomp $data; + $cancel_key = MIME::Base64::encode(Digest::HMAC_SHA1::hmac_sha1($data, $key),''); + } else { + if (defined($Header{'control'}) && $Header{'control'} =~ m/^Control: cancel /i) { + ($data = $Header{'control'})=~ s#^Control:\s+cancel\s+##i; + chomp $data; + $cancel_key = MIME::Base64::encode(Digest::HMAC_SHA1::hmac_sha1($data, $key),''); + } else { + if (defined($Header{'supersedes'})) { + ($data = $Header{'supersedes'}) =~ s#^Supersedes: ##i; + chomp $data; + $cancel_key = MIME::Base64::encode(Digest::HMAC_SHA1::hmac_sha1($data, $key),''); + } + } + } + if (defined($Header{'cancel-key'})) { + chomp $Header{'cancel-key'}; + $Header{'cancel-key'} .= " sha1:" . $cancel_key . "\n"; + } else { + $Header{'cancel-key'} = "Cancel-Key: sha1:" . $cancel_key . "\n"; + } + } } # set Posted-And-Mailed if we send a mailcopy to someone else @@ -243,7 +360,7 @@ if ($config{'sendmail'} && defined($Head if (! $config{'no_sign'}) { if (!$config{'PGPSigner'}) { - chomp ($config{'PGPSigner'} = $Header{'from'}); + chomp($config{'PGPSigner'} = $Header{'from'}); $config{'PGPSigner'} =~ s/^[^\s:]+: (.*)/$1/; } $PGPCommand = getpgpcommand($config{'PGPVersion'}); @@ -268,17 +385,21 @@ if ($config{'no_sign'}) { $MessageR = signarticle(\%Header, \@Body); } -# post article -postarticle($MessageR) if ($Newsgroups); +# post or save article +if (! $config{'savedir'}) { + postarticle($MessageR) if ($Newsgroups); +} else { + savearticle($MessageR) if ($Newsgroups); +} # mail article if (($To || $Cc || $Bcc) && $config{'sendmail'}) { - open(MAIL, $config{'sendmail'}) || die "$!"; + open(my $MAIL, $config{'sendmail'}) || die("$!"); unshift @$MessageR, "$To" if ($To); unshift @$MessageR, "$Cc" if ($Cc); unshift @$MessageR, "$Bcc" if ($Bcc); - print(MAIL @$MessageR); - close(MAIL); + print($MAIL @$MessageR); + close($MAIL); } # Game over. Insert new coin. @@ -301,12 +422,13 @@ sub readarticle { $$HeaderR{$currentheader} .= $_; } else { chomp($_); - die ("'$_' is not a correct header-line"); + die("'$_' is not a correct header-line"); } } else { push @$BodyR, $_; } } + return; } #-------- sub getdate @@ -344,7 +466,7 @@ sub getdate { # $config{'Interactive'} is != 0). sub AuthonNNTP { my $Server = Net::NNTP->new($config{'NNTPServer'}, Reader => 1, Debug => 0, Port => $config{'NNTPPort'}) - or die "$0: Can't connect to ".$config{'NNTPServer'}.":".$config{'NNTPPort'}."!\n"; + or die("$0: Can't connect to ".$config{'NNTPServer'}.":".$config{'NNTPPort'}."!\n"); my $ServerMsg = ""; my $ServerCod = $Server->code(); @@ -352,11 +474,11 @@ sub AuthonNNTP { if ($ServerCod < 200 || $ServerCod > 201) { $ServerMsg = $Server->message(); $Server->quit(); - die ($0.": ".$ServerCod." ".$ServerMsg."\n"); + die($0.": ".$ServerCod." ".$ServerMsg."\n"); } # read access - try auth - if ($ServerCod == 201) { + if ($ServerCod == 201 || $config{'force_auth'}) { if ($config{'NNTPPass'} eq "") { if ($config{'Interactive'}) { $config{'NNTPUser'} = $term->readline("Your Username at ".$config{'NNTPServer'}.": "); @@ -365,7 +487,7 @@ sub AuthonNNTP { } else { $ServerMsg = $Server->message(); $Server->quit(); - die ($0.": ".$ServerCod." ".$ServerMsg."\n"); + die($0.": ".$ServerCod." ".$ServerMsg."\n"); } } $Server->authinfo($config{'NNTPUser'}, $config{'NNTPPass'}); @@ -388,7 +510,7 @@ sub AuthonNNTP { } else { $ServerMsg = $Server->message(); $Server->quit(); - die ($0.": ".$ServerCod." ".$ServerMsg."\n"); + die($0.": ".$ServerCod." ".$ServerMsg."\n"); } } $Server->authinfo($config{'NNTPUser'}, $config{'NNTPPass'}); @@ -406,6 +528,20 @@ sub AuthonNNTP { sub getpgpcommand { my ($PGPVersion) = @_; my $PGPCommand; + my $found = 0; + + if ($config{'pgp'} !~ /^\//) { + foreach(split(/:/, $ENV{'PATH'})) { + if (-x $_."/".$config{'pgp'}) { + $found++; + last; + } + } + } + if (!-x $config{'pgp'} && ! $found) { + warn "PGP signing disabled: Can't locate executable ".$config{'pgp'}."\n" if $config{'debug'}; + $config{'no_sign'} = 1; + } if ($PGPVersion eq '2') { if ($config{'PGPPass'}) { @@ -413,26 +549,26 @@ sub getpgpcommand { } elsif ($config{'Interactive'}) { $PGPCommand = $config{'pgp'}." -z -u \"".$config{'PGPSigner'}."\" +verbose=0 language='en' -saft <".$config{'pgptmpf'}.".txt >".$config{'pgptmpf'}.".txt.asc"; } else { - die "$0: Passphrase is unknown!\n"; + die("$0: Passphrase is unknown!\n"); } } elsif ($PGPVersion eq '5') { if ($config{'PathtoPGPPass'}) { - $PGPCommand = "PGPPASSFD=42 ".$config{'pgp'}."s -u \"".$config{'PGPSigner'}."\" -t --armor -o ".$config{'pgptmpf'}.".txt.asc -z -f < ".$config{'pgptmpf'}.".txt 42<".$config{'PathtoPGPPass'}; + $PGPCommand = "PGPPASSFD=".$config{'PGPPassFD'}." ".$config{'pgp'}."s -u \"".$config{'PGPSigner'}."\" -t --armor -o ".$config{'pgptmpf'}.".txt.asc -z -f < ".$config{'pgptmpf'}.".txt 42<".$config{'PathtoPGPPass'}; } elsif ($config{'Interactive'}) { $PGPCommand = $config{'pgp'}."s -u \"".$config{'PGPSigner'}."\" -t --armor -o ".$config{'pgptmpf'}.".txt.asc -z -f < ".$config{'pgptmpf'}.".txt"; } else { - die "$0: Passphrase is unknown!\n"; + die("$0: Passphrase is unknown!\n"); } } elsif ($PGPVersion =~ m/GPG/io) { if ($config{'PathtoPGPPass'}) { - $PGPCommand = $config{'pgp'}." --digest-algo $config{'digest-algo'} -a -u \"".$config{'PGPSigner'}."\" -o ".$config{'pgptmpf'}.".txt.asc --no-tty --batch --passphrase-fd 42 42<".$config{'PathtoPGPPass'}." --clearsign ".$config{'pgptmpf'}.".txt"; + $PGPCommand = $config{'pgp'}." --digest-algo $config{'digest-algo'} -a -u \"".$config{'PGPSigner'}."\" -o ".$config{'pgptmpf'}.".txt.asc --no-tty --batch --passphrase-fd ".$config{'PGPPassFD'}." ".$config{'PGPPassFD'}."<".$config{'PathtoPGPPass'}." --clearsign ".$config{'pgptmpf'}.".txt"; } elsif ($config{'Interactive'}) { $PGPCommand = $config{'pgp'}." --digest-algo $config{'digest-algo'} -a -u \"".$config{'PGPSigner'}."\" -o ".$config{'pgptmpf'}.".txt.asc --no-secmem-warning --no-batch --clearsign ".$config{'pgptmpf'}.".txt"; } else { - die "$0: Passphrase is unknown!\n"; + die("$0: Passphrase is unknown!\n"); } } else { - die "$0: Unknown PGP-Version $PGPVersion!"; + die("$0: Unknown PGP-Version $PGPVersion!"); } return $PGPCommand; } @@ -454,17 +590,36 @@ sub postarticle { if (!$Server->ok()) { my $ServerMsg = $Server->message(); $Server->quit(); - die ("\n$0: Posting failed! Response from news server:\n", $Server->code(), ' ', $ServerMsg); + die("\n$0: Posting failed! Response from news server:\n", $Server->code(), ' ', $ServerMsg); } $Server->quit(); } else { - die "\n".$0.": Posting failed!\n"; + die("\n".$0.": Posting failed!\n"); } + return; +} + + +#-------- sub savearticle +# savearticle saves your article to the directory $config{'savedir'} +# +# Receives: +# - $ArticleR: A reference to an array containing the article +sub savearticle { + my ($ArticleR) = @_; + my $timestamp = timelocal(localtime); + (my $ng = $Newsgroups) =~ s#^Newsgroups:\s*([^,\s]+).*#$1#i; + my $gn = join "", map { substr($_,0,1) } (split(/\./, $ng)); + my $filename = $config{'savedir'}."/".$timestamp."-".$gn."-".$$; + open(my $SH, '>', $filename) or die("$0: can't open $filename: $!\n"); + print $SH @$ArticleR; + close($SH) or warn "$0: Couldn't close: $!\n"; + return; } #-------- sub signarticle -# signarticle signs an articel and returns a reference to an array +# signarticle signs an article and returns a reference to an array # containing the whole signed Message. # # Receives: @@ -475,7 +630,7 @@ sub postarticle { # - $MessageRef: A reference to an array containing the whole message. sub signarticle { my ($HeaderR, $BodyR) = @_; - my (@pgphead, @pgpbody, $pgphead, $pgpbody, $header, $signheaders, @signheaders); + my (@pgphead, @pgpbody, $pgphead, $pgpbody, $signheaders, @signheaders); foreach (@{$config{'PGPSignHeaders'}}) { if (defined($$HeaderR{lc($_)}) && $$HeaderR{lc($_)} =~ m/^[^\s:]+: .+/o) { @@ -483,7 +638,7 @@ sub signarticle { } } - $pgpbody = join ("", @$BodyR); + $pgpbody = join("", @$BodyR); # Delete and create the temporary pgp-Files unlink $config{'pgptmpf'}.".txt"; @@ -491,36 +646,36 @@ sub signarticle { $signheaders = join(",", @signheaders); $pgphead = "X-Signed-Headers: $signheaders\n"; - foreach $header (@signheaders) { + foreach my $header (@signheaders) { if ($$HeaderR{lc($header)} =~ m/^[^\s:]+: (.+?)\n?$/so) { $pgphead .= $header.": ".$1."\n"; } } unless (substr($pgpbody,-1,1)=~ /\n/ ) {$pgpbody.="\n"}; - open(FH, ">" . $config{'pgptmpf'} . ".txt") or die "$0: can't open ".$config{'pgptmpf'}.": $!\n"; - print FH $pgphead, "\n", $pgpbody; - print FH "\n" if ($config{'PGPVersion'} =~ m/GPG/io); # workaround a pgp/gpg incompatibility - should IMHO be fixed in pgpverify - close(FH) or warn "$0: Couldn't close TMP: $!\n"; + open(my $FH, '>', $config{'pgptmpf'} . ".txt") or die("$0: can't open ".$config{'pgptmpf'}.": $!\n"); + print $FH $pgphead, "\n", $pgpbody; + print $FH "\n" if ($config{'PGPVersion'} =~ m/GPG/io); # workaround a pgp/gpg incompatibility - should IMHO be fixed in pgpverify + close($FH) or warn "$0: Couldn't close TMP: $!\n"; # Start PGP, then read the signature; `$PGPCommand`; - open (FH, "<" . $config{'pgptmpf'} . ".txt.asc") or die "$0: can't open ".$config{'pgptmpf'}.".txt.asc: $!\n"; - $/ = "\n".$config{'pgpbegin'}."\n"; - $_ = ; + open($FH, '<', $config{'pgptmpf'} . ".txt.asc") or die("$0: can't open ".$config{'pgptmpf'}.".txt.asc: $!\n"); + local $/ = "\n".$config{'pgpbegin'}."\n"; + $_ = <$FH>; unless (m/\Q$config{'pgpbegin'}\E$/o) { unlink $config{'pgptmpf'} . ".txt"; unlink $config{'pgptmpf'} . ".txt.asc"; - die "$0: ".$config{'pgpbegin'}." not found in ".$config{'pgptmpf'}.".txt.asc\n" + die("$0: ".$config{'pgpbegin'}." not found in ".$config{'pgptmpf'}.".txt.asc\n"); } unlink($config{'pgptmpf'} . ".txt") or warn "$0: Couldn't unlink ".$config{'pgptmpf'}.".txt: $!\n"; - $/ = "\n"; - $_ = ; + local $/ = "\n"; + $_ = <$FH>; unless (m/^Version: (\S+)(?:\s(\S+))?/o) { unlink $config{'pgptmpf'} . ".txt.asc"; - die "$0: didn't find PGP Version line where expected.\n"; + die("$0: didn't find PGP Version line where expected.\n"); } if (defined($2)) { $$HeaderR{$config{'pgpheader'}} = $1."-".$2." ".$signheaders; @@ -528,47 +683,47 @@ sub signarticle { $$HeaderR{$config{'pgpheader'}} = $1." ".$signheaders; } do { # skip other pgp headers like - $_ = ; # "charset:"||"comment:" until empty line + $_ = <$FH>; # "charset:"||"comment:" until empty line } while ! /^$/; - while () { + while (<$FH>) { chomp; last if /^\Q$config{'pgpend'}\E$/; $$HeaderR{$config{'pgpheader'}} .= "\n\t$_"; } $$HeaderR{$config{'pgpheader'}} .= "\n" unless ($$HeaderR{$config{'pgpheader'}} =~ /\n$/s); - $_ = ; - unless (eof(FH)) { + $_ = <$FH>; + unless (eof($FH)) { unlink $config{'pgptmpf'} . ".txt.asc"; - die "$0: unexpected data following ".$config{'pgpend'}."\n"; + die("$0: unexpected data following ".$config{'pgpend'}."\n"); } - close(FH); + close($FH); unlink $config{'pgptmpf'} . ".txt.asc"; my $tmppgpheader = $config{'pgpheader'} . ": " . $$HeaderR{$config{'pgpheader'}}; delete $$HeaderR{$config{'pgpheader'}}; @pgphead = (); - foreach $header (@{$config{PGPorderheaders}}) { + foreach my $header (@{$config{PGPorderheaders}}) { if ($$HeaderR{$header} && $$HeaderR{$header} ne "\n") { push(@pgphead, "$$HeaderR{$header}"); delete $$HeaderR{$header}; } } - foreach $header (keys %$HeaderR) { + foreach my $header (keys %$HeaderR) { if ($$HeaderR{$header} && $$HeaderR{$header} ne "\n") { push(@pgphead, "$$HeaderR{$header}"); delete $$HeaderR{$header}; } } - push @pgphead, ("X-PGP-Hash: " . $config{'digest-algo'} . "\n"); + push @pgphead, ("X-PGP-Hash: " . $config{'digest-algo'} . "\n") if (defined($config{'digest-algo'})); push @pgphead, ("X-PGP-Key: " . $config{'PGPSigner'} . "\n"), $tmppgpheader; undef $tmppgpheader; - @pgpbody = split /$/m, $pgpbody; + @pgpbody = split(/$/m, $pgpbody); my @pgpmessage = (@pgphead, "\n", @pgpbody); return \@pgpmessage; } @@ -586,13 +741,16 @@ sub usage { print " -o string set Organization:-header to string\n"; print " -p port use port as NNTP port [default=".$config{'NNTPPort'}."]\n"; print " -r string set Reply-To:-header to string\n"; + print " -s string save signed article to directory string instead of posting\n"; print " -t string set Subject:-header to string\n"; print " -w string set Followup-To:-header to string\n"; print " -x string set Path:-header to string\n"; print " -H show help\n"; + print " -L do not add Cacenl-Lock: / Cancel-Key: headers\n"; print " -R disallow control messages\n"; - print " -S do not append \$HOME/.signature\n"; + print " -S do not append " . $config{'sig_path'} . "\n"; print " -X do not sign article\n"; + print " -Y force authentication on connect\n"; exit 0; } @@ -615,6 +773,9 @@ If the article contains To:, Cc: or Bcc: configured it will automatically add a "Posted-And-Mailed: yes" header to the article and send out the mail-copies. +If a Cancel-Lock secret file is defined it will automatically add a +Cancel-Lock: (and Cancel-Key: if required) header. + =head1 OPTIONS =over 4 @@ -655,6 +816,10 @@ use C as NNTP-port Set the article header field Reply-To: to the given value. +=item -B F | --B F + +Save signed article to directory F instead of posting. + =item -B C | --B C Set the article header field Subject: to the given value. @@ -671,18 +836,26 @@ Set the article header field Path: to th Show help-page. +=item -B | --B + +Do not add Cancel-Lock: / Cancel-Key: headers. + =item -B | --B Restricted mode, disallow control-messages. =item -B | --B -Do not append F<$HOME/.signature> +Do not append F<$HOME/.signature>. =item -B | --B Do not sign the article. +=item -B | --B + +Force authentication on connect even if not required by the server. + =item -B -B -B These options are accepted for compatibility reasons but ignored. @@ -772,11 +945,11 @@ command-line option overrides B<$DISTRIB =item F -Temporary file used to store the reformatted article +Temporary file used to store the reformatted article. =item F -Temporary file used to store the reformatted and signed article +Temporary file used to store the reformatted and signed article. =item F<$PGPPASSFILE> @@ -784,7 +957,25 @@ The passphrase file to be used for B -Signature-file which will be automatically included. +Signature file which will be automatically included. + +=item F<$HOME/.cancelsecret> + +The passphrase file to be used for Cancel-Locks. This feature is turned +off by default. + +=item F<$HOME/.newsauth> + +"nntpserver password [user]" pairs for NNTP servers that require +authorization. Any line that starts with "#" is a comment. Blank lines are +ignored. This file should be readable only for the user as it contains the +user's uncrypted password for reading news. + +=item F<$HOME/.tinewsrc> + +"option=value" configuration pairs. Lines that start with "#" are ignored. +If the file contains uncrypted passwords (e.g. NNTPPass or PGPPass), it +should be only readable for the user. =back @@ -804,6 +995,10 @@ B requires the following stan B(3pm), B(3pm), B(3pm) and B(3pm). +If the Cacenl-Lock feature is enabled the following additional modules +must be installed: B(3pm), B(3pm) and +B(3pm) + =head1 AUTHOR Urs Janssen Eurs@tin.orgE, @@ -811,7 +1006,8 @@ Marc Brockschmidt Emarc@marcbrocksch =head1 SEE ALSO -B(1), B(1), B(1), B(3pm), B(3pm), -B(3pm), B(3pm) +B(1), B(1), B(1), B(3pm), +B(3pm), B(3pm), B(3pm), +B(3pm), B(3pm), B(3pm) =cut diff -Nurp --exclude='.bzr*' tin-1.8.3/tools/url_handler.pl tin-2.0.0/tools/url_handler.pl --- tin-1.8.3/tools/url_handler.pl 1970-01-01 01:00:00.000000000 +0100 +++ tin-2.0.0/tools/url_handler.pl 2011-07-18 14:12:58.977170323 +0200 @@ -0,0 +1,134 @@ +#! /usr/bin/perl -w +# example of how to call an appropriate viewer +# +# URLs must start with a scheme and shell metas should be already quoted +# (tin doesn't recognize URLs without a scheme and it quotes the metas) + +use strict; +use warnings; + +(my $pname = $0) =~ s#^.*/##; +die "Usage: $pname URL" if $#ARGV != 0; + +# version Number +my $version = "0.1.1"; + +my ($method, $url, $match, @try); +$method = $url = $ARGV[0]; +$method =~ s#^([^:]+):.*#$1#io; + +# shell escape +$url =~ s#([\&\;\`\'\\\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\010\013\020\011])#\\$1#g; + +if ($ENV{"BROWSER_".uc($method)}) { + push(@try, split(/:/, $ENV{"BROWSER_".uc($method)})); +} else { + if ($ENV{BROWSER}) { + push(@try, split(/:/, $ENV{BROWSER})); + } else { # set some defaults + push(@try, 'firefox -a firefox -remote openURL\(%s\)'); + push(@try, 'mozilla -remote openURL\(%s\)'); + push(@try, 'opera -remote openURL\(%s\)'); + push(@try, 'galeon -n'); + push(@try, 'lynx'); # prefer lynx over links as it can handle news:-urls + push(@try, qw('links2 -g' links w3m)); + push(@try, 'kfmclient newTab'); # has no useful return-value on error + } +} + +for my $browser (@try) { + # ignore empty parts + next if ($browser =~ m/^$/o); + # expand %s if not preceded by odd number of % + $match = $browser =~ s/(?/dev/null") == 0); +} +exit 0; + +__END__ + +=head1 NAME + +url_handler.pl - Spawn appropriate viewer for a given URL + +=head1 SYNOPSIS + +B I + +=head1 DESCRIPTION + +B takes an URL as argument and spawns the first executable +viewer found in either B<$BROWSER_I> or B<$BROWSER>. + +=head1 ENVIRONMENT + +=over 4 + +=item B<$BROWSER_I> + +The user's preferred utility to browse URLs of tye I. May actually +consist of a sequence of colon-separated browser commands to be tried in +order until one succeeds. If a command part contains %s, the URL is +substituted there, otherwise the browser command is simply called with the +URL as its last argument. %% is replaced by a single percent sign (%), and +%c is replaced by a colon (:). +Examples: + +=over 4 + +=item $BROWSER_FTP="wget:ncftp" + +=item $BROWSER_GOPHER="lynx:links" + +=item $BROWSER_MAILTO="mutt:pine -url" + +=item $BROWSER_NEWS="lynx" + +=item $BROWSER_NNTP="lynx" + +=back + +Z<> + +=item B<$BROWSER> + +The user's preferred utility to browse URLs for which there is no special +viewer defined via B<$BROWSER_I>. Again it may actually consist of a +sequence of colon-separated browser commands to be tried in order until one +succeeds. If a command part contains %s, the URL is substituted there, +otherwise the browser command is simply called with the URL as its last +argument. %% is replaced by a single percent sign (%), and %c is replaced +by a colon (:). +Examples: + +=over 2 + +=item $BROWSER="firefox -a firefox -remote openURL\(%s\):opera:konqueror:links2 -g:lynx:w3m" + +=back + +=head1 SECURITY + +B was designed to work together with B(1) which only +issues shell escaped absolute URLs thus B does not try hard +to shell escape its input nor does it convert relative URLs into absolute +ones! If you use B from other applications be sure to at +least shell escaped its input! + +=head1 AUTHOR + +Urs Janssen Eurs@tin.orgE + +=head1 SEE ALSO + +http://www.catb.org/~esr/BROWSER/ +http://www.dwheeler.com/browse/secure_browser.html + +=cut diff -Nurp --exclude='.bzr*' tin-1.8.3/tools/url_handler.sh tin-2.0.0/tools/url_handler.sh --- tin-1.8.3/tools/url_handler.sh 2005-07-08 17:13:49.000000000 +0200 +++ tin-2.0.0/tools/url_handler.sh 2011-04-17 16:04:29.174878589 +0200 @@ -4,7 +4,7 @@ # based on a script by Michael Elkins # 2001-01-31 # -# URLs must start with a scheme and shell metas must be allready quoted +# URLs must start with a scheme and shell metas must be already quoted # (tin doesn't recognize URLs without a scheme and it quotes the metas) # # TODO: check $BROWSER? @@ -51,7 +51,7 @@ case $method in ;; news|snews) - # usualy ment for reading news on the local server + # usually meant for reading news on the local server if test x$DISPLAY = x; then lynx $url || exit 1 else @@ -60,7 +60,7 @@ case $method in ;; nntp) - # usualy ment for reading news via NNTP + # usually meant for reading news via NNTP # needs a special case as netscape can't handle nntp-URLs # *sigh* lynx $url || exit 1 diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/dir.h tin-2.0.0/vms/dir.h --- tin-1.8.3/vms/dir.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/dir.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,109 +0,0 @@ -/* GNU Emacs VMS directory definition file. - Copyright (C) 1986 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 1, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* - * Files-11 Ver. 2 directory structure (VMS V4.x - long names) - */ -#ifndef DIR$K_LENGTH - -#define DIR$C_FID 0 -#define DIR$C_LINKNAME 1 -#define DIR$K_LENGTH 6 -#define DIR$C_LENGTH 6 -#define DIR$S_DIRDEF 6 -#define DIR$W_SIZE 0 -#define DIR$W_VERLIMIT 2 -#define DIR$B_FLAGS 4 -#define DIR$S_TYPE 3 -#define DIR$V_TYPE 0 -#define DIR$V_NEXTREC 6 -#define DIR$V_PREVREC 7 -#define DIR$B_NAMECOUNT 5 -#define DIR$S_NAME 80 -#define DIR$T_NAME 6 - -#define DIR$K_VERSION 8 -#define DIR$C_VERSION 8 -#define DIR$S_DIRDEF1 8 -#define DIR$W_VERSION 0 -#define DIR$S_FID 6 -#define DIR$W_FID 2 -#define DIR$W_FID_NUM 2 -#define DIR$W_FID_SEQ 4 -#define DIR$W_FID_RVN 6 -#define DIR$B_FID_RVN 6 -#define DIR$B_FID_NMX 7 - -#define DIR$S_DIRDEF2 1 -#define DIR$T_LINKNAME 0 - -typedef struct dir$_name { -/* short dir$w_size; if you read with RMS, it eats this... */ - short dir$w_verlimit; /* maximum number of versions */ - union { - unsigned char dir_b_flags; -#define dir$b_flags dir__b_flags.dir_b_flags - struct { - unsigned char dir_v_type: DIR$S_TYPE; -#define dir$v_type dir__b_flags.dir___b_flags.dir_v_type - unsigned char: 3; - unsigned char dir_v_nextrec: 1; -#define dir$v_nextrec dir__b_flags.dir___b_flags.dir_v_nextrec - unsigned char dir_v_prevrec: 1; -#define dir$v_prevrec dir__b_flags.dir___b_flags.dir_v_prevrec - } dir___b_flags; - } dir__b_flags; - unsigned char dir$b_namecount; -#if defined(__GNUC__) - char dir$t_name[0]; -#elif defined(__DECC) - char *dir$t_name; -#else - char dir$t_name[]; -#endif -} dir$_dirdef; /* only the fixed first part */ - -typedef struct dir$_version { - short dir$w_version; - short dir$w_fid_num; - short dir$w_fid_seq; - union { - short dir_w_fid_rvn; -#define dir$w_fid_rvn dir__w_fid_rvn.dir_w_fid_rvn - struct { - char dir_b_fid_rvn; -#define dir$b_fid_rvn dir__w_fid_rvn.dir___w_fid_rvn.dir_b_fid_rvn - char dir_b_fid_nmx; -#define dir$b_fid_nmx dir__w_fid_rvn.dir___w_fid_rvn.dir_b_fid_nmx - } dir___w_fid_rvn; - } dir__w_fid_rvn; -} dir$_dirdef1; /* one for each version of the file */ - -typedef -struct dir$_linkname { -#ifdef __GNUC__ - char dir$t_linkname[0]; -#elif __DECC - char *dir$t_linkname; -#else - char dir$t_linkname[]; -#endif -} dir$_dirdef2; - -#endif diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/filetypes.h tin-2.0.0/vms/filetypes.h --- tin-1.8.3/vms/filetypes.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/filetypes.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -/* Define the symbols for various file types. - These are not included in POSIX. */ - -#ifndef S_IFMT -#define S_IFMT 0170000 /* type of file */ -#define S_IFDIR 0040000 /* directory */ -#define S_IFCHR 0020000 /* character special */ -#define S_IFBLK 0060000 /* block special */ -#define S_IFREG 0100000 /* regular */ -#define S_IFIFO 0010000 /* fifo */ -#define S_IFNAM 0050000 /* special named file */ -#endif /* not S_IFMT */ - diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/getopt.c tin-2.0.0/vms/getopt.c --- tin-1.8.3/vms/getopt.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/getopt.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,755 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what - "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu - before changing it! - - Copyright (C) 1987, 88, 89, 90, 91, 92, 1993 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License - as published by the Free Software Foundation; either version 2, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this program; if not, write to the Free Software - Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef __STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -#ifndef const -#define const -#endif -#endif - -/* This tells Alpha OSF/1 not to define a getopt prototype in . */ -#ifndef _NO_PROTO -#define _NO_PROTO -#endif - -#include -#ifdef VMS -#include -#else -#include -#endif - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#if defined (_LIBC) || !defined (__GNU_LIBRARY__) - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -/* Don't include stdlib.h for non-GNU C libraries because some of them - contain conflicting prototypes for getopt. */ -#include -#endif /* GNU C library. */ - -/* If GETOPT_COMPAT is defined, `+' as well as `--' can introduce a - long-named option. Because this is not POSIX.2 compliant, it is - being phased out. */ -/* #define GETOPT_COMPAT */ - -/* This version of `getopt' appears to the caller like standard Unix `getopt' - but it behaves differently for the user, since it allows the user - to intersperse the options with the other arguments. - - As `getopt' works, it permutes the elements of ARGV so that, - when it is done, all the options precede everything else. Thus - all application programs are extended to handle flexible argument order. - - Setting the environment variable POSIXLY_CORRECT disables permutation. - Then the behavior is completely standard. - - GNU application programs can use a third alternative mode in which - they can distinguish the relative order of options and other arguments. */ - -#include "getopt.h" - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg = 0; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns EOF, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* XXX 1003.2 says this must be 1 before any call. */ -int optind = 0; - -/* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - -static char *nextchar; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr = 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt = '?'; - -/* Describe how to deal with options that follow non-option ARGV-elements. - - If the caller did not specify anything, - the default is REQUIRE_ORDER if the environment variable - POSIXLY_CORRECT is defined, PERMUTE otherwise. - - REQUIRE_ORDER means don't recognize them as options; - stop option processing when the first non-option is seen. - This is what Unix does. - This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character - of the list of option characters. - - PERMUTE is the default. We permute the contents of ARGV as we scan, - so that eventually all the non-options are at the end. This allows options - to be given in any order, even with programs that were not written to - expect this. - - RETURN_IN_ORDER is an option available to programs that were written - to expect options and other ARGV-elements in any order and that care about - the ordering of the two. We describe each non-option ARGV-element - as if it were the argument of an option with character code 1. - Using `-' as the first character of the list of option characters - selects this mode of operation. - - The special argument `--' forces an end of option-scanning regardless - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return EOF with `optind' != ARGC. */ - -static enum -{ - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER -} ordering; - -#ifdef __GNU_LIBRARY__ -/* We want to avoid inclusion of string.h with non-GNU libraries - because there are many ways it can cause trouble. - On some systems, it contains special magic macros that don't work - in GCC. */ -#include -#define my_index strchr -#else - -/* Avoid depending on library functions or files - whose names are inconsistent. */ - -char *getenv (); - -static char * -my_index (str, chr) - const char *str; - int chr; -{ - while (*str) - { - if (*str == chr) - return (char *) str; - str++; - } - return 0; -} - -/* If using GCC, we can safely declare strlen this way. - If not using GCC, it is ok not to declare it. - (Supposedly there are some machines where it might get a warning, - but changing this conditional to __STDC__ is too risky.) */ -#ifdef __GNUC__ -#ifdef IN_GCC -#include "gstddef.h" -#else -#include -#endif -extern size_t strlen (const char *); -#endif - -#endif /* GNU C library. */ - -/* Handle permutation of arguments. */ - -/* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first of them; - `last_nonopt' is the index after the last of them. */ - -static int first_nonopt; -static int last_nonopt; - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - `first_nonopt' and `last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -static void -exchange (argv) - char **argv; -{ - int bottom = first_nonopt; - int middle = last_nonopt; - int top = optind; - char *tem; - - /* Exchange the shorter segment with the far end of the longer segment. - That puts the shorter segment into the right place. - It leaves the longer segment in the right place overall, - but it consists of two parts that need to be swapped next. */ - - while (top > middle && middle > bottom) - { - if (top - middle > middle - bottom) - { - /* Bottom segment is the short one. */ - int len = middle - bottom; - register int i; - - /* Swap it with the top part of the top segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[top - (middle - bottom) + i]; - argv[top - (middle - bottom) + i] = tem; - } - /* Exclude the moved bottom segment from further swapping. */ - top -= len; - } - else - { - /* Top segment is the short one. */ - int len = top - middle; - register int i; - - /* Swap it with the bottom part of the bottom segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[middle + i]; - argv[middle + i] = tem; - } - /* Exclude the moved top segment from further swapping. */ - bottom += len; - } - } - - /* Update records for the slots the non-options now occupy. */ - - first_nonopt += (optind - last_nonopt); - last_nonopt = optind; -} - -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--", - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' - is called repeatedly, it returns successively each of the option characters - from each of the option elements. - - If `getopt' finds another option character, it returns that character, - updating `optind' and `nextchar' so that the next call to `getopt' can - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, `getopt' returns `EOF'. - Then `optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an arg, - so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in `optarg'. Two colons mean an option that - wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. - - If OPTSTRING starts with `-' or `+', it requests different methods of - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with `--' instead of `-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separated - from the option name by a `=', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option's - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. - - The elements of ARGV aren't really const, because we permute them. - But we pretend they're const in the prototype to be compatible - with other systems. - - LONGOPTS is a vector of `struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. */ - -int -_getopt_internal (argc, argv, optstring, longopts, longind, long_only) - int argc; - char *const *argv; - const char *optstring; - const struct option *longopts; - int *longind; - int long_only; -{ - int option_index; - - optarg = 0; - - /* Initialize the internal data when the first call is made. - Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - - if (optind == 0) - { - first_nonopt = last_nonopt = optind = 1; - - nextchar = NULL; - - /* Determine how to handle the ordering of options and nonoptions. */ - - if (optstring[0] == '-') - { - ordering = RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] == '+') - { - ordering = REQUIRE_ORDER; - ++optstring; - } - else if (getenv ("POSIXLY_CORRECT") != NULL) - ordering = REQUIRE_ORDER; - else - ordering = PERMUTE; - } - - if (nextchar == NULL || *nextchar == '\0') - { - if (ordering == PERMUTE) - { - /* If we have just processed some options following some non-options, - exchange them so that the options come first. */ - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (last_nonopt != optind) - first_nonopt = optind; - - /* Now skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (optind < argc - && (argv[optind][0] != '-' || argv[optind][1] == '\0') -#ifdef GETOPT_COMPAT - && (longopts == NULL - || argv[optind][0] != '+' || argv[optind][1] == '\0') -#endif /* GETOPT_COMPAT */ - ) - optind++; - last_nonopt = optind; - } - - /* Special ARGV-element `--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (optind != argc && !strcmp (argv[optind], "--")) - { - optind++; - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (first_nonopt == last_nonopt) - first_nonopt = optind; - last_nonopt = argc; - - optind = argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (optind == argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (first_nonopt != last_nonopt) - optind = first_nonopt; - return EOF; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if ((argv[optind][0] != '-' || argv[optind][1] == '\0') -#ifdef GETOPT_COMPAT - && (longopts == NULL - || argv[optind][0] != '+' || argv[optind][1] == '\0') -#endif /* GETOPT_COMPAT */ - ) - { - if (ordering == REQUIRE_ORDER) - return EOF; - optarg = argv[optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Start decoding its characters. */ - - nextchar = (argv[optind] + 1 - + (longopts != NULL && argv[optind][1] == '-')); - } - - if (longopts != NULL - && ((argv[optind][0] == '-' - && (argv[optind][1] == '-' || long_only)) -#ifdef GETOPT_COMPAT - || argv[optind][0] == '+' -#endif /* GETOPT_COMPAT */ - )) - { - const struct option *p; - char *s = nextchar; - int exact = 0; - int ambig = 0; - const struct option *pfound = NULL; - int indfound; - - while (*s && *s != '=') - s++; - - /* Test all options for either exact match or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; - p++, option_index++) - if (!strncmp (p->name, nextchar, s - nextchar)) - { - if (s - nextchar == strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else - /* Second nonexact match found. */ - ambig = 1; - } - - if (ambig && !exact) - { - if (opterr) - fprintf (stderr, "%s: option `%s' is ambiguous\n", - argv[0], argv[optind]); - nextchar += strlen (nextchar); - optind++; - return '?'; - } - - if (pfound != NULL) - { - option_index = indfound; - optind++; - if (*s) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = s + 1; - else - { - if (opterr) - { - if (argv[optind - 1][1] == '-') - /* --option */ - fprintf (stderr, - "%s: option `--%s' doesn't allow an argument\n", - argv[0], pfound->name); - else - /* +option or -option */ - fprintf (stderr, - "%s: option `%c%s' doesn't allow an argument\n", - argv[0], argv[optind - 1][0], pfound->name); - } - nextchar += strlen (nextchar); - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (opterr) - fprintf (stderr, "%s: option `%s' requires an argument\n", - argv[0], argv[optind - 1]); - nextchar += strlen (nextchar); - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - /* Can't find it as a long option. If this is not getopt_long_only, - or the option starts with '--' or is not a valid short - option, then it's an error. - Otherwise interpret it as a short option. */ - if (!long_only || argv[optind][1] == '-' -#ifdef GETOPT_COMPAT - || argv[optind][0] == '+' -#endif /* GETOPT_COMPAT */ - || my_index (optstring, *nextchar) == NULL) - { - if (opterr) - { - if (argv[optind][1] == '-') - /* --option */ - fprintf (stderr, "%s: unrecognized option `--%s'\n", - argv[0], nextchar); - else - /* +option or -option */ - fprintf (stderr, "%s: unrecognized option `%c%s'\n", - argv[0], argv[optind][0], nextchar); - } - nextchar = (char *) ""; - optind++; - return '?'; - } - } - - /* Look at and handle the next option-character. */ - - { - char c = *nextchar++; - char *temp = my_index (optstring, c); - - /* Increment `optind' when we start to process its last character. */ - if (*nextchar == '\0') - ++optind; - - if (temp == NULL || c == ':') - { - if (opterr) - { -#if 0 - if (c < 040 || c >= 0177) - fprintf (stderr, "%s: unrecognized option, character code 0%o\n", - argv[0], c); - else - fprintf (stderr, "%s: unrecognized option `-%c'\n", argv[0], c); -#else - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, "%s: illegal option -- %c\n", argv[0], c); -#endif - } - optopt = c; - return '?'; - } - if (temp[1] == ':') - { - if (temp[2] == ':') - { - /* This is an option that accepts an argument optionally. */ - if (*nextchar != '\0') - { - optarg = nextchar; - optind++; - } - else - optarg = 0; - nextchar = NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (opterr) - { -#if 0 - fprintf (stderr, "%s: option `-%c' requires an argument\n", - argv[0], c); -#else - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, "%s: option requires an argument -- %c\n", - argv[0], c); -#endif - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - nextchar = NULL; - } - } - return c; - } -} - -int -getopt (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - return _getopt_internal (argc, argv, optstring, - (const struct option *) 0, - (int *) 0, - 0); -} - -#endif /* _LIBC or not __GNU_LIBRARY__. */ - -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - - c = getopt (argc, argv, "abc:d:0123456789"); - if (c == EOF) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/getopt.h tin-2.0.0/vms/getopt.h --- tin-1.8.3/vms/getopt.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/getopt.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,131 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License - as published by the Free Software Foundation; either version 2, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this program; if not, write to the Free Software - Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifndef __UNISTD_LOADED -#ifndef _GETOPT_H -#define _GETOPT_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns EOF, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -#if __STDC__ - const char *name; -#else - char *name; -#endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -#define no_argument 0 -#define required_argument 1 -#define optional_argument 2 - -#if __STDC__ -#if defined(__GNU_LIBRARY__) -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int argc, char *const *argv, const char *shortopts); -#else /* not __GNU_LIBRARY__ */ -extern int getopt (); -#endif /* not __GNU_LIBRARY__ */ -extern int getopt_long (int argc, char *const *argv, const char *shortopts, - const struct option *longopts, int *longind); -extern int getopt_long_only (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind, - int long_only); -#else /* not __STDC__ */ -extern int getopt (); -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -#endif /* not __STDC__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* _GETOPT_H */ -#endif /* __UNISTD_LOADED */ diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/getopt1.c tin-2.0.0/vms/getopt1.c --- tin-1.8.3/vms/getopt1.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/getopt1.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,180 +0,0 @@ -/* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987, 88, 89, 90, 91, 92, 1993 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License - as published by the Free Software Foundation; either version 2, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this program; if not, write to the Free Software - Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "getopt.h" - -#ifndef __STDC__ -/* This is a separate conditional since some stdc systems - reject `defined (const)'. */ -#ifndef const -#define const -#endif -#endif - -#include - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#if defined (_LIBC) || !defined (__GNU_LIBRARY__) - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -#include -#else -char *getenv (); -#endif - -#ifndef NULL -#define NULL 0 -#endif - -int -getopt_long (argc, argv, options, long_options, opt_index) - int argc; - char *const *argv; - const char *options; - const struct option *long_options; - int *opt_index; -{ - return _getopt_internal (argc, argv, options, long_options, opt_index, 0); -} - -/* Like getopt_long, but '-' as well as '--' can indicate a long option. - If an option that starts with '-' (not '--') doesn't match a long option, - but does match a short option, it is parsed as a short option - instead. */ - -int -getopt_long_only (argc, argv, options, long_options, opt_index) - int argc; - char *const *argv; - const char *options; - const struct option *long_options; - int *opt_index; -{ - return _getopt_internal (argc, argv, options, long_options, opt_index, 1); -} - - -#endif /* _LIBC or not __GNU_LIBRARY__. */ - -#ifdef TEST - -#include - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - int option_index = 0; - static struct option long_options[] = - { - {"add", 1, 0, 0}, - {"append", 0, 0, 0}, - {"delete", 1, 0, 0}, - {"verbose", 0, 0, 0}, - {"create", 0, 0, 0}, - {"file", 1, 0, 0}, - {0, 0, 0, 0} - }; - - c = getopt_long (argc, argv, "abc:d:0123456789", - long_options, &option_index); - if (c == EOF) - break; - - switch (c) - { - case 0: - printf ("option %s", long_options[option_index].name); - if (optarg) - printf (" with arg %s", optarg); - printf ("\n"); - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case 'd': - printf ("option d with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/getpass.c tin-2.0.0/vms/getpass.c --- tin-1.8.3/vms/getpass.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/getpass.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,99 +0,0 @@ -/* -SYNOPSIS - #include - - char *getpass(const char *prompt); - -MT-LEVEL - Unsafe - -DESCRIPTION - getpass() reads up to a newline or EOF from the file - SYS$INPUT, after prompting on the standard error output with - the null-terminated string prompt and disabling echoing. A - pointer is returned to a null-terminated string of at most 8 - characters. If SYS$INPUT cannot be opened, a null pointer is - returned. - -FILES - SYS$INPUT - -NOTES - The return value points to static data whose content is - overwritten by each call. - -AUTHOR - Michael Stenns - -COPYRIGHT - (c) 1997 The content of this file is in the public domain. -*/ - -#include -#include -#include - -#include -#include -#include - -typedef struct -{ - short cond_value; - short count; - int info; -} io_statblk; - -char *getpass(const char *prompt) -{ - static char password[64]; - char cMyChar = ' ', Backstr[] = {8,32,8,0}; - int pw_len = 0, status; - io_statblk status_block; - short int in_chan = 0; - short int out_chan = 0; - - memset (password, '\0', sizeof password); - sys$assign (desz("SYS$INPUT"), &in_chan,0,0); - sys$assign (desz("SYS$ERROR"), &out_chan,0,0); - /* Queue the I/O. */ - fprintf (stderr,"\n%s",prompt); fflush(stderr); - while ( !iscntrl(cMyChar) && (pw_len < (sizeof password / sizeof (char) - 1))) - { - if ( status = (sys$qiow (0, in_chan, IO$_READVBLK|IO$M_NOFILTR|IO$M_NOECHO, - &status_block,0,0, - &cMyChar,1,0,0,0,0)) != SS$_NORMAL) - { - fprintf (stderr,"\n%s\n",vms_errmsg (status_block.cond_value)); - cMyChar = '\r'; - } - else - { - if ((cMyChar == 127) || (cMyChar == 8)) - { - cMyChar = ' '; - password[pw_len] = '\0'; - if (pw_len) - { - pw_len--; - sys$qiow (0, out_chan, IO$_WRITEVBLK, - &status_block,0,0, - Backstr,3,0,0,0,0); - } - } - else - { - password[pw_len++] = cMyChar; - sys$qiow (0, out_chan, IO$_WRITEVBLK, - &status_block,0,0, - "*",1,0,0,0,0); - } - } - } - while (pw_len < 8) password[pw_len++] = ' '; - password[--pw_len] = '\0'; - sys$dassgn (in_chan); - sys$dassgn (out_chan); - fprintf (stderr,"\n"); - return password; -} diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/isxterm.c tin-2.0.0/vms/isxterm.c --- tin-1.8.3/vms/isxterm.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/isxterm.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#ifndef TRUE -# define TRUE 1 -# define FALSE 0 -#endif /* TRUE */ - -is_xterm() -{ - Display *dpy; /* X connection */ - char *displayname = NULL; /* server to contact */ - -#ifdef __alpha - dpy = XOpenDisplay (displayname); - if (!dpy) - return FALSE; - - XCloseDisplay (dpy); - return TRUE; -#else - return FALSE; -#endif /* __alpha */ -} diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/libvms.mms tin-2.0.0/vms/libvms.mms --- tin-1.8.3/vms/libvms.mms 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/libvms.mms 1970-01-01 01:00:00.000000000 +0100 @@ -1,171 +0,0 @@ -# -# DESCRIP.MMS for VMS routines of TIN -# - -# Start with MMS /DESCRIPTION=LIBVMS /MACRO=(Comp=1,ostyp=1) -# where Comp is one of GNUC, DECC or DECCXX and ostyp is ALPHA or VAX -# - -.IFDEF ALPHA -OS_TYP = ALPHA -.ENDIF - -.IFDEF VAX -OS_TYP = VAX -.ENDIF - -.IFDEF OS_TYP -.ELSE -.FIRST - @ WRITE SYS$OUTPUT " Please start MMS (or MMK) at least with following switches:" - @ WRITE SYS$OUTPUT "" - @ WRITE SYS$OUTPUT " on OpenVMS/Alpha:" - @ WRITE SYS$OUTPUT " $MMS /DESCRIPTION=LIBVMS /MACRO=(ALPHA=1,GNUC=1)" - @ WRITE SYS$OUTPUT " $MMS /DESCRIPTION=LIBVMS /MACRO=(ALPHA=1,DECC=1)" - @ WRITE SYS$OUTPUT "" - @ WRITE SYS$OUTPUT " on OpenVMS/Vax:" - @ WRITE SYS$OUTPUT " $MMS /DESCRIPTION=LIBVMS /MACRO=(VAX=1,GNUC=1)" - @ WRITE SYS$OUTPUT " $MMS /DESCRIPTION=LIBVMS /MACRO=(VAX=1,DECC=1)" - @ WRITE SYS$OUTPUT "" - @ return 44 ! %SYSTEM-F-ABORT, abort - -.ENDIF - -# -# DEC C Compiler -# -.IFDEF DECC -COMPFLAG = /DECC/WARNING=(DISABLE=IMPLICITFUNC)/PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES -INCLUDES = /INCLUDE=([-.INCLUDE],[-.VMS],[-.PCRE]) -COMPILER = DEC C -COMP = DECC -.ELSE -# -# GNU C Compiler -# -.IFDEF GNUC -CC = gcc -COMPFLAG = -INCLUDES = /INCLUDE=([-.INCLUDE],[-.VMS],[-.PCRE]) -COMPILER = GNU C -COMP = GNUC -.ELSE -# -# VAX C Compiler -# -.IFDEF VAXC -COMPFLAG = -INCLUDES = /INCLUDE=([-.INCLUDE],[-.VMS],[-.PCRE]) -COMPILER = VAX C -COMP = VAXC -# -# No Compiler specified -# -.ELSE -COMPILER = none specified -COMP = NONE -CC = $! -.ENDIF -.ENDIF -.ENDIF - -.IFDEF DEBUG -VMSLIB = LIBVMSDBG_$(COMP)_$(OS_TYP).OLB -CFLAGS = $(COMPFLAG)$(INCLUDES)/LIST/NOWARN/NOOPTIMIZE/DEBUG -LFLAGS = /DEBUG -.ELSE -VMSLIB = LIBVMS_$(COMP)_$(OS_TYP).OLB -CFLAGS = $(COMPFLAG)$(INCLUDES)/NOWARNING/OPTIMIZE -.ENDIF - -INCDIR = [-.include] - -############################################################################ - -OBJECTS = $(MODULES:.obj) - - -all : checklib $(VMSLIB)($(MODULES)) - @ WRITE SYS$OUTPUT "Built $(LIB)" - - -checklib : - @ If F$Search("$(VMSLIB)") .EQS. "" Then Library/Create $(VMSLIB) - - -$(VMSLIB)(vms) : vms.c $(INCDIR)tin.h - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(vmsdir) : vmsdir.c strings.h ndir.h - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(vmspwd) : vmspwd.c pwd.h - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(vmsfile) : vmsfile.c parse.h - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(parse) : parse.c - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(parsdate) : parsdate.c - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(getopt) : getopt.c $(INCDIR)config.h - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(getopt1) : getopt1.c getopt.h $(INCDIR)config.h - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(getpass) : getpass.c - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(qsort) : qsort.c - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - -$(VMSLIB)(isxterm) : isxterm.c - $(CC)$(CFLAGS) $(MMS$SOURCE) - LIBR/REPLACE $(MMS$TARGET) $(MMS$TARGET_NAME) - @- DELETE /NOLOG $(MMS$TARGET_NAME).OBJ;* - - - - -############################################################################ - -clean : - @ WRITE SYS$OUTPUT "Cleaning $(LIB)" - @ if f$search("*.obj;*") .nes. "" then Delete/Log *.obj;* - @ if f$search("*.olb;*") .nes. "" then Delete/Log *.olb;* - @ if f$search("*.lis;*") .nes. "" then Delete/Log *.lis;* - @ if f$search("tin.opt;*") .nes. "" then Purge/Log tin.opt - -.IFDEF DECC - -.ELSE -.FIRST : - define sys sys$library - -.LAST : - deassign sys -.ENDIF diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/ndir.h tin-2.0.0/vms/ndir.h --- tin-1.8.3/vms/ndir.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/ndir.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -/* - -- definitions for 4.2BSD-compatible directory access - - last edit: 09-Jul-1983 D A Gwyn -*/ - -#ifdef VMS -#ifndef FAB$C_BID -#include -#endif -#ifndef NAM$C_BID -#include -#endif -#ifndef RMS$_SUC -#include -#endif -#include "dir.h" -#endif /* VMS */ - -#define DIRBLKSIZ 512 /* size of directory block */ -#ifdef VMS -#define MAXNAMLEN (DIR$S_NAME + 7) /* 80 plus room for version #. */ -#define MAXFULLSPEC NAM$C_MAXRSS /* Maximum full spec */ -#else -#define MAXNAMLEN 15 /* maximum filename length */ -#endif /* VMS */ - /* NOTE: MAXNAMLEN must be one less than a multiple of 4 */ - -struct direct /* data from readdir() */ - { - long d_ino; /* inode number of entry */ - unsigned short d_reclen; /* length of this record */ - unsigned short d_namlen; /* length of string in d_name */ - char d_name[MAXNAMLEN+1]; /* name of file */ - }; - -typedef struct - { - int dd_fd; /* file descriptor */ - int dd_loc; /* offset in block */ - int dd_size; /* amount of valid data */ - char dd_buf[DIRBLKSIZ]; /* directory block */ - } DIR; /* stream data from opendir() */ - -extern DIR *opendir(); -extern struct direct *readdir(); -extern long telldir(); -extern void seekdir(); -extern void closedir(); - -#define rewinddir( dirp ) seekdir( dirp, 0L ) diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/parsdate.c tin-2.0.0/vms/parsdate.c --- tin-1.8.3/vms/parsdate.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/parsdate.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,1327 +0,0 @@ -#ifndef lint -static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; -#endif -#define YYBYACC 1 -#define YYMAJOR 1 -#define YYMINOR 9 -#define yyclearin (yychar=(-1)) -#define yyerrok (yyerrflag=0) -#define YYRECOVERING (yyerrflag!=0) -#define YYPREFIX "yy" -#line 2 "parsdate.y" -/* - * Project : tin - a Usenet reader - * Module : parsedate.y - * Author : S. Bellovin, R. $alz, J. Berets, P. Eggert - * Created : 1990-08-01 - * Updated : 2000-01-03 - * Notes : This grammar has 6 shift/reduce conflicts. - * Originally written by Steven M. Bellovin - * while at the University of North Carolina at Chapel Hill. - * Later tweaked by a couple of people on Usenet. Completely - * overhauled by Rich $alz and Jim Berets - * in August, 1990. - * Further revised (removed obsolete constructs and cleaned up - * timezone names) in August, 1991, by Rich. - * Paul Eggert helped in September 1992. - * Roland Rosenfeld added MET DST code in April 1994. - * Revision : 1.13 - * Copyright : This code is in the public domain and has no copyright. - */ - -/* SUPPRESS 530 *//* Empty body for statement */ -/* SUPPRESS 593 on yyerrlab *//* Label was not used */ -/* SUPPRESS 593 on yynewstate *//* Label was not used */ -/* SUPPRESS 595 on yypvt *//* Automatic variable may be used before set */ - -#include "tin.h" - -/* -** Get the number of elements in a fixed-size array, or a pointer just -** past the end of it. -*/ -#define ENDOF(array) (&array[SIZEOF(array)]) - -#define CTYPE(isXXXXX, c) (((unsigned char)(c) < 128) && isXXXXX(((int)c))) - -typedef char *STRING; - -extern int date_parse(void); - -#define yyparse date_parse -#define yylex date_lex -#define yyerror date_error - - - /* See the LeapYears table in Convert. */ -#define EPOCH 1970 -#define END_OF_TIME 2038 - - /* Constants for general time calculations. */ -#define DST_OFFSET 1 -#define SECSPERDAY (24L * 60L * 60L) - /* Readability for TABLE stuff. */ -#define HOUR(x) (x * 60) - -#define LPAREN '(' -#define RPAREN ')' -#define IS7BIT(x) ((unsigned int)(x) < 0200) - - -/* -** Daylight-savings mode: on, off, or not yet known. -*/ -typedef enum _DSTMODE { - DSTon, DSToff, DSTmaybe -} DSTMODE; - -/* -** Meridian: am, pm, or 24-hour style. -*/ -typedef enum _MERIDIAN { - MERam, MERpm, MER24 -} MERIDIAN; - - -/* -** Global variables. We could get rid of most of them by using a yacc -** union, but this is more efficient. (This routine predates the -** yacc %union construct.) -*/ -static char *yyInput; -static DSTMODE yyDSTmode; -static int yyHaveDate; -static int yyHaveRel; -static int yyHaveTime; -static time_t yyTimezone; -static time_t yyDay; -static time_t yyHour; -static time_t yyMinutes; -static time_t yyMonth; -static time_t yySeconds; -static time_t yyYear; -static MERIDIAN yyMeridian; -static time_t yyRelMonth; -static time_t yyRelSeconds; - -static time_t ToSeconds(time_t, time_t, time_t, MERIDIAN); -static time_t Convert(time_t, time_t, time_t, time_t, time_t, time_t, MERIDIAN, DSTMODE); -static time_t DSTcorrect(time_t, time_t); -static time_t RelativeMonth(time_t, time_t); -static int LookupWord(char *, int); -static int date_lex(void); -static int GetTimeInfo(TIMEINFO *Now); - -/* - * The 'date_error()' function is declared here to work around a defect in - * bison 1.22, which redefines 'const' further down in this file, making it - * impossible to put a prototype here, and the function later. We're using - * 'const' on the parameter to quiet gcc's -Wwrite-strings warning. - */ -/*ARGSUSED*/ -static void -date_error(const char *s) -{ - /*NOTREACHED*/ -} - -#line 120 "parsdate.y" -typedef union { - time_t Number; - enum _MERIDIAN Meridian; -} YYSTYPE; -#line 134 "y.tab.c" -#define tDAY 257 -#define tDAYZONE 258 -#define tMERIDIAN 259 -#define tMONTH 260 -#define tMONTH_UNIT 261 -#define tSEC_UNIT 262 -#define tSNUMBER 263 -#define tUNUMBER 264 -#define tZONE 265 -#define tDST 266 -#define YYERRCODE 256 -short yylhs[] = { -1, - 0, 0, 4, 4, 4, 4, 5, 5, 5, 5, - 5, 2, 2, 2, 2, 2, 1, 6, 6, 6, - 6, 6, 6, 6, 7, 7, 7, 7, 3, 3, -}; -short yylen[] = { 2, - 0, 2, 1, 2, 1, 1, 2, 4, 4, 6, - 6, 1, 1, 2, 2, 1, 1, 3, 5, 2, - 4, 2, 3, 5, 2, 2, 2, 2, 0, 1, -}; -short yydefred[] = { 1, - 0, 0, 0, 0, 0, 2, 0, 5, 6, 0, - 0, 27, 25, 30, 0, 28, 26, 0, 0, 7, - 0, 17, 0, 16, 4, 0, 0, 23, 0, 0, - 14, 15, 0, 21, 0, 9, 8, 0, 24, 0, - 19, 11, 10, -}; -short yydgoto[] = { 1, - 24, 25, 20, 6, 7, 8, 9, -}; -short yysindex[] = { 0, - -230, -35, -247, -255, -47, 0, -250, 0, 0, -246, - -25, 0, 0, 0, -244, 0, 0, -238, -236, 0, - -235, 0, -228, 0, 0, -224, -227, 0, -56, -9, - 0, 0, -225, 0, -223, 0, 0, -222, 0, -234, - 0, 0, 0, -}; -short yyrindex[] = { 0, - 0, 0, 0, 0, 1, 0, 23, 0, 0, 0, - 12, 0, 0, 0, 32, 0, 0, 0, 0, 0, - 14, 0, 24, 0, 0, 0, 0, 0, 3, 22, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, - 0, 0, 0, -}; -short yygindex[] = { 0, - -19, 0, -24, 0, 0, 0, 0, -}; -#define YYTABLESIZE 295 -short yytable[] = { 19, - 29, 35, 29, 32, 37, 12, 13, 21, 10, 36, - 18, 20, 22, 13, 23, 43, 11, 26, 27, 28, - 42, 18, 3, 12, 14, 29, 2, 30, 22, 3, - 31, 22, 4, 5, 22, 33, 34, 38, 39, 0, - 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 22, 0, 0, 0, - 0, 14, 15, 16, 17, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 29, 29, - 29, 0, 29, 29, 29, 29, 29, 29, 20, 0, - 13, 20, 0, 13, 20, 20, 13, 13, 18, 3, - 12, 18, 3, 12, 18, 18, 3, 12, 22, 0, - 0, 22, 0, 0, 22, -}; -short yycheck[] = { 47, - 0, 58, 0, 23, 29, 261, 262, 258, 44, 29, - 58, 0, 263, 0, 265, 40, 264, 264, 44, 264, - 40, 0, 0, 0, 259, 264, 257, 264, 263, 260, - 266, 0, 263, 264, 263, 260, 264, 47, 264, -1, - 264, 264, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 259, -1, -1, -1, 263, -1, -1, -1, - -1, 259, 260, 261, 262, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 257, 258, 257, - 258, -1, 260, 263, 264, 265, 264, 265, 257, -1, - 257, 260, -1, 260, 263, 264, 263, 264, 257, 257, - 257, 260, 260, 260, 263, 264, 264, 264, 257, -1, - -1, 260, -1, -1, 263, -}; -#define YYFINAL 1 -#ifndef YYDEBUG -#define YYDEBUG 0 -#endif -#define YYMAXTOKEN 266 -#if YYDEBUG -char *yyname[] = { -"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,"','",0,0,"'/'",0,0,0,0,0,0,0,0,0,0,"':'",0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"tDAY","tDAYZONE", -"tMERIDIAN","tMONTH","tMONTH_UNIT","tSEC_UNIT","tSNUMBER","tUNUMBER","tZONE", -"tDST", -}; -char *yyrule[] = { -"$accept : spec", -"spec :", -"spec : spec item", -"item : time", -"item : time zone", -"item : date", -"item : rel", -"time : tUNUMBER o_merid", -"time : tUNUMBER ':' tUNUMBER o_merid", -"time : tUNUMBER ':' tUNUMBER numzone", -"time : tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid", -"time : tUNUMBER ':' tUNUMBER ':' tUNUMBER numzone", -"zone : tZONE", -"zone : tDAYZONE", -"zone : tDAYZONE tDST", -"zone : tZONE numzone", -"zone : numzone", -"numzone : tSNUMBER", -"date : tUNUMBER '/' tUNUMBER", -"date : tUNUMBER '/' tUNUMBER '/' tUNUMBER", -"date : tMONTH tUNUMBER", -"date : tMONTH tUNUMBER ',' tUNUMBER", -"date : tUNUMBER tMONTH", -"date : tUNUMBER tMONTH tUNUMBER", -"date : tDAY ',' tUNUMBER tMONTH tUNUMBER", -"rel : tSNUMBER tSEC_UNIT", -"rel : tUNUMBER tSEC_UNIT", -"rel : tSNUMBER tMONTH_UNIT", -"rel : tUNUMBER tMONTH_UNIT", -"o_merid :", -"o_merid : tMERIDIAN", -}; -#endif -#ifdef YYSTACKSIZE -#undef YYMAXDEPTH -#define YYMAXDEPTH YYSTACKSIZE -#else -#ifdef YYMAXDEPTH -#define YYSTACKSIZE YYMAXDEPTH -#else -#define YYSTACKSIZE 500 -#define YYMAXDEPTH 500 -#endif -#endif -int yydebug; -int yynerrs; -int yyerrflag; -int yychar; -short *yyssp; -YYSTYPE *yyvsp; -YYSTYPE yyval; -YYSTYPE yylval; -short yyss[YYSTACKSIZE]; -YYSTYPE yyvs[YYSTACKSIZE]; -#define yystacksize YYSTACKSIZE -#line 311 "parsdate.y" - -/* -** An entry in the lexical lookup table. -*/ -typedef struct _TABLE { - const char *name; - int type; - time_t value; -} TABLE; - -/* Month and day table. */ -static const TABLE MonthDayTable[] = { - { "january", tMONTH, 1 }, - { "february", tMONTH, 2 }, - { "march", tMONTH, 3 }, - { "april", tMONTH, 4 }, - { "may", tMONTH, 5 }, - { "june", tMONTH, 6 }, - { "july", tMONTH, 7 }, - { "august", tMONTH, 8 }, - { "september", tMONTH, 9 }, - { "october", tMONTH, 10 }, - { "november", tMONTH, 11 }, - { "december", tMONTH, 12 }, - /* The value of the day isn't used... */ - { "sunday", tDAY, 0 }, - { "monday", tDAY, 0 }, - { "tuesday", tDAY, 0 }, - { "wednesday", tDAY, 0 }, - { "thursday", tDAY, 0 }, - { "friday", tDAY, 0 }, - { "saturday", tDAY, 0 }, -}; - -/* Time units table. */ -static const TABLE UnitsTable[] = { - { "year", tMONTH_UNIT, 12 }, - { "month", tMONTH_UNIT, 1 }, - { "week", tSEC_UNIT, 7 * 24 * 60 * 60 }, - { "day", tSEC_UNIT, 1 * 24 * 60 * 60 }, - { "hour", tSEC_UNIT, 60 * 60 }, - { "minute", tSEC_UNIT, 60 }, - { "min", tSEC_UNIT, 60 }, - { "second", tSEC_UNIT, 1 }, - { "sec", tSEC_UNIT, 1 }, -}; - -/* Timezone table. */ -static const TABLE TimezoneTable[] = { - { "gmt", tZONE, HOUR( 0) }, /* Greenwich Mean */ - { "ut", tZONE, HOUR( 0) }, /* Universal */ - { "utc", tZONE, HOUR( 0) }, /* Universal Coordinated */ - { "cut", tZONE, HOUR( 0) }, /* Coordinated Universal */ - { "z", tZONE, HOUR( 0) }, /* Greenwich Mean */ - { "wet", tZONE, HOUR( 0) }, /* Western European */ - { "bst", tDAYZONE, HOUR( 0) }, /* British Summer */ - { "nst", tZONE, HOUR(3)+30 }, /* Newfoundland Standard */ - { "ndt", tDAYZONE, HOUR(3)+30 }, /* Newfoundland Daylight */ - { "ast", tZONE, HOUR( 4) }, /* Atlantic Standard */ - { "adt", tDAYZONE, HOUR( 4) }, /* Atlantic Daylight */ - { "est", tZONE, HOUR( 5) }, /* Eastern Standard */ - { "edt", tDAYZONE, HOUR( 5) }, /* Eastern Daylight */ - { "cst", tZONE, HOUR( 6) }, /* Central Standard */ - { "cdt", tDAYZONE, HOUR( 6) }, /* Central Daylight */ - { "mst", tZONE, HOUR( 7) }, /* Mountain Standard */ - { "mdt", tDAYZONE, HOUR( 7) }, /* Mountain Daylight */ - { "pst", tZONE, HOUR( 8) }, /* Pacific Standard */ - { "pdt", tDAYZONE, HOUR( 8) }, /* Pacific Daylight */ - { "yst", tZONE, HOUR( 9) }, /* Yukon Standard */ - { "ydt", tDAYZONE, HOUR( 9) }, /* Yukon Daylight */ - { "akst", tZONE, HOUR( 9) }, /* Alaska Standard */ - { "akdt", tDAYZONE, HOUR( 9) }, /* Alaska Daylight */ - { "hst", tZONE, HOUR(10) }, /* Hawaii Standard */ - { "hast", tZONE, HOUR(10) }, /* Hawaii-Aleutian Standard */ - { "hadt", tDAYZONE, HOUR(10) }, /* Hawaii-Aleutian Daylight */ - { "ces", tDAYZONE, -HOUR(1) }, /* Central European Summer */ - { "cest", tDAYZONE, -HOUR(1) }, /* Central European Summer */ - { "mez", tZONE, -HOUR(1) }, /* Middle European */ - { "mezt", tDAYZONE, -HOUR(1) }, /* Middle European Summer */ - { "cet", tZONE, -HOUR(1) }, /* Central European */ - { "met", tZONE, -HOUR(1) }, /* Middle European */ -/* Additional aliases for MET / MET DST *************************************/ - { "mez", tZONE, -HOUR(1) }, /* Middle European */ - { "mewt", tZONE, -HOUR(1) }, /* Middle European Winter */ - { "mest", tDAYZONE, -HOUR(1) }, /* Middle European Summer */ - { "mes", tDAYZONE, -HOUR(1) }, /* Middle European Summer */ - { "mesz", tDAYZONE, -HOUR(1) }, /* Middle European Summer */ - { "msz", tDAYZONE, -HOUR(1) }, /* Middle European Summer */ - { "metdst", tDAYZONE, -HOUR(1) }, /* Middle European Summer */ -/****************************************************************************/ - { "eet", tZONE, -HOUR(2) }, /* Eastern Europe */ - { "msk", tZONE, -HOUR(3) }, /* Moscow Winter */ - { "msd", tDAYZONE, -HOUR(3) }, /* Moscow Summer */ - { "wast", tZONE, -HOUR(8) }, /* West Australian Standard */ - { "wadt", tDAYZONE, -HOUR(8) }, /* West Australian Daylight */ - { "hkt", tZONE, -HOUR(8) }, /* Hong Kong */ - { "cct", tZONE, -HOUR(8) }, /* China Coast */ - { "jst", tZONE, -HOUR(9) }, /* Japan Standard */ - { "kst", tZONE, -HOUR(9) }, /* Korean Standard */ - { "kdt", tZONE, -HOUR(9) }, /* Korean Daylight */ - { "cast", tZONE, -(HOUR(9)+30) }, /* Central Australian Standard */ - { "cadt", tDAYZONE, -(HOUR(9)+30) }, /* Central Australian Daylight */ - { "east", tZONE, -HOUR(10) }, /* Eastern Australian Standard */ - { "eadt", tDAYZONE, -HOUR(10) }, /* Eastern Australian Daylight */ - { "nzst", tZONE, -HOUR(12) }, /* New Zealand Standard */ - { "nzdt", tDAYZONE, -HOUR(12) }, /* New Zealand Daylight */ - - /* For completeness we include the following entries. */ -#if 0 - - /* Duplicate names. Either they conflict with a zone listed above - * (which is either more likely to be seen or just been in circulation - * longer), or they conflict with another zone in this section and - * we could not reasonably choose one over the other. */ - { "fst", tZONE, HOUR( 2) }, /* Fernando De Noronha Standard */ - { "fdt", tDAYZONE, HOUR( 2) }, /* Fernando De Noronha Daylight */ - { "bst", tZONE, HOUR( 3) }, /* Brazil Standard */ - { "est", tZONE, HOUR( 3) }, /* Eastern Standard (Brazil) */ - { "edt", tDAYZONE, HOUR( 3) }, /* Eastern Daylight (Brazil) */ - { "wst", tZONE, HOUR( 4) }, /* Western Standard (Brazil) */ - { "wdt", tDAYZONE, HOUR( 4) }, /* Western Daylight (Brazil) */ - { "cst", tZONE, HOUR( 5) }, /* Chile Standard */ - { "cdt", tDAYZONE, HOUR( 5) }, /* Chile Daylight */ - { "ast", tZONE, HOUR( 5) }, /* Acre Standard */ - { "adt", tDAYZONE, HOUR( 5) }, /* Acre Daylight */ - { "cst", tZONE, HOUR( 5) }, /* Cuba Standard */ - { "cdt", tDAYZONE, HOUR( 5) }, /* Cuba Daylight */ - { "est", tZONE, HOUR( 6) }, /* Easter Island Standard */ - { "edt", tDAYZONE, HOUR( 6) }, /* Easter Island Daylight */ - { "sst", tZONE, HOUR(11) }, /* Samoa Standard */ - { "ist", tZONE, -HOUR(2) }, /* Israel Standard */ - { "idt", tDAYZONE, -HOUR(2) }, /* Israel Daylight */ - { "idt", tDAYZONE, -(HOUR(3)+30) }, /* Iran Daylight */ - { "ist", tZONE, -(HOUR(3)+30) }, /* Iran Standard */ - { "cst", tZONE, -HOUR(8) }, /* China Standard */ - { "cdt", tDAYZONE, -HOUR(8) }, /* China Daylight */ - { "sst", tZONE, -HOUR(8) }, /* Singapore Standard */ - - /* Dubious (e.g., not in Olson's TIMEZONE package) or obsolete. */ - { "gst", tZONE, HOUR( 3) }, /* Greenland Standard */ - { "wat", tZONE, -HOUR(1) }, /* West Africa */ - { "at", tZONE, HOUR( 2) }, /* Azores */ - { "gst", tZONE, -HOUR(10) }, /* Guam Standard */ - { "nft", tZONE, HOUR(3)+30 }, /* Newfoundland */ - { "idlw", tZONE, HOUR(12) }, /* International Date Line West */ - { "mewt", tZONE, -HOUR(1) }, /* Middle European Winter */ - { "mest", tDAYZONE, -HOUR(1) }, /* Middle European Summer */ - { "swt", tZONE, -HOUR(1) }, /* Swedish Winter */ - { "sst", tDAYZONE, -HOUR(1) }, /* Swedish Summer */ - { "fwt", tZONE, -HOUR(1) }, /* French Winter */ - { "fst", tDAYZONE, -HOUR(1) }, /* French Summer */ - { "bt", tZONE, -HOUR(3) }, /* Baghdad */ - { "it", tZONE, -(HOUR(3)+30) }, /* Iran */ - { "zp4", tZONE, -HOUR(4) }, /* USSR Zone 3 */ - { "zp5", tZONE, -HOUR(5) }, /* USSR Zone 4 */ - { "ist", tZONE, -(HOUR(5)+30) }, /* Indian Standard */ - { "zp6", tZONE, -HOUR(6) }, /* USSR Zone 5 */ - { "nst", tZONE, -HOUR(7) }, /* North Sumatra */ - { "sst", tZONE, -HOUR(7) }, /* South Sumatra */ - { "jt", tZONE, -(HOUR(7)+30) }, /* Java (3pm in Cronusland!) */ - { "nzt", tZONE, -HOUR(12) }, /* New Zealand */ - { "idle", tZONE, -HOUR(12) }, /* International Date Line East */ - { "cat", tZONE, HOUR(10) }, /* -- expired 1967 */ - { "nt", tZONE, HOUR(11) }, /* -- expired 1967 */ - { "ahst", tZONE, HOUR(10) }, /* -- expired 1983 */ - { "hdt", tDAYZONE, HOUR(10) }, /* -- expired 1986 */ -#endif /* 0 */ -}; - -static time_t -ToSeconds( - time_t Hours, - time_t Minutes, - time_t Seconds, - MERIDIAN Meridian) -{ - if (Minutes < 0 || Minutes > 59 || Seconds < 0 || Seconds > 61) - return -1; - if (Meridian == MER24) { - if (Hours < 0 || Hours > 23) - return -1; - } - else { - if (Hours < 1 || Hours > 12) - return -1; - if (Hours == 12) - Hours = 0; - if (Meridian == MERpm) - Hours += 12; - } - return (Hours * 60L + Minutes) * 60L + Seconds; -} - - -static time_t -Convert( - time_t Month, - time_t Day, - time_t Year, - time_t Hours, - time_t Minutes, - time_t Seconds, - MERIDIAN Meridian, - DSTMODE dst) -{ - static const int DaysNormal[13] = { - 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 - }; - static const int DaysLeap[13] = { - 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 - }; - static const int LeapYears[] = { - 1972, 1976, 1980, 1984, 1988, 1992, 1996, - 2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028, 2032, 2036 - }; - register const int *yp; - register const int *mp; - register time_t Julian; - register int i; - time_t tod; - - if (Year < 0) - Year = -Year; - if (Year < 70) - Year += 2000; - if (Year < 100) - Year += 1900; - if (Year < EPOCH) - Year += 100; - for (mp = DaysNormal, yp = LeapYears; yp < ENDOF(LeapYears); yp++) - if (Year == *yp) { - mp = DaysLeap; - break; - } - if (Year < EPOCH || Year > END_OF_TIME - || Month < 1 || Month > 12 - /* NOSTRICT *//* conversion from long may lose accuracy */ - || Day < 1 || Day > mp[(int)Month]) - return -1; - - Julian = Day - 1 + (Year - EPOCH) * 365; - for (yp = LeapYears; yp < ENDOF(LeapYears); yp++, Julian++) - if (Year <= *yp) - break; - for (i = 1; i < Month; i++) - Julian += *++mp; - Julian *= SECSPERDAY; - Julian += yyTimezone * 60L; - if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0) - return -1; - Julian += tod; - tod = Julian; - if (dst == DSTon || (dst == DSTmaybe && localtime(&tod)->tm_isdst)) - Julian -= DST_OFFSET * 60 * 60; - return Julian; -} - - -static time_t -DSTcorrect( - time_t Start, - time_t Future) -{ - time_t StartDay; - time_t FutureDay; - - StartDay = (localtime(&Start)->tm_hour + 1) % 24; - FutureDay = (localtime(&Future)->tm_hour + 1) % 24; - return (Future - Start) + (StartDay - FutureDay) * DST_OFFSET * 60 * 60; -} - - -static time_t -RelativeMonth( - time_t Start, - time_t RelMonth) -{ - struct tm *tm; - time_t Month; - time_t Year; - - tm = localtime(&Start); - Month = 12 * tm->tm_year + tm->tm_mon + RelMonth; - Year = Month / 12 + 1900; - Month = Month % 12 + 1; - return DSTcorrect(Start, - Convert(Month, (time_t)tm->tm_mday, Year, - (time_t)tm->tm_hour, (time_t)tm->tm_min, (time_t)tm->tm_sec, - MER24, DSTmaybe)); -} - - -static int -LookupWord( - char *buff, - register int length) -{ - register char *p; - register const char *q; - register const TABLE *tp; - register int c; - - p = buff; - c = p[0]; - - /* See if we have an abbreviation for a month. */ - if (length == 3 || (length == 4 && p[3] == '.')) - for (tp = MonthDayTable; tp < ENDOF(MonthDayTable); tp++) { - q = tp->name; - if (c == q[0] && p[1] == q[1] && p[2] == q[2]) { - yylval.Number = tp->value; - return tp->type; - } - } - else - for (tp = MonthDayTable; tp < ENDOF(MonthDayTable); tp++) - if (c == tp->name[0] && strcmp(p, tp->name) == 0) { - yylval.Number = tp->value; - return tp->type; - } - - /* Try for a timezone. */ - for (tp = TimezoneTable; tp < ENDOF(TimezoneTable); tp++) - if (c == tp->name[0] && p[1] == tp->name[1] - && strcmp(p, tp->name) == 0) { - yylval.Number = tp->value; - return tp->type; - } - - if (strcmp(buff, "dst") == 0) - return tDST; - - /* Try the units table. */ - for (tp = UnitsTable; tp < ENDOF(UnitsTable); tp++) - if (c == tp->name[0] && strcmp(p, tp->name) == 0) { - yylval.Number = tp->value; - return tp->type; - } - - /* Strip off any plural and try the units table again. */ - if (--length > 0 && p[length] == 's') { - p[length] = '\0'; - for (tp = UnitsTable; tp < ENDOF(UnitsTable); tp++) - if (c == tp->name[0] && strcmp(p, tp->name) == 0) { - p[length] = 's'; - yylval.Number = tp->value; - return tp->type; - } - p[length] = 's'; - } - length++; - - /* Drop out any periods. */ - for (p = buff, q = (STRING)buff; *q; q++) - if (*q != '.') - *p++ = *q; - *p = '\0'; - - /* Try the meridians. */ - if (buff[1] == 'm' && buff[2] == '\0') { - if (buff[0] == 'a') { - yylval.Meridian = MERam; - return tMERIDIAN; - } - if (buff[0] == 'p') { - yylval.Meridian = MERpm; - return tMERIDIAN; - } - } - - /* If we saw any periods, try the timezones again. */ - if (p - buff != length) { - c = buff[0]; - for (p = buff, tp = TimezoneTable; tp < ENDOF(TimezoneTable); tp++) - if (c == tp->name[0] && p[1] == tp->name[1] - && strcmp(p, tp->name) == 0) { - yylval.Number = tp->value; - return tp->type; - } - } - - /* Unknown word -- assume GMT timezone. */ - yylval.Number = 0; - return tZONE; -} - - -static int -date_lex(void) -{ - register int c; - register char *p; - char buff[20]; - register int sign; - register int i; - register int nesting; - - forever { - /* Get first character after the whitespace. */ - forever { - while (CTYPE(isspace, *yyInput)) - yyInput++; - c = *yyInput; - - /* Ignore RFC 822 comments, typically time zone names. */ - if (c != LPAREN) - break; - for (nesting = 1; (c = *++yyInput) != RPAREN || --nesting; ) - if (c == LPAREN) - nesting++; - else if (!IS7BIT(c) || c == '\0' || c == '\r' - || (c == '\\' && ((c = *++yyInput) == '\0' || !IS7BIT(c)))) - /* Lexical error: bad comment. */ - return '?'; - yyInput++; - } - - /* A number? */ - if (CTYPE(isdigit, c) || c == '-' || c == '+') { - if (c == '-' || c == '+') { - sign = c == '-' ? -1 : 1; - yyInput++; - if (!CTYPE(isdigit, *yyInput)) - /* Skip the plus or minus sign. */ - continue; - } - else - sign = 0; - for (i = 0; (c = *yyInput++) != '\0' && CTYPE(isdigit, c); ) - i = 10 * i + c - '0'; - yyInput--; - yylval.Number = sign < 0 ? -i : i; - return sign ? tSNUMBER : tUNUMBER; - } - - /* A word? */ - if (CTYPE(isalpha, c)) { - for (p = buff; (c = *yyInput++) == '.' || CTYPE(isalpha, c); ) - if (p < &buff[sizeof buff - 1]) - *p++ = CTYPE(isupper, c) ? tolower(c) : c; - *p = '\0'; - yyInput--; - return LookupWord(buff, p - buff); - } - - return *yyInput++; - } -} - - -static int -GetTimeInfo( - TIMEINFO *Now) -{ - static time_t LastTime; - static long LastTzone; - struct tm *tm; -#if defined(HAVE_GETTIMEOFDAY) - struct timeval tv; -#endif /* defined(HAVE_GETTIMEOFDAY) */ -#if defined(DONT_HAVE_TM_GMTOFF) - struct tm local; - struct tm gmt; -#endif /* !defined(DONT_HAVE_TM_GMTOFF) */ - - /* Get the basic time. */ -#if defined(HAVE_GETTIMEOFDAY) - if (gettimeofday(&tv, (struct timezone *)NULL) == -1) - return -1; - Now->time = tv.tv_sec; - Now->usec = tv.tv_usec; -#else - /* Can't check for -1 since that might be a time, I guess. */ - (void)time(&Now->time); - Now->usec = 0; -#endif /* defined(HAVE_GETTIMEOFDAY) */ - - /* Now get the timezone if it's been an hour since the last time. */ - if (Now->time - LastTime > 60 * 60) { - LastTime = Now->time; - if ((tm = localtime(&Now->time)) == NULL) - return -1; -#if defined(DONT_HAVE_TM_GMTOFF) - /* To get the timezone, compare localtime with GMT. */ - local = *tm; - if ((tm = gmtime(&Now->time)) == NULL) - return -1; - gmt = *tm; - - /* Assume we are never more than 24 hours away. */ - LastTzone = gmt.tm_yday - local.tm_yday; - if (LastTzone > 1) - LastTzone = -24; - else if (LastTzone < -1) - LastTzone = 24; - else - LastTzone *= 24; - - /* Scale in the hours and minutes; ignore seconds. */ - LastTzone += gmt.tm_hour - local.tm_hour; - LastTzone *= 60; - LastTzone += gmt.tm_min - local.tm_min; -#else - LastTzone = (0 - tm->tm_gmtoff) / 60; -#endif /* defined(DONT_HAVE_TM_GMTOFF) */ - } - Now->tzone = LastTzone; - return 0; -} - - -time_t -parsedate( - char *p, - TIMEINFO *now) -{ - struct tm *tm; - TIMEINFO ti; - time_t Start; - - yyInput = p; - if (now == NULL) { - now = &ti; - (void)GetTimeInfo(&ti); - } - - tm = localtime(&now->time); - yyYear = tm->tm_year + 1900; - yyMonth = tm->tm_mon + 1; - yyDay = tm->tm_mday; - yyTimezone = now->tzone; - if(tm->tm_isdst) /* Correct timezone offset for DST */ - yyTimezone += DST_OFFSET * 60; - yyDSTmode = DSTmaybe; - yyHour = 0; - yyMinutes = 0; - yySeconds = 0; - yyMeridian = MER24; - yyRelSeconds = 0; - yyRelMonth = 0; - yyHaveDate = 0; - yyHaveRel = 0; - yyHaveTime = 0; - - if (date_parse() || yyHaveTime > 1 || yyHaveDate > 1) - return -1; - - if (yyHaveDate || yyHaveTime) { - Start = Convert(yyMonth, yyDay, yyYear, yyHour, yyMinutes, yySeconds, - yyMeridian, yyDSTmode); - if (Start < 0) - return -1; - } - else { - Start = now->time; - if (!yyHaveRel) - Start -= (tm->tm_hour * 60L + tm->tm_min) * 60L + tm->tm_sec; - } - - Start += yyRelSeconds; - if (yyRelMonth) - Start += RelativeMonth(Start, yyRelMonth); - - /* Have to do *something* with a legitimate -1 so it's distinguishable - * from the error return value. (Alternately could set errno on error.) */ - return Start == -1 ? 0 : Start; -} -#line 889 "y.tab.c" -#define YYABORT goto yyabort -#define YYREJECT goto yyabort -#define YYACCEPT goto yyaccept -#define YYERROR goto yyerrlab -int -yyparse(void) -{ - register int yym, yyn, yystate; -#if YYDEBUG - register char *yys; - extern char *getenv(); - - if (yys = getenv("YYDEBUG")) - { - yyn = *yys; - if (yyn >= '0' && yyn <= '9') - yydebug = yyn - '0'; - } -#endif - - yynerrs = 0; - yyerrflag = 0; - yychar = (-1); - - yyssp = yyss; - yyvsp = yyvs; - *yyssp = yystate = 0; - -yyloop: - if (yyn = yydefred[yystate]) goto yyreduce; - if (yychar < 0) - { - if ((yychar = yylex()) < 0) yychar = 0; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, reading %d (%s)\n", - YYPREFIX, yystate, yychar, yys); - } -#endif - } - if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yychar) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, shifting to state %d\n", - YYPREFIX, yystate, yytable[yyn]); -#endif - if (yyssp >= yyss + yystacksize - 1) - { - goto yyoverflow; - } - *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; - yychar = (-1); - if (yyerrflag > 0) --yyerrflag; - goto yyloop; - } - if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yychar) - { - yyn = yytable[yyn]; - goto yyreduce; - } - if (yyerrflag) goto yyinrecovery; -#ifdef lint - goto yynewerror; -#endif -yynewerror: - yyerror("syntax error"); -#ifdef lint - goto yyerrlab; -#endif -yyerrlab: - ++yynerrs; -yyinrecovery: - if (yyerrflag < 3) - { - yyerrflag = 3; - for (;;) - { - if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, error recovery shifting\ - to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); -#endif - if (yyssp >= yyss + yystacksize - 1) - { - goto yyoverflow; - } - *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; - goto yyloop; - } - else - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: error recovery discarding state %d\n", - YYPREFIX, *yyssp); -#endif - if (yyssp <= yyss) goto yyabort; - --yyssp; - --yyvsp; - } - } - } - else - { - if (yychar == 0) goto yyabort; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, error recovery discards token %d (%s)\n", - YYPREFIX, yystate, yychar, yys); - } -#endif - yychar = (-1); - goto yyloop; - } -yyreduce: -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, reducing by rule %d (%s)\n", - YYPREFIX, yystate, yyn, yyrule[yyn]); -#endif - yym = yylen[yyn]; - yyval = yyvsp[1-yym]; - switch (yyn) - { -case 3: -#line 138 "parsdate.y" -{ - yyHaveTime++; -#if defined(lint) - /* I am compulsive about lint natterings... */ - if (yyHaveTime == -1) { - YYERROR; - } -#endif /* defined(lint) */ - } -break; -case 4: -#line 147 "parsdate.y" -{ - yyHaveTime++; - yyTimezone = yyvsp[0].Number; - } -break; -case 5: -#line 151 "parsdate.y" -{ - yyHaveDate++; - } -break; -case 6: -#line 154 "parsdate.y" -{ - yyHaveRel = 1; - } -break; -case 7: -#line 159 "parsdate.y" -{ - if (yyvsp[-1].Number < 100) { - yyHour = yyvsp[-1].Number; - yyMinutes = 0; - } - else { - yyHour = yyvsp[-1].Number / 100; - yyMinutes = yyvsp[-1].Number % 100; - } - yySeconds = 0; - yyMeridian = yyvsp[0].Meridian; - } -break; -case 8: -#line 171 "parsdate.y" -{ - yyHour = yyvsp[-3].Number; - yyMinutes = yyvsp[-1].Number; - yySeconds = 0; - yyMeridian = yyvsp[0].Meridian; - } -break; -case 9: -#line 177 "parsdate.y" -{ - yyHour = yyvsp[-3].Number; - yyMinutes = yyvsp[-1].Number; - yyTimezone = yyvsp[0].Number; - yyMeridian = MER24; - yyDSTmode = DSToff; - } -break; -case 10: -#line 184 "parsdate.y" -{ - yyHour = yyvsp[-5].Number; - yyMinutes = yyvsp[-3].Number; - yySeconds = yyvsp[-1].Number; - yyMeridian = yyvsp[0].Meridian; - } -break; -case 11: -#line 190 "parsdate.y" -{ - yyHour = yyvsp[-5].Number; - yyMinutes = yyvsp[-3].Number; - yySeconds = yyvsp[-1].Number; - yyTimezone = yyvsp[0].Number; - yyMeridian = MER24; - yyDSTmode = DSToff; - } -break; -case 12: -#line 200 "parsdate.y" -{ - yyval.Number = yyvsp[0].Number; - yyDSTmode = DSToff; - } -break; -case 13: -#line 204 "parsdate.y" -{ - yyval.Number = yyvsp[0].Number; - yyDSTmode = DSTon; - } -break; -case 14: -#line 208 "parsdate.y" -{ - yyTimezone = yyvsp[-1].Number; - yyDSTmode = DSTon; - } -break; -case 15: -#line 212 "parsdate.y" -{ - /* Only allow "GMT+300" and "GMT-0800" */ - if (yyvsp[-1].Number != 0) { - YYABORT; - } - yyval.Number = yyvsp[0].Number; - yyDSTmode = DSToff; - } -break; -case 16: -#line 220 "parsdate.y" -{ - yyval.Number = yyvsp[0].Number; - yyDSTmode = DSToff; - } -break; -case 17: -#line 226 "parsdate.y" -{ - int i; - - /* Unix and GMT and numeric timezones -- a little confusing. */ - if ((int)yyvsp[0].Number < 0) { - /* Don't work with negative modulus. */ - yyvsp[0].Number = -(int)yyvsp[0].Number; - if (yyvsp[0].Number > 9999 || (i = yyvsp[0].Number % 100) >= 60) { - YYABORT; - } - yyval.Number = (yyvsp[0].Number / 100) * 60 + i; - } - else { - if (yyvsp[0].Number > 9999 || (i = yyvsp[0].Number % 100) >= 60) { - YYABORT; - } - yyval.Number = -((yyvsp[0].Number / 100) * 60 + i); - } - } -break; -case 18: -#line 247 "parsdate.y" -{ - yyMonth = yyvsp[-2].Number; - yyDay = yyvsp[0].Number; - } -break; -case 19: -#line 251 "parsdate.y" -{ - if (yyvsp[-4].Number > 100) { - yyYear = yyvsp[-4].Number; - yyMonth = yyvsp[-2].Number; - yyDay = yyvsp[0].Number; - } - else { - yyMonth = yyvsp[-4].Number; - yyDay = yyvsp[-2].Number; - yyYear = yyvsp[0].Number; - } - } -break; -case 20: -#line 263 "parsdate.y" -{ - yyMonth = yyvsp[-1].Number; - yyDay = yyvsp[0].Number; - } -break; -case 21: -#line 267 "parsdate.y" -{ - yyMonth = yyvsp[-3].Number; - yyDay = yyvsp[-2].Number; - yyYear = yyvsp[0].Number; - } -break; -case 22: -#line 272 "parsdate.y" -{ - yyDay = yyvsp[-1].Number; - yyMonth = yyvsp[0].Number; - } -break; -case 23: -#line 276 "parsdate.y" -{ - yyDay = yyvsp[-2].Number; - yyMonth = yyvsp[-1].Number; - yyYear = yyvsp[0].Number; - } -break; -case 24: -#line 281 "parsdate.y" -{ - yyDay = yyvsp[-2].Number; - yyMonth = yyvsp[-1].Number; - yyYear = yyvsp[0].Number; - } -break; -case 25: -#line 288 "parsdate.y" -{ - yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number; - } -break; -case 26: -#line 291 "parsdate.y" -{ - yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number; - } -break; -case 27: -#line 294 "parsdate.y" -{ - yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number; - } -break; -case 28: -#line 297 "parsdate.y" -{ - yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number; - } -break; -case 29: -#line 302 "parsdate.y" -{ - yyval.Meridian = MER24; - } -break; -case 30: -#line 305 "parsdate.y" -{ - yyval.Meridian = yyvsp[0].Meridian; - } -break; -#line 1272 "y.tab.c" - } - yyssp -= yym; - yystate = *yyssp; - yyvsp -= yym; - yym = yylhs[yyn]; - if (yystate == 0 && yym == 0) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: after reduction, shifting from state 0 to\ - state %d\n", YYPREFIX, YYFINAL); -#endif - yystate = YYFINAL; - *++yyssp = YYFINAL; - *++yyvsp = yyval; - if (yychar < 0) - { - if ((yychar = yylex()) < 0) yychar = 0; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, reading %d (%s)\n", - YYPREFIX, YYFINAL, yychar, yys); - } -#endif - } - if (yychar == 0) goto yyaccept; - goto yyloop; - } - if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yystate) - yystate = yytable[yyn]; - else - yystate = yydgoto[yym]; -#if YYDEBUG - if (yydebug) - printf("%sdebug: after reduction, shifting from state %d \ -to state %d\n", YYPREFIX, *yyssp, yystate); -#endif - if (yyssp >= yyss + yystacksize - 1) - { - goto yyoverflow; - } - *++yyssp = yystate; - *++yyvsp = yyval; - goto yyloop; -yyoverflow: - yyerror("yacc stack overflow"); -yyabort: - return (1); -yyaccept: - return (0); -} diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/parse.c tin-2.0.0/vms/parse.c --- tin-1.8.3/vms/parse.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/parse.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,91 +0,0 @@ -#include -#include -#include -#include -#include -#include -#ifdef __GNUC__ -#include -#endif -#include "parse.h" - -struct filespec *sysparse(char *filename) -{ - struct FAB fab = cc$rms_fab; - struct NAM nam = cc$rms_nam; - static struct filespec spec; - char *ptr1, *ptr2; - char *ptr; - char fname[255]; - - int len, idx; - - ptr = (char *)&fname; - strcpy(ptr, filename); - - if (strcmp(ptr, "~") == 0) - strcpy(ptr, getenv("HOME")); - if (ptr1 = (char *)strstr(ptr, "[000000][")) - { - ptr2 = ptr1+8; - memmove(ptr1, ptr2, strlen(ptr2)+1); - } - while (ptr1 = (char *)strstr(ptr, "][")) - { /* Remove any "]["'s in the string */ - ptr2 = ptr1+2; - memmove(ptr1, ptr2, strlen(ptr2)+1); - } /* while */ - - for (idx=0;idx': - case ';': case '.': case ':': - break; - default : ptr[idx] = '$'; /* for the moment */ - } - } - - fab.fab$l_fna = ptr; - fab.fab$b_fns = strlen(ptr); - fab.fab$l_nam = &nam; - fab.fab$l_fop = FAB$M_NAM; - nam.nam$l_esa = spec.full; - nam.nam$b_ess = sizeof spec.full; - nam.nam$b_nop |= NAM$M_SYNCHK; - - if (sys$parse(&fab, 0, 0) == RMS$_NORMAL) { - len = nam.nam$b_esl - 1; - if (spec.full[len] == ';' && spec.full[len - 1] == '.') - len -= 2; - spec.full[len + 1] = '\0'; - if (nam.nam$b_dev > 0) - sprintf(spec.dev, "%*.*s", nam.nam$b_dev, nam.nam$b_dev, nam.nam$l_dev); - else - spec.dev[0] = 0; - if (nam.nam$b_dir > 0) - sprintf(spec.dir, "%*.*s", nam.nam$b_dir, nam.nam$b_dir, nam.nam$l_dir); - else - spec.dir[0] = 0; - if (nam.nam$b_name > 0) - sprintf(spec.filename, "%*.*s%*.*s", nam.nam$b_name, nam.nam$b_name, - nam.nam$l_name, nam.nam$b_type, nam.nam$b_type, nam.nam$l_type); - else - spec.filename[0] = 0; - return &spec; - } else { - fprintf(stderr, "SYS$PARSE failed on %s\n", ptr); - exit(0); - } -} diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/parse.h tin-2.0.0/vms/parse.h --- tin-1.8.3/vms/parse.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/parse.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -#include - -struct filespec { - char dev[32]; - char dir[256]; - char filename[100]; - char full[NAM$C_MAXRSS]; -}; - -struct filespec *sysparse(char *filename); diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/pwd.h tin-2.0.0/vms/pwd.h --- tin-1.8.3/vms/pwd.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/pwd.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ -/* GNU Emacs password definition file. - Copyright (C) 1986 Free Software Foundation. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 1, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifdef VMS -/* On VMS, we read the UAF file and emulate some of the necessary - fields for Emacs. */ -#include "uaf.h" - -struct passwd { - char pw_name[UAF$S_USERNAME+1]; - char pw_passwd[UAF$S_PWD]; - short pw_uid; - short pw_gid; - char pw_gecos[UAF$S_OWNER+1]; - char pw_dir[UAF$S_DEFDEV+UAF$S_DEFDIR+1]; - char pw_shell[UAF$S_DEFCLI+1]; -}; -#endif /* VMS */ diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/qsort.c tin-2.0.0/vms/qsort.c --- tin-1.8.3/vms/qsort.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/qsort.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,202 +0,0 @@ -/* - * Copyright (c) 1980 Regents of the University of California. - * All rights reserved. The Berkeley software License Agreement - * specifies the terms and conditions for redistribution. - */ - -#ifndef lint -static char sccsid[] = "@(#)qsort.c 5.1 (Berkeley) 6/5/85"; -#endif /* not lint */ - -/* - * qsort.c: - * Our own version of the system qsort routine which is faster by an average - * of 25%, with lows and highs of 10% and 50%. - * The THRESHold below is the insertion sort threshold, and has been adjusted - * for records of size 48 bytes. - * The MTHREShold is where we stop finding a better median. - */ - -#define THRESH 4 /* threshold for insertion */ -#define MTHRESH 6 /* threshold for median */ - -static int (*qcmp)(); /* the comparison routine */ -static int qsz; /* size of each record */ -static int thresh; /* THRESHold in chars */ -static int mthresh; /* MTHRESHold in chars */ -static void qst(char *base, char *max); - -/* - * my_qsort: - * First, set up some global parameters for qst to share. Then, quicksort - * with qst(), and then a cleanup insertion sort ourselves. Sound simple? - * It's not... - */ - -void my_qsort(char *base, int n, int size, int (*compar)()) -{ - register char c, *i, *j, *lo, *hi; - char *min, *max; - - if (n <= 1) - return; - qsz = size; - qcmp = compar; - thresh = qsz * THRESH; - mthresh = qsz * MTHRESH; - max = base + n * qsz; - if (n >= THRESH) { - qst(base, max); - hi = base + thresh; - } else { - hi = max; - } - /* - * First put smallest element, which must be in the first THRESH, in - * the first position as a sentinel. This is done just by searching - * the first THRESH elements (or the first n if n < THRESH), finding - * the min, and swapping it into the first position. - */ - for (j = lo = base; (lo += qsz) < hi; ) - if ((*qcmp)(j, lo) > 0) - j = lo; - if (j != base) { - /* swap j into place */ - for (i = base, hi = base + qsz; i < hi; ) { - c = *j; - *j++ = *i; - *i++ = c; - } - } - /* - * With our sentinel in place, we now run the following hyper-fast - * insertion sort. For each remaining element, min, from [1] to [n-1], - * set hi to the index of the element AFTER which this one goes. - * Then, do the standard insertion sort shift on a character at a time - * basis for each element in the frob. - */ - for (min = base; (hi = min += qsz) < max; ) { - while ((*qcmp)(hi -= qsz, min) > 0) - /* void */; - if ((hi += qsz) != min) { - for (lo = min + qsz; --lo >= min; ) { - c = *lo; - for (i = j = lo; (j -= qsz) >= hi; i = j) - *i = *j; - *i = c; - } - } - } -} - -/* - * qst: - * Do a quicksort - * First, find the median element, and put that one in the first place as the - * discriminator. (This "median" is just the median of the first, last and - * middle elements). (Using this median instead of the first element is a big - * win). Then, the usual partitioning/swapping, followed by moving the - * discriminator into the right place. Then, figure out the sizes of the two - * partions, do the smaller one recursively and the larger one via a repeat of - * this code. Stopping when there are less than THRESH elements in a partition - * and cleaning up with an insertion sort (in our caller) is a huge win. - * All data swaps are done in-line, which is space-losing but time-saving. - * (And there are only three places where this is done). - */ - -static void qst(char *base, char *max) -{ - register char c, *i, *j, *jj; - register int ii; - char *mid, *tmp; - int lo, hi; - - /* - * At the top here, lo is the number of characters of elements in the - * current partition. (Which should be max - base). - * Find the median of the first, last, and middle element and make - * that the middle element. Set j to largest of first and middle. - * If max is larger than that guy, then it's that guy, else compare - * max with loser of first and take larger. Things are set up to - * prefer the middle, then the first in case of ties. - */ - lo = max - base; /* number of elements as chars */ - do { - mid = i = base + qsz * ((lo / qsz) >> 1); - if (lo >= mthresh) { - j = ((*qcmp)((jj = base), i) > 0 ? jj : i); - if ((*qcmp)(j, (tmp = max - qsz)) > 0) { - /* switch to first loser */ - j = (j == jj ? i : jj); - if ((*qcmp)(j, tmp) < 0) - j = tmp; - } - if (j != i) { - ii = qsz; - do { - c = *i; - *i++ = *j; - *j++ = c; - } while (--ii); - } - } - /* - * Semi-standard quicksort partitioning/swapping - */ - for (i = base, j = max - qsz; ; ) { - while (i < mid && (*qcmp)(i, mid) <= 0) - i += qsz; - while (j > mid) { - if ((*qcmp)(mid, j) <= 0) { - j -= qsz; - continue; - } - tmp = i + qsz; /* value of i after swap */ - if (i == mid) { - /* j <-> mid, new mid is j */ - mid = jj = j; - } else { - /* i <-> j */ - jj = j; - j -= qsz; - } - goto swap; - } - if (i == mid) { - break; - } else { - /* i <-> mid, new mid is i */ - jj = mid; - tmp = mid = i; /* value of i after swap */ - j -= qsz; - } - swap: - ii = qsz; - do { - c = *i; - *i++ = *jj; - *jj++ = c; - } while (--ii); - i = tmp; - } - /* - * Look at sizes of the two partitions, do the smaller - * one first by recursion, then do the larger one by - * making sure lo is its size, base and max are update - * correctly, and branching back. But only repeat - * (recursively or by branching) if the partition is - * of at least size THRESH. - */ - i = (j = mid) + qsz; - if ((lo = j - base) <= (hi = max - i)) { - if (lo >= thresh) - qst(base, j); - base = i; - lo = hi; - } else { - if (hi >= thresh) - qst(i, max); - max = j; - } - } while (lo >= thresh); -} diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/select.h tin-2.0.0/vms/select.h --- tin-1.8.3/vms/select.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/select.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -#ifdef __DECC -#include -#else -#define NBBY 8 /* number of bits in a byte */ -/* - * Select uses bit masks of file descriptors in longs. - * These macros manipulate such bit fields (the filesystem macros use chars). - * FD_SETSIZE may be defined by the user, but the default here - * should be >= CHANNELCNT (SYSGEN parameter) - */ -#ifndef FD_SETSIZE -#define FD_SETSIZE 512 -#endif -#define CHANNELSIZE 16 /* Size of a channel */ - -typedef long fd_mask; -#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */ -#ifndef howmany -#define howmany(x, y) (((x)+((y)-1))/(y)) -#endif - -typedef struct fd_set { - fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)]; -} fd_set; - -#define FD_SET(n, p) ((p)->fds_bits[(n)/CHANNELSIZE/NFDBITS] |= (1 << (((n)/CHANNELSIZE) % NFDBITS))) -#define FD_CLR(n, p) ((p)->fds_bits[(n)/CHANNELSIZE/NFDBITS] &= ~(1 << (((n)/CHANNELSIZE) % NFDBITS))) -#define FD_ISSET(n, p) ((!((n) % CHANNELSIZE)) && ((p)->fds_bits[(n)/CHANNELSIZE/NFDBITS] & (1 << (((n)/CHANNELSIZE) % NFDBITS)))) -#define FD_ZERO(p) memset((char *)(p),'\0',sizeof(*(p))) -#endif diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/strings.h tin-2.0.0/vms/strings.h --- tin-1.8.3/vms/strings.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/strings.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,32 +0,0 @@ -#ifndef __STRING_LOADED -#define __STRING_LOADED 1 - -/* STRING - V3.0 - String handling function definitions */ - -#pragma nostandard -#include stddef -#pragma standard - -char *strcpy (char *s1, const char *s2); -char *strncpy (char *s1, const char *s2, size_t n); -char *strcat (char *s1, const char *s2); -char *strncat (char *s1, const char *s2, size_t n); -int strcmp (const char *s1, const char *s2); -int strncmp (const char *s1, const char *s2, size_t n); -char *strchr (const char *s, int character); -char *strrchr (const char *s, int character); -size_t strspn (const char *s1, const char *s2); -size_t strcspn (const char *s1, const char *s2); -size_t strlen (const char *s); -char *strpbrk (const char *s1, const char *s2); -char *strstr (const char *s1, const char *s2); -char *strtok (char *s1, const char *s2); -char *strerror(int errnum, ...); - -int memcmp (const void *s1, const void *s2, size_t size); -void *memchr (const void *s1, int c, size_t size); -void *memcpy (void *s1, const void *s2, size_t size); -void *memmove (void *s1, const void *s2, size_t size); -void *memset (void *s, int character, size_t size); - -#endif /* __STRING_LOADED */ diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/uaf.h tin-2.0.0/vms/uaf.h --- tin-1.8.3/vms/uaf.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/uaf.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,295 +0,0 @@ -/* GNU Emacs VMS UAF definition file. - Copyright (C) 1986 Free Software Foundation, Inc. - -This file is part of GNU Emacs. - -GNU Emacs is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 1, or (at your option) -any later version. - -GNU Emacs is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* - * User Authorization File record formats - */ -#ifndef UAF$K_LENGTH - -struct UAF { -#define UAF$C_USER_ID 1 -#define UAF$C_VERSION1 1 -#define UAF$C_KEYED_PART 52 -#define UAF$C_AD_II 0 -#define UAF$C_PURDY 1 -#define UAF$C_PURDY_V 2 -#define UAF$K_FIXED 644 -#define UAF$C_FIXED 644 -#define UAF$K_LENGTH 1412 -#define UAF$C_LENGTH 1412 -#define UAF$S_UAFDEF 1412 -#define UAF$B_RTYPE 0 - char uaf$b_rtype; -#define UAF$B_VERSION 1 - char uaf$b_version; -#define UAF$W_USRDATOFF 2 - short uaf$w_usrdatoff; -#define UAF$S_USERNAME 32 -#define UAF$T_USERNAME 4 -#define UAF$T_USERNAME_TAG 35 - char uaf$t_username[UAF$S_USERNAME]; -#define UAF$L_UIC 36 -#define UAF$W_MEM 36 -#define UAF$W_GRP 38 - union { - long uaf_l_uic; -#define uaf$l_uic uaf_u_uic.uaf_l_uic - struct { - short uaf_w_mem; - short uaf_w_grp; -#define uaf$w_mem uaf_u_uic.uaf_u_mem_grp.uaf_w_mem -#define uaf$w_grp uaf_u_uic.uaf_u_mem_grp.uaf_w_grp - } uaf_u_mem_grp; - } uaf_u_uic; -#define UAF$L_SUB_ID 40 - long uaf$l_sub_id; -#define UAF$S_PARENT_ID 8 -#define UAF$Q_PARENT_ID 44 - char uaf$q_parent_id[UAF$S_PARENT_ID]; -#define UAF$S_ACCOUNT 32 -#define UAF$T_ACCOUNT 52 - char uaf$t_account[UAF$S_ACCOUNT]; -#define UAF$S_OWNER 32 -#define UAF$T_OWNER 84 - char uaf$t_owner[UAF$S_OWNER]; -#define UAF$S_DEFDEV 32 -#define UAF$T_DEFDEV 116 - char uaf$t_defdev[UAF$S_DEFDEV]; -#define UAF$S_DEFDIR 64 -#define UAF$T_DEFDIR 148 - char uaf$t_defdir[UAF$S_DEFDIR]; -#define UAF$S_LGICMD 64 -#define UAF$T_LGICMD 212 - char uaf$t_lgicmd[UAF$S_LGICMD]; -#define UAF$S_DEFCLI 32 -#define UAF$T_DEFCLI 276 - char uaf$t_defcli[UAF$S_DEFCLI]; -#define UAF$S_CLITABLES 32 -#define UAF$T_CLITABLES 308 - char uaf$t_clitables[UAF$S_CLITABLES]; -#define UAF$S_PWD 8 -#define UAF$Q_PWD 340 -#define UAF$L_PWD 340 - char uaf$q_pwd[UAF$S_PWD]; -#define uaf$l_pwd uaf$q_pwd[0] -#define UAF$S_PWD2 8 -#define UAF$Q_PWD2 348 - char uaf$q_pwd2[UAF$S_PWD2]; -#define UAF$W_LOGFAILS 356 - short uaf$w_logfails; -#define UAF$W_SALT 358 - short uaf$w_salt; -#define UAF$B_ENCRYPT 360 - char uaf$b_encrypt; -#define UAF$B_ENCRYPT2 361 - char uaf$b_encrypt2; -#define UAF$B_PWD_LENGTH 362 - char uaf$b_pwd_length; -#define UAF$S_EXPIRATION 8 -#define UAF$Q_EXPIRATION 364 - char uaf$q_expiration[UAF$S_EXPIRATION]; -#define UAF$S_PWD_LIFETIME 8 -#define UAF$Q_PWD_LIFETIME 372 - char uaf$q_pwd_lifetime[UAF$S_PWD_LIFETIME]; -#define UAF$S_PWD_DATE 8 -#define UAF$Q_PWD_DATE 380 - char uaf$q_pwd_date[UAF$S_PWD_DATE]; -#define UAF$S_PWD2_DATE 8 -#define UAF$Q_PWD2_DATE 388 - char uaf$q_pwd2_date[UAF$S_PWD2_DATE]; -#define UAF$S_LASTLOGIN_I 8 -#define UAF$Q_LASTLOGIN_I 396 - char uaf$q_lastlogin_i[UAF$S_LASTLOGIN_I]; -#define UAF$S_LASTLOGIN_N 8 -#define UAF$Q_LASTLOGIN_N 404 - char uaf$q_lastlogin_n[UAF$S_LASTLOGIN_N]; -#define UAF$S_PRIV 8 -#define UAF$Q_PRIV 412 - char uaf$q_priv[UAF$S_PRIV]; -#define UAF$S_DEF_PRIV 8 -#define UAF$Q_DEF_PRIV 420 - char uaf$q_def_priv[UAF$S_DEF_PRIV]; -#define UAF$S_MIN_CLASS 20 -#define UAF$R_MIN_CLASS 428 - char uaf$r_min_class[UAF$S_MIN_CLASS]; -#define UAF$S_MAX_CLASS 20 -#define UAF$R_MAX_CLASS 448 - char uaf$r_max_class[UAF$S_MAX_CLASS]; -#define UAF$L_FLAGS 468 -#define UAF$V_DISCTLY 0 -#define UAF$V_DEFCLI 1 -#define UAF$V_LOCKPWD 2 -#define UAF$V_CAPTIVE 3 -#define UAF$V_DISACNT 4 -#define UAF$V_DISWELCOM 5 -#define UAF$V_DISMAIL 6 -#define UAF$V_NOMAIL 7 -#define UAF$V_GENPWD 8 -#define UAF$V_PWD_EXPIRED 9 -#define UAF$V_PWD2_EXPIRED 10 -#define UAF$V_AUDIT 11 -#define UAF$V_DISREPORT 12 -#define UAF$V_DISRECONNECT 13 - union { - unsigned long uaf_l_flags; -#define uaf$l_flags uaf_u_flags.uaf_l_flags - struct { - unsigned long - uaf_v_disctly : 1, -#define uaf$v_disctly uaf_u_flags.uaf_v_flags.uaf_v_disctly - uaf_v_defcli : 1, -#define uaf$v_defcli uaf_u_flags.uaf_v_flags.uaf_v_discli - uaf_v_lockpwd : 1, -#define uaf$v_lockpwd uaf_u_flags.uaf_v_flags.uaf_v_lockpwd - uaf_v_captive : 1, -#define uaf$v_captive uaf_u_flags.uaf_v_flags.uaf_v_captive - uaf_v_disacnt : 1, -#define uaf$v_disacnt uaf_u_flags.uaf_v_flags.uaf_v_disacnt - uaf_v_diswelcom : 1, -#define uaf$v_diswelcom uaf_u_flags.uaf_v_flags.uaf_v_diswelcom - uaf_v_dismail : 1, -#define uaf$v_dismail uaf_u_flags.uaf_v_flags.uaf_v_dismail - uaf_v_nomail : 1, -#define uaf$v_nomail uaf_u_flags.uaf_v_flags.uaf_v_nomail - uaf_v_genpwd : 1, -#define uaf$v_genpwd uaf_u_flags.uaf_v_flags.uaf_v_genpwd - uaf_v_pwd_expired : 1, -#define uaf$v_pwd_expired uaf_u_flags.uaf_v_flags.uaf_v_pwd_expired - uaf_v_pwd2_expired : 1, -#define uaf$v_pwd2_expired uaf_u_flags.uaf_v_flags.uaf_v_pwd2_expired - uaf_v_audit : 1, -#define uaf$v_audit uaf_u_flags.uaf_v_flags.uaf_v_audit - uaf_v_disreport : 1, -#define uaf$v_disreport uaf_u_flags.uaf_v_flags.uaf_v_disreport - uaf_v_disreconnect : 1; -#define uaf$v_disreconnect uaf_u_flags.uaf_v_flags.uaf_v_disreconnect - } uaf_v_flags; - } uaf_u_flags; -#define UAF$S_NETWORK_ACCESS_P 3 -#define UAF$B_NETWORK_ACCESS_P 472 - char uaf$b_network_access_p[UAF$S_NETWORK_ACCESS_P]; -#define UAF$S_NETWORK_ACCESS_S 3 -#define UAF$B_NETWORK_ACCESS_S 475 - char uaf$b_network_access_s[UAF$S_NETWORK_ACCESS_S]; -#define UAF$S_BATCH_ACCESS_P 3 -#define UAF$B_BATCH_ACCESS_P 478 - char uaf$b_batch_access_p[UAF$S_BATCH_ACCESS_P]; -#define UAF$S_BATCH_ACCESS_S 3 -#define UAF$B_BATCH_ACCESS_S 481 - char uaf$b_batch_access_s[UAF$S_BATCH_ACCESS_S]; -#define UAF$S_LOCAL_ACCESS_P 3 -#define UAF$B_LOCAL_ACCESS_P 484 - char uaf$b_local_access_p[UAF$S_LOCAL_ACCESS_P]; -#define UAF$S_LOCAL_ACCESS_S 3 -#define UAF$B_LOCAL_ACCESS_S 487 - char uaf$b_local_access_s[UAF$S_LOCAL_ACCESS_S]; -#define UAF$S_DIALUP_ACCESS_P 3 -#define UAF$B_DIALUP_ACCESS_P 490 - char uaf$b_dialup_access_p[UAF$S_DIALUP_ACCESS_P]; -#define UAF$S_DIALUP_ACCESS_S 3 -#define UAF$B_DIALUP_ACCESS_S 493 - char uaf$b_dialup_access_s[UAF$S_DIALUP_ACCESS_S]; -#define UAF$S_REMOTE_ACCESS_P 3 -#define UAF$B_REMOTE_ACCESS_P 496 - char uaf$b_remote_access_p[UAF$S_REMOTE_ACCESS_P]; -#define UAF$S_REMOTE_ACCESS_S 3 -#define UAF$B_REMOTE_ACCESS_S 499 - char uaf$b_remote_access_s[UAF$S_REMOTE_ACCESS_S]; -#define UAF$B_PRIMEDAYS 514 -#define UAF$V_MONDAY 0 -#define UAF$V_TUESDAY 1 -#define UAF$V_WEDNESDAY 2 -#define UAF$V_THURSDAY 3 -#define UAF$V_FRIDAY 4 -#define UAF$V_SATURDAY 5 -#define UAF$V_SUNDAY 6 - union { - unsigned char uaf_b_primedays; -#define uaf$b_primedays uaf_u_primedays.uaf_b_primedays - unsigned char - uaf_v_monday : 1, -#define uaf$v_monday uaf_u_primedays.uaf_v_monday - uaf_v_tuesday : 1, -#define uaf$v_tuesday uaf_u_primedays.uaf_v_tuesday - uaf_v_wednesday : 1, -#define uaf$v_wednesday uaf_u_primedays.uaf_v_wednesday - uaf_v_thursday : 1, -#define uaf$v_thursday uaf_u_primedays.uaf_v_thrusday - uaf_v_friday : 1, -#define uaf$v_friday uaf_u_primedays.uaf_v_friday - uaf_v_saturday : 1, -#define uaf$v_saturday uaf_u_primedays.uaf_v_saturday - uav_v_sunday : 1; -#define uaf$v_sunday uaf_u_primedays.uaf_v_sunday - } uaf_u_primedays; -#define UAF$B_PRI 516 - char uaf$b_pri; -#define UAF$B_QUEPRI 517 - char uaf$b_quepri; -#define UAF$W_MAXJOBS 518 - short uaf$w_maxjobs; -#define UAF$W_MAXACCTJOBS 520 - short uaf$w_maxacctjobs; -#define UAF$W_MAXDETACH 522 - short uaf$w_maxdetach; -#define UAF$W_PRCCNT 524 - short uaf$w_prccnt; -#define UAF$W_BIOLM 526 - short uaf$w_biolm; -#define UAF$W_DIOLM 528 - short uaf$w_diolm; -#define UAF$W_TQCNT 530 - short uaf$w_twcnt; -#define UAF$W_ASTLM 532 - short uaf$w_astlm; -#define UAF$W_ENQLM 534 - short uaf$w_enqlm; -#define UAF$W_FILLM 536 - short uaf$w_fillm; -#define UAF$W_SHRFILLM 538 - short uaf$w_shrfillm; -#define UAF$L_WSQUOTA 540 - long uaf$l_wsquota; -#define UAF$L_DFWSCNT 544 - long uaf$l_dfwscnt; -#define UAF$L_WSEXTENT 548 - long uaf$l_wsextent; -#define UAF$L_PGFLQUOTA 552 - long uaf$l_pgflquota; -#define UAF$L_CPUTIM 556 - long uaf$l_cputim; -#define UAF$L_BYTLM 560 - long uaf$l_bytlm; -#define UAF$L_PBYTLM 564 - long uaf$l_pbytlm; -#define UAF$L_JTQUOTA 568 - long uaf$l_jtquota; -#define UAF$W_PROXY_LIM 572 - short uaf$w_proxy_lim; -#define UAF$W_PROXIES 574 - short uaf$w_proxies; -#define UAF$W_ACCOUNT_LIM 576 - short uaf$w_account_lim; -#define UAF$W_ACCOUNTS 578 - short uaf$w_accounts; - char uaf$b_fixed[UAF$C_FIXED - UAF$W_ACCOUNTS + 2]; - char uaf$b_usrdata[UAF$C_LENGTH - UAF$C_FIXED]; -}; - -#endif /* not UAF$K_LENGTH */ diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/vms.c tin-2.0.0/vms/vms.c --- tin-1.8.3/vms/vms.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/vms.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,297 +0,0 @@ -/* - * Project : tin - a Usenet reader - * Module : vms.c - * Author : Andrew Greer - * Created : 1995-06-19 - * Updated : 1998-01-24 by Michael Stenns - * Notes : - * Copyright : (c) Copyright 1991-95 by Iain Lea & Andrew Greer - * You may freely copy or redistribute this software, - * so long as there is no profit made from its use, sale - * trade or reproduction. You may not change this copy- - * right notice, and it must be included in any copy made - */ - -#ifdef VMS -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef __GNUC__ -#include -#else -#include -#endif -#include "tin.h" - -/* local prototypes */ -char * lower (char * str); -static int vms_open_channel (char * device); - -/* global variables for current module */ -static int stdin_chan = 0; /* vms channel to sys$input */ -static int stdin_ef = 0; /* event flag for read from stdin_chan */ - - -/* return a pointer to string descriptor for zero terminated strings */ -struct dsc$descriptor *desz(char *c$_str) -{ - static struct dsc$descriptor c$_tmpdesc; - - c$_tmpdesc.dsc$w_length = strlen(c$_str); - c$_tmpdesc.dsc$b_dtype = DSC$K_DTYPE_T; - c$_tmpdesc.dsc$b_class = DSC$K_CLASS_S; - c$_tmpdesc.dsc$a_pointer= c$_str; - return(&c$_tmpdesc); -} - - -/* - * Author: unknown - * Last edit: M. Stenns (Oct 1997) - * Comment: - * returns the process owner (Owner field in uaf) - */ -char *get_uaf_fullname() -{ - static char uaf_owner[40]; - int i,status; - - struct item_list { - short bl, ic; - char *ba; - short *rl; - } getuai_itmlist[] = { - { - sizeof uaf_owner - 1, - UAI$_OWNER, - uaf_owner, - 0 - }, - { 0, 0, 0, 0} - }; - - memset (uaf_owner, '\0', sizeof uaf_owner); - status = sys$getuai(0,0,desz(cuserid(NULL)),getuai_itmlist,0,0,0); - if (!(status & 1)) strcpy (uaf_owner, cuserid(NULL)); - - for (i=0;uaf_owner[i] && iscntrl(uaf_owner[i]);i++); - return &uaf_owner[i]; -} - -/* Converts "TOD_MCQUILLIN" to "Tod McQuillin" */ -char *fix_fullname(char *p) -{ - char *tmp; - - if (p && *p) { - while ((tmp = strchr(p,'_'))) *tmp = ' '; - tmp = lower(p); - if (*tmp) *tmp = toupper (*tmp); - while ((tmp = strchr(tmp,' '))) { - tmp++; - if (*tmp) *tmp = toupper (*tmp); - } - if ((tmp = strstr(p, "Mc"))) { - tmp += 2; - if (*tmp) *tmp = toupper (*tmp); - } - tmp = p + strlen(p) - 1; - while ((tmp > p) && isspace(*tmp)) *tmp-- = '\0'; - } - - return p; -} - -#ifndef tputs - -int tputs (char * str, int zzz, OutcPtr func) -{ - if (! str) { - return(0); - } - if (func == outchar) { - fputs (str, stdout); - } else { - while (*str) { - if (*str == '\n') { - func('\r'); - } - func(*str++); - } - } - return(0); -} - -#endif - - -void -make_post_cmd (cmd, name) - char *cmd; - char *name; -{ - char *p; - - if ((p = getenv (ENV_VAR_POSTER)) != (char *) 0) { - sprintf (cmd, p, name); - } else { - sprintf (cmd, DEFAULT_POSTER, name); - } - return; -} - - -/* - * vms_open_channel (char * device) - * - * Opens a channel to the device specified as argument. - * Return value: - * VMS channel number - */ - -static int vms_open_channel (char * device) -{ - int channel = 0; - int status; - - status = sys$assign (desz(device), &channel,0,0); - if ((status & 1) != 1) - { - perror ("cannot assgin channel to sys$input"); - exit (EXIT_FAILURE); - } - status = lib$get_ef (&stdin_ef); - if ((status & 1) != 1) - { - perror ("cannot get event flag"); - exit (EXIT_FAILURE); - } - return channel; -} - -/* - * int vms_close_stdin (void) - * - * frees the resources used by ReadCh() and ReadChNowait() - */ -int vms_close_stdin (void) -{ - int status; - - status = sys$cancel (stdin_chan); - if ((status & 1) != 1) - { - perror ("cannot cancel I/O request"); - return status; - } - - status = sys$dassgn (stdin_chan); - if ((status & 1) != 1) - { - perror ("cannot close channel"); - return status; - } - stdin_chan = 0; - - status = lib$free_ef (&stdin_ef); - if ((status & 1) != 1) - { - perror ("cannot free event flag"); - exit (EXIT_FAILURE); - } - stdin_ef = 0; - - return status; -} - -/* - * Read character from termianl without echo - * Return zero if no input hanging - */ -int ReadChNowait (void) -{ - static int tt_char = 0; - static short int iosb[4] = {1,0,0,0}; - int character = 0; - int status = SS$_NORMAL; - - if (!stdin_chan) stdin_chan = vms_open_channel ("sys$input"); - - if (iosb[0]) /* no qio pending */ - { - if (iosb[0] == SS$_TIMEOUT) - character = 0; - else if (iosb[0] != SS$_NORMAL) - character = EOF; - else - character = tt_char; - - status = sys$qio (stdin_ef, stdin_chan, - IO$_READVBLK|IO$M_NOFILTR|IO$M_NOECHO|IO$M_TIMED, - iosb,0,0, - &tt_char,1,1,0,0,0); - if (status != SS$_NORMAL) - { - fprintf (stderr,"sys$qiow failed in ReadCh ()\n"); - exit (status); - } - } - - return character; -} - - -/* - * Read character from termianl without echo - */ -int ReadCh (void) -{ - int character = 0; - int status = SS$_NORMAL; - short int iosb[4]; - - while ((status == SS$_NORMAL) && !character) - { - character = ReadChNowait(); - if (!character) status = sys$waitfr (stdin_ef); - } - return character; -} - - -/* ======================================================================== */ -/* lower - convert string to lowercase */ -/* ======================================================================== */ -char * lower (char * str) -{ -char * tmp; - - /* convert to lower */ - if (str) - { - for (tmp = str; *tmp; tmp++) *tmp = tolower (*tmp); - } - return str; -} - - -/****************************************************************************** - * vms_errmsg converts errno to an readable string - * return values: - * the converted string - *****************************************************************************/ -char * vms_errmsg (int error_number) -{ - char * message; - - message = strerror(errno); - if (!message) message = "unknown error code"; - return message; -} - -#endif /* VMS */ diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/vmsdir.c tin-2.0.0/vms/vmsdir.c --- tin-1.8.3/vms/vmsdir.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/vmsdir.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,185 +0,0 @@ -#include -#include -#include -#include -#include "strings.h" -#include -#include "ndir.h" - -int sys_read (int fildes, char *buf, unsigned int nbyte); - -int -/* VARARGS 2 */ -sys_open (path, oflag, mode) - char *path; - int oflag, mode; -{ - register int rtnval; - - while ((rtnval = open (path, oflag, mode)) == -1 - && (errno == EINTR)); - return (rtnval); -} - -int sys_close (int fd) -{ - register int rtnval; - - while ((rtnval = close (fd)) == -1 - && (errno == EINTR)); - return rtnval; -} - -DIR * -opendir (filename) - char *filename; /* name of directory */ -{ - register DIR *dirp; /* -> malloc'ed storage */ - register int fd; /* file descriptor for read */ - struct stat sbuf; /* result of fstat() */ - - fd = sys_open (filename, 0); - if (fd < 0) - return 0; - - if (fstat (fd, &sbuf) < 0 - || (sbuf.st_mode & S_IFMT) != S_IFDIR - || (dirp = (DIR *) malloc (sizeof (DIR))) == 0) - { - sys_close (fd); - return 0; /* bad luck today */ - } - - dirp->dd_fd = fd; - dirp->dd_loc = dirp->dd_size = 0; /* refill needed */ - - return dirp; -} - -void -closedir (dirp) - register DIR *dirp; /* stream from opendir() */ -{ - sys_close (dirp->dd_fd); - free ((char *) dirp); -} - -struct direct dir_static; /* simulated directory contents */ - -/* ARGUSED */ -struct direct * -readdir (dirp) - register DIR *dirp; /* stream from opendir() */ -{ -#ifndef VMS - register struct olddir *dp; /* -> directory data */ -#else /* VMS */ - register struct dir$_name *dp; /* -> directory data */ - register struct dir$_version *dv; /* -> version data */ -#endif /* VMS */ - - for (; ;) - { - if (dirp->dd_loc >= dirp->dd_size) - dirp->dd_loc = dirp->dd_size = 0; - - if (dirp->dd_size == 0 /* refill buffer */ - && (dirp->dd_size = sys_read (dirp->dd_fd, dirp->dd_buf, DIRBLKSIZ)) <= 0) - return 0; - -#ifndef VMS - dp = (struct olddir *) &dirp->dd_buf[dirp->dd_loc]; - dirp->dd_loc += sizeof (struct olddir); - - if (dp->od_ino != 0) /* not deleted entry */ - { - dir_static.d_ino = dp->od_ino; - strncpy (dir_static.d_name, dp->od_name, DIRSIZ); - dir_static.d_name[DIRSIZ] = '\0'; - dir_static.d_namlen = strlen (dir_static.d_name); - dir_static.d_reclen = sizeof (struct direct) - - MAXNAMLEN + 3 - + dir_static.d_namlen - dir_static.d_namlen % 4; - return &dir_static; /* -> simulated structure */ - } -#else /* VMS */ - dp = (struct dir$_name *) dirp->dd_buf; - if (dirp->dd_loc == 0) - dirp->dd_loc = (dp->dir$b_namecount&1) ? dp->dir$b_namecount + 1 - : dp->dir$b_namecount; - dv = (struct dir$_version *)&dp->dir$t_name[dirp->dd_loc]; - dir_static.d_ino = dv->dir$w_fid_num; - dir_static.d_namlen = dp->dir$b_namecount; - dir_static.d_reclen = sizeof (struct direct) - - MAXNAMLEN + 3 - + dir_static.d_namlen - dir_static.d_namlen % 4; - strncpy (dir_static.d_name, dp->dir$t_name, dp->dir$b_namecount); - dir_static.d_name[dir_static.d_namlen] = '\0'; - dirp->dd_loc = dirp->dd_size; /* only one record at a time */ - return &dir_static; -#endif /* VMS */ - } -} - -int sys_read (int fildes, char *buf, unsigned int nbyte) -{ - register int rtnval; - - while ((rtnval = read (fildes, buf, nbyte)) == -1 - && (errno == EINTR)); - return (rtnval); -} - -FILE * -popen ( - char *command, - char *mode) -{ - return ((FILE *) 0); -} - - -void -pclose (FILE *pipe) -{ - return; -} - -void tzset(void) -{ - return; -} - -/* Get the name of current user */ -char * -getlogin (void) -{ - char *p; - - if ((p = getenv ("USER")) == NULL) { - return ( (char *) 0); - } - - return (p); -} - -/* - * setenv (char *name, char *value, int notused) - */ -int setenv (char *name, char *value, int notused) -{ - int status = 0; - char command[1024]; - - if (name && value) - { - if (sprintf(command,"define/nolog/job %s \"%s\" ",name,value) > sizeof command) - { - fprintf (stderr, "FATAL buffer overflow in setenv"); - tin_done (EXIT_FAILURE); - } - status = system(command); - } - return status; -} - diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/vmsfile.c tin-2.0.0/vms/vmsfile.c --- tin-1.8.3/vms/vmsfile.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/vmsfile.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,85 +0,0 @@ -#include -#include -#include "parse.h" - -#if 0 -extern char *strdup(); - -char **split(char *spliton, char *target) -{ - static char *buffer[100]; - static char *t = 0; - char **p; - - if (t) - free(t); - - - while ((t = strdup(target)) == NULL) - sleep(2); /* just wait for out of memory condition - to go away */ - - for (p = &buffer[0], *p = strtok(t, spliton); - *p; - *(++p) = strtok(NULL, spliton)) ; - - return buffer; -} -#endif - -/* - * TODO may need to append a '.' if file has no extension ? - */ -void joinpath(char *result, const char *dir, const char *file) -{ - struct filespec *spec; - char tmpdir[255], tmpfile[255]; - char *ptr1, *ptr2; - - strcpy(tmpdir, dir); - strcpy(tmpfile, file); - - if (strlen (tmpdir) == 0) { - strcpy (result, tmpfile); - return; - } - if (tmpfile[0] == '[') - { - strcat(tmpdir,tmpfile); - tmpfile[0] = '\0'; - } - spec = sysparse(tmpdir); - sprintf(result, "%s%s%s", spec->dev, spec->dir, tmpfile); - if (spec->filename[0]) { - fprintf(stderr, "joinpath: throwing away filename %s\n", spec->filename); - } -} - -void joindir(char *result, const char *dir, const char *file) -{ - struct filespec *spec; - int i; - char tmpdir[255], tmpfile[255]; - - strcpy(tmpdir, dir); - strcpy(tmpfile, file); - - if (strlen (tmpdir) == 0) { - sprintf(result, "[%s]", tmpfile); - return; - } - spec = sysparse(tmpdir); - i = strlen(spec->dir); - if (spec->dir[i-1] == ']') { - spec->dir[i-1] = 0; - sprintf(result, "%s%s.%s]", spec->dev, spec->dir, tmpfile); - if (spec->filename[0]) { - fprintf(stderr, "joinpath: throwing away filename %s\n", spec->filename); - } - } else { - fprintf(stderr, "joinpath: dir %s didn't end with ']' (passed %s)\n", - spec->dir, tmpfile); - exit(0); - } -} - diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/vmspwd.c tin-2.0.0/vms/vmspwd.c --- tin-1.8.3/vms/vmspwd.c 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/vmspwd.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,248 +0,0 @@ -#include -#include -#include "pwd.h" - -unsigned -sys_getuid () -{ - return (getgid () << 16) | getuid (); -} - -/* Define this symbol to actually read SYSUAF.DAT. This requires either - SYSPRV or a readable SYSUAF.DAT. */ - -#ifdef READ_SYSUAF -/* - * getuaf.c - * - * Routine to read the VMS User Authorization File and return - * a specific user's record. - */ - -static struct UAF retuaf; - -struct UAF * -get_uaf_name (uname) - char * uname; -{ - register status; - struct FAB uaf_fab; - struct RAB uaf_rab; - - uaf_fab = cc$rms_fab; - uaf_rab = cc$rms_rab; - /* initialize fab fields */ - uaf_fab.fab$l_fna = "SYS$SYSTEM:SYSUAF.DAT"; - uaf_fab.fab$b_fns = 21; - uaf_fab.fab$b_fac = FAB$M_GET; - uaf_fab.fab$b_org = FAB$C_IDX; - uaf_fab.fab$b_shr = FAB$M_GET|FAB$M_PUT|FAB$M_UPD|FAB$M_DEL; - /* initialize rab fields */ - uaf_rab.rab$l_fab = &uaf_fab; - /* open the User Authorization File */ - status = sys$open (&uaf_fab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - status = sys$connect (&uaf_rab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - /* read the requested record - index is in uname */ - uaf_rab.rab$l_kbf = uname; - uaf_rab.rab$b_ksz = strlen (uname); - uaf_rab.rab$b_rac = RAB$C_KEY; - uaf_rab.rab$l_ubf = (char *)&retuaf; - uaf_rab.rab$w_usz = sizeof retuaf; - status = sys$get (&uaf_rab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - /* close the User Authorization File */ - status = sys$disconnect (&uaf_rab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - status = sys$close (&uaf_fab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - return &retuaf; -} - -struct UAF * -get_uaf_uic (uic) - unsigned long uic; -{ - register status; - struct FAB uaf_fab; - struct RAB uaf_rab; - - uaf_fab = cc$rms_fab; - uaf_rab = cc$rms_rab; - /* initialize fab fields */ - uaf_fab.fab$l_fna = "SYS$SYSTEM:SYSUAF.DAT"; - uaf_fab.fab$b_fns = 21; - uaf_fab.fab$b_fac = FAB$M_GET; - uaf_fab.fab$b_org = FAB$C_IDX; - uaf_fab.fab$b_shr = FAB$M_GET|FAB$M_PUT|FAB$M_UPD|FAB$M_DEL; - /* initialize rab fields */ - uaf_rab.rab$l_fab = &uaf_fab; - /* open the User Authorization File */ - status = sys$open (&uaf_fab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - status = sys$connect (&uaf_rab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - /* read the requested record - index is in uic */ - uaf_rab.rab$b_krf = 1; /* 1st alternate key */ - uaf_rab.rab$l_kbf = (char *) &uic; - uaf_rab.rab$b_ksz = sizeof uic; - uaf_rab.rab$b_rac = RAB$C_KEY; - uaf_rab.rab$l_ubf = (char *)&retuaf; - uaf_rab.rab$w_usz = sizeof retuaf; - status = sys$get (&uaf_rab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - /* close the User Authorization File */ - status = sys$disconnect (&uaf_rab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - status = sys$close (&uaf_fab); - if (!(status&1)) - { - errno = EVMSERR; - vaxc$errno = status; - return 0; - } - return &retuaf; -} - -static struct passwd retpw; - -struct passwd * -cnv_uaf_pw (up) - struct UAF * up; -{ - char * ptr; - - /* copy these out first because if the username is 32 chars, the next - section will overwrite the first byte of the UIC */ - retpw.pw_uid = up->uaf$w_mem; - retpw.pw_gid = up->uaf$w_grp; - - /* I suppose this is not the best style, to possibly overwrite one - byte beyond the end of the field, but what the heck... */ - ptr = &up->uaf$t_username[UAF$S_USERNAME]; - while (ptr[-1] == ' ') - ptr--; - *ptr = '\0'; - strcpy (retpw.pw_name, up->uaf$t_username); - - /* the rest of these are counted ascii strings */ - strncpy (retpw.pw_gecos, &up->uaf$t_owner[1], up->uaf$t_owner[0]); - retpw.pw_gecos[up->uaf$t_owner[0]] = '\0'; - strncpy (retpw.pw_dir, &up->uaf$t_defdev[1], up->uaf$t_defdev[0]); - retpw.pw_dir[up->uaf$t_defdev[0]] = '\0'; - strncat (retpw.pw_dir, &up->uaf$t_defdir[1], up->uaf$t_defdir[0]); - retpw.pw_dir[up->uaf$t_defdev[0] + up->uaf$t_defdir[0]] = '\0'; - strncpy (retpw.pw_shell, &up->uaf$t_defcli[1], up->uaf$t_defcli[0]); - retpw.pw_shell[up->uaf$t_defcli[0]] = '\0'; - - return &retpw; -} -#else /* not READ_SYSUAF */ -static struct passwd retpw; -#endif /* not READ_SYSUAF */ - -struct passwd * -getpwnam (name) - char * name; -{ -#ifdef READ_SYSUAF - struct UAF *up; -#else - unsigned char * full; -#endif /* READ_SYSUAF */ - char *ptr = name; - - while (*ptr) - { - if ('a' <= *ptr && *ptr <= 'z') - *ptr -= 040; - ptr++; - } -#ifdef READ_SYSUAF - if (!(up = get_uaf_name (name))) - return 0; - return cnv_uaf_pw (up); -#else - if (strcmp (name, getenv ("USER")) == 0) - { - retpw.pw_uid = getuid (); - retpw.pw_gid = getgid (); - strcpy (retpw.pw_name, name); - if ((full = (unsigned char*) getenv ("FULLNAME"))) - strcpy (retpw.pw_gecos, full); - else - *retpw.pw_gecos = '\0'; - strcpy (retpw.pw_dir, getenv ("HOME")); - *retpw.pw_shell = '\0'; - return &retpw; - } - else - return 0; -#endif /* not READ_SYSUAF */ -} - -struct passwd * -getpwuid (uid) - unsigned long uid; -{ -#ifdef READ_SYSUAF - struct UAF * up; - - if (!(up = get_uaf_uic (uid))) - return 0; - return cnv_uaf_pw (up); -#else - if (uid == sys_getuid ()) - { - return getpwnam (getenv ("USER")); - } - else - return 0; -#endif /* not READ_SYSUAF */ -} diff -Nurp --exclude='.bzr*' tin-1.8.3/vms/vmstimval.h tin-2.0.0/vms/vmstimval.h --- tin-1.8.3/vms/vmstimval.h 2005-06-28 10:31:25.000000000 +0200 +++ tin-2.0.0/vms/vmstimval.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -#ifndef VMSTIMEVAL_H -#define VMSTIMEVAL_H - -/* In VMS, the timeval structure doesn't really exist, so let's define it. - - Warning: timeval IS defined in the UCX socket.h, so your compiler might - get screwed! The UCX definition is exactly the same as the one below -*/ - -struct timeval { - long tv_sec; - long tv_usec; -}; - -struct timezone { - int tz_minuteswest; - int tz_dsttime; -}; - -#endif